Commit 7312f517 by 罗长华

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

parent f19303c1
......@@ -127,7 +127,7 @@ public class NormalChatAction {
responseModel.setCode(result.getCode());
responseModel.setMsg(result.getMessage());
responseModel.setReqId(reqId);
channelSender.sendMsgLocal((NioSocketChannel)request.getSenderChannel(), responseModel);
channelSender.sendMsgLocal((NioSocketChannel) request.getSenderChannel(), responseModel);
return;
}
// 判断为单聊
......@@ -144,7 +144,7 @@ public class NormalChatAction {
return;
}
// 消息内容校验
if (!checkMsg(conversation, reqId, data, request.getSenderChannel())) {
if (!checkMsg(imClientSender, conversation, reqId, data, request.getSenderChannel())) {
return;
}
......@@ -159,7 +159,7 @@ public class NormalChatAction {
if (imClientReceiver == null) {
continue;
}
if(imClientReceiver.getId().equals(imClientSender.getId())) {
if (imClientReceiver.getId().equals(imClientSender.getId())) {
// 不给自己发
continue;
}
......@@ -248,7 +248,7 @@ public class NormalChatAction {
responseModel.setData(new MsgVo(messageId));
responseModel.setReqId(reqId);
// 响应发送方
channelSender.sendMsgLocal((NioSocketChannel)channel, responseModel);
channelSender.sendMsgLocal((NioSocketChannel) channel, responseModel);
}
/**
......@@ -285,7 +285,7 @@ public class NormalChatAction {
private boolean black(String reqId, ImClient imClientSender, List<ImConversationMembers> membersList, Channel channel) {
String meClientId = imClientSender.getClientId();
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();
} else {
heClientId = membersList.get(0).getClientId();
......@@ -301,7 +301,7 @@ public class NormalChatAction {
responseModel.setCode(result.getCode());
responseModel.setMsg(result.getMessage());
responseModel.setReqId(reqId);
channelSender.sendMsgLocal((NioSocketChannel)channel, responseModel);
channelSender.sendMsgLocal((NioSocketChannel) channel, responseModel);
return true;
}
......@@ -316,7 +316,7 @@ public class NormalChatAction {
responseModel.setCode(result.getCode());
responseModel.setMsg(result.getMessage());
responseModel.setReqId(reqId);
channelSender.sendMsgLocal((NioSocketChannel)channel, responseModel);
channelSender.sendMsgLocal((NioSocketChannel) channel, responseModel);
return true;
}
return false;
......@@ -343,7 +343,7 @@ public class NormalChatAction {
responseModel.setCode(result.getCode());
responseModel.setMsg(result.getMessage());
responseModel.setReqId(reqId);
channelSender.sendMsgLocal((NioSocketChannel)channel, responseModel);
channelSender.sendMsgLocal((NioSocketChannel) channel, responseModel);
return true;
}
return false;
......@@ -397,12 +397,19 @@ public class NormalChatAction {
* @Date 2022年04月27日 04:39:04
* @Return
*/
private boolean checkMsg(ImConversationQueryVo conversation, String reqId,
private boolean checkMsg(ImClient sender, ImConversationQueryVo conversation, String reqId,
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();
// 是否图片
if (MsgTypeEnum.MEDIA_TYPE_IMAGE.getUriCode() == data.getType()) {
if (conversation.getForbidSendPic()) {
// 响应发送方
WsResponse<HashMap<String, Long>> responseModel = new WsResponse<>();
......@@ -415,6 +422,7 @@ public class NormalChatAction {
return false;
}
}
if (MsgTypeEnum.MEDIA_TYPE_TEXT.getUriCode() == data.getType()) {
// 判断是否开启禁止发送链接
if (conversation.getForbidSendLink()) {
......@@ -424,21 +432,21 @@ public class NormalChatAction {
Pattern pat = Pattern.compile(regex);
Matcher mat = pat.matcher(msgContent.trim());
result = mat.find();
}
if (result) {
log.info("群: {}, 已被禁止发送链接", conversation.getName());
// 响应发送方
WsResponse<HashMap<String, Long>> responseModel = new WsResponse<>();
ApiResult<Boolean> apiResult = ApiResult.result(ApiCode.IS_BE_FORBID_SEND_LINK);
responseModel.setCmd(WsResponseCmdEnum.RES.getCmdCode());
responseModel.setCode(apiResult.getCode());
responseModel.setMsg(apiResult.getMessage());
responseModel.setReqId(reqId);
channelSender.sendMsgLocal((NioSocketChannel) channel, responseModel);
return false;
boolean result = mat.find();
if (result) {
log.info("群: {}, 已被禁止发送链接", conversation.getName());
// 响应发送方
WsResponse<HashMap<String, Long>> responseModel = new WsResponse<>();
ApiResult<Boolean> apiResult = ApiResult.result(ApiCode.IS_BE_FORBID_SEND_LINK);
responseModel.setCmd(WsResponseCmdEnum.RES.getCmdCode());
responseModel.setCode(apiResult.getCode());
responseModel.setMsg(apiResult.getMessage());
responseModel.setReqId(reqId);
channelSender.sendMsgLocal((NioSocketChannel) channel, responseModel);
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