diff --git a/renren-admin/src/main/java/io/renren/modules/notice/service/impl/SysNoticeServiceImpl.java b/renren-admin/src/main/java/io/renren/modules/notice/service/impl/SysNoticeServiceImpl.java index 9dd35d46..4ff8780e 100644 --- a/renren-admin/src/main/java/io/renren/modules/notice/service/impl/SysNoticeServiceImpl.java +++ b/renren-admin/src/main/java/io/renren/modules/notice/service/impl/SysNoticeServiceImpl.java @@ -21,6 +21,8 @@ import io.renren.modules.sys.service.SysUserService; import io.renren.websocket.WebSocketServer; import io.renren.websocket.data.MessageData; import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -29,12 +31,16 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; /** * 通知管理 */ @Service public class SysNoticeServiceImpl extends CrudServiceImpl implements SysNoticeService { + private static final ExecutorService executor = Executors.newWorkStealingPool(); + private static final Logger logger = LoggerFactory.getLogger(SysNoticeServiceImpl.class); @Autowired private SysNoticeUserService sysNoticeUserService; @Autowired @@ -85,22 +91,26 @@ public class SysNoticeServiceImpl extends CrudServiceImpl { + //发送给全部用户 + sendAllUser(notice); + }); - //通过WebSocket,提示全部用户,有新通知 - MessageData message = new MessageData().msg(notice.getTitle()); - webSocketServer.sendMessageAll(message); + executor.execute(() -> { + //通过WebSocket,提示全部用户,有新通知 + MessageData message = new MessageData().msg(notice.getTitle()); + webSocketServer.sendMessageAll(message); + }); } else { //选中用户 List userIdList = new ArrayList<>(); @@ -152,12 +166,17 @@ public class SysNoticeServiceImpl extends CrudServiceImpl finalUserIdList = userIdList; + executor.execute(() -> { + //发送给选中用户 + sendUser(notice, finalUserIdList); + }); - //通过WebSocket,提示选中用户,有新通知 - MessageData message = new MessageData().msg(notice.getTitle()); - webSocketServer.sendMessage(userIdList, message); + executor.execute(() -> { + //通过WebSocket,提示选中用户,有新通知 + MessageData message = new MessageData().msg(notice.getTitle()); + webSocketServer.sendMessage(finalUserIdList, message); + }); } } diff --git a/renren-admin/src/main/resources/application.yml b/renren-admin/src/main/resources/application.yml index a84bd4ef..c365e361 100644 --- a/renren-admin/src/main/resources/application.yml +++ b/renren-admin/src/main/resources/application.yml @@ -63,7 +63,12 @@ spring: baseline-on-migrate: true baseline-version: 0 validate-on-migrate: true - + jackson: + parser: + # 允许出现特殊字符和转义符 + allow_unquoted_control_chars: true + #允许出现单引号 + allow_single_quotes: true fdfs: so-timeout: 600000