java 递归
package com.j1.soa.resource.cms.service.oracle; import com.j1.base.dto.ServiceMessage; import com.j1.cms.model.EcHomePageTab; import com.j1.cms.model.EcHomePageTemplate; import com.j1.cms.model.EcHomePageTemplateItem; import com.j1.cms.model.EcTemolateItem; import com.j1.item.model.Goods; import com.j1.soa.common.service.BaseServiceImpl; import com.j1.soa.resource.cms.api.EcHomePageTempLateService; import com.j1.soa.resource.cms.dao.oracle.EcHomePageTempLateMapper; import org.springframework.beans.factory.annotation.Autowired; import java.util.ArrayList; import java.util.List; /** * Created by wangchuanfu on 17/5/20. */ public class EcHomePageTempLateServiceImpl extends BaseServiceImpl implements EcHomePageTempLateService { @Autowired private EcHomePageTempLateMapper ecHomePageTempLateMapper; public ServiceMessage<EcHomePageTab> getTableListById( Integer tabId) { try{ if(tabId ==null){ return super.returnParamsError("param is null"); } /** * 根据tabId 查询对应的tab */ EcHomePageTab ecHomePageTab= new EcHomePageTab(); ecHomePageTab.setTabId(tabId); //查看tab下有无模板数据 List<EcHomePageTemplate> templateList = ecHomePageTempLateMapper.queryAdList(tabId); if(templateList != null && templateList.size() > 0){ for (EcHomePageTemplate template : templateList){ //查询tab下的模板数据,父级数据 EcHomePageTemplateItem item = new EcHomePageTemplateItem(); item.setTabId(tabId); item.setTemplateTypeId(template.getTemplateTypeId()); item.setParentId(0); /*List<EcHomePageTemplateItem> itemList = ecHomePageTempLateMapper.queryTemplateItemList(item); List<EcHomePageTemplateItem> childItemList = new ArrayList<EcHomePageTemplateItem>(); if(itemList != null && itemList.size() > 0) { for (EcHomePageTemplateItem teplate : itemList) { //查看父级下面有没有子集数据 item.setParentId(teplate.getTemplateId()); childItemList = ecHomePageTempLateMapper.queryTemplateItemList(item); teplate.setSubItemList(childItemList); } template.setItemList(itemList); }*/ List<EcHomePageTemplateItem> itemList =getItemList(item); if(itemList != null && itemList.size() > 0){ template.setItemList(itemList); } } ecHomePageTab.setTemplateList(templateList); }else{ return super.returnNoResult("not result"); } return super.returnCorrectResult("search is success!", ecHomePageTab); }catch(Exception e){ return super.returnException(e); } } private List<EcHomePageTemplateItem> getItemList(EcHomePageTemplateItem item){ List<EcHomePageTemplateItem> itemList = ecHomePageTempLateMapper.queryTemplateItemList(item); List<EcHomePageTemplateItem> childItemList = new ArrayList<EcHomePageTemplateItem>(); if(itemList != null && itemList.size() > 0) { for (EcHomePageTemplateItem teplate : itemList) { //如果配置的链接类型为商品编码,前台则需要取linkValueSupplement //查看父级下面有没有子集数据 item.setParentId(teplate.getTemplateItemId()); childItemList = getItemList(item); if(childItemList != null && childItemList.size() > 0){ teplate.setSubItemList(childItemList); } } } return itemList; } /** * 查询tab信息 * @return */ @Override public ServiceMessage<List<EcHomePageTab>> queryTable() { try{ List<EcHomePageTab> tabs= ecHomePageTempLateMapper.queryTable(); if(tabs.size()>0|| tabs!=null){ return super.returnCorrectResult("success!", tabs); }else{ return super.returnNoResult("not result"); } }catch(Exception e){ return super.returnException(e); } } }
java 递归的更多相关文章
- Java递归列出目录下全部文件
Java递归列出目录下全部文件 /** * 列出指定目录的全部内容 * */ import java.io.*; class hello{ public static void main(String ...
- Java 递归调用 recursive 给一个参数 返回一大堆
需求: 需要组装成对象多层嵌套式的 json字符串; 想到使用 递归来完成这个多层嵌套: 憋了四个小时,终于写出来了; 先看效果: 数据库中的数据: 拼装后的效果: [ EmpVO{ ename='孙 ...
- JAVA 递归实现从n个数中选取m个数的所有组合
这周Java课程有个小作业:Java递归实现从n个数中选取m个数的所有组合 代码如下: //其中 n 取 1,2,3,4,5 五个数, m 取 3 package javaText; public c ...
- JAVA递归、非递归遍历二叉树(转)
原文链接: JAVA递归.非递归遍历二叉树 import java.util.Stack; import java.util.HashMap; public class BinTree { priva ...
- 慎用Java递归调用
总结:慎用Java递归调用,测试时可以尝试该方法,否则尽量不要使用递归!递归过多调用时,最好改为for或者whlie来代替. 在java语言中,使用递归调用时,如果过多的调用容易造成java.lang ...
- Java递归实现阶乘
import java.util.Scanner; public class Factorial { public static void main(String[] args) { Scanner ...
- java递归删除目录下所有内容
java递归删除目录下所有内容 private static boolean deleteDir(File dir) {if (dir.isDirectory()) { String[] ...
- JAVA递归实现线索化二叉树
JAVA递归实现线索化二叉树 基础理论 首先,二叉树递归遍历分为先序遍历.中序遍历和后序遍历. 先序遍历为:根节点+左子树+右子树 中序遍历为:左子树+根节点+右子树 后序遍历为:左子树+右子树+根节 ...
- 算法笔记_013:汉诺塔问题(Java递归法和非递归法)
目录 1 问题描述 2 解决方案 2.1 递归法 2.2 非递归法 1 问题描述 Simulate the movement of the Towers of Hanoi Puzzle; Bonus ...
- Java递归输出指定路径下所有文件及文件夹
package a.ab; import java.io.File; import java.io.IOException; public class AE { public static void ...
随机推荐
- C艹函数与结构体
传递指针 代码: #include <iostream> #include <cmath> struct polar{ double distance; double angl ...
- image 和 barplot 的组合
代码示例: par(mfrow = c(1, 2)) par(mar = c(1, 10, 1, 0), las = 1, ann = F) image(1:10, 1:10, matrix(samp ...
- Bioperl 解析blast的输出结果
用bioperl 解析blast的默认输出结果, 整理成-m8格式的输出 #!/usr/bin/perl use Bio::SearchIO; my ($blast) = @ARGV; my $sea ...
- CentOS 7系统查看系统版本和机器位数
前言 由于不经常使用linux,每当使用的时候就是安装软件,安装软件的时候就要选择安装包平台,是32位的还是64位的.这时候突然发现不知道怎么查,于是百度.虽然轻而易举百度出来,但仍旧没有自己的笔记看 ...
- DedeCMSV57数据库结构文档(数据字典)
表名:dede_addonarticle(ENGINE=MyISAM/CHARSET=gbk) 字段名 说明描述 具体参数 aid 文章ID mediumint(8) unsigned NOT N ...
- IOS_多线程
苹果的Cocoa框架支持的多线程机制有三中NSThread.GCD.NSOperation. NSThread:是官方推荐的也是最主要的线程创建方式,可是须要开发这自己去管理线程的生命周期比如线程同步 ...
- ASP.NET CheckBoxList 控件实现全选、反选、清除功能 利用js
直接看代码: JS代码如下: <script type="text/javascript" language="javascript"> funct ...
- EJB里的问题解答
1.什么是EJB? EJB即Enterprise JavaBean是JavaEE应用的业务层技术标准,以这项技术开发的组件叫做EJB组件. EJB架构师一个用于开发和部署基于组件的分布式业务应用的组件 ...
- sql2008修改管理员与普通用户密码
方法一: sp_password Null,'123,'sa'把sa的密码设为“123” 执行成功后有“Command(s) completed successfully.” OK! 方法二: 第一步 ...
- C#常用数据加密类
using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Sec ...