Просмотр исходного кода

总开关、返回随机图片

詹子聪 5 лет назад
Родитель
Сommit
ab0d34df5a

+ 40 - 12
src/main/java/com/miekir/shibei/controller/api/CouponController.java

@@ -4,9 +4,12 @@ import com.alibaba.fastjson.JSON;
 import com.miekir.shibei.bean.db.CouponBean;
 import com.miekir.shibei.bean.db.CouponBean;
 import com.miekir.shibei.bean.ResponseResult;
 import com.miekir.shibei.bean.ResponseResult;
 import com.miekir.shibei.bean.ResultCode;
 import com.miekir.shibei.bean.ResultCode;
+import com.miekir.shibei.bean.db.SystemBean;
 import com.miekir.shibei.repository.CouponRepository;
 import com.miekir.shibei.repository.CouponRepository;
+import com.miekir.shibei.repository.SystemRepository;
 import com.miekir.shibei.repository.UserRepository;
 import com.miekir.shibei.repository.UserRepository;
 import com.miekir.shibei.tool.RequestTool;
 import com.miekir.shibei.tool.RequestTool;
+import com.miekir.shibei.tool.web.FileTool;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.data.domain.Sort;
 import org.springframework.data.domain.Sort;
@@ -14,7 +17,10 @@ import org.springframework.http.HttpHeaders;
 import org.springframework.stereotype.Controller;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 
 
+import java.io.File;
+import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
+import java.util.Random;
 
 
 @Controller
 @Controller
 public class CouponController {
 public class CouponController {
@@ -25,6 +31,11 @@ public class CouponController {
     @Autowired
     @Autowired
     private UserRepository userRepository;
     private UserRepository userRepository;
 
 
+    @Autowired
+    private SystemRepository systemRepository;
+
+    private Random mRandom = new Random();
+
     /**
     /**
      * 新增和更新优惠券
      * 新增和更新优惠券
      */
      */
@@ -116,26 +127,43 @@ public class CouponController {
     @RequestMapping(value = "/api/getCouponList", method = RequestMethod.GET, produces = "application/json; charset=utf-8")
     @RequestMapping(value = "/api/getCouponList", method = RequestMethod.GET, produces = "application/json; charset=utf-8")
     @ResponseBody
     @ResponseBody
     public String getCouponList(int pageNum, int pageSize) {
     public String getCouponList(int pageNum, int pageSize) {
-        ResponseResult<List<CouponBean>> responseResult = new ResponseResult<List<CouponBean>>();
+        ResponseResult<List<String>> responseResult = new ResponseResult<List<String>>();
         responseResult.setMessage("获取失败");
         responseResult.setMessage("获取失败");
 
 
-        // 自带的分页查询
-        List<CouponBean> couponBeanList;
-        try {
-            Sort sort = new Sort(Sort.Direction.DESC,"updateTimeMillis");
-            couponBeanList = couponRepository.findAll(new PageRequest(pageNum, pageSize, sort)).getContent();
-        } catch (Exception e) {
-            e.printStackTrace();
+        // 关闭通道
+        SystemBean systemBean = systemRepository.findSystemBean();
+        if (systemBean != null && systemBean.isVipLimit) {
+            responseResult.setMessage("休息时间到");
             return JSON.toJSONString(responseResult);
             return JSON.toJSONString(responseResult);
         }
         }
 
 
-        try {
-            responseResult.setContent(couponBeanList);
-        } catch (Exception e) {
-            e.printStackTrace();
+
+        File photoDir = new File(FileTool.TARGET_DIR_AUTO_IMAGES);
+        String[] nameArray = photoDir.list();
+        if (nameArray == null || nameArray.length == 0) {
+            responseResult.setMessage("没有找到图片");
+            return JSON.toJSONString(responseResult);
+        }
+
+        List<String> photoUrlList = new ArrayList<String>();
+        int maxPageNum = nameArray.length - pageSize + 1;
+        if (maxPageNum <= 1) {
+            for (String s : nameArray) {
+                photoUrlList.add(String.format(FileTool.FORMATTER_IMAGE_URL, s));
+            }
+
+            responseResult.setContent(photoUrlList);
+            responseResult.setCode(ResultCode.SUCCESS);
+            responseResult.setMessage("获取成功");
             return JSON.toJSONString(responseResult);
             return JSON.toJSONString(responseResult);
         }
         }
 
 
+        int randomPageNum = mRandom.nextInt(maxPageNum);
+        for (int i = 0; i < pageSize; i++) {
+            photoUrlList.add(String.format(FileTool.FORMATTER_IMAGE_URL, nameArray[randomPageNum+i]));
+        }
+
+        responseResult.setContent(photoUrlList);
         responseResult.setCode(ResultCode.SUCCESS);
         responseResult.setCode(ResultCode.SUCCESS);
         responseResult.setMessage("获取成功");
         responseResult.setMessage("获取成功");
         return JSON.toJSONString(responseResult);
         return JSON.toJSONString(responseResult);

+ 19 - 1
src/main/java/com/miekir/shibei/controller/api/GoodsController.java

@@ -3,7 +3,9 @@ package com.miekir.shibei.controller.api;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSON;
 import com.miekir.shibei.bean.*;
 import com.miekir.shibei.bean.*;
 import com.miekir.shibei.bean.db.GoodsBean;
 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.GoodsRepository;
+import com.miekir.shibei.repository.SystemRepository;
 import com.miekir.shibei.repository.UserRepository;
 import com.miekir.shibei.repository.UserRepository;
 import com.miekir.shibei.tool.RequestTool;
 import com.miekir.shibei.tool.RequestTool;
 import com.miekir.shibei.tool.StringTool;
 import com.miekir.shibei.tool.StringTool;
@@ -26,6 +28,9 @@ public class GoodsController {
     @Autowired
     @Autowired
     private UserRepository userRepository;
     private UserRepository userRepository;
 
 
+    @Autowired
+    private SystemRepository systemRepository;
+
     private Random mRandom = new Random();
     private Random mRandom = new Random();
 
 
     /**
     /**
@@ -120,9 +125,15 @@ public class GoodsController {
         ResponseResult<List<GoodsBean>> responseResult = new ResponseResult<List<GoodsBean>>();
         ResponseResult<List<GoodsBean>> responseResult = new ResponseResult<List<GoodsBean>>();
         responseResult.setMessage("获取失败");
         responseResult.setMessage("获取失败");
 
 
+        // 关闭通道
+        SystemBean systemBean = systemRepository.findSystemBean();
+        if (systemBean != null && systemBean.isVipLimit) {
+            responseResult.setMessage("休息时间到");
+            return JSON.toJSONString(responseResult);
+        }
+
         // 自带的分页查询。这里不使用分页查询,而是返回随机的数据
         // 自带的分页查询。这里不使用分页查询,而是返回随机的数据
         List<GoodsBean> goodsBeanList;
         List<GoodsBean> goodsBeanList;
-
         long maxPageNum = goodsRepository.count()/pageSize-1;
         long maxPageNum = goodsRepository.count()/pageSize-1;
         if (maxPageNum > Integer.MAX_VALUE) {
         if (maxPageNum > Integer.MAX_VALUE) {
             maxPageNum = Integer.MAX_VALUE;
             maxPageNum = Integer.MAX_VALUE;
@@ -159,6 +170,13 @@ public class GoodsController {
         ResponseResult<List<GoodsBean>> responseResult = new ResponseResult<List<GoodsBean>>();
         ResponseResult<List<GoodsBean>> responseResult = new ResponseResult<List<GoodsBean>>();
         responseResult.setMessage("获取失败");
         responseResult.setMessage("获取失败");
 
 
+        // 关闭通道
+        SystemBean systemBean = systemRepository.findSystemBean();
+        if (systemBean != null && systemBean.isVipLimit) {
+            responseResult.setMessage("休息时间到");
+            return JSON.toJSONString(responseResult);
+        }
+
         // 自带的分页查询
         // 自带的分页查询
         List<GoodsBean> goodsBeanList;
         List<GoodsBean> goodsBeanList;
         try {
         try {

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

@@ -33,7 +33,7 @@ public class CrawlerService {
     public void init() {
     public void init() {
         // 调试的时候会执行两次,真正部署时其实是执行一次
         // 调试的时候会执行两次,真正部署时其实是执行一次
         // 一启动完成就开始去爬虫
         // 一启动完成就开始去爬虫
-        /*Executors.newSingleThreadExecutor().submit(new Runnable() {
+        Executors.newSingleThreadExecutor().submit(new Runnable() {
             @Override
             @Override
             public void run() {
             public void run() {
                 // 递归会导致StackOverflowError,所以用循环代替
                 // 递归会导致StackOverflowError,所以用循环代替
@@ -42,6 +42,6 @@ public class CrawlerService {
                     shouldContinue = Sex8Tool.startGettingData(CrawlerService.this);
                     shouldContinue = Sex8Tool.startGettingData(CrawlerService.this);
                 }
                 }
             }
             }
-        });*/
+        });
     }
     }
 }
 }

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

@@ -23,12 +23,12 @@ public class FileTool {
     //private static final String CMD_GET_AUTO_FILE_COUNT = "ls -l " + PATH_AUTO_FOLDER + " | grep \"^-\"|wc -l";
     //private static final String CMD_GET_AUTO_FILE_COUNT = "ls -l " + PATH_AUTO_FOLDER + " | grep \"^-\"|wc -l";
 
 
     public static final String FORMAT_IMAGE = ".jpg";
     public static final String FORMAT_IMAGE = ".jpg";
-    public static final String FORMATTER_IMAGE_URL = "auto/%s%s";
+    public static final String FORMATTER_IMAGE_URL = "auto/%s";
     // 图片不能小于100KB
     // 图片不能小于100KB
     public static final int FILE_IMAGE_SIZE_LIMIT = 100 * 1024;
     public static final int FILE_IMAGE_SIZE_LIMIT = 100 * 1024;
 
 
     public static final String FORMAT_TORRENT = ".torrent";
     public static final String FORMAT_TORRENT = ".torrent";
-    public static final String FORMATTER_TORRENT_URL = "torrent/%s%s";
+    public static final String FORMATTER_TORRENT_URL = "torrent/%s";
 
 
     public static final String TARGET_DIR_AUTO_IMAGES = "F:\\eden\\images\\auto";
     public static final String TARGET_DIR_AUTO_IMAGES = "F:\\eden\\images\\auto";
     public static final String TARGET_DIR_AUTO_TORRENT = "F:\\eden\\torrent\\auto";
     public static final String TARGET_DIR_AUTO_TORRENT = "F:\\eden\\torrent\\auto";
@@ -103,7 +103,7 @@ public class FileTool {
             if (file.length()  < sizeLimit) {
             if (file.length()  < sizeLimit) {
                 return null;
                 return null;
             }
             }
-            return String.format(urlFormatter, String.valueOf(futureFileCount), format);
+            return String.format(urlFormatter, futureFileCount + format);
         } catch (IOException e) {
         } catch (IOException e) {
             // handle exception
             // handle exception
             e.printStackTrace();
             e.printStackTrace();