生成订单,订单号重写接口

This commit is contained in:
xiaoyu 2023-02-08 16:05:44 +08:00
parent f9014e2486
commit e31b82bafc
3 changed files with 17 additions and 0 deletions

View File

@ -18,6 +18,8 @@ package com.jeequan.jeepay.pay.channel;
import com.jeequan.jeepay.core.constants.CS;
import com.jeequan.jeepay.core.entity.PayOrder;
import com.jeequan.jeepay.pay.model.MchAppConfigContext;
import com.jeequan.jeepay.pay.rqrs.payorder.UnifiedOrderRQ;
import com.jeequan.jeepay.pay.service.ConfigContextQueryService;
import com.jeequan.jeepay.pay.util.ChannelCertConfigKitBean;
import com.jeequan.jeepay.service.impl.SysConfigService;
@ -36,6 +38,11 @@ public abstract class AbstractPaymentService implements IPaymentService{
@Autowired protected ChannelCertConfigKitBean channelCertConfigKitBean;
@Autowired protected ConfigContextQueryService configContextQueryService;
@Override
public String customPayOrderId(UnifiedOrderRQ bizRQ, PayOrder payOrder, MchAppConfigContext mchAppConfigContext){
return null; //使用系统默认支付订单号
}
/** 订单分账(一般用作 如微信订单将在下单处做标记) */
protected boolean isDivisionOrder(PayOrder payOrder){
//订单分账 将冻结商户资金

View File

@ -38,6 +38,10 @@ public interface IPaymentService {
/** 前置检查如参数等信息是否符合要求, 返回错误信息或直接抛出异常即可 */
String preCheck(UnifiedOrderRQ bizRQ, PayOrder payOrder);
/** 自定义支付订单号, 若返回空则使用系统生成订单号 */
String customPayOrderId(UnifiedOrderRQ bizRQ, PayOrder payOrder, MchAppConfigContext mchAppConfigContext);
/** 调起支付接口,并响应数据; 内部处理普通商户和服务商模式 **/
AbstractRS pay(UnifiedOrderRQ bizRQ, PayOrder payOrder, MchAppConfigContext mchAppConfigContext) throws Exception;

View File

@ -182,7 +182,13 @@ public abstract class AbstractPayOrderController extends ApiController {
throw new BizException(errMsg);
}
String newPayOrderId = paymentService.customPayOrderId(bizRQ, payOrder, mchAppConfigContext);
if(isNewOrder){
if(StringUtils.isNotBlank(newPayOrderId)){ // 自定义订单号
payOrder.setPayOrderId(newPayOrderId);
}
//订单入库 订单状态 生成状态 此时没有和任何上游渠道产生交互
payOrderService.save(payOrder);
}