index修改
This commit is contained in:
@@ -47,27 +47,12 @@ public class WorkcaseServiceImpl implements WorkcaseService {
|
||||
public ResultDomain<TbWorkcaseDTO> createWorkcase(TbWorkcaseDTO workcase) {
|
||||
logger.info("创建工单: userId={}, type={}, roomId={}", workcase.getUserId(), workcase.getType(), workcase.getRoomId());
|
||||
|
||||
// 如果没有 roomId,先创建聊天室
|
||||
boolean needCreateRoom = (workcase.getRoomId() == null || workcase.getRoomId().isEmpty());
|
||||
if (needCreateRoom) {
|
||||
logger.info("未提供 roomId,先创建聊天室");
|
||||
TbChatRoomDTO chatRoom = new TbChatRoomDTO();
|
||||
chatRoom.setGuestId(workcase.getUserId());
|
||||
chatRoom.setGuestName(workcase.getUsername());
|
||||
chatRoom.setRoomType("workcase");
|
||||
chatRoom.setRoomName("工单客服-" + workcase.getUsername());
|
||||
chatRoom.setStatus("active");
|
||||
chatRoom.setCreator(workcase.getCreator());
|
||||
|
||||
ResultDomain<TbChatRoomDTO> roomResult = chatRoomService.createChatRoom(chatRoom);
|
||||
if (!roomResult.getSuccess() || roomResult.getData() == null) {
|
||||
logger.error("创建聊天室失败: {}", roomResult.getMessage());
|
||||
return ResultDomain.failure("创建聊天室失败: " + roomResult.getMessage());
|
||||
}
|
||||
|
||||
workcase.setRoomId(roomResult.getData().getRoomId());
|
||||
logger.info("聊天室创建成功: roomId={}", workcase.getRoomId());
|
||||
// 前端应确保 roomId 已创建并传入
|
||||
if (workcase.getRoomId() == null || workcase.getRoomId().isEmpty()) {
|
||||
logger.error("创建工单失败: roomId 不能为空");
|
||||
return ResultDomain.failure("缺少聊天室ID (roomId),无法创建工单");
|
||||
}
|
||||
|
||||
|
||||
if (workcase.getWorkcaseId() == null || workcase.getWorkcaseId().isEmpty()) {
|
||||
workcase.setWorkcaseId(IdUtil.generateUUID());
|
||||
@@ -81,6 +66,7 @@ public class WorkcaseServiceImpl implements WorkcaseService {
|
||||
if (workcase.getEmergency() == null || workcase.getEmergency().isEmpty()) {
|
||||
workcase.setEmergency("normal");
|
||||
}
|
||||
// 统一由后端从登录态设置 creator,避免前端传入不可信
|
||||
workcase.setCreator(LoginUtil.getCurrentUserId());
|
||||
|
||||
int rows = workcaseMapper.insertWorkcase(workcase);
|
||||
|
||||
Reference in New Issue
Block a user