Browse Source

排产推送消息

zhanglei
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>
<relativePath/>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>anrui-base-biz</artifactId>
@ -15,6 +16,11 @@
<version>0.0.1</version>
<dependencies>
<dependency>
<groupId>com.yxt.messagecenter</groupId>
<artifactId>message-center-api</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>com.yxt</groupId>
<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.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) {

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.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<BusVehicleApplyMa
@Autowired
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())) {
qw.eq("bva.createBySid", query.getUserSid());
}
if(StringUtils.isNotBlank(query.getApplyTypeKey())){
qw.eq("bva.applyTypeKey",query.getApplyTypeKey());
if (StringUtils.isNotBlank(query.getApplyTypeKey())) {
qw.eq("bva.applyTypeKey", query.getApplyTypeKey());
}
if(StringUtils.isNotBlank(query.getSchedulingTypeKey())){
qw.eq("bva.schedulingTypeKey",query.getSchedulingTypeKey());
if (StringUtils.isNotBlank(query.getSchedulingTypeKey())) {
qw.eq("bva.schedulingTypeKey", query.getSchedulingTypeKey());
}
//查询分公司sid
@ -337,10 +355,10 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
Map<String,Object> appMap = new HashMap<>();
appMap.put("sid",businessSid);
Map<String, Object> 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<BusVehicleApplyMa
}
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
//极光推送信息
// messageJpush(ufVo.getTaskDefKey(), businessSid, orgSidPath);
return voResultBean;
}
if (r == 2) {
@ -373,6 +393,75 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
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("任务不存在");
}
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);

Loading…
Cancel
Save