Quellcode durchsuchen

设置是否爬虫

詹子聪 vor 5 Jahren
Ursprung
Commit
90a51a21ce

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

@@ -20,6 +20,13 @@ public class SystemBean {
      * 是否有VIP限制,true表示必须要VIP才能使用特殊服务,false表示免费开放中...
      */
     @Basic
-    @Column(name = "isVipLimit", nullable = true, insertable = true, updatable = true)
+    @Column(name = "isVipLimit", nullable = false, insertable = true, updatable = true)
     public Boolean isVipLimit = false;
+
+    /**
+     * 是否开放爬虫
+     */
+    @Basic
+    @Column(name = "isWalking", nullable = false, insertable = true, updatable = true)
+    public Boolean isWalking = false;
 }

+ 15 - 2
src/main/java/com/miekir/shibei/controller/api/SystemController.java

@@ -28,6 +28,9 @@ import java.io.*;
 @Controller
 public class SystemController {
 
+    public static final int CONFIG_TYPE_DOOR = 1;
+    public static final int CONFIG_TYPE_WALK = 2;
+
     @Autowired
     FeedbackRepository feedbackRepository;
 
@@ -112,7 +115,7 @@ public class SystemController {
      */
     @RequestMapping(value = "/api/setApiConfig", method = RequestMethod.POST, produces = "application/json; charset=utf-8")
     @ResponseBody
-    public String setApiConfig(@RequestHeader HttpHeaders header, boolean isApiVipOnly) {
+    public String setApiConfig(@RequestHeader HttpHeaders header, boolean booleanValue, int configType) {
         ResponseResult<String> responseResult = new ResponseResult<String>();
         responseResult.setMessage("设置失败");
         if (!RequestTool.isRequestAdminValid(header, userRepository)) {
@@ -124,7 +127,17 @@ public class SystemController {
         if (systemBean == null) {
             systemBean = new SystemBean();
         }
-        systemBean.isVipLimit = isApiVipOnly;
+
+        switch (configType) {
+            case CONFIG_TYPE_DOOR:
+                systemBean.isVipLimit = booleanValue;
+                break;
+            case CONFIG_TYPE_WALK:
+                systemBean.isWalking = booleanValue;
+                break;
+            default:
+                break;
+        }
         systemRepository.save(systemBean);
 
         responseResult.setCode(ResultCode.SUCCESS);

+ 13 - 3
src/main/java/com/miekir/shibei/controller/task/CrawlerService.java

@@ -1,7 +1,9 @@
 package com.miekir.shibei.controller.task;
 
 import com.miekir.shibei.bean.db.GoodsBean;
+import com.miekir.shibei.bean.db.SystemBean;
 import com.miekir.shibei.repository.GoodsRepository;
+import com.miekir.shibei.repository.SystemRepository;
 import com.miekir.shibei.tool.web.Sex8Tool;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.ApplicationArguments;
@@ -25,15 +27,23 @@ public class CrawlerService {
     @Autowired
     private GoodsRepository goodsRepository;
 
+    @Autowired
+    private SystemRepository systemRepository;
+
     public void saveGoods(GoodsBean goodsBean) {
         goodsRepository.save(goodsBean);
     }
 
     @PostConstruct
     public void init() {
+        SystemBean systemBean = systemRepository.findSystemBean();
+        if (!systemBean.isWalking) {
+            return;
+        }
+
         // 调试的时候会执行两次,真正部署时其实是执行一次
-        // todo 一启动完成就开始去爬虫
-        /*Executors.newSingleThreadExecutor().submit(new Runnable() {
+        // 一启动完成就开始去爬虫
+        Executors.newSingleThreadExecutor().submit(new Runnable() {
             @Override
             public void run() {
                 // 递归会导致StackOverflowError,所以用循环代替
@@ -42,6 +52,6 @@ public class CrawlerService {
                     shouldContinue = Sex8Tool.startGettingData(CrawlerService.this);
                 }
             }
-        });*/
+        });
     }
 }

+ 2 - 1
src/main/java/com/miekir/shibei/tool/web/FileTool.java

@@ -18,7 +18,8 @@ sudo chmod 755 /file/images/*/
 public class FileTool {
     public static final String BASIC_SERVER_URL = "http://jianjie.life/";
 
-    // 只要授权之后,是可以直接写这个路径的,但是由于jar包等冲突(或缺失),会导致war包发布的时候,没有真正运行,也就没有文件写进去了。
+    // 只要授权之后,是可以直接写这个路径的(注意是该文件夹有权限还就行,目标文件夹父文件夹有没有权限没关系),
+    // 但是由于jar包等冲突(或缺失),会导致war包发布的时候,没有真正运行,也就没有文件写进去了。
     //private static final String PATH_AUTO_FOLDER = "/file/images/eden/auto/";
     //private static final String CMD_GET_AUTO_FILE_COUNT = "ls -l " + PATH_AUTO_FOLDER + " | grep \"^-\"|wc -l";
 

+ 1 - 2
src/main/java/com/miekir/shibei/tool/web/Sex8Tool.java

@@ -27,8 +27,7 @@ public class Sex8Tool {
     private Sex8Tool() {
     }
 
-    private static boolean mIsLoading;
-    // todo 每天爬某一页的前面10条
+    // 每天爬某一页的前面10条
     private static int mCurrentPage = 2;
 
     /**