瀏覽代碼

✨feat(split): add fileIdList1-4 to split screen VO and populate in service

Shinohara Haruna 6 月之前
父節點
當前提交
759497e67a

+ 9 - 0
smsb-modules/smsb-source/src/main/java/com/inspur/source/domain/vo/SmsbItemSplitScreenVo.java

@@ -8,6 +8,7 @@ import lombok.Data;
 
 import java.io.Serial;
 import java.io.Serializable;
+import java.util.List;
 
 
 /**
@@ -96,5 +97,13 @@ public class SmsbItemSplitScreenVo implements Serializable {
     @ExcelProperty(value = "有无时间")
     private Long hasTime;
 
+    /**
+     * 分屏组包含的资源ID列表
+     */
+    private List<Long> fileIdList1;
+    private List<Long> fileIdList2;
+    private List<Long> fileIdList3;
+    private List<Long> fileIdList4;
+
 
 }

+ 29 - 10
smsb-modules/smsb-source/src/main/java/com/inspur/source/service/impl/SmsbItemServiceImpl.java

@@ -35,6 +35,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * 节目管理Service业务层处理
@@ -87,7 +88,7 @@ public class SmsbItemServiceImpl implements ISmsbItemService {
     /**
      * 分页查询节目管理列表
      *
-     * @param fileId        查询条件
+     * @param fileId    查询条件
      * @param pageQuery 分页参数
      * @return 节目管理分页列表
      */
@@ -98,8 +99,24 @@ public class SmsbItemServiceImpl implements ISmsbItemService {
     }
 
     @Override
-    public SmsbItemSplitScreenVo getSplitInfo(Long itemId) {
-        return itemSplitScreenMapper.selectVoOne(new LambdaQueryWrapper<SmsbItemSplitScreen>().eq(SmsbItemSplitScreen::getItemId, itemId));
+    public SmsbItemSplitScreenVo getSplitInfo(Long id) {
+        SmsbItemSplitScreenVo vo = itemSplitScreenMapper.selectVoOne(
+            new LambdaQueryWrapper<SmsbItemSplitScreen>().eq(SmsbItemSplitScreen::getItemId, id)
+        );
+        if (vo != null) {
+            List<SmsbItemFileRel> relList = itemFileRelMapper.selectList(
+                new LambdaQueryWrapper<SmsbItemFileRel>().eq(SmsbItemFileRel::getItemId, id)
+            );
+            vo.setFileIdList1(relList.stream().filter(r -> r.getScreenNum() == 1).map(SmsbItemFileRel::getFileId).collect(
+                Collectors.toList()));
+            vo.setFileIdList2(relList.stream().filter(r -> r.getScreenNum() == 2).map(SmsbItemFileRel::getFileId).collect(
+                Collectors.toList()));
+            vo.setFileIdList3(relList.stream().filter(r -> r.getScreenNum() == 3).map(SmsbItemFileRel::getFileId).collect(
+                Collectors.toList()));
+            vo.setFileIdList4(relList.stream().filter(r -> r.getScreenNum() == 4).map(SmsbItemFileRel::getFileId).collect(
+                Collectors.toList()));
+        }
+        return vo;
     }
 
     /**
@@ -122,7 +139,7 @@ public class SmsbItemServiceImpl implements ISmsbItemService {
         lqw.eq(bo.getSplitScreen() != null, SmsbItem::getSplitScreen, bo.getSplitScreen());
         lqw.eq(StringUtils.isNotBlank(bo.getCreateUser()), SmsbItem::getCreateUser, bo.getCreateUser());
         lqw.between(params.get("beginCreateTime") != null && params.get("endCreateTime") != null,
-            SmsbItem::getCreateTime, params.get("beginCreateTime"), params.get("endCreateTime"));
+                    SmsbItem::getCreateTime, params.get("beginCreateTime"), params.get("endCreateTime"));
         lqw.eq(SmsbItem::getDelFlag, 0);
         lqw.orderByDesc(SmsbItem::getCreateTime);
         return lqw;
@@ -207,14 +224,15 @@ public class SmsbItemServiceImpl implements ISmsbItemService {
     public Boolean editSplit(ItemSplitUploadReqBo bo) {
         List<SmsbItemFileRel> insertFileRelList = new ArrayList<>();
         // 先删除itemId关联的资源内容
-        itemFileRelMapper.delete(new LambdaQueryWrapper<SmsbItemFileRel>().eq(SmsbItemFileRel::getItemId, bo.getItemId()));
+        itemFileRelMapper.delete(new LambdaQueryWrapper<SmsbItemFileRel>().eq(SmsbItemFileRel::getItemId,
+                                                                              bo.getItemId()));
         // 节目基础信息
         SmsbItemVo smsbItemVo = baseMapper.selectVoById(bo.getItemId());
         // 保存新的资源内容
-        add2FileList(insertFileRelList,smsbItemVo, bo.getSelectedFiles1(),1);
-        add2FileList(insertFileRelList,smsbItemVo, bo.getSelectedFiles2(),2);
-        add2FileList(insertFileRelList,smsbItemVo, bo.getSelectedFiles3(),3);
-        add2FileList(insertFileRelList,smsbItemVo, bo.getSelectedFiles4(),4);
+        add2FileList(insertFileRelList, smsbItemVo, bo.getSelectedFiles1(), 1);
+        add2FileList(insertFileRelList, smsbItemVo, bo.getSelectedFiles2(), 2);
+        add2FileList(insertFileRelList, smsbItemVo, bo.getSelectedFiles3(), 3);
+        add2FileList(insertFileRelList, smsbItemVo, bo.getSelectedFiles4(), 4);
         itemFileRelMapper.insertBatch(insertFileRelList);
         // 更新节目的资源数量
         SmsbItem updateItem = new SmsbItem();
@@ -271,7 +289,8 @@ public class SmsbItemServiceImpl implements ISmsbItemService {
         for (Long id : ids) {
             List<SmsbItemPushVo> itemPushVo = baseMapper.selectRunItemPushVoById(id);
             if (CollectionUtil.isNotEmpty(itemPushVo)) {
-                throw new ServiceException(id + HttpApiResult.PUSH_STATUS_IS_WAITING.getInfo(), HttpApiResult.PUSH_STATUS_IS_WAITING.getCode());
+                throw new ServiceException(id + HttpApiResult.PUSH_STATUS_IS_WAITING.getInfo(),
+                                           HttpApiResult.PUSH_STATUS_IS_WAITING.getCode());
             }
             // 更新当前节目del_flag
             UpdateWrapper<SmsbItem> updateWrapper = new UpdateWrapper<>();