List 集合的N层遍历
2024-08-31 12:07:47
package com.j1.cms.model; import java.io.Serializable; import java.util.List; /** * Created by wangchuanfu on 17/5/25. */ public class EcHomePageTemplate implements Serializable{ private static final long serialVersionUID = 1L; private Integer templateId; private Integer tabId; private Integer templateTypeId; private Integer orderNum; private String templateName; private String more ; private Integer moreLinkType; private String moreLinkValue; private String templateTypeName; private List<EcHomePageTemplateItem> itemList; public void setTemplateId(Integer templateId) { this.templateId = templateId; } public void setTabId(Integer tabId) { this.tabId = tabId; } public void setTemplateTypeId(Integer templateTypeId) { this.templateTypeId = templateTypeId; } public void setOrderNum(Integer orderNum) { this.orderNum = orderNum; } public void setTemplateName(String templateName) { this.templateName = templateName; } public void setMore(String more) { this.more = more; } public void setMoreLinkType(Integer moreLinkType) { this.moreLinkType = moreLinkType; } public void setMoreLinkValue(String moreLinkValue) { this.moreLinkValue = moreLinkValue; } public void setTemplateTypeName(String templateTypeName) { this.templateTypeName = templateTypeName; } public void setItemList(List<EcHomePageTemplateItem> itemList) { this.itemList = itemList; } public Integer getTemplateId() { return templateId; } public Integer getTabId() { return tabId; } public Integer getTemplateTypeId() { return templateTypeId; } public Integer getOrderNum() { return orderNum; } public String getTemplateName() { return templateName; } public String getMore() { return more; } public Integer getMoreLinkType() { return moreLinkType; } public String getMoreLinkValue() { return moreLinkValue; } public String getTemplateTypeName() { return templateTypeName; } public List<EcHomePageTemplateItem> getItemList() { return itemList; } }
package com.j1.cms.model; import java.io.Serializable; import java.util.List; /** * Created by wangchuanfu on 17/5/25. */ public class EcHomePageTemplateItem implements Serializable{ private static final long serialVersionUID = 1L; private Integer templateItemId; private String templateItemName; private Integer linkType; private String linkValue; private String adPicture; private Integer parentId; private Integer tabId; private Integer templateTypeId; private String linkValueSupplement; public String getLinkValueSupplement() { return linkValueSupplement; } public void setLinkValueSupplement(String linkValueSupplement) { this.linkValueSupplement = linkValueSupplement; } public Integer getTemplateTypeId() { return templateTypeId; } public void setTemplateTypeId(Integer templateTypeId) { this.templateTypeId = templateTypeId; } public Integer getTabId() { return tabId; } public void setTabId(Integer tabId) { this.tabId = tabId; } private List<EcHomePageTemplateItem> subItemList; public void setTemplateItemId(Integer templateItemId) { this.templateItemId = templateItemId; } public void setTemplateItemName(String templateItemName) { this.templateItemName = templateItemName; } public void setLinkType(Integer linkType) { this.linkType = linkType; } public void setLinkValue(String linkValue) { this.linkValue = linkValue; } public void setAdPicture(String adPicture) { this.adPicture = adPicture; } public void setParentId(Integer parentId) { this.parentId = parentId; } public void setSubItemList(List<EcHomePageTemplateItem> subItemList) { this.subItemList = subItemList; } public Integer getTemplateItemId() { return templateItemId; } public String getTemplateItemName() { return templateItemName; } public Integer getLinkType() { return linkType; } public String getLinkValue() { return linkValue; } public String getAdPicture() { return adPicture; } public Integer getParentId() { return parentId; } public List<EcHomePageTemplateItem> getSubItemList() { return subItemList; } }
package com.j1.cms.model; import com.j1.base.model.BaseBO; /** * Created by wangchuanfu on 17/5/20. */ public class EcTemolateItem extends BaseBO { /** * 将Model 合并到EcTemolateItem中,用于接口查询返回数据,保证数据的完整性 */ private Integer templateId; private Integer tabId; private Integer templateTypeId; private Integer orderNum; private String templateName; private String more ; private Integer moreLinkType; private String moreLinkValue; private String tabName; private Integer stateNum ; private String onlineTime; private String offlineTime; private Integer templateItemId; private String templateItemName; private Integer linkType; private String linkValue; private String adPicture; private Integer resolutionWidth; private Integer resolutionHeight; private Integer parentId ; public void setTemplateId(Integer templateId) { this.templateId = templateId; } public void setTabId(Integer tabId) { this.tabId = tabId; } public void setTemplateTypeId(Integer templateTypeId) { this.templateTypeId = templateTypeId; } public void setOrderNum(Integer orderNum) { this.orderNum = orderNum; } public void setTemplateName(String templateName) { this.templateName = templateName; } public void setMore(String more) { this.more = more; } public void setMoreLinkType(Integer moreLinkType) { this.moreLinkType = moreLinkType; } public void setMoreLinkValue(String moreLinkValue) { this.moreLinkValue = moreLinkValue; } public void setTabName(String tabName) { this.tabName = tabName; } public void setStateNum(Integer stateNum) { this.stateNum = stateNum; } public void setOnlineTime(String onlineTime) { this.onlineTime = onlineTime; } public void setOfflineTime(String offlineTime) { this.offlineTime = offlineTime; } public void setTemplateItemId(Integer templateItemId) { this.templateItemId = templateItemId; } public void setTemplateItemName(String templateItemName) { this.templateItemName = templateItemName; } public void setLinkType(Integer linkType) { this.linkType = linkType; } public void setLinkValue(String linkValue) { this.linkValue = linkValue; } public void setAdPicture(String adPicture) { this.adPicture = adPicture; } public void setResolutionWidth(Integer resolutionWidth) { this.resolutionWidth = resolutionWidth; } public void setResolutionHeight(Integer resolutionHeight) { this.resolutionHeight = resolutionHeight; } public void setParentId(Integer parentId) { this.parentId = parentId; } public Integer getTemplateId() { return templateId; } public Integer getTabId() { return tabId; } public Integer getTemplateTypeId() { return templateTypeId; } public Integer getOrderNum() { return orderNum; } public String getTemplateName() { return templateName; } public String getMore() { return more; } public Integer getMoreLinkType() { return moreLinkType; } public String getMoreLinkValue() { return moreLinkValue; } public String getTabName() { return tabName; } public Integer getStateNum() { return stateNum; } public String getOnlineTime() { return onlineTime; } public String getOfflineTime() { return offlineTime; } public Integer getTemplateItemId() { return templateItemId; } public String getTemplateItemName() { return templateItemName; } public Integer getLinkType() { return linkType; } public String getLinkValue() { return linkValue; } public String getAdPicture() { return adPicture; } public Integer getResolutionWidth() { return resolutionWidth; } public Integer getResolutionHeight() { return resolutionHeight; } public Integer getParentId() { return parentId; } @Override public String toString() { return "EcTemolateItem{" + "templateId=" + templateId + ", tabId=" + tabId + ", templateTypeId=" + templateTypeId + ", orderNum=" + orderNum + ", templateName='" + templateName + '\'' + ", more='" + more + '\'' + ", moreLinkType=" + moreLinkType + ", moreLinkValue='" + moreLinkValue + '\'' + ", tabName='" + tabName + '\'' + ", stateNum=" + stateNum + ", onlineTime='" + onlineTime + '\'' + ", offlineTime='" + offlineTime + '\'' + ", templateItemId=" + templateItemId + ", templateItemName='" + templateItemName + '\'' + ", linkType=" + linkType + ", linkValue='" + linkValue + '\'' + ", adPicture='" + adPicture + '\'' + ", resolutionWidth=" + resolutionWidth + ", resolutionHeight=" + resolutionHeight + ", parentId=" + parentId + '}'; } }
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); } } }
" ?> -mapper.dtd" > <mapper namespace="com.j1.soa.resource.cms.dao.oracle.EcHomePageTempLateMapper"> <resultMap id="ecTemolateItemRes" type="com.j1.cms.model.EcTemolateItem"> <result column="template_item_name" property="templateItemName" /> <result column="link_type" property="linkType" /> <result column="link_value" property="linkValue" /> <result column="ad_picture" property="adPicture" /> <result column="template_name" property="templateName" /> <result column="tab_name" property="tabName" /> </resultMap> <resultMap id="ecHomePageTemplateResult" type="com.j1.cms.model.EcHomePageTemplate"> <result column="template_item_name" property="templateTypeName" /> <result column="template_type_id" property="templateTypeId" /> <result column="TEMPLATE_NAME" property="templateName"/> </resultMap> <resultMap id="ecHomePageTemplateItemResult" type="com.j1.cms.model.EcHomePageTemplateItem"> <result column="TEMPLATE_ITEM_ID" property="templateItemId" /> <result column="TEMPLATE_ITEM_NAME" property="templateItemName" /> <result column="LINK_TYPE" property="linkType" /> <result column="LINK_VALUE" property="linkValue" /> <result column="AD_PICTURE" property="adPicture" /> <result column="PARENT_ID" property="parentId" /> <result column="TEMPLATE_ID" property="templateId" /> <result column="TEMPLATE_NAME" property="templateName" /> <result column="PARENT_ID" property="parentId" /> <result column="RESOLUTION_HEIGHT" property="resolutionHeight" /> <result column="RESOLUTION_WIDTH" property="resolutionWidth" /> <result column="LINK_VALUE_SUPPLEMENT" property="linkValueSupplement" /> </resultMap> <select id="getEcTemolateItemById" resultMap="ecTemolateItemRes" parameterType="com.j1.cms.model.EcTemolateItem"> select ehti.template_item_name, ehti.link_type, ehti.link_value, ehti.ad_picture, eht.ORDER_NUM, eht.template_name, ehta.tab_name from EC_HOMEPAGE_TEMPLATE_ITEM ehti LEFT JOIN EC_HOMEPAGE_TEMPLATE eht on ehti.template_id=eht.template_id left JOIN EC_HOMEPAGE_TAB ehta on ehta.tab_id=eht.tab_id <if test="templateItemId != null"> and ehti.template_Item_Id =#{templateItemId,jdbcType=DECIMAL} </if> and ehti.is_delete='N' and eht.is_delete='N' and ehta.is_delete='N' order by ehta.order_num ,ehta.add_time DESC </select> <resultMap id="ecTemolateItemResult" type="com.j1.cms.model.EcTemolateItem" extends="ecTemolateItemRes"> <result column="tab_name" property="tabName" /> <result column="tab_id" property="tabId" /> </resultMap> <!-- 查询tab信息 --> <select id="queryTable" resultMap="ecTemolateItemResult"> select eht.TAB_ID,eht.TAB_NAME from EC_HOMEPAGE_TAB eht WHERE eht.IS_DELETE = 'N' <![CDATA[ AND eht.STATE_NUM <> 1 AND TO_DATE(eht.ONLINE_TIME,'YYYY/MM/DD hh24:mi:ss') <= SYSDATE AND TO_DATE(eht.OFFLINE_TIME,'YYYY/MM/DD hh24:mi:ss') >= SYSDATE ]]> ORDER BY eht.ORDER_NUM </select> <!-- 根据tabId 查询出对应的广告位 --> <select id ="queryAdList" resultMap= "ecHomePageTemplateResult" parameterType="java.lang.Integer"> select b.TEMPLATE_TYPE_ID, b.TEMPLATE_TYPE_NAME, c.TEMPLATE_NAME from EC_HOMEPAGE_TAB a , EC_HOMEPAGE_TEMPLATE_TYPE b, EC_HOMEPAGE_TEMPLATE c where a.TAB_ID=c.TAB_ID AND b.TEMPLATE_TYPE_ID=c.TEMPLATE_TYPE_ID AND c.TAB_ID =#{tabId,jdbcType=DECIMAL} AND a.IS_DELETE = 'N' AND b.IS_DELETE = 'N' AND c.IS_DELETE = 'N' ORDER BY c.ORDER_NUM </select> <!-- 根据广告位数据查询出所有的主数据 --> <select id = "queryTemplateItemList" resultMap="ecHomePageTemplateItemResult" parameterType="com.j1.cms.model.EcHomePageTemplateItem"> SELECT b.TEMPLATE_ITEM_ID, b.TEMPLATE_ITEM_NAME, b.AD_PICTURE, b.LINK_TYPE, b.LINK_VALUE, b.PARENT_ID, b.LINK_VALUE_SUPPLEMENT FROM EC_HOMEPAGE_TEMPLATE_ITEM b LEFT JOIN EC_HOMEPAGE_TEMPLATE c ON c.TEMPLATE_ID = b.TEMPLATE_ID WHERE c.TEMPLATE_TYPE_ID = #{templateTypeId,jdbcType=DECIMAL} AND c.TAB_ID = #{tabId,jdbcType=DECIMAL} AND b.PARENT_ID = #{parentId,jdbcType=DECIMAL} ORDER BY c.ORDER_NUM,b.TEMPLATE_ITEM_ID </select> </mapper>
package com.j1.cms.model; import java.io.Serializable; import java.util.List; /** * Created by wangchuanfu on 17/5/25. */ public class EcHomePageTab implements Serializable{ private static final long serialVersionUID = 1L; private Integer tabId; private String tabName; private Integer orderNum; private Integer stateNum ; private String onlineTime; private String offlineTime; private List<EcHomePageTemplate> templateList; private List<Integer> tabIds; public Integer getTabId() { return tabId; } public String getTabName() { return tabName; } public Integer getOrderNum() { return orderNum; } public Integer getStateNum() { return stateNum; } public String getOnlineTime() { return onlineTime; } public String getOfflineTime() { return offlineTime; } public List<EcHomePageTemplate> getTemplateList() { return templateList; } public List<Integer> getTabIds() { return tabIds; } public void setTabId(Integer tabId) { this.tabId = tabId; } public void setTabName(String tabName) { this.tabName = tabName; } public void setOrderNum(Integer orderNum) { this.orderNum = orderNum; } public void setStateNum(Integer stateNum) { this.stateNum = stateNum; } public void setOnlineTime(String onlineTime) { this.onlineTime = onlineTime; } public void setOfflineTime(String offlineTime) { this.offlineTime = offlineTime; } public void setTemplateList(List<EcHomePageTemplate> templateList) { this.templateList = templateList; } public void setTabIds(List<Integer> tabIds) { this.tabIds = tabIds; } }
最新文章
- 解决protobuf不能直接在IOS上使用,利用protobuf-net在IOS上通讯
- 将NSString转换成UTF8编码的NSString
- TortoiseSVN常用操作说明
- C#文字样式
- 读取ini配置文件
- MsSqlServer 复制分发概述
- 一步一步学习Swift之(一):关于swift与开发环境配置
- 踏着前人的脚印学hadoop&mdash;&mdash;ipc中的Server
- Windows下Memcached在.Net程序中的实际运用(从Memcached客户端Enyim的库的编译到实际项目运用)
- Sublime一些设置
- new del 问题
- 最详细的JavaWeb开发基础之java环境搭建(Windows版)
- 项目案例【Net Core】如何注入多个服务实现类
- (二叉树 递归) leetcode 105. Construct Binary Tree from Preorder and Inorder Traversal
- [转]windows 10 搭建angular开发环境
- libsvm数据格式
- Es6(Symbol,set,map,filter)
- linux中fork, source和exec的区别
- 【Kettle】1、简单介绍
- 【TortoiseSVN】windows中连接SVN服务器的工具