const system = require("../../../system");
const Dao = require("../../dao.base");
class MediaaggregationDao extends Dao {
  constructor() {
    super(Dao.getModelName(MediaaggregationDao));
  }

  /**
   * 服务列表
   */
  async productList(req) {
    var params = {
      product_type_code: req.actionBody.product_type_code
    };
    var returnRes = {
      total: 0,//总记录条数
      rows: []
    };
    var dataCount = "select count(1) as dataCount from mc_product  where deleted_at is null and product_type_code = :product_type_code and is_enabled = 1 ";
    var sql = "select * from mc_product  where deleted_at is null and product_type_code = :product_type_code and is_enabled = 1 ";

    var list = await this.customQuery(sql, params);
    returnRes.rows = list;
    var tmpResultCount = await this.customQuery(dataCount, params);
    returnRes.total = tmpResultCount && tmpResultCount.length > 0 ? tmpResultCount[0].dataCount : 0;
    return returnRes;
  }

  /**
   * 轮播图
   */
  async rotationChartList(req) {
    var returnRes = {
      total: 0,//总记录条数
      rows: []
    };
    var dataCount = "select count(1) as dataCount from mc_rotation_chart where deleted_at is null and pic_type = 2  and is_enabled = 1 ";
    var sql = "select * from mc_rotation_chart where deleted_at is null and pic_type = 2 and is_enabled = 1 ";

    var list = await this.customQuery(sql);
    returnRes.rows = list;
    var tmpResultCount = await this.customQuery(dataCount);
    returnRes.total = tmpResultCount && tmpResultCount.length > 0 ? tmpResultCount[0].dataCount : 0;
    return returnRes;
  }

  /**
   * 列表头图
   */
  async tablePicList(req) {
    var returnRes = {
      total: 0,//总记录条数
      rows: []
    };
    var dataCount = "select count(1) as dataCount from mc_rotation_chart where deleted_at is null and pic_type = 1  and is_enabled = 1 ";
    var sql = "select * from mc_rotation_chart where deleted_at is null and pic_type = 1 and is_enabled = 1 ";

    var list = await this.customQuery(sql);
    returnRes.rows = list;
    var tmpResultCount = await this.customQuery(dataCount);
    returnRes.total = tmpResultCount && tmpResultCount.length > 0 ? tmpResultCount[0].dataCount : 0;
    return returnRes;
  }

  /**
   * 留资表单产品
   */
  async needProductList(req) {
    var returnRes = {
      total: 0,//总记录条数
      rows: []
    };
    var dataCount = "select count(1) as dataCount from mc_second_level_need_config where deleted_at is null  ";
    var sql = "select * from mc_second_level_need_config where deleted_at is null  ";

    var list = await this.customQuery(sql);
    returnRes.rows = list;
    var tmpResultCount = await this.customQuery(dataCount);
    returnRes.total = tmpResultCount && tmpResultCount.length > 0 ? tmpResultCount[0].dataCount : 0;
    return returnRes;
  }

  /**
   * 热门推荐
   */
  async popularRecommendationList(req) {
    var returnRes = {
      total: 0,//总记录条数
      rows: []
    };
    var dataCount = "select count(1) as dataCount from mc_popular_recommendation where deleted_at is null and  is_enabled = 1  ";
    var sql = "select * from mc_popular_recommendation where deleted_at is null  and  is_enabled = 1 ";

    var list = await this.customQuery(sql);
    returnRes.rows = list;
    var tmpResultCount = await this.customQuery(dataCount);
    returnRes.total = tmpResultCount && tmpResultCount.length > 0 ? tmpResultCount[0].dataCount : 0;
    return returnRes;
  }

  /**
   * 产品分类一类
   */
  async productTypeFirst(req) {
    var returnRes = {
      total: 0,//总记录条数
      rows: []
    };
    var dataCount = "select count(1) as dataCount from mc_product_type  where deleted_at is null and p_id = 0 ";
    var sql = "select * from mc_product_type  where deleted_at is null and p_id = 0 ";

    var list = await this.customQuery(sql);
    returnRes.rows = list;
    var tmpResultCount = await this.customQuery(dataCount);
    returnRes.total = tmpResultCount && tmpResultCount.length > 0 ? tmpResultCount[0].dataCount : 0;
    return returnRes;
  }

  /**
   * 产品分类二类
   */
  async productTypeSecend(req) {
    var params = {
      p_code: req.actionBody.p_code
    };
    var returnRes = {
      total: 0,//总记录条数
      rows: []
    };
    var dataCount = "select count(1) as dataCount from mc_product_type where  deleted_at is null and  p_code = :p_code ";
    var sql = "select * from  mc_product_type where  deleted_at is null and p_code = :p_code ";

    var list = await this.customQuery(sql, params);
    returnRes.rows = list;
    var tmpResultCount = await this.customQuery(dataCount, params);
    returnRes.total = tmpResultCount && tmpResultCount.length > 0 ? tmpResultCount[0].dataCount : 0;
    return returnRes;
  }
  /**
   * 获取产品详情
   */
  async productDetail(req) {
    var params = {
      code: req.actionBody.code
    };
    var sql = "select * from mc_product where deleted_at is null and is_enabled = 1 and  code = :code  ";
    var list = await this.customQuery(sql, params);
    return list;
  }

  /**
  * 吸底菜单
  */
  async bottomMenuConfig(req) {
    var returnRes = {
      total: 0,//总记录条数
      rows: []
    };
    var dataCount = "select count(1) as dataCount  from mc_bottom_menu_config  where deleted_at is null ";
    var sql = "select * from mc_bottom_menu_config  where deleted_at is null ";

    var list = await this.customQuery(sql);
    returnRes.rows = list;
    var tmpResultCount = await this.customQuery(dataCount);
    returnRes.total = tmpResultCount && tmpResultCount.length > 0 ? tmpResultCount[0].dataCount : 0;
    return returnRes;
  }

  /**
   * 周期产品
   */
  async cycleProduct(req) {
    var returnRes = {
      total: 0,//总记录条数
      rows: []
    };
    var dataCount = "select count(1) as dataCount  from mc_cycle_product  where deleted_at is null ";
    var sql = "select * from mc_cycle_product  where deleted_at is null ";

    var list = await this.customQuery(sql);
    returnRes.rows = list;
    var tmpResultCount = await this.customQuery(dataCount);
    returnRes.total = tmpResultCount && tmpResultCount.length > 0 ? tmpResultCount[0].dataCount : 0;
    return returnRes;
  }

  
  /**
     * 二级留资页热门推荐
     */
  async secondLevelNeedConfig(req) {
    var params = {
      code: req.actionBody.code
    };
    var returnRes = {
      total: 0,//总记录条数
      rows: []
    };
    var dataCount = "select count(1) as dataCount  from mc_second_level_need_config  where deleted_at is null and code = :code ";
    var sql = "select * from mc_second_level_need_config  where deleted_at is null and code = :code";

    var list = await this.customQuery(sql, params);
    returnRes.rows = list;
    var tmpResultCount = await this.customQuery(dataCount, params);
    returnRes.total = tmpResultCount && tmpResultCount.length > 0 ? tmpResultCount[0].dataCount : 0;
    return returnRes;
  }


  /**
   * 二类产品资质选项(选取数据线索的数据)、留资表单产品列表(我需要)
   */
  async clueMaintenance(req) {
    var params = {
      code: req.actionBody.code,
    };
    var apiType = req.actionBody.apiType;
    var returnRes = {
      total: 0,//总记录条数
      rows: []
    };
    if(apiType && apiType == '1'){//二类产品资质选项(选取数据线索的数据)
      var dataCount = "select count(1) as dataCount  from mc_clue_maintenance  where deleted_at is null";
      var sql = "select * from mc_clue_maintenance  where deleted_at is null";
    }
    if(apiType && apiType == '2'){//留资表单产品列表(我需要)
      var dataCount = "select count(1) as dataCount  from mc_clue_maintenance  where deleted_at is null and code = :code ";
      var sql = "select * from mc_clue_maintenance  where deleted_at is null and code = :code ";
    }
   

    var list = await this.customQuery(sql, params);
    returnRes.rows = list;
    var tmpResultCount = await this.customQuery(dataCount, params);
    returnRes.total = tmpResultCount && tmpResultCount.length > 0 ? tmpResultCount[0].dataCount : 0;
    return returnRes;
  }


  /**
   *周期产品二类 
   */
  async cycleProductSecend(req) {
    var params = {
      cycle_type: req.actionBody.cycle_type
    };
    var returnRes = {
      total: 0,//总记录条数
      rows: []
    };
    var dataCount = "select count(1) as dataCount  from mc_cycle_product  where deleted_at is null and cycle_type = :cycle_type ";
    var sql = "select * from mc_cycle_product  where deleted_at is null and cycle_type = :cycle_type ";

    var list = await this.customQuery(sql, params);
    returnRes.rows = list;
    var tmpResultCount = await this.customQuery(dataCount, params);
    returnRes.total = tmpResultCount && tmpResultCount.length > 0 ? tmpResultCount[0].dataCount : 0;
    return returnRes;
  }

}
module.exports = MediaaggregationDao;