import { AuthType, UrlType } from '@/constants/menu'

declare global {
    /** 企业风管 */
    namespace Ermcp {
        /** 查询托管银行 响应 */
        interface CusBankSignBankRsp {
            Banklst: BankInfoRsp[]; // 银行列表
            canallot: number; // 是否支持跨行调拨 - 0:不支持 1:支持
            canallotquery: number; // 是否支持跨行调拨查询 - 0:不支持 1:支持
            canbindcard: number; // 是否可绑卡与解卡 - 0:不可 1:可以
            caninamount: number; // 是否可入金 - 0:不可 1:可以
            caninamount2: number; // 是否可入金(网银端) - 0:不可 1:可以
            canmodifybankcard: number; // 是否可修改银行卡号 - 0:不可 1:可以
            canmodifyphone: number; // 是否可修改手机号 - 0:不可 1:可以
            canmodifysigninfo: number; // 是否可修改签约信息 - 0:不可 1:可以
            canoutamount: number; // 是否可出金 - 0:不可 1:可以
            canoutamount2: number; // 是否可出金(网银端) - 0:不可 1:可以
            canrelease: number; // 是否可解约 - 0:不可 1:可以
            canrelease2: number; // 是否可解约(网银端) - 0:不可 1:可以
            cansign: number; // 是否可签约 - 0:不可 1:可以
            cansign2: number; // 是否可签约(网银端) - 0:不可 1:可以
            currency: string; // 币种
            cusbankid: string; // 托管银行编号(对应清算中心TRAN_NO)
            cusbankname: string; // 银行业务名称
            cusbankshortname: string; // 银行业务简称
            exchbankid: string; // 交易所开户银行ID
            exchpaybankaccname: string; // 交易所支出结算账户户名
            exchpaybankaccno: string; // 交易所支出结算账户
            isneedcheck: number; // 是否需要对账 - 0:需要 1:不需要 [不需要界面配置]
            isneedclear: number; // 是否需要清算 - 0:不需要 1:需要
            lastcheckstatus: number; // 最后对账状态 - 对账状态 - 1:未对账 2:对账成功 3:对账失败
            lastchecktime: string; // 最后对账时间
            lastclearstatus: number; // 最后清算状态 - 1:未清算 2:清算成功 3:清算失败 4:清算部分成功
            lastcleartime: string; // 最后清算时间
            lastsignintime: string; // 最后签到时间
            lastsignouttime: string; // 最后签退时间
            riskinfo: string; // 签约风险提示书
            signstatus: number; // 当前签到/签退状态 - 1:签到 2:签退
            tradedate: string; // 交易日(yyyyMMdd)
            updatetime: string; // 当前签到/签退更新时间
        }

        /** 查询开户行 响应 */
        interface BankInfoRsp {
            bankid: string; // 银行ID
            bankname: string; // 银行名称
            clearbankno: string; // 清算系统银行编号
            orderindex: number; // 排序顺序
            status: number; // 状态 - 0:正常 1:注销
        }

        /** 查询签约银行信息(提现账户管理) 请求 */
        interface BankAccountSignReq {
            userid: number;  // 用户ID
        }

        /** 查询签约银行信息(提现账户管理) 响应 */
        interface BankAccountSignRsp {
            accountcode: string;//资金账号
            accountname: string;//资金账号对应的账号名(UserName)
            accountname2: string;//资金账号对应的账号名(UserName) - 密文
            accounttype: number;//账户类型(UserType)
            applicationtime: string;//最后一次更新的时间
            applyexchticket: string;//申请流水
            auditid: number;//审核人
            audittime: string;//审核时间
            bankaccountname: string;//签约银行卡账号名
            bankaccountname2: string;//签约银行卡账号名 - 密文
            bankaccountno: string;//银行卡号
            bankaccountno2: string;//银行卡号 - 密文
            bankaccounttype: number;//银行账户类型 - 1-对私; 2-对公
            bankcardtype: number;//银行卡类型
            bankchildaccount: string;//银行子账号（签约成功后，很多银行会返回对应的这个虚拟账号）
            bankcity: string;//开户行城市
            bankid: string;//签约银行ID
            bankname: string;//签约银行名称
            bankprovince: string;//开户行省份
            branchbankid: string;//签约银行支行号
            branchbankname: string;//签约银行支行名称
            cardno: string;//证件号码
            cardno2: string;//证件号码 - 密文
            cardtype: string;//证件类型
            currency: string;//币种
            cusbankid: string;//托管银行编号
            direct: number;//方向(可以判断那方先发起的签约)
            exchticket: string;//最后一次签约成功的流水号
            extendinfo: string;//扩展信息(JSON字符串)
            mobilephone: string;//手机号
            mobilephone2: string;//手机号 - 密文
            netaddr: string;//调转网址
            relateduserid: number;//关联使用者userid
            signstatus: number;//签约状态 - 1:未签约 2:签约待审核 3:签约中 4:已签约 5:解约待审核 6:解约中 7:已解约 8:已解绑 9:绑卡中 1number;
            //:审核拒绝 11:换签待审核
            updatetime: string;//更新时间(签解约更新时间)
        }

        /** 查询充值提现 请求 */
        interface AccountInOutApplyReq {
            userid: number;  // 用户ID
            begindate?: string;  //   申请起始日期(格式yyyymmdd)
            enddate?: string;    //   申请截止日期(格式yyyymmdd)
            likename?: string;   //   模糊搜索名称
            applystatus?: number; // 状态 1-待审核 2-审核通过 3-审核拒绝
            querytype?: number; // 查询类型 1-提现(出金) 2-充值(入金)
        }

        /** 查询充值提现 响应 */
        interface AccountOutInApplyRsp {
            accountcode: string;//资金账号
            accountname: string;//用户名称(名称)
            accountpwd: string;//资金密码
            accountticket: string;//最新账户服务流水号
            amount: number;//金额
            applyremark: string;//申请备注
            applystatus: number;//申请状态 - 1:待审核 2:待复审 3:初审拒绝 4:交易冻结中 5:交易解冻中 6:交易解冻扣款中 7:交易入金中 8:交易冻结/解冻/扣款中(银行发起出金时用) 9:银行出金中 1number;
            //:银行入金中 11:成功 12:失败 13:银行审核中 14:账户服务入金失败； 15:账户服务解冻失败； 16:账户服务解冻扣款失败； 17:账户服务出金失败 18:复审通过 19:复审拒绝 2number;
            //:提交审核，账户冻结中 21:审核拒绝，账户解冻中；22: 待审核，账户服务解冻回滚中； 23：待复审，账户服务解冻回滚中； 24： 审核通过，账户冻结金额检查中；25： 复审通过，账户冻结金额检查中；
            auditid: number;//审核人
            audittime: string;//审核时间
            bank_apply_ticket: string;//银行申请流水
            bankaccountname: string;//银行账户名
            bankaccountno: string;//银行卡号
            bankid: string;//银行编号
            bankticket: string;//银行流水
            bankname: string; // 银行名称
            branchbankid: string;//银行支行号
            branchbankname: string;//银行支行名称
            capamountout: number;//出金(劣后本金) - 外部子账户
            certificatephotourl: string;//凭证地址
            charge: number;//手续费
            checkerrorflag: number;//对账差错标志 - 1:为单边账;其它为正常出入金
            currency: string;//币种
            cusbankid: string;//托管银行编号
            cusbankname: string; // 托管银行名称
            cusbankshortname: string; // 托管银行简称
            exchticket: string;//银行服务流水号
            executetype: number;//申请类型 - 1:出金 2:入金 3: 单边账调整:入金; 4:单边账调整:出金 5:外部母账户调整:入金 6:外部母账户调整:出金 7:外部子账户:入金 8:外部子账户:出金
            extendinfo: string;//扩展信息
            extoperateid: number;//交易服务流水号
            infamount: number;//劣后金额(自有)
            logincode: string;//登录账号(账号)
            netaddr: string;//调转网址
            priamount: number;//优先金额(授信)
            reauditid: number;//复审人
            reauditremark: string;//复审备注
            reaudittime: string;//复审时间
            relatedorderid: string;//三方关联ID
            remark: string;//备注
            remark2: string;//备注(失败原因)
            soucreamount: number;//原始出入金金额
            soucrecurrencyid: number;//原始出入金币种
            tradedate: string;//交易日(yyyyMMdd)
            updatetime: string;//更新时间(申请时间)
            userid: number;//用户id
            userinfotype: number;//账户类型 1-个人 2-企业
        }
    }
}