package com.moral.service.impl;
|
|
import static com.moral.common.bean.Constants.IS_DELETE_FALSE;
|
|
import java.util.HashSet;
|
import java.util.List;
|
import java.util.Set;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.stereotype.Service;
|
|
import com.moral.entity.Organization;
|
import com.moral.entity.OrganizationRelation;
|
import com.moral.mapper.OrganizationMapper;
|
import com.moral.mapper.OrganizationRelationMapper;
|
import com.moral.service.OrganizationService;
|
|
@Service
|
public class OrganizationServiceImpl implements OrganizationService {
|
|
@Resource
|
private OrganizationMapper organizationMapper;
|
|
@Resource
|
private OrganizationRelationMapper organizationRelationMapper;
|
|
@Override
|
public Set<Integer> getChildOrganizationIds(Integer orgId){
|
Set<Integer> orgIds = new HashSet<Integer>();
|
orgIds.add(orgId);
|
OrganizationRelation relation = new OrganizationRelation();
|
relation.setParentId(orgId);
|
Organization organization = organizationMapper.selectByPrimaryKey(orgId);
|
if (IS_DELETE_FALSE.equals(organization.getIsDelete())) {
|
List<OrganizationRelation> organizationRelations = organizationRelationMapper.select(relation);
|
for (OrganizationRelation organizationRelation : organizationRelations) {
|
Set<Integer> organizationIds = getChildOrganizationIds(organizationRelation.getParentId());
|
orgIds.addAll(organizationIds);
|
}
|
}
|
return orgIds;
|
}
|
|
@Override
|
public List<Organization> getOrganizationsByAreaName(String areaName) {
|
List<Organization> organizations = organizationMapper.getOrganizationsByAreaName(areaName);
|
return organizations;
|
}
|
|
}
|