|
|
@@ -2,6 +2,7 @@ package com.yc.ship.module.trade.service.otc.impl;
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
+import cn.hutool.core.map.MapUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import com.alibaba.excel.EasyExcel;
|
|
|
@@ -4504,6 +4505,8 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
+ @TradeOrderLog(operateType = TradeOrderOperateTypeEnum.HAND_ORDER_REFUND)
|
|
|
public String createHandRefundRecord(TradeRefundHandCreateReqVO createReqVO) {
|
|
|
long id = IdWorker.getId();
|
|
|
RefundDO refundDO = RefundDO.builder().id(id).orderId(createReqVO.getOrderId())
|
|
|
@@ -4523,6 +4526,16 @@ public class OtcTradeOrderServiceImpl implements OtcTradeOrderService {
|
|
|
.refundNo(createReqVO.getRefundNo())
|
|
|
.refundTime(createReqVO.getRefundTime()).build();
|
|
|
refundRecordMapper.insert(refundRecordDO);
|
|
|
+ TradeOrderDO tradeOrderDO = tradeOrderMapper.selectById(createReqVO.getOrderId());
|
|
|
+ BigDecimal payAmount = tradeOrderDO.getPayAmount();
|
|
|
+ tradeOrderDO.setPayAmount(tradeOrderDO.getPayAmount().subtract(createReqVO.getRefundAmount()));
|
|
|
+ tradeOrderMapper.updateById(tradeOrderDO);
|
|
|
+ TradeOrderLogUtils.setOrderInfo(tradeOrderDO.getId(), tradeOrderDO.getOrderStatus(), tradeOrderDO.getOrderStatus(),
|
|
|
+ MapUtil.<String, Object>builder()
|
|
|
+ .put("oldPayAmount", payAmount)
|
|
|
+ .put("payAmount", tradeOrderDO.getPayAmount())
|
|
|
+ .put("refundAmount", createReqVO.getRefundAmount())
|
|
|
+ .build());
|
|
|
return "";
|
|
|
}
|
|
|
}
|