Browse Source

修改与整理用户、角色相关接口

tanzhongran 4 years ago
parent
commit
77f2ee6775

+ 15 - 17
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/controller/console/RoleManagerController.java

@@ -27,20 +27,11 @@ public class RoleManagerController {
     @Autowired
     private RoleManagerService roleManagerService;
 
-    @ApiOperation("查询当前用户能看到的资源")
+    @ApiOperation("查询当前用户能看到的角色列表")
     @GetMapping("listResource")
-    public BaseResponse<ListResourceRes> listResource() throws Exception{
+    public BaseResponse<ListRoleForSelectRes> listRoleForSelect() throws Exception{
         //查询当前用户能看到的资源
-        ListResourceRes  result = roleManagerService.listResource();
-        //包装出参
-        return BaseResponse.create(result);
-    }
-
-    @ApiOperation("获取登录角色下级的角色树")
-    @GetMapping("listResourceTreeByRoleCode")
-    public BaseResponse<ListResourceTreeByRoleCodeRes> listResourceTreeByRoleCode(@Validated ListResourceTreeByRoleCodeReq listResourceTreeByRoleCodeReq) throws Exception{
-        //获取登录角色下级的角色树
-        ListResourceTreeByRoleCodeRes  result = roleManagerService.listResourceTreeByRoleCode(listResourceTreeByRoleCodeReq);
+        ListRoleForSelectRes result = roleManagerService.listResource();
         //包装出参
         return BaseResponse.create(result);
     }
@@ -49,7 +40,7 @@ public class RoleManagerController {
     @GetMapping("listResourceTreeBySelectRoleCode")
     public BaseResponse<ListResourceTreeBySelectRoleCodeRes> listResourceTreeBySelectRoleCode(@Validated ListResourceTreeBySelectRoleCodeReq listResourceTreeBySelectRoleCodeReq) throws Exception{
         //获取登录角色下级的角色树
-        ListResourceTreeBySelectRoleCodeRes  result = roleManagerService.listResourceTreeBySelectRoleCode(listResourceTreeBySelectRoleCodeReq);
+        ListResourceTreeBySelectRoleCodeRes result = roleManagerService.listResourceTreeBySelectRoleCode(listResourceTreeBySelectRoleCodeReq);
         //包装出参
         return BaseResponse.create(result);
     }
@@ -58,7 +49,7 @@ public class RoleManagerController {
     @GetMapping("listLoginUserResource")
     public BaseResponse<ListLoginUserResourceRes> listLoginUserResource() throws Exception{
         //获取登录用户需要的页面以及按钮权限
-        ListLoginUserResourceRes  result = roleManagerService.listLoginUserResource();
+        ListLoginUserResourceRes result = roleManagerService.listLoginUserResource();
         //包装出参
         return BaseResponse.create(result);
     }
@@ -85,7 +76,7 @@ public class RoleManagerController {
     @GetMapping("getRoleInfo")
     public BaseResponse<GetRoleInfoRes> getRoleInfo(@Validated GetRoleInfoReq getRoleInfoReq) throws Exception{
         //查询单个角色信息
-        GetRoleInfoRes  result = roleManagerService.getRoleInfo(getRoleInfoReq);
+        GetRoleInfoRes result = roleManagerService.getRoleInfo(getRoleInfoReq);
         //包装出参
         return BaseResponse.create(result);
     }
@@ -94,7 +85,7 @@ public class RoleManagerController {
     @GetMapping("listRole")
     public BaseResponse<ListRoleRes> listRole(@Validated ListRoleReq listRoleReq) throws Exception{
         //查询角色列表
-        ListRoleRes  result = roleManagerService.listRole(listRoleReq);
+        ListRoleRes result = roleManagerService.listRole(listRoleReq);
         //包装出参
         return BaseResponse.create(result);
     }
@@ -117,7 +108,14 @@ public class RoleManagerController {
         return BaseResponse.create();
     }
 
-
+    @ApiOperation("获取登录角色下的资源列表(可列可树形) 这个其实感觉现在不需要了")
+    @GetMapping("listResourceTreeByRoleCode")
+    public BaseResponse<ListResourceTreeByRoleCodeRes> listResourceTreeByRoleCode(@Validated ListResourceTreeByRoleCodeReq listResourceTreeByRoleCodeReq) throws Exception{
+        //获取登录角色下级的角色树
+        ListResourceTreeByRoleCodeRes result = roleManagerService.listResourceTreeByRoleCode(listResourceTreeByRoleCodeReq);
+        //包装出参
+        return BaseResponse.create(result);
+    }
 
 }
 

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

@@ -46,7 +46,7 @@ public class UserManagerController {
         return BaseResponse.create();
     }
 
-    @ApiOperation("查询角色")
+    @ApiOperation("查询角色列表")
     @GetMapping("listRoleTree")
     public BaseResponse<ListRoleTreeRes> listRoleTree() throws Exception{
         //查询角色树
@@ -76,6 +76,7 @@ public class UserManagerController {
     @ApiOperation("启用/停用用户")
     @PostMapping("enableUser")
     public BaseResponse enableUser(@Validated @RequestBody UserInfoIdReq userInfoIdReq) throws Exception {
+        //启用/停用用户
         userManagerService.enableUser(userInfoIdReq.getId());
         //包装出参
         return BaseResponse.create();
@@ -84,6 +85,7 @@ public class UserManagerController {
     @ApiOperation("批量启用/停用用户")
     @PostMapping("batchEnableUser")
     public BaseResponse batchEnableUser(@Validated @RequestBody BatchEnableUserReq batchEnableUserReq) throws Exception {
+        //批量启用/停用用户
         userManagerService.batchEnableUser(batchEnableUserReq);
         //包装出参
         return BaseResponse.create();

+ 49 - 0
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dao/enums/TrueFalseEnum.java

@@ -0,0 +1,49 @@
+package com.abi.qms.platform.dao.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+import java.util.EnumSet;
+import java.util.Set;
+
+/**
+ * 是否
+ *
+ * @Author AndyTan
+ */
+@Getter
+@AllArgsConstructor
+@JsonFormat(shape = JsonFormat.Shape.OBJECT)
+public enum TrueFalseEnum {
+
+    //是否: 0-否 1-是
+    FALSE(0, "否"),
+    TRUE(1, "是");
+
+    @EnumValue
+    private Integer code;
+    private String name;
+
+    private static final Set<TrueFalseEnum> ALL = EnumSet.allOf(TrueFalseEnum.class);
+
+    public static String getName(Integer code) {
+        return ALL.stream()
+                .filter(o -> o.code.equals(code))
+                .map(TrueFalseEnum::getName)
+                .findAny().orElse(null);
+    }
+
+    public static Integer getCode(String name) {
+        return ALL.stream()
+                .filter(o -> o.name.equals(name))
+                .map(TrueFalseEnum::getCode)
+                .findAny().orElse(null);
+    }
+
+    public boolean is(Integer code) {
+        return getCode().equals(code);
+    }
+
+}

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

@@ -29,7 +29,7 @@ public interface UserInfoMapper extends BaseMapper<UserInfo> {
     int batchEnableUser(BatchEnableUserReq req);
 
     /**
-     * 根据rolecode查询该角色下启用中的用户
+     * 根据role code查询该角色下启用中的用户
      * @param roleCode
      * @return
      */

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

@@ -26,6 +26,9 @@ public class CreateUserReq implements Serializable {
   @ApiModelProperty(value = "邮箱")
   private String email;
 
+  @ApiModelProperty(value = "手机号")
+  private String phone;
+
   @ApiModelProperty(value = "登录密码")
   private String password;
 

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

@@ -23,6 +23,9 @@ public class UpdateUserReq implements Serializable {
   @ApiModelProperty(value = "邮箱")
   private String email;
 
+  @ApiModelProperty(value = "手机号")
+  private String phone;
+
   @ApiModelProperty(value = "供应商id")
   private Long factoryId;
 

+ 1 - 1
abi-cloud-qr-platform-server/src/main/java/com/abi/qms/platform/dto/res/ListResourceRes.java

@@ -16,7 +16,7 @@ import java.util.List;
  */
 @Data
 @ApiModel
-public class ListResourceRes implements Serializable {
+public class ListRoleForSelectRes implements Serializable {
 
   @ApiModelProperty("用户名下的角色code列表")
   private List<String> roleCodeList;

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

@@ -1,13 +1,10 @@
 package com.abi.qms.platform.service;
 
 
-import com.abi.qms.platform.dao.entity.UserResource;
 import com.abi.qms.platform.dao.entity.UserRole;
 import com.abi.qms.platform.dto.req.*;
 import com.abi.qms.platform.dto.res.*;
 
-import java.util.List;
-
 /**
  * <p>
  * 角色管理
@@ -49,11 +46,11 @@ public interface RoleManagerService {
     ListRoleRes listRole(ListRoleReq listRoleReq) throws Exception;
 
     /**
-     * 查询当前用户能看到的资源
+     * 查询当前用户能看到的角色列表
      * @return
      * @throws Exception
      */
-    ListResourceRes listResource() throws Exception;
+    ListRoleForSelectRes listResource() throws Exception;
 
     /**
      * 角色code查询角色信息

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

@@ -41,6 +41,8 @@ public interface UserManagerService {
 
     /**
      * 根据id查询单个用户信息
+     *
+     * @param userInfoId
      * @return
      * @throws Exception
      */
@@ -56,6 +58,9 @@ public interface UserManagerService {
 
     /**
      * 启用/停用用户
+     *
+     * @param userInfoId
+     * @throws Exception
      */
     void enableUser(Long userInfoId) throws Exception;
 

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

@@ -206,19 +206,19 @@ public class RoleManagerServiceImpl implements RoleManagerService {
     }
 
     /**
-     * 查询当前用户能看到的资源
+     * 查询当前用户能看到的角色列表
      **/
     @Override
-    public ListResourceRes listResource() {
+    public ListRoleForSelectRes listResource() {
         //获取当前登录的用户
         UserInfo user = userUtil.getUser();
         //获取当前用户的角色
         UserRole role = getRoleByCode(user.getRoleCode());
 
-        //1-查询角色下所有资源
+        //1-查询角色下所有角色列表
         List<String> roleCodeList = userResourceService.listResourceByRoleCode(role.getRoleCode());
 
-        ListResourceRes res = new ListResourceRes();
+        ListRoleForSelectRes res = new ListRoleForSelectRes();
         res.setRoleCodeList(roleCodeList);
 
         return res;
@@ -243,7 +243,7 @@ public class RoleManagerServiceImpl implements RoleManagerService {
     }
 
     /**
-     * 获取登录角色下级的角色
+     * 查询当前登陆用户角色的resource
      **/
     @Override
     public ListResourceTreeByRoleCodeRes listResourceTreeByRoleCode(ListResourceTreeByRoleCodeReq req) {
@@ -251,7 +251,6 @@ public class RoleManagerServiceImpl implements RoleManagerService {
         UserInfo user = userUtil.getUser();
         //获取当前用户的角色
         UserRole role = getRoleByCode(user.getRoleCode());
-        //UserRole role = getRoleByCode("20000000051");
 
         //1-查询角色树
         List<UserResource> userResourceList = userResourceMapper.listResourceTreeByRoleCode(role.getRoleCode(),null);
@@ -281,7 +280,6 @@ public class RoleManagerServiceImpl implements RoleManagerService {
             }
         }else{
             resourceBeanList = PojoConverterUtils.copyList(userResourceList, ListResourceTreeByRoleCodeRes.ResourceBean.class);
-
         }
 
         //放入出参

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

@@ -1,9 +1,12 @@
 package com.abi.qms.platform.service.impl;
 
 import cn.hutool.core.util.ObjectUtil;
+import com.abi.qms.platform.dao.entity.BaseFactory;
 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.TrueFalseEnum;
+import com.abi.qms.platform.dao.mapper.BaseFactoryMapper;
 import com.abi.qms.platform.dao.mapper.UserInfoMapper;
 import com.abi.qms.platform.dao.mapper.UserMappingInfoRoleMapper;
 import com.abi.qms.platform.dao.mapper.UserRoleMapper;
@@ -14,6 +17,7 @@ import com.abi.qms.platform.dto.req.UpdateUserReq;
 import com.abi.qms.platform.dto.res.GetUserInfoRes;
 import com.abi.qms.platform.dto.res.ListRoleTreeRes;
 import com.abi.qms.platform.dto.res.ListUserRes;
+import com.abi.qms.platform.infrastructure.util.AssertUtil;
 import com.abi.qms.platform.infrastructure.util.PageUtil;
 import com.abi.qms.platform.infrastructure.util.UserUtil;
 import com.abi.qms.platform.service.RoleManagerService;
@@ -52,6 +56,9 @@ public class UserManagerServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo
     @Autowired
     private UserMappingInfoRoleMapper userMappingInfoRoleMapper;
 
+    @Autowired
+    private BaseFactoryMapper baseFactoryMapper;
+
     @Autowired
     private RoleManagerService roleManagerService;
 
@@ -63,36 +70,49 @@ public class UserManagerServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo
      **/
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void createUser(CreateUserReq createUserReq) {
-
+    public void createUser(CreateUserReq req) {
+        //0-校验入参
         QueryWrapper<UserRole> roleQueryWrapper = new QueryWrapper<>();
-        roleQueryWrapper.eq("role_code", createUserReq.getRoleCode());
+        roleQueryWrapper.eq("role_code", req.getRoleCode());
         roleQueryWrapper.eq("is_delete", 0);
         UserRole userRole = userRoleMapper.selectOne(roleQueryWrapper);
         if (Objects.isNull(userRole)) {
             throw new BusinessException("该角色不存在。");
         }
-        if (lambdaQuery().eq(UserInfo::getEmployeeNo, createUserReq.getEmployeeNo().trim()).count() > 0) {
-            throw new BusinessException("工号" + createUserReq.getEmployeeNo() + "已存在,请勿重复创建。");
+        if (lambdaQuery().eq(UserInfo::getEmployeeNo, req.getEmployeeNo().trim()).count() > 0) {
+            throw new BusinessException("工号" + req.getEmployeeNo() + "已存在,请勿重复创建。");
         }
-        if (lambdaQuery().eq(UserInfo::getUserName, createUserReq.getUserName().trim()).count() > 0) {
-            throw new BusinessException("用户" + createUserReq.getUserName() + "已存在,请勿重复创建。");
+        if (lambdaQuery().eq(UserInfo::getUserName, req.getUserName().trim()).count() > 0) {
+            throw new BusinessException("用户" + req.getUserName() + "已存在,请勿重复创建。");
+        }
+        if(!TrueFalseEnum.TRUE.is(req.getIsAbi()) && req.getFactoryId()==null){
+            throw new BusinessException("非ABI用户必须选择供应商");
+        }
+        //查询供应商
+        if(req.getFactoryId()!=null){
+            BaseFactory factory = baseFactoryMapper.selectById(req.getFactoryId());
+            AssertUtil.isNull(factory,"供应商不存在");
         }
-        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.setFactoryId(createUserReq.getFactoryId());
-        userInfo.setRoleCode(createUserReq.getRoleCode());
 
+        //操作人
         UserInfo loginUser = userUtil.getUser();
-        userInfo.setCreateBy(loginUser.getId());
-        save(userInfo);
+
+        //1-插入user
+        UserInfo userInfo = new UserInfo();
+        userInfo.setUserName(req.getUserName());
+        userInfo.setEmployeeNo(req.getEmployeeNo());
+        userInfo.setEmail(req.getEmail());
+        userInfo.setPassword(req.getPassword());
+        userInfo.setIsAbi(req.getIsAbi());
+        userInfo.setFactoryId(req.getFactoryId());
+        userInfo.setRoleCode(req.getRoleCode());
+        userInfo.setPhone(req.getPhone());
+        userInfoMapper.insert(userInfo);
+        //放入link flag链接,空间换时间
         userInfo.setLinkFlag(loginUser.getLinkFlag() + userInfo.getId() + ",");
-        updateById(userInfo);
-        //添加用户和角色的映射关系
+        userInfoMapper.updateById(userInfo);
+
+        //2-添加用户和角色的映射关系
         UserMappingInfoRole userMappingInfoRole = new UserMappingInfoRole();
         userMappingInfoRole.setUserId(userInfo.getId());
         userMappingInfoRole.setRoleCode(userRole.getRoleCode());
@@ -105,39 +125,55 @@ public class UserManagerServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo
      **/
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void updateUser(UpdateUserReq updateUserReq) {
-
+    public void updateUser(UpdateUserReq req) {
+        //0-校验入参
+        UserInfo userInfo = userInfoMapper.selectById(req.getId());
+        if(Objects.isNull(userInfo)){
+            throw new BusinessException("该用户不存在。");
+        }
         QueryWrapper<UserRole> roleQueryWrapper = new QueryWrapper<>();
-        roleQueryWrapper.eq("role_code", updateUserReq.getRoleCode());
+        roleQueryWrapper.eq("role_code", req.getRoleCode());
         roleQueryWrapper.eq("is_delete", 0);
         UserRole userRole = userRoleMapper.selectOne(roleQueryWrapper);
         if (Objects.isNull(userRole)) {
-            throw new BusinessException("该角色不存在。");
-        }
-        UserInfo userInfo = userInfoMapper.selectById(updateUserReq.getId());
-        if(Objects.isNull(userInfo)){
-            throw new BusinessException("该用户不存在。");
+            throw new BusinessException("选择的角色不存在。");
         }
-        userInfo.setEmail(updateUserReq.getEmail());
-        userInfo.setFactoryId(updateUserReq.getFactoryId());
-        userInfo.setRoleCode(updateUserReq.getRoleCode());
+        String oriRoleCode = userInfo.getRoleCode();
+
+        //1-修改主表
+        userInfo.setEmail(req.getEmail());
+        userInfo.setPhone(req.getPhone());
+        userInfo.setFactoryId(req.getFactoryId());
+        userInfo.setRoleCode(req.getRoleCode());
         userInfoMapper.updateById(userInfo);
-        //修改用户和角色的映射关系
-        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);
+
+        //2-修改用户和角色的映射关系
+        //如果修改了角色,才修改映射
+        if(!oriRoleCode.equals(req.getRoleCode())) {
+            //先查询原有映射
+            QueryWrapper<UserMappingInfoRole> mapQw = new QueryWrapper<>();
+            mapQw.eq("user_id", userInfo.getId());
+            mapQw.eq("is_delete", 0);
+            UserMappingInfoRole userMappingInfoRole = userMappingInfoRoleMapper.selectOne(mapQw);
+            //正常逻辑是修改映射
             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);
             }
         }
     }
 
     /**
-     * 查询角色树
+     * 查询角色列表
      **/
     @Override
     public ListRoleTreeRes listRoleTree() {
@@ -163,9 +199,12 @@ public class UserManagerServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo
      **/
     @Override
     public GetUserInfoRes getUserInfo(Long userInfoId) {
+        //查询用户
         UserInfo userInfo = userInfoMapper.selectById(userInfoId);
-        GetUserInfoRes getUserInfoRes = new GetUserInfoRes();
-        BeanUtils.copyProperties(userInfo, getUserInfoRes);
+
+        //构造出参
+        GetUserInfoRes getUserInfoRes = PojoConverterUtils.copy(userInfo,GetUserInfoRes.class);
+
         return getUserInfoRes;
     }
 
@@ -174,10 +213,15 @@ public class UserManagerServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo
      **/
     @Override
     public ListUserRes listUser(ListUserReq listUserReq) {
+        //当前登录人
         UserInfo user = userUtil.getUser();
+        //放入数据链标记(效果是仅能看到自己这条链路下的用户)
         listUserReq.setLinkFlag("," + user.getId() + ",");
+
+        //1-分页查询
         IPage iPage = userInfoMapper.selectUserInfoPage(PageUtil.createPage(listUserReq), listUserReq);
         List<UserInfo> records = iPage.getRecords();
+
         //封装出参
         ListUserRes res = new ListUserRes();
         //放入分页信息
@@ -185,17 +229,24 @@ public class UserManagerServiceImpl extends ServiceImpl<UserInfoMapper, UserInfo
         //放入出参列表
         List<ListUserRes.UserInfoBean> eventBeanList = PojoConverterUtils.copyList(records, ListUserRes.UserInfoBean.class);
         res.setUserInfoBeanList(eventBeanList);
+
         return res;
     }
 
+    /**
+     * 启用/停用用户
+     * @param userInfoId
+     */
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void enableUser(Long userInfoId) {
+        //查询用户信息
         UserInfo userInfo = userInfoMapper.selectById(userInfoId);
-        if (ObjectUtil.isNotEmpty(userInfo)) {
-            userInfo.setIsEnable(1 - userInfo.getIsEnable());
-            userInfoMapper.updateById(userInfo);
-        }
+        AssertUtil.isNull(userInfo,"用户不存在");
+
+        //状态反一反。。。
+        userInfo.setIsEnable(1 - userInfo.getIsEnable());
+        userInfoMapper.updateById(userInfo);
     }
 
     @Override

+ 2 - 1
abi-cloud-qr-platform-server/src/main/resources/dao/mapper/UserInfoMapper.xml

@@ -61,7 +61,8 @@
 
     <!--批量启用/停用用户-->
     <update id="batchEnableUser">
-        update user_info set is_enable =#{isEnable}
+        update user_info
+        set is_enable =#{isEnable}
         where id in
         <foreach collection="ids" open="(" close=")" separator="," item="id">
             #{id}

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

@@ -79,7 +79,8 @@
             <if test="role.roleLevel==5">
                 and r.l5_role_code=#{role.roleCode}
             </if>
-            and r.is_enable=1 and r.is_delete=0
+            and r.is_enable=1
+            and r.is_delete=0
         </where>
     </select>