From 6d8e255299bca188d2df988d904dec60c28fec48 Mon Sep 17 00:00:00 2001 From: 777 <123@qwe.com> Date: Mon, 28 Apr 2025 11:29:19 +0800 Subject: [PATCH] 123 --- .../cai/admin/DynamicController.java | 7 +++ .../admin/query/dynamic/DynamicCreateVo.java | 13 +++++ .../com/ruoyi/cai/service/DynamicService.java | 5 ++ .../cai/service/impl/DynamicServiceImpl.java | 47 +++++++++++++++++++ 4 files changed, 72 insertions(+) create mode 100644 ruoyi-cai/src/main/java/com/ruoyi/cai/dto/admin/query/dynamic/DynamicCreateVo.java diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/admin/DynamicController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/admin/DynamicController.java index 4f633133..175c689b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/admin/DynamicController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/cai/admin/DynamicController.java @@ -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 createDynamic(@RequestBody DynamicCreateVo bo) { + dynamicService.createAdmin(bo); + return R.ok(); + } + /** * 获取主播动态详细信息 * diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/admin/query/dynamic/DynamicCreateVo.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/admin/query/dynamic/DynamicCreateVo.java new file mode 100644 index 00000000..5f20621b --- /dev/null +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/dto/admin/query/dynamic/DynamicCreateVo.java @@ -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 imageList; + private String content; + private Long usercode; +} diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/DynamicService.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/DynamicService.java index 95b2039b..2e02b74f 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/DynamicService.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/DynamicService.java @@ -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 { Page pageApp(PageQuery pageQuery, DynamicQuery query); + void createAdmin(DynamicCreateVo bo); + void saveDynamic(DynamicAddReq res); Page pageAdmin(PageQuery pageQuery, DynamicAdminVo bo); @@ -41,4 +44,6 @@ public interface DynamicService extends IService { boolean auditSuccess(List ids); boolean auditFail(Long id); + + } diff --git a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/DynamicServiceImpl.java b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/DynamicServiceImpl.java index 65e648f5..5d86bec2 100644 --- a/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/DynamicServiceImpl.java +++ b/ruoyi-cai/src/main/java/com/ruoyi/cai/service/impl/DynamicServiceImpl.java @@ -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 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 = new ArrayList<>(); + List 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())){