詹子聪 5 tahun lalu
induk
melakukan
564b4fdad9

+ 2 - 1
src/main/java/com/miekir/shibei/bean/db/SystemBean.java

@@ -35,7 +35,8 @@ public class SystemBean {
      */
     @Basic
     @Column(columnDefinition = "MEDIUMTEXT", name = "zfb", nullable = false, insertable = true, updatable = true)
-    public String zfb = "https://qr.alipay.com/fkx18482hw01dsf3rauxk9b";
+    public String zfb = "";
+    //public String zfb = "https://qr.alipay.com/fkx18482hw01dsf3rauxk9b";
 
     /**
      * 是否启用广告模式

+ 5 - 0
src/main/java/com/miekir/shibei/controller/api/CouponController.java

@@ -62,6 +62,11 @@ public class CouponController {
         // 如果只有一页,就把所有的返回去
         if (maxPageNum <= 1) {
             for (String s : nameArray) {
+                File file = new File(photoDir, s);
+                // 小于16字节的文件当做空文件,不添加
+                if (!file.exists() || file.length() < 16) {
+                    continue;
+                }
                 photoUrlList.add(String.format(FileTool.FORMATTER_IMAGE_URL, s));
             }
 

+ 5 - 0
src/main/java/com/miekir/shibei/controller/api/SystemController.java

@@ -6,6 +6,7 @@ import com.miekir.shibei.bean.db.Feedback;
 import com.miekir.shibei.bean.db.SystemBean;
 import com.miekir.shibei.bean.db.UpgradeBean;
 import com.miekir.shibei.constants.ServerConstants;
+import com.miekir.shibei.controller.task.CrawlerService;
 import com.miekir.shibei.repository.*;
 import com.miekir.shibei.tool.RequestTool;
 import com.miekir.shibei.tool.email.EmailTool;
@@ -49,6 +50,9 @@ public class SystemController {
     @Autowired
     private FavRepository favRepository;
 
+    @Autowired
+    private CrawlerService crawlerService;
+
     /**
      * 查询系统设置
      */
@@ -123,6 +127,7 @@ public class SystemController {
                 break;
             case CONFIG_TYPE_WALK:
                 systemBean.isWalking = booleanValue;
+                crawlerService.startWalking();
                 break;
             case CONFIG_TYPE_ZFB:
                 systemBean.zfb = newZFB;

+ 10 - 0
src/main/java/com/miekir/shibei/controller/task/CrawlerService.java

@@ -42,6 +42,15 @@ public class CrawlerService {
         }
 
         // 调试的时候会执行两次,真正部署时其实是执行一次
+        startWalking();
+    }
+
+    public void startWalking() {
+        if (WalkManager.getInstance().isWalking()) {
+            return;
+        }
+
+        WalkManager.getInstance().setWalking(true);
         // 一启动完成就开始去爬虫
         Executors.newSingleThreadExecutor().submit(new Runnable() {
             @Override
@@ -51,6 +60,7 @@ public class CrawlerService {
                 while (shouldContinue) {
                     shouldContinue = Sex8Tool.startGettingData(CrawlerService.this);
                 }
+                WalkManager.getInstance().setWalking(false);
             }
         });
     }

+ 21 - 0
src/main/java/com/miekir/shibei/controller/task/WalkManager.java

@@ -0,0 +1,21 @@
+package com.miekir.shibei.controller.task;
+
+public class WalkManager {
+    private volatile boolean isWalking;
+
+    public boolean isWalking() {
+        return isWalking;
+    }
+
+    public void setWalking(boolean walking) {
+        isWalking = walking;
+    }
+
+    private WalkManager() {}
+
+    private static final WalkManager INSTANCE = new WalkManager();
+
+    public static WalkManager getInstance() {
+        return INSTANCE;
+    }
+}