package com.yuchen.saas.payment.api.enums.allinpay;

import cn.hutool.core.util.StrUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;

/** 通联支付接口返回码retcode说明
 * @author zhouhanwei
 * @create 2023/11/10 16:03
 */
@Getter
@AllArgsConstructor
public enum AllInPayRetCodeEnum {
    /**
     *SUCCESS-请求成功
     *
     * PARAMERR-请求参数错误
     *
     * SIGNAUTHERR-签名或者api权限不足
     *
     * FAIL-其他请求或前端处理失败，具体看retmsg
     *
     * SYSTEMERR-系统异常，对于实时类交易（例如被扫交易），进行查询
     */
    SUCCESS("SUCCESS", "请求成功"),
    PARAM_ERR("PARAMERR", "请求参数错误"),
    SIGN_AUTH_ERR("SIGNAUTHERR", "签名或者api权限不足"),

    FAIL("FAIL", "其他请求或前端处理失败，具体看retmsg"),

    SYSTEM_ERR("SYSTEMERR", "系统异常，对于实时类交易（例如被扫交易），进行查询g"),

    ;

    private final String code;
    private final String desc;

    public static String getEnumDesc(String code) {
        if (StrUtil.isNotBlank(code)) {
            for (AllInPayRetCodeEnum e : AllInPayRetCodeEnum.values()) {
                if (e.getCode().equals(code)) {
                    return e.getDesc();
                }
            }
        }
        return null;
    }
}
