瀏覽代碼

checkPublishPlan fix

wangyunpeng 2 月之前
父節點
當前提交
ba00bfcdf6

+ 2 - 0
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/mapper/aigc/AigcBaseMapper.java

@@ -76,4 +76,6 @@ public interface AigcBaseMapper {
     List<String> getProduceContentTitleByPlanId(String planId);
 
     List<IdChannelDTO> getIdChannelByContentId(List<String> idList);
+
+    List<String> getTodaySpecialAdAccountNames(String dateStr);
 }

+ 9 - 5
long-article-recommend-service/src/main/java/com/tzld/longarticle/recommend/server/service/XxlJobService.java

@@ -132,6 +132,8 @@ public class XxlJobService {
         List<NotPublishPlan> notPublishPlan = publishContentMapper.getNotPublishPlan(todayStart);
         List<FeishuTableDTO.Column> columns = buildCheckPublishPlanColumns();
         List<JSONObject> rows = new ArrayList<>();
+        String dateStr = DateUtils.getCurrentDateStr("yyyy-MM-dd");
+        List<String> specialAdAccountNames = aigcBaseMapper.getTodaySpecialAdAccountNames(dateStr);
         for (NotPublishPlan publishPlan : notPublishPlan) {
             long now = System.currentTimeMillis();
             int nowHour = DateUtils.getHourByTimestamp(now / 1000);
@@ -144,9 +146,9 @@ public class XxlJobService {
             int planMinute = time.getMinute();
             JSONObject obj = null;
             if (nowHour - planHour == 1 && nowMinute > planMinute) {
-                obj = sendFeishuPublishPlanNotPushWarn(publishPlan);
+                obj = sendFeishuPublishPlanNotPushWarn(publishPlan, specialAdAccountNames);
             } else if (nowHour - planHour > 1) {
-                obj = sendFeishuPublishPlanNotPushWarn(publishPlan);
+                obj = sendFeishuPublishPlanNotPushWarn(publishPlan, specialAdAccountNames);
             }
             if (obj != null) {
                 rows.add(obj);
@@ -205,7 +207,7 @@ public class XxlJobService {
         private String errorMsg;
     }
 
-    private JSONObject sendFeishuPublishPlanNotPushWarn(NotPublishPlan publishPlan) {
+    private JSONObject sendFeishuPublishPlanNotPushWarn(NotPublishPlan publishPlan, List<String> specialAdAccountNames) {
         Long todayStart = DateUtils.getTodayStart();
         List<PublishAccount> publishAccounts = publishContentMapper.getPublishAccounts(publishPlan.getPlanId(), todayStart);
         List<String> accountNames;
@@ -223,7 +225,8 @@ public class XxlJobService {
         Iterator<PlanErrorMsgDetail> iterator = planErrorMsg.getErrorMsgDetails().iterator();
         while (iterator.hasNext()) {
             PlanErrorMsgDetail errorMsgDetail = iterator.next();
-            if (errorMsgDetail.getErrorMsg().contains("45028")
+            if (specialAdAccountNames.contains(errorMsgDetail.getAccountName())
+                    || errorMsgDetail.getErrorMsg().contains("45028")
                     || errorMsgDetail.getErrorMsg().contains("48004")
                     || errorMsgDetail.getErrorMsg().contains("50002")) {
                 iterator.remove();
@@ -326,7 +329,8 @@ public class XxlJobService {
                                 + "实际抓取数量: " + crawlerPlan.getCrawlerTotalNum());
                 try {
                     Thread.sleep(1000);
-                } catch (Exception ignore) {}
+                } catch (Exception ignore) {
+                }
             }
         }
         return ReturnT.SUCCESS;

+ 8 - 0
long-article-recommend-service/src/main/resources/mapper/aigc/AigcBaseMapper.xml

@@ -353,4 +353,12 @@
         </foreach>
     </select>
 
+    <select id="getTodaySpecialAdAccountNames" resultType="java.lang.String">
+        select pa.name
+        from publish_gzh_special_setting pgss
+        join publish_gzh_special_setting_account pgssa on pgss.id = pgssa.setting_id
+        join publish_account pa on pa.id = pgssa.account_id
+        where pgss.effective_date = #{dateStr}
+    </select>
+
 </mapper>