|
@@ -162,8 +162,7 @@ public class KfAppletMsgServiceImpl implements IKfAppletMsgService {
|
|
|
//客服休息时间, 发送自动回复
|
|
|
this.systemReplyHandle(gameApplet.getGameId(), kfAppletMsgDTO.getFromUserName(), kfRoom);
|
|
|
//小程序自动回复
|
|
|
- this.appletReplyHandle(gameApplet.getGameId(), kfAppletMsgDTO.getFromUserName(), kfRoom,
|
|
|
- kfAppletMsgDTO.getSessionFrom(), gameApplet.getAppId());
|
|
|
+ this.appletReplyHandle(gameApplet.getGameId(), kfAppletMsgDTO.getFromUserName(), kfRoom, gameApplet.getAppId());
|
|
|
//消息报警监测
|
|
|
this.monitorWordHandle(gameApplet, kfAppletMsgDTO);
|
|
|
//保存房间消息
|
|
@@ -174,6 +173,7 @@ public class KfAppletMsgServiceImpl implements IKfAppletMsgService {
|
|
|
.set(KfSessionUser::getIsWait, Boolean.TRUE)
|
|
|
.set(KfSessionUser::getWaitStartTime, LocalDateTime.now())
|
|
|
.set(KfSessionUser::getUpdateTime, LocalDateTime.now())
|
|
|
+ .isNull(KfSessionUser::getSessionFrom)
|
|
|
.eq(KfSessionUser::getOpenId, kfAppletMsgDTO.getFromUserName())
|
|
|
.eq(KfSessionUser::getGameId, gameApplet.getGameId())
|
|
|
);
|
|
@@ -182,9 +182,11 @@ public class KfAppletMsgServiceImpl implements IKfAppletMsgService {
|
|
|
this.pushMessage(this.transform(kfRoom, gameApplet.getGameId(), kfAppletMsgDTO.getFromUserName(), kfRoomMsg, msgContent));
|
|
|
}
|
|
|
|
|
|
- private void appletReplyHandle(Long gameId, String openId, KfRoom kfRoom, String sessionFrom, String appId) {
|
|
|
+ private void appletReplyHandle(Long gameId, String openId, KfRoom kfRoom, String appId) {
|
|
|
+ //玩家信息
|
|
|
+ KfSessionUser kfSessionUser = kfSessionUserService.getById(openId, gameId);
|
|
|
//来源类型
|
|
|
- KfSessionFromEnum kfSessionFrom = KfSessionFromEnum.getKfSessionFrom(sessionFrom);
|
|
|
+ KfSessionFromEnum kfSessionFrom = KfSessionFromEnum.getKfSessionFrom(kfSessionUser.getSessionFrom());
|
|
|
if (kfSessionFrom == null) {
|
|
|
return;
|
|
|
}
|
|
@@ -194,14 +196,14 @@ public class KfAppletMsgServiceImpl implements IKfAppletMsgService {
|
|
|
return;
|
|
|
}
|
|
|
//判断是否来源与平台
|
|
|
- if (Objects.equals(sessionFrom, KfSessionFromEnum.KF_SESSION_FROM_PLATFORM.getValue())) {
|
|
|
+ if (Objects.equals(kfSessionFrom, KfSessionFromEnum.KF_SESSION_FROM_PLATFORM)) {
|
|
|
//回复默认消息
|
|
|
if (Strings.isNotBlank(kfAppletReply.getReplyDefault())) {
|
|
|
this.sysMsgSend(gameId, openId, kfAppletReply.getReplyDefault(), kfRoom);
|
|
|
}
|
|
|
}
|
|
|
//判断是否来源于广告
|
|
|
- if (Objects.equals(sessionFrom, KfSessionFromEnum.KF_SESSION_FROM_AD.getValue())) {
|
|
|
+ if (Objects.equals(kfSessionFrom, KfSessionFromEnum.KF_SESSION_FROM_AD)) {
|
|
|
//存在文本消息发送
|
|
|
if (Strings.isNotBlank(kfAppletReply.getReplyText())) {
|
|
|
this.sysMsgSend(gameId, openId, kfAppletReply.getReplyText(), kfRoom);
|
|
@@ -482,6 +484,7 @@ public class KfAppletMsgServiceImpl implements IKfAppletMsgService {
|
|
|
.set(KfSessionUser::getLastRoleName, gameUserRole.getRoleName())
|
|
|
.set(KfSessionUser::getServerId, gameUserRole.getServerId())
|
|
|
.set(KfSessionUser::getServerName, gameUserRole.getServerName())
|
|
|
+ .set(KfSessionUser::getSessionFrom, kfAppletMsgDTO.getSessionFrom())
|
|
|
.set(KfSessionUser::getUpdateTime, LocalDateTime.now())
|
|
|
.eq(KfSessionUser::getOpenId, kfAppletMsgDTO.getFromUserName())
|
|
|
.eq(KfSessionUser::getGameId, gameApplet.getGameId())
|
|
@@ -498,6 +501,7 @@ public class KfAppletMsgServiceImpl implements IKfAppletMsgService {
|
|
|
.lastRoleName(gameUserRole == null ? "神秘人[未创角]" : gameUserRole.getRoleName())
|
|
|
.serverId(gameUserRole == null ? null : gameUserRole.getServerId())
|
|
|
.serverName(gameUserRole == null ? null : gameUserRole.getServerName())
|
|
|
+ .sessionFrom(kfAppletMsgDTO.getSessionFrom())
|
|
|
.createTime(LocalDateTime.now())
|
|
|
.updateTime(LocalDateTime.now())
|
|
|
.build();
|