Browse Source

增加个人信息修改、头像上传、密码更新功能

test
smallchill 6 years ago
parent
commit
00229e9768
  1. 2
      blade-auth/src/main/java/org/springblade/auth/service/BladeUserDetailsServiceImpl.java
  2. 5
      blade-service-api/blade-user-api/src/main/java/org/springblade/system/user/entity/User.java
  3. 44
      blade-service/blade-user/src/main/java/org/springblade/system/user/controller/UserController.java
  4. 11
      blade-service/blade-user/src/main/java/org/springblade/system/user/service/IUserService.java
  5. 13
      blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java

2
blade-auth/src/main/java/org/springblade/auth/service/BladeUserDetailsServiceImpl.java

@ -73,7 +73,7 @@ public class BladeUserDetailsServiceImpl implements UserDetailsService {
throw new UsernameNotFoundException(TokenUtil.USER_NOT_FOUND);
}
return new BladeUserDetails(user.getId(),
user.getTenantId(), user.getName(), user.getDeptId(), user.getRoleId(), Func.join(result.getData().getRoles()), TokenUtil.DEFAULT_AVATAR,
user.getTenantId(), user.getName(), user.getDeptId(), user.getRoleId(), Func.join(result.getData().getRoles()), Func.toStr(user.getAvatar(), TokenUtil.DEFAULT_AVATAR),
username, AuthConstant.ENCRYPT + user.getPassword(), true, true, true, true,
AuthorityUtils.commaSeparatedStringToAuthorityList(Func.join(result.getData().getRoles())));
} else {

5
blade-service-api/blade-user-api/src/main/java/org/springblade/system/user/entity/User.java

@ -21,7 +21,6 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.tenant.mp.TenantEntity;
import java.time.LocalDateTime;
import java.util.Date;
/**
@ -52,6 +51,10 @@ public class User extends TenantEntity {
* 真名
*/
private String realName;
/**
* 头像
*/
private String avatar;
/**
* 邮箱
*/

44
blade-service/blade-user/src/main/java/org/springblade/system/user/controller/UserController.java

@ -66,6 +66,17 @@ public class UserController {
return R.data(UserWrapper.build().entityVO(detail));
}
/**
* 查询单条
*/
@ApiOperationSupport(order =2)
@ApiOperation(value = "查看详情", notes = "传入id")
@GetMapping("/info")
public R<UserVO> info(BladeUser user) {
User detail = userService.getById(user.getUserId());
return R.data(UserWrapper.build().entityVO(detail));
}
/**
* 用户列表
*/
@ -74,7 +85,7 @@ public class UserController {
@ApiImplicitParam(name = "account", value = "账号名", paramType = "query", dataType = "string"),
@ApiImplicitParam(name = "realName", value = "姓名", paramType = "query", dataType = "string")
})
@ApiOperationSupport(order = 2)
@ApiOperationSupport(order = 3)
@ApiOperation(value = "列表", notes = "传入account和realName")
@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
public R<IPage<UserVO>> list(@ApiIgnore @RequestParam Map<String, Object> user, Query query, BladeUser bladeUser) {
@ -87,7 +98,7 @@ public class UserController {
* 新增或修改
*/
@PostMapping("/submit")
@ApiOperationSupport(order = 3)
@ApiOperationSupport(order = 4)
@ApiOperation(value = "新增或修改", notes = "传入User")
@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
@CacheEvict(cacheNames = {USER_CACHE}, allEntries = true)
@ -99,9 +110,8 @@ public class UserController {
* 修改
*/
@PostMapping("/update")
@ApiOperationSupport(order = 4)
@ApiOperationSupport(order = 5)
@ApiOperation(value = "修改", notes = "传入User")
@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
@CacheEvict(cacheNames = {USER_CACHE}, allEntries = true)
public R update(@Valid @RequestBody User user) {
return R.status(userService.updateUser(user));
@ -111,7 +121,7 @@ public class UserController {
* 删除
*/
@PostMapping("/remove")
@ApiOperationSupport(order = 5)
@ApiOperationSupport(order = 6)
@ApiOperation(value = "删除", notes = "传入id集合")
@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
@CacheEvict(cacheNames = {USER_CACHE}, allEntries = true)
@ -127,7 +137,7 @@ public class UserController {
* @return
*/
@PostMapping("/grant")
@ApiOperationSupport(order = 6)
@ApiOperationSupport(order = 7)
@ApiOperation(value = "权限设置", notes = "传入roleId集合以及menuId集合")
@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
public R grant(@ApiParam(value = "userId集合", required = true) @RequestParam String userIds,
@ -137,7 +147,7 @@ public class UserController {
}
@PostMapping("/reset-password")
@ApiOperationSupport(order = 7)
@ApiOperationSupport(order = 8)
@ApiOperation(value = "初始化密码", notes = "传入userId集合")
@PreAuth(RoleConstant.HAS_ROLE_ADMIN)
public R resetPassword(@ApiParam(value = "userId集合", required = true) @RequestParam String userIds) {
@ -145,6 +155,24 @@ public class UserController {
return R.status(temp);
}
/**
* 修改密码
*
* @param oldPassword
* @param newPassword
* @param newPassword1
* @return
*/
@PostMapping("/update-password")
@ApiOperationSupport(order = 9)
@ApiOperation(value = "修改密码", notes = "传入密码")
public R updatePassword(BladeUser user, @ApiParam(value = "旧密码", required = true) @RequestParam String oldPassword,
@ApiParam(value = "新密码", required = true) @RequestParam String newPassword,
@ApiParam(value = "新密码", required = true) @RequestParam String newPassword1) {
boolean temp = userService.updatePassword(user.getUserId(), oldPassword, newPassword, newPassword1);
return R.status(temp);
}
/**
* 用户列表
*
@ -152,7 +180,7 @@ public class UserController {
* @return
*/
@GetMapping("/user-list")
@ApiOperationSupport(order = 8)
@ApiOperationSupport(order = 10)
@ApiOperation(value = "用户列表", notes = "传入user")
public R<List<User>> userList(User user) {
List<User> list = userService.list(Condition.getQueryWrapper(user));

11
blade-service/blade-user/src/main/java/org/springblade/system/user/service/IUserService.java

@ -80,6 +80,17 @@ public interface IUserService extends BaseService<User> {
*/
boolean resetPassword(String userIds);
/**
* 修改密码
*
* @param userId
* @param oldPassword
* @param newPassword
* @param newPassword1
* @return
*/
boolean updatePassword(Long userId, String oldPassword, String newPassword, String newPassword1);
/**
* 删除用户
*

13
blade-service/blade-user/src/main/java/org/springblade/system/user/service/impl/UserServiceImpl.java

@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.exceptions.ApiException;
import org.springblade.common.constant.CommonConstant;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.SecureUtil;
import org.springblade.core.tool.constant.BladeConstant;
@ -94,6 +95,18 @@ public class UserServiceImpl extends BaseServiceImpl<UserMapper, User> implement
return this.update(user, Wrappers.<User>update().lambda().in(User::getId, Func.toLongList(userIds)));
}
@Override
public boolean updatePassword(Long userId, String oldPassword, String newPassword, String newPassword1) {
User user = getById(userId);
if (!newPassword.equals(newPassword1)) {
throw new ServiceException("请输入正确的确认密码!");
}
if (!user.getPassword().equals(DigestUtil.encrypt(oldPassword))) {
throw new ServiceException("原密码不正确!");
}
return this.update(Wrappers.<User>update().lambda().set(User::getPassword, DigestUtil.encrypt(newPassword)).eq(User::getId, userId));
}
@Override
public boolean removeUser(String userIds) {
if (Func.contains(Func.toLongArray(userIds), SecureUtil.getUserId())) {

Loading…
Cancel
Save