Kaynağa Gözat

用户模块和登录代码规范化

v_HuilingDeng 4 yıl önce
ebeveyn
işleme
7de75eb12e

+ 5 - 3
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/controller/console/LoginController.java

@@ -40,7 +40,8 @@ public class LoginController {
     @ApiOperation("登录")
     @IgnoreToken
     public BaseResponse loginQms(@Validated @RequestBody LoginReq req) {
-        return loginService.login(req);
+        loginService.login(req);
+        return BaseResponse.create();
     }
 
 
@@ -54,8 +55,9 @@ public class LoginController {
 
     @ApiOperation("修改密码")
     @PostMapping("updatePassword")
-    public BaseResponse updatePassword(@Validated @RequestBody UpdatePasswordReq req) throws Exception {
-        return loginService.updatePassword(req);
+    public BaseResponse updatePassword(@Validated UpdatePasswordReq req) throws Exception {
+        loginService.updatePassword(req);
+        return BaseResponse.create();
     }
 }
 

+ 4 - 2
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/controller/console/UserManagerController.java

@@ -33,14 +33,16 @@ public class UserManagerController {
     @PostMapping("createUser")
     public BaseResponse createUser(@Validated @RequestBody CreateUserReq createUserReq) throws Exception {
         //创建用户
-        return userManagerService.createUser(createUserReq);
+        userManagerService.createUser(createUserReq);
+        return BaseResponse.create();
     }
 
     @ApiOperation("修改用户")
     @PostMapping("updateUser")
     public BaseResponse updateUser(@Validated @RequestBody UpdateUserReq updateUserReq) throws Exception {
         //修改用户
-        return userManagerService.updateUser(updateUserReq);
+        userManagerService.updateUser(updateUserReq);
+        return BaseResponse.create();
     }
 
     @ApiOperation("查询角色树")

+ 0 - 6
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/CreateUserReq.java

@@ -23,15 +23,9 @@ public class CreateUserReq implements Serializable {
   @ApiModelProperty(value = "工号")
   private String employeeNo;
 
-  @ApiModelProperty(value = "手机号")
-  private String phone;
-
   @ApiModelProperty(value = "邮箱")
   private String email;
 
-  @ApiModelProperty(value = "登录姓名")
-  private String loginName;
-
   @ApiModelProperty(value = "登录密码")
   private String password;
 

+ 3 - 2
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/LoginService.java

@@ -6,6 +6,7 @@ import com.abi.qms.platform.dto.req.LoginReq;
 import com.abi.qms.platform.dto.req.ResetPasswordReq;
 import com.abi.qms.platform.dto.req.TokenReq;
 import com.abi.qms.platform.dto.req.UpdatePasswordReq;
+import com.abi.qms.platform.dto.res.LoginRes;
 import com.abi.task.common.api.base.BaseResponse;
 
 /**
@@ -22,7 +23,7 @@ public interface LoginService {
      * @param req
      * @return
      */
-    BaseResponse login(LoginReq req);
+    LoginRes login(LoginReq req);
 
     /**
      *重置密码
@@ -35,7 +36,7 @@ public interface LoginService {
      * 修改密码
      * @return
      */
-    BaseResponse updatePassword(UpdatePasswordReq req);
+    void updatePassword(UpdatePasswordReq req);
 
     /**
      * token校验

+ 2 - 2
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/UserManagerService.java

@@ -23,14 +23,14 @@ public interface UserManagerService {
      * @return
      * @throws Exception
      */
-    BaseResponse createUser(CreateUserReq createUserReq) throws Exception;
+    void createUser(CreateUserReq createUserReq) throws Exception;
 
     /**
      * 更新用户
      * @param updateUserReq
      * @throws Exception
      */
-    BaseResponse updateUser(UpdateUserReq updateUserReq) throws Exception;
+    void updateUser(UpdateUserReq updateUserReq) throws Exception;
 
 
     ListRoleTreeRes listRoleTree() throws Exception;

+ 15 - 13
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/LoginServiceImpl.java

@@ -18,12 +18,14 @@ import com.abi.qms.platform.infrastructure.util.UUIDutils;
 import com.abi.qms.platform.infrastructure.util.UserUtil;
 import com.abi.qms.platform.service.LoginService;
 import com.abi.task.common.api.base.BaseResponse;
+import com.abi.task.common.api.exception.BusinessException;
 import com.abi.task.common.utils.AESEncodeTwoUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.util.Objects;
@@ -50,7 +52,8 @@ public class LoginServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> impl
 
 
     @Override
-    public BaseResponse login(LoginReq req) {
+    @Transactional(rollbackFor = Exception.class)
+    public LoginRes login(LoginReq req) {
         UserInfo one = lambdaQuery().eq(UserInfo::getUserName, req.getUserName().trim()).eq(UserInfo::getPassword, req.getPassword()).eq(UserInfo::getIsEnable, 1).eq(UserInfo::getIsDelete, 0).select(UserInfo::getId).one();
         if (Objects.nonNull(one)) {
             UserInfo userInfo = userInfoMapper.selectById(one.getId());
@@ -59,7 +62,7 @@ public class LoginServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> impl
             roleQueryWrapper.eq("is_delete", 0);
             UserRole userRole = userRoleMapper.selectOne(roleQueryWrapper);
             if (Objects.isNull(userRole)) {
-                return BaseResponse.createFail(null, ErrorCodeEnum.USER_ROLE_NOT_EXISTED.getCode(), ErrorCodeEnum.USER_ROLE_NOT_EXISTED.getMessage());
+                throw new BusinessException("该用户的角色不存在");
             }
             UserUtil.setUser(userInfo);
             String uuid = UUIDutils.getUUID();
@@ -78,14 +81,14 @@ public class LoginServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> impl
             ;
             //登录状态
             redisUtil.set(RedisKey.USER_ID_TOKEN + ":" + one.getId(), uuid, BaseFinal.REDIS_USER_EXPIRE_TIME);
-            return new BaseResponse<>(LoginRes.builder().token(uuid).id(one.getId()).roleCode(one.getRoleCode()).build());
+            LoginRes build = LoginRes.builder()
+                    .token(uuid)
+                    .id(one.getId())
+                    .roleCode(one.getRoleCode())
+                    .build();
+            return build;
         } else {
-            //查询是否有该用户
-            UserInfo manager = lambdaQuery().eq(UserInfo::getUserName, req.getUserName().trim()).select(UserInfo::getId).one();
-            if (null != manager) {
-                return BaseResponse.createFail(null, ErrorCodeEnum.PASSWORD_ERROR.getCode(), ErrorCodeEnum.PASSWORD_ERROR.getMessage());
-            }
-            return BaseResponse.createFail(null, ErrorCodeEnum.USER_NOT_EXISTED.getCode(), ErrorCodeEnum.USER_NOT_EXISTED.getMessage());
+            throw new BusinessException("登录账号或密码错误");
         }
     }
 
@@ -110,7 +113,8 @@ public class LoginServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> impl
     }
 
     @Override
-    public BaseResponse updatePassword(UpdatePasswordReq req) {
+    @Transactional(rollbackFor = Exception.class)
+    public void updatePassword(UpdatePasswordReq req) {
         UserInfo userInfo = userInfoMapper.selectById(req.getId());
         String oldPassword = AESEncodeTwoUtil.encrypt(req.getOldPassword());
         if (oldPassword.equals(userInfo.getPassword())) {
@@ -126,10 +130,8 @@ public class LoginServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> impl
                 redisUtil.del(RedisKey.USER_ID_TOKEN + ":" + req.getId());
             }
         } else {
-            log.info("请输入正确的密码");
-            return BaseResponse.create(null, ErrorCodeEnum.PASSWORD_ERROR.getCode(), ErrorCodeEnum.PASSWORD_ERROR.getMessage());
+            throw new BusinessException("请输入正确的密码");
         }
-        return BaseResponse.create();
     }
 
     @Override

+ 51 - 51
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/UserManagerServiceImpl.java

@@ -17,6 +17,7 @@ import com.abi.qms.platform.infrastructure.util.UserUtil;
 import com.abi.qms.platform.service.RoleManagerService;
 import com.abi.qms.platform.service.UserManagerService;
 import com.abi.task.common.api.base.BaseResponse;
+import com.abi.task.common.api.exception.BusinessException;
 import com.abi.task.common.utils.PojoConverterUtils;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -58,46 +59,42 @@ public class UserManagerServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo
      **/
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public BaseResponse createUser(CreateUserReq createUserReq) {
-        UserInfo userInfo = new UserInfo();
-        BeanUtils.copyProperties(createUserReq, userInfo);
+    public void createUser(CreateUserReq createUserReq) {
+
         QueryWrapper<UserRole> roleQueryWrapper = new QueryWrapper<>();
-        roleQueryWrapper.eq("role_code", userInfo.getRoleCode());
+        roleQueryWrapper.eq("role_code", createUserReq.getRoleCode());
         roleQueryWrapper.eq("is_delete", 0);
         UserRole userRole = userRoleMapper.selectOne(roleQueryWrapper);
         if (Objects.isNull(userRole)) {
-            return BaseResponse.createFail(null, ErrorCodeEnum.USER_ROLE_NOT_EXISTED.getCode(), ErrorCodeEnum.USER_ROLE_NOT_EXISTED.getMessage());
+            throw new BusinessException("该角色不存在。");
         }
-        if (lambdaQuery().eq(UserInfo::getEmployeeNo, userInfo.getEmployeeNo().trim()).count() > 0) {
-            log.info("工号" + userInfo.getEmployeeNo() + "已存在,请勿重复创建。");
-            return BaseResponse.create(null, ErrorCodeEnum.EMPLOYEE_NO_DUPLICATE.getCode(), "工号" + userInfo.getEmployeeNo() + "已存在,请勿重复创建。");
+        if (lambdaQuery().eq(UserInfo::getEmployeeNo, createUserReq.getEmployeeNo().trim()).count() > 0) {
+            throw new BusinessException("工号" + createUserReq.getEmployeeNo() + "已存在,请勿重复创建。");
         }
-        if (lambdaQuery().eq(UserInfo::getUserName, userInfo.getUserName().trim()).count() > 0) {
-            log.info("用户" + userInfo.getUserName() + "已存在,请勿重复创建。");
-            return BaseResponse.create(null, ErrorCodeEnum.USERNAME_DUPLICATE.getCode(), "用户" + userInfo.getUserName() + "已存在,请勿重复创建。");
+        if (lambdaQuery().eq(UserInfo::getUserName, createUserReq.getUserName().trim()).count() > 0) {
+            throw new BusinessException("用户" + createUserReq.getUserName() + "已存在,请勿重复创建。");
         }
-        UserInfo userInfo1 = UserUtil.getUser();
-        userInfo.setCreateBy(userInfo1.getId());
+        UserInfo userInfo = new UserInfo();
+        userInfo.setUserName(createUserReq.getUserName());
+        userInfo.setEmployeeNo(createUserReq.getEmployeeNo());
+        userInfo.setEmail(createUserReq.getEmail());
+        userInfo.setPassword(createUserReq.getPassword());
+        userInfo.setIsAbi(createUserReq.getIsAbi());
+        userInfo.setDeptId(createUserReq.getDeptId());
+        userInfo.setFactoryId(createUserReq.getFactoryId());
+        userInfo.setRoleCode(createUserReq.getRoleCode());
+
+        UserInfo loginUser = UserUtil.getUser();
+        userInfo.setCreateBy(loginUser.getId());
         save(userInfo);
-        userInfo.setLinkFlag(userInfo1.getLinkFlag() + userInfo.getId() + ",");
+        userInfo.setLinkFlag(loginUser.getLinkFlag() + userInfo.getId() + ",");
         updateById(userInfo);
         //添加用户和角色的映射关系
-        QueryWrapper<UserMappingInfoRole> qwUR = new QueryWrapper<>();
-        qwUR.eq("user_id", userInfo.getId());
-        qwUR.eq("is_delete", 0);
-        UserMappingInfoRole userMappingInfoRole = userMappingInfoRoleMapper.selectOne(qwUR);
-        if (Objects.nonNull(userMappingInfoRole)) {
-            userMappingInfoRole.setRoleCode(userRole.getRoleCode());
-            userMappingInfoRole.setRoleName(userRole.getRoleName());
-            userMappingInfoRoleMapper.updateById(userMappingInfoRole);
-        } else {
-            userMappingInfoRole = new UserMappingInfoRole();
-            userMappingInfoRole.setUserId(userInfo.getId());
-            userMappingInfoRole.setRoleCode(userRole.getRoleCode());
-            userMappingInfoRole.setRoleName(userRole.getRoleName());
-            userMappingInfoRoleMapper.insert(userMappingInfoRole);
-        }
-        return BaseResponse.create();
+        UserMappingInfoRole userMappingInfoRole = new UserMappingInfoRole();
+        userMappingInfoRole.setUserId(userInfo.getId());
+        userMappingInfoRole.setRoleCode(userRole.getRoleCode());
+        userMappingInfoRole.setRoleName(userRole.getRoleName());
+        userMappingInfoRoleMapper.insert(userMappingInfoRole);
     }
 
     /**
@@ -105,34 +102,37 @@ public class UserManagerServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo
      **/
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public BaseResponse updateUser(UpdateUserReq updateUserReq) {
-        UserInfo userInfo = new UserInfo();
-        BeanUtils.copyProperties(updateUserReq, userInfo);
+    public void updateUser(UpdateUserReq updateUserReq) {
+
         QueryWrapper<UserRole> roleQueryWrapper = new QueryWrapper<>();
-        roleQueryWrapper.eq("role_code", userInfo.getRoleCode());
+        roleQueryWrapper.eq("role_code", updateUserReq.getRoleCode());
         roleQueryWrapper.eq("is_delete", 0);
         UserRole userRole = userRoleMapper.selectOne(roleQueryWrapper);
         if (Objects.isNull(userRole)) {
-            return BaseResponse.createFail(null, ErrorCodeEnum.USER_ROLE_NOT_EXISTED.getCode(), ErrorCodeEnum.USER_ROLE_NOT_EXISTED.getMessage());
+            throw new BusinessException("该角色不存在。");
         }
+        UserInfo userInfo = userInfoMapper.selectById(updateUserReq.getId());
+        if(Objects.isNull(userInfo)){
+            throw new BusinessException("该用户不存在。");
+        }
+        userInfo.setEmail(updateUserReq.getEmail());
+        userInfo.setDeptId(updateUserReq.getDeptId());
+        userInfo.setDeptId(updateUserReq.getDeptId());
+        userInfo.setFactoryId(updateUserReq.getFactoryId());
+        userInfo.setRoleCode(updateUserReq.getRoleCode());
         userInfoMapper.updateById(userInfo);
-        //添加用户和角色的映射关系
-        QueryWrapper<UserMappingInfoRole> qwUR = new QueryWrapper<>();
-        qwUR.eq("user_id", userInfo.getId());
-        qwUR.eq("is_delete", 0);
-        UserMappingInfoRole userMappingInfoRole = userMappingInfoRoleMapper.selectOne(qwUR);
-        if (Objects.nonNull(userMappingInfoRole)) {
-            userMappingInfoRole.setRoleCode(userRole.getRoleCode());
-            userMappingInfoRole.setRoleName(userRole.getRoleName());
-            userMappingInfoRoleMapper.updateById(userMappingInfoRole);
-        } else {
-            userMappingInfoRole = new UserMappingInfoRole();
-            userMappingInfoRole.setUserId(userInfo.getId());
-            userMappingInfoRole.setRoleCode(userRole.getRoleCode());
-            userMappingInfoRole.setRoleName(userRole.getRoleName());
-            userMappingInfoRoleMapper.insert(userMappingInfoRole);
+        //修改用户和角色的映射关系
+        if(!userRole.getRoleCode().equals(updateUserReq.getRoleCode())) {
+            QueryWrapper<UserMappingInfoRole> qwUR = new QueryWrapper<>();
+            qwUR.eq("user_id", userInfo.getId());
+            qwUR.eq("is_delete", 0);
+            UserMappingInfoRole userMappingInfoRole = userMappingInfoRoleMapper.selectOne(qwUR);
+            if (Objects.nonNull(userMappingInfoRole)) {
+                userMappingInfoRole.setRoleCode(userRole.getRoleCode());
+                userMappingInfoRole.setRoleName(userRole.getRoleName());
+                userMappingInfoRoleMapper.updateById(userMappingInfoRole);
+            }
         }
-        return BaseResponse.create();
     }
 
     /**