const system = require("../system");

class Dictionary {
  constructor() {
    this.BUSINESS_SCOPE_DEFAULT = [{"businessType": "科技类", "businessscope": "应用软件服务、基础软件服务、互联网信息服务；数据处理、计算机系统服务、计算机系统集成；技术开发、技术咨询、技术推广、技术转让、技术服务。"}, {"businessType": "影视类", "businessscope": "制作、发行动画片、电视综艺、专题片；电视剧制作；影视项目投资管理、策划；体育赛事项目投资、策划；动画片、专题片、电视综艺、不得制作时政新闻及同类专题、专栏等广播电视节目；电影片发行；组织文化艺术交流活动（不含营业性演出）。"}, {"businessType": "广告类", "businessscope": "组织文化艺术交流活动（不含演出）；承办展览展示活动；设计、制作、代理、发布广告；文艺创作；影视策划；企业策划；承办展览展示活动。"}, {"businessType": "咨询类", "businessscope": "健康咨询、旅游信息咨询、教育咨询、信息咨询、企业管理咨询、经济贸易咨询、投资咨询；财务咨询商业管理、物业管理、酒店管理、健康管理、品牌管理咨询、企业管理咨询、建筑设计咨询、工程咨询、商务咨询、设计咨询、健康咨询、农业咨询、艺术咨询。"}, {"businessType": "工程类", "businessscope": "专业承包、劳务分包、施工总承包；工程勘察、工程设计、编制城乡规划、租赁建筑工程机械、建筑工程设备；房地产开发；工程咨询、工程项目管理、工程招标及代理、工程造价咨询、工程技术咨询；工程预算、审计；工程监理、工程担保、工程质量监督、工程及建筑物的质量评估。"}, {"businessType": "贸易类", "businessscope": "货物进出口、代理进出口、技术进出口；销售饲料、新鲜水果、新鲜蔬菜、金属材料、木材、五金交电、汽车配件、通讯设备、家用电器、机械设备、医疗器械（限I类）、建筑材料、仪器仪表、电子产品、装饰材料、塑料制品、厨房用具、卫生间用具、化工产品（不含危险化学品）、计算机、软件及辅助设备、文具用品、体育用品、工艺品、珠宝首饰、日用品、家具、陶瓷制品、服装、鞋帽、针纺织品、化妆品、钟表、乐器；（依法须经批准的项目，经相关部门批准后方可开展经营活动） 经营对销贸易和转口贸易；货运代理（需专项审批的除外）；仓储服务。"}, {"businessType": "设计类", "businessscope": "工艺美术设计、家居装饰设计、产品设计、电脑动画设计、家居装饰设计、装饰材料设计及研发、电脑图文设计、模型设计、展厅的布置设计、服装设计、包装装潢设计、舞台灯光音响设计。"}, {"businessType": "培训类", "businessscope": "英语培训（非学历、非文凭），提供教育咨询及相关的培训咨询服务；经济贸易咨询；组织文化艺术交流活动；自费出国留学中介服务。跆拳道技术培训、乐器技术培训、武术技术培训、体育运动项目经营（高危险性体育项目除外）。"}, {"businessType": "代理类", "businessscope": "票务代理、航空机票销售代理、代售火车票、接受委托销售门票、旅游信息咨询（不含中介服务）边境小额贸易及代理业务、一般贸易。"}, {"businessType": "管理类", "businessscope": "项目投资、投资管理、资产管理、企业管理、酒店管理、餐饮管理、健康管理、财务咨询、企业管理、物业管理。"}, {"businessType": "租赁类", "businessscope": "汽车租赁(不含九座以上客车)；花卉租摆；兼业代理机动车辆保险、企业财产保险、家庭财产保险、建筑、安装工程保险；以下项目仅限分支机构经营：二类汽车维修（小型车维修）；网络预约出租汽车经营；机动车公共停车场服务。"}, {"businessType": "服务类", "businessscope": "会议服务、仓储服务、翻译服务、礼仪服务、家庭劳务服务、摄影扩印服务；打印、复印服务企业形象策划；策划创意服务、市场调查、市场营销策划、品牌策划、礼仪服务、婚庆服务、体育运动项目经营、办公室清洁服务、建筑物清洁服务、房屋清扫、消毒服务、机械设备专业清洗服务、水污染治理、大气污染治理、城市园林绿化、绿植租摆、出租商业用房、出租办公用房、家政服务、会展服务、园林绿化、旅游开发、保洁服务。"}, {"businessType": "文化传媒类", "businessscope": "演出及经纪业务；组织文化艺术活动；演出票务代理；字画、工艺美术品（金饰品除外）、旅游纪念品的销售；演出器材的销售、租赁；艺术装饰；艺术品展示；舞台美术、工艺美术品、包装装璜设计、制作。"}];
    // 交易字典
    this.ORDER = {
      order_type: {"00": "未设置", "10": "平台交易", "20": "商户交易"},
      acc_type: {"00": "银行", "01": "支付宝", "02": "微信"},
      trade_mode: {"00": "未设置", "01": "系统打款", "02": "手工打款"},
      trade_status: {"00": "成功", "01": "待处理", "02": "失败", "03": "部分成功"},
      check_status: {"00": "待处理", "01": "一审", "02": "一审失败", "03": "二审", "04": "二审失败", "05": "审核通过"},
    };
    this.ORDER_ITEM = {
      trade_status: {"00": "成功", "01": "待处理", "02": "失败"}
    }
  }

  getDict(module, field) {
    return (this[(module || "")] || {})[field] || {};
  }

  setRowName(module, row, fields, concat) {
    if (!module || !row || !fields || fields.length == 0) {
      return;
    }
    concat = concat || "_";
    for (let field of fields) {
      row[field + concat + "name"] = this.getDict(module, field)[row[field] || ""] || "";
    }
  }

  setRowsName(module, rows, fields, concat) {
    if (!module || !rows || !fields || fields.length == 0) {
      return;
    }
    for (let row of rows) {
      this.setRowName(module, row, fields, concat)
    }
  }

  getDefaultList(name, vobj) {
    let dlist = this[name];
    let list = [];
    if (!dlist || dlist.length == 0) {
      return list;
    }
    for (let d of dlist) {
      if (vobj) {
        for (let vk in vobj) {
          d[vk] = vobj[vk];
        }
      }
      list.push(d);
    }
    return list;
  }
}

module.exports = Dictionary;
