mirror of
https://github.com/suyiiyii/SIMS.git
synced 2025-06-02 00:16:11 +08:00
改一下
This commit is contained in:
parent
038b7ebe8d
commit
55d2072fa0
4
pom.xml
4
pom.xml
@ -45,6 +45,10 @@
|
||||
<artifactId>mybatis-plus-ext-spring-boot3-starter</artifactId>
|
||||
<version>3.5.7-EXT691</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.springframework.session</groupId>
|
||||
<artifactId>spring-session-core</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>com.mysql</groupId>
|
||||
<artifactId>mysql-connector-j</artifactId>
|
||||
|
@ -4,7 +4,7 @@ import com.tangzc.autotable.springboot.EnableAutoTable;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
|
||||
@EnableAutoTable
|
||||
/*@EnableAutoTable*/
|
||||
@SpringBootApplication
|
||||
public class SimsApplication {
|
||||
public static void main(String[] args) {
|
||||
|
@ -1,24 +0,0 @@
|
||||
package top.suyiiyii.sims.VO;
|
||||
|
||||
import lombok.Data;
|
||||
import top.suyiiyii.sims.entity.Role;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author tortoise
|
||||
* @Date 2024/8/15 16:04
|
||||
* @PackageName:top.suyiiyii.sims.VO
|
||||
* @ClassName: UserVO
|
||||
* @Description: TODO
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class UserVO {
|
||||
private Integer userId;
|
||||
private String username;
|
||||
private String grade;
|
||||
private String group;
|
||||
private List<String> roles; // 角色名称列表
|
||||
|
||||
}
|
@ -1,18 +1,25 @@
|
||||
package top.suyiiyii.sims.controller;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpSession;
|
||||
import lombok.Data;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.session.Session;
|
||||
import org.springframework.session.SessionRepository;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import top.suyiiyii.sims.common.AuthAccess;
|
||||
import top.suyiiyii.sims.common.Result;
|
||||
import top.suyiiyii.sims.dto.CommonResponse;
|
||||
import top.suyiiyii.sims.dto.UserDto;
|
||||
import top.suyiiyii.sims.entity.User;
|
||||
import top.suyiiyii.sims.exception.ServiceException;
|
||||
import top.suyiiyii.sims.service.RoleService;
|
||||
import top.suyiiyii.sims.service.UserService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
/**
|
||||
* @Author tortoise
|
||||
@ -32,6 +39,9 @@ public class UserController {
|
||||
@Autowired
|
||||
RoleService roleService;
|
||||
|
||||
private SessionRepository sessionRepository;
|
||||
|
||||
|
||||
@AuthAccess
|
||||
@GetMapping("/")
|
||||
public Result hello() {
|
||||
@ -41,17 +51,20 @@ public class UserController {
|
||||
}
|
||||
|
||||
@PostMapping("/user/login")
|
||||
public Result<LoginResponse> login(@RequestBody LoginRequest request) {
|
||||
public Result<LoginResponse> login(@RequestBody LoginRequest request, HttpServletRequest httpServletRequest) {
|
||||
log.info("login request:{}", request);
|
||||
|
||||
if (StrUtil.isBlank(request.getUsername()) || StrUtil.isBlank(request.getPassword())) {
|
||||
|
||||
return Result.error("用户名或密码不能为空");
|
||||
}
|
||||
|
||||
User user = userService.login(request.getUsername(), request.getPassword());
|
||||
|
||||
return Result.success(new LoginResponse());
|
||||
String token = userService.login(request.getUsername(), request.getPassword());
|
||||
if (token == null) {
|
||||
return Result.error("用户名或密码错误");
|
||||
}
|
||||
LoginResponse response = new LoginResponse();
|
||||
response.setToken(token);
|
||||
return Result.success(response);
|
||||
}
|
||||
|
||||
@PostMapping("/user/register")
|
||||
@ -64,8 +77,13 @@ public class UserController {
|
||||
if (request.getPassword() == null || request.getPassword().length() < 3) {
|
||||
throw new ServiceException("密码长度不能小于3位");
|
||||
}
|
||||
|
||||
userService.register(new User());
|
||||
User user = new User();
|
||||
user.setUsername(request.getUsername());
|
||||
user.setPassword(request.getPassword());
|
||||
user.setEmail(request.getEmail());
|
||||
user.setGrade(request.getGrade());
|
||||
user.setGroup(request.getGroup());
|
||||
userService.register(user);
|
||||
|
||||
return Result.success(CommonResponse.factory("注册成功"));
|
||||
}
|
||||
@ -73,19 +91,23 @@ public class UserController {
|
||||
@DeleteMapping("/admin/user/{id}")
|
||||
public Result<CommonResponse> adminDelete(@PathVariable Integer id) {
|
||||
log.info("delete request:{}", id);
|
||||
// userService.deleteUser(user.getId());
|
||||
userService.deleteUser(id);
|
||||
return Result.success(CommonResponse.factory("删除成功"));
|
||||
}
|
||||
|
||||
@GetMapping("/admin/user/{id}")
|
||||
public Result<User> adminGetById(@PathVariable Integer id) {
|
||||
@GetMapping("/admin/user")
|
||||
public Result<List<UserDto>> adminGetById() {
|
||||
List<UserDto> allUsers = userService.findAllUsers();
|
||||
return Result.success(allUsers);
|
||||
}
|
||||
@GetMapping("/user/{id}")
|
||||
public Result<UserDto> GetById(@PathVariable Integer id) {
|
||||
log.info("selectById request:{}", id);
|
||||
User user = userService.selectById(id);
|
||||
UserDto user = userService.findUser(id);
|
||||
return Result.success(user);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Data
|
||||
public static class RegisterRequest {
|
||||
private String username;
|
||||
|
@ -14,8 +14,9 @@ import java.util.List;
|
||||
*/
|
||||
@Data
|
||||
public class UserDto {
|
||||
private Long userId;
|
||||
private Integer userId;
|
||||
private String username;
|
||||
private String grade;
|
||||
private String group;
|
||||
private List<String> roles; // 角色名称列表
|
||||
private List<String> permissions; // 权限列表
|
||||
}
|
||||
|
@ -2,10 +2,12 @@ package top.suyiiyii.sims.service;
|
||||
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import top.suyiiyii.sims.VO.UserVO;
|
||||
|
||||
import top.suyiiyii.sims.dto.UserDto;
|
||||
import top.suyiiyii.sims.entity.*;
|
||||
import top.suyiiyii.sims.exception.ServiceException;
|
||||
import top.suyiiyii.sims.mapper.PermissionsMapper;
|
||||
@ -38,10 +40,6 @@ public class UserService {
|
||||
userMapper.addUser(user);
|
||||
}
|
||||
|
||||
public User selectById(int id) {
|
||||
return userMapper.selectById(id);
|
||||
}
|
||||
|
||||
public void updateUser(User user) {
|
||||
userMapper.updateUser(user);
|
||||
}
|
||||
@ -54,7 +52,8 @@ public class UserService {
|
||||
return userMapper.selectAll();
|
||||
}
|
||||
//TODO:返回一个DTO,用户基本信息
|
||||
public User login(String username, String password) {
|
||||
public String login(String username, String password) {
|
||||
|
||||
User dbUser = userMapper.selectByUserName(username);
|
||||
if (dbUser == null) {
|
||||
throw new ServiceException("账号不存在");
|
||||
@ -78,10 +77,13 @@ public class UserService {
|
||||
dbUser.setPermissions(permissionsSet);
|
||||
|
||||
String token = JwtUtils.createToken(dbUser.getId().toString(), dbUser.getPassword());
|
||||
dbUser.setToken(token);
|
||||
return dbUser;
|
||||
|
||||
|
||||
return token;
|
||||
|
||||
}
|
||||
|
||||
|
||||
public User register(User user) {
|
||||
|
||||
User dbUser = userMapper.selectByUserId(user.getStudentId());
|
||||
@ -114,17 +116,17 @@ public class UserService {
|
||||
public void updatePassword(User user) {
|
||||
userMapper.updatePassword(user);
|
||||
}
|
||||
public List<UserVO> findAllUsers(){
|
||||
public List<UserDto> findAllUsers(){
|
||||
List<User> users = userMapper.selectAll();
|
||||
List<UserVO> userVOS = new ArrayList<>();
|
||||
List<UserDto> UserDtos = new ArrayList<>();
|
||||
|
||||
for (User user : users) {
|
||||
UserVO userVO = new UserVO();
|
||||
userVO.setUserId(user.getId());
|
||||
userVO.setUsername(user.getUsername());
|
||||
userVO.setGrade(user.getGrade());
|
||||
userVO.setGroup(user.getGroup());
|
||||
userVO.setRoles(new ArrayList<>());
|
||||
UserDto UserDto = new UserDto();
|
||||
UserDto.setUserId(user.getId());
|
||||
UserDto.setUsername(user.getUsername());
|
||||
UserDto.setGrade(user.getGrade());
|
||||
UserDto.setGroup(user.getGroup());
|
||||
UserDto.setRoles(new ArrayList<>());
|
||||
Integer id = user.getId();
|
||||
List<UserRole> userRoles = roleMapper.selectRolesById(id);
|
||||
for (UserRole userRole : userRoles) {
|
||||
@ -132,11 +134,31 @@ public class UserService {
|
||||
// 获取一个角色的名称列表
|
||||
List<String> roleNameList = roleMapper.selectRoleNamesByRoleId(roleId);
|
||||
// 累加角色名称到用户的角色列表中
|
||||
userVO.getRoles().addAll(roleNameList);
|
||||
UserDto.getRoles().addAll(roleNameList);
|
||||
}
|
||||
userVOS.add(userVO);
|
||||
UserDtos.add(UserDto);
|
||||
}
|
||||
return userVOS;
|
||||
return UserDtos;
|
||||
}
|
||||
public UserDto findUser(Integer id) {
|
||||
|
||||
UserDto UserDto = new UserDto();
|
||||
User user = userMapper.selectById(id);
|
||||
UserDto.setUserId(user.getId());
|
||||
UserDto.setUsername(user.getUsername());
|
||||
UserDto.setGrade(user.getGrade());
|
||||
UserDto.setGroup(user.getGroup());
|
||||
UserDto.setRoles(new ArrayList<>());
|
||||
List<UserRole> userRoles = roleMapper.selectRolesById(id);
|
||||
for (UserRole userRole : userRoles) {
|
||||
Integer roleId = userRole.getRoleId();
|
||||
// 获取一个角色的名称列表
|
||||
List<String> roleNameList = roleMapper.selectRoleNamesByRoleId(roleId);
|
||||
// 累加角色名称到用户的角色列表中
|
||||
UserDto.getRoles().addAll(roleNameList);
|
||||
}
|
||||
|
||||
|
||||
return UserDto;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user