flowable 抄送
This commit is contained in:
@@ -68,6 +68,10 @@ public interface MessageFeign {
|
||||
@PostMapping("/pushMessage")
|
||||
ResultBean<String> pushMessage(@RequestBody MessageFlowableQuery query);
|
||||
|
||||
@ApiOperation("流程审批推送消息 抄送")
|
||||
@PostMapping("/pushMessageCC")
|
||||
ResultBean<String> pushMessageCC(@RequestBody MessageFlowableQueryForCC query);
|
||||
|
||||
@ApiOperation("供应链流程审批推送消息")
|
||||
@PostMapping("/sendMessage")
|
||||
ResultBean<String> sendMessage(@RequestBody AppScmMessageFlowableQuery query);
|
||||
|
||||
@@ -64,6 +64,11 @@ public class MessageFeignFallback implements MessageFeign {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<String> pushMessageCC(MessageFlowableQueryForCC query) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<String> sendMessage(AppScmMessageFlowableQuery query) {
|
||||
return null;
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
package com.yxt.messagecenter.api.message;
|
||||
|
||||
import com.yxt.common.core.query.Query;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Author dimengzhe
|
||||
* @Date 2022/8/25 15:12
|
||||
* @Description
|
||||
*/
|
||||
@Data
|
||||
public class MessageFlowableQueryForCC implements Query {
|
||||
private static final long serialVersionUID = 3618558867479892211L;
|
||||
@ApiModelProperty("业务sid")
|
||||
private String businessSid;
|
||||
@ApiModelProperty("模块名称")
|
||||
private String moduleName;
|
||||
@ApiModelProperty("消息内容")
|
||||
private String msgContent;
|
||||
@ApiModelProperty("消息标题")
|
||||
private String msgTitle;
|
||||
@ApiModelProperty("流程相关参数")
|
||||
private MessageFlowVo ufVo;
|
||||
@ApiModelProperty("app所需参数")
|
||||
private Map<String,Object> appMap;
|
||||
@ApiModelProperty("申请人")
|
||||
private String applicationName;
|
||||
@ApiModelProperty("抄送的用户sid")
|
||||
private String userSids;
|
||||
|
||||
}
|
||||
@@ -121,6 +121,11 @@ public class MessageRest implements MessageFeign {
|
||||
return messageService.pushMessage(query);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<String> pushMessageCC(MessageFlowableQueryForCC query) {
|
||||
return messageService.pushMessageForCC(query);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResultBean<String> sendMessage(AppScmMessageFlowableQuery query) {
|
||||
return messageService.sendMessage(query);
|
||||
|
||||
@@ -354,6 +354,57 @@ public class MessageService extends MybatisBaseService<MessageMapper, Message> {
|
||||
return rb.success().setMsg(msgSid);
|
||||
}
|
||||
|
||||
|
||||
public ResultBean<String> pushMessageForCC(MessageFlowableQueryForCC query) {
|
||||
ResultBean<String> rb = ResultBean.fireFail();
|
||||
MessageFlowVo ufVo = query.getUfVo();
|
||||
String procId = 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();
|
||||
String nextNodeUserSids = query.getUserSids();
|
||||
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);
|
||||
}
|
||||
|
||||
public static void main(String[] arg0) {
|
||||
YamlPropertiesFactoryBean factoryBean = new YamlPropertiesFactoryBean();
|
||||
factoryBean.setResources(new ClassPathResource("application.yml"));
|
||||
|
||||
Reference in New Issue
Block a user