Browse Source

优化代码

xueyiming 7 months ago
parent
commit
2d64f9cba3

+ 2 - 2
long-article-server/src/main/java/com/tzld/piaoquan/longarticle/model/vo/LongArticleSystemCreatePushTaskParam.java → long-article-server/src/main/java/com/tzld/piaoquan/longarticle/model/vo/CreatePushTaskParam.java

@@ -9,7 +9,7 @@ import java.util.List;
 @Getter
 @Setter
 @ToString
-public class LongArticleSystemCreatePushTaskParam {
+public class CreatePushTaskParam {
 
     //"计划ID")
     private String planId;
@@ -19,5 +19,5 @@ public class LongArticleSystemCreatePushTaskParam {
     private Integer pushType;
     //"计划推送时间戳")
     private Long pushScheduleTimestamp;
-    private List<LongArticleSystemPushContentParam> pushContentList;
+    private List<PushContentParam> pushContentList;
 }

+ 1 - 1
long-article-server/src/main/java/com/tzld/piaoquan/longarticle/model/vo/LongArticleSystemPushContentParam.java → long-article-server/src/main/java/com/tzld/piaoquan/longarticle/model/vo/PushContentParam.java

@@ -9,7 +9,7 @@ import java.util.List;
 @Getter
 @Setter
 @ToString
-public class LongArticleSystemPushContentParam {
+public class PushContentParam {
     //"发布内容ID")
     private String publishContentId;
     //"排版内容")

+ 25 - 16
long-article-server/src/main/java/com/tzld/piaoquan/longarticle/service/local/impl/ContentServiceImpl.java

@@ -81,20 +81,7 @@ public class ContentServiceImpl implements ContentService {
             if (CollectionUtils.isEmpty(matchVideos)) {
                 return;
             }
-            JSONArray jsonArray = new JSONArray();
-            for (PublishMiniprogramBo publishMiniprogramBo : publishMiniprogramBoList) {
-                //生成match表json数据
-                JSONObject jsonObject = new JSONObject();
-                jsonObject.put("uid", publishMiniprogramBo.getUserId());
-                jsonObject.put("source", publishMiniprogramBo.getSource());
-                jsonObject.put("kimiTitle", publishMiniprogramBo.getVideoTitle());
-                jsonObject.put("videoId", publishMiniprogramBo.getVideoId());
-                jsonObject.put("videoCover", publishMiniprogramBo.getVideoCover());
-                jsonObject.put("videoPath", publishMiniprogramBo.getVideoPath());
-                jsonObject.put("videoOss", publishMiniprogramBo.getVideoOssPath());
-                jsonObject.put("rootSourceId", publishMiniprogramBo.getRootSourceId());
-                jsonArray.add(jsonObject);
-            }
+            JSONArray jsonArray = getResponse(publishMiniprogramBoList);
             String traceId = matchVideos.get(0).getTraceId();
             MatchVideo matchVideo = matchVideos.get(0);
             MatchVideo updateMatchVideo = new MatchVideo();
@@ -109,6 +96,24 @@ public class ContentServiceImpl implements ContentService {
         }
     }
 
+    private JSONArray getResponse(List<PublishMiniprogramBo> publishMiniprogramBoList) {
+        JSONArray jsonArray = new JSONArray();
+        for (PublishMiniprogramBo publishMiniprogramBo : publishMiniprogramBoList) {
+            //生成match表json数据
+            JSONObject jsonObject = new JSONObject();
+            jsonObject.put("uid", publishMiniprogramBo.getUserId());
+            jsonObject.put("source", publishMiniprogramBo.getSource());
+            jsonObject.put("kimiTitle", publishMiniprogramBo.getVideoTitle());
+            jsonObject.put("videoId", publishMiniprogramBo.getVideoId());
+            jsonObject.put("videoCover", publishMiniprogramBo.getVideoCover());
+            jsonObject.put("videoPath", publishMiniprogramBo.getVideoPath());
+            jsonObject.put("videoOss", publishMiniprogramBo.getVideoOssPath());
+            jsonObject.put("rootSourceId", publishMiniprogramBo.getRootSourceId());
+            jsonArray.add(jsonObject);
+        }
+        return jsonArray;
+    }
+
     public List<PublishArticleData> getWaitingSort(PlanAccount planAccount) {
         //获取待排序数据
         LongArticleSystemGetContentsParam waitingSortParam = new LongArticleSystemGetContentsParam();
@@ -156,7 +161,9 @@ public class ContentServiceImpl implements ContentService {
 
         if (articleSortResponse == null || articleSortResponse.getData() == null) {
             log.info("articleSortResponse={}", articleSortResponse);
-            LarkRobotUtil.sendMessage("排序结果为空");
+            String message = String.format("排序结果为空 planId=%s accountName=%s", planAccount.getPlanId(), planAccount.getAccountName());
+            LarkRobotUtil.sendMessage(message);
+
             return new ArrayList<>();
         }
         ArticleSortResponseData data = articleSortResponse.getData();
@@ -175,7 +182,9 @@ public class ContentServiceImpl implements ContentService {
         if (CollectionUtils.isEmpty(articleSortResponse.getData().getRank_list())
                 || articleSortResponse.getData().getRank_list().size() < planAccount.getPublishPreMinNum()) {
             log.info("rank_list = {}", articleSortResponse.getData().getRank_list());
-            LarkRobotUtil.sendMessage("排序结果不足");
+            String message = String.format("排序结果不足 planId=%s accountName=%s num=%s",
+                    planAccount.getPlanId(), planAccount.getAccountName(), articleSortResponse.getData().getRank_list().size());
+            LarkRobotUtil.sendMessage(message);
             return new ArrayList<>();
         }
         return data.getRank_list();

+ 71 - 73
long-article-server/src/main/java/com/tzld/piaoquan/longarticle/service/local/impl/CoreServiceImpl.java

@@ -1,8 +1,6 @@
 package com.tzld.piaoquan.longarticle.service.local.impl;
 
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
 import com.tzld.piaoquan.longarticle.common.constants.TimeConstant;
 import com.tzld.piaoquan.longarticle.common.enums.ContentStatusEnum;
 import com.tzld.piaoquan.longarticle.common.enums.PublishGzhPushTypeEnum;
@@ -400,10 +398,10 @@ public class CoreServiceImpl implements CoreService {
                 }
             }
             //文章处理  小程序查询和发布
-            List<LongArticleSystemPushContentParam> pushContentList = new ArrayList<>();
+            List<PushContentParam> pushContentList = new ArrayList<>();
             List<Long> sendIds = new ArrayList<>();
             for (PublishArticleData publishArticleData : rankList) {
-                LongArticleSystemPushContentParam contentParam = new LongArticleSystemPushContentParam();
+                PushContentParam contentParam = new PushContentParam();
                 PublishContent publishContent = publicContentService.getPublishContent(planAccount, publishArticleData);
                 if (publishContent == null) {
                     continue;
@@ -435,88 +433,88 @@ public class CoreServiceImpl implements CoreService {
                     }
                     contentService.updateMatchContent(publishContent, planAccount, publishMiniprogramBoList);
                 }
-
-                List<PublishMiniprogramParam> publishCardList = new ArrayList<>();
-                for (PublishMiniprogram publishMiniprogram : publishMiniprogramList) {
-                    PublishMiniprogramParam param = new PublishMiniprogramParam();
-                    param.setProgramId(publishMiniprogram.getAppId());
-                    param.setProgramName(publishMiniprogram.getAppName());
-                    param.setProgramAvatar(publishMiniprogram.getAvatar());
-                    param.setMini_id(publishMiniprogram.getMiniId());
-                    param.setMiniprogramUseType(publishMiniprogram.getMiniProgramType());
-                    String videoTitle = publishMiniprogram.getVideoTitle();
-                    if (org.springframework.util.StringUtils.hasText(videoTitle)) {
-                        videoTitle = videoTitle.replace("\"", "");
-                        if (videoTitle.length() > 32) {
-                            videoTitle = videoTitle.substring(0, 32);
-                        }
-                        param.setProductionName(videoTitle);
-                    }
-                    String wxUrl = null;
-                    if (StringUtils.isNotEmpty(publishMiniprogram.getWxUrl())) {
-                        wxUrl = publishMiniprogram.getWxUrl();
-                    } else {
-                        aigcService.pushCover(publishMiniprogram.getVideoCover(), publishMiniprogram.getPublishContentId());
-                    }
-                    if (StringUtils.isEmpty(wxUrl)) {
-                        continue;
-                    }
-                    param.setProductionCover(wxUrl);
-                    param.setProductionPath(publishMiniprogram.getProductionPath());
-                    param.setRootShareId(publishMiniprogram.getRootShareId());
-                    param.setSource(publishMiniprogram.getSource());
-                    param.setVideoUrl(publishMiniprogram.getVideoPath());
-                    param.setParagraphPosition(BigDecimal.valueOf(publishMiniprogram.getIndex() * 0.25));
-                    if (publishMiniprogram.getIndex() == 1) {
-                        param.setParagraphPosition(BigDecimal.valueOf(0.01));
-                    }
-                    param.setTraceId(publishMiniprogram.getTraceId());
-                    publishCardList.add(param);
-                }
-                if (publishCardList.size() < 2) {
-                    publicContentService.delPublishContent(publishContent);
-                    continue;
-                }
+                List<PublishMiniprogramParam> publishCardList = getPublishCardList(publishMiniprogramList);
                 contentParam.setPublishContentId(publishContent.getPublishContentId());
                 contentParam.setMiniprogramCardList(publishCardList);
                 pushContentList.add(contentParam);
             }
-            LongArticleSystemCreatePushTaskParam gzhPushParam = new LongArticleSystemCreatePushTaskParam();
-            gzhPushParam.setPlanId(planAccount.getPlanId());
-            gzhPushParam.setAccountId(planAccount.getAccountId());
-            gzhPushParam.setPushType(planAccount.getPushType());
-            gzhPushParam.setPushScheduleTimestamp(System.currentTimeMillis());
-            if (StringUtils.isNotEmpty(planAccount.getPublishPushTime())) {
-                String dateTimeStr = TimeZoneUtil.todayYMD(TimeZoneUtil.Timezone.china) + " " + planAccount.getPublishPushTime();
-                gzhPushParam.setPushScheduleTimestamp(TimeZoneUtil.getDateStrTimestamp(dateTimeStr, "yyyy-MM-dd HH:mm:ss", TimeZoneUtil.Timezone.china));
-            } else {
-                gzhPushParam.setPushScheduleTimestamp(System.currentTimeMillis());
-            }
-            if (CollectionUtils.isEmpty(pushContentList)) {
-                continue;
-            }
-            if (Objects.equals(planAccount.getPushType(), PublishGzhPushTypeEnum.auto_group_publish.getVal())
-                    && pushContentList.size() < planAccount.getPublishPreMinNum()) {
+            CreatePushTaskParam gzhPushParam = getCreatePushTaskParam(planAccount, pushContentList);
+            if (gzhPushParam == null) {
                 continue;
             }
-            gzhPushParam.setPushContentList(pushContentList);
             log.info("gzhPushParam={}", gzhPushParam);
             String pushId = aigcService.createPushTask(gzhPushParam);
             log.info("pushId = {}", pushId);
             if (StringUtils.isNotEmpty(pushId)) {
-                for (Long id : sendIds) {
-                    PublishContent publishContent = publishContentMapper.selectByPrimaryKey(id);
-                    if (publishContent == null || publishContent.getStatus() != 0) {
-                        continue;
-                    }
-                    PublishContent update = new PublishContent();
-                    update.setId(id);
-                    update.setPushId(pushId);
-                    update.setStatus(1);
-                    publishContentMapper.updateByPrimaryKeySelective(update);
+                publicContentService.updatePublishContentPushId(sendIds, pushId);
+            }
+        }
+    }
+
+    private CreatePushTaskParam getCreatePushTaskParam(PlanAccount planAccount, List<PushContentParam> pushContentList) {
+        CreatePushTaskParam gzhPushParam = new CreatePushTaskParam();
+        gzhPushParam.setPlanId(planAccount.getPlanId());
+        gzhPushParam.setAccountId(planAccount.getAccountId());
+        gzhPushParam.setPushType(planAccount.getPushType());
+        gzhPushParam.setPushScheduleTimestamp(System.currentTimeMillis());
+        if (StringUtils.isNotEmpty(planAccount.getPublishPushTime())) {
+            String dateTimeStr = TimeZoneUtil.todayYMD(TimeZoneUtil.Timezone.china) + " " + planAccount.getPublishPushTime();
+            gzhPushParam.setPushScheduleTimestamp(TimeZoneUtil.getDateStrTimestamp(dateTimeStr, "yyyy-MM-dd HH:mm:ss", TimeZoneUtil.Timezone.china));
+        } else {
+            gzhPushParam.setPushScheduleTimestamp(System.currentTimeMillis());
+        }
+        //文章列表为空直接返回
+        if (CollectionUtils.isEmpty(pushContentList)) {
+            return null;
+        }
+        //自动群发少于最少数量不发送
+        if (Objects.equals(planAccount.getPushType(), PublishGzhPushTypeEnum.auto_group_publish.getVal())
+                && pushContentList.size() < planAccount.getPublishPreMinNum()) {
+            return null;
+        }
+        gzhPushParam.setPushContentList(pushContentList);
+        return gzhPushParam;
+    }
+
+    private List<PublishMiniprogramParam> getPublishCardList(List<PublishMiniprogram> publishMiniprogramList) {
+        List<PublishMiniprogramParam> publishCardList = new ArrayList<>();
+        for (PublishMiniprogram publishMiniprogram : publishMiniprogramList) {
+            PublishMiniprogramParam param = new PublishMiniprogramParam();
+            param.setProgramId(publishMiniprogram.getAppId());
+            param.setProgramName(publishMiniprogram.getAppName());
+            param.setProgramAvatar(publishMiniprogram.getAvatar());
+            param.setMini_id(publishMiniprogram.getMiniId());
+            param.setMiniprogramUseType(publishMiniprogram.getMiniProgramType());
+            String videoTitle = publishMiniprogram.getVideoTitle();
+            if (org.springframework.util.StringUtils.hasText(videoTitle)) {
+                videoTitle = videoTitle.replace("\"", "");
+                if (videoTitle.length() > 32) {
+                    videoTitle = videoTitle.substring(0, 32);
                 }
+                param.setProductionName(videoTitle);
+            }
+            String wxUrl = null;
+            if (StringUtils.isNotEmpty(publishMiniprogram.getWxUrl())) {
+                wxUrl = publishMiniprogram.getWxUrl();
+            } else {
+                aigcService.pushCover(publishMiniprogram.getVideoCover(), publishMiniprogram.getPublishContentId());
+            }
+            if (StringUtils.isEmpty(wxUrl)) {
+                continue;
+            }
+            param.setProductionCover(wxUrl);
+            param.setProductionPath(publishMiniprogram.getProductionPath());
+            param.setRootShareId(publishMiniprogram.getRootShareId());
+            param.setSource(publishMiniprogram.getSource());
+            param.setVideoUrl(publishMiniprogram.getVideoPath());
+            param.setParagraphPosition(BigDecimal.valueOf(publishMiniprogram.getIndex() * 0.25));
+            if (publishMiniprogram.getIndex() == 1) {
+                param.setParagraphPosition(BigDecimal.valueOf(0.01));
             }
+            param.setTraceId(publishMiniprogram.getTraceId());
+            publishCardList.add(param);
         }
+        return publishCardList;
     }
 
     @Override

+ 14 - 0
long-article-server/src/main/java/com/tzld/piaoquan/longarticle/service/local/impl/PublicContentServiceImpl.java

@@ -103,4 +103,18 @@ public class PublicContentServiceImpl {
         publishContentMapper.updateByPrimaryKeySelective(publishContent);
     }
 
+    public void updatePublishContentPushId(List<Long> ids, String pushId) {
+        for (Long id : ids) {
+            PublishContent publishContent = publishContentMapper.selectByPrimaryKey(id);
+            if (publishContent == null) {
+                continue;
+            }
+            PublishContent update = new PublishContent();
+            update.setId(id);
+            update.setPushId(pushId);
+            update.setStatus(1);
+            publishContentMapper.updateByPrimaryKeySelective(update);
+        }
+    }
+
 }

+ 1 - 1
long-article-server/src/main/java/com/tzld/piaoquan/longarticle/service/remote/AigcService.java

@@ -14,7 +14,7 @@ public interface AigcService {
 
     LongArticleSystemContentVO listWaitingSortContents(LongArticleSystemGetContentsParam param);
 
-    String createPushTask(LongArticleSystemCreatePushTaskParam param);
+    String createPushTask(CreatePushTaskParam param);
 
     boolean updateMatchMiniprogramStatus(MatchMiniprogramStatusParam param);
 

+ 1 - 1
long-article-server/src/main/java/com/tzld/piaoquan/longarticle/service/remote/impl/AigcServiceImpl.java

@@ -96,7 +96,7 @@ public class AigcServiceImpl implements AigcService {
 
     @Override
     //创建推送任务
-    public String createPushTask(LongArticleSystemCreatePushTaskParam param) {
+    public String createPushTask(CreatePushTaskParam param) {
         String apiUrl = "http://aigc-api.cybertogether.net/aigc/publish/LongArticleSystem/createPushTask";
         try {
             String res = HTTP_POOL_CLIENT_UTIL_DEFAULT.post(apiUrl, JSON.toJSONString(param));