Browse Source

Merge branch 'dev-xym-not-sort' into dev-xym-add

xueyiming 7 months ago
parent
commit
3d14ccda4b

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

@@ -388,44 +388,72 @@ public class CoreServiceImpl implements CoreService {
             if (!flag) {
                 continue;
             }
-            ArticleSortRequest articleSortRequest = new ArticleSortRequest();
-            articleSortRequest.setAccountId(planAccount.getAccountId());
-            articleSortRequest.setAccountName(planAccount.getAccountName());
-            articleSortRequest.setGhId(planAccount.getGhId());
-            //测试参数
+            //获取待排序数据
+            LongArticleSystemGetContentsParam waitingSortParam = new LongArticleSystemGetContentsParam();
+            waitingSortParam.setPlanId(planAccount.getPlanId());
+            waitingSortParam.setAccountId(planAccount.getAccountId());
+            waitingSortParam.setPageNum(1);
+            waitingSortParam.setPageSize(planAccount.getPublishPreNum());
+            LongArticleSystemContentVO longArticleSystemContentVO = aigcService.listWaitingSortContents(waitingSortParam);
+            if (longArticleSystemContentVO == null
+                    || longArticleSystemContentVO.getTotalCount() < planAccount.getPublishPreMinNum()
+                    || CollectionUtils.isEmpty(longArticleSystemContentVO.getContentItemList())
+                    || longArticleSystemContentVO.getContentItemList().size() < planAccount.getPublishPreMinNum()) {
+                continue;
+            }
+            List<PublishArticleData> rankList;
+            if (StringUtils.isNotEmpty(planAccount.getSortStrategy())) {
+                ArticleSortRequest articleSortRequest = new ArticleSortRequest();
+                articleSortRequest.setAccountId(planAccount.getAccountId());
+                articleSortRequest.setAccountName(planAccount.getAccountName());
+                articleSortRequest.setGhId(planAccount.getGhId());
+                //测试参数
 //            articleSortRequest.setStrategy("ArticleRankRandom");
 //            articleSortRequest.setExcludeLog(true);
-            articleSortRequest.setStrategy(planAccount.getSortStrategy());
-            articleSortRequest.setPublishNum(planAccount.getPublishPreNum());
-            if (Objects.equals(PublishGzhPushTypeEnum.auto_group_publish.getVal(), planAccount.getPushType())) {
-                articleSortRequest.setPublishNum(planAccount.getPublishNum());
-            }
-            articleSortRequest.setPlanId(planAccount.getPlanId());
-            articleSortRequest.setPushType(planAccount.getPushType());
+                articleSortRequest.setStrategy(planAccount.getSortStrategy());
+                articleSortRequest.setPublishNum(planAccount.getPublishPreNum());
+                if (Objects.equals(PublishGzhPushTypeEnum.auto_group_publish.getVal(), planAccount.getPushType())) {
+                    articleSortRequest.setPublishNum(planAccount.getPublishNum());
+                }
+                articleSortRequest.setPlanId(planAccount.getPlanId());
+                articleSortRequest.setPushType(planAccount.getPushType());
 
-            ArticleSortResponse articleSortResponse = sortService.publishArticleSort(articleSortRequest);
-            if (articleSortResponse == null || articleSortResponse.getData() == null) {
-                continue;
-            }
-            if (CollectionUtils.isEmpty(articleSortResponse.getData().getRank_list())) {
-                continue;
-            }
-            ArticleSortResponseData data = articleSortResponse.getData();
-            if (!CollectionUtils.isEmpty(data.getFilter_list())) {
-                List<FilterSortContentParam> list = new ArrayList<>();
-                for (PublishArticleData publishArticleData : data.getFilter_list()) {
-                    FilterSortContentParam param = new FilterSortContentParam();
-                    param.setFilterReason(publishArticleData.getFilterReason());
-                    param.setPublishContentId(publishArticleData.getId());
-                    list.add(param);
+                ArticleSortResponse articleSortResponse = sortService.publishArticleSort(articleSortRequest);
+                if (articleSortResponse == null || articleSortResponse.getData() == null) {
+                    continue;
+                }
+                ArticleSortResponseData data = articleSortResponse.getData();
+                if (!CollectionUtils.isEmpty(data.getFilter_list())) {
+                    List<FilterSortContentParam> list = new ArrayList<>();
+                    for (PublishArticleData publishArticleData : data.getFilter_list()) {
+                        FilterSortContentParam param = new FilterSortContentParam();
+                        param.setFilterReason(publishArticleData.getFilterReason());
+                        param.setPublishContentId(publishArticleData.getId());
+                        list.add(param);
+                    }
+                    FilterSortParam param = new FilterSortParam();
+                    param.setFilterSortContentList(list);
+                    aigcService.filterSortContents(param);
+                }
+                if (CollectionUtils.isEmpty(articleSortResponse.getData().getRank_list())
+                        || articleSortResponse.getData().getRank_list().size() < planAccount.getPublishPreMinNum()) {
+                    continue;
+                }
+                //排序结束
+                rankList = data.getRank_list();
+            } else {
+                List<PublishArticleData> notSortList = new ArrayList<>();
+                for (ContentItemVO contentItemVO : longArticleSystemContentVO.getContentItemList()) {
+                    PublishArticleData publishArticleData = new PublishArticleData();
+                    publishArticleData.setId(contentItemVO.getPublishContentId());
+                    publishArticleData.setSourceId(contentItemVO.getSourceId());
+                    publishArticleData.setTitle(contentItemVO.getTitle());
+                    publishArticleData.setContentPoolType(contentItemVO.getFlowPoolLevelTag());
+                    notSortList.add(publishArticleData);
                 }
-                FilterSortParam param = new FilterSortParam();
-                param.setFilterSortContentList(list);
-                aigcService.filterSortContents(param);
+                rankList = notSortList;
             }
             List<LongArticleSystemPushContentParam> pushContentList = new ArrayList<>();
-            //排序结束
-            List<PublishArticleData> rankList = data.getRank_list();
             List<Long> sendIds = new ArrayList<>();
             for (PublishArticleData publishArticleData : rankList) {
                 LongArticleSystemPushContentParam contentParam = new LongArticleSystemPushContentParam();

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

@@ -12,6 +12,8 @@ public interface AigcService {
 
     LongArticleSystemContentVO listWaitingMatchMiniprogramContents(LongArticleSystemGetContentsParam param);
 
+    LongArticleSystemContentVO listWaitingSortContents(LongArticleSystemGetContentsParam param);
+
     String createPushTask(LongArticleSystemCreatePushTaskParam param);
 
     boolean updateMatchMiniprogramStatus(MatchMiniprogramStatusParam param);

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

@@ -78,6 +78,22 @@ public class AigcServiceImpl implements AigcService {
         return null;
     }
 
+    //分页获取待匹配内容列表
+    public LongArticleSystemContentVO listWaitingSortContents(LongArticleSystemGetContentsParam param) {
+        String apiUrl = "http://aigc-api.cybertogether.net/aigc/publish/LongArticleSystem/listWaitingSortContents";
+        try {
+            String res = HTTP_POOL_CLIENT_UTIL_DEFAULT.post(apiUrl, JSON.toJSONString(param));
+            JSONObject jsonObject = JSON.parseObject(res);
+            Integer code = jsonObject.getInteger("code");
+            if (code == 0) {
+                return jsonObject.getJSONObject("data").toJavaObject(LongArticleSystemContentVO.class);
+            }
+        } catch (Exception e) {
+            log.error("listWaitingSortContents error", e);
+        }
+        return null;
+    }
+
     @Override
     //创建推送任务
     public String createPushTask(LongArticleSystemCreatePushTaskParam param) {