luodangjia
2025-02-06 4ea15c3e2a3f0434df79a1b49fe4e90f7337b025
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,35 +953,45 @@
            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)
                        .eq(Order::getOrderType, 2)
                        .eq(Order::getDistributionMode,2)
                        .eq(Order::getOrderStatus, 1)
                );
                if (order == null){
                    throw new ServiceException("订单不存在:"+orderNum, 500);
                }
                String companyNameByCode = ExpressCompanyMap.getCompanyNameByCode(expressName);
                Integer orderType = order.getOrderType();
                if (orderType != 2){
                    throw new ServiceException("该订单:"+orderNum+"类型不为单品订单", 500);
                }
                if (order.getDistributionMode() != 2){
                    throw new ServiceException("该订单:"+orderNum+"配送方式不为快递", 500);
                }
                Integer orderStatus = order.getOrderStatus();
                if (orderStatus != 1){
                    throw new ServiceException("该订单:"+orderNum+"状态不为待发货", 500);
                }
                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);
@@ -980,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) {
@@ -1025,7 +1051,4 @@
        }
    }
    public static void main(String[] args) throws MalformedURLException {
        importExpress2("http://qijishenghuiyuan.obs.cn-southwest-2.myhuaweicloud.com/admin/69c1fcbe5c114f2a9f38703e4f5e1af0.xlsx");
    }
}