Forráskód Böngészése

Merge branch 'feature/1.0.0' of github.com:ab-inbev-apac/abi-cloud-qr-platform into feature/1.0.0

bess-WeiganCai 4 éve
szülő
commit
fd02dfd2b6
20 módosított fájl, 142 hozzáadás és 139 törlés
  1. 3 3
      abi-cloud-qr-platform-common/src/main/java/com/abi/task/common/excel/preperties/FactoryProperty.java
  2. 6 3
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/controller/console/LoginController.java
  3. 4 2
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/controller/console/UserManagerController.java
  4. 2 1
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/BatchEnableUserReq.java
  5. 0 6
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/CreateUserReq.java
  6. 4 5
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/GetUserInfoReq.java
  7. 2 1
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/ResetPasswordReq.java
  8. 2 1
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/UpdatePasswordReq.java
  9. 2 1
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/UpdateUserReq.java
  10. 2 2
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/UserInfoIdReq.java
  11. 2 2
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/enums/BaseFinal.java
  12. 1 1
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/enums/RedisKey.java
  13. 1 1
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/enums/ErrorCodeEnum.java
  14. 1 1
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/infrastructure/interceptor/TokenInterceptor.java
  15. 3 3
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/LoginService.java
  16. 2 2
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/UserManagerService.java
  17. 5 3
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/FactoryServiceImpl.java
  18. 38 39
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/LoginServiceImpl.java
  19. 52 52
      abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/UserManagerServiceImpl.java
  20. 10 10
      abi-cloud-qr-platform-server/src/main/resources/dao/mapper/UserRoleMapper.xml

+ 3 - 3
abi-cloud-qr-platform-common/src/main/java/com/abi/task/common/excel/preperties/FactoryProperty.java

@@ -21,13 +21,13 @@ public class FactoryProperty implements AbstractExcelProperty {
     @ExcelHeadAlias(value = "供应商类型(必填) 枚举值:包材厂,啤酒厂")
     private String factoryType;
 
-    @ExcelHeadAlias(value = "联系人姓名(必填)")
+    @ExcelHeadAlias(value = "联系人姓名")
     private String keymanName;
 
-    @ExcelHeadAlias(value = "联系人手机号(必填)")
+    @ExcelHeadAlias(value = "联系人手机号")
     private String keymanMobile;
 
-    @ExcelHeadAlias(value = "邮箱(必填)")
+    @ExcelHeadAlias(value = "邮箱")
     private String email;
 
     @ExcelHeadAlias(value = "文件最大数")

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

@@ -3,6 +3,7 @@ package com.abi.qms.platform.controller.console;
 import com.abi.qms.platform.dto.req.LoginReq;
 import com.abi.qms.platform.dto.req.ResetPasswordReq;
 import com.abi.qms.platform.dto.req.UpdatePasswordReq;
+import com.abi.qms.platform.dto.res.LoginRes;
 import com.abi.qms.platform.service.LoginService;
 import com.abi.task.common.annotation.IgnoreToken;
 import com.abi.task.common.api.base.BaseResponse;
@@ -40,13 +41,14 @@ public class LoginController {
     @ApiOperation("登录")
     @IgnoreToken
     public BaseResponse loginQms(@Validated @RequestBody LoginReq req) {
-        return loginService.login(req);
+        LoginRes login = loginService.login(req);
+        return BaseResponse.create(login);
     }
 
 
     @ApiOperation("重置密码")
     @PostMapping("resetPassword")
-    public BaseResponse resetPassword(@Validated ResetPasswordReq req) throws Exception {
+    public BaseResponse resetPassword(@Validated @RequestBody ResetPasswordReq req) throws Exception {
         loginService.resetPassword(req);
         //包装出参
         return BaseResponse.create();
@@ -55,7 +57,8 @@ public class LoginController {
     @ApiOperation("修改密码")
     @PostMapping("updatePassword")
     public BaseResponse updatePassword(@Validated UpdatePasswordReq req) throws Exception {
-        return loginService.updatePassword(req);
+        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("查询角色树")

+ 2 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/BatchEnableUserReq.java

@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 import java.util.List;
 
@@ -17,7 +18,7 @@ import java.util.List;
 @ApiModel
 public class BatchEnableUserReq implements Serializable {
 
-    @NotEmpty(message = "用户id列表为空")
+    @NotNull(message = "用户id列表为空")
     @ApiModelProperty(value = "用户id列表")
     private List<Long> ids;
 

+ 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;
 

+ 4 - 5
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/GetUserInfoReq.java

@@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 
 /**
@@ -15,10 +15,9 @@ import java.io.Serializable;
 @ApiModel
 public class GetUserInfoReq implements Serializable {
 
-  @NotEmpty(message = "用户id为空")
-  @ApiModelProperty(value = "用户id")
-  private Long id;
-
+    @NotNull(message = "用户id为空")
+    @ApiModelProperty(value = "用户id")
+    private Long id;
 
 
 }

+ 2 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/ResetPasswordReq.java

@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 
 /**
@@ -15,7 +16,7 @@ import java.io.Serializable;
 @Data
 @ApiModel
 public class ResetPasswordReq implements Serializable {
-    @NotEmpty(message = "用户id为空")
+    @NotNull(message = "用户id为空")
     @ApiModelProperty(value = "用户id")
     private Long id;
 

+ 2 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/UpdatePasswordReq.java

@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 
 /**
@@ -16,7 +17,7 @@ import java.io.Serializable;
 @ApiModel
 public class UpdatePasswordReq implements Serializable {
 
-    @NotEmpty(message = "用户id为空")
+    @NotNull(message = "用户id为空")
     @ApiModelProperty(value = "用户id")
     private Long id;
 

+ 2 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/UpdateUserReq.java

@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 
 /**
@@ -15,7 +16,7 @@ import java.io.Serializable;
 @ApiModel
 public class UpdateUserReq implements Serializable {
 
-  @NotEmpty(message = "用户id为空")
+  @NotNull(message = "用户id为空")
   @ApiModelProperty(value = "用户id")
   private Long id;
 

+ 2 - 2
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/req/UserInfoIdReq.java

@@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 
 /**
@@ -15,7 +15,7 @@ import java.io.Serializable;
 @ApiModel
 public class UserInfoIdReq implements Serializable {
 
-    @NotEmpty(message = "用户id为空")
+    @NotNull(message = "用户id为空")
     @ApiModelProperty(value = "用户id")
     private Long id;
 }

+ 2 - 2
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/enums/BaseFinal.java

@@ -1,4 +1,4 @@
-package com.abi.qms.platform.dao.enums;
+package com.abi.qms.platform.infrastructure.constant;
 
 /**
  * @author Eurus
@@ -8,7 +8,7 @@ package com.abi.qms.platform.dao.enums;
 public class BaseFinal {
 
     //redis缓存用户信息过期时间
-    public static final Long REDIS_USER_EXPIRE_TIME = 30*24*60*60L;
+    public static final Integer REDIS_USER_EXPIRE_TIME = 30*24*60*60;
 
 
 }

+ 1 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/enums/RedisKey.java

@@ -1,4 +1,4 @@
-package com.abi.qms.platform.dao.enums;
+package com.abi.qms.platform.infrastructure.constant;
 
 /**
  * @author Eurus

+ 1 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/enums/ErrorCodeEnum.java

@@ -1,4 +1,4 @@
-package com.abi.qms.platform.dao.enums;
+package com.abi.qms.platform.infrastructure.exception;
 
 import com.abi.task.common.api.exception.BusinessException;
 

+ 1 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/infrastructure/interceptor/TokenInterceptor.java

@@ -1,7 +1,7 @@
 package com.abi.qms.platform.infrastructure.interceptor;
 
 import com.abi.qms.platform.dao.entity.UserInfo;
-import com.abi.qms.platform.dao.enums.ErrorCodeEnum;
+import com.abi.qms.platform.infrastructure.exception.ErrorCodeEnum;
 import com.abi.qms.platform.dto.req.TokenReq;
 import com.abi.qms.platform.infrastructure.util.UserUtil;
 import com.abi.qms.platform.service.LoginService;

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

@@ -6,7 +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.task.common.api.base.BaseResponse;
+import com.abi.qms.platform.dto.res.LoginRes;
 
 /**
  * <p>
@@ -22,7 +22,7 @@ public interface LoginService {
      * @param req
      * @return
      */
-    BaseResponse login(LoginReq req);
+    LoginRes login(LoginReq req);
 
     /**
      *重置密码
@@ -35,7 +35,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;

+ 5 - 3
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/service/impl/FactoryServiceImpl.java

@@ -197,9 +197,11 @@ public class FactoryServiceImpl implements FactoryService {
                 req.setFactoryCode(factoryProperty.getFactoryCode());
                 req.setFactoryName(factoryProperty.getFactoryName());
                 req.setFactoryType(FactoryTypeEnum.getCode(factoryProperty.getFactoryType()));
-                req.setKeymanName(factoryProperty.getKeymanName());
-                req.setKeymanMobile(factoryProperty.getKeymanMobile());
-                req.setEmail(factoryProperty.getEmail());
+                if (FactoryTypeEnum.COVER.is(FactoryTypeEnum.getCode(factoryProperty.getFactoryType()))) {
+                    req.setKeymanName(factoryProperty.getKeymanName());
+                    req.setKeymanMobile(factoryProperty.getKeymanMobile());
+                    req.setEmail(factoryProperty.getEmail());
+                }
                 req.setMaxFileCount(Long.valueOf(factoryProperty.getMaxFileCount()));
                 req.setDescription(factoryProperty.getDescription());
 

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

@@ -3,9 +3,6 @@ package com.abi.qms.platform.service.impl;
 import cn.hutool.core.util.ObjectUtil;
 import com.abi.qms.platform.dao.entity.UserInfo;
 import com.abi.qms.platform.dao.entity.UserRole;
-import com.abi.qms.platform.dao.enums.BaseFinal;
-import com.abi.qms.platform.dao.enums.ErrorCodeEnum;
-import com.abi.qms.platform.dao.enums.RedisKey;
 import com.abi.qms.platform.dao.mapper.UserInfoMapper;
 import com.abi.qms.platform.dao.mapper.UserRoleMapper;
 import com.abi.qms.platform.dto.req.LoginReq;
@@ -13,19 +10,21 @@ 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.qms.platform.infrastructure.constant.BaseFinal;
+import com.abi.qms.platform.infrastructure.constant.RedisKey;
 import com.abi.qms.platform.infrastructure.util.RedisUtils;
 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;
 
 /**
@@ -45,12 +44,13 @@ public class LoginServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> impl
     @Autowired
     private UserRoleMapper userRoleMapper;
 
-    @Resource
-    private RedisUtils redisUtil;
+    @Autowired
+    private RedisUtils redisUtils;
 
 
     @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,33 +59,33 @@ 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();
             //token为key,id为value。过期时间30天
-            redisUtil.set(RedisKey.USER_TOKEN_ID + ":" + uuid, one.getId(), BaseFinal.REDIS_USER_EXPIRE_TIME);
+            redisUtils.set(RedisKey.USER_TOKEN_ID + ":" + uuid, one.getId(), BaseFinal.REDIS_USER_EXPIRE_TIME);
             //异地登录状态
-            if (redisUtil.exists(RedisKey.USER_ID_TOKEN + ":" + one.getId())) {
+            if (redisUtils.exists(RedisKey.USER_ID_TOKEN + ":" + one.getId())) {
                 //有key,value为null的情况;就把key删掉
-                Object loginkey = redisUtil.get(RedisKey.USER_ID_TOKEN + ":" + one.getId());
+                Object loginkey = redisUtils.get(RedisKey.USER_ID_TOKEN + ":" + one.getId());
                 if (Objects.nonNull(loginkey)) {
-                    redisUtil.del(RedisKey.USER_TOKEN_ID + ":" + loginkey.toString());
+                    redisUtils.del(RedisKey.USER_TOKEN_ID + ":" + loginkey.toString());
                 } else {
-                    redisUtil.del(RedisKey.USER_ID_TOKEN + ":" + one.getId());
+                    redisUtils.del(RedisKey.USER_ID_TOKEN + ":" + one.getId());
                 }
             }
             ;
             //登录状态
-            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());
+            redisUtils.set(RedisKey.USER_ID_TOKEN + ":" + one.getId(), uuid, BaseFinal.REDIS_USER_EXPIRE_TIME);
+            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("登录账号或密码错误");
         }
     }
 
@@ -98,49 +98,48 @@ public class LoginServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo> impl
             userInfoMapper.updateById(userInfo);
             UserUtil.releaseUser();
             //删除redis用户token信息
-            if (redisUtil.exists(RedisKey.USER_ID_TOKEN + ":" + req.getId())) {
+            if (redisUtils.exists(RedisKey.USER_ID_TOKEN + ":" + req.getId())) {
                 //有key,value为null的情况;就把key删掉
-                Object loginkey = redisUtil.get(RedisKey.USER_ID_TOKEN + ":" + req.getId());
+                Object loginkey = redisUtils.get(RedisKey.USER_ID_TOKEN + ":" + req.getId());
                 if (Objects.nonNull(loginkey)) {
-                    redisUtil.del(RedisKey.USER_TOKEN_ID + ":" + loginkey.toString());
+                    redisUtils.del(RedisKey.USER_TOKEN_ID + ":" + loginkey.toString());
                 }
-                redisUtil.del(RedisKey.USER_ID_TOKEN + ":" + req.getId());
+                redisUtils.del(RedisKey.USER_ID_TOKEN + ":" + req.getId());
             }
         }
     }
 
     @Override
-    public BaseResponse updatePassword(UpdatePasswordReq req) {
+    @Transactional(rollbackFor = Exception.class)
+    public void updatePassword(UpdatePasswordReq req) {
         UserInfo userInfo = userInfoMapper.selectById(req.getId());
-        String oldPassword = AESEncodeTwoUtil.decrypt(userInfo.getPassword());
-        if (oldPassword.equals(req.getOldPassword())) {
+        String oldPassword = AESEncodeTwoUtil.encrypt(req.getOldPassword());
+        if (oldPassword.equals(userInfo.getPassword())) {
             userInfo.setPassword(req.getNewPassword());
             userInfoMapper.updateById(userInfo);
             //删除redis用户token信息
-            if (redisUtil.exists(RedisKey.USER_ID_TOKEN + ":" + req.getId())) {
+            if (redisUtils.exists(RedisKey.USER_ID_TOKEN + ":" + req.getId())) {
                 //有key,value为null的情况;就把key删掉
-                Object loginkey = redisUtil.get(RedisKey.USER_ID_TOKEN + ":" + req.getId());
+                Object loginkey = redisUtils.get(RedisKey.USER_ID_TOKEN + ":" + req.getId());
                 if (Objects.nonNull(loginkey)) {
-                    redisUtil.del(RedisKey.USER_TOKEN_ID + ":" + loginkey.toString());
+                    redisUtils.del(RedisKey.USER_TOKEN_ID + ":" + loginkey.toString());
                 }
-                redisUtil.del(RedisKey.USER_ID_TOKEN + ":" + req.getId());
+                redisUtils.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
     public UserInfo validateToken(TokenReq req) {
-        Object uid = redisUtil.get(RedisKey.USER_TOKEN_ID + ":" + req.getToken());
+        Object uid = redisUtils.get(RedisKey.USER_TOKEN_ID + ":" + req.getToken());
         if (Objects.nonNull(uid)) {
             UserInfo userInfo = getById(uid.toString());
             if (userInfo != null) {
                 //刷新token
-                redisUtil.set(RedisKey.USER_TOKEN_ID + ":" + req.getToken(), userInfo.getId(), BaseFinal.REDIS_USER_EXPIRE_TIME);
-                redisUtil.set(RedisKey.USER_ID_TOKEN + ":" + userInfo.getId(), req.getToken(), BaseFinal.REDIS_USER_EXPIRE_TIME);
+                redisUtils.set(RedisKey.USER_TOKEN_ID + ":" + req.getToken(), userInfo.getId(), BaseFinal.REDIS_USER_EXPIRE_TIME);
+                redisUtils.set(RedisKey.USER_ID_TOKEN + ":" + userInfo.getId(), req.getToken(), BaseFinal.REDIS_USER_EXPIRE_TIME);
             }
             return userInfo;
         }

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

@@ -4,7 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
 import com.abi.qms.platform.dao.entity.UserInfo;
 import com.abi.qms.platform.dao.entity.UserMappingInfoRole;
 import com.abi.qms.platform.dao.entity.UserRole;
-import com.abi.qms.platform.dao.enums.ErrorCodeEnum;
+import com.abi.qms.platform.infrastructure.exception.ErrorCodeEnum;
 import com.abi.qms.platform.dao.mapper.UserInfoMapper;
 import com.abi.qms.platform.dao.mapper.UserMappingInfoRoleMapper;
 import com.abi.qms.platform.dao.mapper.UserRoleMapper;
@@ -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();
     }
 
     /**

+ 10 - 10
abi-cloud-qr-platform-server/src/main/resources/dao/mapper/UserRoleMapper.xml

@@ -64,20 +64,20 @@
         from user_role r
         <where>
             <!-- 仅可以查看当前角色树下的角色 -->
-            <if test="roleLevel==1">
-                and r.l1_role_code=#{roleCode}
+            <if test="role.roleLevel==1">
+                and r.l1_role_code=#{role.roleCode}
             </if>
-            <if test="roleLevel==2">
-                and r.l2_role_code=#{roleCode}
+            <if test="role.roleLevel==2">
+                and r.l2_role_code=#{role.roleCode}
             </if>
-            <if test="roleLevel==3">
-                and r.l3_role_code=#{roleCode}
+            <if test="role.roleLevel==3">
+                and r.l3_role_code=#{role.roleCode}
             </if>
-            <if test="roleLevel==4">
-                and r.l4_role_code=#{roleCode}
+            <if test="role.roleLevel==4">
+                and r.l4_role_code=#{role.roleCode}
             </if>
-            <if test="roleLevel==5">
-                and r.l5_role_code=#{roleCode}
+            <if test="role.roleLevel==5">
+                and r.l5_role_code=#{role.roleCode}
             </if>
         </where>
     </select>