一、图示:
二、这里是前后端分离,懒加载需要前端配合,后端根据主节点的id或者父id来查询下一级并返回是否有子节点的标识,前端根据标识是否判断发送请求
@RestController
@RequestMapping("sysSellarea")
public class SysSellareaController{
@ApiOperation(value = "懒加载查找所有销售区域")
@GetMapping("/lazySysSellarea")
public Result lazySysSellarea(String id) {
return ResultGenerator.genSuccessResult(service.lazySysSellarea(id));
}
}
@Service
@Transactional
public class SysSellareaServiceImpl{
@Override
public List<SysSellarea> lazySysSellarea(String id) {
try {
if (StringUtils.isEmpty(id)) {
id = "0";
}
List<SysSellarea> sysSellareaList = dao.selectListByParentId(id);
return sysSellareaList;
} catch (Exception e) {
e.printStackTrace();
throw new BaseSystemException(SELLAREA_NOT_FIND.getCode(), SELLAREA_NOT_FIND.getMsg());
}
}
}
<select id="selectListByParentId" resultType="com.joyoung.cloud.security.common.entity.system.SysSellarea">
SELECT
<include refid="Sellarea_param"/>,
EXISTS (SELECT id FROM sys_sellarea WHERE parent_id = ssa.id AND del_flag = 0) AS hasChildren
FROM sys_sellarea ssa WHERE ssa.del_flag = 0 AND ssa.parent_id = #{parentId}
</select>