소스 검색

整合quartz完成

yq 3 년 전
부모
커밋
9a2b895100

+ 0 - 10
src/main/java/com/usky/dxtop/service/SysFileService.java

@@ -6,7 +6,6 @@ import com.usky.dxtop.model.SysFile;
 import com.usky.dxtop.service.vo.SysFileQueryRequest;
 import org.springframework.web.multipart.MultipartFile;
 
-import java.util.Date;
 import java.util.List;
 
 /**
@@ -66,15 +65,6 @@ public interface SysFileService extends IService<SysFile> {
     List<SysFile> getFile(SysFileQueryRequest sysFileRequest);
 
 
-    /**
-     * 根据时间获取失效文件
-     *
-     * @param date
-     * @return
-     */
-    List<SysFile> getFileByExpireAt(Date date);
-
-
     /**
      * 批量删除文件(更新文件删除状态)
      *

+ 0 - 12
src/main/java/com/usky/dxtop/service/impl/SysFileServiceImpl.java

@@ -132,18 +132,6 @@ public class SysFileServiceImpl extends ServiceImpl<SysFileMapper, SysFile> impl
         }).collect(toList());
     }
 
-    @Override
-    public List<SysFile> getFileByExpireAt(Date date) {
-        LambdaQueryWrapper<SysFile> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper.eq(SysFile::getDelFlag, 0)
-                .and(wrapper -> wrapper.eq(SysFile::getActiveFlag, 0)
-                        .or()
-                        .eq(SysFile::getActiveFlag, 1))
-                .isNotNull(SysFile::getExpriceAt)
-        .le(SysFile::getExpriceAt,date);
-        return this.list(queryWrapper);
-    }
-
     @Override
     public Integer deleteFiles(List<SysFile> sysFiles) {
         Date now = new Date();

+ 21 - 10
src/main/java/com/usky/dxtop/service/job/CardJob.java

@@ -1,7 +1,9 @@
 package com.usky.dxtop.service.job;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.usky.dxtop.model.Charge;
 import com.usky.dxtop.model.MsgLog;
@@ -10,9 +12,9 @@ import com.usky.dxtop.service.ChargeService;
 import com.usky.dxtop.service.MsgLogService;
 import com.usky.dxtop.service.OrderService;
 import com.usky.dxtop.service.emun.OrderStatus;
+import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
@@ -23,26 +25,20 @@ import java.util.TreeMap;
  * @date 2021/9/16 9:31
  */
 @Slf4j
-@Component
+@Component("cardJob")
 public class CardJob {
 
     private TreeMap<String,Integer> treeMap = new TreeMap<>();
 
     @Autowired
     private OrderService orderService;
-
     @Autowired
     private ChargeService chargeService;
     @Autowired
     private MsgLogService msgLogService;
 
-    @Scheduled(cron = "0 */1 * * * ?")
-    public void execute(){
-        LambdaQueryWrapper<Order> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper
-                .eq(Order::getOrderFlag,OrderStatus.SUCCESS.getCode());
-        List<Order> list = orderService.list(queryWrapper);
-        for (Order order:list) {
+    public void execute(String param){
+        for (Order order:getData(param)) {
             try {
                 LambdaQueryWrapper<MsgLog> msgLogLambdaQueryWrapper = Wrappers.lambdaQuery();
                 msgLogLambdaQueryWrapper.eq(MsgLog::getBusinessId,order.getId());
@@ -63,6 +59,15 @@ public class CardJob {
         log.info("---orderJob---处理完成");
     }
 
+    public List<Order> getData(String param){
+        CardJobParam cardJobParam = JSON.parseObject(param, CardJobParam.class);
+        LambdaQueryWrapper<Order> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper
+                .eq(StringUtils.isNotBlank(cardJobParam.getOrderNumber()),Order::getOrderNumber,cardJobParam.getOrderNumber())
+                .eq(Order::getOrderFlag,OrderStatus.SUCCESS.getCode());
+        return orderService.list(queryWrapper);
+    }
+
     public void cartError(Order order){
         String orderNumber = order.getOrderNumber();
         if (treeMap.containsKey(orderNumber)){
@@ -77,4 +82,10 @@ public class CardJob {
             treeMap.put(orderNumber,1);
         }
     }
+
+
+    @Data
+    public static class CardJobParam {
+        private String orderNumber;
+    }
 }

+ 26 - 5
src/main/java/com/usky/dxtop/service/job/FileJob.java

@@ -1,10 +1,14 @@
 package com.usky.dxtop.service.job;
 
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.usky.dxtop.model.SysFile;
 import com.usky.dxtop.service.SysFileService;
+import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 import org.springframework.util.CollectionUtils;
 
@@ -15,19 +19,36 @@ import java.util.List;
  * @author yq
  * @date 2021/10/9 13:34
  */
-@Component
+@Component("fileJob")
 @Slf4j
 public class FileJob {
     @Autowired
     private SysFileService fileService;
 
-    @Scheduled(cron = "0 0 0 */1 * ?")
-    public void deleteInvalidFile() {
-        List<SysFile> sysFileList = fileService.getFileByExpireAt(new Date());
+    public void execute(String param) {
+        List<SysFile> sysFileList = getData(param);
         if (CollectionUtils.isEmpty(sysFileList)) {
             return;
         }
         Integer integer = fileService.clearFiles(sysFileList);
         log.info("删除的file条数=:" + integer);
     }
+
+    public List<SysFile> getData(String param){
+        FileJobParam fileJobParam = JSON.parseObject(param, FileJobParam.class);
+        LambdaQueryWrapper<SysFile> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper.eq(SysFile::getDelFlag, 0)
+                .eq(StringUtils.isNotBlank(fileJobParam.getBatchNo()),SysFile::getBatchNo,fileJobParam.getBatchNo())
+                .and(wrapper -> wrapper.eq(SysFile::getActiveFlag, 0)
+                        .or()
+                        .eq(SysFile::getActiveFlag, 1))
+                .isNotNull(SysFile::getExpriceAt)
+                .le(SysFile::getExpriceAt,new Date());
+        return fileService.list(queryWrapper);
+    }
+
+    @Data
+    public static class FileJobParam {
+        private String batchNo;
+    }
 }

+ 23 - 12
src/main/java/com/usky/dxtop/service/job/OrderJob.java

@@ -1,11 +1,14 @@
 package com.usky.dxtop.service.job;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.usky.dxtop.model.Order;
 import com.usky.dxtop.service.OrderService;
 import com.usky.dxtop.service.emun.OrderPayType;
 import com.usky.dxtop.service.emun.OrderStatus;
+import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -17,22 +20,13 @@ import java.util.List;
  * @date 2021/8/30 16:57
  */
 @Slf4j
-@Component
+@Component("orderJob")
 public class OrderJob {
     @Autowired
     private OrderService orderService;
 
-    //TODO 注解需要打开
-//    @Scheduled(cron = "0 */1 * * * ?")
-    public void execute(){
-        LambdaQueryWrapper<Order> queryWrapper = Wrappers.lambdaQuery();
-        queryWrapper
-                .ne(Order::getPayType, OrderPayType.XJ.getPayCode())
-                .and(wrapper -> wrapper.eq(Order::getOrderFlag, OrderStatus.NO_PAYMENT.getCode())
-                        .or()
-                        .eq(Order::getOrderFlag, OrderStatus.AWAIT_PAY.getCode()));
-        List<Order> list = orderService.list(queryWrapper);
-        for (Order order:list) {
+    public void execute(String param){
+        for (Order order:getData(param)) {
             try {
                 orderService.callTopFindOrderInfoApi(order.getOrderNumber());
             }catch (Exception e){
@@ -42,4 +36,21 @@ public class OrderJob {
         log.info("---orderJob---处理完成");
     }
 
+    public List<Order> getData(String param){
+        OrderJobParam orderJobParam = JSON.parseObject(param, OrderJobParam.class);
+        LambdaQueryWrapper<Order> queryWrapper = Wrappers.lambdaQuery();
+        queryWrapper
+                .eq(StringUtils.isNotBlank(orderJobParam.getOrderNumber()),Order::getOrderNumber,orderJobParam.getOrderNumber())
+                .ne(Order::getPayType, OrderPayType.XJ.getPayCode())
+                .and(wrapper -> wrapper.eq(Order::getOrderFlag, OrderStatus.NO_PAYMENT.getCode())
+                        .or()
+                        .eq(Order::getOrderFlag, OrderStatus.AWAIT_PAY.getCode()));
+        return orderService.list(queryWrapper);
+    }
+
+
+    @Data
+    public static class OrderJobParam {
+        private String orderNumber;
+    }
 }

+ 8 - 6
src/main/java/com/usky/dxtop/service/job/SmJob.java

@@ -33,7 +33,7 @@ import java.util.function.Function;
  * @author yq
  * @date 2021/9/28 14:47
  */
-@Component
+@Component("smJob")
 @Slf4j
 public class SmJob {
 
@@ -61,13 +61,15 @@ public class SmJob {
     private MsgLogService msgLogService;
 
 //    @Scheduled(cron = "0 0 0 */1 * ?")
-    public void personExecute() {
-        personApi(null);
+    public void personExecute(String param) {
+        PersonParam personParam = JSON.parseObject(param, PersonParam.class);
+        personApi(personParam);
         log.info("smJob-person 定时任务完成");
     }
-//    @Scheduled(cron = "0 0 0 */1 * ?")
-    public void groupExecute() {
-        groupApi(null);
+
+    public void groupExecute(String param) {
+        GroupParam groupParam = JSON.parseObject(param, GroupParam.class);
+        groupApi(groupParam);
         log.info("smJob-group 定时任务完成");
     }