From 7b65fe3cd44f81be28cdcbdc4374d1f20e00e0a9 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期五, 24 一月 2025 16:26:53 +0800
Subject: [PATCH] 12.18
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java | 46 ++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 46 insertions(+), 0 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 e4f6246..c650ba0 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
@@ -8,6 +8,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.account.api.feignClient.*;
import com.ruoyi.account.api.model.*;
+import com.ruoyi.common.core.constant.ExpressCompanyMap;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.utils.StringUtils;
@@ -35,12 +36,15 @@
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.feignClient.SysUserClient;
import com.ruoyi.system.api.model.LoginUser;
+import org.apache.poi.ss.usermodel.*;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.io.IOException;
+import java.io.InputStream;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.LocalDateTime;
@@ -342,6 +346,14 @@
List<ShopBalanceStatement> data = shopBalanceStatementClient.getShopBalanceStatementList(Arrays.asList(1, 2, 3), Long.valueOf(orderPageListVo.getId())).getData();
BigDecimal reduce = data.stream().map(ShopBalanceStatement::getVariableAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
orderPageListVo.setGetCommission(reduce);
+
+ String expressJson = orderPageListVo.getExpressJson();
+ // {"com":"zhongtong","num":"78853319672621"}
+ JSONObject jsonObject = JSONObject.parseObject(expressJson);
+
+ String companyName = ExpressCompanyMap.getCompanyNameByCode(jsonObject.getString("com"));
+ orderPageListVo.setExpressCompany(companyName);
+ orderPageListVo.setExpressNum(jsonObject.getString("num"));
}
return pageInfo.setRecords(list);
}
@@ -901,4 +913,38 @@
}
}
}
+
+ @Override
+ public void importExpress(MultipartFile file) {
+ try (InputStream inputStream = file.getInputStream()) {
+ Workbook workbook = WorkbookFactory.create(inputStream);
+ Sheet sheet = workbook.getSheetAt(0); // 获取第一个Sheet
+ int lastRowNum = sheet.getLastRowNum();
+ for (int i = 1; i <= lastRowNum; i++) {
+ Row row = sheet.getRow(i);
+ String orderNum = row.getCell(1).getStringCellValue();
+ // 快递单号
+ String expressNum = row.getCell(7).getStringCellValue();
+ // 快递公司名称
+ String expressName = row.getCell(8).getStringCellValue();
+ // 省区划代码
+ String provinceCode = row.getCell(10).getStringCellValue();
+ // 市区划代码
+ String cityCode = row.getCell(12).getStringCellValue();
+ Order order = this.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderNumber, orderNum));
+ if (order != null){
+ JSONObject jsonObject = new JSONObject();
+ jsonObject.put("com", expressName);
+ jsonObject.put("num", expressNum);
+ order.setExpressJson(jsonObject.toJSONString());
+ order.setDeliverProvinceCode(provinceCode);
+ order.setDeliverCityCode(cityCode);
+ this.updateById(order);
+ }
+ }
+
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
}
--
Gitblit v1.7.1