2026-4-30:

1.后端代码2次更新
This commit is contained in:
朱春声99
2026-05-18 16:19:28 +08:00
parent 2e9928725b
commit 6bce31c559
14 changed files with 516 additions and 103 deletions

View File

@@ -8,7 +8,10 @@ import com.rczn.rcznautoplc.domain.RecordInfo;
import com.rczn.rcznautoplc.service.ManageLogService;
import com.rczn.rcznautoplc.service.RecordInfoService;
import com.rczn.system.domain.Permission;
import com.rczn.system.domain.Role;
import com.rczn.system.domain.User;
import com.rczn.system.domain.UserRole;
import com.rczn.system.service.UserRoleService;
import com.rczn.system.service.UserService;
import com.rczn.utils.JwtUtil;
import com.rczn.utils.Md5Util;
@@ -17,6 +20,7 @@ import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters;
import io.swagger.v3.oas.annotations.enums.ParameterIn;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.models.security.SecurityScheme;
import jakarta.validation.constraints.Pattern;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -174,6 +178,8 @@ public class UserController {
@Autowired
ManageLogService manageLogService;
@Autowired
UserRoleService userRoleService;
@PostMapping("/login")
@Operation(summary = "用户登录接口",description = "根据用户名和密码登录返回JWT Token")
@@ -222,13 +228,23 @@ public class UserController {
Map<String, Object> claims = new HashMap<>();
claims.put("id", user.getId());
claims.put("username", user.getUserName());
//获取角色列表:
List<UserRole> roles = userRoleService.selectByRoleId(user.getId().intValue());
List<Integer> roleIdList = roles.stream().map(UserRole::getRoleId).collect(Collectors.toList());
//获取权限列表:
List<Permission> permissions = userService.findUserPermissions(user.getId());
List<String> permissionList = permissions.stream().map(Permission::getPermissionCode).collect(Collectors.toList());
claims.put("permissions", permissionList);
String jwtToken = JwtUtil.genToken(claims);
LoginRequest request = new LoginRequest();
request.setToken(jwtToken);
request.setPermissions(permissionList);
request.setRoles(roleIdList);
request.setUsername(username);
//密码正确,返回成功信息
return Result.success(jwtToken);
return Result.success(request);
} else {
//密码错误,返回错误信息
return Result.error("密码错误!");
@@ -236,4 +252,59 @@ public class UserController {
}
}
class LoginRequest {
//用户名
private String username;
//token
private String token;
//角色列表
private List<Integer> roles;
//权限列表
private List<String> permissions;
public LoginRequest(String username, String token, List<Integer> roles, List<String> permissions) {
this.username = username;
this.token = token;
this.roles = roles;
this.permissions = permissions;
}
public LoginRequest() {
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getToken() {
return token;
}
public void setToken(String token) {
this.token = token;
}
public List<Integer> getRoles() {
return roles;
}
public void setRoles(List<Integer> roles) {
this.roles = roles;
}
public List<String> getPermissions() {
return permissions;
}
public void setPermissions(List<String> permissions) {
this.permissions = permissions;
}
}
}