初始提交
This commit is contained in:
25
Services/Hncore.Pass.Vpn/Domain/Article.cs
Normal file
25
Services/Hncore.Pass.Vpn/Domain/Article.cs
Normal 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; }
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
132
Services/Hncore.Pass.Vpn/Domain/CourseContext.cs
Normal file
132
Services/Hncore.Pass.Vpn/Domain/CourseContext.cs
Normal 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
207
Services/Hncore.Pass.Vpn/Domain/Enums.cs
Normal file
207
Services/Hncore.Pass.Vpn/Domain/Enums.cs
Normal 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,
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
53
Services/Hncore.Pass.Vpn/Domain/ProductAccountEntity.cs
Normal file
53
Services/Hncore.Pass.Vpn/Domain/ProductAccountEntity.cs
Normal 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; }
|
||||
}
|
||||
}
|
||||
50
Services/Hncore.Pass.Vpn/Domain/ProductEntity.cs
Normal file
50
Services/Hncore.Pass.Vpn/Domain/ProductEntity.cs
Normal 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;
|
||||
|
||||
}
|
||||
}
|
||||
55
Services/Hncore.Pass.Vpn/Domain/ProductOrderEntity.cs
Normal file
55
Services/Hncore.Pass.Vpn/Domain/ProductOrderEntity.cs
Normal 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;
|
||||
|
||||
}
|
||||
}
|
||||
34
Services/Hncore.Pass.Vpn/Domain/ProductOrderItemEntity.cs
Normal file
34
Services/Hncore.Pass.Vpn/Domain/ProductOrderItemEntity.cs
Normal 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; }
|
||||
}
|
||||
}
|
||||
27
Services/Hncore.Pass.Vpn/Domain/ProductPackageEntity.cs
Normal file
27
Services/Hncore.Pass.Vpn/Domain/ProductPackageEntity.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
13
Services/Hncore.Pass.Vpn/Domain/ProductPackageUnitEntity.cs
Normal file
13
Services/Hncore.Pass.Vpn/Domain/ProductPackageUnitEntity.cs
Normal 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; }
|
||||
}
|
||||
}
|
||||
@@ -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; }
|
||||
|
||||
}
|
||||
}
|
||||
13
Services/Hncore.Pass.Vpn/Domain/ProductPriceSchemeEntity.cs
Normal file
13
Services/Hncore.Pass.Vpn/Domain/ProductPriceSchemeEntity.cs
Normal 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; }
|
||||
|
||||
}
|
||||
}
|
||||
26
Services/Hncore.Pass.Vpn/Domain/ProductRouteEntity.cs
Normal file
26
Services/Hncore.Pass.Vpn/Domain/ProductRouteEntity.cs
Normal 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; }
|
||||
|
||||
}
|
||||
}
|
||||
19
Services/Hncore.Pass.Vpn/Domain/ProductUserPriceEntity.cs
Normal file
19
Services/Hncore.Pass.Vpn/Domain/ProductUserPriceEntity.cs
Normal 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; }
|
||||
|
||||
}
|
||||
}
|
||||
82
Services/Hncore.Pass.Vpn/Domain/UserEntity.cs
Normal file
82
Services/Hncore.Pass.Vpn/Domain/UserEntity.cs
Normal 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; }
|
||||
|
||||
}
|
||||
}
|
||||
28
Services/Hncore.Pass.Vpn/Domain/WxAppEntity.cs
Normal file
28
Services/Hncore.Pass.Vpn/Domain/WxAppEntity.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
31
Services/Hncore.Pass.Vpn/Domain/WxAppUserEntity.cs
Normal file
31
Services/Hncore.Pass.Vpn/Domain/WxAppUserEntity.cs
Normal 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;
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user