Browse Source

排产推送消息

master
dimengzhe 3 years ago
parent
commit
1368a06c83
  1. 6
      anrui-base/anrui-base-biz/pom.xml
  2. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/BaseApplication.java
  3. 103
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java
  4. 4
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow/FlowableRest.java

6
anrui-base/anrui-base-biz/pom.xml

@ -8,6 +8,7 @@
<version>0.0.1</version> <version>0.0.1</version>
<relativePath/> <relativePath/>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>anrui-base-biz</artifactId> <artifactId>anrui-base-biz</artifactId>
@ -15,6 +16,11 @@
<version>0.0.1</version> <version>0.0.1</version>
<dependencies> <dependencies>
<dependency>
<groupId>com.yxt.messagecenter</groupId>
<artifactId>message-center-api</artifactId>
<version>0.0.1</version>
</dependency>
<dependency> <dependency>
<groupId>com.yxt</groupId> <groupId>com.yxt</groupId>
<artifactId>yxt-common-base</artifactId> <artifactId>yxt-common-base</artifactId>

2
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.common.base.config",
"com.yxt.anrui.base" "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 class BaseApplication {
public static void main(String[] args) { public static void main(String[] args) {

103
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.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo; 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.service.MybatisBaseService;
import com.yxt.common.base.utils.JPushServer;
import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; 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.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.*; import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -94,6 +105,13 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
@Autowired @Autowired
private BusVehicleApplySzService busVehicleApplySzService; private BusVehicleApplySzService busVehicleApplySzService;
@Autowired
private MessageTypeFeign messageTypeFeign;
@Autowired
private MessageFeign messageFeign;
@Autowired
private MessageListFeign messageListFeign;
/** /**
* 分页列表 * 分页列表
* *
@ -116,11 +134,11 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
if (StringUtils.isNotBlank(query.getUserSid())) { if (StringUtils.isNotBlank(query.getUserSid())) {
qw.eq("bva.createBySid", query.getUserSid()); qw.eq("bva.createBySid", query.getUserSid());
} }
if(StringUtils.isNotBlank(query.getApplyTypeKey())){ if (StringUtils.isNotBlank(query.getApplyTypeKey())) {
qw.eq("bva.applyTypeKey",query.getApplyTypeKey()); qw.eq("bva.applyTypeKey", query.getApplyTypeKey());
} }
if(StringUtils.isNotBlank(query.getSchedulingTypeKey())){ if (StringUtils.isNotBlank(query.getSchedulingTypeKey())) {
qw.eq("bva.schedulingTypeKey",query.getSchedulingTypeKey()); qw.eq("bva.schedulingTypeKey", query.getSchedulingTypeKey());
} }
//查询分公司sid //查询分公司sid
@ -337,10 +355,10 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
BusinessVariables bv = new BusinessVariables(); BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。 //流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>(); Map<String, Object> variables = new HashMap<>();
Map<String,Object> appMap = new HashMap<>(); Map<String, Object> appMap = new HashMap<>();
appMap.put("sid",businessSid); appMap.put("sid", businessSid);
variables.put("money", Integer.valueOf(dto.getCurrentAmount()).intValue() > 0); variables.put("money", Integer.valueOf(dto.getCurrentAmount()).intValue() > 0);
variables.put("app",appMap); variables.put("app", appMap);
//用户的部门全路径sid //用户的部门全路径sid
bv.setOrgSidPath(orgSidPath); bv.setOrgSidPath(orgSidPath);
//业务sid //业务sid
@ -357,6 +375,8 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
} }
UpdateFlowFieldVo ufVo = voResultBean.getData(); UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo)); updateFlowFiled(BeanUtil.beanToMap(ufVo));
//极光推送信息
// messageJpush(ufVo.getTaskDefKey(), businessSid, orgSidPath);
return voResultBean; return voResultBean;
} }
if (r == 2) { if (r == 2) {
@ -373,6 +393,75 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
return rb; return rb;
} }
public void messageJpush(String taskDefKey, String businessSid, String orgSidPath) {
BusVehicleApply busVehicleApply = fetchBySid(businessSid);
GetNodeQuery getNodeQuery = new GetNodeQuery();
getNodeQuery.setTaskDefKey(taskDefKey);
getNodeQuery.setBusinessSid(businessSid);
ResultBean<List<GetNodeVo>> nodeVoList = getNextNodesForSubmit(getNodeQuery);
//根据组织架构、角色两个参数取相关符合条件的用户信息
UserQuery userQuery = new UserQuery();
userQuery.setRoleSid(nodeVoList.getData().get(0).getCandidateGroups().get(0));
userQuery.setOrgSidPath(orgSidPath);
List<SysUserVo> sysUserVos = sysUserFeign.getUserByRole(userQuery).getData();
StringBuilder nextNodeUserSids = new StringBuilder();
List<String> 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<String> list) {
// 1、保存消息体
AppMessageDto messageDto = new AppMessageDto();
ResultBean<List<MessageTypeVo>> messageBean = messageTypeFeign.selectAppMsgTypeList("0002");
if (messageBean.getSuccess() && messageBean.getData() != null) {
List<MessageTypeVo> 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<Future<?>> futures = new ArrayList<Future<?>>();
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;
}
/** /**
* 判断提交的流程是否被允许 * 判断提交的流程是否被允许
* *

4
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("任务不存在"); return rb.setMsg("任务不存在");
} }
String assignee = task.getAssignee(); String assignee = task.getAssignee();
if(StringUtils.isNotBlank(assignee)&& assignee.indexOf(userSid)<0){ /* if(StringUtils.isNotBlank(assignee)&& assignee.indexOf(userSid)<0){
return rb.setMsg("当前用户不是环节的待办人,不能进行办理操作!"); return rb.setMsg("当前用户不是环节的待办人,不能进行办理操作!");
} }*/
String nodeState = ""; String nodeState = "";
String taskDefKey = ""; String taskDefKey = "";
vo.setSid(businessSid); vo.setSid(businessSid);

Loading…
Cancel
Save