From 4ea15c3e2a3f0434df79a1b49fe4e90f7337b025 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期四, 06 二月 2025 18:16:40 +0800
Subject: [PATCH] 修改物流信息导入模板

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java |   64 +++++++++++++++++++------------
 1 files changed, 39 insertions(+), 25 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 da4e94d..41cf60b 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
@@ -46,6 +46,7 @@
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
@@ -318,6 +319,9 @@
         if(StringUtils.isNotEmpty(orderPageList.getUserName())){
             List<AppUser> data = appUserClient.getAppUserByName(orderPageList.getUserName()).getData();
             List<Long> collect = data.stream().map(AppUser::getId).collect(Collectors.toList());
+            if (CollectionUtils.isEmpty(collect)){
+                return new PageInfo<>();
+            }
             if(null != orderPageList.getAppUserIds()){
                 List<Long> appUserIds = orderPageList.getAppUserIds();
                 appUserIds.addAll(collect);
@@ -330,6 +334,9 @@
         if(StringUtils.isNotEmpty(orderPageList.getPhone())){
             List<AppUser> data = appUserClient.getAppUserByPhone(orderPageList.getPhone()).getData();
             List<Long> collect = data.stream().map(AppUser::getId).collect(Collectors.toList());
+            if (CollectionUtils.isEmpty(collect)){
+               return new PageInfo<>();
+            }
             if(null != orderPageList.getAppUserIds()){
                 List<Long> appUserIds = orderPageList.getAppUserIds();
                 appUserIds.addAll(collect);
@@ -338,9 +345,11 @@
                 orderPageList.setAppUserIds(collect);
             }
         }
+
+
         
-        PageInfo<OrderPageListVo> pageInfo = new PageInfo(orderPageList.getPageCurr(), orderPageList.getPageSize());
-        
+        PageInfo<OrderPageListVo> pageInfo = new PageInfo<>(orderPageList.getPageCurr(), orderPageList.getPageSize());
+
         List<OrderPageListVo> list = this.baseMapper.getOrderPageList(pageInfo, orderPageList);
         for (OrderPageListVo orderPageListVo : list) {
             Long appUserId = orderPageListVo.getAppUserId();
@@ -436,7 +445,7 @@
         JSONObject jsonObject = JSON.parseObject(systemConfig.getContent());
         Integer waitTime = jsonObject.getInteger("waitTime");
         redisTemplate.opsForZSet().add("order_express", order.getId(), LocalDateTime.now().plusHours(waitTime).toEpochSecond(ZoneOffset.UTC));
-    
+
         JSONObject jsonObject1 = JSON.parseObject(confirmDelivery.getCode());
         String com = jsonObject1.getString("com");
         String num = jsonObject1.getString("num");
@@ -446,6 +455,10 @@
         order.setExpressResult(JSON.toJSONString(mapTrackKD100Vo));
         this.updateById(order);
         return R.ok();
+    }
+
+    public static void main(String[] args) {
+        System.out.println(LocalDateTime.now().toEpochSecond(ZoneOffset.UTC));
     }
     
     
@@ -940,22 +953,23 @@
             Workbook workbook = new XSSFWorkbook(fileInputStream);
             Sheet sheet = workbook.getSheetAt(0); // 获取第一个Sheet
             int lastRowNum = sheet.getLastRowNum();
-            for (int i = 2; i <= lastRowNum; i++) {
+            for (int i = 1; i <= lastRowNum; i++) {
                 Row row = sheet.getRow(i);
-                row.getCell(1).setCellType(CellType.STRING);
-                String orderNum = row.getCell(1).getStringCellValue();
+                // 订单编号
+                row.getCell(0).setCellType(CellType.STRING);
+                String orderNum = row.getCell(0).getStringCellValue();
                 // 快递单号
-                row.getCell(7).setCellType(CellType.STRING);
-                String expressNum = row.getCell(7).getStringCellValue();
+                row.getCell(1).setCellType(CellType.STRING);
+                String expressNum = row.getCell(1).getStringCellValue();
                 // 快递公司名称
-                row.getCell(8).setCellType(CellType.STRING);
-                String expressName = row.getCell(8).getStringCellValue();
+                row.getCell(2).setCellType(CellType.STRING);
+                String expressName = row.getCell(2).getStringCellValue();
                 // 省区划代码
-                row.getCell(10).setCellType(CellType.STRING);
-                String provinceCode = row.getCell(10).getStringCellValue();
+                row.getCell(3).setCellType(CellType.STRING);
+                String provinceCode = row.getCell(3).getStringCellValue();
                 // 市区划代码
-                row.getCell(12).setCellType(CellType.STRING);
-                String cityCode = row.getCell(12).getStringCellValue();
+                row.getCell(4).setCellType(CellType.STRING);
+                String cityCode = row.getCell(4).getStringCellValue();
                 Order order = this.getOne(new LambdaQueryWrapper<Order>()
                         .eq(Order::getOrderNumber, orderNum)
                 );
@@ -975,9 +989,9 @@
                     throw new ServiceException("该订单:"+orderNum+"状态不为待发货", 500);
                 }
 
-                String companyNameByCode = ExpressCompanyMap.getCompanyNameByCode(expressName);
+                String companyNameByCode = ExpressCompanyMap.getCodeByCompanyName(expressName);
                 if(StringUtils.isEmpty(companyNameByCode)){
-                    throw new ServiceException("快递公司编码错误:"+expressName, 500);
+                    throw new ServiceException("快递公司名称错误:"+expressName, 500);
                 }
 
                 R<Region> regionBiCode = regionClient.getRegionBiCode(provinceCode);
@@ -989,13 +1003,16 @@
                     throw new ServiceException("城市编码错误:"+cityCode, 500);
                 }
                 JSONObject jsonObject = new JSONObject();
-                jsonObject.put("com", expressName);
+                jsonObject.put("com", companyNameByCode);
                 jsonObject.put("num", expressNum);
-                order.setExpressJson(jsonObject.toJSONString());
-                order.setDeliverProvinceCode(provinceCode);
-                order.setDeliverCityCode(cityCode);
-                order.setOrderStatus(2);
-                this.updateById(order);
+                ConfirmDelivery confirmDelivery =new ConfirmDelivery();
+                confirmDelivery.setOrderId(order.getId());
+                confirmDelivery.setCode(jsonObject.toJSONString());
+                confirmDelivery.setDeliverProvince(regionBiCode.getData().getName());
+                confirmDelivery.setDeliverProvinceCode(regionBiCode.getData().getCode());
+                confirmDelivery.setDeliverCity(regionBiCode1.getData().getName());
+                confirmDelivery.setDeliverCityCode(regionBiCode1.getData().getCode());
+                confirmDelivery(confirmDelivery);
             }
 
         } catch (IOException e) {
@@ -1034,7 +1051,4 @@
         }
     }
 
-    public static void main(String[] args) throws MalformedURLException {
-        importExpress2("http://qijishenghuiyuan.obs.cn-southwest-2.myhuaweicloud.com/admin/69c1fcbe5c114f2a9f38703e4f5e1af0.xlsx");
-    }
 }

--
Gitblit v1.7.1