From 364b3e29c4826d0f464265bd34f4ad6f9135cd3c Mon Sep 17 00:00:00 2001 From: hp <2969694837@qq.com> Date: Wed, 2 Nov 2022 17:25:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E5=89=8D=E5=BC=80=E7=A5=A8=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E6=8E=A8=E9=80=81=E5=AE=8C=E5=96=84=20=E5=B7=A1?= =?UTF-8?q?=E6=A3=80=E7=9B=98=E5=BA=93=E9=97=AE=E9=A2=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/message/MessageFeign.java | 5 + .../api/message/MessageFeignFallback.java | 5 + .../api/message/MsgTargetUriEnum.java | 1 + .../biz/message/MessageRest.java | 5 + .../biz/message/MessageService.java | 119 ++++++++++++++++-- 5 files changed, 126 insertions(+), 9 deletions(-) diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFeign.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFeign.java index 8217974..5f69de8 100644 --- a/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFeign.java +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFeign.java @@ -72,4 +72,9 @@ public interface MessageFeign { @PostMapping("/sendMessage") ResultBean sendMessage(@RequestBody AppScmMessageFlowableQuery query); + @ApiOperation("业务流程审批推送消息") + @PostMapping("/sendAutoserviceMessage") + ResultBean sendAutoserviceMessage(@RequestBody AppScmMessageFlowableQuery query); + + } \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFeignFallback.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFeignFallback.java index 7ea3e9e..78a1dfd 100644 --- a/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFeignFallback.java +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MessageFeignFallback.java @@ -68,4 +68,9 @@ public class MessageFeignFallback implements MessageFeign { public ResultBean sendMessage(AppScmMessageFlowableQuery query) { return null; } + + @Override + public ResultBean sendAutoserviceMessage(AppScmMessageFlowableQuery query) { + return null; + } } \ No newline at end of file diff --git a/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MsgTargetUriEnum.java b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MsgTargetUriEnum.java index 1329aa7..bb66470 100644 --- a/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MsgTargetUriEnum.java +++ b/message-center-api/src/main/java/com/yxt/messagecenter/api/message/MsgTargetUriEnum.java @@ -11,6 +11,7 @@ public enum MsgTargetUriEnum { CUSTOMERREMIND("客户提醒", "com.anrui.android.plugin.autoservice.activity.DetailCustomerActivity"), GYLPKBG("供应链-盘库报告", "com.anrui.android.plugin.supplychain.activity.DetailInventoryCarReportActivity"), GYLXJWT("供应链-巡检问题", "com.anrui.android.plugin.supplychain.activity.DetailInspectionCarReportActivity"), + TQKPSQTS("业务-提前开票推送", "com.anrui.android.plugin.autoservice.activity.DetailAdvanceInvoiceActivity"), ; /** diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageRest.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageRest.java index 87b3486..98b1724 100644 --- a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageRest.java +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageRest.java @@ -125,4 +125,9 @@ public class MessageRest implements MessageFeign { public ResultBean sendMessage(AppScmMessageFlowableQuery query) { return messageService.sendMessage(query); } + + @Override + public ResultBean sendAutoserviceMessage(AppScmMessageFlowableQuery query) { + return messageService.sendAutoserviceMessage(query); + } } diff --git a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageService.java b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageService.java index fe505ed..a9ed90c 100644 --- a/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageService.java +++ b/message-center-biz/src/main/java/com/yxt/messagecenter/biz/message/MessageService.java @@ -250,7 +250,7 @@ public class MessageService extends MybatisBaseService { // 使用多线程保存 List> futures = new ArrayList>(); ExecutorService executor = Executors.newFixedThreadPool(4); - for (int i = 0;i f = executor.submit(new Runnable() { @Override @@ -262,7 +262,7 @@ public class MessageService extends MybatisBaseService { messageList.setRDelStatus(0); messageList.setSDelStatus(0); messageList.setReceiverSid(list.get(finalI)); - if(orgPathList.size()>0){ + if (orgPathList.size() > 0) { messageList.setReceiverDeptSid(orgPathList.get(finalI)); } messageListService.saveOrUpdateDto(messageList); @@ -427,13 +427,114 @@ public class MessageService extends MybatisBaseService { futures.add(f); } executor.shutdown(); - for (int i = 0; i < reveiveIdList.size(); i++) { - /** - * msgTitle:排产申请 - * content:xxx的排产申请 - */ - JPushServer.sendPushAlias(messageDto.getMsgTitle(), messageDto.getMsgContent(), msgTypeSid, query.getName(), reveiveIdList.get(i)); - } // 3、推送 + 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 < reveiveIdList.size(); i++) { + /** + * msgTitle:排产申请 + * content:xxx的排产申请 + */ + JPushServer.sendPushAlias(msgTitle, msgContent, msgTypeSid, "供应链", reveiveIdList.get(i)); + } + } else { + for (int i = 0; i < reveiveIdList.size(); i++) { + /** + * msgTitle:排产申请 + * content:xxx的排产申请 + */ + JPushServer.sendPushAlias(msgTitle, msgContent, msgTypeSid, "供应链", "T" + 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"); // 别名 + System.out.println("process end"); + return rb.success().setMsg(msgSid); + } + + public ResultBean sendAutoserviceMessage(AppScmMessageFlowableQuery query) { + ResultBean 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 recipientSidList = query.getRecipientSidList(); + Map appMap = query.getAppMap(); + ResultBean stringList = sysUserFeign.selectIdBySid(recipientSidList); + List reveiveIdList = Arrays.asList(stringList.getData().split(",")); + // 1、保存消息体 + AppMessageDto messageDto = new AppMessageDto(); + List typeVoList = messageTypeService.selectMsgTypeList(IDENTIFIER); + if (typeVoList != null) { + for (MessageTypeVo message : typeVoList) { + if (message.getMsgType().equals("业务")) { + messageDto.setMsgTypeSid(message.getMsgTypeSid()); + messageDto.setMsgType(message.getMsgType()); + } + } + } + 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> futures = new ArrayList>(); + ExecutorService executor = Executors.newFixedThreadPool(4); + for (String sid : recipientSidList) { + 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 messageList = new MessageList(); + messageList.setMsgSid(msgSid); + messageList.setRDelStatus(0); + messageList.setSDelStatus(0); + messageList.setReceiverSid(sid); + messageListService.save(messageList); +// Thread.sleep(5 * 1000); + System.out.println("run end-----------------" + System.currentTimeMillis() + ":" + Thread.currentThread().getName()); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + futures.add(f); + } + executor.shutdown(); + 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 < reveiveIdList.size(); i++) { + /** + * msgTitle:排产申请 + * content:xxx的排产申请 + */ + JPushServer.sendPushAlias(msgTitle, msgContent, msgTypeSid, "业务", reveiveIdList.get(i)); + } + } else { + for (int i = 0; i < reveiveIdList.size(); i++) { + /** + * msgTitle:排产申请 + * content:xxx的排产申请 + */ + JPushServer.sendPushAlias(msgTitle, msgContent, msgTypeSid, "业务", "T" + 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"); // 别名 System.out.println("process end");