diff --git a/urbanLifelineServ/.bin/database/postgres/sql/createTableWorkcase.sql b/urbanLifelineServ/.bin/database/postgres/sql/createTableWorkcase.sql index 6afc2457..825f42ba 100644 --- a/urbanLifelineServ/.bin/database/postgres/sql/createTableWorkcase.sql +++ b/urbanLifelineServ/.bin/database/postgres/sql/createTableWorkcase.sql @@ -38,6 +38,7 @@ CREATE TABLE workcase.tb_chat_room( guest_name VARCHAR(100) NOT NULL, -- 来客姓名 ai_session_id VARCHAR(50) DEFAULT NULL, -- AI对话会话ID(从ai.tb_chat同步) message_count INTEGER NOT NULL DEFAULT 0, -- 消息总数 + device_code VARCHAR(50) NOT NULL, -- 设备代码 last_message_time TIMESTAMPTZ DEFAULT NULL, -- 最后消息时间 last_message TEXT DEFAULT NULL, -- 最后一条消息内容(用于列表展示) comment_level INTEGER DEFAULT 0, -- 服务评分(1-5) diff --git a/urbanLifelineServ/apis/api-workcase/src/main/java/org/xyzh/api/workcase/dto/TbChatRoomDTO.java b/urbanLifelineServ/apis/api-workcase/src/main/java/org/xyzh/api/workcase/dto/TbChatRoomDTO.java index 9afcea0f..202d73bc 100644 --- a/urbanLifelineServ/apis/api-workcase/src/main/java/org/xyzh/api/workcase/dto/TbChatRoomDTO.java +++ b/urbanLifelineServ/apis/api-workcase/src/main/java/org/xyzh/api/workcase/dto/TbChatRoomDTO.java @@ -63,6 +63,9 @@ public class TbChatRoomDTO extends BaseDTO { @Schema(description = "服务评分(1-5星)") private Integer commentLevel; + @Schema(description = "设备代码") + private String deviceCode; + @Schema(description = "关闭人") private String closedBy; diff --git a/urbanLifelineServ/apis/api-workcase/src/main/java/org/xyzh/api/workcase/vo/ChatRoomVO.java b/urbanLifelineServ/apis/api-workcase/src/main/java/org/xyzh/api/workcase/vo/ChatRoomVO.java index 0b4848f4..6d396cf6 100644 --- a/urbanLifelineServ/apis/api-workcase/src/main/java/org/xyzh/api/workcase/vo/ChatRoomVO.java +++ b/urbanLifelineServ/apis/api-workcase/src/main/java/org/xyzh/api/workcase/vo/ChatRoomVO.java @@ -66,6 +66,9 @@ public class ChatRoomVO extends BaseVO { @Schema(description = "服务评分(1-5星)") private Integer commentLevel; + @Schema(description = "设备代码") + private String deviceCode; + @Schema(description = "关闭人") private String closedBy; diff --git a/urbanLifelineServ/workcase/src/main/java/org/xyzh/workcase/controller/WorkcaseChatContorller.java b/urbanLifelineServ/workcase/src/main/java/org/xyzh/workcase/controller/WorkcaseChatController.java similarity index 99% rename from urbanLifelineServ/workcase/src/main/java/org/xyzh/workcase/controller/WorkcaseChatContorller.java rename to urbanLifelineServ/workcase/src/main/java/org/xyzh/workcase/controller/WorkcaseChatController.java index b4dcc6ce..2bc724bf 100644 --- a/urbanLifelineServ/workcase/src/main/java/org/xyzh/workcase/controller/WorkcaseChatContorller.java +++ b/urbanLifelineServ/workcase/src/main/java/org/xyzh/workcase/controller/WorkcaseChatController.java @@ -60,7 +60,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; @Validated @RestController @RequestMapping("/workcase/chat") -public class WorkcaseChatContorller { +public class WorkcaseChatController { @Autowired private WorkcaseChatService workcaseChatService; @@ -78,7 +78,8 @@ public class WorkcaseChatContorller { @PostMapping("/room") public ResultDomain createChatRoom(@RequestBody TbChatRoomDTO chatRoom) { ValidationResult vr = ValidationUtils.validate(chatRoom, Arrays.asList( - ValidationUtils.requiredString("guestId", "来客ID") + ValidationUtils.requiredString("guestId", "来客ID"), + ValidationUtils.requiredString("deviceCode", "设备代码") )); if (!vr.isValid()) { return ResultDomain.failure(vr.getAllErrors()); @@ -88,7 +89,7 @@ public class WorkcaseChatContorller { return chatRoomService.createChatRoom(chatRoom); } catch (Exception e) { return ResultDomain.failure(e.getMessage()); - } + } } @Operation(summary = "更新聊天室") diff --git a/urbanLifelineServ/workcase/src/main/resources/mapper/TbChatRoomMapper.xml b/urbanLifelineServ/workcase/src/main/resources/mapper/TbChatRoomMapper.xml index 85179362..91c5ce17 100644 --- a/urbanLifelineServ/workcase/src/main/resources/mapper/TbChatRoomMapper.xml +++ b/urbanLifelineServ/workcase/src/main/resources/mapper/TbChatRoomMapper.xml @@ -13,6 +13,7 @@ + @@ -36,6 +37,7 @@ + @@ -51,13 +53,13 @@ room_id, optsn, workcase_id, room_name, room_type, status, guest_id, guest_name, - ai_session_id, message_count, last_message_time, last_message, comment_level, closed_by, closed_time, + ai_session_id, message_count, device_code, last_message_time, last_message, comment_level, closed_by, closed_time, creator, create_time, update_time, delete_time, deleted INSERT INTO workcase.tb_chat_room ( - optsn, room_id, workcase_id, room_name, guest_id, guest_name, creator + optsn, room_id, workcase_id, room_name, guest_id, guest_name, device_code, creator , room_type , status , ai_session_id @@ -65,7 +67,7 @@ , last_message_time , last_message ) VALUES ( - #{optsn}, #{roomId}, #{workcaseId}, #{roomName}, #{guestId}, #{guestName}, #{creator} + #{optsn}, #{roomId}, #{workcaseId}, #{roomName}, #{guestId}, #{guestName}, #{deviceCode}, #{creator} , #{roomType} , #{status} , #{aiSessionId} @@ -84,6 +86,7 @@ status = #{status}, ai_session_id = #{aiSessionId}, message_count = #{messageCount}, + device_code = #{deviceCode}, last_message_time = #{lastMessageTime}, last_message = #{lastMessage}, comment_level = #{commentLevel}, @@ -124,7 +127,7 @@ + + + + + + + - diff --git a/urbanLifelineWeb/packages/workcase_wechat/types/workcase/chatRoom.ts b/urbanLifelineWeb/packages/workcase_wechat/types/workcase/chatRoom.ts index 8bad3526..4aca5422 100644 --- a/urbanLifelineWeb/packages/workcase_wechat/types/workcase/chatRoom.ts +++ b/urbanLifelineWeb/packages/workcase_wechat/types/workcase/chatRoom.ts @@ -13,8 +13,9 @@ export interface TbChatRoomDTO extends BaseDTO { roomType?: string status?: string guestId?: string - commentLevel?: number guestName?: string + deviceCode?: string + commentLevel?: number aiSessionId?: string currentAgentId?: string agentCount?: number @@ -164,8 +165,9 @@ export interface ChatRoomVO extends BaseVO { roomType?: string status?: string guestId?: string - commentLevel?: string guestName?: string + commentLevel?: string + deviceCode?: string aiSessionId?: string currentAgentId?: string currentAgentName?: string diff --git a/修改点.md b/修改点.md new file mode 100644 index 00000000..ede63519 --- /dev/null +++ b/修改点.md @@ -0,0 +1,4 @@ +1. createTableWorkcase.sql 修改了tb_chat_room 增加了device_code字段。修改相关dto\vo\xml。 +2. WorkcaseChatController.java 修改创建聊天室的接口,增加了deviceCode字段必传。 +3. 修改workcase/types/workcase/chatRoom.ts里的dto和vo。修改workcase_wechat/types/workcase/chatRoom.ts的dto和vo +4. 修改workcase_wechat/pages/index/index.uvue。新增const deviceCode = ref('');只有这个有值时,才让用户创建聊天室和工单(工单自动填入表单),否则弹窗让用户填写 \ No newline at end of file