wangyunpeng преди 1 месец
родител
ревизия
9a93eed310

+ 7 - 0
api-module/src/main/java/com/tzld/piaoquan/api/dao/mapper/wecom/thirdpart/ext/ThirdPartWeComVideoMapperExt.java

@@ -1,5 +1,6 @@
 package com.tzld.piaoquan.api.dao.mapper.wecom.thirdpart.ext;
 
+import com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformVideo;
 import com.tzld.piaoquan.api.model.po.wecom.thirdpart.ThirdPartWeComVideo;
 import org.apache.ibatis.annotations.Param;
 
@@ -17,4 +18,10 @@ public interface ThirdPartWeComVideoMapperExt {
                                         @Param("status") Integer status,
                                         @Param("oldStatus") Integer oldStatus,
                                         @Param("now") Long now);
+
+    List<ContentPlatformVideo> getVideoMinScoreList(@Param("videoMinScore") Double videoMinScore,
+                                                    @Param("roomId") String roomId,
+                                                    @Param("offset") int offset,
+                                                    @Param("limit") int limit,
+                                                    @Param("sort") String sort);
 }

+ 9 - 21
api-module/src/main/java/com/tzld/piaoquan/api/job/wecom/thirdpart/WeComSendMsgJob.java

@@ -8,6 +8,7 @@ import com.tzld.piaoquan.api.component.VideoApiService;
 import com.tzld.piaoquan.api.dao.mapper.contentplatform.ext.ContentPlatformPlanMapperExt;
 import com.tzld.piaoquan.api.dao.mapper.wecom.thirdpart.ThirdPartWeComMsgMapper;
 import com.tzld.piaoquan.api.dao.mapper.wecom.thirdpart.ThirdPartWeComRoomMapper;
+import com.tzld.piaoquan.api.dao.mapper.wecom.thirdpart.ext.ThirdPartWeComVideoMapperExt;
 import com.tzld.piaoquan.api.model.param.wecom.thirdpart.*;
 import com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformVideo;
 import com.tzld.piaoquan.api.model.po.wecom.thirdpart.*;
@@ -57,6 +58,8 @@ public class WeComSendMsgJob {
     @Autowired
     ContentPlatformPlanMapperExt planMapperExt;
     @Autowired
+    ThirdPartWeComVideoMapperExt videoMapperExt;
+    @Autowired
     ThirdPartWeComRoomMapper roomMapper;
     @Autowired
     ThirdPartWeComMsgMapper msgMapper;
@@ -215,16 +218,10 @@ public class WeComSendMsgJob {
                                                            ThirdPartWeComStaff thirdPartWeComStaff,
                                                            ThirdPartWeComRoomConfig roomConfig,
                                                            ThirdPartWeComRoomConfigTaskContent configTaskContent) {
-        String dt = planMapperExt.getVideoMaxDt();
-        String datastatDt = planMapperExt.getVideoDatastatMaxDt();
         // 排除最近发送过的视频
         List<Long> sentVideoIds = getSentVideoIds(Long.valueOf(roomId));
-        // 按行业获取视频
-        String sort = "datastat.fission_rate desc, video.score desc";
-        String type = "企微-社群";
-        String channel = "sum";
-        List<ContentPlatformVideo> videoList = getVideoByStrategy(thirdPartWeComStaff.getThirdStaffId(), roomId,
-                dt, datastatDt, type, channel, videoMinScore, sentVideoIds, configTaskContent, 1, 100, sort);
+        List<ContentPlatformVideo> videoList = getVideoByStrategy(roomId, videoMinScore, sentVideoIds,
+                configTaskContent, 1, 100);
         if (CollectionUtils.isEmpty(videoList)) {
             LarkRobotUtil.sendWeComThirdPartMessage(
                     "【账号发送群消息,视频数量不足通知】\n" +
@@ -252,18 +249,12 @@ public class WeComSendMsgJob {
         return result;
     }
 
-    private List<ContentPlatformVideo> getVideoByStrategy(Long staffId,
-                                                          String roomId,
-                                                          String dt,
-                                                          String datastatDt,
-                                                          String type,
-                                                          String channel,
+    private List<ContentPlatformVideo> getVideoByStrategy(String roomId,
                                                           Double videoMinScore,
                                                           List<Long> sentVideoIds,
                                                           ThirdPartWeComRoomConfigTaskContent configTaskContent,
                                                           int pageNum,
-                                                          int pageSize,
-                                                          String sort) {
+                                                          int pageSize) {
         List<ContentPlatformVideo> result = new ArrayList<>();
         List<ContentPlatformVideo> videoList;
         // 0-热榜 1-标签 2-账号
@@ -287,11 +278,8 @@ public class WeComSendMsgJob {
                 result.addAll(videoList);
                 break;
             default:
-                result = planMapperExt.getVideoMinDatastatScoreList(dt, datastatDt,
-                        type, channel, "normal", videoMinScore, sentVideoIds, 0, 100, sort);
-                // 行业数量不足,按平台推荐top选取视频
-                sort = "video.score desc";
-                result.addAll(planMapperExt.getVideoMinScoreList(dt, videoMinScore, roomId, 0, 100, sort));
+                // 按平台推荐top选取视频
+                result.addAll(videoMapperExt.getVideoMinScoreList(videoMinScore, roomId, 0, 100, "video.score desc"));
         }
         return result;
     }

+ 9 - 0
api-module/src/main/resources/mapper/wecom/thirdpart/ext/ThirdPartWeComVideoMapperExt.xml

@@ -34,4 +34,13 @@
           and status = #{oldStatus}
     </update>
 
+    <select id="getVideoMinScoreList" resultType="com.tzld.piaoquan.api.model.po.contentplatform.ContentPlatformVideo">
+        select *
+        from third_part_we_com_video video
+        where video.dt = #{dt} and video.status = 1 and video.score > #{minScore}
+          and video.video_id not in (select video_id from third_part_we_com_msg where send_userid = #{roomId} and video_id is not null)
+        order by ${sort}
+        limit #{offset}, #{pageSize}
+    </select>
+
 </mapper>