Browse Source

获取团队成员接口更新-可以通过角色编码获取指定角色信息

黄远 5 years ago
parent
commit
0e52bfb5f0

+ 1 - 1
lift-system-service/src/main/java/cn/com/ty/lift/system/user/controller/MtCompanyUserController.java

@@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.RestController;
  * @description 企业设置
  */
 @RestController
-@RequestMapping("/companyUser")
+@RequestMapping("/companyuser")
 public class MtCompanyUserController {
 
     @Autowired

+ 1 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/dao/entity/model/MtCompanyUserRequest.java

@@ -13,6 +13,7 @@ public class MtCompanyUserRequest {
     private Long companyId;//公司id
     private Long userId;//用户id
     private Long roleId;//角色id
+    private String roleCode;//角色编码
     private Long pageSize;//每页条数
     private Long pageNum;//页数
 }

+ 33 - 20
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/MtCompanyUserService.java

@@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -79,25 +80,37 @@ public class MtCompanyUserService extends ServiceImpl<MtCompanyUserMapper, MtCom
     @Override
     public RestResponse getCompanyMembers(MtCompanyUserRequest mtCompanyUserRequest) {
         List<UserResponse> userResponseList = new ArrayList<>();
-        List<MtCompanyUser> mtCompanyUserList = this.list(new QueryWrapper<MtCompanyUser>()
-                .eq("mt_company_id", mtCompanyUserRequest.getCompanyId()));
-        if (mtCompanyUserList != null && mtCompanyUserList.size() > 0) {
-            //获取用户id集合
-            List<Long> userIdList = ProjectUtils.getAttrList(mtCompanyUserList, "userId", null);
-            //获取用户信息集合
-            List<UserInfo> userInfoList = (List<UserInfo>) userInfoService.listByIds(userIdList);
-            Map<Long, UserInfo> userIdToUserInfo = ProjectUtils.attrToObjMap(userInfoList, "userId", null);
-            if (userIdToUserInfo != null && userIdToUserInfo.size() > 0) {
-                for (Long userId : userIdList) {
-                    //封装用户信息
-                    UserResponse userResponse = new UserResponse();
-                    userResponse.setUserId(userId);
-                    UserInfo userInfo = userIdToUserInfo.get(userId);
-                    if (userInfo != null) {
-                        userResponse.setName(userInfo.getName());
-                    }
-                    userResponseList.add(userResponse);
+        Long roleId = null;
+        //如果角色编码不为空,则是获取指定公司指定角色的信息,如果角色编码为空则是获取所有成员信息
+        if (StringUtils.isNotBlank(mtCompanyUserRequest.getRoleCode())) {
+            Role role = roleService.getOne(new QueryWrapper<Role>()
+                    .eq("company_id", mtCompanyUserRequest.getCompanyId())
+            );
+            //如果角色不存在则无用户可以获取
+            if (role != null) {
+                roleId = -1L;
+            }
+        }
+        //获取公司下角色信息关联信息
+        List<UserRole> userRoleList = userRoleService.list(new QueryWrapper<UserRole>()
+                .eq(roleId != null, "role_id", roleId)
+                .eq("company_id", mtCompanyUserRequest.getCompanyId())
+        );
+        //获取角色关联的用户信息
+        List<Long> userIdList = ProjectUtils.getAttrList(userRoleList, "userId", null);
+        //获取用户信息集合
+        List<UserInfo> userInfoList = (List<UserInfo>) userInfoService.listByIds(userIdList);
+        Map<Long, UserInfo> userIdToUserInfo = ProjectUtils.attrToObjMap(userInfoList, "userId", null);
+        if (userIdToUserInfo != null && userIdToUserInfo.size() > 0) {
+            for (Long userId : userIdList) {
+                //封装用户信息
+                UserResponse userResponse = new UserResponse();
+                userResponse.setUserId(userId);
+                UserInfo userInfo = userIdToUserInfo.get(userId);
+                if (userInfo != null) {
+                    userResponse.setName(userInfo.getName());
                 }
+                userResponseList.add(userResponse);
             }
         }
         return RestResponse.ok(userResponseList, ApiConstants.RESULT_SUCCESS, "获取团队用户成功");
@@ -160,13 +173,13 @@ public class MtCompanyUserService extends ServiceImpl<MtCompanyUserMapper, MtCom
                 }
                 //设置公司用户角色名称
                 Role role = userIdToRole.get(mtCompanyUser.getUserId());
-                if(role != null){
+                if (role != null) {
                     mtCompanyUserResponse.setRoleName(role.getName());
                 }
 
                 //设置用户操作证状态 0:无证,1:待审核,2:审核未通过,3:审核通过,4:超期
                 LiftCertificate liftCertificate = userIdToLiftCertificate.get(mtCompanyUser.getUserId());
-                if(liftCertificate != null){
+                if (liftCertificate != null) {
                     mtCompanyUserResponse.setCertificateStatus(liftCertificate.getStatus());
                 }
                 mtCompanyUserResponseList.add(mtCompanyUserResponse);