| 
					
				 | 
			
			
				@@ -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; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |