package com.ruoyi.newwxpay.transfer;

public enum TransferStatus {
    ACCEPTED("转账已受理"),
    PROCESSING("转账锁定资金中。如果一直停留在该状态，建议检查账户余额是否足够，如余额不足，可充值后再原单重试。"),
    WAIT_USER_CONFIRM("待收款用户确认，可拉起微信收款确认页面进行收款确认"),
    TRANSFERING("转账中，可拉起微信收款确认页面再次重试确认收款"),
    SUCCESS("转账成功"),
    FAIL("转账失败"),
    CANCELING("商户撤销请求受理成功，该笔转账正在撤销中"),
    CANCELLED("转账撤销完成");

    private final String description;

    // 构造函数
    TransferStatus(String description) {
        this.description = description;
    }

    // 获取描述信息
    public String getDescription() {
        return description;
    }

    // 根据状态名称获取枚举值
    public static TransferStatus fromName(String name) {
        for (TransferStatus status : TransferStatus.values()) {
            if (status.name().equals(name)) {
                return status;
            }
        }
        throw new IllegalArgumentException("无效的状态名称: " + name);
    }
}
