|
|
@ -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(); |
|
|
|
} |
|
|
|
} |