feat(all): 添加了修改用户数据相关结构
This commit is contained in:
parent
822286ce73
commit
f4d3cdd319
@ -8,9 +8,10 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.mmga.clubs.annotations.AuthorizationRequired;
|
||||
import org.mmga.clubs.entities.BaseResponse;
|
||||
import org.mmga.clubs.entities.Pager;
|
||||
import org.mmga.clubs.entities.user.User;
|
||||
import org.mmga.clubs.entities.user.UserLoginVo;
|
||||
import org.mmga.clubs.entities.user.UserRegVo;
|
||||
import org.mmga.clubs.entities.user.*;
|
||||
import org.mmga.clubs.entities.user.change.UserChangeAuthVo;
|
||||
import org.mmga.clubs.entities.user.change.UserChangePasswordVo;
|
||||
import org.mmga.clubs.entities.user.change.UserRenameVo;
|
||||
import org.mmga.clubs.service.UserService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@ -47,4 +48,23 @@ public class UserController {
|
||||
public BaseResponse<Pager<User>> getAllUserInfo(@RequestParam("num") int num, @RequestParam("page") int page){
|
||||
return service.getAllUserInfo(num, page);
|
||||
}
|
||||
@PutMapping("/rename")
|
||||
@Operation(description = "修改用户名")
|
||||
@AuthorizationRequired
|
||||
public BaseResponse<Boolean> changeUsername(@RequestBody UserRenameVo renameVo, @RequestAttribute("user") int userId){
|
||||
return service.changeUsername(renameVo, userId);
|
||||
}
|
||||
@PutMapping("/password")
|
||||
@Operation(description = "修改密码")
|
||||
@AuthorizationRequired
|
||||
public BaseResponse<Boolean> changePassword(@RequestBody UserChangePasswordVo changePasswordVo, @RequestAttribute("user") int userId){
|
||||
return service.changePassword(changePasswordVo, userId);
|
||||
}
|
||||
@PutMapping("/auth")
|
||||
@Operation(description = "修改用户权限组")
|
||||
@AuthorizationRequired(requiredPermissionId = 4)
|
||||
public BaseResponse<Boolean> changeAuth(@RequestBody UserChangeAuthVo userChangeAuthVo){
|
||||
return service.changeAuth(userChangeAuthVo);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -15,4 +15,8 @@ public interface UserDao {
|
||||
int getUserAuthId(int id);
|
||||
long queryTotalUserCount();
|
||||
List<UserVo> getUser(int lastId, int count);
|
||||
void changeUsername(int id, String name);
|
||||
int changePassword(int id, String old, String password);
|
||||
void changePasswordAdmin(int id, String password);
|
||||
void changeAuth(int id, int authId);
|
||||
}
|
||||
|
@ -29,4 +29,7 @@ public class BaseResponse<T> {
|
||||
public static<T> BaseResponse<T> failed(int code, String msg) {
|
||||
return new BaseResponse<>(code, msg, null);
|
||||
}
|
||||
public static<T> BaseResponse<T> failed(int code, String msg, T data) {
|
||||
return new BaseResponse<>(code, msg, data);
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,7 @@
|
||||
package org.mmga.clubs.entities.user.change;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
@Schema(description = "用户修改权限组请求体")
|
||||
public record UserChangeAuthVo(@Schema(description = "被修改的用户ID") int id, @Schema(description = "新的权限组ID") int authId) {
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
package org.mmga.clubs.entities.user.change;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
@Schema(description = "用户修改头像请求体")
|
||||
public record UserChangeAvatarVo(@Schema(description = "被修改的用户ID") int userId,@Schema(description = "修改头像操作码,可以通过将图片文件上传至") String avatarOperationCode) {
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
package org.mmga.clubs.entities.user.change;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Schema(description = "用户修改密码请求体")
|
||||
@Data
|
||||
public final class UserChangePasswordVo {
|
||||
@Schema(description = "被修改的用户ID")
|
||||
private final int id;
|
||||
@Schema(description = "修改前的密码MD5值", requiredMode = Schema.RequiredMode.NOT_REQUIRED)
|
||||
private String oldPassword;
|
||||
@Schema(description = "修改后的密码MD5值")
|
||||
private final String newPassword;
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
package org.mmga.clubs.entities.user.change;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
@Schema(description = "用户修改用户名请求体")
|
||||
public record UserRenameVo(@Schema(description = "用户ID") int id, @Schema(description = "新用户名") String newName) { }
|
@ -6,6 +6,9 @@ import org.mmga.clubs.dao.UserDao;
|
||||
import org.mmga.clubs.entities.BaseResponse;
|
||||
import org.mmga.clubs.entities.Pager;
|
||||
import org.mmga.clubs.entities.user.*;
|
||||
import org.mmga.clubs.entities.user.change.UserChangeAuthVo;
|
||||
import org.mmga.clubs.entities.user.change.UserChangePasswordVo;
|
||||
import org.mmga.clubs.entities.user.change.UserRenameVo;
|
||||
import org.mmga.clubs.utils.JwtUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -85,4 +88,34 @@ public class UserService {
|
||||
Pager<User> userPager = new Pager<>(totalCount, list);
|
||||
return BaseResponse.success(userPager);
|
||||
}
|
||||
|
||||
public BaseResponse<Boolean> changeUsername(UserRenameVo renameVo, int userId) {
|
||||
int changeUserId = renameVo.id();
|
||||
if (changeUserId == userId || userHasPermission(userId, 4)) {
|
||||
userDao.changeUsername(changeUserId, renameVo.newName());
|
||||
return BaseResponse.success(true);
|
||||
}
|
||||
return BaseResponse.failed(401, "权限不足,修改失败!", false);
|
||||
}
|
||||
public BaseResponse<Boolean> changePassword(UserChangePasswordVo changePasswordVo, int userId){
|
||||
int changeUserId = changePasswordVo.getId();
|
||||
String oldPassword = changePasswordVo.getOldPassword();
|
||||
String newPassword = changePasswordVo.getNewPassword();
|
||||
if (changeUserId == userId) {
|
||||
if (userDao.changePassword(changeUserId, oldPassword, newPassword) > 0){
|
||||
return BaseResponse.success(true);
|
||||
}
|
||||
return BaseResponse.failed(404,"旧密码错误!",false);
|
||||
}
|
||||
if (userHasPermission(userId, 4)){
|
||||
userDao.changePasswordAdmin(changeUserId, newPassword);
|
||||
return BaseResponse.success(true);
|
||||
}
|
||||
return BaseResponse.failed(401, "权限不足,修改失败!", false);
|
||||
}
|
||||
|
||||
public BaseResponse<Boolean> changeAuth(UserChangeAuthVo userChangeAuthVo) {
|
||||
userDao.changeAuth(userChangeAuthVo.id(), userChangeAuthVo.authId());
|
||||
return BaseResponse.success(true);
|
||||
}
|
||||
}
|
||||
|
@ -6,6 +6,18 @@
|
||||
<insert id="addUser" useGeneratedKeys="true" keyProperty="id">
|
||||
insert into `user`(`name`, `password`, `auth`) values(#{username}, #{password}, #{auth});
|
||||
</insert>
|
||||
<update id="changeUsername">
|
||||
update `user` set `name` = #{name} where `id` = #{id};
|
||||
</update>
|
||||
<update id="changePassword">
|
||||
update `user` set `password` = #{password} where `id` = #{id} and `password` = #{old};
|
||||
</update>
|
||||
<update id="changePasswordAdmin">
|
||||
update `user` set `password` = #{password} where `id` = #{id};
|
||||
</update>
|
||||
<update id="changeAuth">
|
||||
update `user` set `auth` = #{authId} where `id` = #{id};
|
||||
</update>
|
||||
<select id="getUser" resultType="org.mmga.clubs.entities.user.UserVo">
|
||||
select * from `user` where `name` = #{username} and `password` = #{password};
|
||||
</select>
|
||||
|
Loading…
x
Reference in New Issue
Block a user