优化
This commit is contained in:
@@ -19,4 +19,6 @@ public class MessageListDto implements Dto {
|
|||||||
private String urgeName;
|
private String urgeName;
|
||||||
|
|
||||||
private String nodeName;
|
private String nodeName;
|
||||||
|
|
||||||
|
private String msgSid;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1158,6 +1158,78 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> {
|
|||||||
return rb.success();
|
return rb.success();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ResultBean<String> pushUrgeNoUriMessage(PushMessageQuery query) {
|
||||||
|
ResultBean<String> rb = ResultBean.fireFail();
|
||||||
|
//保存消息体
|
||||||
|
String msgTitle = query.getMsgTitle();
|
||||||
|
String msgContent = query.getMsgContent();
|
||||||
|
String app_type = query.getApp_type();
|
||||||
|
List<String> receivedSids = query.getReceivedSids();
|
||||||
|
AppMessageDto messageDto = new AppMessageDto();
|
||||||
|
List<MessageTypeVo> typeVoList = messageTypeService.selectMsgTypeList(IDENTIFIER);
|
||||||
|
if (typeVoList.size() > 0) {
|
||||||
|
for (MessageTypeVo message : typeVoList) {
|
||||||
|
if (message.getMsgType().equals("审批中心")) {
|
||||||
|
messageDto.setMsgTypeSid(message.getMsgTypeSid());
|
||||||
|
messageDto.setMsgType(message.getMsgType());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
messageDto.setMsgTitle(msgTitle);
|
||||||
|
messageDto.setMsgContent(msgContent);
|
||||||
|
messageDto.setMsgSource("审批中心");
|
||||||
|
messageDto.setApp_type(app_type);
|
||||||
|
String msgSid = saveOrUpdateAppMessage(messageDto).getData();
|
||||||
|
String msgTypeSid = messageDto.getMsgTypeSid();
|
||||||
|
// 2、保存至消息列表
|
||||||
|
ResultBean<String> stringList = sysUserFeign.selectIdBySid(receivedSids);
|
||||||
|
List<String> receiveIdList = Arrays.asList(stringList.getData().split(","));
|
||||||
|
// 使用多线程保存
|
||||||
|
List<Future<?>> futures = new ArrayList<Future<?>>();
|
||||||
|
ExecutorService executor = Executors.newFixedThreadPool(4);
|
||||||
|
for (int i = 0; i < receivedSids.size(); i++) {
|
||||||
|
int finalI = i;
|
||||||
|
Future<?> f = executor.submit(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
try {
|
||||||
|
System.out.println("run start-----------------" + System.currentTimeMillis() + ":" + Thread.currentThread().getName());
|
||||||
|
MessageListDto messageList = new MessageListDto();
|
||||||
|
messageList.setMsgSid(msgSid);
|
||||||
|
messageList.setRDelStatus(0);
|
||||||
|
messageList.setSDelStatus(0);
|
||||||
|
messageList.setReceiverSid(receivedSids.get(finalI));
|
||||||
|
//根据接收人sid查询接收人名称
|
||||||
|
ResultBean<SysUserInfoVo> sysUserInfoVoResultBean = sysUserFeign.selectUserInfoByUserSid(receivedSids.get(finalI));
|
||||||
|
if (sysUserInfoVoResultBean.getData() != null) {
|
||||||
|
messageList.setReceiverName(sysUserInfoVoResultBean.getData().getStaffName());
|
||||||
|
}
|
||||||
|
messageListService.saveOrUpdateDto(messageList);
|
||||||
|
System.out.println("run end-----------------" + System.currentTimeMillis() + ":" + Thread.currentThread().getName());
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
futures.add(f);
|
||||||
|
}
|
||||||
|
executor.shutdown();
|
||||||
|
//标题、内容、消息类别key、消息类别名称、
|
||||||
|
YamlPropertiesFactoryBean factoryBean = new YamlPropertiesFactoryBean();
|
||||||
|
factoryBean.setResources(new ClassPathResource("application.yml"));
|
||||||
|
Properties properties = factoryBean.getObject();
|
||||||
|
if ("pro".equals(properties.get("spring.profiles.active"))) {
|
||||||
|
for (int i = 0; i < receiveIdList.size(); i++) {
|
||||||
|
JPushServer.sendPushAlias(msgTitle, msgContent, msgTypeSid, "业务", receiveIdList.get(i));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
for (int i = 0; i < receiveIdList.size(); i++) {
|
||||||
|
JPushServer.sendPushAlias(msgTitle, msgContent, msgTypeSid, "业务", "T" + receiveIdList.get(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return rb.success().setData(msgSid);
|
||||||
|
}
|
||||||
|
|
||||||
public ResultBean pushTest(String userSid) {
|
public ResultBean pushTest(String userSid) {
|
||||||
ResultBean rb = ResultBean.fireFail();
|
ResultBean rb = ResultBean.fireFail();
|
||||||
List<String> receivedSids = new ArrayList<>();
|
List<String> receivedSids = new ArrayList<>();
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ public class ScheduledMessageService {
|
|||||||
|
|
||||||
// @Scheduled(cron = "0 0 0 * * ?")
|
// @Scheduled(cron = "0 0 0 * * ?")
|
||||||
// @Scheduled(cron = "0 0/5 16 * * ?")
|
// @Scheduled(cron = "0 0/5 16 * * ?")
|
||||||
|
// @Scheduled(cron = "0/30 * * * * ?") //每30秒执行一次
|
||||||
public void remindMessage() {
|
public void remindMessage() {
|
||||||
Date now = new Date();
|
Date now = new Date();
|
||||||
//获取当前时间
|
//获取当前时间
|
||||||
@@ -55,14 +56,16 @@ public class ScheduledMessageService {
|
|||||||
List<String> recipientSidList = Arrays.asList(flowableMessageVo.getAssignee().split(","));
|
List<String> recipientSidList = Arrays.asList(flowableMessageVo.getAssignee().split(","));
|
||||||
PushMessageQuery pushMessageQuery = new PushMessageQuery();
|
PushMessageQuery pushMessageQuery = new PushMessageQuery();
|
||||||
pushMessageQuery.setReceivedSids(recipientSidList);
|
pushMessageQuery.setReceivedSids(recipientSidList);
|
||||||
pushMessageQuery.setModuleName("业务");
|
pushMessageQuery.setModuleName("审批中心");
|
||||||
pushMessageQuery.setMsgContent("您有待办理的审批,请登录平台及时处理");
|
pushMessageQuery.setMsgContent("您有待办理的审批,请登录平台及时处理");
|
||||||
pushMessageQuery.setApp_type("2");
|
pushMessageQuery.setApp_type("2");
|
||||||
// pushMessageQuery.setModuleSid("e25e13b5-f2ed-421f-bdb3-6f2eca2a3028");
|
// pushMessageQuery.setModuleSid("e25e13b5-f2ed-421f-bdb3-6f2eca2a3028");
|
||||||
pushMessageQuery.setMsgTitle("审批催办提醒");
|
pushMessageQuery.setMsgTitle("审批催办提醒");
|
||||||
// pushMessageQuery.setBusinessSid(busDeliveredApply.getSid());
|
// pushMessageQuery.setBusinessSid(busDeliveredApply.getSid());
|
||||||
// 消息推送
|
// 消息推送
|
||||||
messageService.pushNoUriMessage(pushMessageQuery);
|
ResultBean<String> msgSidResultBean = messageService.pushUrgeNoUriMessage(pushMessageQuery);
|
||||||
|
String msgSid = msgSidResultBean.getData();
|
||||||
|
messageListDto.setMsgSid(msgSid);
|
||||||
messageUrgeListService.saveMessage(messageListDto);
|
messageUrgeListService.saveMessage(messageListDto);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user