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 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); } }