Browse Source

获取组织成员列表

xda 3 years ago
parent
commit
99335593d4

+ 8 - 2
src/main/java/com/winhc/repal/controller/RepalGroupController.java

@@ -2,7 +2,10 @@ package com.winhc.repal.controller;
 
 import com.winhc.common.base.BeanResponse;
 import com.winhc.common.enums.CodeMsg;
+import com.winhc.common.model.base.VOPage;
 import com.winhc.repal.model.dto.InitGroupDTO;
+import com.winhc.repal.model.dto.PageDTO;
+import com.winhc.repal.model.vo.GroupMemberVo;
 import com.winhc.repal.service.RepalGroupService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -32,8 +35,11 @@ public class RepalGroupController {
         return BeanResponse.success(CodeMsg.SUCCESS, repalGroupService.initGroup(dto));
     }
 
-    //@ApiOperation("")
-
+    @ApiOperation("获取当前组织内人员列表")
+    @RequestMapping(value = "/member", method = RequestMethod.GET)
+    public BeanResponse<VOPage<GroupMemberVo>> getGroupMemberList(PageDTO dto) {
+        return BeanResponse.success(CodeMsg.SUCCESS, repalGroupService.getGroupMemberList(dto));
+    }
 
 
 }

+ 1 - 1
src/main/java/com/winhc/repal/model/dto/AddRepalBillDTO.java

@@ -45,7 +45,7 @@ public class AddRepalBillDTO {
     @ApiModelProperty(value = "合同name")
     private String contractName;
 
-    @ApiModelProperty("负责人idList")
+    @ApiModelProperty(value = "负责人idList", required = true)
     private List<Long> responsiblePersonIdList;
 
     @ApiModelProperty(value = "合同到期日期string")

+ 3 - 0
src/main/java/com/winhc/repal/model/dto/InitGroupDTO.java

@@ -19,6 +19,9 @@ public class InitGroupDTO {
     @ApiModelProperty("组织name")
     private String groupName;
 
+    @ApiModelProperty("用户name")
+    private String userName;
+
     @ApiModelProperty("组织信息json")
     private String groupExt;
 }

+ 26 - 0
src/main/java/com/winhc/repal/model/vo/GroupMemberVo.java

@@ -0,0 +1,26 @@
+package com.winhc.repal.model.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @Description: GroupMemberVo
+ * @Author: xda
+ * @Date: 2022/5/7 14:25
+ */
+@Data
+@ApiModel("组织成员")
+@AllArgsConstructor
+@NoArgsConstructor
+public class GroupMemberVo {
+
+    @ApiModelProperty("组织成员id")
+    private Long userId;
+
+    @ApiModelProperty("成员name")
+    private String memberUserName;
+
+}

+ 2 - 1
src/main/java/com/winhc/repal/service/RepalGroupMemberService.java

@@ -23,6 +23,7 @@ public interface RepalGroupMemberService extends IService<RepalGroupMember> {
     /**
      * 添加组织成员
      * @param userId userId
+     * @param userName userName
      * @param groupId groupId
      * @param roleId roleId
      * @param roleType roleType
@@ -30,6 +31,6 @@ public interface RepalGroupMemberService extends IService<RepalGroupMember> {
      * @author xda
      * @date 2022/5/6 14:25
      */
-    Boolean addGroupMember(Long userId, Long groupId, Long roleId, Integer roleType);
+    Boolean addGroupMember(Long userId, String userName, Long groupId, Long roleId, Integer roleType);
 
 }

+ 13 - 0
src/main/java/com/winhc/repal/service/RepalGroupService.java

@@ -1,8 +1,11 @@
 package com.winhc.repal.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.winhc.common.model.base.VOPage;
 import com.winhc.repal.entity.RepalGroup;
 import com.winhc.repal.model.dto.InitGroupDTO;
+import com.winhc.repal.model.dto.PageDTO;
+import com.winhc.repal.model.vo.GroupMemberVo;
 
 
 /**
@@ -22,4 +25,14 @@ public interface RepalGroupService extends IService<RepalGroup> {
      */
     Boolean initGroup(InitGroupDTO dto);
 
+
+    /**
+     * 获取组织成员列表
+     * @param dto dto
+     * @return com.winhc.common.model.base.VOPage<com.winhc.repal.model.vo.GroupMemberVo>
+     * @author xda
+     * @date 2022/5/7 14:30
+     */
+    VOPage<GroupMemberVo> getGroupMemberList(PageDTO dto);
+
 }

+ 2 - 4
src/main/java/com/winhc/repal/service/impl/RepalGroupMemberServiceImpl.java

@@ -5,7 +5,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.winhc.common.enums.CodeMsg;
 import com.winhc.common.exception.CommonException;
 import com.winhc.repal.entity.RepalGroupMember;
-import com.winhc.repal.entity.UserExt;
 import com.winhc.repal.enums.DeletedStatusEnum;
 import com.winhc.repal.repository.RepalGroupMemberMapper;
 import com.winhc.repal.service.RepalGroupMemberService;
@@ -38,11 +37,10 @@ public class RepalGroupMemberServiceImpl extends ServiceImpl<RepalGroupMemberMap
     }
 
     @Override
-    public Boolean addGroupMember(Long userId, Long groupId, Long roleId, Integer roleType) {
-        UserExt userExt = userExtService.getById(userId);
+    public Boolean addGroupMember(Long userId, String userName, Long groupId, Long roleId, Integer roleType) {
         RepalGroupMember member = new RepalGroupMember();
         member.setRepalGroupId(groupId);
-        member.setMemberUserName(userExt.getUserName());
+        member.setMemberUserName(userName);
         member.setUserId(userId);
         member.setRoleId(roleId);
         member.setRoleType(roleType);

+ 28 - 1
src/main/java/com/winhc/repal/service/impl/RepalGroupServiceImpl.java

@@ -1,22 +1,30 @@
 package com.winhc.repal.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.winhc.common.model.base.VOPage;
 import com.winhc.repal.entity.RepalGroup;
 import com.winhc.repal.entity.RepalGroupMember;
 import com.winhc.repal.enums.DeletedStatusEnum;
 import com.winhc.repal.enums.RoleTypeEnum;
 import com.winhc.repal.model.dto.InitGroupDTO;
+import com.winhc.repal.model.dto.PageDTO;
+import com.winhc.repal.model.vo.GroupMemberVo;
 import com.winhc.repal.repository.RepalGroupMapper;
 import com.winhc.repal.service.RepalGroupMemberService;
 import com.winhc.repal.service.RepalGroupService;
+import com.winhc.repal.util.UserContextUtil;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.Objects;
+import java.util.stream.Collectors;
 
 /**
  * @description RepalGroup 接口实现类
@@ -51,8 +59,27 @@ public class RepalGroupServiceImpl extends ServiceImpl<RepalGroupMapper, RepalGr
             repalGroup.setUserId(dto.getUserId());
             repalGroup.setGroupExt(dto.getGroupExt());
             this.save(repalGroup);
-            repalGroupMemberService.addGroupMember(dto.getUserId(), repalGroup.getId(), 1L, RoleTypeEnum.SYSTEM.getCode());
+            repalGroupMemberService.addGroupMember(dto.getUserId(), dto.getUserName(), repalGroup.getId(), 1L, RoleTypeEnum.SYSTEM.getCode());
         }
         return true;
     }
+
+    @Override
+    public VOPage<GroupMemberVo> getGroupMemberList(PageDTO dto) {
+        VOPage<GroupMemberVo> voPage = new VOPage<>();
+        voPage.setPageSize(dto.getPageSize());
+        voPage.setPageNum(dto.getPageNum());
+        Page<RepalGroupMember> page = new Page<>(dto.getPageNum(), dto.getPageSize());
+        page = repalGroupMemberService.page(page, Wrappers.lambdaQuery(RepalGroupMember.class)
+                .eq(RepalGroupMember::getRepalGroupId, repalGroupMemberService.getUserGroupId(UserContextUtil.getUser().getUserId()))
+                .eq(RepalGroupMember::getDeleted, DeletedStatusEnum.NORMAL.getCode()));
+        voPage.setTotalPage(Math.toIntExact(page.getPages()));
+        voPage.setTotalNum(page.getTotal());
+        if (CollUtil.isEmpty(page.getRecords())) {
+            voPage.setDataList(new ArrayList<>());
+            return voPage;
+        }
+        voPage.setDataList(page.getRecords().stream().map(t -> new GroupMemberVo(t.getUserId(), t.getMemberUserName())).collect(Collectors.toList()));
+        return voPage;
+    }
 }