Commit dcb71385 by 程裕兵

feat:refund

parent c8bb1dbc
...@@ -12,6 +12,7 @@ import com.jiejing.fitness.finance.api.merchant.vo.StudioMerchantRefundVO; ...@@ -12,6 +12,7 @@ import com.jiejing.fitness.finance.api.merchant.vo.StudioMerchantRefundVO;
import com.jiejing.fitness.finance.api.merchant.vo.StudioMerchantCheckRefundVO.CheckRefundCodeEnum; import com.jiejing.fitness.finance.api.merchant.vo.StudioMerchantCheckRefundVO.CheckRefundCodeEnum;
import com.jiejing.fitness.finance.repository.entity.StudioCashierRecord; import com.jiejing.fitness.finance.repository.entity.StudioCashierRecord;
import com.jiejing.fitness.finance.service.enums.FinanceErrorEnums; import com.jiejing.fitness.finance.service.enums.FinanceErrorEnums;
import com.jiejing.fitness.finance.service.pay.enums.RefundFailMessageReplaceEnums;
import com.jiejing.fitness.finance.service.pay.params.StudioMerchantRefundParams; import com.jiejing.fitness.finance.service.pay.params.StudioMerchantRefundParams;
import com.jiejing.fitness.finance.service.utils.FeeUtil; import com.jiejing.fitness.finance.service.utils.FeeUtil;
import com.jiejing.fitness.finance.service.utils.MoneyUtil; import com.jiejing.fitness.finance.service.utils.MoneyUtil;
...@@ -92,7 +93,7 @@ public class RefundConvert { ...@@ -92,7 +93,7 @@ public class RefundConvert {
return StudioCashierRecord.builder() return StudioCashierRecord.builder()
.id(record.getId()) .id(record.getId())
.transState(PayConvert.convertTransState(TransStateEnums.getByCode(event.getRefundState())).getCode()) .transState(PayConvert.convertTransState(TransStateEnums.getByCode(event.getRefundState())).getCode())
.failMessage(event.getFailMessage()) .failMessage(RefundConvert.replaceFailMessage(event.getFailMessage()))
.successTime(event.getSuccessTime()) .successTime(event.getSuccessTime())
.updateTime(new Date()) .updateTime(new Date())
.build(); .build();
...@@ -129,12 +130,16 @@ public class RefundConvert { ...@@ -129,12 +130,16 @@ public class RefundConvert {
.transNo(refund.getTransNo()) .transNo(refund.getTransNo())
.failCode(TransStateEnums.FAIL.getCode().equals(vo.getRefundState()) .failCode(TransStateEnums.FAIL.getCode().equals(vo.getRefundState())
? CheckRefundCodeEnum.OTHER_ERROR.getCode() : CheckRefundCodeEnum.SUCCESS.getCode()) ? CheckRefundCodeEnum.OTHER_ERROR.getCode() : CheckRefundCodeEnum.SUCCESS.getCode())
.failMessage(vo.getFailMessage()) .failMessage(replaceFailMessage(vo.getFailMessage()))
.refundState(vo.getRefundState()) .refundState(vo.getRefundState())
.successTime(vo.getSuccessTime()) .successTime(vo.getSuccessTime())
.build(); .build();
} }
public static String replaceFailMessage(String failMessage) {
return RefundFailMessageReplaceEnums.convertBySource(failMessage);
}
public static StudioMerchantCheckRefundVO convertRefundVO(CheckRefundCodeEnum code) { public static StudioMerchantCheckRefundVO convertRefundVO(CheckRefundCodeEnum code) {
return StudioMerchantCheckRefundVO.builder().code(code.getCode()).failMessage(code.getMessage()).build(); return StudioMerchantCheckRefundVO.builder().code(code.getCode()).failMessage(code.getMessage()).build();
} }
......
package com.jiejing.fitness.finance.service.pay.enums;
import com.jiejing.common.utils.text.StringUtil;
import java.util.Arrays;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author chengyubing
* @since 2024/4/19 12:17
*/
@Getter
@AllArgsConstructor
public enum RefundFailMessageReplaceEnums {
/**
*
*/
OTHER("", "退款失败,请联系小麦乐动工作人员处理。"),
E1("业务执行失败[可用余额不足]", "当前乐动收银余额不足,无法退款,请在线收款后再次发起退款或者线下处理退款。"),
;
private final String source;
private final String target;
public static String convertBySource(String source) {
if (StringUtil.isBlank(source)) {
return null;
}
return Arrays.stream(RefundFailMessageReplaceEnums.values())
.filter(e -> OTHER != e)
.filter(e -> e.getSource().contains(source) || source.contains(e.getSource())).findFirst()
.orElse(OTHER).getTarget();
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment