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