From 28520320947099150fe092fdfb4b8377b3b79abd Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期一, 13 一月 2025 14:06:50 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java |   46 ++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 44 insertions(+), 2 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
index 51132ee..843d6e9 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -27,6 +27,7 @@
 import com.ruoyi.order.util.payment.PaymentUtil;
 import com.ruoyi.order.util.payment.model.RefundCallbackResult;
 import com.ruoyi.order.util.payment.model.RefundResult;
+import com.ruoyi.order.util.vo.MapTrackKD100Vo;
 import com.ruoyi.order.util.vo.QueryKD100Vo;
 import com.ruoyi.order.vo.*;
 import com.ruoyi.other.api.domain.*;
@@ -34,6 +35,7 @@
 import com.ruoyi.system.api.domain.SysUser;
 import com.ruoyi.system.api.feignClient.SysUserClient;
 import com.ruoyi.system.api.model.LoginUser;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -41,6 +43,7 @@
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.time.LocalDateTime;
+import java.time.ZoneOffset;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -99,9 +102,12 @@
     private TechnicianSubscribeClient technicianSubscribeClient;
     @Resource
     private ShopBalanceStatementClient shopBalanceStatementClient;
-
+    
     @Resource
-    private OrderGoodService orderGoodService;
+    private RedisTemplate redisTemplate;
+    
+    @Resource
+    private SystemConfigClient systemConfigClient;
     
     
 
@@ -807,4 +813,40 @@
     public Integer getShopSaleNum(Integer shopId, Integer type) {
         return this.baseMapper.getShopSaleNum(shopId, type);
     }
+    
+    
+    /**
+     * 定时查询快递信息
+     */
+    @Override
+    public void taskExpress() {
+        Set<Long> order_express = redisTemplate.opsForZSet().rangeByScore("order_express", 0, LocalDateTime.now().toEpochSecond(ZoneOffset.UTC));
+        if(order_express.size() > 0){
+            for (Long id : order_express) {
+                Order order = this.getById(id);
+                if(order.getOrderStatus() != 2){
+                    redisTemplate.opsForZSet().remove("order_express", id);
+                    continue;
+                }
+                String expressJson = order.getExpressJson();
+                if(StringUtils.isEmpty(expressJson)){
+                    redisTemplate.opsForZSet().remove("order_express", id);
+                    continue;
+                }
+                //{"com":"jd","num":"JDV016336234367"}
+                JSONObject jsonObject = JSON.parseObject(expressJson);
+                String com = jsonObject.getString("com");
+                String num = jsonObject.getString("num");
+                UserAddress userAddress = JSON.parseObject(order.getAddressJson(), UserAddress.class);
+                MapTrackKD100Vo mapTrackKD100Vo = ExpressDeliveryUtil.kd100MapTrack(com, num, "", userAddress.getRecieveAddress());
+                order.setExpressResult(JSON.toJSONString(mapTrackKD100Vo));
+                this.updateById(order);
+                //延长时间x小时
+                SystemConfig systemConfig = systemConfigClient.getSystemConfig(3).getData();
+                JSONObject jsonObject1 = JSON.parseObject(systemConfig.getContent());
+                Integer waitTime = jsonObject1.getInteger("waitTime");
+                redisTemplate.opsForZSet().add("order_express", order.getId(), LocalDateTime.now().plusHours(waitTime).toEpochSecond(ZoneOffset.UTC));
+            }
+        }
+    }
 }

--
Gitblit v1.7.1