聊天室url修正
This commit is contained in:
@@ -87,6 +87,18 @@ public class WorkcaseController {
|
||||
return workcaseService.deleteWorkcase(workcase);
|
||||
}
|
||||
|
||||
@Operation(summary = "撤销工单")
|
||||
@PreAuthorize("hasAuthority('workcase:ticket:update')")
|
||||
@PostMapping("/revoke/{workcaseId}")
|
||||
public ResultDomain<TbWorkcaseProcessDTO> revokeWorkcase(@PathVariable(value = "workcaseId") String workcaseId) {
|
||||
// 创建撤销处理过程
|
||||
TbWorkcaseProcessDTO process = new TbWorkcaseProcessDTO();
|
||||
process.setWorkcaseId(workcaseId);
|
||||
process.setAction("repeal");
|
||||
process.setMessage("用户撤销工单");
|
||||
return workcaseService.createWorkcaseProcess(process);
|
||||
}
|
||||
|
||||
@Operation(summary = "获取工单详情")
|
||||
@PreAuthorize("hasAuthority('workcase:ticket:view')")
|
||||
@GetMapping("/{workcaseId}")
|
||||
|
||||
@@ -376,6 +376,7 @@ public class VideoMeetingServiceImpl implements VideoMeetingService {
|
||||
meeting.setJwtToken(userJwtToken);
|
||||
meeting.setJitsiIframeUrl(jitsiIframeUrl); // 真正的Jitsi URL
|
||||
meeting.setIframeUrl(meetingPageUrl); // 会议页面URL(用于router跳转)
|
||||
meeting.setJitsiServerUrl(jitsiProperties.getServer().getUrl()); // 使用当前配置的服务器URL
|
||||
|
||||
logger.info("生成用户专属会议URL成功: meetingId={}, userId={}, status={}",
|
||||
meetingId, userId, meeting.getStatus());
|
||||
|
||||
@@ -416,10 +416,38 @@ public class WorkcaseServiceImpl implements WorkcaseService {
|
||||
// 不影响工单完成流程,只记录错误日志
|
||||
}
|
||||
} else if (WorkcaseProcessAction.REPEAL.getName().equals(action)) {
|
||||
// 1. 更新工单状态为已撤销
|
||||
TbWorkcaseDTO workcase = new TbWorkcaseDTO();
|
||||
workcase.setWorkcaseId(workcaseProcess.getWorkcaseId());
|
||||
workcase.setStatus("cancelled");
|
||||
workcaseMapper.updateWorkcase(workcase);
|
||||
|
||||
// 2. 发送系统评分消息到聊天室
|
||||
try {
|
||||
TbWorkcaseDTO workcaseData = workcaseMapper.selectWorkcaseById(workcaseProcess.getWorkcaseId());
|
||||
if (workcaseData != null && workcaseData.getRoomId() != null) {
|
||||
// 创建系统评分消息
|
||||
org.xyzh.api.workcase.dto.TbChatRoomMessageDTO commentMessage = new org.xyzh.api.workcase.dto.TbChatRoomMessageDTO();
|
||||
commentMessage.setMessageId(IdUtil.generateUUID());
|
||||
commentMessage.setOptsn(IdUtil.getOptsn());
|
||||
commentMessage.setRoomId(workcaseData.getRoomId());
|
||||
commentMessage.setSenderId("system");
|
||||
commentMessage.setSenderType("system"); // 系统消息
|
||||
commentMessage.setSenderName("系统");
|
||||
commentMessage.setMessageType("comment"); // 评分消息
|
||||
commentMessage.setContent("工单已撤销,请为本次服务评分");
|
||||
commentMessage.setStatus("sent");
|
||||
commentMessage.setCreator("system");
|
||||
|
||||
// 发送消息到聊天室
|
||||
chatRoomService.sendMessage(commentMessage);
|
||||
logger.info("工单撤销,已发送系统评分消息: workcaseId={}, roomId={}",
|
||||
workcaseProcess.getWorkcaseId(), workcaseData.getRoomId());
|
||||
}
|
||||
} catch (Exception e) {
|
||||
logger.error("发送系统评分消息失败: workcaseId={}", workcaseProcess.getWorkcaseId(), e);
|
||||
// 不影响工单撤销流程,只记录错误日志
|
||||
}
|
||||
}
|
||||
workcaseProcess.setCreator(LoginUtil.getCurrentUserId());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user