初始提交

This commit is contained in:
wanyongkang
2020-10-07 20:25:03 +08:00
commit d318014316
3809 changed files with 263103 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
using Hncore.Infrastructure.DDD;
using System;
namespace Hncore.Pass.Vpn.Domain
{
public partial class ArticleEntity : EntityWithDelete<int>, ITenant
{
public int TenantId { get; set; }
public string Title { get; set; }
public ArticleCatalog CatalogId { get; set; } = ArticleCatalog.Top;
public string SubTitle { get; set; }
public string Thumb { get; set; }
public string Keyword { get; set; }
public string Content { get; set; }
public int AccessCount { get; set; }
public int Publish { get; set; }
public string Tag { get; set; }
public DateTime CreateTime { get; set; } = DateTime.Now;
public int LinkType { get; set; }
public int LinkId { get; set; }
}
}

View File

@@ -0,0 +1,132 @@
using Hncore.Infrastructure.EF;
using Microsoft.AspNetCore.Http;
using Microsoft.EntityFrameworkCore;
namespace Hncore.Pass.Vpn.Domain
{
public partial class CourseContext : DbContextBase
{
/// <summary>
/// 构造函数
/// </summary>
/// <param name="options">上下文实体</param>
/// <param name="httpContextAccessor">http请求上下文</param>
public CourseContext(DbContextOptions<CourseContext> options, IHttpContextAccessor httpContextAccessor) :
base(options, httpContextAccessor)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<ArticleEntity>(entity =>
{
entity.ToTable("article");
entity.HasKey(p => p.Id);
entity.Property(e => e.Id).ValueGeneratedOnAdd();
});
modelBuilder.Entity<ProductEntity>(entity =>
{
entity.ToTable("product");
entity.HasKey(p => p.Id);
entity.Property(e => e.Id).ValueGeneratedOnAdd();
});
modelBuilder.Entity<ProductAccountEntity>(entity =>
{
entity.ToTable("product_account");
entity.HasKey(p => p.Id);
entity.Property(e => e.Id).ValueGeneratedOnAdd();
entity.Ignore(e => e.RestTime);
entity.Ignore(e => e.RestDay);
});
modelBuilder.Entity<UserEntity>(entity =>
{
entity.ToTable("user");
entity.HasKey(p => p.Id);
entity.Property(e => e.Id).ValueGeneratedOnAdd();
});
modelBuilder.Entity<ProductPackageEntity>(entity =>
{
entity.ToTable("product_package");
entity.HasKey(p => p.Id);
entity.Property(e => e.Id).ValueGeneratedOnAdd();
});
modelBuilder.Entity<ProductOrderEntity>(entity =>
{
entity.ToTable("product_order");
entity.HasKey(p => p.Id);
entity.Property(e => e.Id).ValueGeneratedOnAdd();
});
modelBuilder.Entity<ProductOrderItemEntity>(entity =>
{
entity.ToTable("product_order_items");
entity.HasKey(p => p.Id);
entity.Property(e => e.Id).ValueGeneratedOnAdd();
});
modelBuilder.Entity<ProductUserPriceEntity>(entity =>
{
entity.ToTable("product_user_price");
entity.HasKey(p => p.Id);
entity.Property(e => e.Id).ValueGeneratedOnAdd();
});
modelBuilder.Entity<ProductPackageUnitEntity>(entity =>
{
entity.ToTable("product_package_unit");
entity.HasKey(p => p.Id);
entity.Property(e => e.Id).ValueGeneratedOnAdd();
});
modelBuilder.Entity<ProductAccountChargeEntity>(entity =>
{
entity.ToTable("product_account_recharge");
entity.HasKey(p => p.Id);
entity.Property(e => e.Id).ValueGeneratedOnAdd();
});
modelBuilder.Entity<ProductRouteEntity>(entity =>
{
entity.ToTable("product_route");
entity.HasKey(p => p.Id);
entity.Property(e => e.Id).ValueGeneratedOnAdd();
});
modelBuilder.Entity<WxAppUserEntity>(entity =>
{
entity.ToTable("wx_app_user");
entity.HasKey(p => p.Id);
entity.Property(e => e.Id).ValueGeneratedOnAdd();
});
modelBuilder.Entity<ProductPriceSchemeEntity>(entity =>
{
entity.ToTable("product_price_scheme");
entity.HasKey(p => p.Id);
entity.Property(e => e.Id).ValueGeneratedOnAdd();
});
modelBuilder.Entity<ProductPriceDiscountEntity>(entity =>
{
entity.ToTable("product_price_discount");
entity.HasKey(p => p.Id);
entity.Property(e => e.Id).ValueGeneratedOnAdd();
});
base.OnModelCreating(modelBuilder);
}
}
}

View File

@@ -0,0 +1,207 @@
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,
}
}

View File

@@ -0,0 +1,23 @@
using Hncore.Infrastructure.DDD;
using System;
using System.Collections.Generic;
namespace Hncore.Pass.Vpn.Domain
{
public partial class ProductAccountChargeEntity : EntityWithTime<int>
{
public int OrderId { get; set; }
public int? ProductId { get; set; }
public string ProductGroup { get; set; }
public int? PackageId { get; set; }
public string PackageOriginKey { get; set; }
public string Account { get; set; }
public int AccountType { get; set; }
public string Pwd { get; set; }
public int ConnectCount { get; set; } = 0;
public ChargeStatus Status { get; set; } = 0;
public int DayCount { get; set; } = 1;
public int TryTimes { get; set; } = 1;
public ChargeOperationType OperationType { get; set; } = ChargeOperationType.New;
}
}

View File

@@ -0,0 +1,53 @@
using Hncore.Infrastructure.DDD;
using System;
using System.Collections.Generic;
namespace Hncore.Pass.Vpn.Domain
{
public partial class ProductAccountEntity : EntityWithTime<int>, ITenant
{
public int TenantId { get; set; }
public int? UserId { get; set; }
public int? ProductId { get; set; }
public int? PackageId { get; set; }
public string UserCode { get; set; }
public string UserPhone { get; set; }
public string ProductName { get; set; }
public string PackageName { get; set; }
public int? AccountType { get; set; }
public string Account { get; set; }
public string Pwd { get; set; }
public int ConnectCount { get; set; } = 0;
public AccountStatus Status { get; set; } = AccountStatus.Normal;
public AccountChargeStatus? ChargeStatus { get; set; } = AccountChargeStatus.Normal;
public DateTime? StartTime { get; set; }
public DateTime? EndTime { get; set; }
public string Remark { get; set; }
public string RestTime
{
get
{
if (EndTime < DateTime.Now)
return "已过期";
var bTime = StartTime > DateTime.Now ? StartTime : DateTime.Now;
var time = (EndTime - bTime).Value;
return time.ToString(@"d\天hh\时mm\分");
}
}
public int RestDay
{
get
{
if (EndTime < DateTime.Now)
return 0;
var bTime = StartTime > DateTime.Now ? StartTime : DateTime.Now;
var time = (EndTime - bTime).Value;
return time.Days;
}
}
public string Raw { get; set; }
}
}

View File

@@ -0,0 +1,50 @@
using Hncore.Infrastructure.DDD;
using System;
using System.Collections.Generic;
namespace Hncore.Pass.Vpn.Domain
{
public partial class ProductEntity : EntityWithDelete<int>, ITenant
{
public int TenantId { get; set; }
public string Name { get; set; }
public string Image { get; set; }
public int Sort { get; set; } = 0;
public string Account { get; set; }
public string Pwd { get; set; }
public string BaseUrl { get; set; }
public int? Status { get; set; } = 0;
public string LoginUrl { get; set; }
public string LoginCodeUrl { get; set; }
public string RefrushTokenUrl { get; set; }
public string PcClientDownloadUrl { get; set; }
public string DroidDownloadUrl { get; set; }
public string IosDownloadUrl { get; set; }
public string SimulatorDownloadUrl { get; set; }
public string Content { get; set; }
public string Profile { get; set; }
public string GroupNO { get; set; }
public string Token { get; set; }
public int? AutoRefund { get; set; } = 0;
public decimal? RefundDayPrice { get; set; } = 0;
public decimal? DayLimitPrice { get; set; } = 0;
public int OnLine { get; set; } = 1;
public string L2TPPwd { get; set; } = "";
public string SSTPPort { get; set; } = "";
/// <summary>
/// 记录添加(创建)时间
/// </summary>
public virtual DateTime CreateTime { get; set; } = DateTime.Now;
/// <summary>
/// 记录最后更新时间
/// </summary>
public virtual DateTime UpdateTime { get; set; } = DateTime.Now;
}
}

View File

@@ -0,0 +1,55 @@
using Hncore.Infrastructure.DDD;
using System;
using System.Collections.Generic;
namespace Hncore.Pass.Vpn.Domain
{
public partial class ProductOrderEntity : EntityWithTime<int>, ITenant
{
public int TenantId { get; set; }
public int UserId { get; set; }
public string UserName { get; set; }
public int ProductId { get; set; }
public string ProductName { get; set; }
public int PackageId { get; set; }
public string PackageName { get; set; }
public int? CouponId { get; set; } = 0;
public decimal? CouponAmount { get; set; }
public string OriginKey { get; set; }
public string OrderName { get; set; }
public string OrderNo { get; set; }
public string TradeNo { get; set; }
public OrderStatus OrderState { get; set; }
public OrderType OrderType { get; set; }
public PayType PayType { get; set; }
public PayChannel PayChannel { get; set; } = PayChannel.WxPc;
public int PayState { get; set; }
public int ConnectCount { get; set; }
public decimal OrderAmount { get; set; }
public decimal PaymentAmount { get; set; }
public decimal? AccountPayAmount { get; set; } = 0;
public decimal? OtherPayAmount { get; set; } = 0;
public decimal? DayPrice { get; set; } = 0;
public int DayCount { get; set; } = 1;
public int ClientType { get; set; }
public int ChannelType { get; set; }
public string Channel { get; set; }
public int AccountCount { get; set; } = 1;
public string Remark { get; set; }
public string Accounts { get; set; }
public string AccountPwd { get; set; }
public int RefundCount { get; set; }
public decimal RefundAmount { get; set; }
public string RefundRestTime { get; set; }
public DateTime? StartTime { get; set; }
public DateTime? EndTime { get; set; }
public int? IsAutoRefund { get; set; } = 0;
public decimal? BackAmount { get; set; } = 0;
}
}

View File

@@ -0,0 +1,34 @@
using Hncore.Infrastructure.DDD;
using System;
using System.Collections.Generic;
namespace Hncore.Pass.Vpn.Domain
{
public partial class ProductOrderItemEntity : EntityWithTime<int>, ITenant
{
public int TenantId { get; set; }
public int OrderId { get; set; }
public int UserId { get; set; }
public string UserName { get; set; }
public int ProductId { get; set; }
public string ProductName { get; set; }
public int PackageId { get; set; }
public string PackageName { get; set; }
public string Account { get; set; }
public string AccountPwd { get; set; }
public int ConnectCount { get; set; }
public int AccountType { get; set; }
public int StartNum { get; set; }
public int EndNum { get; set; }
public string OrderNo { get; set; }
public OrderStatus OrderState { get; set; }
public OrderType OrderType { get; set; }
public PayType PayType { get; set; }
public int PayState { get; set; }
public decimal Price { get; set; }
public decimal DayPrice { get; set; }
public int DayCount { get; set; }
public string Remark { get; set; }
}
}

View File

@@ -0,0 +1,27 @@
using Hncore.Infrastructure.DDD;
using System;
using System.Collections.Generic;
namespace Hncore.Pass.Vpn.Domain
{
public partial class ProductPackageEntity : EntityWithDelete<int>, ITenant
{
public int TenantId { get; set; }
public int ProductId { get; set; }
public PackageType PackageType { get; set; } = PackageType.Base;
public string Name { get; set; }
public string Title { get; set; }
public string Image { get; set; }
public int Status { get; set; } = 0;
public string Profile { get; set; }
public decimal Price { get; set; }
public decimal LinePrice { get; set; }
public decimal DayPrice { get; set; }
public decimal MinPrice { get; set; }
public int DayCount { get; set; } = 1;
public string OriginKey { get; set; }
public string OriginName { get; set; }
public int? IsTest { get; set; } = 0;
}
}

View File

@@ -0,0 +1,13 @@
using Hncore.Infrastructure.DDD;
using System;
using System.Collections.Generic;
namespace Hncore.Pass.Vpn.Domain
{
public partial class ProductPackageUnitEntity : Entity<int>
{
public int PackageId { get; set; }
public int BasePackageId { get; set; }
public int Count { get; set; }
}
}

View File

@@ -0,0 +1,19 @@
using Hncore.Infrastructure.DDD;
using System;
using System.Collections.Generic;
namespace Hncore.Pass.Vpn.Domain
{
public partial class ProductPriceDiscountEntity : EntityWithDelete<int>
{
public int SchemeId { get; set; }
public int TenantId { get; set; }
public int ProductId { get; set; }
public int PackageId { get; set; }
public int Status { get; set; } = 0;
public int BuyPriceDiscount { get; set; } = 0;
public int RefundDayPriceDiscount { get; set; } = 0;
public string Remark { get; set; }
}
}

View File

@@ -0,0 +1,13 @@
using Hncore.Infrastructure.DDD;
using System;
using System.Collections.Generic;
namespace Hncore.Pass.Vpn.Domain
{
public partial class ProductPriceSchemeEntity : EntityWithTime<int>
{
public string Name { get; set; }
public string Remark { get; set; }
}
}

View File

@@ -0,0 +1,26 @@
using Hncore.Infrastructure.DDD;
using System;
using System.Collections.Generic;
namespace Hncore.Pass.Vpn.Domain
{
public partial class ProductRouteEntity : EntityWithDelete<int>
{
public int? ProductId { get; set; }
public string ProductName { get; set; }
public string Province { get; set; }
public string City { get; set; }
public int Sort { get; set; } = 0;
public string Name { get; set; }
public string ServerUrl { get; set; }
public string Status { get; set; }
public string LineType { get; set; }
public string BandWidth { get; set; }
public string IpRemark { get; set; }
public string Remark { get; set; }
public int OnLine { get; set; } = 1;
public string KeyWord { get; set; }
}
}

View File

@@ -0,0 +1,19 @@
using Hncore.Infrastructure.DDD;
using System;
using System.Collections.Generic;
namespace Hncore.Pass.Vpn.Domain
{
public partial class ProductUserPriceEntity : EntityWithDelete<int>, ITenant
{
public int TenantId { get; set; }
public int ProductId { get; set; }
public int PackageId { get; set; }
public int UserId { get; set; }
public int Status { get; set; } = 0;
public decimal UserPrice { get; set; }
public decimal? RefundDayPrice { get; set; } = 0;
public string Remark { get; set; }
}
}

View File

@@ -0,0 +1,82 @@
using Hncore.Infrastructure.DDD;
using System;
namespace Hncore.Pass.Vpn.Domain
{
public partial class UserEntity : EntityWithTime<int>, ITenant
{
/// <summary>
/// ID
/// <summary>
public int TenantId { get; set; }
/// <summary>
/// 管理员登录名[16
/// </summary>
public string LoginCode { get; set; }
/// <summary>
/// 登录密码[20]
/// </summary>
public string Password { get; set; }
/// <summary>
/// 微信昵称
/// </summary>
public string Name { get; set; }
/// <summary>
/// 微信头像
/// </summary>
public string Phone { get; set; }
/// <summary>
/// 注册来源
/// </summary>
public string Profile { get; set; }
/// <summary>
/// 状态
/// </summary>
public int Enabled { get; set; } = 1;
/// <summary>
/// 头像地址[30
/// </summary>
public string PhotoUrl { get; set; }
/// <summary>
/// 是否主管理员权限
/// </summary>
public DateTime? LastLoginDate { get; set; } = DateTime.Now;
public int Sex { get; set; }
//1:管理员添加 2自己注册 3来自淘宝
public int CreateType { get; set; }
public int ProductAccountCount { get; set; }
public int ExpiredProductAccountCount { get; set; }
public decimal RestAmount { get; set; }
public decimal ConsumeAmount { get; set; }
public string Remark { get; set; }
public string Wx { get; set; }
public string QQ { get; set; }
public string Email { get; set; }
public string TaoBao { get; set; }
public string WangWang { get; set; }
public int? TestCountLimit { get; set; } = 0;
public int? UseTestCount { get; set; } = 0;
public int? ManagerId { get; set; } = 0;
public string ManagerName { get; set; }
}
}

View File

@@ -0,0 +1,28 @@
using Hncore.Infrastructure.DDD;
using System;
namespace Hncore.Pass.Vpn.Domain
{
public partial class WxAppEntity : EntityWithDelete<int>, ITenant
{
public int TenantId { get; set; }
public int StoreId { get; set; }
public string OpenAppId { get; set; }
public string Appid { get; set; }
public int AppType { get; set; }
public string HeadImg { get; set; }
public string NickName { get; set; }
public string UserName { get; set; }
public string PrincipalName { get; set; }
public string Bussinessinfo { get; set; }
public string Createtime { get; set; }
public int AuthorizerState { get; set; }
public string RefreshToken { get; set; }
public int ExpiresIn { get; set; }
public DateTime UpdateTime { get; set; } = DateTime.Now;
}
}

View File

@@ -0,0 +1,31 @@
using Hncore.Infrastructure.DDD;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Hncore.Pass.Vpn.Domain
{
public partial class WxAppUserEntity : EntityWithDelete<int>, ITenant
{
public int TenantId { get; set; }
public int StoreId { get; set; }
public string Appid { get; set; }
public int AppType { get; set; }
public int UserId { get; set; }
public string Unionid { get; set; }
public string Openid { get; set; }
public string NickName { get; set; }
public string UserName { get; set; }
public string HeadImgUrl { get; set; }
public int Sex { get; set; }
public string City { get; set; }
public string Country { get; set; }
public int IsSubscribe { get; set; }
public int InvateUserId { get; set; }
public DateTime Createtime { get; set; } = DateTime.Now;
public DateTime UpdateTime{ get; set; } = DateTime.Now;
}
}