|
|
@@ -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()+",订单完结解冻失败");
|
|
|
- }
|
|
|
- }
|
|
|
}
|