|
@@ -0,0 +1,60 @@
|
|
|
+package com.usky.dxtop.service.job;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+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.OrderStatus;
|
|
|
+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;
|
|
|
+import java.util.TreeMap;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @author yq
|
|
|
+ * @date 2021/9/16 9:31
|
|
|
+ */
|
|
|
+@Slf4j
|
|
|
+@Component
|
|
|
+public class CardJob {
|
|
|
+
|
|
|
+ private TreeMap<String,Integer> treeMap = new TreeMap<>();
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private OrderService orderService;
|
|
|
+
|
|
|
+ @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) {
|
|
|
+ try {
|
|
|
+ order.setOrderFlag(OrderStatus.COMPLETE.getCode());
|
|
|
+ orderService.updateById(order);
|
|
|
+ }catch (Exception e){
|
|
|
+ log.error("---orderJob---异常"+e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ log.info("---orderJob---处理完成");
|
|
|
+ }
|
|
|
+
|
|
|
+ public void cartError(Order order){
|
|
|
+ String orderNumber = order.getOrderNumber();
|
|
|
+ if (treeMap.containsKey(orderNumber)){
|
|
|
+ Integer count = treeMap.get(orderNumber);
|
|
|
+ if (count >= 10){
|
|
|
+ order.setOrderFlag(OrderStatus.PAYMENT_ERROR_DEBIT.getCode());
|
|
|
+ orderService.updateById(order);
|
|
|
+ }else {
|
|
|
+ treeMap.put(orderNumber,count+1);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ treeMap.put(orderNumber,1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|