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;
    }
}

最新文章

  1. 解决protobuf不能直接在IOS上使用,利用protobuf-net在IOS上通讯
  2. 将NSString转换成UTF8编码的NSString
  3. TortoiseSVN常用操作说明
  4. C#文字样式
  5. 读取ini配置文件
  6. MsSqlServer 复制分发概述
  7. 一步一步学习Swift之(一):关于swift与开发环境配置
  8. 踏着前人的脚印学hadoop&mdash;&mdash;ipc中的Server
  9. Windows下Memcached在.Net程序中的实际运用(从Memcached客户端Enyim的库的编译到实际项目运用)
  10. Sublime一些设置
  11. new del 问题
  12. 最详细的JavaWeb开发基础之java环境搭建(Windows版)
  13. 项目案例【Net Core】如何注入多个服务实现类
  14. (二叉树 递归) leetcode 105. Construct Binary Tree from Preorder and Inorder Traversal
  15. [转]windows 10 搭建angular开发环境
  16. libsvm数据格式
  17. Es6(Symbol,set,map,filter)
  18. linux中fork, source和exec的区别
  19. 【Kettle】1、简单介绍
  20. 【TortoiseSVN】windows中连接SVN服务器的工具

热门文章

  1. hostapd作为radius服务器
  2. Java如何获得运行线程的优先级?
  3. Java如何格式化24小时格式的时间?
  4. Java如何合并两个数组?
  5. VS2015 applicationhost.config 本地域名访问
  6. sublime3 docblocker插件定制自己的注释,配置步骤
  7. IntelliJ IDEA 终极破解
  8. spark not contain
  9. LinuxMint系统下Gate One的安装指南
  10. Allure Report使用