Commit 7312f517 by 罗长华

群主和群管理不受群控制影响

parent f19303c1
...@@ -127,7 +127,7 @@ public class NormalChatAction { ...@@ -127,7 +127,7 @@ public class NormalChatAction {
responseModel.setCode(result.getCode()); responseModel.setCode(result.getCode());
responseModel.setMsg(result.getMessage()); responseModel.setMsg(result.getMessage());
responseModel.setReqId(reqId); responseModel.setReqId(reqId);
channelSender.sendMsgLocal((NioSocketChannel)request.getSenderChannel(), responseModel); channelSender.sendMsgLocal((NioSocketChannel) request.getSenderChannel(), responseModel);
return; return;
} }
// 判断为单聊 // 判断为单聊
...@@ -144,7 +144,7 @@ public class NormalChatAction { ...@@ -144,7 +144,7 @@ public class NormalChatAction {
return; return;
} }
// 消息内容校验 // 消息内容校验
if (!checkMsg(conversation, reqId, data, request.getSenderChannel())) { if (!checkMsg(imClientSender, conversation, reqId, data, request.getSenderChannel())) {
return; return;
} }
...@@ -159,7 +159,7 @@ public class NormalChatAction { ...@@ -159,7 +159,7 @@ public class NormalChatAction {
if (imClientReceiver == null) { if (imClientReceiver == null) {
continue; continue;
} }
if(imClientReceiver.getId().equals(imClientSender.getId())) { if (imClientReceiver.getId().equals(imClientSender.getId())) {
// 不给自己发 // 不给自己发
continue; continue;
} }
...@@ -248,7 +248,7 @@ public class NormalChatAction { ...@@ -248,7 +248,7 @@ public class NormalChatAction {
responseModel.setData(new MsgVo(messageId)); responseModel.setData(new MsgVo(messageId));
responseModel.setReqId(reqId); responseModel.setReqId(reqId);
// 响应发送方 // 响应发送方
channelSender.sendMsgLocal((NioSocketChannel)channel, responseModel); channelSender.sendMsgLocal((NioSocketChannel) channel, responseModel);
} }
/** /**
...@@ -285,7 +285,7 @@ public class NormalChatAction { ...@@ -285,7 +285,7 @@ public class NormalChatAction {
private boolean black(String reqId, ImClient imClientSender, List<ImConversationMembers> membersList, Channel channel) { private boolean black(String reqId, ImClient imClientSender, List<ImConversationMembers> membersList, Channel channel) {
String meClientId = imClientSender.getClientId(); String meClientId = imClientSender.getClientId();
String heClientId; String heClientId;
if(membersList.get(0).getClientId() != null && membersList.get(0).getClientId().equals(meClientId)) { if (membersList.get(0).getClientId() != null && membersList.get(0).getClientId().equals(meClientId)) {
heClientId = membersList.get(1).getClientId(); heClientId = membersList.get(1).getClientId();
} else { } else {
heClientId = membersList.get(0).getClientId(); heClientId = membersList.get(0).getClientId();
...@@ -301,7 +301,7 @@ public class NormalChatAction { ...@@ -301,7 +301,7 @@ public class NormalChatAction {
responseModel.setCode(result.getCode()); responseModel.setCode(result.getCode());
responseModel.setMsg(result.getMessage()); responseModel.setMsg(result.getMessage());
responseModel.setReqId(reqId); responseModel.setReqId(reqId);
channelSender.sendMsgLocal((NioSocketChannel)channel, responseModel); channelSender.sendMsgLocal((NioSocketChannel) channel, responseModel);
return true; return true;
} }
...@@ -316,7 +316,7 @@ public class NormalChatAction { ...@@ -316,7 +316,7 @@ public class NormalChatAction {
responseModel.setCode(result.getCode()); responseModel.setCode(result.getCode());
responseModel.setMsg(result.getMessage()); responseModel.setMsg(result.getMessage());
responseModel.setReqId(reqId); responseModel.setReqId(reqId);
channelSender.sendMsgLocal((NioSocketChannel)channel, responseModel); channelSender.sendMsgLocal((NioSocketChannel) channel, responseModel);
return true; return true;
} }
return false; return false;
...@@ -343,7 +343,7 @@ public class NormalChatAction { ...@@ -343,7 +343,7 @@ public class NormalChatAction {
responseModel.setCode(result.getCode()); responseModel.setCode(result.getCode());
responseModel.setMsg(result.getMessage()); responseModel.setMsg(result.getMessage());
responseModel.setReqId(reqId); responseModel.setReqId(reqId);
channelSender.sendMsgLocal((NioSocketChannel)channel, responseModel); channelSender.sendMsgLocal((NioSocketChannel) channel, responseModel);
return true; return true;
} }
return false; return false;
...@@ -397,12 +397,19 @@ public class NormalChatAction { ...@@ -397,12 +397,19 @@ public class NormalChatAction {
* @Date 2022年04月27日 04:39:04 * @Date 2022年04月27日 04:39:04
* @Return * @Return
*/ */
private boolean checkMsg(ImConversationQueryVo conversation, String reqId, private boolean checkMsg(ImClient sender, ImConversationQueryVo conversation, String reqId,
ChatContentVo data, Channel channel) { ChatContentVo data, Channel channel) {
boolean result = false;
if (imConversationService.isBelongToRole(sender.getClientId(), conversation.getId(),
Lists.newArrayList(GroupRoleEnum.OWNER.getCode(), GroupRoleEnum.ADMIN.getCode()))) {
// 当前操作人属于群主或管理人员 - 不做处理
return true;
}
String msgContent = data.getText(); String msgContent = data.getText();
// 是否图片 // 是否图片
if (MsgTypeEnum.MEDIA_TYPE_IMAGE.getUriCode() == data.getType()) { if (MsgTypeEnum.MEDIA_TYPE_IMAGE.getUriCode() == data.getType()) {
if (conversation.getForbidSendPic()) { if (conversation.getForbidSendPic()) {
// 响应发送方 // 响应发送方
WsResponse<HashMap<String, Long>> responseModel = new WsResponse<>(); WsResponse<HashMap<String, Long>> responseModel = new WsResponse<>();
...@@ -415,6 +422,7 @@ public class NormalChatAction { ...@@ -415,6 +422,7 @@ public class NormalChatAction {
return false; return false;
} }
} }
if (MsgTypeEnum.MEDIA_TYPE_TEXT.getUriCode() == data.getType()) { if (MsgTypeEnum.MEDIA_TYPE_TEXT.getUriCode() == data.getType()) {
// 判断是否开启禁止发送链接 // 判断是否开启禁止发送链接
if (conversation.getForbidSendLink()) { if (conversation.getForbidSendLink()) {
...@@ -424,21 +432,21 @@ public class NormalChatAction { ...@@ -424,21 +432,21 @@ public class NormalChatAction {
Pattern pat = Pattern.compile(regex); Pattern pat = Pattern.compile(regex);
Matcher mat = pat.matcher(msgContent.trim()); Matcher mat = pat.matcher(msgContent.trim());
result = mat.find(); boolean result = mat.find();
}
if (result) { if (result) {
log.info("群: {}, 已被禁止发送链接", conversation.getName()); log.info("群: {}, 已被禁止发送链接", conversation.getName());
// 响应发送方 // 响应发送方
WsResponse<HashMap<String, Long>> responseModel = new WsResponse<>(); WsResponse<HashMap<String, Long>> responseModel = new WsResponse<>();
ApiResult<Boolean> apiResult = ApiResult.result(ApiCode.IS_BE_FORBID_SEND_LINK); ApiResult<Boolean> apiResult = ApiResult.result(ApiCode.IS_BE_FORBID_SEND_LINK);
responseModel.setCmd(WsResponseCmdEnum.RES.getCmdCode()); responseModel.setCmd(WsResponseCmdEnum.RES.getCmdCode());
responseModel.setCode(apiResult.getCode()); responseModel.setCode(apiResult.getCode());
responseModel.setMsg(apiResult.getMessage()); responseModel.setMsg(apiResult.getMessage());
responseModel.setReqId(reqId); responseModel.setReqId(reqId);
channelSender.sendMsgLocal((NioSocketChannel) channel, responseModel); channelSender.sendMsgLocal((NioSocketChannel) channel, responseModel);
return false; return false;
}
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment