add: 联调
This commit is contained in:
@@ -70,14 +70,12 @@ public class FlwInstanceController {
|
||||
/**
|
||||
* 审批通过
|
||||
*/
|
||||
@RequestMapping("/completeFlow/{id}")
|
||||
public R completeFlow(@PathVariable("id") String id){
|
||||
if(StringUtils.isBlank(id)){
|
||||
return R.error("流程TaskId不能为空");
|
||||
}
|
||||
instanceService.completeTaskById(id);
|
||||
@PostMapping("/completeFlow")
|
||||
public R completeFlow(@RequestBody Map<String, Object> params){
|
||||
|
||||
return R.ok("操作成功");
|
||||
R r = instanceService.completeTaskById(params);
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
@RequestMapping("/claimTask/{id}")
|
||||
|
||||
@@ -3,7 +3,6 @@ package com.boge.modules.flow.service;
|
||||
import com.boge.common.utils.R;
|
||||
import com.boge.modules.flow.entity.FlwHiTaskEntity;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -12,7 +11,7 @@ public interface FlwInstanceService {
|
||||
|
||||
R getTodoTaskList(Map<String, Object> params);
|
||||
|
||||
void completeTaskById(String id);
|
||||
R completeTaskById(Map<String, Object> id);
|
||||
|
||||
void unclaimTask(String id);
|
||||
|
||||
|
||||
@@ -18,6 +18,9 @@ import com.boge.modules.sys.entity.SysUserEntity;
|
||||
import com.boge.modules.sys.service.SysRoleService;
|
||||
import com.boge.modules.sys.service.SysUserService;
|
||||
import com.boge.modules.sys.service.impl.SysUserServiceImpl;
|
||||
import com.boge.modules.tickets.entity.TicketsEntity;
|
||||
import com.boge.modules.tickets.enums.TicketsStatusEnums;
|
||||
import com.boge.modules.tickets.service.TicketsService;
|
||||
import org.flowable.bpmn.model.BpmnModel;
|
||||
import org.flowable.bpmn.model.FlowElement;
|
||||
import org.flowable.bpmn.model.Process;
|
||||
@@ -35,6 +38,7 @@ import org.flowable.task.api.Task;
|
||||
import org.flowable.task.api.TaskQuery;
|
||||
import org.flowable.task.api.history.HistoricTaskInstance;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.io.IOException;
|
||||
@@ -59,6 +63,12 @@ public class FlwInstanceServiceImpl extends FlowServiceNoFactory implements FlwI
|
||||
@Autowired
|
||||
private SysUserServiceImpl sysUserService;
|
||||
|
||||
@Autowired
|
||||
private TicketsService ticketsService;
|
||||
|
||||
@Value("${ProcessInstance.defId}")
|
||||
private String defId;
|
||||
|
||||
//发送消息的类型
|
||||
private final static String MSGTYPE = "text";
|
||||
//将消息发送给所有成员
|
||||
@@ -78,7 +88,8 @@ public class FlwInstanceServiceImpl extends FlowServiceNoFactory implements FlwI
|
||||
public void startFlowInstance(Map<String, Object> params) {
|
||||
SysUserEntity loginUser = ShiroUtils.getUserEntity();
|
||||
// 获取需要发起的流程信息
|
||||
String defId = (String) params.get("id");
|
||||
String ticketsId = (String) params.get("ticketsId");
|
||||
|
||||
Map<String, Object> variable = new HashMap<>();
|
||||
// 结合传递过来的数据动态的绑定流程变量
|
||||
Set<String> keys = params.keySet();
|
||||
@@ -87,14 +98,21 @@ public class FlwInstanceServiceImpl extends FlowServiceNoFactory implements FlwI
|
||||
// 记录流程的发起人
|
||||
identityService.setAuthenticatedUserId(ShiroUtils.getUserId().toString());
|
||||
// 启动流程
|
||||
runtimeService.startProcessInstanceById(defId, variable);
|
||||
ProcessInstance processInstance = runtimeService.startProcessInstanceById(defId, variable);
|
||||
SysUserEntity user = sysUserService.getById(Long.valueOf((String) params.get("user1")));
|
||||
//更新工单审批id
|
||||
TicketsEntity ticketsEntity = new TicketsEntity();
|
||||
ticketsEntity.setTicketsId(Long.valueOf(ticketsId));
|
||||
ticketsEntity.setStatus(TicketsStatusEnums.CHECKED.getCode());
|
||||
ticketsEntity.setProcessInstance(processInstance.getProcessInstanceId());
|
||||
ticketsService.updateById(ticketsEntity);
|
||||
|
||||
if (StrUtil.isEmpty(user.getWexinId())){
|
||||
throw new RRException("企业id为空,企业微信消息无法推送");
|
||||
}
|
||||
|
||||
String accessToken = getAccessToken();
|
||||
sendWeChatMessage(user.getWexinId(),"工单已推送,请登入售后管理系统处理",accessToken);
|
||||
sendWeChatMessage(user.getWexinId(),"工单已推送,请登入售后管理系统处理",accessToken,ticketsId);
|
||||
|
||||
}
|
||||
|
||||
@@ -143,7 +161,7 @@ public class FlwInstanceServiceImpl extends FlowServiceNoFactory implements FlwI
|
||||
|
||||
|
||||
|
||||
public static void sendWeChatMessage(String toUser, String content, String ACCESS_TOKEN) {
|
||||
public static void sendWeChatMessage(String toUser, String content, String ACCESS_TOKEN, String ticketsId) {
|
||||
//请求串
|
||||
String url = CREATE_SESSION_URL + ACCESS_TOKEN;
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
@@ -151,9 +169,9 @@ public class FlwInstanceServiceImpl extends FlowServiceNoFactory implements FlwI
|
||||
jsonObject.put("msgtype", "textcard");
|
||||
jsonObject.put("agentid", 1000006);
|
||||
JSONObject contentJSon = new JSONObject();
|
||||
contentJSon.put("title", "新审批待处理");
|
||||
contentJSon.put("title", "[协同提醒] - 工单审批待处理");
|
||||
contentJSon.put("description", "点击查看详情");
|
||||
contentJSon.put("url", "http://localhost:8001/#/tickets-tickets");
|
||||
contentJSon.put("url", "http://localhost:8001/#/tickets-detail?id="+ticketsId);
|
||||
contentJSon.put("btntxt", "处理");
|
||||
|
||||
jsonObject.put("textcard", contentJSon);
|
||||
@@ -309,9 +327,24 @@ public class FlwInstanceServiceImpl extends FlowServiceNoFactory implements FlwI
|
||||
}
|
||||
|
||||
@Override
|
||||
public void completeTaskById(String id) {
|
||||
public R completeTaskById(Map<String, Object> params) {
|
||||
String processInstance = (String) params.get("process_instance");
|
||||
String ticketsId = (String) params.get("ticketsId");
|
||||
if(StringUtils.isBlank(processInstance)){
|
||||
return R.error("流程Id不能为空");
|
||||
}
|
||||
TaskQuery taskQuery = taskService.createTaskQuery().active().processInstanceId(processInstance);
|
||||
List<Task> tasks = taskQuery.list();
|
||||
if (!tasks.isEmpty()){
|
||||
taskService.complete(tasks.get(0).getId());
|
||||
}
|
||||
//更新工单审批id
|
||||
TicketsEntity ticketsEntity = new TicketsEntity();
|
||||
ticketsEntity.setTicketsId(Long.valueOf(ticketsId));
|
||||
ticketsEntity.setStatus(TicketsStatusEnums.CANCEL.getCode());
|
||||
ticketsService.updateById(ticketsEntity);
|
||||
|
||||
taskService.complete(id);
|
||||
return R.ok("操作成功");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -31,11 +31,11 @@ public class TicketsEntity implements Serializable {
|
||||
/**
|
||||
* 异常类型
|
||||
*/
|
||||
private Integer errorType;
|
||||
private String errorType;
|
||||
/**
|
||||
* 合同编号
|
||||
*/
|
||||
private String contractNumber;
|
||||
private String contractId;
|
||||
/**
|
||||
* 客户id
|
||||
*/
|
||||
@@ -73,6 +73,11 @@ public class TicketsEntity implements Serializable {
|
||||
*/
|
||||
private Date updateTime;
|
||||
|
||||
/**
|
||||
* 审批流id
|
||||
*/
|
||||
private String processInstance;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.boge.modules.tickets.enums;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum TicketsStatusEnums {
|
||||
|
||||
UNCHECK(0, "未开始"),
|
||||
CHECKED(1, "已指派"),
|
||||
REJECT(2, "处理中"),
|
||||
CANCEL(3, "已完成");
|
||||
|
||||
private Integer code;
|
||||
private String msg;
|
||||
|
||||
public static String getStatus(String code) {
|
||||
for (TicketsStatusEnums value : values()) {
|
||||
if (value.code.equals(code)) {
|
||||
return value.msg;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -84,3 +84,6 @@ file:
|
||||
maxSize: 100
|
||||
avatarMaxSize: 5
|
||||
|
||||
ProcessInstance:
|
||||
defId: Process_1:2:05cb9af4-03a2-11f0-8846-e40d36456f42
|
||||
|
||||
|
||||
6
base-vue/package-lock.json
generated
6
base-vue/package-lock.json
generated
@@ -4429,9 +4429,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"element-ui": {
|
||||
"version": "2.8.2",
|
||||
"resolved": "https://registry.npmmirror.com/element-ui/-/element-ui-2.8.2.tgz",
|
||||
"integrity": "sha512-LABKHKGUyewFNvpf9BQLecB659Wq0XYvyP1tBveZ4RWpdlPSylDfGW/RLvDYU7zuCBoRasdZAz7ryjOwq1lLNg==",
|
||||
"version": "2.15.14",
|
||||
"resolved": "https://registry.npmmirror.com/element-ui/-/element-ui-2.15.14.tgz",
|
||||
"integrity": "sha512-2v9fHL0ZGINotOlRIAJD5YuVB8V7WKxrE9Qy7dXhRipa035+kF7WuU/z+tEmLVPBcJ0zt8mOu1DKpWcVzBK8IA==",
|
||||
"requires": {
|
||||
"async-validator": "~1.8.1",
|
||||
"babel-helper-vue-jsx-merge-props": "^2.0.0",
|
||||
|
||||
Reference in New Issue
Block a user