|
|
@@ -444,12 +444,12 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
|
|
|
} catch (Exception e) {
|
|
|
log.error("发送短信异常", e);
|
|
|
}
|
|
|
- AtomicReference<BigDecimal> amount = new AtomicReference<>(BigDecimal.ZERO);
|
|
|
+ List<BigDecimal> amountList = new ArrayList<>();
|
|
|
try {
|
|
|
List<OrderPolicyDO> orderPolicyList = orderPolicyMapper.selectList(OrderPolicyDO::getOrderId, orderId);
|
|
|
if (!orderPolicyList.isEmpty()) {
|
|
|
orderPolicyList.forEach(item -> {
|
|
|
- amount.set(amount.get().add(item.getAmount()));
|
|
|
+ amountList.add(item.getAmount());
|
|
|
policyApi.updatePolicySurplusNum(item.getId(), tradeOrderDO.getVoyageId(), item.getPreUseNum());
|
|
|
});
|
|
|
}
|
|
|
@@ -457,6 +457,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
|
|
|
}catch (Exception e){
|
|
|
log.error("政策执行异常", e);
|
|
|
}
|
|
|
+ BigDecimal amount = amountList.stream().reduce(BigDecimal.ZERO, BigDecimal::add);
|
|
|
int orderStatus = TradeOrderStatusEnum.UNPAID.getStatus();
|
|
|
if(tradeOrderDO.getPayStatus()==1){
|
|
|
orderStatus = 6;
|
|
|
@@ -466,8 +467,8 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
|
|
|
.set(TradeOrderDO::getAuditStatus, tradeOrderDO.getAuditStatus() + 1)
|
|
|
.set(TradeOrderDO::getUpdateTime, LocalDateTime.now())
|
|
|
.set(TradeOrderDO::getDeposiStatus, 1)
|
|
|
- .set(TradeOrderDO::getPayAmount, tradeOrderDO.getPayAmount().subtract(amount.get()))
|
|
|
- .set(TradeOrderDO::getFreeAmount, amount.get())
|
|
|
+ .set(TradeOrderDO::getPayAmount, tradeOrderDO.getPayAmount().subtract(amount))
|
|
|
+ .set(TradeOrderDO::getFreeAmount, amount)
|
|
|
.eq(TradeOrderDO::getId, orderId)
|
|
|
);
|
|
|
Map<String, Object> extMap = new HashMap<>();
|
|
|
@@ -1858,15 +1859,19 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
|
|
|
orderPolicyDO.setDiscount(policy.getDiscount());
|
|
|
orderPolicyDO.setDiscountType(policy.getDiscountType());
|
|
|
orderPolicyDO.setUseNum(policy.getUseNum());
|
|
|
- if (createVO.getIsYd() != null && createVO.getIsYd() == 1) {
|
|
|
- orderPolicyDO.setPreUseNum(policy.getUseNum());
|
|
|
- orderPolicyDO.setRealUseNum(BigDecimal.ZERO);
|
|
|
- } else {
|
|
|
- //TODO: 需要修改订单金额,参考文档
|
|
|
- orderPolicyDO.setPreUseNum(BigDecimal.ZERO);
|
|
|
- orderPolicyDO.setRealUseNum(policy.getUseNum());
|
|
|
- policyApi.updatePolicySurplusNum(policy.getPolicyId(), createVO.getVoyageId(), policy.getUseNum());
|
|
|
- }
|
|
|
+ orderPolicyDO.setPreUseNum(policy.getUseNum());
|
|
|
+ // 只要不是审核,都是预占,实占和预占一样,不用区分了,其实实占没有意义了
|
|
|
+ orderPolicyDO.setRealUseNum(BigDecimal.ZERO);
|
|
|
+// if (createVO.getIsYd() != null && createVO.getIsYd() == 1) {
|
|
|
+// orderPolicyDO.setPreUseNum(policy.getUseNum());
|
|
|
+// orderPolicyDO.setRealUseNum(BigDecimal.ZERO);
|
|
|
+// } else {
|
|
|
+// //TODO: 需要修改订单金额,参考文档
|
|
|
+// orderPolicyDO.setPreUseNum(BigDecimal.ZERO);
|
|
|
+// orderPolicyDO.setRealUseNum(policy.getUseNum());
|
|
|
+// // 这个地方不去扣库存,要审核通过了才扣
|
|
|
+//// policyApi.updatePolicySurplusNum(policy.getPolicyId(), createVO.getVoyageId(), policy.getUseNum());
|
|
|
+// }
|
|
|
orderPolicyDO.setAmount(policy.getAmount());
|
|
|
orderPolicyDO.setRooms(policy.getRooms());
|
|
|
orderPolicyDOList.add(orderPolicyDO);
|
|
|
@@ -2223,15 +2228,18 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
|
|
|
orderPolicyDO.setDiscount(policy.getDiscount());
|
|
|
orderPolicyDO.setDiscountType(policy.getDiscountType());
|
|
|
orderPolicyDO.setUseNum(policy.getUseNum());
|
|
|
- if (Objects.equals(tradeOrderDO.getOrderStatus(), TradeOrderStatusEnum.UNPAID.getStatus())) {
|
|
|
- orderPolicyDO.setRealUseNum(policy.getUseNum());
|
|
|
- orderPolicyDO.setPreUseNum(BigDecimal.ZERO);
|
|
|
- policyApi.updatePolicySurplusNum(policy.getPolicyId(), createVO.getVoyageId(), policy.getUseNum());
|
|
|
- //TODO: 需要修改订单金额,参考文档
|
|
|
- } else {
|
|
|
- orderPolicyDO.setRealUseNum(BigDecimal.ZERO);
|
|
|
- orderPolicyDO.setPreUseNum(policy.getUseNum());
|
|
|
- }
|
|
|
+ orderPolicyDO.setPreUseNum(policy.getUseNum());
|
|
|
+ // 只要不是审核,都是预占,实占和预占一样,不用区分了,其实实占没有意义了
|
|
|
+ orderPolicyDO.setRealUseNum(policy.getUseNum());
|
|
|
+// if (Objects.equals(tradeOrderDO.getOrderStatus(), TradeOrderStatusEnum.UNPAID.getStatus())) {
|
|
|
+// orderPolicyDO.setRealUseNum(policy.getUseNum());
|
|
|
+// orderPolicyDO.setPreUseNum(BigDecimal.ZERO);
|
|
|
+// policyApi.updatePolicySurplusNum(policy.getPolicyId(), createVO.getVoyageId(), policy.getUseNum());
|
|
|
+// //TODO: 需要修改订单金额,参考文档
|
|
|
+// } else {
|
|
|
+// orderPolicyDO.setRealUseNum(BigDecimal.ZERO);
|
|
|
+// orderPolicyDO.setPreUseNum(policy.getUseNum());
|
|
|
+// }
|
|
|
orderPolicyDO.setAmount(policy.getAmount());
|
|
|
orderPolicyDO.setRooms(policy.getRooms());
|
|
|
orderPolicyDOList.add(orderPolicyDO);
|