From f287f36496e4a5c02a30c4a22a224a9f3e182824 Mon Sep 17 00:00:00 2001 From: wangys <3401275564@qq.com> Date: Tue, 30 Dec 2025 20:55:25 +0800 Subject: [PATCH] =?UTF-8?q?=E8=81=8A=E5=A4=A9=E5=AE=A4=E5=88=9B=E5=BB=BA?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BF=AE=E6=94=B9=E5=92=8C=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../postgres/sql/createTableWorkcase.sql | 1 + .../xyzh/api/workcase/dto/TbChatRoomDTO.java | 3 + .../org/xyzh/api/workcase/vo/ChatRoomVO.java | 3 + ...rller.java => WorkcaseChatController.java} | 7 +- .../resources/mapper/TbChatRoomMapper.xml | 11 +- .../workcase/src/types/workcase/chatRoom.ts | 2 + .../views/public/ChatRoom/ChatRoomView.vue | 40 +-- .../pages/chatRoom/chatRoom/chatRoom.uvue | 10 + .../workcase_wechat/pages/index/index.scss | 107 +++++++ .../workcase_wechat/pages/index/index.uvue | 167 +++++++--- .../meeting/meetingCreate/MeetingCreate.scss | 239 +++++++++----- .../meeting/meetingCreate/MeetingCreate.uvue | 303 +++++++++--------- .../types/workcase/chatRoom.ts | 6 +- 修改点.md | 4 + 14 files changed, 591 insertions(+), 312 deletions(-) rename urbanLifelineServ/workcase/src/main/java/org/xyzh/workcase/controller/{WorkcaseChatContorller.java => WorkcaseChatController.java} (99%) create mode 100644 修改点.md 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