|
|
@ -361,6 +361,16 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> { |
|
|
|
|
|
|
|
public ResultBean<String> sendMessage(AppScmMessageFlowableQuery query) { |
|
|
|
ResultBean<String> rb = ResultBean.fireFail(); |
|
|
|
String msgTitle = query.getMsgTitle(); |
|
|
|
String msgContent = query.getMsgContent(); |
|
|
|
String msgSource = query.getMsgSource(); |
|
|
|
String msgTargetUri = query.getMsgTargetUri(); |
|
|
|
String app_type = query.getApp_type(); |
|
|
|
String moduleSid = query.getModuleSid(); |
|
|
|
List<String> recipientSidList = query.getRecipientSidList(); |
|
|
|
Map<String, Object> appMap = query.getAppMap(); |
|
|
|
ResultBean<String> stringList = sysUserFeign.selectIdBySid(recipientSidList); |
|
|
|
List<String> reveiveIdList = Arrays.asList(stringList.getData().split(",")); |
|
|
|
// 1、保存消息体
|
|
|
|
AppMessageDto messageDto = new AppMessageDto(); |
|
|
|
List<MessageTypeVo> typeVoList = messageTypeService.selectMsgTypeList(IDENTIFIER); |
|
|
@ -372,23 +382,21 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
messageDto.setMsgTitle(query.getMsgTitle()); |
|
|
|
messageDto.setMsgContent(query.getMsgContent()); |
|
|
|
messageDto.setMsgSource(query.getMsgSource()); |
|
|
|
messageDto.setMsgTargetUri(query.getMsgTargetUri()); |
|
|
|
messageDto.setApp_type(query.getApp_type()); |
|
|
|
messageDto.setModuleSid(query.getModuleSid()); |
|
|
|
JSONObject json = new JSONObject(); |
|
|
|
json.put("sid", query.getMainSid()); |
|
|
|
messageDto.setMsgTitle(msgTitle); |
|
|
|
messageDto.setMsgContent(msgContent); |
|
|
|
messageDto.setMsgSource(msgSource); |
|
|
|
messageDto.setMsgTargetUri(msgTargetUri); |
|
|
|
messageDto.setApp_type(app_type); |
|
|
|
messageDto.setModuleSid(moduleSid); |
|
|
|
JSONObject json = new JSONObject(appMap); |
|
|
|
messageDto.setArgs_json(json.toJSONString()); |
|
|
|
String msgSid = (String) saveOrUpdateAppMessage(messageDto).getData(); |
|
|
|
String msgTypeSid = messageDto.getMsgTypeSid(); |
|
|
|
// 2、保存至消息列表
|
|
|
|
List<String> list = query.getList(); |
|
|
|
// 使用多线程保存
|
|
|
|
List<Future<?>> futures = new ArrayList<Future<?>>(); |
|
|
|
ExecutorService executor = Executors.newFixedThreadPool(4); |
|
|
|
for (String sid : list) { |
|
|
|
for (String sid : recipientSidList) { |
|
|
|
Future<?> f = executor.submit(new Runnable() { |
|
|
|
@Override |
|
|
|
public void run() { |
|
|
@ -411,12 +419,12 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> { |
|
|
|
futures.add(f); |
|
|
|
} |
|
|
|
executor.shutdown(); |
|
|
|
for (int i = 0; i < query.getReceiveIdList().size(); i++) { |
|
|
|
for (int i = 0; i < reveiveIdList.size(); i++) { |
|
|
|
/** |
|
|
|
* msgTitle:排产申请 |
|
|
|
* content:xxx的排产申请 |
|
|
|
*/ |
|
|
|
JPushServer.sendPushAlias(messageDto.getMsgTitle(), messageDto.getMsgContent(), msgTypeSid, query.getName(), query.getReceiveIdList().get(i)); |
|
|
|
JPushServer.sendPushAlias(messageDto.getMsgTitle(), messageDto.getMsgContent(), msgTypeSid, query.getName(), reveiveIdList.get(i)); |
|
|
|
} // 3、推送
|
|
|
|
// JPushServer.sendPushAll(messageDto.getMsgTitle(), messageDto.getMsgContent(), msgTypeSid, messageDto.getMsgType());
|
|
|
|
// JPushServer.sendPushAlias(messageDto.getMsgTitle(), messageDto.getMsgContent(), msgSid, messageDto.getMsgType(), "23","26","66"); // 别名
|
|
|
|