web: 添加用户账号管理功能

dev_2.0.0
xueqingkun 1 year ago
parent 033d4347c6
commit 853a13b45e

@ -49,6 +49,9 @@ public class User implements Serializable {
@ApiModelProperty("用户角色编码0管理员 1普通用户")
private String roleCode;
@ApiModelProperty("最近登录时间")
private LocalDateTime recentLoginTime;
/**
* ID
*/

@ -10,6 +10,7 @@
<result property="name" column="name" jdbcType="VARCHAR"/>
<result property="password" column="password" jdbcType="VARCHAR"/>
<result property="roleCode" column="role_code" jdbcType="VARCHAR"/>
<result property="recentLoginTime" column="recent_login_time" jdbcType="TIMESTAMP"/>
<result property="createUserId" column="create_user_id" jdbcType="VARCHAR"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateUserId" column="update_user_id" jdbcType="VARCHAR"/>

@ -0,0 +1,19 @@
package com.supervision.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class UserInfoReqVo {
@ApiModelProperty("用户id")
private String id;
@ApiModelProperty("用户名称")
private String name;
@ApiModelProperty("旧密码")
private String oldPassword;
@ApiModelProperty("新密码")
private String newPassword;
}

@ -0,0 +1,27 @@
package com.supervision.pojo.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class UserInfoResVo {
@ApiModelProperty("用户id")
private String id;
@ApiModelProperty("用户账户")
private String account;
@ApiModelProperty("用户名称")
private String name;
@ApiModelProperty("用户角色编码0管理员 1普通用户")
private String roleCode;
@ApiModelProperty("最近登录时间")
private LocalDateTime recentLoginTime;
}

@ -0,0 +1,12 @@
package com.supervision.service;
import com.supervision.model.User;
import com.supervision.pojo.vo.UserInfoReqVo;
import com.supervision.pojo.vo.UserInfoResVo;
public interface UserManageService {
boolean updateUserInfo(UserInfoReqVo userInfo);
UserInfoResVo getUserAccountInfo(String userId);
}

@ -0,0 +1,62 @@
package com.supervision.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.util.StrUtil;
import com.supervision.model.User;
import com.supervision.pojo.vo.UserInfoReqVo;
import com.supervision.pojo.vo.UserInfoResVo;
import com.supervision.service.UserManageService;
import com.supervision.service.UserService;
import com.supervision.util.UserUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Slf4j
@Service
@RequiredArgsConstructor
public class UserManageServiceImpl implements UserManageService {
private final UserService userService;
@Override
public boolean updateUserInfo(UserInfoReqVo userInfo) {
Assert.notEmpty(userInfo.getId(),"用户id不能为空");
if (StrUtil.isNotEmpty(userInfo.getNewPassword())){
//todo密码复杂度规则匹配
Assert.notEmpty(userInfo.getOldPassword(),"旧密码不允许为空");
}
User user = userService.getById(userInfo.getId());
Assert.notNull(user,"用户信息不存在");
boolean change = false;
if (StrUtil.isNotEmpty(userInfo.getName())){
user.setName(userInfo.getName());
change = true;
}
String newPassword = userInfo.getNewPassword();
String oldPassword = userInfo.getOldPassword();
if (StrUtil.isAllNotEmpty(newPassword,oldPassword)){
Assert.isTrue(user.getPassword().equals(oldPassword),"密码不正确");
user.setPassword(newPassword);
change = true;
}
if (!change){
return false;
}
return userService.updateById(user);
}
@Override
public UserInfoResVo getUserAccountInfo(String userId) {
User user = userService.getById(userId);
Assert.notNull(user,"未查询到用户信息");
return BeanUtil.toBean(user,UserInfoResVo.class);
}
}
Loading…
Cancel
Save