|
|
@@ -422,7 +422,6 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
|
|
|
AtomicReference<BigDecimal> amount = new AtomicReference<>(BigDecimal.ZERO);
|
|
|
try {
|
|
|
List<OrderPolicyDO> orderPolicyList = orderPolicyMapper.selectList(OrderPolicyDO::getOrderId, orderId);
|
|
|
-
|
|
|
if (!orderPolicyList.isEmpty()) {
|
|
|
orderPolicyList.forEach(item -> {
|
|
|
amount.set(amount.get().add(item.getAmount()));
|
|
|
@@ -439,6 +438,7 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
|
|
|
.set(TradeOrderDO::getUpdateTime, LocalDateTime.now())
|
|
|
.set(TradeOrderDO::getDeposiStatus, 1)
|
|
|
.set(TradeOrderDO::getPayAmount, tradeOrderDO.getPayAmount().subtract(amount.get()))
|
|
|
+ .set(TradeOrderDO::getFreeAmount, amount.get())
|
|
|
.eq(TradeOrderDO::getId, orderId)
|
|
|
);
|
|
|
Map<String, Object> extMap = new HashMap<>();
|
|
|
@@ -571,15 +571,8 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
|
|
|
tradeOrderAuditMapper.insert(tradeOrderAuditDO);
|
|
|
|
|
|
if (tradeOrderDO.getAuditStatus() + 1 > tradeOrderDO.getAuditType()) {
|
|
|
- tradeOrderMapper.update(Wrappers.<TradeOrderDO>lambdaUpdate()
|
|
|
- .set(TradeOrderDO::getAuditStatus, tradeOrderDO.getAuditStatus() + 1)
|
|
|
- .set(TradeOrderDO::getUpdateTime, LocalDateTime.now())
|
|
|
- .set(TradeOrderDO::getDamagedStatus, 2)
|
|
|
- .set(TradeOrderDO::getDamaged, damaged)
|
|
|
- .eq(TradeOrderDO::getId, orderId)
|
|
|
- );
|
|
|
- tradeOrderPayService.cancelOrder(orderId);
|
|
|
-
|
|
|
+ BigDecimal supplementAmount = tradeOrderDO.getRealPayAmount().subtract(damaged);
|
|
|
+ int isSupplement = supplementAmount.compareTo(BigDecimal.ZERO) > 0 ? 1 : 0;
|
|
|
try {
|
|
|
Map map = new HashMap();
|
|
|
map.put("orderNo", tradeOrderDO.getOrderNo());
|
|
|
@@ -597,14 +590,9 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
|
|
|
realPay = tradeOrderDO.getPayAmount();
|
|
|
}
|
|
|
|
|
|
- BigDecimal payAmount = tradeOrderDO.getPayAmount();
|
|
|
- BigDecimal refundAmount = payAmount.multiply(damaged);
|
|
|
-
|
|
|
- BigDecimal multiply = refundAmount.multiply(realPay).compareTo(BigDecimal.ZERO) > 0 ? refundAmount.multiply(realPay):BigDecimal.ZERO;
|
|
|
-
|
|
|
map.put("wyAmount", damaged);
|
|
|
- map.put("wyRefundAmount", refundAmount);
|
|
|
- map.put("wyPayAmount", multiply);
|
|
|
+ map.put("wyRefundAmount", isSupplement==0?supplementAmount:BigDecimal.ZERO);
|
|
|
+ map.put("wyPayAmount", isSupplement==1?supplementAmount.abs():BigDecimal.ZERO);
|
|
|
map.put("startTime", DateUtil.formatDate(tradeOrderDO.getTravelDate()));
|
|
|
NotifySendSingleToUserReqDTO reqDTO = new NotifySendSingleToUserReqDTO();
|
|
|
reqDTO.setTemplateParams(map);
|
|
|
@@ -618,8 +606,25 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
|
|
|
log.error("发送短信异常", e);
|
|
|
}
|
|
|
|
|
|
+ tradeOrderMapper.update(Wrappers.<TradeOrderDO>lambdaUpdate()
|
|
|
+ .set(TradeOrderDO::getAuditStatus, tradeOrderDO.getAuditStatus() + 1)
|
|
|
+ .set(TradeOrderDO::getUpdateTime, LocalDateTime.now())
|
|
|
+ .set(TradeOrderDO::getDamagedStatus, 2)
|
|
|
+ .set(TradeOrderDO::getSupplementAmount, supplementAmount)
|
|
|
+ .set(TradeOrderDO::getDamaged, damaged)
|
|
|
+ //是否需要补缴费 1是 0 否
|
|
|
+ .set(TradeOrderDO::getIsSupplementary, isSupplement)
|
|
|
+ .eq(TradeOrderDO::getId, orderId)
|
|
|
+ );
|
|
|
+ tradeOrderPayService.cancelOrder(orderId);
|
|
|
Map<String, Object> extMap = new HashMap<>();
|
|
|
- extMap.put("result", "审核通过");
|
|
|
+ String result = "审核通过";
|
|
|
+ if(isSupplement==1){
|
|
|
+ result += "需要补缴"+supplementAmount;
|
|
|
+ }else{
|
|
|
+ result += "退押金"+supplementAmount;
|
|
|
+ }
|
|
|
+ extMap.put("result", result);
|
|
|
TradeOrderLogUtils.setOrderInfo(orderId, tradeOrderDO.getOrderStatus(), TradeOrderStatusEnum.UNPAID.getStatus(), extMap);
|
|
|
} else {
|
|
|
AuditUserDO auditUserDO = auditUserMapper.selectOne(new QueryWrapper<AuditUserDO>().eq("type", tradeOrderDO.getAuditType()).eq("audit_status", tradeOrderDO.getAuditStatus() + 1).last("limit 1"));
|