This commit is contained in:
dimengzhe
2023-08-10 17:45:56 +08:00
parent 0a95f10b16
commit 5475063991
5 changed files with 169 additions and 15 deletions

View File

@@ -113,10 +113,10 @@ public class MessageRest implements MessageFeign {
return messageService.saveOrUpdateAppMessage(dto);
}
@Override
/* @Override
public ResultBean<String> getMessage(MessageFlowableDto dto) {
return messageService.getMessage(dto);
}
}*/
@Override
public ResultBean<String> pushMessage(MessageFlowableQuery query) {
@@ -148,6 +148,11 @@ public class MessageRest implements MessageFeign {
return messageService.sendOrderMessage(dto);
}
@Override
public ResultBean pushNoUriMessage(PushMessageQuery query) {
return messageService.pushNoUriMessage(query);
}
@Override
public ResultBean<String> pushMessageShare(MessageFlowableQueryForCC query) {
return messageService.pushMessageShare(query);

View File

@@ -911,6 +911,7 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> {
/**
* 流程审批分享
*
* @param query
* @return
*/
@@ -924,7 +925,7 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> {
String msgTitle = query.getMsgTitle();
String applicationName = query.getApplicationName();
ResultBean<SysUserInfoVo> sysUserInfoVoResultBean = sysUserFeign.selectUserInfoByUserSid(query.getUserSid());
if(sysUserInfoVoResultBean.getData() != null){
if (sysUserInfoVoResultBean.getData() != null) {
applicationName = sysUserInfoVoResultBean.getData().getStaffName();
}
@@ -974,12 +975,6 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> {
return rb.success().setMsg(msgSid);
}
/**
* 流程审批分享
*
* @param dto
* @return
*/
public ResultBean<String> getMessageShare(MessageFlowableDto dto) {
ResultBean<String> rb = ResultBean.fireFail();
String msgTitle = dto.getMsgTitle();
@@ -999,13 +994,13 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> {
}
}
}
if(StringUtils.isNotBlank(dto.getOrgPath())){
if (StringUtils.isNotBlank(dto.getOrgPath())) {
//根据orgPath查询部门
List<String> orgPathsList = Arrays.asList(dto.getOrgPath().split("/"));
String orgSids = orgPathsList.get(orgPathsList.size() - 1);
messageDto.setSenderDeptSid(orgSids);
ResultBean<SysOrganizationVo> organizationResultBean = sysOrganizationFeign.fetchBySid(orgSids);
if(organizationResultBean.getData() != null){
if (organizationResultBean.getData() != null) {
String deptName = organizationResultBean.getData().getName();
messageDto.setSenderDeptName(deptName);
}
@@ -1083,4 +1078,76 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> {
List<Message> messages = baseMapper.selectByBusinessSid(sid);
return rb.success().setData(messages);
}
public ResultBean pushNoUriMessage(PushMessageQuery query) {
ResultBean 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();
}
}