xucaiqin 1 bulan lalu
induk
melakukan
b3a43d1f7d

+ 12 - 2
sckw-modules/sckw-order/src/main/java/com/sckw/order/serivce/KwoTradeOrderService.java

@@ -2949,7 +2949,12 @@ public class KwoTradeOrderService {
             unFreezePrepaidDto.setTradeType(5);
             unFreezePrepaidDto.setRemark("贸易订单:" + unFreezePrepaidDto.getOrderNo() + ",");
             log.info("贸易订单号:{},订单完结调用钱包服务解冻预付余额,参数:{}", unFreezePrepaidDto.getOrderNo(), JSON.toJSONString(unFreezePrepaidDto));
-            BaseResult<Object> unFreezeResult = paymentFeignService.updatePrepaidBalance(unFreezePrepaidDto);
+            BaseResult<Object> unFreezeResult = new BaseResult<>();
+            try {
+                unFreezeResult = paymentFeignService.updatePrepaidBalance(unFreezePrepaidDto);
+            } catch (Exception e) {
+                log.error("订单完结调用钱包服务解冻预付余额异常 {}", e.getMessage());
+            }
             if (unFreezeResult.getCode() != HttpStatus.SUCCESS_CODE) {
                 log.error("贸易订单号:{},订单完结解冻失败,异常信息为:{}", unFreezePrepaidDto.getOrderNo(), unFreezeResult.getMessage());
                 throw new BusinessException("贸易订单号:" + unFreezePrepaidDto.getOrderNo() + ",订单完结解冻失败");
@@ -2964,7 +2969,12 @@ public class KwoTradeOrderService {
             consumePrepaidDto.setTradeAmount(kwoTradeOrder.getPrice());
             consumePrepaidDto.setRemark("贸易订单号:" + consumePrepaidDto.getOrderNo() + ",订单完结消费");
             log.info("贸易订单号:{},订单完结调用钱包服务消费预付余额,参数:{}", consumePrepaidDto.getOrderNo(), JSON.toJSONString(consumePrepaidDto));
-            BaseResult<Object> consumeResult = paymentFeignService.updatePrepaidBalance(consumePrepaidDto);
+            BaseResult<Object> consumeResult = new BaseResult<>();
+            try {
+                consumeResult = paymentFeignService.updatePrepaidBalance(consumePrepaidDto);
+            } catch (Exception e) {
+                log.error("订单完结调用钱包服务消费预付余额异常 {}", e.getMessage());
+            }
             if (consumeResult.getCode() != HttpStatus.SUCCESS_CODE) {
                 log.error("贸易订单号:{},订单完结消费失败,异常信息为:{}", consumePrepaidDto.getOrderNo(), consumeResult.getMessage());
                 throw new BusinessException("贸易订单号:" + consumePrepaidDto.getOrderNo() + ",订单完结消费失败");

+ 32 - 54
sckw-modules/sckw-order/src/main/java/com/sckw/order/task/TradeOrderTask.java

@@ -91,26 +91,15 @@ public class TradeOrderTask {
                                     .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());
                             kwoTradeOrderMapper.updateById(kwoTradeOrder);
                             try {
                                 Boolean aBoolean = transportRemoteService.logisticOrderFinish(new OrderFinishParam(kwoTradeOrder.getId()));
                             } catch (Exception e) {
-                                log.error("物流订单结算失败 {}",e.getMessage());
+                                log.error("物流订单结算失败 {}", e.getMessage());
                             }
                             kwoTradeOrder.setPrice(NumberUtil.mul(sum, kwoTradeOrderGoods.getUnitPrice()));
-                            calculatePrepaidBalance(kwoTradeOrder,unitMap);
+                            calculatePrepaidBalance(kwoTradeOrder, unitMap);
                         } catch (Exception ex) {
                             log.error("更新订单异常{}", ex.getMessage());
                         }
@@ -156,10 +145,10 @@ public class TradeOrderTask {
                                 try {
                                     Boolean aBoolean = transportRemoteService.logisticOrderFinish(new OrderFinishParam(kwoTradeOrder.getId()));
                                 } catch (Exception e) {
-                                    log.error("物流订单结算失败 {}",e.getMessage());
+                                    log.error("物流订单结算失败 {}", e.getMessage());
                                 }
                                 kwoTradeOrder.setPrice(NumberUtil.mul(sum, kwoTradeOrderGoods.getUnitPrice()));
-                                calculatePrepaidBalance(kwoTradeOrder,unitMap);
+                                calculatePrepaidBalance(kwoTradeOrder, unitMap);
                             } catch (Exception ex) {
                                 log.error("更新订单异常{}", ex.getMessage());
                             }
@@ -202,7 +191,7 @@ public class TradeOrderTask {
                             }
                             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);
                         }
                     }
                     if (Objects.equals(one.getKey(), TradeOrderStatusEnum.ING.getCode())) {
@@ -212,7 +201,7 @@ public class TradeOrderTask {
                             try {
                                 Boolean aBoolean = transportRemoteService.logisticOrderFinish(new OrderFinishParam(kwoTradeOrder.getId()));
                             } catch (Exception e) {
-                                log.error("物流订单结算失败 {}",e.getMessage());
+                                log.error("物流订单结算失败 {}", e.getMessage());
                             }
                         }
                     }
@@ -221,13 +210,13 @@ public class TradeOrderTask {
         }
     }
 
-    private void calculatePrepaidBalance(KwoTradeOrder kwoTradeOrder,Map<String, KwoTradeOrderUnit> unitMap){
-        if(Objects.equals(kwoTradeOrder.getStatus(),TradeOrderStatusEnum.SUCCESS.getCode())){
+    private void calculatePrepaidBalance(KwoTradeOrder kwoTradeOrder, Map<String, KwoTradeOrderUnit> unitMap) {
+        if (Objects.equals(kwoTradeOrder.getStatus(), TradeOrderStatusEnum.SUCCESS.getCode())) {
             //贸易订单已完结,计算预付余额
-            if(Objects.equals(kwoTradeOrder.getSettlement(),1)){
+            if (Objects.equals(kwoTradeOrder.getSettlement(), 1)) {
                 //todo 普通结算
 
-            }else if(Objects.equals(kwoTradeOrder.getSettlement(),2)){
+            } else if (Objects.equals(kwoTradeOrder.getSettlement(), 2)) {
                 //预付制模式
                 //1解冻运费
                 if (unitMap.keySet().size() < 2) {
@@ -240,12 +229,17 @@ public class TradeOrderTask {
                 unFreezePrepaidDto.setSupEntId(unitMap.get(String.valueOf(2)).getEntId());
                 unFreezePrepaidDto.setOrderType(4);
                 unFreezePrepaidDto.setTradeType(5);
-                unFreezePrepaidDto.setRemark("贸易订单:"+unFreezePrepaidDto.getOrderNo()+",");
-                log.info("贸易订单号:{},订单完结调用钱包服务解冻预付余额,参数:{}", unFreezePrepaidDto.getOrderNo(),JSON.toJSONString(unFreezePrepaidDto));
-                BaseResult<Object> unFreezeResult = paymentFeignService.updatePrepaidBalance(unFreezePrepaidDto);
-                if(unFreezeResult.getCode()!= HttpStatus.SUCCESS_CODE){
-                    log.error("贸易订单号:{},订单完结解冻失败,异常信息为:{}",unFreezePrepaidDto.getOrderNo(),unFreezeResult.getMessage());
-                    throw new BusinessException("贸易订单号:"+unFreezePrepaidDto.getOrderNo()+",订单完结解冻失败");
+                unFreezePrepaidDto.setRemark("贸易订单:" + unFreezePrepaidDto.getOrderNo() + ",");
+                log.info("贸易订单号:{},订单完结调用钱包服务解冻预付余额,参数:{}", unFreezePrepaidDto.getOrderNo(), JSON.toJSONString(unFreezePrepaidDto));
+                BaseResult<Object> unFreezeResult = new BaseResult<>();
+                try {
+                    unFreezeResult = paymentFeignService.updatePrepaidBalance(unFreezePrepaidDto);
+                } catch (Exception e) {
+                    log.error("订单完结调用钱包服务解冻预付余额异常:{}", e.getMessage());
+                }
+                if (unFreezeResult.getCode() != HttpStatus.SUCCESS_CODE) {
+                    log.error("贸易订单号:{},订单完结解冻失败,异常信息为:{}", unFreezePrepaidDto.getOrderNo(), unFreezeResult.getMessage());
+                    throw new BusinessException("贸易订单号:" + unFreezePrepaidDto.getOrderNo() + ",订单完结解冻失败");
                 }
                 //2计算订单金额
                 WalletPrepaidDto consumePrepaidDto = new WalletPrepaidDto();
@@ -255,37 +249,21 @@ public class TradeOrderTask {
                 consumePrepaidDto.setOrderType(4);
                 consumePrepaidDto.setTradeType(6);
                 consumePrepaidDto.setTradeAmount(kwoTradeOrder.getPrice());
-                consumePrepaidDto.setRemark("贸易订单号:"+consumePrepaidDto.getOrderNo()+",订单完结消费");
-                log.info("贸易订单号:{},订单完结调用钱包服务消费预付余额,参数:{}", consumePrepaidDto.getOrderNo(),JSON.toJSONString(consumePrepaidDto));
-                BaseResult<Object> consumeResult = paymentFeignService.updatePrepaidBalance(consumePrepaidDto);
-                if(consumeResult.getCode()!= HttpStatus.SUCCESS_CODE){
-                    log.error("贸易订单号:{},订单完结消费失败,异常信息为:{}",consumePrepaidDto.getOrderNo(),consumeResult.getMessage());
-                    throw new BusinessException("贸易订单号:"+consumePrepaidDto.getOrderNo()+",订单完结消费失败");
+                consumePrepaidDto.setRemark("贸易订单号:" + consumePrepaidDto.getOrderNo() + ",订单完结消费");
+                log.info("贸易订单号:{},订单完结调用钱包服务消费预付余额,参数:{}", consumePrepaidDto.getOrderNo(), JSON.toJSONString(consumePrepaidDto));
+                BaseResult<Object> consumeResult = new BaseResult<>();
+                try {
+                    consumeResult = paymentFeignService.updatePrepaidBalance(consumePrepaidDto);
+                } catch (Exception e) {
+                    log.error("订单完结调用钱包服务消费预付余额异常:{}", e.getMessage());
+                }
+                if (consumeResult.getCode() != HttpStatus.SUCCESS_CODE) {
+                    log.error("贸易订单号:{},订单完结消费失败,异常信息为:{}", consumePrepaidDto.getOrderNo(), consumeResult.getMessage());
+                    throw new BusinessException("贸易订单号:" + consumePrepaidDto.getOrderNo() + ",订单完结消费失败");
                 }
             }
         }
 
     }
 
-    private void unFreezePrepaid(KwoTradeOrder kwoTradeOrder,Map<String, KwoTradeOrderUnit> unitMap){
-        //预付制模式
-        //1解冻运费
-        if (unitMap.keySet().size() < 2) {
-            throw new BusinessException("贸易订单企业信息缺失");
-        }
-        //钱包退回金额
-        WalletPrepaidDto unFreezePrepaidDto = new WalletPrepaidDto();
-        unFreezePrepaidDto.setOrderNo(kwoTradeOrder.getTOrderNo());
-        unFreezePrepaidDto.setProEntId(unitMap.get(String.valueOf(1)).getEntId());
-        unFreezePrepaidDto.setSupEntId(unitMap.get(String.valueOf(2)).getEntId());
-        unFreezePrepaidDto.setOrderType(4);
-        unFreezePrepaidDto.setTradeType(5);
-        unFreezePrepaidDto.setRemark("贸易订单:"+unFreezePrepaidDto.getOrderNo()+",");
-        log.info("贸易订单号:{},订单完结调用钱包服务解冻预付余额,参数:{}", unFreezePrepaidDto.getOrderNo(),JSON.toJSONString(unFreezePrepaidDto));
-        BaseResult<Object> unFreezeResult = paymentFeignService.updatePrepaidBalance(unFreezePrepaidDto);
-        if(unFreezeResult.getCode()!= HttpStatus.SUCCESS_CODE){
-            log.error("贸易订单号:{},订单完结解冻失败,异常信息为:{}",unFreezePrepaidDto.getOrderNo(),unFreezeResult.getMessage());
-            throw new BusinessException("贸易订单号:"+unFreezePrepaidDto.getOrderNo()+",订单完结解冻失败");
-        }
-    }
 }