forked from kidgrow-microservices-platform

zhaoxiaohao
2020-04-10 cba67280f021ea732581829c472a703a1e303824
kidgrow-business/kidgrow-usercenter/kidgrow-usercenter-biz/src/main/java/com/kidgrow/usercenter/service/impl/SysUserServiceImpl.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kidgrow.common.constant.CommonConstant;
import com.kidgrow.common.constant.SecurityConstants;
import com.kidgrow.common.context.ClientContextHolder;
import com.kidgrow.common.lock.DistributedLock;
import com.kidgrow.common.model.*;
@@ -14,11 +15,13 @@
import com.kidgrow.usercenter.model.SysUserExcel;
import com.kidgrow.usercenter.service.ISysOrganizationService;
import com.kidgrow.usercenter.service.ISysRoleUserService;
import com.kidgrow.usercenter.service.ISysUserOrgService;
import com.kidgrow.usercenter.service.ISysUserService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.hibernate.validator.constraints.NotBlank;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.password.PasswordEncoder;
@@ -27,6 +30,7 @@
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.*;
import java.util.stream.Collectors;
@@ -54,6 +58,8 @@
    @Autowired
    private ISysOrganizationService organizationService;
    @Autowired
    private ISysUserOrgService iSysUserOrgService;
@@ -285,4 +291,35 @@
        List<SysUser> sysUsers = baseMapper.selectByMap(map);
        return ResultBody.ok().data(sysUsers).msg("操作成功");
    }
    /**
     * 获取当前用的 组织下的所有人员
     * @param request
     * @return
     */
    @Override
    public ResultBody getThisUserOrganizationUser(HttpServletRequest request) {
        String id = request.getHeader(SecurityConstants.USER_ID_HEADER);
        List<SysUser> sysUsers=new ArrayList<>();
        if(StringUtils.isNotBlank(id)){
            QueryWrapper<SysUserOrg> queryWrapper=new QueryWrapper();
            queryWrapper.eq("user_id",id);
            List<SysUserOrg> list = iSysUserOrgService.list(queryWrapper);
            if(list.size()>0){
                List<Long> collect = list.stream().map(e -> e.getOrgId()).collect(Collectors.toList());
                if (collect.size()>0) {
                    queryWrapper=new QueryWrapper<>();
                    queryWrapper.in("org_id",collect);
                    List<SysUserOrg> sysUserOrgs = iSysUserOrgService.list(queryWrapper);
                    List<Long> userIds = sysUserOrgs.stream().map(e -> e.getUserId()).collect(Collectors.toList());
                    QueryWrapper<SysUser> sysUserQueryWrapper=new QueryWrapper();
                    sysUserQueryWrapper.in("id",userIds);
                    sysUsers= baseMapper.selectList(sysUserQueryWrapper);
                }
            }
        }else {
            return ResultBody.failed("暂无数据");
        }
        return ResultBody.ok().data(sysUsers);
    }
}