From 1368a06c836bc8d1af899ce6589f80bcc9094046 Mon Sep 17 00:00:00 2001 From: dimengzhe <251008545@qq.com> Date: Wed, 10 Aug 2022 17:07:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=92=E4=BA=A7=E6=8E=A8=E9=80=81=E6=B6=88?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- anrui-base/anrui-base-biz/pom.xml | 6 + .../com/yxt/anrui/base/BaseApplication.java | 2 +- .../BusVehicleApplyService.java | 103 ++++++++++++++++-- .../anrui/flowable/biz/flow/FlowableRest.java | 4 +- 4 files changed, 105 insertions(+), 10 deletions(-) diff --git a/anrui-base/anrui-base-biz/pom.xml b/anrui-base/anrui-base-biz/pom.xml index 27fbe6d277..009c6630ae 100644 --- a/anrui-base/anrui-base-biz/pom.xml +++ b/anrui-base/anrui-base-biz/pom.xml @@ -8,6 +8,7 @@ 0.0.1 + 4.0.0 anrui-base-biz @@ -15,6 +16,11 @@ 0.0.1 + + com.yxt.messagecenter + message-center-api + 0.0.1 + com.yxt yxt-common-base diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/BaseApplication.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/BaseApplication.java index ee3c30fe90..24218ee78d 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/BaseApplication.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/BaseApplication.java @@ -12,7 +12,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients; "com.yxt.common.base.config", "com.yxt.anrui.base" }) -@EnableFeignClients(basePackages = {"com.yxt.anrui.portal", "com.yxt.anrui.buscenter", "com.yxt.anrui.riskcenter", "com.yxt.anrui.scm","com.yxt.anrui.crm","com.yxt.anrui.flowable","com.yxt.anrui.fin"}) +@EnableFeignClients(basePackages = {"com.yxt.anrui.portal", "com.yxt.anrui.buscenter", "com.yxt.anrui.riskcenter", "com.yxt.anrui.scm","com.yxt.anrui.crm","com.yxt.anrui.flowable","com.yxt.anrui.fin","com.yxt.messagecenter"}) public class BaseApplication { public static void main(String[] args) { diff --git a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java index 6fb3b50e1a..e7a88f1803 100644 --- a/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java +++ b/anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java @@ -41,17 +41,28 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.anrui.portal.api.sysuser.UserQuery; import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.JPushServer; import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; +import com.yxt.messagecenter.api.message.AppMessageDto; +import com.yxt.messagecenter.api.message.MessageFeign; +import com.yxt.messagecenter.api.messagelist.MessageListDto; +import com.yxt.messagecenter.api.messagelist.MessageListFeign; +import com.yxt.messagecenter.api.messagetype.MessageTypeFeign; +import com.yxt.messagecenter.api.messagetype.MessageTypeVo; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.*; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.Future; import java.util.stream.Collectors; /** @@ -94,6 +105,13 @@ public class BusVehicleApplyService extends MybatisBaseService variables = new HashMap<>(); - Map appMap = new HashMap<>(); - appMap.put("sid",businessSid); + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); variables.put("money", Integer.valueOf(dto.getCurrentAmount()).intValue() > 0); - variables.put("app",appMap); + variables.put("app", appMap); //用户的部门全路径sid bv.setOrgSidPath(orgSidPath); //业务sid @@ -357,6 +375,8 @@ public class BusVehicleApplyService extends MybatisBaseService> nodeVoList = getNextNodesForSubmit(getNodeQuery); + //根据组织架构、角色两个参数取相关符合条件的用户信息 + UserQuery userQuery = new UserQuery(); + userQuery.setRoleSid(nodeVoList.getData().get(0).getCandidateGroups().get(0)); + userQuery.setOrgSidPath(orgSidPath); + List sysUserVos = sysUserFeign.getUserByRole(userQuery).getData(); + StringBuilder nextNodeUserSids = new StringBuilder(); + List stringList = new ArrayList<>(); + for (SysUserVo su : sysUserVos) { + stringList.add(su.getSid()); +// nextNodeUserSids.append(su.getSid()).append(","); + } + //符合条件的用户的sid,拼接的字符串 +// String nextNodeUserSids_ = nextNodeUserSids.toString(); + //标题、内容、消息类别key、消息类别名称、 + JPushServer.sendPushAlias("排产申请审批", busVehicleApply.getCreateByName() + "的排产申请", "msg_type", "系统消息", stringList.toArray(new String[stringList.size()])); + } + + public String getMessage(List list) { + // 1、保存消息体 + AppMessageDto messageDto = new AppMessageDto(); + ResultBean> messageBean = messageTypeFeign.selectAppMsgTypeList("0002"); + if (messageBean.getSuccess() && messageBean.getData() != null) { + List typeVoList = messageBean.getData(); + for (MessageTypeVo message : typeVoList) { + if (message.getMsgType().equals("系统消息")) { + messageDto.setMsgTypeSid(message.getMsgTypeSid()); + messageDto.setMsgType(message.getMsgType()); + } + } + } + messageDto.setMsgTitle("排产申请审批"); + messageDto.setMsgContent("排产申请审批"); + messageDto.setMsgSource("排产"); + String msgSid = messageFeign.saveOrUpdateAppMessage(messageDto).getData(); + String msgTypeSid = messageDto.getMsgTypeSid(); + // 2、保存至消息列表 + // 使用多线程保存 + List> futures = new ArrayList>(); + ExecutorService executor = Executors.newFixedThreadPool(4); + for (String receverSid : list) { + 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(receverSid); + messageListFeign.save(messageList); + System.out.println("run end-----------------" + System.currentTimeMillis() + ":" + Thread.currentThread().getName()); + } catch (Exception e) { + e.printStackTrace(); + } + } + }); + futures.add(f); + } + executor.shutdown(); + return msgSid; + } + /** * 判断提交的流程是否被允许 * diff --git a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java index ab75a1dd0d..6e32aac329 100644 --- a/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java +++ b/anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java @@ -271,9 +271,9 @@ public class FlowableRest implements FlowableFeign { return rb.setMsg("任务不存在"); } String assignee = task.getAssignee(); - if(StringUtils.isNotBlank(assignee)&& assignee.indexOf(userSid)<0){ + /* if(StringUtils.isNotBlank(assignee)&& assignee.indexOf(userSid)<0){ return rb.setMsg("当前用户不是环节的待办人,不能进行办理操作!"); - } + }*/ String nodeState = ""; String taskDefKey = ""; vo.setSid(businessSid);