|
|
@@ -20,6 +20,7 @@ import com.zhongshu.card.server.core.dao.payment.PaymentProcessDao;
|
|
|
import com.zhongshu.card.server.core.domain.org.Organization;
|
|
|
import com.zhongshu.card.server.core.domain.payment.ExpenseFlow;
|
|
|
import com.zhongshu.card.server.core.domain.payment.PaymentProcess;
|
|
|
+import com.zhongshu.card.server.core.domain.payment.RefundRecord;
|
|
|
import com.zhongshu.card.server.core.domain.schedule.ScheduleTaskConfig;
|
|
|
import com.zhongshu.card.server.core.model.pay.UnionFrictionlessPayFinishModel;
|
|
|
import com.zhongshu.card.server.core.service.base.CommonService;
|
|
|
@@ -84,6 +85,9 @@ public class PayCallService extends SuperService {
|
|
|
@Autowired
|
|
|
private OrderNoInfoService orderNoInfoService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private RefundRecordService refundRecordService;
|
|
|
+
|
|
|
/**
|
|
|
* 统一调用支付服务
|
|
|
*
|
|
|
@@ -452,7 +456,18 @@ public class PayCallService extends SuperService {
|
|
|
entity.setRefundNo(refundNo);
|
|
|
orderNoInfoService.saveInfo(refundNo, OrderNoType.Refund, entity.getPaymentType());
|
|
|
|
|
|
- com.github.microservice.pay.client.ret.ResultContent<List<TransactionLogModel>> resultContent = balancePayService.refund(entity.getProjectOid(), entity.getShopOid(), entity.getUserId(), refundNo, entity.getPayAmount(), param.getRemark());
|
|
|
+ // 退款记录
|
|
|
+ RefundRecord refundRecord = new RefundRecord();
|
|
|
+ refundRecord.setPaymentNo(entity.getPaymentNo());
|
|
|
+ // 申请人
|
|
|
+ refundRecord.setApplicant(getCurrentUserId());
|
|
|
+ BigDecimal payAmount = entity.getPayAmount();
|
|
|
+ refundRecord.setRefundAMount(payAmount);
|
|
|
+ refundRecord.setRefundTime(System.currentTimeMillis());
|
|
|
+ refundRecord.setRefundRemark(param.getRemark());
|
|
|
+ refundRecord.setRefundNo(refundNo);
|
|
|
+
|
|
|
+ com.github.microservice.pay.client.ret.ResultContent<List<TransactionLogModel>> resultContent = balancePayService.refund(entity.getProjectOid(), entity.getShopOid(), entity.getUserId(), refundNo, payAmount, param.getRemark());
|
|
|
if (resultContent.getState() == ResultState.Success) {
|
|
|
entity.setIsRefund(Boolean.TRUE);
|
|
|
entity.setRefundRemark(param.getRemark());
|
|
|
@@ -474,8 +489,20 @@ public class PayCallService extends SuperService {
|
|
|
entity.setRefundState(RefundState.Refunded);
|
|
|
entity.setRefuseRemark("退款成功");
|
|
|
expenseFlowDao.save(entity);
|
|
|
+
|
|
|
+ // 保存退款记录
|
|
|
+ refundRecord.setRefundUserId(getCurrentUserId());
|
|
|
+ refundRecord.setExamineTime(System.currentTimeMillis());
|
|
|
+ refundRecord.setRefuseRemark("退款成功");
|
|
|
+ refundRecord.setRefundState(RefundState.Refunded);
|
|
|
+ refundRecordService.saveEntity(refundRecord);
|
|
|
return ResultContent.buildSuccess();
|
|
|
} else {
|
|
|
+ refundRecord.setRefundUserId(getCurrentUserId());
|
|
|
+ refundRecord.setExamineTime(System.currentTimeMillis());
|
|
|
+ refundRecord.setRefuseRemark(resultContent.getMsg());
|
|
|
+ refundRecord.setRefundState(RefundState.Fail);
|
|
|
+ refundRecordService.saveEntity(refundRecord);
|
|
|
return ResultContent.buildFail(String.format("退款失败:%s", resultContent.getMsg()));
|
|
|
}
|
|
|
}
|