添加项目文件。

This commit is contained in:
2025-12-02 13:10:10 +08:00
parent 93a2382a16
commit 289aa4cbe7
400 changed files with 91177 additions and 0 deletions

View File

@@ -0,0 +1,149 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 用户收货地址信息
/// </summary>
[Table("Addresses")]
public class Address
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 添加地址用户
/// </summary>
public long UserId { get; set; }
/// <summary>
/// 收件人姓名
/// </summary>
[Column(TypeName = "varchar(128)")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 邮件地址
/// </summary>
[Column(TypeName = "varchar(255)")]
public string Email { get; set; } = string.Empty;
/// <summary>
/// 电话号码
/// </summary>
[Column(TypeName = "varchar(20)")]
public string Phone { get; set; } = string.Empty;
/// <summary>
/// 公司
/// </summary>
[Column(TypeName = "varchar(255)")]
public string Company { get; set; } = string.Empty;
/// <summary>
/// 国家ID
/// </summary>
public long CountryId { get; set; }
/// <summary>
/// 国家
/// </summary>
[Column(TypeName = "varchar(50)")]
public string Country { get; set; } = string.Empty;
/// <summary>
/// 省份
/// </summary>
public long ProvinceId { get; set; }
/// <summary>
/// 省、州
/// </summary>
[Column(TypeName = "varchar(100)")]
public string Province { get; set; } = string.Empty;
/// <summary>
/// 城市
/// </summary>
public long CityId { get; set; }
/// <summary>
/// 城市
/// </summary>
[Column(TypeName = "varchar(100)")]
public string City { get; set; } = string.Empty;
/// <summary>
/// 地区
/// </summary>
public long RegionId { get; set; }
/// <summary>
/// 地区街
/// </summary>
[Column(TypeName = "varchar(100)")]
public string Region { get; set; } = string.Empty;
/// <summary>
/// 邮政编码
/// </summary>
[Column(TypeName = "varchar(15)")]
public string PostalCode { get; set; } = string.Empty;
/// <summary>
/// 详细地址
/// </summary>
[Column(TypeName = "varchar(256)")]
public string AddressDetails { get; set; } = string.Empty;
/// <summary>
/// 完整地址
/// </summary>
[Column(TypeName = "varchar(1024)")]
public string FullAddress { get; set; } = string.Empty;
/// <summary>
/// 地址所在经度
/// </summary>
[Column(TypeName = "decimal(10,6)")]
public decimal Longitude { get; set; }
/// <summary>
/// 地址所在纬度
/// </summary>
[Column(TypeName = "decimal(10,6)")]
public decimal Latitude { get; set; }
/// <summary>
/// 是否是虚拟地址
/// </summary>
public bool IsVirtual { get; set; }
/// <summary>
/// 地址使用次数
/// </summary>
public int Count { get; set; }
/// <summary>
/// 是否删除
/// </summary>
public bool IsDelete { get; set; }
/// <summary>
/// 建立时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; }
/// <summary>
/// 最后更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,94 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 系统管理员表
/// </summary>
[Table("Admins")]
public class Admin
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 用户名
/// </summary>
[Column(TypeName = "varchar(64)")]
public string Username { get; set; } = string.Empty;
/// <summary>
/// 登录密码
/// </summary>
[Column(TypeName = "varchar(64)")]
public string Password { get; set; } = string.Empty;
/// <summary>
/// 邮箱
/// </summary>
[Column(TypeName = "varchar(64)")]
public string Email { get; set; } = string.Empty;
/// <summary>
/// 手机号
/// </summary>
[Column(TypeName = "varchar(64)")]
public string Mobile { get; set; } = string.Empty;
/// <summary>
/// 头像
/// </summary>
[Column(TypeName = "varchar(64)")]
public string Avatar { get; set; } = string.Empty;
/// <summary>
/// 角色ID
/// </summary>
public int RoleId { get; set; }
/// <summary>
/// 时区校对
/// </summary>
[Column(TypeName = "varchar(4)")]
public string TimeOffset { get; set; } = "0";
/// <summary>
/// 账号数据状态
/// </summary>
public int Status { get; set; }
/// <summary>
/// 登录次数
/// </summary>
public int LoginCount { get; set; }
/// <summary>
/// 最后登录时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? LastLogin { get; set; }
/// <summary>
/// 最后登录时间
/// </summary>
[Column(TypeName = "varchar(50)")]
public string LastIp { get; set; } = string.Empty;
/// <summary>
/// 数据创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; } = DateTime.UtcNow;
/// <summary>
/// 数据更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,99 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 应用版本
/// </summary>
[Table("AppVersions")]
public class AppVersion
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 归属站点应用ID
/// </summary>
public long SiteId { get; set; }
/// <summary>
/// 运行平台
/// </summary>
public int Platform { get; set; }
/// <summary>
/// 应用名称KEY
/// </summary>
[Column(TypeName = "varchar(64)")]
public string AppName { get; set; } = string.Empty;
/// <summary>
/// 版本标题
/// </summary>
[Column(TypeName = "varchar(64)")]
public string Title { get; set; } = string.Empty;
/// <summary>
/// 版本
/// </summary>
[Column(TypeName = "varchar(64)")]
public string Version { get; set; } = string.Empty;
/// <summary>
/// 主版本号(major)无法向下兼容时,需要递增
/// </summary>
[Column(TypeName = "varchar(64)")]
public int VersionX { get; set; }
/// <summary>
/// 次版本号(minor)新增新的特性时,需要递增
/// </summary>
[Column(TypeName = "varchar(64)")]
public int VersionY { get; set; }
/// <summary>
/// 修订版本号(patch)修复问题时,需要递增
/// </summary>
[Column(TypeName = "varchar(64)")]
public int VersionZ { get; set; }
/// <summary>
/// 版本日期
/// </summary>
[Column(TypeName = "varchar(64)")]
public int VersionDate { get; set; }
/// <summary>
/// 版本状态 例如b 表示bate版即测试版
/// </summary>
public int VersionState { get; set; }
/// <summary>
/// 更新内容说明
/// </summary>
[Column(TypeName = "text")]
public string Content { get; set; } = string.Empty;
/// <summary>
/// 版本状态
/// </summary>
public int Status { get; set; }
/// <summary>
/// 数据创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; } = DateTime.UtcNow;
/// <summary>
/// 数据更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,69 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 地区(国家、省、市、区)
/// </summary>
public class Area
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 上级ID
/// </summary>
public long ParentId { get; set; }
/// <summary>
/// 地区名称
/// </summary>
[Column(TypeName = "varchar(255)")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 首字母
/// </summary>
[Column(TypeName = "varchar(1)")]
public string Initial { get; set; } = string.Empty;
/// <summary>
/// 双字母代码
/// </summary>
[Column(TypeName = "varchar(2)")]
public string TwoLetterISOCode { get; set; } = string.Empty;
/// <summary>
/// 三字母代码
/// </summary>
[Column(TypeName = "varchar(3)")]
public string ThreeLetterISOCode { get; set; } = string.Empty;
/// <summary>
/// 数字代码
/// </summary>
public int NumericISOCode { get; set; }
/// <summary>
/// 是否允许配送
/// </summary>
public bool AllowShipping { get; set; }
/// <summary>
/// 是否启用
/// </summary>
public bool Enabled { get; set; }
/// <summary>
/// 显示排序
/// </summary>
public int DisplayOrder { get; set; }
}
}

View File

@@ -0,0 +1,119 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 分类
/// </summary>
public class Category
{
/// <summary>
/// 分类ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 归属站点应用ID
/// </summary>
public long SiteId { get; set; }
/// <summary>
/// 分类类型,1内容2产品3社区
/// </summary>
public int Type { get; set; }
/// <summary>
/// 上级分类ID
/// </summary>
public long ParentId { get; set; }
/// <summary>
/// 分类名称
/// </summary>
[Column(TypeName = "varchar(25)")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 分类URL缩略名
/// </summary>
[Column(TypeName = "varchar(50)")]
public string Slug { get; set; } = string.Empty;
/// <summary>
/// Meta描述介绍
/// </summary>
[Column(TypeName = "varchar(255)")]
public string MetaDescription { get; set; } = string.Empty;
/// <summary>
/// Meta关键词
/// </summary>
[Column(TypeName = "varchar(255)")]
public string MetaKeywords { get; set; } = string.Empty;
/// <summary>
/// 过滤属性IDs
/// </summary>
[Column(TypeName = "varchar(255)")]
public string FilterAttributes { get; set; } = string.Empty;
/// <summary>
/// 分类图片
/// </summary>
[Column(TypeName = "varchar(255)")]
public string Image { get; set; } = string.Empty;
/// <summary>
/// 分类页 banner
/// </summary>
[Column(TypeName = "varchar(255)")]
public string Banner { get; set; } = string.Empty;
/// <summary>
/// 只是一个节点
/// </summary>
public bool IsNode { get; set; }
/// <summary>
/// 是否可用
/// </summary>
public bool Enabled { get; set; }
/// <summary>
/// 层级深度
/// </summary>
public int Depth { get; set; }
/// <summary>
/// 层级路径
/// </summary>
[Column(TypeName = "varchar(100)")]
public string Path { get; set; } = string.Empty;
/// <summary>
/// 排序
/// </summary>
public int DisplayOrder { get; set; }
/// <summary>
/// 统计量
/// </summary>
public int Count { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,84 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 评论
/// </summary>
[Table("Comments")]
public class Comment
{
/// <summary>
/// 分类ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 归属站点应用ID
/// </summary>
public long SiteId { get; set; }
/// <summary>
/// 发布评论用户ID
/// </summary>
public long UserId { get; set; }
/// <summary>
/// 内容ID
/// </summary>
public long PostId { get; set; }
/// <summary>
/// 上级评论ID,0表示根评论
/// </summary>
public long ParentId { get; set; }
/// <summary>
/// 引用评论ID,0表示不引用
/// </summary>
public long QuoteId { get; set; }
/// <summary>
/// 评论信息
/// </summary>
[Column(TypeName = "text")]
public string Content { get; set; } = string.Empty;
/// <summary>
/// 支持的点赞数
/// </summary>
public int LikeCount { get; set; }
/// <summary>
/// 回复的评论数
/// </summary>
public int Replies { get; set; }
/// <summary>
/// 评论IP
/// </summary>
[Column(TypeName = "varchar(64)")]
public string Ip { get ; set; } = string.Empty;
/// <summary>
/// 评论状态,0-待审核,1-已发布,2-垃圾评论,3-回收站
/// </summary>
public int Status { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,64 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 公司信息
/// </summary>
[Table("Corporations")]
public class Corporation
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 公司名称
/// </summary>
[Column(TypeName = "varchar(64)")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 店铺网点数量
/// </summary>
public int StoreCount { get; set; }
/// <summary>
/// 产品数量
/// </summary>
public int ProductCount { get; set; }
/// <summary>
/// 商品数量
/// </summary>
public int GoodsCount { get; set; }
/// <summary>
/// 数据状态
/// </summary>
public int Status { get; set; }
/// <summary>
/// 数据创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; } = DateTime.UtcNow;
/// <summary>
/// 数据更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
/// <summary>
/// 数据删除时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? DeleteTime { get; set; }
}
}

View File

@@ -0,0 +1,35 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 企业供应商关系
/// </summary>
[Table("CorporationManufacturerRelations")]
public class CorporationManufacturerRelation
{
/// <summary>
/// 产品属性关联数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 企业ID
/// </summary>
public long CorporationId { get; set; }
/// <summary>
/// 供应制造商ID
/// </summary>
public long ManufacturerId { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; }
}
}

View File

@@ -0,0 +1,96 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
[Table("CorporationStaffs")]
public class CorporationStaff
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 公司ID
/// </summary>
public long CorporationId { get; set; }
/// <summary>
/// 用户名
/// </summary>
[Column(TypeName = "varchar(64)")]
public string Username { get; set; } = string.Empty;
/// <summary>
/// 登录密码
/// </summary>
[Column(TypeName = "varchar(64)")]
public string Password { get; set; } = string.Empty;
/// <summary>
/// 邮箱
/// </summary>
[Column(TypeName = "varchar(64)")]
public string Email { get; set; } = string.Empty;
/// <summary>
/// 手机号
/// </summary>
[Column(TypeName = "varchar(64)")]
public string Mobile { get; set; } = string.Empty;
/// <summary>
/// 头像
/// </summary>
[Column(TypeName = "varchar(64)")]
public string Avatar { get; set; } = string.Empty;
/// <summary>
/// 角色ID
/// </summary>
public int RoleId { get; set; }
/// <summary>
/// 时区校对
/// </summary>
[Column(TypeName = "varchar(4)")]
public string TimeOffset { get; set; } = "0";
/// <summary>
/// 账号数据状态
/// </summary>
public int Status { get; set; }
/// <summary>
/// 登录次数
/// </summary>
public int LoginCount { get; set; }
/// <summary>
/// 最后登录时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? LastLogin { get; set; }
/// <summary>
/// 最后登录时间
/// </summary>
[Column(TypeName = "varchar(50)")]
public string LastIp { get; set; } = string.Empty;
/// <summary>
/// 数据创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; } = DateTime.UtcNow;
/// <summary>
/// 数据更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,43 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 用户公司关系
/// </summary>
[Table("CorporationUserRelations")]
public class CorporationUserRelation
{
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 公司ID
/// </summary>
public long CorporationId { get; set; }
/// <summary>
/// 用户ID
/// </summary>
public long UserId { get; set; }
/// <summary>
/// 数据状态
/// </summary>
public int Status { get; set; }
/// <summary>
/// 数据创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; } = DateTime.UtcNow;
/// <summary>
/// 数据更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,94 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 货币信息
/// </summary>
public class Currency
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public int Id { get; set; }
/// <summary>
/// 货币名称,系统
/// </summary>
[Column(TypeName = "varchar(50)")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 货币标题,识别
/// </summary>
[Column(TypeName = "varchar(50)")]
public string Title { get; set; } = string.Empty;
/// <summary>
/// 货币单位代码
/// </summary>
[Column(TypeName = "varchar(10)")]
public string CurrencyCode { get; set; }= string.Empty;
/// <summary>
/// 本地显示
/// </summary>
[Column(TypeName = "varchar(15)")]
public string DisplayLocale { get; set;} = string.Empty;
/// <summary>
/// 货币符号
/// </summary>
[Column(TypeName = "varchar(8)")]
public string Symbolic { get; set; } = string.Empty;
/// <summary>
/// 数字自定义格式化
/// </summary>
[Column(TypeName = "varchar(20)")]
public string CustomFormatting { get; set; } = string.Empty;
/// <summary>
/// 兑换汇率
/// </summary>
[Column(TypeName = "decimal(16, 4)")]
public decimal Rate { get; set; }
/// <summary>
/// 排序
/// </summary>
public int DisplayOrder { get; set; }
/// <summary>
/// 是否显示
/// </summary>
public bool EnableDisplay { get; set; }
/// <summary>
/// 启用支付
/// </summary>
public bool EnablePay { get; set; }
/// <summary>
/// 是否可用
/// </summary>
public bool Enabled { get; set; }
/// <summary>
/// 建立时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; }
/// <summary>
/// 最后更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,73 @@
using System.ComponentModel.DataAnnotations.Schema;
using System.ComponentModel.DataAnnotations;
namespace Atomx.Common.Entities
{
/// <summary>
/// 货币与支付通道关联表
/// </summary>
public class CurrencyChannelRelation
{
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 货币支付通道标题
/// </summary>
public string Title { get; set; } = string.Empty;
/// <summary>
/// 货币ID
/// </summary>
public int CurrencyId { get; set; }
/// <summary>
/// 支付通道ID
/// </summary>
public int PayChannelId { get; set; }
/// <summary>
/// 每天可用开始时间
/// </summary>
public int StartTime { get; set; }
/// <summary>
/// 每天可用暂停时间
/// </summary>
public int EndTime { get; set; }
/// <summary>
/// 每天可用时间的时区
/// </summary>
public int TimeZone { get; set; }
/// <summary>
/// 通道费率
/// </summary>
public decimal Rate { get; set; }
/// <summary>
/// 扩展信息
/// </summary>
[Column(TypeName = "text")]
public string Extended { get; set; } = string.Empty;
/// <summary>
/// 通道状态
/// </summary>
public int Status { get; set; }
/// <summary>
/// 建立时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; }
/// <summary>
/// 最后更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,71 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 语言
/// </summary>
[Table("Languages")]
public class Language
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Key]
public int Id { get; set; }
/// <summary>
/// 语言名称
/// </summary>
[Column(TypeName = "varchar(50)")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 语言标题
/// </summary>
[Column(TypeName = "varchar(50)")]
public string Title { get; set; } = string.Empty;
/// <summary>
/// 语言名称
/// </summary>
[Column(TypeName = "varchar(25)")]
public string Culture { get; set; } = string.Empty;
/// <summary>
/// 国旗
/// </summary>
[Column(TypeName = "varchar(255)")]
public string FlagImage { get; set; } = string.Empty;
/// <summary>
/// 排序
/// </summary>
public int DisplayOrder { get; set; }
/// <summary>
/// 是否可用,系统面
/// </summary>
public bool Enabled { get; set; }
/// <summary>
/// 多语言资源的版本,可以是时间戳或哈希
/// </summary>
[Column(TypeName = "varchar(25)")]
public string ResourceVersion { get; set; } = string.Empty;
/// <summary>
/// 创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; } = DateTime.UtcNow;
/// <summary>
/// 更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,42 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 本地化多语言资源,用于系统文本多语言
/// </summary>
[Table("LocaleResources")]
public class LocaleResource
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 语言编码
/// </summary>
public int LanguageId { get; set; }
/// <summary>
/// 资源名称
/// </summary>
[Column(TypeName = "varchar(255)")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 资源内容值
/// </summary>
[Column(TypeName = "varchar(1000)")]
public string Value { get; set; } = string.Empty;
/// <summary>
/// 最后更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,46 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 数据本地化属性值,适用于数据多语言
/// </summary>
[Table("LocalizedProperties")]
public class LocalizedProperty
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 语言编码
/// </summary>
public int LanguageNumber { get; set; }
/// <summary>
/// 数据类型
/// </summary>
public int Type { get; set; }
/// <summary>
/// 数据实体ID
/// </summary>
public long EntityId { get; set; }
/// <summary>
/// 数据KEY
/// </summary>
[Column(TypeName = "varchar(255)")]
public string Key { get; set; } = string.Empty;
/// <summary>
/// 数据值
/// </summary>
[Column(TypeName = "text")]
public string Value { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,88 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 制造商供应商数据
/// </summary>
[Table("Manufacturers")]
public class Manufacturer
{
/// <summary>
/// 制造商ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 制造商名称
/// </summary>
[Column(TypeName = "varchar(50)")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 是否是供应商
/// </summary>
public bool IsVendor { get; set; }
/// <summary>
/// 品牌LOGO
/// </summary>
[Column(TypeName = "varchar(300)")]
public string Logo { get; set; } = string.Empty;
/// <summary>
/// 品牌制造商描述
/// </summary>
[Column(TypeName = "varchar(512)")]
public string Description { get; set; } = string.Empty;
/// <summary>
/// Meta标题
/// </summary>
[Column(TypeName = "varchar(50)")]
public string MetaTitle { get; set; } = string.Empty;
/// <summary>
/// Meta标题
/// </summary>
[Column(TypeName = "varchar(255)")]
public string MetaKeywords { get; set; } = string.Empty;
/// <summary>
/// Meta标题
/// </summary>
[Column(TypeName = "varchar(512)")]
public string MetaDescription { get; set; } = string.Empty;
/// <summary>
/// 品牌产品数量
/// </summary>
public int Count { get; set; }
/// <summary>
/// 是否启用
/// </summary>
public bool Enabled { get; set; }
/// <summary>
/// 显示排序
/// </summary>
public int DisplayOrder { get; set; }
/// <summary>
/// 建立时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; }
/// <summary>
/// 最后更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,43 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 制造商产品关系
/// </summary>
[Table("ManufacturerProductRelations")]
public class ManufacturerProductRelation
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 产品ID
/// </summary>
public long ProductId { get; set; }
/// <summary>
/// 供应制造商ID
/// </summary>
public long ManufacturerId { get; set; }
/// <summary>
/// 预设默认制造加工费
/// </summary>
[Column(TypeName = "decimal(18,4)")]
public decimal ProcessingFee { get; set; }
/// <summary>
/// 预设默认附加工费
/// </summary>
[Column(TypeName = "decimal(18,4)")]
public decimal AdditionalFee { get; set; }
}
}

View File

@@ -0,0 +1,45 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 物料原料类型数据
/// </summary>
[Table("Materials")]
public class Material
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 原料类型
/// </summary>
public int Type { get; set; }
/// <summary>
/// 原料归属公司ID
/// </summary>
public long CorporationId { get; set; }
/// <summary>
/// 原料归属店铺网点ID
/// </summary>
public long StoreId { get; set; }
/// <summary>
/// 原料数量
/// </summary>
public decimal Quantity { get; set; }
/// <summary>
/// 数据最后更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,66 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 原料采购批次
/// </summary>
[Table("MaterialBatchs")]
public class MaterialBatch
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 类型:采购、借调、借调归还
/// </summary>
public int Type { get; set; }
/// <summary>
/// 原料数据ID
/// </summary>
public long MaterialId { get; set; }
/// <summary>
/// 原料归属公司ID
/// </summary>
public long CorporationId { get; set; }
/// <summary>
/// 原料归属店铺网点ID
/// </summary>
public long StoreId { get; set; }
/// <summary>
/// 原料当前数量
/// </summary>
public decimal Quantity { get; set; }
/// <summary>
/// 原料批次总量
/// </summary>
public decimal TotalQuantity { get; set; }
/// <summary>
/// 原料采购价格
/// </summary>
public decimal Price { get; set; }
/// <summary>
/// 数据创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; } = DateTime.UtcNow;
/// <summary>
/// 数据最后更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,81 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 原料详细记录,采购入库、使用出库、借调、归还、盘点校对
/// </summary>
[Table("MaterialRecords")]
public class MaterialRecord
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 操作类型,采购入库、使用出库、借调出库、归还入库、盘点校对
/// </summary>
public int Type { get; set; }
/// <summary>
/// 原料Id
/// </summary>
public long MaterialId { get; set; }
/// <summary>
/// 归属原料批次ID
/// </summary>
public long MaterialBatchId { get; set; }
/// <summary>
/// 归属公司id
/// </summary>
public long CorporationId { get; set; }
/// <summary>
/// 数据店铺网点id
/// </summary>
public long StoreId { get; set; }
/// <summary>
/// 操作用户ID
/// </summary>
public long UserId { get; set; }
/// <summary>
/// 原料价格
/// </summary>
public decimal Price { get; set; }
/// <summary>
/// 数量
/// </summary>
public decimal Quantity { get; set; }
/// <summary>
/// 使用原料产生的费用
/// </summary>
public decimal Expenses { get; set; }
/// <summary>
/// 标记
/// </summary>
public int Mark { get; set; }
/// <summary>
/// 备注说明
/// </summary>
[Column(TypeName = "varchar(255)")]
public string Note { get; set; } = string.Empty;
/// <summary>
/// 注册数据创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; } = DateTime.UtcNow;
}
}

View File

@@ -0,0 +1,98 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 菜单数据,可用于后台菜单和其他菜单通过Type约定
/// </summary>
[Table("Menus")]
public class Menu
{
/// <summary>
/// 分类ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 分类类型,1-管理后台系统
/// </summary>
public int Type { get; set; }
/// <summary>
/// 上级分类ID
/// </summary>
public long ParentId { get; set; }
/// <summary>
/// 分类名称
/// </summary>
[Column(TypeName = "varchar(50)")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 分类图标
/// </summary>
[Column(TypeName = "varchar(255)")]
public string Icon { get; set; } = string.Empty;
/// <summary>
/// 菜单分组,针对折叠菜单效果
/// </summary>
[Column(TypeName = "varchar(50)")]
public string Key { get; set; } = string.Empty;
/// <summary>
/// 菜单链接的URL
/// </summary>
[Column(TypeName = "varchar(255)")]
public string Url { get; set; } = string.Empty;
/// <summary>
/// 权限代码
/// </summary>
[Column(TypeName = "varchar(50)")]
public string Code { get; set; } = string.Empty;
/// <summary>
/// 是否外链接
/// </summary>
public bool IsLink { get; set; }
/// <summary>
/// 是否可用
/// </summary>
public bool Enabled { get; set; }
/// <summary>
/// 层级深度
/// </summary>
public int Depth { get; set; }
/// <summary>
/// 层级路径
/// </summary>
[Column(TypeName = "varchar(100)")]
public string Path { get; set; } = string.Empty;
/// <summary>
/// 排序
/// </summary>
public int DisplayOrder { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,65 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 系统消息模版
/// </summary>
[Table("MessageTemplates")]
public class MessageTemplate
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 消息模板类型
/// </summary>
public int Type { get; set; }
/// <summary>
/// 信息模板KEY
/// </summary>
[Column(TypeName = "varchar(64)")]
public string Key { get; set; } = string.Empty;
/// <summary>
/// 消息模板名称
/// </summary>
[Column(TypeName = "varchar(256)")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 消息标题
/// </summary>
[Column(TypeName = "varchar(256)")]
public string Title { get; set; } = string.Empty;
/// <summary>
/// 消息内容
/// </summary>
[Column(TypeName = "text")]
public string Body { get; set; } = string.Empty;
/// <summary>
/// 是否可用
/// </summary>
public bool Enabled { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,363 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 订单
/// </summary>
[Table("Orders")]
public class Order
{
// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 订单号
/// </summary>
public long OrderNumber { get; set; }
/// <summary>
/// 平台ID1自有商城2淘宝3天猫4京东5拼多多6抖音7快手8小红书等
/// </summary>
public int PlatformId { get; set; }
/// <summary>
/// 平台订单号
/// </summary>
public long PlatformOrderNumber { get; set; }
/// <summary>
/// 订单类型
/// </summary>
public int Type { get; set; }
/// <summary>
/// 是否虚拟数据
/// </summary>
public bool IsVirtual { get; set; }
/// <summary>
/// 订单商品供应商ID
/// </summary>
public long VendorId { get; set; }
/// <summary>
/// 成交店铺ID
/// </summary>
public long StoreId { get; set; }
/// <summary>
/// 归属公司ID
/// </summary>
public long CorporationId { get; set; }
/// <summary>
/// 销售人员Id
/// </summary>
public long SalespersonId { get; set; }
/// <summary>
/// 下单用户
/// </summary>
public long UserId { get; set; }
/// <summary>
/// 收件人姓名
/// </summary>
[Column(TypeName = "varchar(128)")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 邮件地址
/// </summary>
[Column(TypeName = "varchar(255)")]
public string Email { get; set; } = string.Empty;
/// <summary>
/// 电话号码
/// </summary>
[Column(TypeName = "varchar(20)")]
public string Phone { get; set; } = string.Empty;
/// <summary>
/// 公司
/// </summary>
[Column(TypeName = "varchar(255)")]
public string Company { get; set; } = string.Empty;
/// <summary>
/// 国家ID
/// </summary>
public long CountryId { get; set; }
/// <summary>
/// 国家
/// </summary>
[Column(TypeName = "varchar(50)")]
public string Country { get; set; } = string.Empty;
/// <summary>
/// 省份
/// </summary>
public long ProvinceId { get; set; }
/// <summary>
/// 省、州
/// </summary>
[Column(TypeName = "varchar(100)")]
public string Province { get; set; } = string.Empty;
/// <summary>
/// 城市
/// </summary>
public long CityId { get; set; }
/// <summary>
/// 城市
/// </summary>
[Column(TypeName = "varchar(100)")]
public string City { get; set; } = string.Empty;
/// <summary>
/// 地区
/// </summary>
public long RegionId { get; set; }
/// <summary>
/// 地区街
/// </summary>
[Column(TypeName = "varchar(100)")]
public string Region { get; set; } = string.Empty;
/// <summary>
/// 邮政编码
/// </summary>
[Column(TypeName = "varchar(15)")]
public string PostalCode { get; set; } = string.Empty;
/// <summary>
/// 详细地址
/// </summary>
[Column(TypeName = "varchar(256)")]
public string AddressDetails { get; set; } = string.Empty;
/// <summary>
/// 完整地址
/// </summary>
[Column(TypeName = "varchar(1024)")]
public string FullAddress { get; set; } = string.Empty;
/// <summary>
/// 地址所在经度
/// </summary>
[Column(TypeName = "decimal(10,6)")]
public decimal Longitude { get; set; }
/// <summary>
/// 地址所在纬度
/// </summary>
[Column(TypeName = "decimal(10,6)")]
public decimal Latitude { get; set; }
/// <summary>
/// 订单原市场总价
/// </summary>
[Column(TypeName = "decimal(18,4)")]
public decimal TotalMarketPrice { get; set; }
/// <summary>
/// 商品销售总价
/// </summary>
[Column(TypeName = "decimal(18,4)")]
public decimal TotalPrice { get; set; }
/// <summary>
/// 折扣总额
/// </summary>
[Column(TypeName = "decimal(18,4)")]
public decimal DiscountAmount { get; set; }
/// <summary>
/// 订单总价
/// </summary>
[Column(TypeName = "decimal(18,4)")]
public decimal OrderPrice { get; set; }
/// <summary>
/// 订单个数
/// </summary>
public int ProductCount { get; set; }
/// <summary>
/// 购买产品总数量
/// </summary>
public int TotalQuantity { get; set; }
/// <summary>
/// 税费
/// </summary>
[Column(TypeName = "decimal(8,4)")]
public decimal Taxes { get; set; }
/// <summary>
/// 运费
/// </summary>
[Column(TypeName = "decimal(18,4)")]
public decimal ShippingCost { get; set; }
/// <summary>
/// 订单使用的优惠券ID
/// </summary>
public long CouponId { get; set; }
/// <summary>
/// 客户支付单ID
/// </summary>
public long OrderPaymentId { get; set; }
/// <summary>
/// 付款方式,支付通道
/// </summary>
public int PaymentChannel { get; set; }
/// <summary>
/// 订单实付总额
/// </summary>
[Column(TypeName = "decimal(18,4)")]
public decimal PaymentAmount { get; set; }
/// <summary>
/// 支付状态
/// </summary>
public int PaymentStatus { get; set; }
/// <summary>
/// 付款时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? PaymentTime { get; set; }
/// <summary>
/// 卖家利润
/// </summary>
[Column(TypeName = "decimal(18,4)")]
public decimal StoreProfit { get; set; }
/// <summary>
/// 卖家店铺是否提货
/// </summary>
public bool StorePickedUp { get; set; }
/// <summary>
/// 卖点店铺提货时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? StorePickedUpTime { get; set; }
/// <summary>
/// 卖家回款时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? StorePaybackTime { get; set; }
/// <summary>
/// 卖家订单利润结算时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? StoreProfitSettlementTime { get; set; }
/// <summary>
/// 供应商是否确认订单
/// </summary>
public bool IsConfirmed { get; set; }
/// <summary>
/// 供应商订单确认时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? ConfirmedTime { get; set; }
/// <summary>
/// 是否已评论
/// </summary>
public bool Reviewed { get; set; }
/// <summary>
/// 扩展信息
/// </summary>
[Column(TypeName = "text")]
public string Extended { get; set; } = string.Empty;
/// <summary>
/// 订单状态,(待付款,待发货,待签收,待结算,订单取消,订单过期,支付失败)
/// </summary>
public int Status { get; set; }
/// <summary>
/// 订单备注说明
/// </summary>
[Column(TypeName = "varchar(255)")]
public string? Remark { get; set; } = string.Empty;
/// <summary>
/// 卖家下单备注信息
/// </summary>
[Column(TypeName = "varchar(255)")]
public string? Message { get; set; } = string.Empty;
/// <summary>
/// 物流快递公司编号
/// </summary>
public long ExpressId { get; set; }
/// <summary>
/// 快递公司
/// </summary>
[Column(TypeName = "varchar(25)")]
public string ExpressName { get; set; } = string.Empty;
/// <summary>
/// 快递单号
/// </summary>
[Column(TypeName = "varchar(30)")]
public string WaybillNumber { get; set; } = string.Empty;
/// <summary>
/// 发货状态
/// </summary>
public int DeliveryStatus { get; set; }
/// <summary>
/// 发货时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? DeliveryTime { get; set; }
/// <summary>
/// 包裹签收时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? SigningTime { get; set; }
/// <summary>
/// 下单时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,186 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 订单详情数据
/// </summary>
[Table("OrderItems")]
public class OrderItem
{
/// <summary>
/// 订单商品明细ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 订单ID
/// </summary>
public long OrderId { get; set; }
/// <summary>
/// 平台ID1自有商城2淘宝3天猫4京东5拼多多6抖音7快手8小红书等
/// </summary>
public int PlatformId { get; set; }
/// <summary>
/// 下单购买用户ID
/// </summary>
public long UserId { get; set; }
/// <summary>
/// 仓库ID
/// </summary>
public long WarehouseId { get; set; }
/// <summary>
/// 产品ID
/// </summary>
public long ProductId { get; set; }
/// <summary>
/// 商城产品信息ID
/// </summary>
public long ProductListingId { get; set; }
/// <summary>
/// 销售产品的店铺ID
/// </summary>
public long StoreId { get; set; }
/// <summary>
/// 归属公司ID
/// </summary>
public long CorporationId { get; set; }
/// <summary>
/// SKU ID0则表示无SKU ID
/// </summary>
public long SkuId { get; set; }
/// <summary>
/// 供应商ID
/// </summary>
public long VendorId { get; set; }
/// <summary>
/// 品牌ID
/// </summary>
public long ManufacturerId { get; set; }
/// <summary>
/// 商品名称
/// </summary>
[Column(TypeName = "varchar(255)")]
public string Title { get; set; } = string.Empty;
/// <summary>
/// 商品封面图
/// </summary>
[Column(TypeName = "varchar(256)")]
public string Image { get; set; } = string.Empty;
/// <summary>
/// 购买数量
/// </summary>
public int Quantity { get; set; }
/// <summary>
/// 是否允许退货
/// </summary>
public bool AllowReturn { get; set; }
/// <summary>
/// 是否允许换货
/// </summary>
public bool AllowExchange { get; set; }
/// <summary>
/// SKU数据 JSON信息
/// </summary>
[Column(TypeName = "text")]
public string AttributesJson { get; set; } = string.Empty;
/// <summary>
/// 产品SKU编码
/// </summary>
[Column(TypeName = "varchar(20)")]
public string SkuNumber { get; set; } = string.Empty;
/// <summary>
/// 运费模板ID,0表示全国免费包邮
/// </summary>
public long ShippingId { get; set; }
/// <summary>
/// 发货省份
/// </summary>
public long ProvinceId { get; set; }
/// <summary>
/// 发货城市
/// </summary>
public long CityId { get; set; }
/// <summary>
/// 市场价
/// </summary>
[Column(TypeName = "decimal(18,4)")]
public decimal MarketPrice { get; set; }
/// <summary>
/// 成本价单价
/// </summary>
[Column(TypeName = "decimal(18,4)")]
public decimal? ProductCost { get; set; }
/// <summary>
/// 销售价
/// </summary>
[Column(TypeName = "decimal(18,4)")]
public decimal Price { get; set; }
/// <summary>
/// 分摊优惠金额单价
/// </summary>
[Column(TypeName = "decimal(18,4)")]
public decimal DiscountAmount { get; set; }
/// <summary>
/// 卖家利润
/// </summary>
[Column(TypeName = "decimal(8,4)")]
public decimal StoreProfit { get; set; }
/// <summary>
/// 售后状态
/// </summary>
public int AfterSalesStatus { get; set; }
/// <summary>
/// 售后退款金额
/// </summary>
[Column(TypeName = "decimal(18,4)")]
public decimal RefundAmount { get; set; }
/// <summary>
/// 是否已晒单
/// </summary>
public bool Reviewed { get; set; }
/// <summary>
/// 商品留言
/// </summary>
[Column(TypeName = "varchar(100)")]
public string? Message { get; set; } = string.Empty;
/// <summary>
/// 创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; }
}
}

View File

@@ -0,0 +1,54 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
[Table("OrderLogs")]
public class OrderLog
{
/// <summary>
/// 日志数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 订单ID
/// </summary>
public long OrderId { get; set; }
/// <summary>
/// 产生动作的用户ID
/// </summary>
public long? Operator { get; set; }
/// <summary>
/// 日志类型
/// </summary>
public int? Type { get; set; }
/// <summary>
/// 订单状态
/// </summary>
public int OrderStatus { get; set; }
/// <summary>
/// 备注说明
/// </summary>
[Column(TypeName = "varchar(300)")]
public string Remark { get; set; } = string.Empty;
/// <summary>
/// 操作IP
/// </summary>
[Column(TypeName = "varchar(50)")]
public string Ip { get; set; } = string.Empty;
/// <summary>
/// 创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; }
}
}

View File

@@ -0,0 +1,78 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
public class PaymentChannel
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public int Id { get; set; }
/// <summary>
/// 付款方式,银行、微信、支付宝USDT
/// </summary>
public int Type { get; set; }
/// <summary>
/// 支付网络,区块链-TRC20Online-WechatBank-ICBC
/// </summary>
public int Network { get; set; }
/// <summary>
/// 支付渠道名称
/// </summary>
[Column(TypeName = "varchar(20)")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 支付渠道标题名称
/// </summary>
[Column(TypeName = "varchar(20)")]
public string Title { get; set; }=string.Empty;
/// <summary>
/// 描述说明
/// </summary>
[Column(TypeName = "varchar(512)")]
public string Description { get; set; } = string.Empty;
/// <summary>
/// 收款账号
/// </summary>
[Column(TypeName = "varchar(255)")]
public string Account { get; set; } = string.Empty;
/// <summary>
/// 支付通道的设置
/// </summary>
[Column(TypeName = "text")]
public string Config { get; set; } = string.Empty;
/// <summary>
/// 排序
/// </summary>
public int DisplayOrder { get; set; }
/// <summary>
/// 状态
/// </summary>
public int Status { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; } = DateTime.UtcNow;
/// <summary>
/// 更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,34 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
[Table("Permissions")]
public class Permission
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 权限名称 例如: "User.Read"
/// </summary>
[Column(TypeName = "varchar(128)")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 权限点说明
/// </summary>
[Column(TypeName = "varchar(255)")]
public string Description { get; set; } = string.Empty;
/// <summary>
/// 权限分类
/// </summary>
[Column(TypeName = "varchar(128)")]
public string Category { get; set; } = string.Empty; // 权限分类
}
}

View File

@@ -0,0 +1,60 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 图片
/// </summary>
[Table("Pictures")]
public class Picture
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 图片类别
/// </summary>
public int Type { get; set; } = 0;
/// <summary>
/// 上传文件名
/// </summary>
[Column(TypeName = "varchar(50)")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 文件大小
/// </summary>
public int FileSize { get; set; } = 0;
/// <summary>
/// 文件存放位置
/// </summary>
[Column(TypeName = "varchar(250)")]
public string Path { get; set; } = string.Empty;
/// <summary>
/// 文件访问域名
/// </summary>
[Column(TypeName = "varchar(250)")]
public string Domain { get; set; } = string.Empty;
/// <summary>
/// 文件hash
/// </summary>
[Column(TypeName = "varchar(128)")]
public string SHA256Hash { get; set; } = string.Empty;
/// <summary>
/// 数据创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; } = DateTime.UtcNow;
}
}

View File

@@ -0,0 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Atomx.Common.Entities
{
public class Post
{
}
}

View File

@@ -0,0 +1,72 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 价格走势
/// </summary>
[Table("PriceTrends")]
public class PriceTrend
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 日期
/// </summary>
public int Date { get; set; }
/// <summary>
/// 类型
/// </summary>
public int Type { get; set; }
/// <summary>
/// 当前价格
/// </summary>
public decimal Price { get; set; }
/// <summary>
/// 最低价格
/// </summary>
public decimal LowestPrice { get; set; }
/// <summary>
/// 最高价格
/// </summary>
public decimal HighestPrice { get; set; }
/// <summary>
/// 当前零售价格
/// </summary>
public decimal RetailPrice { get; set; }
/// <summary>
/// 最低零售价格
/// </summary>
public decimal LowestRetailPrice { get; set; }
/// <summary>
/// 最高零售价格
/// </summary>
public decimal HighestRetailPrice { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,201 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
///
/// </summary>
[Table("Products")]
public class Product
{
/// <summary>
/// 产品ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 发布的企业用户ID
/// </summary>
public long CorporationStaffId { get; set; }
/// <summary>
/// 归属公司ID
/// </summary>
public long CorporationId { get; set; }
/// <summary>
/// 卖家店铺ID
/// </summary>
public long StoreId { get; set; }
/// <summary>
/// 产品类型ID
/// </summary>
public long ProductTypeId { get; set; }
/// <summary>
/// 分类路径
/// </summary>
[Column(TypeName = "varchar(200)")]
public string? CategoryPath { get; set; } = string.Empty;
/// <summary>
/// 分类ID
/// </summary>
public long CategoryId { get; set; }
/// <summary>
/// 制造商ID
/// </summary>
public long ManufacturerId { get; set; }
/// <summary>
/// 产品名称
/// </summary>
[Column(TypeName = "varchar(255)")]
public string Title { get; set; } = string.Empty;
/// <summary>
/// 产品唯一编码
/// </summary>
[Column(TypeName = "varchar(20)")]
public string? SIN { get; set; } = string.Empty;
/// <summary>
/// 封面图片
/// </summary>
[Column(TypeName = "varchar(256)")]
public string? Image { get; set; } = string.Empty;
/// <summary>
/// 产品图片JSON
/// </summary>
[Column(TypeName = "text")]
public string? Photos { get; set; } = string.Empty;
/// <summary>
/// 产品卖点
/// </summary>
[Column(TypeName = "varchar(255)")]
public string? Feature { get; set; } = string.Empty;
/// <summary>
/// 产品简介
/// </summary>
[Column(TypeName = "varchar(255)")]
public string? Description { get; set; } = string.Empty;
/// <summary>
/// 规格信息Json
/// </summary>
[Column(TypeName = "text")]
public string? SpecificationJson { get; set; } = string.Empty;
/// <summary>
/// 重量
/// </summary>
[Column(TypeName = "decimal(6,2)")]
public decimal? Weight { get; set; }
/// <summary>
/// 最小重量有SKU的时候生效
/// </summary>
[Column(TypeName = "decimal(6,2)")]
public decimal? MinWeight { get; set; }
/// <summary>
/// 最大重量有SKU的时候生效
/// </summary>
[Column(TypeName = "decimal(6,2)")]
public decimal? MaxWeight { get; set; }
/// <summary>
/// 市场价,划线价
/// </summary>
[Column(TypeName = "decimal(18,4)")]
public decimal MarketPrice { get; set; }
/// <summary>
/// 销售标价
/// </summary>
[Column(TypeName = "decimal(18,4)")]
public decimal Price { get; set; }
/// <summary>
/// SKU组合的产品价格信息
/// </summary>
[Column(TypeName = "text")]
public string? SkuPrices { get; set; } = string.Empty;
/// <summary>
/// 商品扩展信息
/// </summary>
[Column(TypeName = "text")]
public string Extended { get; set; } = string.Empty;
/// <summary>
/// 排序
/// </summary>
public int DisplayOrder { get; set; }
/// <summary>
/// 产品信息审核状态
/// </summary>
public int ReviewStatus { get; set; }
/// <summary>
/// 库存管理模式,0不跟踪库存1以产品跟踪库存2以SKU跟踪库存
/// </summary>
public int InventoryMethod { get; set; }
/// <summary>
/// 商品库存
/// </summary>
public int StockQuantity { get; set; }
/// <summary>
/// 总销售数量
/// </summary>
public int SalesQuantity { get; set; }
/// <summary>
/// 图片数量
/// </summary>
public int PictureCount { get; set; }
/// <summary>
/// 产品状态0未上架1上架
/// </summary>
public int Status { get; set; }
/// <summary>
/// 是否逻辑删除
/// </summary>
public bool Deleted { get; set; }
/// <summary>
/// 删除时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? DeletedTime { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,84 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 商品属性
/// </summary>
[Table("ProductAttributes")]
public class ProductAttribute
{
/// <summary>
/// 属性ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 分类ID
/// </summary>
public long CategoryId { get; set; }
/// <summary>
/// 上级属性,用于规格属性做分组
/// </summary>
public long ParentId { get; set; }
/// <summary>
/// 属性名称
/// </summary>
[Column(TypeName = "varchar(50)")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 必须填写重量
/// </summary>
public bool WeightIsRequired { get; set; } = false;
/// <summary>
/// 重量单位,1毫克mg2克g,3千克kg,4吨t5磅lb6盎司oz
/// </summary>
public int WeightUnit { get; set; }
/// <summary>
/// 属性控件类型1选项0文本
/// </summary>
public int ControlType { get; set; }
/// <summary>
/// 使用属性的产品数量
/// </summary>
public int Count { get; set; }
/// <summary>
/// 展示排序
/// </summary>
public int DisplayOrder { get; set; }
/// <summary>
/// 是否是必须的属性
/// </summary>
public bool IsRequired { get; set; }
/// <summary>
/// 数据状态
/// </summary>
public int Status { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,127 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 产品属性组合商品数据
/// </summary>
[Table("ProductAttributeCombinations")]
public class ProductAttributeCombination
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 产品ID
/// </summary>
public long ProductId { get; set; }
/// <summary>
/// 归属公司ID
/// </summary>
public long CorporationId { get; set; }
/// <summary>
/// 供应制造商ID
/// </summary>
public long ManufacturerId { get; set; }
/// <summary>
/// 属性JSON
/// </summary>
[Column(TypeName = "text")]
public string AttributesJson { get; set; } = string.Empty;
/// <summary>
/// 库存数量
/// </summary>
public int StockQuantity { get; set; }
/// <summary>
/// 销售数量
/// </summary>
public int SalesQuantity { get; set; }
/// <summary>
/// SKU编码
/// </summary>
[Column(TypeName = "varchar(20)")]
public string SkuNumber { get; set; } = string.Empty;
/// <summary>
/// 重量
/// </summary>
[Column(TypeName = "decimal(18,4)")]
public decimal Weight { get; set; }
/// <summary>
/// 重量单位1克2千克3磅4盎司
/// </summary>
public int WeightUnit { get; set; }
/// <summary>
/// 销售加工费
/// </summary>
[Column(TypeName = "decimal(18,4)")]
public decimal ProcessCharge { get; set; }
/// <summary>
/// 加工费成本
/// </summary>
[Column(TypeName = "decimal(18,4)")]
public decimal ProcessCost { get; set; }
/// <summary>
/// 销售附加费
/// </summary>
[Column(TypeName = "decimal(18,4)")]
public decimal Surcharge { get; set; }
/// <summary>
/// 附加费成本
/// </summary>
[Column(TypeName = "decimal(18,4)")]
public decimal SurchargeCost { get; set; }
/// <summary>
/// SKU的市场价划线价
/// </summary>
[Column(TypeName = "decimal(18,4)")]
public decimal MarketPrice { get; set; }
/// <summary>
/// SKU的销售价格
/// </summary>
[Column(TypeName = "decimal(18,4)")]
public decimal Price { get; set; }
/// <summary>
/// 标记
/// </summary>
public int Mark { get; set; }
/// <summary>
/// 备注说明
/// </summary>
[Column(TypeName = "varchar(255)")]
public string Note { get; set; } = string.Empty;
/// <summary>
/// 是否禁用停售
/// </summary>
public bool Enabled { get; set; }
/// <summary>
/// 更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,64 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 产品属性选项
/// </summary>
[Table("ProductAttributeOptions")]
public class ProductAttributeOption
{
/// <summary>
/// 预设值ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 产品属性ID
/// </summary>
public long AttributeId { get; set; }
/// <summary>
/// 预设值名称
/// </summary>
[Column(TypeName = "varchar(50)")]
public string Value { get; set; } = string.Empty;
/// <summary>
/// 属性值使用量
/// </summary>
public int Count { get; set; }
/// <summary>
/// 展示排序
/// </summary>
public int DisplayOrder { get; set; }
/// <summary>
/// 是否通用的
/// </summary>
public bool Standard { get; set; }
/// <summary>
/// 数据状态
/// </summary>
public int Status { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,39 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 产品属性关系表
/// </summary>
[Table("ProductAttributeRelations")]
public class ProductAttributeRelation
{
/// <summary>
/// 产品属性关联数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 产品ID
/// </summary>
public long ProductId { get; set; }
/// <summary>
/// 产品属性ID
/// </summary>
public long AttributeId { get; set; }
/// <summary>
/// 属性
/// </summary>
public bool Image { get; set; }
/// <summary>
/// 展示排序
/// </summary>
public int DisplayOrder { get; set; }
}
}

View File

@@ -0,0 +1,67 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 产品属性值表
/// </summary>
[Table("ProductAttributeValues")]
public class ProductAttributeValue
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 产品ID
/// </summary>
public long ProductId { get; set; }
/// <summary>
/// 预设值ID
/// </summary>
public long OptionId { get; set; }
/// <summary>
/// 产品属性关系数据ID
/// </summary>
public long ProductAttributeRelationId { get; set; }
/// <summary>
/// 属性值名称
/// </summary>
[Column(TypeName = "varchar(50)")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 属性图片
/// </summary>
[Column(TypeName = "varchar(255)")]
public string Image { get; set; } = string.Empty;
/// <summary>
/// 重量
/// </summary>
[Column(TypeName = "decimal(18,4)")]
public decimal Weight { get; set; }
/// <summary>
/// 重量单位1克2千克3磅4盎司
/// </summary>
public int WeightUnit { get; set; }
/// <summary>
/// 是否是加重的
/// </summary>
public bool IsAddWeight { get; set; } = false;
/// <summary>
/// 展示排序
/// </summary>
public int DisplayOrder { get; set; }
}
}

View File

@@ -0,0 +1,66 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 产品变更日志
/// </summary>
[Table("ProductChangeLogs")]
public class ProductChangeLog
{
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 产品ID
/// </summary>
public long ProductId { get; set; }
/// <summary>
/// 归属公司ID
/// </summary>
public long CorporationId { get; set; }
/// <summary>
/// 变更类型,新增,编辑,删除,恢复
/// </summary>
public int ChangeType { get; set; }
/// <summary>
/// 操作用户ID
/// </summary>
public long? Operator { get; set; }
/// <summary>
/// 操作账号
/// </summary>
[Column(TypeName = "varchar(64)")]
public string Username { get; set; } = string.Empty;
/// <summary>
/// 日志操作方
/// </summary>
public int OperatorParty { get; set; }
/// <summary>
/// 操作摘要
/// </summary>
[Column(TypeName = "varchar(256)")]
public string Summary { get; set; } = string.Empty;
/// <summary>
/// 操作内容
/// </summary>
[Column(TypeName = "text")]
public string Details { get; set; } = string.Empty;
/// <summary>
/// 数据创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; } = DateTime.UtcNow;
}
}

View File

@@ -0,0 +1,56 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 产品仓库库存表
/// </summary>
[Table("ProductInventories")]
public class ProductInventory
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 归属公司ID
/// </summary>
public long CorporationId { get; set; }
/// <summary>
/// 产品ID
/// </summary>
public long ProductId { get; set; }
/// <summary>
/// 产品属性组合ID
/// </summary>
public long ProductAttributeCombinationId { get; set; }
/// <summary>
/// 仓库ID
/// </summary>
public long WarehouseId { get; set; }
/// <summary>
/// 库存数量
/// </summary>
public int StockQuantity { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,97 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 产品库存记录
/// </summary>
[Table("ProductInventoryLogs")]
public class ProductInventoryLog
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 产生动作的用户ID
/// </summary>
public long? Operator { get; set; }
/// <summary>
/// 类型,0入库1出库初始
/// </summary>
public int? Type { get; set; }
/// <summary>
/// 产品ID
/// </summary>
public long ProductId { get; set; }
/// <summary>
/// 归属买家店铺或货仓
/// </summary>
public long StoreId { get; set; }
/// <summary>
/// 归属公司ID
/// </summary>
public long CorporationId { get; set; }
/// <summary>
/// 供应制造商ID
/// </summary>
public long ManufacturerId { get; set; }
/// <summary>
/// 仓库ID
/// </summary>
public long WarehouseId { get; set; }
/// <summary>
/// 产品属性组合ID
/// </summary>
public long ProductAttributeCombinationId { get; set; }
/// <summary>
/// 订单ID
/// </summary>
public long OrderId { get; set; }
/// <summary>
/// 操作数量
/// </summary>
public int ChangeAmount { get; set; }
/// <summary>
/// 重量
/// </summary>
[Column(TypeName = "decimal(18,4)")]
public decimal Weight { get; set; }
/// <summary>
/// 操作之前库存
/// </summary>
public int BeforeStock { get; set; }
/// <summary>
/// 操作之后库存
/// </summary>
public int AfterStock { get; set; }
/// <summary>
/// 备注说明
/// </summary>
[Column(TypeName = "varchar(255)")]
public string Note { get; set; } = string.Empty;
/// <summary>
/// 创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; }
}
}

View File

@@ -0,0 +1,224 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 自有商城或平台网点的商品列表。
/// </summary>
[Table("ProductListings")]
public class ProductListing
{
/// <summary>
/// 产品ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 基础产品信息
/// </summary>
public long ProductId { get; set; }
/// <summary>
/// 发布的企业用户ID
/// </summary>
public long CorporationStaffId { get; set; }
/// <summary>
/// 归属公司ID
/// </summary>
public long CorporationId { get; set; }
/// <summary>
/// 平台ID1自有商城2淘宝3天猫4京东5拼多多6抖音7快手8小红书等
/// </summary>
public int PlatformId { get; set; }
/// <summary>
/// 卖家店铺ID
/// </summary>
public long StoreId { get; set; }
/// <summary>
/// 产品类型ID
/// </summary>
public long ProductTypeId { get; set; }
/// <summary>
/// SEO Title
/// </summary>
[Column(TypeName = "varchar(255)")]
public string MetaTitle { get; set; } = string.Empty;
/// <summary>
/// SEO Description
/// </summary>
[Column(TypeName = "varchar(512)")]
public string MetaDescription { get; set; } = string.Empty;
/// <summary>
/// 产品Slug
/// </summary>
public string Slug { get; set; } = string.Empty;
/// <summary>
/// 产品特点标签
/// </summary>
[Column(TypeName = "varchar(100)")]
public string? Tags { get; set; } = string.Empty;
/// <summary>
/// 产品详细介绍
/// </summary>
[Column(TypeName = "text")]
public string Body { get; set; } = string.Empty;
/// <summary>
/// 订单最小数量
/// </summary>
public int OrderMinimumQuantity { get; set; }
/// <summary>
/// 订单最多数量
/// </summary>
public int OrderMaximumQuantity { get; set; }
/// <summary>
/// 是否允许退货
/// </summary>
public bool AllowReturn { get; set; }
/// <summary>
/// 是否允许换货
/// </summary>
public bool AllowExchange { get; set; }
/// <summary>
/// 是否独立发货
/// </summary>
public bool SingleShip { get; set; }
/// <summary>
/// 预计运输天数
/// </summary>
public int ShippingDays { get; set; }
/// <summary>
/// 运费模板ID
/// </summary>
public long ShippingId { get; set; }
/// <summary>
/// 精选
/// </summary>
public bool IsFeatured { get; set; }
/// <summary>
/// 是否 best
/// </summary>
public bool IsBest { get; set; }
/// <summary>
/// 是否标注新品
/// </summary>
public bool IsNew { get; set; }
/// <summary>
/// 暂停销售,前台处理成已售罄
/// </summary>
public bool StopSales { get; set; }
/// <summary>
/// 产品信息审核状态
/// </summary>
public int ReviewStatus { get; set; }
/// <summary>
/// 商品库存
/// </summary>
public int StockQuantity { get; set; }
/// <summary>
/// 总销售数量
/// </summary>
public int SalesQuantity { get; set; }
/// <summary>
/// 评分
/// </summary>
public double Ratings { get; set; }
/// <summary>
/// 5颗星
/// </summary>
public int FiveStars { get; set; }
/// <summary>
/// 4课星
/// </summary>
public int FourStars { get; set; }
/// <summary>
/// 三颗星
/// </summary>
public int ThreeStars { get; set; }
/// <summary>
/// 两颗星
/// </summary>
public int TwoStars { get; set; }
/// <summary>
/// 一颗星
/// </summary>
public int OneStars { get; set; }
/// <summary>
/// 评论数量
/// </summary>
public int ReviewsCount { get; set; }
/// <summary>
/// 总浏览次数
/// </summary>
public int ViewsCount { get; set; }
/// <summary>
/// 产品状态0未上架1上架
/// </summary>
public int Status { get; set; }
/// <summary>
/// 是否逻辑删除
/// </summary>
public bool Deleted { get; set; }
/// <summary>
/// 删除时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? DeletedTime { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,42 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
[Table("ProductPictures")]
public class ProductPicture
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 图片类型封面SKU
/// </summary>
public int Type { get; set; }
/// <summary>
/// 产品ID
/// </summary>
public long ProductId { get; set; }
/// <summary>
/// 产品属性组合ID
/// </summary>
public long ProductAttributeCombination { get; set; }
/// <summary>
/// 图片ID
/// </summary>
public long FileId { get; set; }
/// <summary>
/// 显示排序
/// </summary>
public int DisplayOrder { get; set; }
}
}

View File

@@ -0,0 +1,68 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 角色
/// </summary>
[Table("Roles")]
public class Role
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Key]
public int Id { get; set; }
/// <summary>
/// 角色类型
/// </summary>
public int Type { get; set; }
/// <summary>
/// 角色名称
/// </summary>
public string Name { get; set; } = string.Empty;
/// <summary>
/// 说明
/// </summary>
[Column(TypeName = "varchar(255)")]
public string Description { get; set; } = string.Empty;
/// <summary>
/// 权限
/// </summary>
[Column(TypeName = "text")]
public string Permission { get; set; } = string.Empty;
/// <summary>
/// 是否系统角色
/// </summary>
public bool IsSystemRole { get; set; }
/// <summary>
/// 角色用户数量
/// </summary>
public int Count { get; set; }
/// <summary>
/// 是否可用
/// </summary>
public bool Enabled { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,47 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 系统设置配置
/// </summary>
[Table("Settings")]
public class Setting
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 归属的网站应用Id
/// </summary>
public long SiteId { get; set; }
/// <summary>
/// 系统设置KEY
/// </summary>
[Column(TypeName = "varchar(64)")]
public string Key { get; set; } = string.Empty;
/// <summary>
/// 配置类型,0 系统设置,
/// </summary>
public int Type { get; set; }
/// <summary>
/// 标题名称
/// </summary>
[Column(TypeName = "varchar(64)")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 系统设置项
/// </summary>
[Column(TypeName = "text")]
public string Content { get; set; } = string.Empty;
}
}

View File

@@ -0,0 +1,47 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 站点应用
/// </summary>
public class SiteApp
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 网站应用类型
/// </summary>
public int Type { get; set; }
/// <summary>
/// 网站应用名称
/// </summary>
[Column(TypeName = "varchar(64)")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 是否可用
/// </summary>
public bool Enabled { get; set; }
/// <summary>
/// 建立时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; }
/// <summary>
/// 最后更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,69 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 规格属性
/// </summary>
[Table("SpecificationAttributes")]
public class SpecificationAttribute
{
/// <summary>
/// 属性ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 分类ID
/// </summary>
public long CategoryId { get; set; }
/// <summary>
/// 上级属性,用于规格属性做分组
/// </summary>
public long ParentId { get; set; }
/// <summary>
/// 属性名称
/// </summary>
[Column(TypeName = "varchar(50)")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 属性控件类型1选项2文本
/// </summary>
public int ControlType { get; set; }
/// <summary>
/// 使用属性的产品数量
/// </summary>
public int Count { get; set; }
/// <summary>
/// 展示排序
/// </summary>
public int DisplayOrder { get; set; }
/// <summary>
/// 数据状态
/// </summary>
public int Status { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,59 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 规格属性选项
/// </summary>
[Table("SpecificationAttributeOptions")]
public class SpecificationAttributeOption
{
/// <summary>
/// 预设值ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 产品属性ID
/// </summary>
public long SpecificationId { get; set; }
/// <summary>
/// 预设值名称
/// </summary>
[Column(TypeName = "varchar(50)")]
public string Value { get; set; } = string.Empty;
/// <summary>
/// 属性值使用量
/// </summary>
public int Count { get; set; }
/// <summary>
/// 展示排序
/// </summary>
public int DisplayOrder { get; set; }
/// <summary>
/// 数据状态
/// </summary>
public int Status { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,59 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 店铺
/// </summary>
[Table("Stores")]
public class Store
{
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 归属公司ID
/// </summary>
public long CorporationId { get; set; }
/// <summary>
/// 上级ID用于团队内部分组
/// </summary>
public int ParentId { get; set; }
/// <summary>
/// 店铺类型,网店,实体店,档口,直播间
/// </summary>
public int Type { get; set; }
/// <summary>
/// 名称
/// </summary>
[Column(TypeName = "varchar(64)")]
public required string Name { get; set; }
/// <summary>
/// 数据状态
/// </summary>
public int Status { get; set; }
/// <summary>
/// 数据创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; } = DateTime.UtcNow;
/// <summary>
/// 数据更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
/// <summary>
/// 数据删除时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? DeleteTime { get; set; }
}
}

View File

@@ -0,0 +1,47 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 店铺产品清单
/// </summary>
[Table("StoreProductItems")]
public class StoreProductItem
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 店铺
/// </summary>
public long StoreId { get; set; }
/// <summary>
/// 产品ID
/// </summary>
public long ProductId { get; set; }
/// <summary>
/// 库存数量
/// </summary>
public int StockQuantity { get; set; }
/// <summary>
/// 数据创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; } = DateTime.UtcNow;
/// <summary>
/// 数据更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,84 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 上传的文件
/// </summary>
[Table("UploadFiles")]
public class UploadFile
{
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 归属站点应用ID
/// </summary>
public long SiteId { get; set; }
/// <summary>
/// 文件类型
/// </summary>
public int Type { get; set; }
/// <summary>
/// 文件名
/// </summary>
[Column(TypeName = "varchar(64)")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 存放路径
/// </summary>
[Column(TypeName = "varchar(128)")]
public string Path { get; set; } = string.Empty;
/// <summary>
/// 文件扩展
/// </summary>
[Column(TypeName = "varchar(12)")]
public string Extension { get; set; } = string.Empty;
/// <summary>
/// 文件扩展
/// </summary>
[Column(TypeName = "varchar(32)")]
public string ContentType { get; set; } = string.Empty;
/// <summary>
/// 文件hash
/// </summary>
[Column(TypeName = "varchar(128)")]
public string SHA256Hash { get; set; } = string.Empty;
/// <summary>
/// 文件大小,单位:字节
/// </summary>
public int Size { get; set; }
/// <summary>
/// 创建用户ID
/// </summary>
public long CreateUid { get; set; }
/// <summary>
/// 创建用户名
/// </summary>
[Column(TypeName = "varchar(32)")]
public string CreateBy { get; set; } = string.Empty;
/// <summary>
/// 数据创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; } = DateTime.UtcNow;
/// <summary>
/// 数据最后更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,58 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 用户数据
/// </summary>
[Table("Users")]
public class User
{
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 用户名
/// </summary>
[Column(TypeName = "varchar(64)")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 邮箱
/// </summary>
[Column(TypeName = "varchar(64)")]
public string Email { get; set; } = string.Empty;
/// <summary>
/// 手机号
/// </summary>
[Column(TypeName = "varchar(64)")]
public string Mobile { get; set; } = string.Empty;
/// <summary>
/// 头像
/// </summary>
[Column(TypeName = "varchar(64)")]
public string Avatar { get; set; } = string.Empty;
/// <summary>
/// 登录密码
/// </summary>
[Column(TypeName = "varchar(32)")]
public string Password { get; set; } = string.Empty;
/// <summary>
/// 注册数据创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; } = DateTime.UtcNow;
/// <summary>
/// 数据最后更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,51 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 用户资产数据表
/// </summary>
public class UserAsset
{
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 归属用户ID
/// </summary>
public long UserId { get; set; }
/// <summary>
/// 类型
/// </summary>
public int Type { get; set; }
/// <summary>
/// 资产名称ID
/// </summary>
public long CurrencyId { get; set; }
/// <summary>
/// 总额
/// </summary>
public decimal Amount { get; set; }
/// <summary>
/// 余额
/// </summary>
public decimal Balance { get; set; }
/// <summary>
/// 冻结数量
/// </summary>
public decimal FrozenAmount { get; set; }
/// <summary>
/// 数据最后更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,45 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 用户资料
/// </summary>
[Table("UserMetas")]
public class UserMeta
{
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 归属用户ID
/// </summary>
public long UserId { get; set; }
/// <summary>
/// 字段KEY
/// </summary>
[Column(TypeName = "varchar(255)")]
public string MetaKey { get; set; } = string.Empty;
/// <summary>
/// 存储值
/// </summary>
[Column(TypeName = "text")]
public string MetaValue { get; set; } = string.Empty;
/// <summary>
/// 数据创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; } = DateTime.UtcNow;
/// <summary>
/// 数据最后更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,43 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 用户店铺关系
/// </summary>
[Table("UserStoreRelations")]
public class UserStoreRelation
{
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 用户ID
/// </summary>
public long UserId { get; set; }
/// <summary>
/// 店铺ID
/// </summary>
public long StoreId { get; set; }
/// <summary>
/// 数据状态
/// </summary>
public int Status { get; set; }
/// <summary>
/// 数据创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; } = DateTime.UtcNow;
/// <summary>
/// 数据更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,47 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 仓库数据
/// </summary>
[Table("Warehouses")]
public class Warehouse
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 归属公司ID
/// </summary>
public long CorporationId { get; set; }
/// <summary>
/// 分类名称
/// </summary>
[Column(TypeName = "varchar(25)")]
public string Name { get; set; } = string.Empty;
/// <summary>
/// 是否可用
/// </summary>
public bool Enabled { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; }
/// <summary>
/// 更新时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime? UpdateTime { get; set; }
}
}

View File

@@ -0,0 +1,41 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Atomx.Common.Entities
{
/// <summary>
/// 出入库记录
/// </summary>
[Table("WarehouseStockRecords")]
public class WarehouseStockRecord
{
/// <summary>
/// 数据ID
/// </summary>
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Key]
public long Id { get; set; }
/// <summary>
/// 类型,0入库1出库初始
/// </summary>
public int? Type { get; set; }
/// <summary>
/// 产生动作的用户ID
/// </summary>
public long? Operator { get; set; }
/// <summary>
/// 备注说明
/// </summary>
[Column(TypeName = "varchar(255)")]
public string Note { get; set; } = string.Empty;
/// <summary>
/// 注册数据创建时间
/// </summary>
[Column(TypeName = "timestamptz")]
public DateTime CreateTime { get; set; } = DateTime.UtcNow;
}
}