This commit is contained in:
777
2025-04-28 11:29:19 +08:00
parent 61b77ff6d2
commit 6d8e255299
4 changed files with 72 additions and 0 deletions

View File

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.cai.domain.Dynamic;
import com.ruoyi.cai.dto.admin.query.BatchAuditReq;
import com.ruoyi.cai.dto.admin.query.dynamic.DynamicCreateVo;
import com.ruoyi.cai.dto.admin.vo.DynamicAdminVo;
import com.ruoyi.cai.dto.app.query.IdReq;
import com.ruoyi.cai.enums.AuditStatusEnum;
@@ -51,6 +52,12 @@ public class DynamicController extends BaseController {
return TableDataInfo.build(page);
}
@PostMapping("/create")
public R<Void> createDynamic(@RequestBody DynamicCreateVo bo) {
dynamicService.createAdmin(bo);
return R.ok();
}
/**
* 获取主播动态详细信息
*

View File

@@ -0,0 +1,13 @@
package com.ruoyi.cai.dto.admin.query.dynamic;
import lombok.Data;
import java.util.List;
@Data
public class DynamicCreateVo {
private List<String> imageList;
private String content;
private Long usercode;
}

View File

@@ -3,6 +3,7 @@ package com.ruoyi.cai.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.cai.domain.Dynamic;
import com.ruoyi.cai.dto.admin.query.dynamic.DynamicCreateVo;
import com.ruoyi.cai.dto.admin.vo.DynamicAdminVo;
import com.ruoyi.cai.dto.app.query.DynamicAddReq;
import com.ruoyi.cai.dto.app.query.DynamicQuery;
@@ -28,6 +29,8 @@ public interface DynamicService extends IService<Dynamic> {
Page<DynamicListVo> pageApp(PageQuery pageQuery, DynamicQuery query);
void createAdmin(DynamicCreateVo bo);
void saveDynamic(DynamicAddReq res);
Page<DynamicAdminVo> pageAdmin(PageQuery pageQuery, DynamicAdminVo bo);
@@ -41,4 +44,6 @@ public interface DynamicService extends IService<Dynamic> {
boolean auditSuccess(List<Long> ids);
boolean auditFail(Long id);
}

View File

@@ -9,6 +9,7 @@ import com.ruoyi.cai.cache.DynamicTotalCache;
import com.ruoyi.cai.domain.Dynamic;
import com.ruoyi.cai.domain.DynamicImages;
import com.ruoyi.cai.domain.User;
import com.ruoyi.cai.dto.admin.query.dynamic.DynamicCreateVo;
import com.ruoyi.cai.dto.admin.vo.DynamicAdminVo;
import com.ruoyi.cai.dto.app.query.DynamicAddReq;
import com.ruoyi.cai.dto.app.query.DynamicQuery;
@@ -109,6 +110,52 @@ public class DynamicServiceImpl extends ServiceImpl<DynamicMapper, Dynamic> impl
return page;
}
@Override
public void createAdmin(DynamicCreateVo bo) {
if(CollectionUtil.isEmpty(bo.getImageList()) || StringUtils.isEmpty(bo.getContent())){
throw new ServiceException("动态内容和图片必须上传");
}
if(bo.getImageList() != null && bo.getImageList().size() > 9){
throw new ServiceException("最多只能发送9张照片哦");
}
User user = userService.getById(bo.getUsercode());
if(user.getIsAnchor() == null || user.getIsAnchor() != 1){
throw new ServiceException("只有主播可以发布动态哦");
}
Dynamic dynamic = new Dynamic();
dynamic.setUserId(user.getId());
dynamic.setContent(bo.getContent());
dynamic.setAuditStatus(AuditStatusEnum.SUCCESS.getCode());
if(dynamic.getCityId() == null || dynamic.getCityId() == 0){
dynamic.setCityId(user.getCityId());
dynamic.setCity(user.getCity());
} else {
dynamic.setCity(citysService.getByCityId(dynamic.getCityId()));
}
if(CollectionUtil.isNotEmpty(bo.getImageList())){
dynamic.setIsAttach(1);
}else{
dynamic.setIsAttach(0);
}
this.save(dynamic);
List<DynamicImages> dynamicImages = new ArrayList<>();
List<String> imageList = bo.getImageList();
if(CollectionUtil.isNotEmpty(imageList)){
for (String image : imageList) {
CaiFileUtils.FileSize fileSize = CaiFileUtils.getFastFileSize(image);
DynamicImages po = new DynamicImages();
po.setUserId(dynamic.getUserId());
po.setDynamicId(dynamic.getId());
po.setUrl(image);
po.setWidth(fileSize.getWidth());
po.setHeight(fileSize.getHeight());
po.setExts(fileSize.getSuffix());
dynamicImages.add(po);
}
dynamicImagesService.saveBatch(dynamicImages);
}
}
@Override
public void saveDynamic(DynamicAddReq res) {
if(StringUtils.isEmpty(res.getContent()) || CollectionUtils.isEmpty(res.getImageList())){