فهرست منبع

✨feat(smsb): Add edit history feature for carousel items

Shinohara Haruna 6 ماه پیش
والد
کامیت
64e7ac6d73

+ 3 - 3
smsb-modules/smsb-source/src/main/java/com/inspur/source/controller/SmsbItemController.java

@@ -124,15 +124,15 @@ public class SmsbItemController extends BaseController {
     }
 
     /**
-     * 分屏组节目内容编辑历史
+     * 节目内容编辑历史
      *
-     * @param itemId 分屏组id
+     * @param itemId id
      */
     @GetMapping("/editHistory/{itemId}")
     public R<List<EditHistoryVo>> editHistory(@PathVariable String itemId,
                                                    @RequestParam(defaultValue = "2") Integer type) {
         if (type == 1) {
-            return R.fail("还没做");
+            return R.ok(smsbItemService.getItemEditHistory(itemId));
         }
         return R.ok(smsbItemService.getSplitEditHistory(itemId));
     }

+ 1 - 0
smsb-modules/smsb-source/src/main/java/com/inspur/source/mapper/SmsbItemFileRelMapper.java

@@ -1,6 +1,7 @@
 package com.inspur.source.mapper;
 
 import com.inspur.source.domain.SmsbItemFileRel;
+import com.inspur.source.domain.vo.EditHistoryVo;
 import com.inspur.source.domain.vo.FrontItemSourceVO;
 import com.inspur.source.domain.vo.SmsbItemFileRelVo;
 import com.inspur.source.domain.vo.SmsbMinioDataVo;

+ 3 - 4
smsb-modules/smsb-source/src/main/java/com/inspur/source/mapper/SmsbItemMapper.java

@@ -2,10 +2,7 @@ package com.inspur.source.mapper;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.inspur.source.domain.SmsbItem;
-import com.inspur.source.domain.vo.ItemStatisticsVo;
-import com.inspur.source.domain.vo.SmsbItemPushVo;
-import com.inspur.source.domain.vo.SmsbItemVo;
-import com.inspur.source.domain.vo.SmsbMinioDataVo;
+import com.inspur.source.domain.vo.*;
 import org.apache.ibatis.annotations.Param;
 import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
 
@@ -39,4 +36,6 @@ public interface SmsbItemMapper extends BaseMapperPlus<SmsbItem, SmsbItemVo> {
      * @return
      */
     List<SmsbItemPushVo> selectRunItemPushVoById(@Param("itemId") Long itemId);
+
+    List<EditHistoryVo> selectEditHistory(@Param("itemId") String itemId);
 }

+ 7 - 0
smsb-modules/smsb-source/src/main/java/com/inspur/source/service/ISmsbItemService.java

@@ -98,6 +98,13 @@ public interface ISmsbItemService {
      */
     Boolean editSplit(ItemSplitUploadReqBo bo);
 
+    /**
+     * 获取轮播组节目编辑历史
+     * @param id 轮播id
+     * @return 历史记录列表
+     */
+    List<EditHistoryVo> getItemEditHistory(String id);
+
     /**
      * 获取分屏组节目编辑历史
      * @param id 分屏组id

+ 11 - 0
smsb-modules/smsb-source/src/main/java/com/inspur/source/service/impl/SmsbItemServiceImpl.java

@@ -116,6 +116,17 @@ public class SmsbItemServiceImpl implements ISmsbItemService {
         return vo;
     }
 
+    /**
+     * 获取轮播组编辑历史
+     *
+     * @param id 节目id
+     * @return 编辑历史列表
+     */
+    @Override
+    public List<EditHistoryVo> getItemEditHistory(String id) {
+        return baseMapper.selectEditHistory(id);
+    }
+
     /**
      * 获取节目分屏组编辑历史(返回Map,适配SQL返回字段)
      *

+ 8 - 0
smsb-modules/smsb-source/src/main/resources/mapper/SmsbItemMapper.xml

@@ -31,4 +31,12 @@
             sipr.item_id = #{itemId} and sip.status = 'waiting'
     </select>
 
+    <select id="selectEditHistory" resultType="com.inspur.source.domain.vo.EditHistoryVo">
+        SELECT oper_name, oper_param, MIN(oper_time) as oper_time
+        FROM sys_oper_log
+        WHERE oper_url = '/source/item'
+          AND JSON_CONTAINS(oper_param, CONCAT('"', #{itemId}, '"'), '$.itemId')
+        GROUP BY oper_name, oper_param
+        ORDER BY oper_time;
+    </select>
 </mapper>