添加用户管理功能代码

main
gitee 1 week ago
parent 969a7cf534
commit 079d3b0862

@ -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<SysUser> 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<Boolean> updateUser(@RequestBody UserDTO user) {
Assert.notEmpty(user.getUserName(), "用户名不能为空");
Boolean success = sysUserService.updateUser(user);
return R.ok(success);
}
}

@ -23,6 +23,8 @@ public class SysByteArray implements Serializable {
*/
private byte[] bytes;
private String contentType;
/**
*
*/

@ -34,6 +34,10 @@ public class SysUser implements Serializable {
*/
private String status;
private String nickName;
private String headPicId;
/**
*
*/

@ -8,7 +8,7 @@ public class AgentChatReqDTO {
/**
* id
*/
private String agentId;
private String agentCode;
/**
*

@ -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();
}

@ -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;
}
}

@ -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> {
SysUser getByUsername(String username);
Boolean updateUser(UserDTO user);
}

@ -43,8 +43,8 @@ public class AgentServiceImpl implements AgentService {
// 查询历史对话(记忆功能)
List<Message> 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)));
}

@ -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<SysUserMapper, SysUser>
}
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);
}
}

@ -7,12 +7,13 @@
<resultMap id="BaseResultMap" type="com.supervision.domain.SysByteArray">
<id property="id" column="id" jdbcType="VARCHAR"/>
<result property="bytes" column="bytes" jdbcType="BINARY"/>
<result property="contentType" column="content_type" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
id,bytes,create_time,
id,bytes,create_time,content_type,
update_time
</sql>
</mapper>

@ -9,12 +9,15 @@
<result property="userName" column="user_name" jdbcType="VARCHAR"/>
<result property="password" column="password" jdbcType="VARCHAR"/>
<result property="status" column="status" jdbcType="VARCHAR"/>
<result property="status" column="status" jdbcType="VARCHAR"/>
<result property="nickName" column="nick_name" jdbcType="VARCHAR"/>
<result property="headPicId" column="head_pic_id" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
id,user_name,
id,user_name,nick_name,head_pic_id,
password,status,
create_time,update_time
</sql>

Loading…
Cancel
Save