Browse Source

Merge branch 'master' into master_dev

# Conflicts:
#	src/main/resources/application-dev.yml
zero 2 weeks ago
parent
commit
147361dbf5

+ 11 - 17
src/main/java/com/cslg/ppa/service/GetWebArticle/GetEcigaretteService.java

@@ -47,7 +47,7 @@ public class GetEcigaretteService {
     private SourceInfoMapper sourceInfoMapper;
 
 
-//    @Scheduled(cron = "0 0 5 * * ?")
+    //    @Scheduled(cron = "0 0 5 * * ?")
 //    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
     public void execute() {
         System.out.println(new Date() + "-------AddArticle-Begin");
@@ -158,23 +158,17 @@ public class GetEcigaretteService {
      * 检查是否需要跳过当前标题(适用于"两个至上-诉讼"来源)
      */
     private static boolean shouldSkipTobaccoTitle(String sourceName, String title) {
-        if (!StringUtils.equals(sourceName, "两个至上-诉讼")) {
-            return false;
+        if (StringUtils.equals(sourceName, "两个至上-诉讼")) {
+            // 跳过条件:
+            // 1. 标题为空
+            // 2. 标题不包含 "烟"
+            // 3. 标题包含任意需要排除的关键词
+            String[] excludedKeywords = {"烟店", "零售商", "囚犯", "未成年", "嫌疑人"};
+            return StringUtils.isEmpty(title)
+                    || !title.contains("烟")
+                    || Arrays.stream(excludedKeywords).anyMatch(title::contains);
         }
-
-        if (StringUtils.isEmpty(title) || !title.contains("烟")) {
-            return false;
-        }
-
-        // 排除关键词
-        String[] excludedKeywords = {"烟店", "零售商", "囚犯","未成年"};
-        for (String keyword : excludedKeywords) {
-            if (title.contains(keyword)) {
-                return false;
-            }
-        }
-
-        return true; // 满足所有条件,跳过
+        return false;
     }
 
     public Map<String, String> getDigest(String url) throws IOException {

+ 1 - 1
src/main/java/com/cslg/ppa/service/GetWebArticle/GetIprDailyArticleService.java

@@ -148,7 +148,7 @@ public class GetIprDailyArticleService {
 
             // 提取首个title
             Element titleElement = liElement.selectFirst("dt.title");
-            String title = titleElement.text();
+            String title = titleElement.text().trim();
             // 检查文章是否已存在
             long count = articleInfoService.count(new LambdaQueryWrapper<ArticleInfo>()
                     .eq(ArticleInfo::getTitle, title)

+ 1 - 0
src/main/java/com/cslg/ppa/service/GetWebArticle/GetWeChatArticleService.java

@@ -138,6 +138,7 @@ public class GetWeChatArticleService {
                     case "知识产权界公众号":
                     case "IPRdaily公众号":
                     case "Bayes美国知识产权公众号":
+                    case "知识产权那点事公众号":
                         articleInfoDTO.setCategoryId(this.wxArticleClassify(title));
                         break;
                     case "跨域知见公众号":

+ 1 - 1
src/main/resources/mapper/ArticleInfoMapper.xml

@@ -100,7 +100,7 @@
                 and ai.public_time &lt;= #{vo.endTime}
             </if>
         </where>
-        order by ai.public_time desc,ai.id desc
+        order by ai.public_time asc,ai.id asc
     </select>
 
 </mapper>

+ 3 - 5
src/main/resources/mapper/ReportMapper.xml

@@ -7,10 +7,8 @@
                ara.report_id,
                ara.article_id,
                ai.title,
-               CASE
-                   WHEN ai.old_content IS NOT NULL AND ai.old_content != '' THEN ai.old_content
-                   ELSE ai.digest
-                END AS digest,
+               ai.digest,
+               ai.old_content,
                ai.category_id,
                ca.name as categoryName,
                ai.public_time,
@@ -23,6 +21,6 @@
         left join category ca on ca.id = ai.category_id
         left join source_info si on si.id = ai.source_id
         where ara.report_id = #{reportId} and ara.if_use = 1
-        order by ai.public_time desc
+        order by ai.public_time asc
     </select>
 </mapper>

+ 3 - 1
src/test/java/com/cslg/ppa/PpaApplicationTests.java

@@ -382,6 +382,8 @@ class PpaApplicationTests {
         List<String> list = new ArrayList<>();
         //菲莫国际
 //        list.add("https://cn.2firsts.com/search?keyword=%E8%8F%B2%E8%8E%AB%E5%9B%BD%E9%99%85");
+        //菲莫
+//        list.add("https://cn.2firsts.com/search?keyword=%E8%8F%B2%E8%8E%AB");
 //        //PMI
 //        list.add("https://cn.2firsts.com/search?keyword=PMI");
 //        //英美烟草
@@ -409,7 +411,7 @@ class PpaApplicationTests {
 //        }
 
         List<SourceInfo> sourceInfos = sourceInfoMapper.selectList(new LambdaQueryWrapper<SourceInfo>()
-                .in(SourceInfo::getCategoryId, Arrays.asList(16, 17, 18, 19, 20, 21, 22)));
+                .in(SourceInfo::getCategoryId, Arrays.asList(22)));
         for (SourceInfo sourceInfo : sourceInfos) {
             String sourceUrl = sourceInfo.getSourceUrl();
             String sourceName = sourceInfo.getSourceName();