using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Threading.Tasks;

namespace Hncore.Pass.Vpn.Domain
{
    public enum AccountType
    {
        [DisplayName("新开")]
        New = 1,
        [DisplayName("批量新开")]
        News = 2,
        [DisplayName("续费")]
        AgainBuy = 3,
        [DisplayName("批量续费")]
        AgainBuys = 4,

        [DisplayName("原系统认证")]
        Origin =100,

        [DisplayName("测试账号")]
        Test = 200,
    }

    public enum OrderType
    {
        [DisplayName("新开")]
        New = 1,
        [DisplayName("批量新开")]
        News = 2,
        [DisplayName("续费")]
        AgainBuy = 3,
        [DisplayName("批量续费")]
        AgainBuys = 4,
        [DisplayName("退款")]
        Refund = 5,      
    }
    public enum ClientType
    {
        WxMp = 1,
        WxMiniApp = 2,
        Pc = 3,
    }

    public enum PayType
    {
        /// <summary>
        /// 默认
        /// </summary>
        [Display(Name = "默认")]
        None = 10,
        /// <summary>
        /// 余额
        /// </summary>
        [Display(Name = "余额")]
        Amount = 10,

        /// <summary>
        /// 微信
        /// </summary>
        [Display(Name = "微信")]
        Wechat = 70,
        /// <summary>
        /// 支付宝
        /// </summary>
        [Display(Name = "支付宝")]
        Ali = 100,
    }

    public enum OrderStatus
    {
        [Display(Name = "默认")]
        None = 0,
        /// <summary>
        /// 待支付
        /// </summary>
        [Display(Name = "待付款")]
        NoPay = 10,
        /// <summary>
        /// 已支付
        /// </summary>
        [Display(Name = "已付款")]
        PayOk = 20,
        /// <summary>
        /// 申请退款
        /// </summary>
        [Display(Name = "申请退款")]
        RequestRefund = 30,
        /// <summary>
        /// 人工退款
        /// </summary>
        [Display(Name = "人工退款")]
        UserRefundOver = 40,
        /// <summary>
        /// 自送退款
        /// </summary>
        [Display(Name = "自动退款")]
        AutoRefundOver = 50,
        /// <summary>
        /// 订单超时关闭
        /// </summary>
        [Display(Name = "超时关闭")]
        TimeOutClose = 80,

        /// <summary>
        /// 订单完成
        /// </summary>
        [Display(Name = "订单完成")]
        Complete = 90,

    }

    public enum PackageType
    {
        [DisplayName("基本套餐")]
        Base = 1,
        [DisplayName("组合套餐")]
        Group = 2
    }

    public enum ChargeOperationType
    {
        [DisplayName("新开")]
        New = 1,
        [DisplayName("批量新开")]
        News = 2,
        [DisplayName("续费")]
        ReNew = 3,
        [DisplayName("退款")]
        Refund = 4,
    }

    public enum ChargeStatus
    {
        [DisplayName("成功")]
        Ok = 1,
        [DisplayName("失败")]
        Faild = 2,
        [DisplayName("关闭")]
        Close = 3,
        [DisplayName("超时")]
        Outtime = 4,
    }

    public enum AccountChargeStatus
    {
        [DisplayName("正常")]
        Normal = 1,
        [DisplayName("异常")]
        Exception = 2,       
    }

    public enum AccountStatus
    {
        [DisplayName("正常")]
        Normal = 1,
        [DisplayName("退款")]
        Refund = 2,
    }

    public enum ArticleCatalog
    {

        [DisplayName("聚IP头条")]
        Top = 1,
        [DisplayName("优惠活动")]
        Activity = 2,
        [DisplayName("常见问题")]
        QA = 3,
        [DisplayName("新手教程")]
        Help = 4,
    }

    public enum PayChannel
    {
        /// <summary>
        /// 微信H5
        /// </summary>
        [Display(Name = "微信H5")]
        WxH5 = 10,
        /// <summary>
        /// 微信公众号
        /// </summary>
        [Display(Name = "微信公众号")]
        WxMp = 20,

        /// <summary>
        /// 微信公众号
        /// </summary>
        [Display(Name = "微信Pc")]
        WxPc = 30,

        /// <summary>
        /// 支付宝H5
        /// </summary>
        [Display(Name = "支付宝H5")]
        AliH5 = 40,
        /// <summary>
        /// 支付宝
        /// </summary>
        [Display(Name = "支付宝Pc")]
        AliPc = 50,
    }
}