消息--添加发起人字段
This commit is contained in:
@@ -45,3 +45,7 @@ ALTER TABLE `laws_weilai`.`sys_announcement`
|
|||||||
INSERT INTO `sys_config` ( `id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `config`, `config_name` )
|
INSERT INTO `sys_config` ( `id`, `create_by`, `create_time`, `update_by`, `update_time`, `sys_org_code`, `config`, `config_name` )
|
||||||
VALUES
|
VALUES
|
||||||
( '3', 'admin', '2022-07-09 18:38:23', 'admin', '2022-07-09 18:38:28', 'A01', 'http://localhost:8080', 'domianPreviewURL' );
|
( '3', 'admin', '2022-07-09 18:38:23', 'admin', '2022-07-09 18:38:28', 'A01', 'http://localhost:8080', 'domianPreviewURL' );
|
||||||
|
|
||||||
|
-- 消息表添加发起人字段
|
||||||
|
ALTER TABLE `sys_announcement`
|
||||||
|
ADD COLUMN `initiator` varchar(255) NULL COMMENT '发起人' AFTER `document_id`;
|
||||||
|
|||||||
+1
@@ -21,6 +21,7 @@ public enum MessageTypeEnum {
|
|||||||
DESIGN_COMPLIANCE_NOTIFICATION("Design Compliance Notification", "12"), // 设计符合性通知
|
DESIGN_COMPLIANCE_NOTIFICATION("Design Compliance Notification", "12"), // 设计符合性通知
|
||||||
PRE_HOMO_NOTIFICATION("Pre-Homo Notification", "13"), // Pre-Homo通知
|
PRE_HOMO_NOTIFICATION("Pre-Homo Notification", "13"), // Pre-Homo通知
|
||||||
VALIDATION_COMPLIANCE_NOTIFICATION("Validation Compliance Notification", "14"), // 验证符合性通知
|
VALIDATION_COMPLIANCE_NOTIFICATION("Validation Compliance Notification", "14"), // 验证符合性通知
|
||||||
|
SYSTEMATIC_NOTIFICATION("Systematic Notification", "15"), // 系统通知
|
||||||
;
|
;
|
||||||
|
|
||||||
String name;
|
String name;
|
||||||
|
|||||||
+4
@@ -153,4 +153,8 @@ public class SysAnnouncement implements Serializable {
|
|||||||
* 文档id
|
* 文档id
|
||||||
*/
|
*/
|
||||||
private java.lang.String documentId;
|
private java.lang.String documentId;
|
||||||
|
/**
|
||||||
|
* 发起人
|
||||||
|
*/
|
||||||
|
private java.lang.String initiator;
|
||||||
}
|
}
|
||||||
|
|||||||
+1
@@ -27,6 +27,7 @@
|
|||||||
<result column="open_type" property="openType" jdbcType="VARCHAR"/>
|
<result column="open_type" property="openType" jdbcType="VARCHAR"/>
|
||||||
<result column="open_page" property="openPage" jdbcType="VARCHAR"/>
|
<result column="open_page" property="openPage" jdbcType="VARCHAR"/>
|
||||||
<result column="document_id" property="documentId" jdbcType="VARCHAR"/>
|
<result column="document_id" property="documentId" jdbcType="VARCHAR"/>
|
||||||
|
<result column="initiator" property="initiator" jdbcType="VARCHAR"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+3
-1
@@ -17,6 +17,7 @@
|
|||||||
<result column="open_type" property="openType" jdbcType="VARCHAR"/>
|
<result column="open_type" property="openType" jdbcType="VARCHAR"/>
|
||||||
<result column="open_page" property="openPage" jdbcType="VARCHAR"/>
|
<result column="open_page" property="openPage" jdbcType="VARCHAR"/>
|
||||||
<result column="document_id" property="documentId" jdbcType="VARCHAR"/>
|
<result column="document_id" property="documentId" jdbcType="VARCHAR"/>
|
||||||
|
<result column="initiator" property="initiator" jdbcType="VARCHAR"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<select id="queryByUserId" parameterType="String" resultType="String">
|
<select id="queryByUserId" parameterType="String" resultType="String">
|
||||||
@@ -41,7 +42,8 @@
|
|||||||
sa.open_type as open_type,
|
sa.open_type as open_type,
|
||||||
sa.open_page as open_page,
|
sa.open_page as open_page,
|
||||||
sa.msg_abstract,
|
sa.msg_abstract,
|
||||||
sa.document_id as document_id
|
sa.document_id as document_id,
|
||||||
|
sa.initiator as initiator
|
||||||
from sys_announcement_send sas
|
from sys_announcement_send sas
|
||||||
left join sys_announcement sa ON sas.annt_id = sa.id
|
left join sys_announcement sa ON sas.annt_id = sa.id
|
||||||
where sa.del_flag = '0'
|
where sa.del_flag = '0'
|
||||||
|
|||||||
+4
@@ -82,5 +82,9 @@ public class AnnouncementSendModel implements Serializable {
|
|||||||
* 文档id
|
* 文档id
|
||||||
*/
|
*/
|
||||||
private java.lang.String documentId;
|
private java.lang.String documentId;
|
||||||
|
/**
|
||||||
|
* 发起人
|
||||||
|
*/
|
||||||
|
private java.lang.String initiator;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+27
-13
@@ -42,6 +42,7 @@ import com.jero.modules.domain.entity.DomainUserRel;
|
|||||||
import com.jero.modules.domain.service.DomainUserRelService;
|
import com.jero.modules.domain.service.DomainUserRelService;
|
||||||
import com.jero.modules.domain.service.impl.DomainManageServiceImpl;
|
import com.jero.modules.domain.service.impl.DomainManageServiceImpl;
|
||||||
import com.jero.modules.feishu.service.IFeishuService;
|
import com.jero.modules.feishu.service.IFeishuService;
|
||||||
|
import com.jero.modules.feishu.vo.FeishuMsgVo;
|
||||||
import com.jero.modules.home.entity.HomeDocumentDynamicEO;
|
import com.jero.modules.home.entity.HomeDocumentDynamicEO;
|
||||||
import com.jero.modules.home.service.IHomeDocumentDynamicEOService;
|
import com.jero.modules.home.service.IHomeDocumentDynamicEOService;
|
||||||
import com.jero.modules.log.entity.BussLogEO;
|
import com.jero.modules.log.entity.BussLogEO;
|
||||||
@@ -309,7 +310,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
String contentInfo =content;
|
String contentInfo =content;
|
||||||
String title = content;
|
String title = content;
|
||||||
//封装消息的实体类
|
//封装消息的实体类
|
||||||
SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdList, title, content, contentInfo,MessageTypeEnum.READ.getValue());
|
SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdList, title, content, contentInfo,MessageTypeEnum.READ.getValue(),MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
|
||||||
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
||||||
sendWebsocket(StringUtils.join(serialNumberList, ","), contentInfo);
|
sendWebsocket(StringUtils.join(serialNumberList, ","), contentInfo);
|
||||||
}
|
}
|
||||||
@@ -2143,7 +2144,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
+ href +" has been updated.";
|
+ href +" has been updated.";
|
||||||
String msgTitle = "The " + technologyTerritoryName + " technical field you subscribed to has been updated";
|
String msgTitle = "The " + technologyTerritoryName + " technical field you subscribed to has been updated";
|
||||||
//封装消息的实体类
|
//封装消息的实体类
|
||||||
SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdList, msgTitle, content, contentInfo,MessageTypeEnum.READ.getValue());
|
SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdList, msgTitle, content, contentInfo,MessageTypeEnum.READ.getValue(),MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
|
||||||
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
||||||
sendWebsocket(idTemp, contentInfo);
|
sendWebsocket(idTemp, contentInfo);
|
||||||
//飞书
|
//飞书
|
||||||
@@ -3145,7 +3146,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
String contentInfo = "In the " + technologyTerritoryNameEn + " technical field you subscribed to," +sysUser.getUsername()+" changed the "+ href + " " + sbStr.toString();
|
String contentInfo = "In the " + technologyTerritoryNameEn + " technical field you subscribed to," +sysUser.getUsername()+" changed the "+ href + " " + sbStr.toString();
|
||||||
String msgTitle = "The" + technologyTerritoryNameEn + "technical field you subscribed to has been updated";
|
String msgTitle = "The" + technologyTerritoryNameEn + "technical field you subscribed to has been updated";
|
||||||
// 封装消息的实体类
|
// 封装消息的实体类
|
||||||
SysAnnouncement sysAnnouncement = getSysAnnouncement(userList, msgTitle, contentInfoFei, contentInfo,MessageTypeEnum.READ.getValue());
|
SysAnnouncement sysAnnouncement = getSysAnnouncement(userList, msgTitle, contentInfoFei, contentInfo,MessageTypeEnum.READ.getValue(),MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
|
||||||
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
||||||
sendWebsocket((String) map.get("id"), contentInfo);
|
sendWebsocket((String) map.get("id"), contentInfo);
|
||||||
}
|
}
|
||||||
@@ -3167,7 +3168,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
String contentInfo = "In the "+category + " " + href+" you subscribed to, "+sysUser.getUsername()+" changed the "+ href + " " + sbStr.toString();
|
String contentInfo = "In the "+category + " " + href+" you subscribed to, "+sysUser.getUsername()+" changed the "+ href + " " + sbStr.toString();
|
||||||
String msgTitle = serialNumber + "you subsribed to has been updated";
|
String msgTitle = serialNumber + "you subsribed to has been updated";
|
||||||
//封装消息的实体类
|
//封装消息的实体类
|
||||||
SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdListUpdate, msgTitle, content, contentInfo,MessageTypeEnum.READ.getValue());
|
SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdListUpdate, msgTitle, content, contentInfo,MessageTypeEnum.READ.getValue(),MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
|
||||||
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
||||||
sendWebsocket((String) map.get("id"), contentInfo);
|
sendWebsocket((String) map.get("id"), contentInfo);
|
||||||
}
|
}
|
||||||
@@ -3248,7 +3249,7 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
String contentInfo = "New numbering implemented, please note update status of alternate numbering " + sbStr;
|
String contentInfo = "New numbering implemented, please note update status of alternate numbering " + sbStr;
|
||||||
String msgTitle = contentInfo;
|
String msgTitle = contentInfo;
|
||||||
//封装消息的实体类
|
//封装消息的实体类
|
||||||
SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdList, msgTitle, content, contentInfo,MessageTypeEnum.READ.getValue());
|
SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdList, msgTitle, content, contentInfo,MessageTypeEnum.READ.getValue(),MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
|
||||||
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
||||||
sendWebsocket(StringUtils.join(serialNumberListTemp, ","), contentInfo);
|
sendWebsocket(StringUtils.join(serialNumberListTemp, ","), contentInfo);
|
||||||
//飞书
|
//飞书
|
||||||
@@ -3271,8 +3272,14 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
|
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public SysAnnouncement getSysAnnouncement(List<String> userIdList, String title, String content, String contentInfo,String messageType) {
|
public SysAnnouncement getSysAnnouncement(List<String> userIdList,
|
||||||
|
String title,
|
||||||
|
String content,
|
||||||
|
String contentInfo,
|
||||||
|
String messageType,
|
||||||
|
String initiator) {
|
||||||
SysAnnouncement sysAnnouncement = new SysAnnouncement();
|
SysAnnouncement sysAnnouncement = new SysAnnouncement();
|
||||||
|
sysAnnouncement.setInitiator(initiator);
|
||||||
sysAnnouncement.setDelFlag("0");
|
sysAnnouncement.setDelFlag("0");
|
||||||
sysAnnouncement.setSendStatus("0");
|
sysAnnouncement.setSendStatus("0");
|
||||||
sysAnnouncement.setSendTime(new Date());
|
sysAnnouncement.setSendTime(new Date());
|
||||||
@@ -4684,10 +4691,6 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String pullMessage(String departIds, String userIds, String documentIds) {
|
public String pullMessage(String departIds, String userIds, String documentIds) {
|
||||||
// departIds = "c6d7cb4deeac411cb3384b1b31278596";
|
|
||||||
// if(StringUtils.isBlank(documentIds)){
|
|
||||||
// return "请选择文档";
|
|
||||||
// }
|
|
||||||
Set<String> allDepartIds = new HashSet<>();
|
Set<String> allDepartIds = new HashSet<>();
|
||||||
//查询当前部门下所有部门
|
//查询当前部门下所有部门
|
||||||
if (StringUtils.isNotEmpty(departIds)) {
|
if (StringUtils.isNotEmpty(departIds)) {
|
||||||
@@ -4746,9 +4749,9 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||||
String content = sysUser.getUsername() + " pushed " + StringUtils.join(serialNumberList, ",") + " to you. Please be reminded to check it out.";
|
String content = sysUser.getUsername() + " pushed " + StringUtils.join(serialNumberList, ",") + " to you. Please be reminded to check it out.";
|
||||||
String contentInfo = sysUser.getUsername() + " pushed " + StringUtils.join(hrefList, ",") + " to you. Please be reminded to check it out.";
|
String contentInfo = sysUser.getUsername() + " pushed " + StringUtils.join(hrefList, ",") + " to you. Please be reminded to check it out.";
|
||||||
String title = StringUtils.join(serialNumberList, ",") + "has been pushed to you, please check";
|
String title = StringUtils.join(serialNumberList, ",") + " has been pushed to you, please check";
|
||||||
//封装消息的实体类
|
//封装消息的实体类
|
||||||
SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdList, title, content, contentInfo,MessageTypeEnum.PUSH.getValue());
|
SysAnnouncement sysAnnouncement = getSysAnnouncement(userIdList, title, content, contentInfo,MessageTypeEnum.PUSH.getValue(),MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
|
||||||
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
||||||
sendWebsocket(StringUtils.join(thirdIdList, ","), contentInfo);
|
sendWebsocket(StringUtils.join(thirdIdList, ","), contentInfo);
|
||||||
//飞书
|
//飞书
|
||||||
@@ -4763,7 +4766,9 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
String contentTemp = sysUser.getUsername() + " pushed " + StringUtils.join(list, ",") + " to you. Please be reminded to check it out.";
|
String contentTemp = sysUser.getUsername() + " pushed " + StringUtils.join(list, ",") + " to you. Please be reminded to check it out.";
|
||||||
iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), contentTemp, MessageTypeEnum.PUSH.getName(), encode);
|
FeishuMsgVo feishuMsgVo = getFeishuMsgVo(MessageTypeEnum.PUSH.getName(),MessageTypeEnum.PUSH.getName(), contentTemp, encode);
|
||||||
|
iFeishuService.sendCardMsg(thirdIdList.toArray(new String[]{}), feishuMsgVo);
|
||||||
|
// iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), contentTemp, MessageTypeEnum.PUSH.getName(), encode);
|
||||||
}
|
}
|
||||||
} catch (IOException e) {
|
} catch (IOException e) {
|
||||||
log.error("飞书推送失败");
|
log.error("飞书推送失败");
|
||||||
@@ -4772,6 +4777,15 @@ public class BussDocumentLibraryEOServiceImpl extends ServiceImpl<BussDocumentLi
|
|||||||
return "推送成功";
|
return "推送成功";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private FeishuMsgVo getFeishuMsgVo(String title, String taskType, String content,String url) {
|
||||||
|
FeishuMsgVo feishuMsgVo = new FeishuMsgVo();
|
||||||
|
feishuMsgVo.setTitle(title);
|
||||||
|
feishuMsgVo.setContent(content);
|
||||||
|
feishuMsgVo.setTaskType(taskType);
|
||||||
|
feishuMsgVo.setUrl(url);
|
||||||
|
return feishuMsgVo;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 属性字典处理中文
|
* 属性字典处理中文
|
||||||
|
|||||||
+2
-2
@@ -1150,7 +1150,7 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
|
|||||||
|
|
||||||
msgTitle = "The " + baseName + " virtual list you subscribed to has been updated";
|
msgTitle = "The " + baseName + " virtual list you subscribed to has been updated";
|
||||||
//封装消息的实体类
|
//封装消息的实体类
|
||||||
SysAnnouncement sysAnnouncement = bussDocumentLibraryEOService.getSysAnnouncement(userIdList, msgTitle, content, contentInfo,MessageTypeEnum.READ.getValue());
|
SysAnnouncement sysAnnouncement = bussDocumentLibraryEOService.getSysAnnouncement(userIdList, msgTitle, content, contentInfo,MessageTypeEnum.READ.getValue(),MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
|
||||||
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
||||||
bussDocumentLibraryEOService.sendWebsocket(idTemp, contentInfo);
|
bussDocumentLibraryEOService.sendWebsocket(idTemp, contentInfo);
|
||||||
//飞书
|
//飞书
|
||||||
@@ -1164,7 +1164,7 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
|
|||||||
contentInfo = "Please note that the "+baseName+" virtual list you subscribed to has been withdrawn.";
|
contentInfo = "Please note that the "+baseName+" virtual list you subscribed to has been withdrawn.";
|
||||||
msgTitle = "The " + baseName + " virtual list you subscribed to has been withdrawn";
|
msgTitle = "The " + baseName + " virtual list you subscribed to has been withdrawn";
|
||||||
//封装消息的实体类
|
//封装消息的实体类
|
||||||
SysAnnouncement sysAnnouncement = bussDocumentLibraryEOService.getSysAnnouncement(userIdList, msgTitle, content, contentInfo,MessageTypeEnum.READ.getValue());
|
SysAnnouncement sysAnnouncement = bussDocumentLibraryEOService.getSysAnnouncement(userIdList, msgTitle, content, contentInfo,MessageTypeEnum.READ.getValue(),MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
|
||||||
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
||||||
bussDocumentLibraryEOService.sendWebsocket(idTemp, contentInfo);
|
bussDocumentLibraryEOService.sendWebsocket(idTemp, contentInfo);
|
||||||
//飞书
|
//飞书
|
||||||
|
|||||||
+1
-1
@@ -335,7 +335,7 @@ public class LawsWarnService {
|
|||||||
String title = content;
|
String title = content;
|
||||||
|
|
||||||
//封装消息的实体类
|
//封装消息的实体类
|
||||||
SysAnnouncement sysAnnouncement = bussDocumentLibraryEOService.getSysAnnouncement(userIdList, title, content, contentInfo,MessageTypeEnum.PUSH.getValue());
|
SysAnnouncement sysAnnouncement = bussDocumentLibraryEOService.getSysAnnouncement(userIdList, title, content, contentInfo,MessageTypeEnum.PUSH.getValue(),MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
|
||||||
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
||||||
bussDocumentLibraryEOService.sendWebsocket(StringUtils.join(thirdIdList, ","), contentInfo);
|
bussDocumentLibraryEOService.sendWebsocket(StringUtils.join(thirdIdList, ","), contentInfo);
|
||||||
//飞书
|
//飞书
|
||||||
|
|||||||
+1
-1
@@ -152,7 +152,7 @@ public class TimedTaskWarn implements Job {
|
|||||||
private void sendMessage(String title, String content,String contentInfo,String contentFeiShu, String url, List<String> userIdList, List<String> thirdIdList) {
|
private void sendMessage(String title, String content,String contentInfo,String contentFeiShu, String url, List<String> userIdList, List<String> thirdIdList) {
|
||||||
//站内消息
|
//站内消息
|
||||||
//封装消息的实体类
|
//封装消息的实体类
|
||||||
SysAnnouncement sysAnnouncement = bussDocumentLibraryEOService.getSysAnnouncement(userIdList, title, content, contentInfo,MessageTypeEnum.WARN.getValue());
|
SysAnnouncement sysAnnouncement = bussDocumentLibraryEOService.getSysAnnouncement(userIdList, title, content, contentInfo,MessageTypeEnum.WARN.getValue(),MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName());
|
||||||
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
sysAnnouncementService.saveAnnouncement(sysAnnouncement);
|
||||||
bussDocumentLibraryEOService.sendWebsocket(StringUtils.join(userIdList, ","), content);
|
bussDocumentLibraryEOService.sendWebsocket(StringUtils.join(userIdList, ","), content);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user