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

异步开起过期机具扣款

mac 2 лет назад
Родитель
Сommit
9e183b36d5

+ 7 - 0
kxs-product/kxs-product-biz/src/main/java/com/kxs/product/biz/service/KxsMachineService.java

@@ -130,5 +130,12 @@ public interface KxsMachineService extends IService<KxsMachine> {
      * @return {@link ExpiredModalBrandVO}
      */
     List<ExpiredModalBrandVO> expiredModal();
+
+    /**
+     * 循环过期机具添加预扣款
+     *
+     * @param para 段落
+     */
+    void recycleMachineSchedule(String para);
 }
 

+ 34 - 0
kxs-product/kxs-product-biz/src/main/java/com/kxs/product/biz/service/impl/KxsMachineServiceImpl.java

@@ -2,6 +2,7 @@ package com.kxs.product.biz.service.impl;
 
 import cn.hutool.core.date.DatePattern;
 import cn.hutool.core.date.LocalDateTimeUtil;
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -20,9 +21,13 @@ import com.kxs.product.biz.constant.enums.ProductErrorTypeEnum;
 import com.kxs.product.biz.mapper.*;
 import com.kxs.product.biz.service.KxsMachineService;
 import com.kxs.store.api.feign.RemoteKxsStoreService;
+import com.kxs.system.api.feign.RemoteOldService;
 import com.kxs.user.api.feign.RemoteKxsUserService;
 import com.kxs.user.api.model.KxsUser;
 import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.scheduling.annotation.Async;
+import org.springframework.scheduling.annotation.EnableAsync;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -31,6 +36,7 @@ import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.LocalTime;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.function.Function;
@@ -44,6 +50,8 @@ import java.util.stream.Collectors;
  */
 @Service("kxsMachineService")
 @RequiredArgsConstructor
+@Slf4j
+@EnableAsync
 public class KxsMachineServiceImpl extends ServiceImpl<KxsMachineMapper, KxsMachine> implements KxsMachineService {
 
     private final KxsBrandMapper kxsBrandMapper;
@@ -58,6 +66,8 @@ public class KxsMachineServiceImpl extends ServiceImpl<KxsMachineMapper, KxsMach
 
     private final RemoteKxsStoreService remoteKxsStoreService;
 
+    private final RemoteOldService remoteOldService;
+
     @Override
     public IPage<MachineStoreListVO> machineStoreList(Page<MachineStoreListVO> page, MachineStoreListDTO param) {
 
@@ -297,6 +307,30 @@ public class KxsMachineServiceImpl extends ServiceImpl<KxsMachineMapper, KxsMach
         return result;
     }
 
+    @Override
+    @Async("getAsyncExecutor")
+    public void recycleMachineSchedule(String para) {
+        LocalDateTime endDay = LocalDate.now().minusDays(30).atStartOfDay();
+        List<KxsMachine> machines = baseMapper.selectExpireDeductList(endDay);
+
+        for (KxsMachine machine : machines) {
+            HashMap<String, Object> param = new HashMap<>();
+            HashMap<String, Object> data = new HashMap<>();
+            data.put("PosSn", machine.getPosSn());
+//            String body  = cryptoOldAes.encryptHex(JSON.toJSONString(data));
+            param.put("value", JSON.toJSONString(data));
+            R result = remoteOldService.savePosAdvance(param);
+            if(result.getStatus() == 1){
+                log.info("已添加机具到预扣款:{}", machine.getPosSn());
+
+                KxsMachineDeduct machineDeduct = new KxsMachineDeduct();
+                machineDeduct.setPosSn(machine.getPosSn());
+                machineDeduct.setRemark("已添加预扣款");
+                kxsMachineDeductMapper.insert(machineDeduct);
+            }
+        }
+    }
+
 
 }
 

+ 4 - 19
kxs-product/kxs-product-biz/src/main/java/com/kxs/product/biz/task/KxsProductTask.java

@@ -10,6 +10,7 @@ import com.kxs.product.api.model.KxsMachineDeduct;
 import com.kxs.product.biz.config.KxsOldConfigProperties;
 import com.kxs.product.biz.mapper.KxsMachineDeductMapper;
 import com.kxs.product.biz.mapper.KxsMachineMapper;
+import com.kxs.product.biz.service.KxsMachineService;
 import com.kxs.system.api.feign.RemoteOldService;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -44,7 +45,6 @@ import java.util.List;
 @Slf4j
 @RestController
 @RequestMapping("product-job")
-@EnableAsync
 public class KxsProductTask {
 
 
@@ -54,6 +54,8 @@ public class KxsProductTask {
 
     private final RemoteOldService remoteOldService;
 
+    private final KxsMachineService kxsMachineService;
+
     private final AES cryptoOldAes;
 
     /**
@@ -63,26 +65,9 @@ public class KxsProductTask {
      */
     @Inner
     @GetMapping("/recycleMachineSchedule")
-    @Async("getAsyncExecutor")
     public void recycleMachineSchedule(@RequestParam("param") String para)  {
-        LocalDateTime endDay = LocalDate.now().minusDays(30).atStartOfDay();
-        List<KxsMachine> machines = kxsMachineMapper.selectExpireDeductList(endDay);
 
-        for (KxsMachine machine : machines) {
-            HashMap<String, Object> param = new HashMap<>();
-            HashMap<String, Object> data = new HashMap<>();
-            data.put("PosSn", machine.getPosSn());
-//                    String body  = cryptoOldAes.encryptHex(JSON.toJSONString(data));
-            param.put("value", JSON.toJSONString(data));
-            R result = remoteOldService.savePosAdvance(param);
-            if(result.getStatus() == 1){
-                log.info("已添加机具到预扣款:{}", machine.getPosSn());
+        kxsMachineService.recycleMachineSchedule(para);
 
-                KxsMachineDeduct machineDeduct = new KxsMachineDeduct();
-                machineDeduct.setPosSn(machine.getPosSn());
-                machineDeduct.setRemark("已添加预扣款");
-                kxsMachineDeductMapper.insert(machineDeduct);
-            }
-        }
     }
 }