|
|
@ -4,6 +4,12 @@ import cn.hutool.core.bean.BeanUtil; |
|
|
|
import com.alibaba.fastjson.JSONObject; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.yxt.anrui.flowable.api.flow.FlowableFeign; |
|
|
|
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; |
|
|
|
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo; |
|
|
|
import com.yxt.anrui.flowable.api.sysprourl.SysProUrlFeign; |
|
|
|
import com.yxt.anrui.flowable.api.sysprourl.SysProUrlVo; |
|
|
|
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; |
|
|
|
import com.yxt.common.base.service.MybatisBaseService; |
|
|
|
import com.yxt.common.base.utils.JPushServer; |
|
|
|
import com.yxt.common.base.utils.PagerUtil; |
|
|
@ -23,6 +29,7 @@ import java.util.*; |
|
|
|
import java.util.concurrent.ExecutorService; |
|
|
|
import java.util.concurrent.Executors; |
|
|
|
import java.util.concurrent.Future; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
/** |
|
|
|
* Project: message-center(消息中心) <br/> |
|
|
@ -44,6 +51,14 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> { |
|
|
|
private MessageTypeService messageTypeService; |
|
|
|
@Autowired |
|
|
|
private MessageListService messageListService; |
|
|
|
@Autowired |
|
|
|
private SysUserFeign sysUserFeign; |
|
|
|
@Autowired |
|
|
|
private FlowableFeign flowableFeign; |
|
|
|
@Autowired |
|
|
|
private FlowTaskFeign flowTaskFeign; |
|
|
|
@Autowired |
|
|
|
private SysProUrlFeign sysProUrlFeign; |
|
|
|
|
|
|
|
public PagerVo<Message> listPage(PagerQuery<MessageQuery> pq) { |
|
|
|
MessageQuery query = pq.getParams(); |
|
|
@ -169,7 +184,7 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> { |
|
|
|
dto.fillEntity(message); |
|
|
|
if (StringUtils.isNotBlank(dto.getTaskId())) { |
|
|
|
message.setSid(dto.getTaskId()); |
|
|
|
}else{ |
|
|
|
} else { |
|
|
|
message.setSid(UUID.randomUUID().toString()); |
|
|
|
} |
|
|
|
Boolean flag = save(message); |
|
|
@ -254,8 +269,59 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> { |
|
|
|
* msgTitle:排产申请 |
|
|
|
* content:xxx的排产申请 |
|
|
|
*/ |
|
|
|
JPushServer.sendPushAlias(msgTitle, dto.getCreateName() + "的" + dto.getModuleName(), msgTypeSid, "审批中心", receiveIdList.get(i)); |
|
|
|
JPushServer.sendPushAlias(msgTitle, msgContent, msgTypeSid, "审批中心", receiveIdList.get(i)); |
|
|
|
} |
|
|
|
return rb.success().setData(msgSid); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<String> pushMessage(MessageFlowableQuery query) { |
|
|
|
ResultBean<String> rb = ResultBean.fireFail(); |
|
|
|
MessageFlowVo ufVo = query.getUfVo(); |
|
|
|
String procInsId = ufVo.getProcInsId(); |
|
|
|
String procDefId = ufVo.getProcDefId(); |
|
|
|
Map<String, Object> appMap = query.getAppMap(); |
|
|
|
String moduleName = query.getModuleName(); |
|
|
|
String msgContent = query.getMsgContent(); |
|
|
|
String msgTitle = query.getMsgTitle(); |
|
|
|
String applicationName = query.getApplicationName(); |
|
|
|
ResultBean<List<LatestTaskVo>> resultBean = flowTaskFeign.getLatestTasks(procInsId); |
|
|
|
String nextNodeUserSids = resultBean.getData().get(0).getASSIGNEE_(); |
|
|
|
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); |
|
|
|
//根据用户的sid查询用户的id
|
|
|
|
ResultBean<String> stringList1 = sysUserFeign.selectIdBySid(receiveSidList); |
|
|
|
List<String> reveiveIdList = Arrays.asList(stringList1.getData().split(",")); |
|
|
|
MessageFlowableDto messageFlowableDto = new MessageFlowableDto(); |
|
|
|
MessageJsonDto messageJsonDto = new MessageJsonDto(); |
|
|
|
BeanUtil.copyProperties(ufVo, messageJsonDto); |
|
|
|
//查询流程审批的页面操作地址组装json的参数
|
|
|
|
//根据taskDef和移动端标识
|
|
|
|
ResultBean<SysProUrlVo> selectUrlByKey = sysProUrlFeign.selectUrlByKey(procDefId, ufVo.getTaskDefKey(), "1", "2"); |
|
|
|
SysProUrlVo sysProUrlVo = selectUrlByKey.getData(); |
|
|
|
messageFlowableDto.setBusinessSid(query.getBusinessSid()); |
|
|
|
messageFlowableDto.setApp_type("2"); |
|
|
|
if (sysProUrlVo.getUrl().contains("#")) { |
|
|
|
messageFlowableDto.setModuleAction(Arrays.asList(sysProUrlVo.getUrl().split("#")).get(0)); |
|
|
|
List<Integer> codesInteger = Arrays.asList(Arrays.asList(sysProUrlVo.getUrl().split("#")).get(1).split(",")).stream().map(Integer::parseInt).collect(Collectors.toList()); |
|
|
|
int[] ints = codesInteger.stream().mapToInt(Integer::valueOf).toArray(); |
|
|
|
; |
|
|
|
messageJsonDto.setButtons(ints); |
|
|
|
} else { |
|
|
|
messageFlowableDto.setModuleAction(sysProUrlVo.getUrl()); |
|
|
|
} |
|
|
|
messageFlowableDto.setModuleSid(Arrays.asList(sysProUrlVo.getModulePluginName().split("#")).get(0)); |
|
|
|
messageJsonDto.setTaskName(ufVo.getNodeState()); |
|
|
|
messageJsonDto.setProcInsId(ufVo.getProcInsId()); |
|
|
|
messageJsonDto.setAppMap(appMap); |
|
|
|
messageFlowableDto.setJson(messageJsonDto); |
|
|
|
messageFlowableDto.setList(receiveSidList); |
|
|
|
messageFlowableDto.setReceiveIdList(reveiveIdList); |
|
|
|
messageFlowableDto.setModuleName(moduleName); |
|
|
|
messageFlowableDto.setMsgContent(msgContent); |
|
|
|
messageFlowableDto.setMsgTitle(msgTitle); |
|
|
|
messageFlowableDto.setCreateName(applicationName); |
|
|
|
messageFlowableDto.setTaskId(ufVo.getTaskId()); |
|
|
|
ResultBean<String> stringResultBean = getMessage(messageFlowableDto); |
|
|
|
String msgSid = stringResultBean.getData(); |
|
|
|
return rb.success().setMsg(msgSid); |
|
|
|
} |
|
|
|
} |