|
|
@@ -83,7 +83,6 @@ public class TradeOrderTask {
|
|
|
return;
|
|
|
}
|
|
|
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>()
|
|
|
.eq(KwoTradeOrderGoods::getDelFlag, 0)
|
|
|
@@ -98,8 +97,7 @@ public class TradeOrderTask {
|
|
|
} catch (Exception e) {
|
|
|
log.error("物流订单结算失败 {}", e.getMessage());
|
|
|
}
|
|
|
- kwoTradeOrder.setPrice(NumberUtil.mul(sum, kwoTradeOrderGoods.getUnitPrice()));
|
|
|
- calculatePrepaidBalance(kwoTradeOrder, unitMap);
|
|
|
+ calculatePrepaidBalance(kwoTradeOrder, unitMap, kwoTradeOrderGoods.getUnitPrice());
|
|
|
} catch (Exception ex) {
|
|
|
log.error("更新订单异常{}", ex.getMessage());
|
|
|
}
|
|
|
@@ -129,16 +127,6 @@ 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);
|
|
|
@@ -148,7 +136,7 @@ public class TradeOrderTask {
|
|
|
log.error("物流订单结算失败 {}", e.getMessage());
|
|
|
}
|
|
|
kwoTradeOrder.setPrice(NumberUtil.mul(sum, kwoTradeOrderGoods.getUnitPrice()));
|
|
|
- calculatePrepaidBalance(kwoTradeOrder, unitMap);
|
|
|
+ calculatePrepaidBalance(kwoTradeOrder, unitMap, kwoTradeOrderGoods.getUnitPrice());
|
|
|
} catch (Exception ex) {
|
|
|
log.error("更新订单异常{}", ex.getMessage());
|
|
|
}
|
|
|
@@ -175,11 +163,7 @@ public class TradeOrderTask {
|
|
|
}
|
|
|
if (Objects.equals(one.getKey(), TradeOrderStatusEnum.AUDIT.getCode())) {
|
|
|
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());
|
|
|
kwoTradeOrderMapper.updateById(kwoTradeOrder);
|
|
|
List<KwoTradeOrderUnit> orderUnits = kwoTradeOrderUnitMapper.selectList(new LambdaQueryWrapper<KwoTradeOrderUnit>().eq(KwoTradeOrderUnit::getTOrderId, kwoTradeOrder.getId())
|
|
|
@@ -190,8 +174,8 @@ public class TradeOrderTask {
|
|
|
return;
|
|
|
}
|
|
|
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())) {
|
|
|
@@ -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.getSettlement(), 1)) {
|
|
|
@@ -248,7 +232,11 @@ public class TradeOrderTask {
|
|
|
consumePrepaidDto.setSupEntId(unitMap.get(String.valueOf(2)).getEntId());
|
|
|
consumePrepaidDto.setOrderType(4);
|
|
|
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() + ",订单完结消费");
|
|
|
log.info("贸易订单号:{},订单完结调用钱包服务消费预付余额,参数:{}", consumePrepaidDto.getOrderNo(), JSON.toJSONString(consumePrepaidDto));
|
|
|
BaseResult<Object> consumeResult = new BaseResult<>();
|