package com.dy.pipIrrBase.district; import com.dy.pipIrrGlobal.daoBa.BaDistrictMapper; import com.dy.pipIrrGlobal.pojoBa.BaDistrict; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; @Slf4j @Service public class DistrictSv { private BaDistrictMapper dao; @Autowired private void setDao(BaDistrictMapper dao){ this.dao = dao; } /** * 从第一级行政区划开始,得到所有行政区划信息 * @param firstLevel 第一级行下区 level * @return 所有行政区划集合 */ public List selectAllByLevel(byte firstLevel){ List list = this.dao.selectByLevel(firstLevel) ; if(list != null && list.size() > 0){ for(BaDistrict po : list){ getSubDistrict(po) ; } } return list ; } /** * 得到一个行政区 * @param id 行政区ID * @return 行政区实体 */ public BaDistrict selectById(Long id){ return this.dao.selectByPrimaryKey(id) ; } /** * 保存实体 * @param po 实体 * @return 数量 */ @Transactional public int save(BaDistrict po){ return this.dao.insert(po) ; } /** * 保存修改实体 * @param po 实体 * @return 数量 */ @Transactional public int update(BaDistrict po){ return this.dao.updateByPrimaryKeySelective(po) ; } /** * 保存修改实体 * @param id 实体ID * @return 数量 */ @Transactional public int delete(Long id){ return this.dao.deleteLogicById(id) ; } /** * 得到下级行政区划 * @param po 上级行政区划 */ private void getSubDistrict(BaDistrict po){ if(po != null && po.id != null){ po.subDistricts = this.dao.selectBySupperId(po.id) ; if(po.subDistricts != null && po.subDistricts.size() > 0){ for(BaDistrict subPo : po.subDistricts){ getSubDistrict(subPo) ; } } } } }