Bladeren bron

Merge branch 'wyp/1126-wuxianliuExport' of Server/long-article-recommend into master

wangyunpeng 7 maanden geleden
bovenliggende
commit
5ff7d05583

+ 1 - 1
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/mapper/longArticle/LongArticleBaseMapper.java

@@ -14,7 +14,7 @@ public interface LongArticleBaseMapper {
 
     void deleteByDateStrGreaterThanEqual(String dateStr);
 
-    void deleteByDateStrBetween(String dateStrBegin, String dateStrEnd);
+    void deleteByDateStrBetween(String dateStrBegin, String dateStrEnd, String type);
 
     void batchInsertDatastatSortStrategy(List<DatastatSortStrategy> list);
 

+ 2 - 0
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/model/entity/longArticle/DatastatSortStrategy.java

@@ -24,6 +24,8 @@ public class DatastatSortStrategy implements Serializable {
     @Id
     private Integer position;
 
+    @Column(name = "type")
+    private String type;
     @Column(name = "account_mode")
     private String accountMode;
     @Column(name = "account_source")

+ 10 - 8
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/recommend/DataDashboardService.java

@@ -129,12 +129,7 @@ public class DataDashboardService {
                                              String sheetToken, String sheetId) {
         String minDate = dateStrList.stream().min(String::compareTo).orElse("");
         String maxDate = dateStrList.stream().max(String::compareTo).orElse("");
-        List<NewSortStrategyExport> newContentsYesData = newSortStrategyData(minDate, maxDate, articleType);
-        if (CollectionUtil.isNotEmpty(newContentsYesData) && filter == StatusEnum.ONE.getCode()) {
-            newContentsYesData = newContentsYesData.stream()
-                    .filter(o -> Objects.nonNull(o.getPublishMiniProgramNum()) && o.getPublishMiniProgramNum() > 0)
-                    .collect(Collectors.toList());
-        }
+        List<NewSortStrategyExport> newContentsYesData = newSortStrategyData(minDate, maxDate, articleType, filter);
         if (CollectionUtil.isEmpty(newContentsYesData)) {
             return;
         }
@@ -177,7 +172,8 @@ public class DataDashboardService {
         doSendFeishuSheet(dateStrList, sheetToken, sheetId, rowNum, rows, 2, styles);
     }
 
-    private List<NewSortStrategyExport> newSortStrategyData(String beginDate, String endDate, String articleType) {
+    private List<NewSortStrategyExport> newSortStrategyData(String beginDate, String endDate,
+                                                            String articleType, Integer filter) {
         long beginTimestamp = DateUtils.dateStrToTimestamp(beginDate, "yyyyMMdd");
         long endTimestamp = DateUtils.dateStrToTimestamp(endDate, "yyyyMMdd") + 86400;
         List<AccountAvgInfo> accountAvgInfoList = accountAvgInfoRepository.findAll();
@@ -365,14 +361,20 @@ public class DataDashboardService {
             result.add(obj);
         }
         log.info("newSortStrategyData buildData finish");
+        if (CollectionUtil.isNotEmpty(result) && filter == StatusEnum.ONE.getCode()) {
+            result = result.stream()
+                    .filter(o -> Objects.nonNull(o.getPublishMiniProgramNum()) && o.getPublishMiniProgramNum() > 0)
+                    .collect(Collectors.toList());
+        }
         result.sort(Comparator.comparing(NewSortStrategyExport::getDateStr).reversed()
                 .thenComparing(NewSortStrategyExport::getGhId).thenComparing(NewSortStrategyExport::getPosition));
         if (CollectionUtils.isNotEmpty(result)) {
-            longArticleBaseMapper.deleteByDateStrBetween(beginDate, endDate);
+            longArticleBaseMapper.deleteByDateStrBetween(beginDate, endDate, articleType);
             List<DatastatSortStrategy> saveList = new ArrayList<>();
             for (NewSortStrategyExport newSortStrategyExport : result) {
                 DatastatSortStrategy item = new DatastatSortStrategy();
                 BeanUtils.copyProperties(newSortStrategyExport, item);
+                item.setType(articleType);
                 PublishAccount publishAccount = publishAccountMap.get(item.getGhId());
                 item.setAccountCreateTimestamp(publishAccount.getCreateTimestamp() / 1000);
                 Article article = wxSnMap.get(item.getWxSn());

+ 5 - 3
long-article-recommend-service/src/main/resources/mapper/longArticle/LongArticleBaseMapper.xml

@@ -7,7 +7,7 @@
     </delete>
 
     <delete id="deleteByDateStrBetween">
-        delete from datastat_sort_strategy where date_str between #{dateStrBegin} and #{dateStrEnd}
+        delete from datastat_sort_strategy where date_str between #{dateStrBegin} and #{dateStrEnd} and type = #{type}
     </delete>
 
     <insert id="batchInsertDatastatSortStrategy">
@@ -21,7 +21,7 @@
         link, wx_sn, fission0_read_avg_100_rate, fission0_read_avg_500_rate, fission0_read_avg_1000_rate,
         crawler_plan_name, crawler_plan_tag, produce_plan_name, produce_plan_tag, publish_plan_name,
         publish_mini_program_insert_strategy, publish_mini_program_insert_use_type, publish_mini_program_num,
-        source_produce_plan_name, account_create_timestamp, publish_timestamp)
+        source_produce_plan_name, account_create_timestamp, publish_timestamp, type)
         VALUES
         <foreach collection="list" item="item" separator=",">
             (#{item.dateStr}, #{item.publishTime}, #{item.accountMode}, #{item.accountSource}, #{item.accountType},
@@ -37,7 +37,8 @@
             #{item.fission0ReadAvg1000Rate}, #{item.crawlerPlanName}, #{item.crawlerPlanTag},
             #{item.producePlanName}, #{item.producePlanTag}, #{item.publishPlanName},
             #{item.publishMiniProgramInsertStrategy}, #{item.publishMiniProgramInsertUseType},
-            #{item.publishMiniProgramNum}, #{item.sourceProducePlanName}, #{item.accountCreateTimestamp}, #{item.publishTimestamp})
+            #{item.publishMiniProgramNum}, #{item.sourceProducePlanName}, #{item.accountCreateTimestamp},
+            #{item.publishTimestamp}, #{item.type})
         </foreach>
     </insert>
 
@@ -93,6 +94,7 @@
         select *
         from datastat_sort_strategy
         where view_count >= #{viewCount}
+        and type = 9
         and read_rate >= #{viewCountRate}
         and fans > #{fans}
         and date_str > #{dateStr}