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

    }
}

最新文章

  1. Mysql5.6 online ddl
  2. ThinkCMF-如何收藏
  3. x01.os.7: 傻子一样的等
  4. 重构第6天:降低字段(Push Down Field)
  5. .Net 垃圾回收机制原理(二)
  6. 云计算分布式大数据Hadoop实战高手之路第八讲Hadoop图文训练课程:Hadoop文件系统的操作实战
  7. 成绩转换 AC 杭电
  8. PLinq
  9. 快速破解ps方法
  10. java获得路径的多种方式
  11. ios入门OC_UI晋级学什么?
  12. RecyclerView的点击、滑动、拖动事件
  13. Django之文件上传
  14. sublime自动保存设置
  15. [0412]SQL Server 2008 R2 安装 &amp; 设置
  16. Windows命令行参数(不断更新)
  17. [Openwrt 项目开发笔记]:Openwrt必要设置(二)
  18. 执行composer install 报错的解决办法
  19. python连接hbase
  20. 网络结构设计——负载均衡之LVS学习笔记(三)

热门文章

  1. 自然语言交流系统 phxnet团队 创新实训 个人博客 (六)
  2. Google ProtocolBuffers2.4.1应用说明(一)
  3. Google File System 学习
  4. 第三百六十节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本概念
  5. unity-------------UI的界面调节
  6. 嵌入式开发之视频压缩比---h264、mjpeg、mpeg4
  7. Android 开发规范
  8. linq join 左连接 leftjoin 多个on条件 where 条件
  9. SOFA企业应用框架
  10. nodejs的__dirname与__filename