Commit 4bd4eafb authored by 刘弈臻's avatar 刘弈臻

树的模糊查询及分页数据

parent 1c07f07b
...@@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.RequestMapping; ...@@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.govmade.common.utils.PageUtils; import com.govmade.common.utils.PageTreeUtils;
import com.govmade.common.utils.R; import com.govmade.common.utils.R;
import com.govmade.common.validator.Assert; import com.govmade.common.validator.Assert;
import com.govmade.modules.basic.controller.AbstractController; import com.govmade.modules.basic.controller.AbstractController;
...@@ -39,7 +39,7 @@ public class AreaController extends AbstractController{ ...@@ -39,7 +39,7 @@ public class AreaController extends AbstractController{
*/ */
@GetMapping("/listTree") @GetMapping("/listTree")
public R listTree(@RequestParam Map<String, Object> params) { public R listTree(@RequestParam Map<String, Object> params) {
PageUtils page = areaService.queryPage(params); PageTreeUtils page = areaService.queryPage(params);
return R.ok().put("page", page); return R.ok().put("page", page);
} }
......
...@@ -76,7 +76,7 @@ public class DepartController extends AbstractController{ ...@@ -76,7 +76,7 @@ public class DepartController extends AbstractController{
if(this.userService.userCount(depart.getId())>0) { if(this.userService.userCount(depart.getId())>0) {
return R.error("选中部门下有用户!!"); return R.error("选中部门下有用户!!");
} }
departService.deleteBatch(depart); departService.deleteDepart(depart);
return R.ok(); return R.ok();
} }
......
package com.govmade.modules.system.dao; package com.govmade.modules.system.dao;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Set; import java.util.Set;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
...@@ -26,5 +27,5 @@ public interface AreaDao extends BaseMapper<AreaEntity> { ...@@ -26,5 +27,5 @@ public interface AreaDao extends BaseMapper<AreaEntity> {
/** /**
* 查询树形数据 * 查询树形数据
*/ */
List<AreaEntity> listTree(@Param("name") String name); List<AreaEntity> listTree(@Param("params") Map<String, Object> params);
} }
package com.govmade.modules.system.service; package com.govmade.modules.system.service;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import com.baomidou.mybatisplus.service.IService; import com.baomidou.mybatisplus.service.IService;
import com.govmade.common.utils.PageUtils; import com.govmade.common.utils.PageTreeUtils;
import com.govmade.modules.system.entity.AreaEntity; import com.govmade.modules.system.entity.AreaEntity;
/** /**
...@@ -24,7 +23,7 @@ public interface AreaService extends IService<AreaEntity>{ ...@@ -24,7 +23,7 @@ public interface AreaService extends IService<AreaEntity>{
/** /**
* 查看列表 * 查看列表
*/ */
PageUtils queryPage(Map<String, Object> params); PageTreeUtils queryPage(Map<String, Object> params);
/** /**
* 保存或修改行政区划 * 保存或修改行政区划
......
...@@ -28,7 +28,7 @@ public interface DepartService extends IService<DepartEntity>{ ...@@ -28,7 +28,7 @@ public interface DepartService extends IService<DepartEntity>{
/** /**
* 删除部门 * 删除部门
*/ */
void deleteBatch(DepartEntity depart); void deleteDepart(DepartEntity depart);
/** /**
......
...@@ -7,14 +7,15 @@ import java.util.Set; ...@@ -7,14 +7,15 @@ import java.util.Set;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.govmade.common.utils.PageUtils; import com.govmade.common.utils.PageTreeUtils;
import com.govmade.modules.system.dao.AreaDao; import com.govmade.modules.system.dao.AreaDao;
import com.govmade.modules.system.entity.AreaEntity; import com.govmade.modules.system.entity.AreaEntity;
import com.govmade.modules.system.service.AreaService; import com.govmade.modules.system.service.AreaService;
import cn.hutool.core.util.StrUtil;
/** /**
* 系统管理 - 行政区划设置 * 系统管理 - 行政区划设置
* *
...@@ -25,14 +26,19 @@ import com.govmade.modules.system.service.AreaService; ...@@ -25,14 +26,19 @@ import com.govmade.modules.system.service.AreaService;
public class AreaServiceImpl extends ServiceImpl<AreaDao,AreaEntity> implements AreaService{ public class AreaServiceImpl extends ServiceImpl<AreaDao,AreaEntity> implements AreaService{
@Override @Override
public PageUtils queryPage(Map<String, Object> params) { public PageTreeUtils queryPage(Map<String, Object> params) {
String name = (String) params.get("name"); String name = (String) params.get("name");
List<AreaEntity> allList=this.baseMapper.listTree(name); int currPage = Integer.parseInt((String) params.get("currPage"));
List<AreaEntity> list=buildAreaTree(allList,0); int pageSize = Integer.parseInt((String) params.get("pageSize"));
Page<AreaEntity> page= new Page<AreaEntity>(); int start = (currPage-1)*pageSize;
page.setRecords(list); params.put("name2", name);
return new PageUtils(page); params.put("pageSize2", pageSize);
params.put("start", start);
List<AreaEntity> allList=this.baseMapper.listTree(params);
List<AreaEntity> list=buildAreaTree(allList,0L);
int totalCount = super.selectCount(new EntityWrapper<AreaEntity>().like(StrUtil.isNotBlank(name), "name", name)
.eq("pid", 0).eq("state", 1));
return new PageTreeUtils(list,totalCount,pageSize,currPage);
} }
...@@ -40,13 +46,13 @@ public class AreaServiceImpl extends ServiceImpl<AreaDao,AreaEntity> implements ...@@ -40,13 +46,13 @@ public class AreaServiceImpl extends ServiceImpl<AreaDao,AreaEntity> implements
/** /**
*递归方法 *递归方法
*/ */
private List<AreaEntity> buildAreaTree(List<AreaEntity> list, long id) { private List<AreaEntity> buildAreaTree(List<AreaEntity> areaList, Long id) {
List<AreaEntity> aList = Lists.newArrayList(); List<AreaEntity> aList = Lists.newArrayList();
for (AreaEntity a : list) { for (AreaEntity area : areaList) {
if (id == a.getPid()) { if (id == area.getPid()) {
a.setChildren(buildAreaTree(list, a.getId())); area.setChildren(buildAreaTree(areaList, area.getId()));
aList.add(a); aList.add(area);
} }
} }
return aList; return aList;
......
...@@ -44,7 +44,7 @@ public class DepartServiceImpl extends ServiceImpl<DepartDao,DepartEntity> imple ...@@ -44,7 +44,7 @@ public class DepartServiceImpl extends ServiceImpl<DepartDao,DepartEntity> imple
} }
@Override @Override
public void deleteBatch(DepartEntity depart) { public void deleteDepart(DepartEntity depart) {
depart.setState(Constant.STATE_DELETE); depart.setState(Constant.STATE_DELETE);
super.updateById(depart); super.updateById(depart);
} }
......
...@@ -19,21 +19,22 @@ ...@@ -19,21 +19,22 @@
SELECT id AS id2 FROM system_areas SELECT id AS id2 FROM system_areas
WHERE WHERE
pid = 0 pid = 0
<if test="name != null and name !=''"> AND state =1
AND NAME LIKE CONCAT('%',#{name},'%') <if test="params.name2 != null and params.name2 !=''">
AND NAME LIKE CONCAT('%',#{params.name2},'%')
</if> </if>
LIMIT #{params.start},#{params.pageSize2}
LIMIT 10 ) AS t2 ON t.root_id = t2.id2 AND t.state=1
) AS t2 ON t.root_id = t2.id2
UNION ALL(SELECT *, 0 AS id2 FROM system_areas UNION ALL(SELECT *, 0 AS id2 FROM system_areas
WHERE WHERE
pid = 0 pid = 0
<if test="name != null and name !=''"> AND state =1
AND NAME LIKE CONCAT('%',#{name},'%') <if test="params.name2 != null and params.name2 !=''">
AND NAME LIKE CONCAT('%',#{params.name2},'%')
</if> </if>
LIMIT 10 LIMIT #{params.start},#{params.pageSize2}
) )
ORDER BY id ORDER BY id
</select> </select>
</mapper> </mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment