var APIBase = require("../../api.base");
var system = require("../../../system");
var settings = require("../../../../config/settings");

class ActionAPI extends APIBase {
  constructor() {
    super();
  }

  /**
   * 接口跳转
   * action_process  执行的流程
   * action_type     执行的类型
   * action_body     执行的参数
   */
  async springboard(pobj, qobj, req) {
    console.log(pobj, pobj.action_type, !pobj.action_type, "--------------------------------------this is xgg admin ----------------------");
    if (!pobj.action_process) {
      return system.getResult(null, "action_process参数不能为空");
    }
    if (!pobj.action_type) {
      return system.getResult(null, "action_type参数不能为空");
    }
    var result = null;
    switch (pobj.action_process) {
      case "sijibao"://司机宝
        result = await this.sijibaoOpActionProcess(pobj.action_process, pobj.action_type, pobj.action_body);
        break;
      default:
        result = system.getResult(null, "action_process参数错误");
        break;
    }
    return result;
  }

  async sijibaoOpActionProcess(action_process, action_type, action_body) {
    var opResult = null;
    switch (action_type) {
      // case "testRechargeAudit":// 发票信息查询接口
      //     opResult = await this.merchantrechargeSve.apiAudit(action_body);
      //     break;
      default:
        opResult = system.getResult(null, "action_type参数错误");
        break;
    }
    return opResult;
  }

  exam() {
    return `<pre><pre/>`;
  }

  classDesc() {
    return {
      groupName: "op",
      groupDesc: "元数据服务包",
      name: "ActionAPI",
      desc: "此类是对外提供接口服务",
      exam: "",
    };
  }

  methodDescs() {
    return [
      {
        methodDesc: `<pre><pre/>`,
        methodName: "springboard",
        paramdescs: [
          {
            paramDesc: "请求的行为，传递如：sijibao",
            paramName: "action_process",
            paramType: "string",
            defaultValue: null,
          },
          {
            paramDesc: "业务操作类型，详情见方法中的描述",
            paramName: "action_type",
            paramType: "string",
            defaultValue: null,
          },
          {
            paramDesc: "业务操作类型的参数，action_body必须传递的参数有，times_tamp（时间戳，类型int）、sign(签名,类型string)，其余的为业务需要的参数",
            paramName: "action_body",
            paramType: "json",
            defaultValue: null,
          }
        ],
        rtnTypeDesc: `<pre><pre/>`,
        rtnType: `<pre><pre/>`
      }
    ];
  }
}

module.exports = ActionAPI;