Browse Source

add:机构下人员查询

caozixuan 3 năm trước cách đây
mục cha
commit
e819732c34

+ 13 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/dto/OrgDto.java

@@ -2,6 +2,8 @@ package com.qmth.teachcloud.common.bean.dto;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.teachcloud.common.bean.result.SysUserResult;
+import com.qmth.teachcloud.common.config.DictionaryConfig;
 import com.qmth.teachcloud.common.enums.OrgTypeEnum;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -29,6 +31,9 @@ public class OrgDto {
 
     private List<OrgDto> children = new ArrayList<>();
 
+    @ApiModelProperty(value = "机构下系统用户")
+    private List<SysUserResult> sysUserList;
+
     @ApiModelProperty(value = "校区id")
     @JsonSerialize(using = ToStringSerializer.class)
     private Long campusId;
@@ -126,4 +131,12 @@ public class OrgDto {
     public void setChildren(List<OrgDto> children) {
         this.children = children;
     }
+
+    public List<SysUserResult> getSysUserList() {
+        return sysUserList;
+    }
+
+    public void setSysUserList(List<SysUserResult> sysUserList) {
+        this.sysUserList = sysUserList;
+    }
 }

+ 49 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/result/SysUserResult.java

@@ -0,0 +1,49 @@
+package com.qmth.teachcloud.common.bean.result;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.io.Serializable;
+
+/**
+ * @Description: 机构下用户查询返回
+ * @Author: CaoZixuan
+ * @Date: 2022-02-23
+ */
+public class SysUserResult implements Serializable {
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty(value = "用户id")
+    private Long id;
+
+    @ApiModelProperty(value = "用户真实姓名")
+    private String realName;
+
+    @ApiModelProperty(value = "电话号码")
+    private String mobileNumber;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getRealName() {
+        return realName;
+    }
+
+    public void setRealName(String realName) {
+        this.realName = realName;
+    }
+
+    public String getMobileNumber() {
+        return mobileNumber;
+    }
+
+    public void setMobileNumber(String mobileNumber) {
+        this.mobileNumber = mobileNumber;
+    }
+}

+ 17 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/SysOrgServiceImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.boot.api.exception.ApiException;
 import com.qmth.teachcloud.common.bean.dto.OrgDto;
 import com.qmth.teachcloud.common.bean.params.UserSaveParams;
+import com.qmth.teachcloud.common.bean.result.SysUserResult;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.entity.BasicCampus;
 import com.qmth.teachcloud.common.entity.SysOrg;
@@ -20,6 +21,7 @@ import com.qmth.teachcloud.common.service.*;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.dao.DuplicateKeyException;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -28,6 +30,7 @@ import javax.annotation.Resource;
 import java.util.*;
 import java.util.function.Function;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * <p>
@@ -59,7 +62,20 @@ public class SysOrgServiceImpl extends ServiceImpl<SysOrgMapper, SysOrg> impleme
     public List<OrgDto> listOrgTree() {
         Long schoolId = Long.valueOf(ServletUtil.getRequestHeaderSchoolId().toString());
         List<OrgDto> orgList = this.listOrgAll(schoolId);
-        Map<Long, OrgDto> map = orgList.stream().collect(Collectors.toMap(OrgDto::getId, Function.identity(), (dto1, dto2) -> dto1));
+        Map<Long, OrgDto> map = orgList.stream()
+                .peek(e -> {
+                    // 加入机构下所有人员查询
+                    List<SysUser> sysUserList = sysUserService.list(new QueryWrapper<SysUser>().lambda()
+                            .eq(SysUser::getSchoolId,schoolId)
+                            .eq(SysUser::getOrgId,e.getId()));
+
+                    e.setSysUserList(sysUserList.stream().flatMap(f -> {
+                        SysUserResult sysUserResult = new SysUserResult();
+                        BeanUtils.copyProperties(f,sysUserResult);
+                        return Stream.of(sysUserResult);
+                    }).collect(Collectors.toList()));
+                })
+                .collect(Collectors.toMap(OrgDto::getId, Function.identity(), (dto1, dto2) -> dto1));
 
         Iterator<Long> iterator = map.keySet().iterator();
         Set<Long> deleteKeys = new HashSet<>();