package com.jeequan.jeepay.thirdparty.channel.sxfpay.model;

import com.alibaba.fastjson.JSONArray;
import lombok.Data;

import java.util.List;

@Data
public class ApplymentNotify {

    public static final String TASK_TYPE_INCOME = "00";

    public static final String TASK_TYPE_MODIFY = "01";

    /**
     * 进件申请ID
     */
    private String applicationId;

    /**
     * 商户编号
     */
    private String mno;

    /**
     * 工单类型，枚举值
     * 取值范围：
     * 00 入驻工单
     * 01 修改工单
     */
    private String taskType;

    /**
     * 审核状态，枚举值
     * 取值范围：
     * 1 入驻通过
     * 2 入驻驳回
     * 5 商户修改通过
     * 6 商户修改驳回
     */
    private String taskStatus;

    /**
     * 审核结果信息
     */
    private String suggestion;

    /**
     * 渠道报备信息（结构详见下方报文样例）
     * childNoType 报备渠道 枚举值，取值范围：
     * WX 微信
     * ZFB 支付宝
     * YL-MNO 银联普通
     * YL-QRC 银联小微
     * repoStatus 报备状态 枚举值，取值范围：
     * 01 成功
     * 02 失败
     * channelId 接入方渠道号
     * childNo 渠道子商户号
     * errMessage 报备失败原因
     * aliLevel 支付宝等级
     */
    private List<Repo> repoInfo;

    /**
     * 收单机构商编
     * type 枚举值，取值范围：
     * SXF 随行付
     * XS 新生
     */
    private JSONArray spInfo;

    /**
     * 页面申请ID，进件链接模式返回
     */
    private String pageApplyId;

    @Data
    public static class Repo {

        private String childNoType;

        private String childNo;

        private String repoStatus;

        private String channelId;

        private String errMessage;
    }
}
