|
|
@ -215,6 +215,7 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> { |
|
|
|
|
|
|
|
/** |
|
|
|
* 流程审批推送消息 |
|
|
|
* |
|
|
|
* @param dto |
|
|
|
* @return |
|
|
|
*/ |
|
|
@ -270,7 +271,7 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> { |
|
|
|
messageList.setReceiverSid(list.get(finalI)); |
|
|
|
//根据接收人sid查询接收人名称
|
|
|
|
ResultBean<SysUserInfoVo> sysUserInfoVoResultBean = sysUserFeign.selectUserInfoByUserSid(list.get(finalI)); |
|
|
|
if(sysUserInfoVoResultBean.getData() != null){ |
|
|
|
if (sysUserInfoVoResultBean.getData() != null) { |
|
|
|
messageList.setReceiverName(sysUserInfoVoResultBean.getData().getStaffName()); |
|
|
|
} |
|
|
|
if (orgPathList.size() > 0) { |
|
|
@ -305,6 +306,7 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> { |
|
|
|
|
|
|
|
/** |
|
|
|
* 抄送消息 |
|
|
|
* |
|
|
|
* @param dto |
|
|
|
* @return |
|
|
|
*/ |
|
|
@ -363,7 +365,7 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> { |
|
|
|
messageList.setReceiverSid(list.get(finalI)); |
|
|
|
//根据接收人sid查询接收人名称
|
|
|
|
ResultBean<SysUserInfoVo> sysUserInfoVoResultBean = sysUserFeign.selectUserInfoByUserSid(list.get(finalI)); |
|
|
|
if(sysUserInfoVoResultBean.getData() != null){ |
|
|
|
if (sysUserInfoVoResultBean.getData() != null) { |
|
|
|
messageList.setReceiverName(sysUserInfoVoResultBean.getData().getStaffName()); |
|
|
|
} |
|
|
|
if (orgPathList.size() > 0) { |
|
|
@ -400,6 +402,7 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> { |
|
|
|
|
|
|
|
/** |
|
|
|
* 流程审批组装消息信息 |
|
|
|
* |
|
|
|
* @param query |
|
|
|
* @return |
|
|
|
*/ |
|
|
@ -456,6 +459,7 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> { |
|
|
|
|
|
|
|
/** |
|
|
|
* 抄送组装消息信息 |
|
|
|
* |
|
|
|
* @param query |
|
|
|
* @return |
|
|
|
*/ |
|
|
@ -469,7 +473,7 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> { |
|
|
|
String msgContent = query.getMsgContent(); |
|
|
|
String msgTitle = query.getMsgTitle(); |
|
|
|
String applicationName = query.getApplicationName(); |
|
|
|
String nextNodeUserSids = query.getUserSids(); |
|
|
|
String nextNodeUserSids = query.getUserSids(); |
|
|
|
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); |
|
|
|
//根据用户的sid查询用户的id
|
|
|
|
ResultBean<String> stringList1 = sysUserFeign.selectIdBySid(receiveSidList); |
|
|
@ -580,7 +584,7 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> { |
|
|
|
messageList.setReceiverSid(sid); |
|
|
|
//根据接收人sid查询接收人名称
|
|
|
|
ResultBean<SysUserInfoVo> sysUserInfoVoResultBean = sysUserFeign.selectUserInfoByUserSid(sid); |
|
|
|
if(sysUserInfoVoResultBean.getData() != null){ |
|
|
|
if (sysUserInfoVoResultBean.getData() != null) { |
|
|
|
messageList.setReceiverName(sysUserInfoVoResultBean.getData().getStaffName()); |
|
|
|
} |
|
|
|
messageListService.save(messageList); |
|
|
@ -661,7 +665,7 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> { |
|
|
|
messageList.setReceiverSid(sid); |
|
|
|
//根据接收人sid查询接收人名称
|
|
|
|
ResultBean<SysUserInfoVo> sysUserInfoVoResultBean = sysUserFeign.selectUserInfoByUserSid(sid); |
|
|
|
if(sysUserInfoVoResultBean.getData() != null){ |
|
|
|
if (sysUserInfoVoResultBean.getData() != null) { |
|
|
|
messageList.setReceiverName(sysUserInfoVoResultBean.getData().getStaffName()); |
|
|
|
} |
|
|
|
messageListService.save(messageList); |
|
|
@ -692,6 +696,7 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> { |
|
|
|
|
|
|
|
/** |
|
|
|
* 移动端框架发布推送消息 |
|
|
|
* |
|
|
|
* @param dto |
|
|
|
* @return |
|
|
|
*/ |
|
|
@ -739,7 +744,7 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> { |
|
|
|
messageList.setReceiverSid(receverSid); |
|
|
|
//根据接收人sid查询接收人名称
|
|
|
|
ResultBean<SysUserInfoVo> sysUserInfoVoResultBean = sysUserFeign.selectUserInfoByUserSid(receverSid); |
|
|
|
if(sysUserInfoVoResultBean.getData() != null){ |
|
|
|
if (sysUserInfoVoResultBean.getData() != null) { |
|
|
|
messageList.setReceiverName(sysUserInfoVoResultBean.getData().getStaffName()); |
|
|
|
} |
|
|
|
messageListService.save(messageList); |
|
|
@ -800,6 +805,7 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> { |
|
|
|
|
|
|
|
/** |
|
|
|
* 简易订单解锁提醒 |
|
|
|
* |
|
|
|
* @param dto |
|
|
|
* @return |
|
|
|
*/ |
|
|
@ -852,7 +858,7 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> { |
|
|
|
messageList.setReceiverSid(createBySidList.get(finalI)); |
|
|
|
//根据接收人sid查询接收人名称
|
|
|
|
ResultBean<SysUserInfoVo> sysUserInfoVoResultBean = sysUserFeign.selectUserInfoByUserSid(createBySidList.get(finalI)); |
|
|
|
if(sysUserInfoVoResultBean.getData() != null){ |
|
|
|
if (sysUserInfoVoResultBean.getData() != null) { |
|
|
|
messageList.setReceiverName(sysUserInfoVoResultBean.getData().getStaffName()); |
|
|
|
} |
|
|
|
messageListService.saveOrUpdateDto(messageList); |
|
|
@ -881,4 +887,162 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> { |
|
|
|
} |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 流程审批分享 |
|
|
|
* @param query |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
public ResultBean<String> pushMessageShare(MessageFlowableQueryForCC query) { |
|
|
|
ResultBean<String> rb = ResultBean.fireFail(); |
|
|
|
MessageFlowVo ufVo = query.getUfVo(); |
|
|
|
String procDefId = ufVo.getProcDefId(); |
|
|
|
Map<String, Object> appMap = query.getAppMap(); |
|
|
|
String moduleName = query.getModuleName(); |
|
|
|
String msgContent = query.getMsgContent(); |
|
|
|
String msgTitle = query.getMsgTitle(); |
|
|
|
String applicationName = query.getApplicationName(); |
|
|
|
ResultBean<SysUserInfoVo> sysUserInfoVoResultBean = sysUserFeign.selectUserInfoByUserSid(query.getUserSid()); |
|
|
|
if(sysUserInfoVoResultBean.getData() != null){ |
|
|
|
applicationName = sysUserInfoVoResultBean.getData().getStaffName(); |
|
|
|
} |
|
|
|
|
|
|
|
String nextNodeUserSids = query.getUserSids(); |
|
|
|
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); |
|
|
|
//根据用户的sid查询用户的id
|
|
|
|
ResultBean<String> stringList1 = sysUserFeign.selectIdBySid(receiveSidList); |
|
|
|
List<String> reveiveIdList = Arrays.asList(stringList1.getData().split(",")); |
|
|
|
MessageFlowableDto messageFlowableDto = new MessageFlowableDto(); |
|
|
|
MessageJsonDto messageJsonDto = new MessageJsonDto(); |
|
|
|
BeanUtil.copyProperties(ufVo, messageJsonDto); |
|
|
|
//查询流程审批的页面操作地址组装json的参数
|
|
|
|
//根据taskDef和移动端标识
|
|
|
|
/**-----------------移动端相关参数开始----------------*/ |
|
|
|
ResultBean<SysProUrlVo> selectUrlByKey = sysProUrlFeign.selectUrlByKey(procDefId, ufVo.getTaskDefKey(), "1", "2"); |
|
|
|
SysProUrlVo sysProUrlVo = selectUrlByKey.getData(); |
|
|
|
messageFlowableDto.setBusinessSid(query.getBusinessSid()); |
|
|
|
messageFlowableDto.setApp_type("2"); |
|
|
|
if (sysProUrlVo.getUrl().contains("#")) { |
|
|
|
messageFlowableDto.setModuleAction(Arrays.asList(sysProUrlVo.getUrl().split("#")).get(0)); |
|
|
|
} else { |
|
|
|
messageFlowableDto.setModuleAction(sysProUrlVo.getUrl()); |
|
|
|
} |
|
|
|
/**-----------------移动端相关参数结束----------------*/ |
|
|
|
//PC取前端页面
|
|
|
|
ResultBean<SysProUrlVo> selectUrlByPCKey = sysProUrlFeign.selectUrlByKey(procDefId, ufVo.getTaskDefKey(), "2", "1"); |
|
|
|
SysProUrlVo sysProUrlPCVo = selectUrlByPCKey.getData(); |
|
|
|
messageFlowableDto.setModuleAction2(sysProUrlPCVo.getUrl()); |
|
|
|
messageFlowableDto.setModuleSid(Arrays.asList(sysProUrlVo.getModulePluginName().split("#")).get(0)); |
|
|
|
messageJsonDto.setTaskName(ufVo.getNodeState()); |
|
|
|
messageJsonDto.setProcInsId(ufVo.getProcInsId()); |
|
|
|
messageJsonDto.setAppMap(appMap); |
|
|
|
messageJsonDto.setDeployId(procDefId); |
|
|
|
messageFlowableDto.setJson(messageJsonDto); |
|
|
|
messageFlowableDto.setList(receiveSidList); |
|
|
|
messageFlowableDto.setReceiveIdList(reveiveIdList); |
|
|
|
messageFlowableDto.setModuleName(moduleName); |
|
|
|
messageFlowableDto.setMsgContent(msgContent); |
|
|
|
messageFlowableDto.setMsgTitle(msgTitle); |
|
|
|
messageFlowableDto.setCreateName(applicationName); |
|
|
|
messageFlowableDto.setTaskId(ufVo.getTaskId()); |
|
|
|
ResultBean<String> stringResultBean = getMessageShare(messageFlowableDto); |
|
|
|
String msgSid = stringResultBean.getData(); |
|
|
|
return rb.success().setMsg(msgSid); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 流程审批分享 |
|
|
|
* |
|
|
|
* @param dto |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
public ResultBean<String> getMessageShare(MessageFlowableDto dto) { |
|
|
|
ResultBean<String> rb = ResultBean.fireFail(); |
|
|
|
String msgTitle = dto.getMsgTitle(); |
|
|
|
String msgContent = dto.getMsgContent(); |
|
|
|
List<String> list = dto.getList(); |
|
|
|
List<String> receiveIdList = dto.getReceiveIdList(); |
|
|
|
List<String> orgPathList = dto.getOrgPathList(); |
|
|
|
// 1、保存消息体
|
|
|
|
AppMessageDto messageDto = new AppMessageDto(); |
|
|
|
List<MessageTypeVo> messageBean = messageTypeService.selectMsgTypeList("0003"); |
|
|
|
messageBean.removeAll(Collections.singleton(null)); |
|
|
|
if (!messageBean.isEmpty()) { |
|
|
|
for (MessageTypeVo message : messageBean) { |
|
|
|
if (message.getMsgType().equals("抄送")) { |
|
|
|
messageDto.setMsgTypeSid(message.getMsgTypeSid()); |
|
|
|
messageDto.setMsgType(message.getMsgType()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(dto.getTaskId())) { |
|
|
|
messageDto.setTaskId(dto.getTaskId()); |
|
|
|
} |
|
|
|
messageDto.setMsgTitle(msgTitle); |
|
|
|
messageDto.setMsgContent(msgContent); |
|
|
|
messageDto.setMsgSource("分享"); |
|
|
|
messageDto.setApp_type(dto.getApp_type()); |
|
|
|
messageDto.setModuleSid(dto.getModuleSid()); |
|
|
|
messageDto.setBusinessSid(dto.getBusinessSid()); |
|
|
|
//将json与appMap中的参数融合
|
|
|
|
Map<String, Object> jsonMap = BeanUtil.beanToMap(dto.getJson()); |
|
|
|
jsonMap.putAll(dto.getJson().getAppMap()); |
|
|
|
messageDto.setArgs_json(JSONObject.toJSONString(jsonMap)); |
|
|
|
messageDto.setMsgTargetUri(dto.getModuleAction()); |
|
|
|
messageDto.setModuleAction(dto.getModuleAction2()); |
|
|
|
messageDto.setSenderName(dto.getCreateName()); |
|
|
|
String msgSid = saveOrUpdateAppMessage(messageDto).getData(); |
|
|
|
String msgTypeSid = messageDto.getMsgTypeSid(); |
|
|
|
// 2、保存至消息列表
|
|
|
|
// 使用多线程保存
|
|
|
|
List<Future<?>> futures = new ArrayList<Future<?>>(); |
|
|
|
ExecutorService executor = Executors.newFixedThreadPool(4); |
|
|
|
for (int i = 0; i < list.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(list.get(finalI)); |
|
|
|
//根据接收人sid查询接收人名称
|
|
|
|
ResultBean<SysUserInfoVo> sysUserInfoVoResultBean = sysUserFeign.selectUserInfoByUserSid(list.get(finalI)); |
|
|
|
if (sysUserInfoVoResultBean.getData() != null) { |
|
|
|
messageList.setReceiverName(sysUserInfoVoResultBean.getData().getStaffName()); |
|
|
|
} |
|
|
|
if (orgPathList.size() > 0) { |
|
|
|
messageList.setReceiverDeptSid(orgPathList.get(finalI)); |
|
|
|
} |
|
|
|
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.sendPushAliass(msgTitle, msgContent, msgTypeSid, "分享", receiveIdList.get(i)); |
|
|
|
} |
|
|
|
} else { |
|
|
|
for (int i = 0; i < receiveIdList.size(); i++) { |
|
|
|
//测试或者本地
|
|
|
|
JPushServer.sendPushAliass(msgTitle, msgContent, msgTypeSid, "分享", "T" + receiveIdList.get(i)); |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.success().setData(msgSid); |
|
|
|
} |
|
|
|
|
|
|
|
} |