|  | @@ -7,6 +7,7 @@ import cn.newfeifan.mall.module.pay.dal.dataobject.channel.PayChannelDO;
 | 
	
		
			
				|  |  |  import cn.newfeifan.mall.module.pay.dal.dataobject.order.PayOrderDO;
 | 
	
		
			
				|  |  |  import cn.newfeifan.mall.module.pay.dal.dataobject.order.PayOrderExtensionDO;
 | 
	
		
			
				|  |  |  import cn.newfeifan.mall.module.pay.dal.mysql.order.PayOrderExtensionMapper;
 | 
	
		
			
				|  |  | +import cn.newfeifan.mall.module.pay.enums.order.PayOrderStatusEnum;
 | 
	
		
			
				|  |  |  import cn.newfeifan.mall.module.pay.fuiou.reqvo.SubmitOrderRequestVO;
 | 
	
		
			
				|  |  |  import cn.newfeifan.mall.module.pay.fuiou.respVO.FuYouPayOrderSubmitRespVO;
 | 
	
		
			
				|  |  |  import cn.newfeifan.mall.module.pay.fuiou.respVO.FuYouPaymentResponseVO;
 | 
	
	
		
			
				|  | @@ -66,18 +67,21 @@ public class FiYouPayOrderServiceImpl implements FuYouPayOrderService {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          // 1.1 获得 PayOrderDO ,并校验其是否存在
 | 
	
		
			
				|  |  |          PayOrderDO payOrder = payOrderService.validateOrderCanSubmit(requestVO.getId());
 | 
	
		
			
				|  |  | -        payOrder.setPayOrderNo(generate());
 | 
	
		
			
				|  |  | +        payOrder.setPayOrderNo(generate(FUYOU_TRADE_ORDER_NO_PREFIX));
 | 
	
		
			
				|  |  |          payOrderService.updatePayOrder(payOrder);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          // 1.32 校验支付渠道是否有效
 | 
	
		
			
				|  |  |          PayChannelDO channel = validateChannelCanSubmit(payOrder.getAppId(), requestVO.getChannelCode());
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |          // 2. 插入 PayOrderExtensionDO
 | 
	
		
			
				|  |  | +        String no = generate(ORDER_NO_PREFIX);
 | 
	
		
			
				|  |  |          PayOrderExtensionDO orderExtension = PayOrderExtensionDO.builder()
 | 
	
		
			
				|  |  |                  .userIp(getClientIP())
 | 
	
		
			
				|  |  |                  .orderId(payOrder.getId())
 | 
	
		
			
				|  |  |                  .channelId(channel.getId())
 | 
	
		
			
				|  |  |                  .channelCode(channel.getCode())
 | 
	
		
			
				|  |  | +                .no(no)
 | 
	
		
			
				|  |  | +                .status(PayOrderStatusEnum.WAITING.getStatus())
 | 
	
		
			
				|  |  |                  .build();
 | 
	
		
			
				|  |  |          orderExtensionMapper.insert(orderExtension);
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -151,9 +155,9 @@ public class FiYouPayOrderServiceImpl implements FuYouPayOrderService {
 | 
	
		
			
				|  |  |          return channel;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    private String generate() {
 | 
	
		
			
				|  |  | +    private String generate(String prefix) {
 | 
	
		
			
				|  |  |          // 递增序号
 | 
	
		
			
				|  |  | -        String noPrefix = cn.newfeifan.mall.module.pay.enums.DictTypeConstants.FUYOU_TRADE_ORDER_NO_PREFIX + DateUtil.format(LocalDateTime.now(), DatePattern.PURE_DATETIME_PATTERN);
 | 
	
		
			
				|  |  | +        String noPrefix = prefix + DateUtil.format(LocalDateTime.now(), DatePattern.PURE_DATETIME_PATTERN);
 | 
	
		
			
				|  |  |          String key = TRADE_NO + noPrefix;
 | 
	
		
			
				|  |  |          Long no = stringRedisTemplate.opsForValue().increment(key);
 | 
	
		
			
				|  |  |          // 设置过期时间
 |