package com.govmade.modules.system.service.impl; import java.util.List; import java.util.Map; import java.util.Set; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.google.common.collect.Lists; import com.govmade.common.utils.PageUtils; import com.govmade.modules.system.dao.AreaDao; import com.govmade.modules.system.entity.AreaEntity; import com.govmade.modules.system.service.AreaService; /** * 系统管理 - 行政区划设置 * * @author 刘弈臻 * @date 2018年8月9日 */ @Service("AreaService") public class AreaServiceImpl extends ServiceImpl<AreaDao,AreaEntity> implements AreaService{ @Override public PageUtils queryPage(Map<String, Object> params) { String name = (String) params.get("name"); List<AreaEntity> list=buildAreaTree(this.baseMapper.listTree(name),0); Page<AreaEntity> page= new Page<AreaEntity>(); page.setRecords(list); return new PageUtils(page); } /** *递归方法 */ private List<AreaEntity> buildAreaTree(List<AreaEntity> list, long id) { List<AreaEntity> aList = Lists.newArrayList(); for (AreaEntity a : list) { if (id == a.getPid()) { a.setChildren(buildAreaTree(list, a.getId())); aList.add(a); } } return aList; } @Override public void save(AreaEntity area) { super.insertOrUpdate(area); } @Override public void deleteBatch(Set<Long> ids) { this.baseMapper.deleteBatch(ids); } @Override public Integer checkArea(String name) { return super.selectCount(new EntityWrapper<AreaEntity>().eq("name",name)); } }