Sfoglia il codice sorgente

Merge branch 'dev_20260131' of https://git.sckaiwu.cn/kaiwu-rep/sckw-service-platform into dev_20260131

chenxiaofei 1 mese fa
parent
commit
4febf43748

+ 13 - 1
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderService.java

@@ -42,6 +42,7 @@ import com.sckw.manage.api.RemoteManageService;
 import com.sckw.manage.api.model.dto.res.FindEntCooperateResVo;
 import com.sckw.manage.api.model.dto.res.FindEntCooperateResVo;
 import com.sckw.mongo.model.SckwTradeOrder;
 import com.sckw.mongo.model.SckwTradeOrder;
 import com.sckw.order.api.model.*;
 import com.sckw.order.api.model.*;
+import com.sckw.order.dao.KwoTradeOrderGoodsMapper;
 import com.sckw.order.dao.KwoTradeOrderMapper;
 import com.sckw.order.dao.KwoTradeOrderMapper;
 import com.sckw.order.enums.ContractStatusEnum;
 import com.sckw.order.enums.ContractStatusEnum;
 import com.sckw.order.enums.*;
 import com.sckw.order.enums.*;
@@ -162,6 +163,8 @@ public class KwoTradeOrderService {
     private final KwoTradeOrderTransportService kwoTradeOrderTransportService;
     private final KwoTradeOrderTransportService kwoTradeOrderTransportService;
     private final KwoTradeOrderUnitRepository kwoTradeOrderUnitRepository;
     private final KwoTradeOrderUnitRepository kwoTradeOrderUnitRepository;
     @Resource
     @Resource
+    private KwoTradeOrderGoodsMapper kwoTradeOrderGoodsMapper;
+    @Resource
     private DataPermissionFeignService dataPermissionFeignService;
     private DataPermissionFeignService dataPermissionFeignService;
     @Value("${url.order.list.valet.pc}")
     @Value("${url.order.list.valet.pc}")
     private String pcValetListUrl;
     private String pcValetListUrl;
@@ -2959,6 +2962,11 @@ public class KwoTradeOrderService {
                 log.error("贸易订单号:{},订单完结解冻失败,异常信息为:{}", unFreezePrepaidDto.getOrderNo(), unFreezeResult.getMessage());
                 log.error("贸易订单号:{},订单完结解冻失败,异常信息为:{}", unFreezePrepaidDto.getOrderNo(), unFreezeResult.getMessage());
                 throw new BusinessException("贸易订单号:" + unFreezePrepaidDto.getOrderNo() + ",订单完结解冻失败");
                 throw new BusinessException("贸易订单号:" + unFreezePrepaidDto.getOrderNo() + ",订单完结解冻失败");
             }
             }
+            KwoTradeOrderGoods kwoTradeOrderGoods = kwoTradeOrderGoodsMapper.selectOne(new LambdaQueryWrapper<KwoTradeOrderGoods>()
+                    .eq(KwoTradeOrderGoods::getDelFlag, 0)
+                    .eq(KwoTradeOrderGoods::getTOrderId, kwoTradeOrder.getId())
+                    .last("limit 1")
+            );
             //2计算订单金额
             //2计算订单金额
             WalletPrepaidDto consumePrepaidDto = new WalletPrepaidDto();
             WalletPrepaidDto consumePrepaidDto = new WalletPrepaidDto();
             consumePrepaidDto.setOrderNo(kwoTradeOrder.getTOrderNo());
             consumePrepaidDto.setOrderNo(kwoTradeOrder.getTOrderNo());
@@ -2966,7 +2974,11 @@ public class KwoTradeOrderService {
             consumePrepaidDto.setSupEntId(unitMap.get(String.valueOf(2)).getEntId());
             consumePrepaidDto.setSupEntId(unitMap.get(String.valueOf(2)).getEntId());
             consumePrepaidDto.setOrderType(4);
             consumePrepaidDto.setOrderType(4);
             consumePrepaidDto.setTradeType(6);
             consumePrepaidDto.setTradeType(6);
-            consumePrepaidDto.setTradeAmount(kwoTradeOrder.getPrice());
+            if (Objects.equals(kwoTradeOrder.getChargeType(), 1)) {
+                consumePrepaidDto.setTradeAmount(NumberUtil.mul(kwoTradeOrder.getLoadAmount(), kwoTradeOrderGoods.getUnitPrice()));
+            } else {
+                consumePrepaidDto.setTradeAmount(NumberUtil.mul(kwoTradeOrder.getUnloadAmount(), kwoTradeOrderGoods.getUnitPrice()));
+            }
             consumePrepaidDto.setRemark("贸易订单号:" + consumePrepaidDto.getOrderNo() + ",订单完结消费");
             consumePrepaidDto.setRemark("贸易订单号:" + consumePrepaidDto.getOrderNo() + ",订单完结消费");
             log.info("贸易订单号:{},订单完结调用钱包服务消费预付余额,参数:{}", consumePrepaidDto.getOrderNo(), JSON.toJSONString(consumePrepaidDto));
             log.info("贸易订单号:{},订单完结调用钱包服务消费预付余额,参数:{}", consumePrepaidDto.getOrderNo(), JSON.toJSONString(consumePrepaidDto));
             BaseResult<Object> consumeResult = new BaseResult<>();
             BaseResult<Object> consumeResult = new BaseResult<>();

+ 11 - 23
sckw-modules/sckw-order/src/main/java/com/sckw/order/task/TradeOrderTask.java

@@ -83,7 +83,6 @@ public class TradeOrderTask {
                                 return;
                                 return;
                             }
                             }
                             Map<String, KwoTradeOrderUnit> unitMap = orderUnits.stream().collect(Collectors.toMap(KwoTradeOrderUnit::getUnitType, Function.identity(), (a, b) -> a));
                             Map<String, KwoTradeOrderUnit> unitMap = orderUnits.stream().collect(Collectors.toMap(KwoTradeOrderUnit::getUnitType, Function.identity(), (a, b) -> a));
-                            BigDecimal sum = new BigDecimal("0");
 
 
                             KwoTradeOrderGoods kwoTradeOrderGoods = kwoTradeOrderGoodsMapper.selectOne(new LambdaQueryWrapper<KwoTradeOrderGoods>()
                             KwoTradeOrderGoods kwoTradeOrderGoods = kwoTradeOrderGoodsMapper.selectOne(new LambdaQueryWrapper<KwoTradeOrderGoods>()
                                     .eq(KwoTradeOrderGoods::getDelFlag, 0)
                                     .eq(KwoTradeOrderGoods::getDelFlag, 0)
@@ -98,8 +97,7 @@ public class TradeOrderTask {
                             } catch (Exception e) {
                             } catch (Exception e) {
                                 log.error("物流订单结算失败 {}", e.getMessage());
                                 log.error("物流订单结算失败 {}", e.getMessage());
                             }
                             }
-                            kwoTradeOrder.setPrice(NumberUtil.mul(sum, kwoTradeOrderGoods.getUnitPrice()));
-                            calculatePrepaidBalance(kwoTradeOrder, unitMap);
+                            calculatePrepaidBalance(kwoTradeOrder, unitMap, kwoTradeOrderGoods.getUnitPrice());
                         } catch (Exception ex) {
                         } catch (Exception ex) {
                             log.error("更新订单异常{}", ex.getMessage());
                             log.error("更新订单异常{}", ex.getMessage());
                         }
                         }
@@ -129,16 +127,6 @@ public class TradeOrderTask {
                                         .last("limit 1")
                                         .last("limit 1")
                                 );
                                 );
 
 
-                                //更新贸易订单状态
-//                                WalletFreeze walletFreeze = new WalletFreeze();
-//                                walletFreeze.setBuyEntId(unitMap.getOrDefault("1", new KwoTradeOrderUnit()).getEntId());
-//                                walletFreeze.setSaleEntId(unitMap.getOrDefault("2", new KwoTradeOrderUnit()).getEntId());
-//                                walletFreeze.setMoney(NumberUtil.mul(sum, kwoTradeOrderGoods.getUnitPrice()));
-//                                walletFreeze.setTTradeOrderId(kwoTradeOrder.getId());
-//                                walletFreeze.setOrderNo(kwoTradeOrder.getTOrderNo());
-//                                log.info("结算 {}", JSONObject.toJSONString(walletFreeze));
-//                                BaseResult<Boolean> booleanBaseResult = paymentDubboService.dealMoney(walletFreeze);
-//                                log.info("结算结果:{}", JSONObject.toJSONString(booleanBaseResult));
 
 
                                 kwoTradeOrder.setStatus(TradeOrderStatusEnum.SUCCESS.getCode());
                                 kwoTradeOrder.setStatus(TradeOrderStatusEnum.SUCCESS.getCode());
                                 kwoTradeOrderMapper.updateById(kwoTradeOrder);
                                 kwoTradeOrderMapper.updateById(kwoTradeOrder);
@@ -148,7 +136,7 @@ public class TradeOrderTask {
                                     log.error("物流订单结算失败 {}", e.getMessage());
                                     log.error("物流订单结算失败 {}", e.getMessage());
                                 }
                                 }
                                 kwoTradeOrder.setPrice(NumberUtil.mul(sum, kwoTradeOrderGoods.getUnitPrice()));
                                 kwoTradeOrder.setPrice(NumberUtil.mul(sum, kwoTradeOrderGoods.getUnitPrice()));
-                                calculatePrepaidBalance(kwoTradeOrder, unitMap);
+                                calculatePrepaidBalance(kwoTradeOrder, unitMap, kwoTradeOrderGoods.getUnitPrice());
                             } catch (Exception ex) {
                             } catch (Exception ex) {
                                 log.error("更新订单异常{}", ex.getMessage());
                                 log.error("更新订单异常{}", ex.getMessage());
                             }
                             }
@@ -175,11 +163,7 @@ public class TradeOrderTask {
                     }
                     }
                     if (Objects.equals(one.getKey(), TradeOrderStatusEnum.AUDIT.getCode())) {
                     if (Objects.equals(one.getKey(), TradeOrderStatusEnum.AUDIT.getCode())) {
                         for (KwoTradeOrder kwoTradeOrder : value) {
                         for (KwoTradeOrder kwoTradeOrder : value) {
-//                            WalletFreeze walletFreeze = new WalletFreeze();
-//                            walletFreeze.setTTradeOrderId(kwoTradeOrder.getId());
-//                            walletFreeze.setOrderNo(kwoTradeOrder.getTOrderNo());
-//                            BaseResult<Boolean> booleanBaseResult = paymentDubboService.unfreezeMoney(walletFreeze);
-//                            log.info("解冻结果:{}", JSONObject.toJSONString(booleanBaseResult));
+
                             kwoTradeOrder.setStatus(TradeOrderStatusEnum.SUCCESS.getCode());
                             kwoTradeOrder.setStatus(TradeOrderStatusEnum.SUCCESS.getCode());
                             kwoTradeOrderMapper.updateById(kwoTradeOrder);
                             kwoTradeOrderMapper.updateById(kwoTradeOrder);
                             List<KwoTradeOrderUnit> orderUnits = kwoTradeOrderUnitMapper.selectList(new LambdaQueryWrapper<KwoTradeOrderUnit>().eq(KwoTradeOrderUnit::getTOrderId, kwoTradeOrder.getId())
                             List<KwoTradeOrderUnit> orderUnits = kwoTradeOrderUnitMapper.selectList(new LambdaQueryWrapper<KwoTradeOrderUnit>().eq(KwoTradeOrderUnit::getTOrderId, kwoTradeOrder.getId())
@@ -190,8 +174,8 @@ public class TradeOrderTask {
                                 return;
                                 return;
                             }
                             }
                             Map<String, KwoTradeOrderUnit> unitMap = orderUnits.stream().collect(Collectors.toMap(KwoTradeOrderUnit::getUnitType, Function.identity(), (a, b) -> a));
                             Map<String, KwoTradeOrderUnit> unitMap = orderUnits.stream().collect(Collectors.toMap(KwoTradeOrderUnit::getUnitType, Function.identity(), (a, b) -> a));
-//                            unFreezePrepaid(kwoTradeOrder,unitMap);
-                            calculatePrepaidBalance(kwoTradeOrder, unitMap);
+
+                            calculatePrepaidBalance(kwoTradeOrder, unitMap, null);
                         }
                         }
                     }
                     }
                     if (Objects.equals(one.getKey(), TradeOrderStatusEnum.ING.getCode())) {
                     if (Objects.equals(one.getKey(), TradeOrderStatusEnum.ING.getCode())) {
@@ -210,7 +194,7 @@ public class TradeOrderTask {
         }
         }
     }
     }
 
 
-    private void calculatePrepaidBalance(KwoTradeOrder kwoTradeOrder, Map<String, KwoTradeOrderUnit> unitMap) {
+    private void calculatePrepaidBalance(KwoTradeOrder kwoTradeOrder, Map<String, KwoTradeOrderUnit> unitMap, BigDecimal unitPrice) {
         if (Objects.equals(kwoTradeOrder.getStatus(), TradeOrderStatusEnum.SUCCESS.getCode())) {
         if (Objects.equals(kwoTradeOrder.getStatus(), TradeOrderStatusEnum.SUCCESS.getCode())) {
             //贸易订单已完结,计算预付余额
             //贸易订单已完结,计算预付余额
             if (Objects.equals(kwoTradeOrder.getSettlement(), 1)) {
             if (Objects.equals(kwoTradeOrder.getSettlement(), 1)) {
@@ -248,7 +232,11 @@ public class TradeOrderTask {
                 consumePrepaidDto.setSupEntId(unitMap.get(String.valueOf(2)).getEntId());
                 consumePrepaidDto.setSupEntId(unitMap.get(String.valueOf(2)).getEntId());
                 consumePrepaidDto.setOrderType(4);
                 consumePrepaidDto.setOrderType(4);
                 consumePrepaidDto.setTradeType(6);
                 consumePrepaidDto.setTradeType(6);
-                consumePrepaidDto.setTradeAmount(kwoTradeOrder.getPrice());
+                if (Objects.equals(kwoTradeOrder.getChargeType(), 1)) {
+                    consumePrepaidDto.setTradeAmount(NumberUtil.mul(kwoTradeOrder.getLoadAmount(), unitPrice));
+                } else {
+                    consumePrepaidDto.setTradeAmount(NumberUtil.mul(kwoTradeOrder.getUnloadAmount(), unitPrice));
+                }
                 consumePrepaidDto.setRemark("贸易订单号:" + consumePrepaidDto.getOrderNo() + ",订单完结消费");
                 consumePrepaidDto.setRemark("贸易订单号:" + consumePrepaidDto.getOrderNo() + ",订单完结消费");
                 log.info("贸易订单号:{},订单完结调用钱包服务消费预付余额,参数:{}", consumePrepaidDto.getOrderNo(), JSON.toJSONString(consumePrepaidDto));
                 log.info("贸易订单号:{},订单完结调用钱包服务消费预付余额,参数:{}", consumePrepaidDto.getOrderNo(), JSON.toJSONString(consumePrepaidDto));
                 BaseResult<Object> consumeResult = new BaseResult<>();
                 BaseResult<Object> consumeResult = new BaseResult<>();