From 079d3b086297174a0485dd0139c1f43817d3b93a Mon Sep 17 00:00:00 2001 From: gitee Date: Thu, 17 Jul 2025 19:35:09 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E7=94=A8=E6=88=B7=E7=AE=A1?= =?UTF-8?q?=E7=90=86=E5=8A=9F=E8=83=BD=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/UserController.java | 50 +++++++++++++++++++ .../com/supervision/domain/SysByteArray.java | 2 + .../java/com/supervision/domain/SysUser.java | 4 ++ .../com/supervision/dto/AgentChatReqDTO.java | 2 +- .../supervision/dto/AgentDialogueLogDTO.java | 2 +- .../java/com/supervision/dto/UserDTO.java | 40 +++++++++++++++ .../supervision/service/SysUserService.java | 2 + .../service/impl/AgentServiceImpl.java | 10 ++-- .../service/impl/SysUserServiceImpl.java | 12 +++++ .../resources/mapper/SysByteArrayMapper.xml | 3 +- src/main/resources/mapper/SysUserMapper.xml | 5 +- 11 files changed, 123 insertions(+), 9 deletions(-) create mode 100644 src/main/java/com/supervision/controller/UserController.java create mode 100644 src/main/java/com/supervision/dto/UserDTO.java diff --git a/src/main/java/com/supervision/controller/UserController.java b/src/main/java/com/supervision/controller/UserController.java new file mode 100644 index 0000000..09de492 --- /dev/null +++ b/src/main/java/com/supervision/controller/UserController.java @@ -0,0 +1,50 @@ +package com.supervision.controller; + +import cn.hutool.core.lang.Assert; +import com.supervision.domain.SysUser; +import com.supervision.dto.R; +import com.supervision.dto.UserDTO; +import com.supervision.service.SysUserService; +import lombok.RequiredArgsConstructor; +import org.springframework.security.core.Authentication; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.web.bind.annotation.*; + +/** + * 用户控制器,用于处理用户相关接口 + */ +@RestController +@RequestMapping("/user") +@RequiredArgsConstructor +public class UserController { + + private final SysUserService sysUserService; + + /** + * 查看当前用户详情接口 + * + * @return 当前登录用户的详细信息,如果用户不存在,则返回 404 + */ + @GetMapping("/me") + public R getCurrentUserDetails() { + Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); + String username = authentication.getName(); + SysUser user = sysUserService.getByUsername(username); + Assert.notNull(user, "用户不存在"); + user.setPassword(null); + return R.ok(user); + } + + + /** + * 更新用户信息 + * @param user 用户信息 + * @return + */ + @PostMapping("/update") + public R updateUser(@RequestBody UserDTO user) { + Assert.notEmpty(user.getUserName(), "用户名不能为空"); + Boolean success = sysUserService.updateUser(user); + return R.ok(success); + } +} diff --git a/src/main/java/com/supervision/domain/SysByteArray.java b/src/main/java/com/supervision/domain/SysByteArray.java index 2e3c204..64e1ff8 100644 --- a/src/main/java/com/supervision/domain/SysByteArray.java +++ b/src/main/java/com/supervision/domain/SysByteArray.java @@ -23,6 +23,8 @@ public class SysByteArray implements Serializable { */ private byte[] bytes; + private String contentType; + /** * 创建时间 */ diff --git a/src/main/java/com/supervision/domain/SysUser.java b/src/main/java/com/supervision/domain/SysUser.java index b8e5729..82fa2a5 100644 --- a/src/main/java/com/supervision/domain/SysUser.java +++ b/src/main/java/com/supervision/domain/SysUser.java @@ -34,6 +34,10 @@ public class SysUser implements Serializable { */ private String status; + private String nickName; + + private String headPicId; + /** * 创建时间 */ diff --git a/src/main/java/com/supervision/dto/AgentChatReqDTO.java b/src/main/java/com/supervision/dto/AgentChatReqDTO.java index 30429bd..ab90673 100644 --- a/src/main/java/com/supervision/dto/AgentChatReqDTO.java +++ b/src/main/java/com/supervision/dto/AgentChatReqDTO.java @@ -8,7 +8,7 @@ public class AgentChatReqDTO { /** * 智能体id */ - private String agentId; + private String agentCode; /** * 问题 diff --git a/src/main/java/com/supervision/dto/AgentDialogueLogDTO.java b/src/main/java/com/supervision/dto/AgentDialogueLogDTO.java index 4408cdb..a0e4a02 100644 --- a/src/main/java/com/supervision/dto/AgentDialogueLogDTO.java +++ b/src/main/java/com/supervision/dto/AgentDialogueLogDTO.java @@ -65,7 +65,7 @@ public class AgentDialogueLogDTO { } else { this.conversationId = agentChatReqDTO.getConversationId(); } - this.agentId = agentChatReqDTO.getAgentId(); + this.agentId = agentChatReqDTO.getAgentCode(); this.userInput = agentChatReqDTO.getQuery(); this.createTime = LocalDateTime.now(); } diff --git a/src/main/java/com/supervision/dto/UserDTO.java b/src/main/java/com/supervision/dto/UserDTO.java new file mode 100644 index 0000000..b206321 --- /dev/null +++ b/src/main/java/com/supervision/dto/UserDTO.java @@ -0,0 +1,40 @@ +package com.supervision.dto; + +import com.supervision.domain.SysUser; +import lombok.Data; + +import java.util.List; + +@Data +public class UserDTO { + + private String id; + + /** + * 用户名 + */ + private String userName; + + + private String password; + + + /** + * 状态 0:禁用 1:启用 + */ + private String status; + + private String nickName; + + private String headPicId; + + public SysUser toUser(){ + SysUser user = new SysUser(); + user.setId(this.id); + user.setUserName(this.userName); + user.setStatus(this.status); + user.setNickName(this.nickName); + user.setHeadPicId(this.headPicId); + return user; + } +} diff --git a/src/main/java/com/supervision/service/SysUserService.java b/src/main/java/com/supervision/service/SysUserService.java index 95f2698..7a06ac0 100644 --- a/src/main/java/com/supervision/service/SysUserService.java +++ b/src/main/java/com/supervision/service/SysUserService.java @@ -2,6 +2,7 @@ package com.supervision.service; import com.supervision.domain.SysUser; import com.baomidou.mybatisplus.extension.service.IService; +import com.supervision.dto.UserDTO; /** * @author Administrator @@ -13,4 +14,5 @@ public interface SysUserService extends IService { SysUser getByUsername(String username); + Boolean updateUser(UserDTO user); } diff --git a/src/main/java/com/supervision/service/impl/AgentServiceImpl.java b/src/main/java/com/supervision/service/impl/AgentServiceImpl.java index 50c23bf..c4a1969 100644 --- a/src/main/java/com/supervision/service/impl/AgentServiceImpl.java +++ b/src/main/java/com/supervision/service/impl/AgentServiceImpl.java @@ -43,8 +43,8 @@ public class AgentServiceImpl implements AgentService { // 查询历史对话(记忆功能) List messages = buildHistoryMessages(agentChatReqDTO.getConversationId(), 10); // 构建当前对话 - Message message = buildQueryMessage(agentChatReqDTO.getQuery(), agentChatReqDTO.getAgentId()); - Assert.notNull(message, "Agent not found for ID: " + agentChatReqDTO.getAgentId()); + Message message = buildQueryMessage(agentChatReqDTO.getQuery(), agentChatReqDTO.getAgentCode()); + Assert.notNull(message, "Agent not found for ID: " + agentChatReqDTO.getAgentCode()); messages.add(message); AgentDialogueLogDTO dialogueLogDTO = new AgentDialogueLogDTO(agentChatReqDTO); StringBuilder aiResponseBuilder = new StringBuilder(); @@ -83,11 +83,11 @@ public class AgentServiceImpl implements AgentService { return paged.convert(AgentInfoDTO::new); } - private Message buildQueryMessage(String query,String agentId) { - if (StrUtil.equals(agentId, "1")) { + private Message buildQueryMessage(String query,String agentCode) { + if (StrUtil.equals(agentCode, "1")) { String template = PromptTemplate.GENERAL_INDUSTRY_TEMPLATE; return new UserMessage(StrUtil.format(template, Map.of("query",query))); - }else if (StrUtil.equals(agentId, "2")) { + }else if (StrUtil.equals(agentCode, "2")) { String template = PromptTemplate.HEART_GUIDE_TEMPLATE; return new UserMessage(StrUtil.format(template, Map.of("query",query))); } diff --git a/src/main/java/com/supervision/service/impl/SysUserServiceImpl.java b/src/main/java/com/supervision/service/impl/SysUserServiceImpl.java index 1f2b886..74f2cfb 100644 --- a/src/main/java/com/supervision/service/impl/SysUserServiceImpl.java +++ b/src/main/java/com/supervision/service/impl/SysUserServiceImpl.java @@ -1,8 +1,10 @@ package com.supervision.service.impl; +import cn.hutool.core.lang.Assert; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.supervision.domain.SysUser; +import com.supervision.dto.UserDTO; import com.supervision.service.SysUserService; import com.supervision.mapper.SysUserMapper; import org.springframework.stereotype.Service; @@ -23,6 +25,16 @@ public class SysUserServiceImpl extends ServiceImpl } return this.lambdaQuery().eq(SysUser::getUserName, username).one(); } + + @Override + public Boolean updateUser(UserDTO user) { + Assert.notEmpty(user.getUserName(), "用户名不能为空"); + SysUser one = super.lambdaQuery().eq(SysUser::getUserName, user.getUserName()).one(); + Assert.notNull(one, "用户不存在"); + user.setId(one.getId()); + SysUser sysUser = user.toUser(); + return super.updateById(sysUser); + } } diff --git a/src/main/resources/mapper/SysByteArrayMapper.xml b/src/main/resources/mapper/SysByteArrayMapper.xml index 05c6e60..8c04a42 100644 --- a/src/main/resources/mapper/SysByteArrayMapper.xml +++ b/src/main/resources/mapper/SysByteArrayMapper.xml @@ -7,12 +7,13 @@ + - id,bytes,create_time, + id,bytes,create_time,content_type, update_time diff --git a/src/main/resources/mapper/SysUserMapper.xml b/src/main/resources/mapper/SysUserMapper.xml index f69fe43..cfc0451 100644 --- a/src/main/resources/mapper/SysUserMapper.xml +++ b/src/main/resources/mapper/SysUserMapper.xml @@ -9,12 +9,15 @@ + + + - id,user_name, + id,user_name,nick_name,head_pic_id, password,status, create_time,update_time