mirror of
https://gitee.com/270580156/weiyu.git
synced 2026-05-18 21:27:49 +00:00
update modules/ticket: mod 4 files
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
* @Author: jackning 270580156@qq.com
|
||||
* @Date: 2025-01-23 15:00:11
|
||||
* @LastEditors: jackning 270580156@qq.com
|
||||
* @LastEditTime: 2025-02-17 15:25:08
|
||||
* @LastEditTime: 2025-02-18 11:28:12
|
||||
* @Description: bytedesk.com https://github.com/Bytedesk/bytedesk
|
||||
* Please be aware of the BSL license restrictions before installing Bytedesk IM –
|
||||
* selling, reselling, or hosting Bytedesk IM as a service is a breach of the terms and automatically terminates your rights under the license.
|
||||
@@ -40,6 +40,18 @@ public class TicketConsts {
|
||||
// 未分配
|
||||
public static final String TICKET_FILTER_UNASSIGNED = "UNASSIGNED";
|
||||
|
||||
// task definition key
|
||||
public static final String TICKET_TASK_DEFINITION_ASSIGN_TO_GROUP = "assignToGroup";
|
||||
|
||||
// variables
|
||||
public static final String TICKET_VARIABLE_TICKET_UID = "ticketUid";
|
||||
|
||||
public static final String TICKET_VARIABLE_WORKGROUP_UID = "workgroupUid";
|
||||
|
||||
public static final String TICKET_VARIABLE_REPORTER_UID = "reporterUid";
|
||||
|
||||
public static final String TICKET_VARIABLE_ORGUID = "orgUid";
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* @Author: jackning 270580156@qq.com
|
||||
* @Date: 2025-01-23 14:52:45
|
||||
* @LastEditors: jackning 270580156@qq.com
|
||||
* @LastEditTime: 2025-02-18 10:59:56
|
||||
* @LastEditTime: 2025-02-18 11:25:35
|
||||
* @Description: bytedesk.com https://github.com/Bytedesk/bytedesk
|
||||
* Please be aware of the BSL license restrictions before installing Bytedesk IM –
|
||||
* selling, reselling, or hosting Bytedesk IM as a service is a breach of the terms and automatically terminates your rights under the license.
|
||||
@@ -57,10 +57,10 @@ public class TicketEventListener {
|
||||
|
||||
// 启动工单流程
|
||||
Map<String, Object> variables = new HashMap<>();
|
||||
variables.put("ticketUid", ticket.getUid());
|
||||
variables.put("workgroupUid", JSON.parseObject(ticket.getWorkgroup(), UserProtobuf.class).getUid());
|
||||
variables.put("reporterUid", JSON.parseObject(ticket.getReporter(), UserProtobuf.class).getUid());
|
||||
variables.put("orgUid", ticket.getOrgUid());
|
||||
variables.put(TicketConsts.TICKET_VARIABLE_TICKET_UID, ticket.getUid());
|
||||
variables.put(TicketConsts.TICKET_VARIABLE_WORKGROUP_UID, JSON.parseObject(ticket.getWorkgroup(), UserProtobuf.class).getUid());
|
||||
variables.put(TicketConsts.TICKET_VARIABLE_REPORTER_UID, JSON.parseObject(ticket.getReporter(), UserProtobuf.class).getUid());
|
||||
variables.put(TicketConsts.TICKET_VARIABLE_ORGUID, ticket.getOrgUid());
|
||||
|
||||
// 根据不同优先级设置不同的SLA时间
|
||||
switch (ticket.getPriority()) {
|
||||
@@ -104,9 +104,9 @@ public class TicketEventListener {
|
||||
if (StringUtils.hasText(ticketEntity.getAssignee())) {
|
||||
Task task = taskService.createTaskQuery()
|
||||
.processDefinitionKey(TicketConsts.TICKET_PROCESS_KEY_GROUP_SIMPLE)
|
||||
.taskDefinitionKey("assignToGroup")
|
||||
.processVariableValueEquals("ticketUid", ticketEntity.getUid())
|
||||
.processVariableValueEquals("orgUid", ticketEntity.getOrgUid())
|
||||
.taskDefinitionKey(TicketConsts.TICKET_TASK_DEFINITION_ASSIGN_TO_GROUP)
|
||||
.processVariableValueEquals(TicketConsts.TICKET_VARIABLE_TICKET_UID, ticketEntity.getUid())
|
||||
.processVariableValueEquals(TicketConsts.TICKET_VARIABLE_ORGUID, ticketEntity.getOrgUid())
|
||||
.singleResult();
|
||||
if (task != null) {
|
||||
taskService.claim(task.getId(), JSON.parseObject(ticketEntity.getAssignee(), UserProtobuf.class).getUid());
|
||||
@@ -135,6 +135,9 @@ public class TicketEventListener {
|
||||
@EventListener
|
||||
public void handleTicketUpdateWorkgroupEvent(TicketUpdateWorkgroupEvent event) {
|
||||
log.info("TicketEventListener handleTicketUpdateWorkgroupEvent: {}", event);
|
||||
TicketEntity ticket = event.getTicket();
|
||||
// 更新当前技能组workgroupUid
|
||||
runtimeService.setVariable(ticket.getProcessInstanceId(), TicketConsts.TICKET_VARIABLE_WORKGROUP_UID, event.getNewWorkgroupUid());
|
||||
}
|
||||
|
||||
// 监听上传BPMN流程图
|
||||
|
||||
@@ -270,8 +270,8 @@ public class TicketRestService extends BaseRestService<TicketEntity, TicketReque
|
||||
}
|
||||
|
||||
// 发布事件,判断assignee是否被修改
|
||||
if (StringUtils.hasText(request.getAssigneeUid())) {
|
||||
String oldAssigneeUid = JSON.parse()ticket.getAssignee();
|
||||
if (StringUtils.hasText(request.getAssigneeUid()) && StringUtils.hasText(ticket.getAssignee())) {
|
||||
String oldAssigneeUid = JSON.parseObject(ticket.getAssignee(), UserProtobuf.class).getUid();
|
||||
if (oldAssigneeUid != null && !oldAssigneeUid.equals(request.getAssigneeUid())) {
|
||||
TicketUpdateAssigneeEvent ticketUpdateAssigneeEvent = new TicketUpdateAssigneeEvent(ticket, oldAssigneeUid, request.getAssigneeUid());
|
||||
applicationEventPublisher.publishEvent(ticketUpdateAssigneeEvent);
|
||||
@@ -279,8 +279,8 @@ public class TicketRestService extends BaseRestService<TicketEntity, TicketReque
|
||||
}
|
||||
|
||||
// 发布事件,判断workgroupUid是否被修改
|
||||
if (StringUtils.hasText(request.getWorkgroupUid())) {
|
||||
String oldWorkgroupUid = ticket.getWorkgroup();
|
||||
if (StringUtils.hasText(request.getWorkgroupUid()) && StringUtils.hasText(ticket.getWorkgroup())) {
|
||||
String oldWorkgroupUid = JSON.parseObject(ticket.getWorkgroup(), UserProtobuf.class).getUid();
|
||||
if (oldWorkgroupUid != null && !oldWorkgroupUid.equals(request.getWorkgroupUid())) {
|
||||
TicketUpdateWorkgroupEvent ticketUpdateWorkgroupEvent = new TicketUpdateWorkgroupEvent(ticket, oldWorkgroupUid, request.getWorkgroupUid());
|
||||
applicationEventPublisher.publishEvent(ticketUpdateWorkgroupEvent);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* @Author: jackning 270580156@qq.com
|
||||
* @Date: 2025-01-29 12:24:32
|
||||
* @LastEditors: jackning 270580156@qq.com
|
||||
* @LastEditTime: 2025-02-18 11:08:33
|
||||
* @LastEditTime: 2025-02-18 11:27:32
|
||||
* @Description: bytedesk.com https://github.com/Bytedesk/bytedesk
|
||||
* Please be aware of the BSL license restrictions before installing Bytedesk IM –
|
||||
* selling, reselling, or hosting Bytedesk IM as a service is a breach of the terms and automatically terminates your rights under the license.
|
||||
@@ -59,19 +59,19 @@ public class TicketService {
|
||||
//
|
||||
List<Task> tasks = taskService.createTaskQuery()
|
||||
.processDefinitionKey(TicketConsts.TICKET_PROCESS_KEY_GROUP_SIMPLE)
|
||||
.processVariableValueEquals("orgUid", request.getOrgUid())
|
||||
.processVariableValueEquals(TicketConsts.TICKET_VARIABLE_ORGUID, request.getOrgUid())
|
||||
.orderByTaskCreateTime().desc()
|
||||
.listPage(pageable.getPageNumber(), pageable.getPageSize());
|
||||
|
||||
long total = taskService.createTaskQuery()
|
||||
.processDefinitionKey(TicketConsts.TICKET_PROCESS_KEY_GROUP_SIMPLE)
|
||||
.processVariableValueEquals("orgUid", request.getOrgUid())
|
||||
.processVariableValueEquals(TicketConsts.TICKET_VARIABLE_ORGUID, request.getOrgUid())
|
||||
.orderByTaskCreateTime().desc()
|
||||
.count();
|
||||
|
||||
List<TicketResponse> responses = tasks.stream()
|
||||
.map(task -> {
|
||||
String ticketUid = (String) runtimeService.getVariable(task.getExecutionId(), "ticketUid");
|
||||
String ticketUid = (String) runtimeService.getVariable(task.getExecutionId(), TicketConsts.TICKET_VARIABLE_TICKET_UID);
|
||||
Optional<TicketEntity> ticket = ticketRepository.findByUid(ticketUid);
|
||||
if (ticket.isPresent()) {
|
||||
return TicketConvertUtils.convertToResponse(ticket.get());
|
||||
@@ -94,18 +94,18 @@ public class TicketService {
|
||||
List<Task> tasks = taskService.createTaskQuery()
|
||||
.processDefinitionKey(TicketConsts.TICKET_PROCESS_KEY_GROUP_SIMPLE)
|
||||
.taskAssignee(request.getReporterUid())
|
||||
.processVariableValueEquals("orgUid", request.getOrgUid())
|
||||
.processVariableValueEquals(TicketConsts.TICKET_VARIABLE_ORGUID, request.getOrgUid())
|
||||
.listPage(pageable.getPageNumber(), pageable.getPageSize());
|
||||
|
||||
long total = taskService.createTaskQuery()
|
||||
.processDefinitionKey(TicketConsts.TICKET_PROCESS_KEY_GROUP_SIMPLE)
|
||||
.taskAssignee(request.getReporterUid())
|
||||
.processVariableValueEquals("orgUid", request.getOrgUid())
|
||||
.processVariableValueEquals(TicketConsts.TICKET_VARIABLE_ORGUID, request.getOrgUid())
|
||||
.count();
|
||||
|
||||
List<TicketResponse> responses = tasks.stream()
|
||||
.map(task -> {
|
||||
String ticketUid = (String) runtimeService.getVariable(task.getExecutionId(), "ticketUid");
|
||||
String ticketUid = (String) runtimeService.getVariable(task.getExecutionId(), TicketConsts.TICKET_VARIABLE_TICKET_UID);
|
||||
Optional<TicketEntity> ticket = ticketRepository.findByUid(ticketUid);
|
||||
if (ticket.isPresent()) {
|
||||
return TicketConvertUtils.convertToResponse(ticket.get());
|
||||
@@ -127,22 +127,22 @@ public class TicketService {
|
||||
List<Task> tasks = taskService.createTaskQuery()
|
||||
.processDefinitionKey(TicketConsts.TICKET_PROCESS_KEY_GROUP_SIMPLE)
|
||||
.taskAssignee(request.getAssigneeUid())
|
||||
.taskDefinitionKey("assignToGroup")
|
||||
.processVariableValueEquals("orgUid", request.getOrgUid())
|
||||
.taskDefinitionKey(TicketConsts.TICKET_TASK_DEFINITION_ASSIGN_TO_GROUP)
|
||||
.processVariableValueEquals(TicketConsts.TICKET_VARIABLE_ORGUID, request.getOrgUid())
|
||||
.orderByTaskCreateTime().desc()
|
||||
.listPage(pageable.getPageNumber(), pageable.getPageSize());
|
||||
|
||||
long total = taskService.createTaskQuery()
|
||||
.processDefinitionKey(TicketConsts.TICKET_PROCESS_KEY_GROUP_SIMPLE)
|
||||
.taskAssignee(request.getAssigneeUid())
|
||||
.taskDefinitionKey("assignToGroup")
|
||||
.processVariableValueEquals("orgUid", request.getOrgUid())
|
||||
.taskDefinitionKey(TicketConsts.TICKET_TASK_DEFINITION_ASSIGN_TO_GROUP)
|
||||
.processVariableValueEquals(TicketConsts.TICKET_VARIABLE_ORGUID, request.getOrgUid())
|
||||
.orderByTaskCreateTime().desc()
|
||||
.count();
|
||||
|
||||
List<TicketResponse> responses = tasks.stream()
|
||||
.map(task -> {
|
||||
String ticketUid = (String) runtimeService.getVariable(task.getExecutionId(), "ticketUid");
|
||||
String ticketUid = (String) runtimeService.getVariable(task.getExecutionId(), TicketConsts.TICKET_VARIABLE_TICKET_UID);
|
||||
Optional<TicketEntity> ticket = ticketRepository.findByUid(ticketUid);
|
||||
if (ticket.isPresent()) {
|
||||
return TicketConvertUtils.convertToResponse(ticket.get());
|
||||
@@ -164,18 +164,18 @@ public class TicketService {
|
||||
List<Task> tasks = taskService.createTaskQuery()
|
||||
.processDefinitionKey(TicketConsts.TICKET_PROCESS_KEY_GROUP_SIMPLE)
|
||||
.taskCandidateGroup(request.getWorkgroupUid())
|
||||
.processVariableValueEquals("orgUid", request.getOrgUid())
|
||||
.processVariableValueEquals(TicketConsts.TICKET_VARIABLE_ORGUID, request.getOrgUid())
|
||||
.listPage(pageable.getPageNumber(), pageable.getPageSize());
|
||||
|
||||
long total = taskService.createTaskQuery()
|
||||
.processDefinitionKey(TicketConsts.TICKET_PROCESS_KEY_GROUP_SIMPLE)
|
||||
.taskCandidateGroup(request.getWorkgroupUid())
|
||||
.processVariableValueEquals("orgUid", request.getOrgUid())
|
||||
.processVariableValueEquals(TicketConsts.TICKET_VARIABLE_ORGUID, request.getOrgUid())
|
||||
.count();
|
||||
|
||||
List<TicketResponse> responses = tasks.stream()
|
||||
.map(task -> {
|
||||
String ticketUid = (String) runtimeService.getVariable(task.getExecutionId(), "ticketUid");
|
||||
String ticketUid = (String) runtimeService.getVariable(task.getExecutionId(), TicketConsts.TICKET_VARIABLE_TICKET_UID);
|
||||
Optional<TicketEntity> ticket = ticketRepository.findByUid(ticketUid);
|
||||
if (ticket.isPresent()) {
|
||||
return TicketConvertUtils.convertToResponse(ticket.get());
|
||||
@@ -196,9 +196,9 @@ public class TicketService {
|
||||
public void claimTicket(TicketRequest request) {
|
||||
Task task = taskService.createTaskQuery()
|
||||
.processDefinitionKey(TicketConsts.TICKET_PROCESS_KEY_GROUP_SIMPLE)
|
||||
.taskDefinitionKey("assignToGroup")
|
||||
.processVariableValueEquals("ticketUid", request.getUid())
|
||||
.processVariableValueEquals("orgUid", request.getOrgUid())
|
||||
.taskDefinitionKey(TicketConsts.TICKET_TASK_DEFINITION_ASSIGN_TO_GROUP)
|
||||
.processVariableValueEquals(TicketConsts.TICKET_VARIABLE_TICKET_UID, request.getUid())
|
||||
.processVariableValueEquals(TicketConsts.TICKET_VARIABLE_ORGUID, request.getOrgUid())
|
||||
.singleResult();
|
||||
|
||||
if (task != null) {
|
||||
@@ -231,10 +231,10 @@ public class TicketService {
|
||||
public void unclaimTicket(TicketRequest request) {
|
||||
Task task = taskService.createTaskQuery()
|
||||
.processDefinitionKey(TicketConsts.TICKET_PROCESS_KEY_GROUP_SIMPLE)
|
||||
.taskDefinitionKey("assignToGroup")
|
||||
.taskDefinitionKey(TicketConsts.TICKET_TASK_DEFINITION_ASSIGN_TO_GROUP)
|
||||
.taskAssignee(request.getAssigneeUid())
|
||||
.processVariableValueEquals("ticketUid", request.getUid())
|
||||
.processVariableValueEquals("orgUid", request.getOrgUid())
|
||||
.processVariableValueEquals(TicketConsts.TICKET_VARIABLE_TICKET_UID, request.getUid())
|
||||
.processVariableValueEquals(TicketConsts.TICKET_VARIABLE_ORGUID, request.getOrgUid())
|
||||
.singleResult();
|
||||
|
||||
if (task != null) {
|
||||
@@ -258,8 +258,8 @@ public class TicketService {
|
||||
public void completeTicket(TicketRequest request) {
|
||||
Task task = taskService.createTaskQuery()
|
||||
.processDefinitionKey(TicketConsts.TICKET_PROCESS_KEY_GROUP_SIMPLE)
|
||||
.processVariableValueEquals("ticketUid", request.getUid())
|
||||
.processVariableValueEquals("orgUid", request.getOrgUid())
|
||||
.processVariableValueEquals(TicketConsts.TICKET_VARIABLE_TICKET_UID, request.getUid())
|
||||
.processVariableValueEquals(TicketConsts.TICKET_VARIABLE_ORGUID, request.getOrgUid())
|
||||
.singleResult();
|
||||
|
||||
if (task != null) {
|
||||
|
||||
Reference in New Issue
Block a user