|  | @@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 | 
	
		
			
				|  |  |  import com.zanxiang.erp.security.util.SecurityUtil;
 | 
	
		
			
				|  |  |  import com.zanxiang.game.back.base.pojo.enums.OrderStatusEnum;
 | 
	
		
			
				|  |  |  import com.zanxiang.game.module.manage.constant.RedisKeyConstant;
 | 
	
		
			
				|  |  | -import com.zanxiang.game.module.manage.enums.ExpireTimeEnum;
 | 
	
		
			
				|  |  |  import com.zanxiang.game.module.manage.enums.KfRoomMsgOwnerEnum;
 | 
	
		
			
				|  |  |  import com.zanxiang.game.module.manage.enums.KfRoomMsgTypeEnum;
 | 
	
		
			
				|  |  |  import com.zanxiang.game.module.manage.enums.KfWebSocketMsgEnum;
 | 
	
	
		
			
				|  | @@ -119,19 +118,21 @@ public class KfAppletMsgServiceImpl implements IKfAppletMsgService {
 | 
	
		
			
				|  |  |          KfWebSocketMsgDTO.MsgContentBean msgContent = this.getMsgContent(kfAppletMsgDTO);
 | 
	
		
			
				|  |  |          KfRoomMsg kfRoomMsg = this.transform(kfAppletMsgDTO, gameApplet, kfRoom, postData, msgContent);
 | 
	
		
			
				|  |  |          //判断是否请求支付链接
 | 
	
		
			
				|  |  | -        String orderId = redisUtil.getCache(RedisKeyConstant.GAME_CUSTOM_PAY + kfAppletMsgDTO.getFromUserName());
 | 
	
		
			
				|  |  | -        if (Strings.isNotBlank(orderId) && Objects.equals(kfAppletMsgDTO.getContent(), KfAppletMsgDTO.MSG_CONTENT_PAY)) {
 | 
	
		
			
				|  |  | -            Order order = orderService.getOne(new LambdaQueryWrapper<Order>()
 | 
	
		
			
				|  |  | -                    .eq(Order::getOrderId, orderId)
 | 
	
		
			
				|  |  | -                    .and(qw -> qw.eq(Order::getStatus, OrderStatusEnum.READY_PAY.getValue())
 | 
	
		
			
				|  |  | -                            .or().eq(Order::getStatus, OrderStatusEnum.WAIT_PAY.getValue())
 | 
	
		
			
				|  |  | -                    )
 | 
	
		
			
				|  |  | -            );
 | 
	
		
			
				|  |  | -            if (order != null) {
 | 
	
		
			
				|  |  | -                this.sendCustomPayMessage(gameApplet.getGameId(), kfAppletMsgDTO.getFromUserName(), kfRoom, order);
 | 
	
		
			
				|  |  | -                kfRoomMsg.setReadStatus(Boolean.TRUE);
 | 
	
		
			
				|  |  | -                kfRoomMsgService.save(kfRoomMsg);
 | 
	
		
			
				|  |  | -                return;
 | 
	
		
			
				|  |  | +        String orderId = redisUtil.getCache(RedisKeyConstant.GAME_CUSTOM_PAY_SIGN + kfAppletMsgDTO.getFromUserName());
 | 
	
		
			
				|  |  | +        //存在客服支付订单
 | 
	
		
			
				|  |  | +        if (Strings.isNotBlank(orderId)) {
 | 
	
		
			
				|  |  | +            //收到的是充值消息或者小程序消息, 回复充值链接
 | 
	
		
			
				|  |  | +            if (KfAppletMsgDTO.MSG_CONTENT_PAY.contains(kfAppletMsgDTO.getContent())
 | 
	
		
			
				|  |  | +                    || Objects.equals(kfAppletMsgDTO.getMsgType(), KfRoomMsgTypeEnum.KF_MSG_TYPE_MINI_APP.getValue())) {
 | 
	
		
			
				|  |  | +                Order order = orderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderId, orderId));
 | 
	
		
			
				|  |  | +                //存在待支付的客服支付订单, 判断订单状态
 | 
	
		
			
				|  |  | +                if (Objects.equals(order.getStatus(), OrderStatusEnum.READY_PAY.getValue())
 | 
	
		
			
				|  |  | +                        || Objects.equals(order.getStatus(), OrderStatusEnum.WAIT_PAY.getValue())) {
 | 
	
		
			
				|  |  | +                    this.sendCustomPayMessage(gameApplet.getGameId(), kfAppletMsgDTO.getFromUserName(), kfRoom, order);
 | 
	
		
			
				|  |  | +                    kfRoomMsg.setReadStatus(Boolean.TRUE);
 | 
	
		
			
				|  |  | +                    kfRoomMsgService.save(kfRoomMsg);
 | 
	
		
			
				|  |  | +                    return;
 | 
	
		
			
				|  |  | +                }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          //保存房间消息
 | 
	
	
		
			
				|  | @@ -171,19 +172,13 @@ public class KfAppletMsgServiceImpl implements IKfAppletMsgService {
 | 
	
		
			
				|  |  |              return;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |          //查询订单
 | 
	
		
			
				|  |  | -        Order order = orderService.getOne(new LambdaQueryWrapper<Order>()
 | 
	
		
			
				|  |  | -                .eq(Order::getOrderId, orderId)
 | 
	
		
			
				|  |  | -                .and(qw -> qw.eq(Order::getStatus, OrderStatusEnum.READY_PAY.getValue())
 | 
	
		
			
				|  |  | -                        .or().eq(Order::getStatus, OrderStatusEnum.WAIT_PAY.getValue())
 | 
	
		
			
				|  |  | -                )
 | 
	
		
			
				|  |  | -        );
 | 
	
		
			
				|  |  | -        if (order == null) {
 | 
	
		
			
				|  |  | -            return;
 | 
	
		
			
				|  |  | +        Order order = orderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderId, orderId));
 | 
	
		
			
				|  |  | +        //存在待支付的客服支付订单, 判断订单状态
 | 
	
		
			
				|  |  | +        if (Objects.equals(order.getStatus(), OrderStatusEnum.READY_PAY.getValue())
 | 
	
		
			
				|  |  | +                || Objects.equals(order.getStatus(), OrderStatusEnum.WAIT_PAY.getValue())) {
 | 
	
		
			
				|  |  | +            //发送订单支付消息
 | 
	
		
			
				|  |  | +            this.sendCustomPayMessage(gameApplet.getGameId(), kfAppletMsgDTO.getFromUserName(), null, order);
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        this.sendCustomPayMessage(gameApplet.getGameId(), kfAppletMsgDTO.getFromUserName(), null, order);
 | 
	
		
			
				|  |  | -        redisUtil.deleteCache(customPaySign);
 | 
	
		
			
				|  |  | -        redisUtil.setCache(RedisKeyConstant.GAME_CUSTOM_PAY + kfAppletMsgDTO.getFromUserName(),
 | 
	
		
			
				|  |  | -                orderId, ExpireTimeEnum.FIVE_MIN.getTime());
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      private KfWebSocketMsgDTO transform(KfRoom kfRoom, Long gameId, KfRoomMsg kfRoomMsg, KfWebSocketMsgDTO.MsgContentBean msgContent) {
 | 
	
	
		
			
				|  | @@ -283,6 +278,15 @@ public class KfAppletMsgServiceImpl implements IKfAppletMsgService {
 | 
	
		
			
				|  |  |          if (Objects.equals(KfRoomMsgTypeEnum.KF_MSG_TYPE_IMAGE.getValue(), kfAppletMsgDTO.getMsgType())) {
 | 
	
		
			
				|  |  |              msgContentBean.setImage(this.mediaConvertOss(kfAppletMsgDTO.getPicUrl()));
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        if (Objects.equals(KfRoomMsgTypeEnum.KF_MSG_TYPE_MINI_APP.getValue(), kfAppletMsgDTO.getMsgType())) {
 | 
	
		
			
				|  |  | +            msgContentBean.setMiniprogrampage(KfWebSocketMsgDTO.MiniAppBean
 | 
	
		
			
				|  |  | +                    .builder()
 | 
	
		
			
				|  |  | +                    .title(kfAppletMsgDTO.getTitle())
 | 
	
		
			
				|  |  | +                    .appId(kfAppletMsgDTO.getAppId())
 | 
	
		
			
				|  |  | +                    .pagePath(kfAppletMsgDTO.getPagePath())
 | 
	
		
			
				|  |  | +                    .thumbUrl(kfAppletMsgDTO.getThumbUrl())
 | 
	
		
			
				|  |  | +                    .build());
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          return msgContentBean;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 |