当前位置: 首页 > news >正文

广东网站建设微信官网开发无锡seo管理

广东网站建设微信官网开发,无锡seo管理,网络营销的推广手段,一般网站建设好多久被收录这里写自定义目录标题 需要实现的效果前端需要的json格式#xff1a;一定是一个完整的树结构错误错误的返回格式错误的返回格式实现的效果 正确正确的返回格式正确的展示画面 后端逻辑分析代码总览 数据库表结构 需要实现的效果 前端需要的json格式#xff1a;一定是一个完整… 这里写自定义目录标题 需要实现的效果前端需要的json格式一定是一个完整的树结构错误错误的返回格式错误的返回格式实现的效果 正确正确的返回格式正确的展示画面 后端逻辑分析代码总览 数据库表结构 需要实现的效果 前端需要的json格式一定是一个完整的树结构 错误 错误的返回格式 错误的返回格式实现的效果 正确 正确的返回格式 正确的展示画面 后端 逻辑分析 1. 根据搜索条件查出符合的数据 ListReproductiveCycleInfo list reproductiveCycleInfoMapper.selectReproductiveCycleInfoList(reproductiveCycleInfo);这一步不能直接返回给前端的因为前端的组件是需要完整的一个树结构。 从图中可以看到我们 id in(70,71,72)的父节点 id 17 没有找到所以 这就不是一个完整的树结构。 2. 符合的数据里面我们需要发现还需要找到几个父节点数据 // parentId 0表示他已经没有父节点了 SetLong collect list.stream().filter(x - x.getParentId() ! 0).map(ReproductiveCycleInfo::getParentId).collect(Collectors.toSet());3. 开始找父节点的信息 if (StringUtils.isNotEmpty(collect)) {for (Long x : collect) {getParentInfoByParentId(x, list);}}3.1 根据节点的id找到节点 /*** 根据节点id找出节点并添加到结果集里面** param nodeId 当前需要找的节点id* param list 返回的结果集*/private void getNodeByParentId(Long nodeId, ListReproductiveCycleInfo list) {// 1. 如果当前需要找的节点if (nodeId ! 0) {// 2. 为了避免父节点也已经出现在 所有的节点信息 里面// 2.1 找出当前所有的节点信息ListLong ids list.stream().map(ReproductiveCycleInfo::getId).collect(Collectors.toList());// 2.2 当前所有的节点信息不包含当前需要找的节点if (!ids.contains(nodeId)) {// 3. 从数据库里面根据父节点的id找到父节点信息ReproductiveCycleInfo one reproductiveCycleInfoMapper.selectReproductiveCycleInfoById(nodeId);// 4. 把当前节点放到所有节点里面list.add(one);// 5. 如果当前节点还存在父节点if (one.getParentId() ! 0) {// 6. 递归去找父节点信息getNodeByParentId(one.getParentId(), list);}}}}以找17节点为例子 代码总览 从这里也可以看出我这里其实代码已经有逻辑耦合了。毕竟 node ! 0 判断了两次了这其实没必要。还可以优化一下。 Overridepublic ListReproductiveCycleInfo selectReproductiveCycleInfoListByName(ReproductiveCycleInfoDto reproductiveCycleInfo) {ListReproductiveCycleInfo list reproductiveCycleInfoMapper.selectReproductiveCycleInfoList(reproductiveCycleInfo);SetLong collect list.stream().filter(x - x.getParentId() ! 0).map(ReproductiveCycleInfo::getParentId).collect(Collectors.toSet());if (StringUtils.isNotEmpty(collect)) {for (Long x : collect) {getNodeByParentId(x, list);}}return list;}/*** 根据节点id找出节点并添加到结果集里面** param nodeId 当前需要找的节点id* param list 返回的结果集*/private void getNodeByParentId(Long nodeId, ListReproductiveCycleInfo list) {// 1. 如果当前需要找的节点if (nodeId ! 0) {// 2. 为了避免父节点也已经出现在 所有的节点信息 里面// 2.1 找出当前所有的节点信息ListLong ids list.stream().map(ReproductiveCycleInfo::getId).collect(Collectors.toList());// 2.2 当前所有的节点信息不包含当前需要找的节点if (!ids.contains(nodeId)) {// 3. 从数据库里面根据父节点的id找到父节点信息ReproductiveCycleInfo one reproductiveCycleInfoMapper.selectReproductiveCycleInfoById(nodeId);// 4. 把当前节点放到所有节点里面list.add(one);// 5. 如果当前节点还存在父节点if (one.getParentId() ! 0) {// 6. 递归去找父节点信息getNodeByParentId(one.getParentId(), list);}}}}数据库表结构 起码得满足有这些极端并约定 parentId 0 是表示是首节点了.
http://www.dnsts.com.cn/news/153768.html

相关文章:

  • 谷歌站长平台wordpress主题支持分页
  • 公司网站建设策划书怎样用源代码做网站
  • 做网站必须注册的商标在阿里云建设一个网站的全流程
  • 网站建设要求报告免费网站建设域名
  • 网站建设经验会议讲话稿正规网站建设学习网公司哪家好
  • 东乡做网站注册一家公司需要多少钱
  • 论坛网站建设软件网页美术设计主要学什么
  • 西安市干部教育网站建设微信seo什么意思
  • 怎么做站旅游网站上泡到妞郑州网站建设及托管
  • pc网站是什么哪个网页设计培训机构好
  • 做网站需要找什么客户西安哪里做网站
  • 网站优化试卷给手机做网站的公司
  • 做网站ps分辨率给多少钱wordpress用户前台
  • 计算机网站建设维护的目的轻量级WordPress
  • 网站架设流程凡科互动小游戏
  • 郑州微网站建设公司名字注册查询
  • 网站建设要实现的目标网站开发工程师绩效
  • 创建网站收费wordpress破解论坛主题
  • 咸阳做企业网站现在写博客还是做网站
  • 学校html网站模板厦门企业网站制作
  • 英语故事网站建设网站开发 请示
  • 网站前台登录模板公司网站建设需要什么资质
  • 何炅做的网站广告济南泰安网站建设公司
  • 苏州工业园区劳动局网站做不了合同域名解析查询工具
  • 做公益网站需要什么资质接广告的网站
  • 手机网站导航页彩票网站给实体店做代销
  • 阿克苏建设局网站网页美工素材
  • 中英互译网站怎么做it运维需要具备哪些能力
  • 个人备案网站能用公司新网域名注册
  • 最火爆的国际贸易网站提供网站推广公司电话