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/SysDepartmentServiceImpl.java
@@ -1,12 +1,24 @@
package com.kidgrow.usercenter.service.impl;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.kidgrow.common.model.ResultBody;
import com.kidgrow.common.model.SysOrganization;
import com.kidgrow.usercenter.model.SysHospital;
import com.kidgrow.usercenter.service.ISysHospitalService;
import com.kidgrow.usercenter.service.ISysOrganizationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.kidgrow.common.model.PageResult;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.kidgrow.common.service.impl.SuperServiceImpl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import org.apache.commons.collections4.MapUtils;
import lombok.extern.slf4j.Slf4j;
@@ -25,6 +37,11 @@
@Slf4j
@Service
public class SysDepartmentServiceImpl extends SuperServiceImpl<SysDepartmentMapper, SysDepartment> implements ISysDepartmentService {
    @Autowired
    private ISysOrganizationService iSysOrganizationService;
    @Autowired
    private ISysHospitalService iSysHospitalService;
    /**
     * 列表
     * @param params
@@ -46,4 +63,29 @@
    public SysDepartment findByObject(SysDepartment sysDepartment){
        return baseMapper.findByObject(sysDepartment);
    }
    @Override
    public ResultBody findAll(Map<String, Object> params) {
        return  ResultBody.ok().data(baseMapper.selectByMap(params));
    }
    @Override
    public ResultBody findListByHospitalId(Map<String, Object> params) {
        //查询组织
        Long id = MapUtils.getLong(params, "id");
        List<SysDepartment> sysDepartments=new ArrayList<>();
        SysHospital byId = iSysHospitalService.getById(id);
        if(byId!=null){
            params=new HashMap<>();
            params.put("org_parent_id",byId.getOrgId());
            List<SysOrganization> sysOrganizations = iSysOrganizationService.listByMap(params);
            if (sysOrganizations.size()>0) {
                List<Long> collect = sysOrganizations.stream().map(e -> e.getId()).collect(Collectors.toList());
                QueryWrapper<SysDepartment> queryWrapper=new QueryWrapper();
                queryWrapper.in("org_id",collect );
                sysDepartments= baseMapper.selectList(queryWrapper);
            }
        }
        return ResultBody.ok().data(sysDepartments);
    }
}