diff --git a/SiNan.Model/Db/Product/Product.cs b/SiNan.Model/Db/Product/Product.cs new file mode 100644 index 0000000..c7a1682 --- /dev/null +++ b/SiNan.Model/Db/Product/Product.cs @@ -0,0 +1,54 @@ +using FreeSql.DataAnnotations; +using System; + +namespace SiNan.Model.Db +{ + + [Table(Name = "product", DisableSyncStructure = true)] + public partial class Product + { + + /// + /// SPU + /// + [Column(StringLength = 50, IsPrimary = true, IsNullable = false)] + public string Id { get; set; } + + [Column(DbType = "datetime")] + public DateTime? CreateTime { get; set; } + + [Column(DbType = "int(1)", MapType = typeof(int))] + public Enums.Platform Platform { get; set; } + + /// + /// 货号 + /// + [Column(StringLength = 100)] + public string ProductItemNum { get; set; } + + + public long? ShopId { get; set; } + + /// + /// 标题 + /// + + public string Title { get; set; } + + /// + /// 主SkuId + /// + [Column(StringLength = 50)] + public string MainSkuId { get; set; } + + /// + /// 京东商品状态【-1:删除 1:从未上架 2:自主下架 4:系统下架 8:上架 513:从未上架待审 514:自主下架待审 516:系统下架待审 520:上架待审核 1028:系统下架审核失败】 + /// + public int? State { get; set; } + + [Column(MapType = typeof(int), DbType = "int")] + public Enums.Stage Stage { get; set; } = Enums.Stage.新品款; + + } + +} diff --git a/SiNan.Model/Db/Product/ProductSku.cs b/SiNan.Model/Db/Product/ProductSku.cs new file mode 100644 index 0000000..36d3a2e --- /dev/null +++ b/SiNan.Model/Db/Product/ProductSku.cs @@ -0,0 +1,57 @@ +using FreeSql.DataAnnotations; +using System; + +namespace SiNan.Model.Db +{ + + [Table(Name = "productsku", DisableSyncStructure = true)] + public partial class ProductSku + { + + /// + /// SKU + /// + [Column(StringLength = 50, IsPrimary = true, IsNullable = false)] + public string Id { get; set; } + + [Column(DbType = "datetime")] + public DateTime? CreateTime { get; set; } + + + public string Logo { get; set; } + + [Column(DbType = "int(1)", MapType = typeof(int))] + public Enums.Platform Platform { get; set; } + + /// + /// 售价 + /// + [Column(DbType = "decimal(18,2)")] + public decimal? Price { get; set; } + + /// + /// SPU + /// + [Column(StringLength = 50)] + public string ProductId { get; set; } + + + public long? ShopId { get; set; } + + + public string Title { get; set; } + + /// + /// 京东Sku状态【1:上架 2:下架 4:删除】 + /// + public int? State { get; set; } + + /// + /// 三级类目Id + /// + public int? CategoryId { get; set; } + + public string CategoryName { get; set; } + } + +} diff --git a/SiNan.Model/Dto/Request/Product/SearchProductGOIRequestcs.cs b/SiNan.Model/Dto/Request/Product/SearchProductGOIRequestcs.cs new file mode 100644 index 0000000..a5836bd --- /dev/null +++ b/SiNan.Model/Dto/Request/Product/SearchProductGOIRequestcs.cs @@ -0,0 +1,13 @@ +namespace SiNan.Model.Dto.Request.Product +{ + public class SearchProductGOIRequestcs + { + public string Spu { get; set; } + + public string Sku { get; set; } + + public string SpuTitle { get; set; } + + public Enums.Stage? Stage { get; set; } + } +} \ No newline at end of file diff --git a/SiNan.Model/Dto/Response/GOI/GOIResponse.cs b/SiNan.Model/Dto/Response/GOI/GOIResponse.cs new file mode 100644 index 0000000..6dec949 --- /dev/null +++ b/SiNan.Model/Dto/Response/GOI/GOIResponse.cs @@ -0,0 +1,17 @@ +namespace SiNan.Model.Dto +{ + public class GOIResponse + { + public decimal Cost { get; set; } + + public decimal Profit { get; set; } + + public decimal GOI + { + get + { + return Cost == 0M ? 0M : Math.Round(Profit / Cost, 2); + } + } + } +} diff --git a/SiNan.Model/Dto/Response/GOI/ProductGOIResponse.cs b/SiNan.Model/Dto/Response/GOI/ProductGOIResponse.cs new file mode 100644 index 0000000..25e6a41 --- /dev/null +++ b/SiNan.Model/Dto/Response/GOI/ProductGOIResponse.cs @@ -0,0 +1,50 @@ +namespace SiNan.Model.Dto +{ + public class ProductGOIResponse : ProductResponse + { + /// + /// 商品维度 昨日GOI + /// + public GOIResponse ProductGOI_Yestoday { get; set; } + + /// + /// 商品维度 近7天GOI + /// + public GOIResponse ProductGOI_Recent7Day { get; set; } + + /// + /// 商品维度 近30天GOI + /// + public GOIResponse ProductGOI_Recent30Day { get; set; } + + /// + /// 推广维度 昨日GOI + /// + public GOIResponse PromotionGOI_Yestoday { get; set; } + + /// + /// 推广维度 近7天GOI + /// + public GOIResponse PromotionGOI_Recent7Day { get; set; } + + /// + /// 推广维度 近30天GOI + /// + public GOIResponse PromotionGOI_Recent30Day { get; set; } + + /// + /// 累计花费 + /// + public decimal TotalCost { get; set; } + + /// + /// 累计亏损 + /// + public decimal TotalDeficit { get; set; } + + /// + /// 最大亏损 + /// + public decimal MaxDeficit { get; set; } + } +} diff --git a/SiNan.Model/Dto/Response/GOI/ProductSkuGOIResponse.cs b/SiNan.Model/Dto/Response/GOI/ProductSkuGOIResponse.cs new file mode 100644 index 0000000..1a4a997 --- /dev/null +++ b/SiNan.Model/Dto/Response/GOI/ProductSkuGOIResponse.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SiNan.Model.Dto.Response.GOI +{ + internal class ProductSkuGOIResponse + { + } +} diff --git a/SiNan.Model/Dto/Response/Product/ProductResponse.cs b/SiNan.Model/Dto/Response/Product/ProductResponse.cs new file mode 100644 index 0000000..3814a24 --- /dev/null +++ b/SiNan.Model/Dto/Response/Product/ProductResponse.cs @@ -0,0 +1,6 @@ +namespace SiNan.Model.Dto +{ + public class ProductResponse : Model.Db.Product + { + } +} diff --git a/SiNan.Model/Enums.cs b/SiNan.Model/Enums.cs new file mode 100644 index 0000000..40ffd3d --- /dev/null +++ b/SiNan.Model/Enums.cs @@ -0,0 +1,26 @@ +namespace SiNan.Model +{ + public class Enums + { + /// + /// 商品阶段 新品款=0 成长款=1 日销款=2 TOP款=3 清仓款=4 + /// + public enum Stage + { + 新品款 = 0, 成长款 = 1, 日销款 = 2, TOP款 = 3, 清仓款 = 4 + } + + /// + /// 电商平台 淘宝 = 0,京东 = 1,阿里巴巴 = 2,拼多多 = 3,微信 = 4,拳探 = 10 + /// + public enum Platform + { + 淘宝 = 0, + 京东 = 1, + 阿里巴巴 = 2, + 拼多多 = 3, + 微信 = 4, + 拳探 = 10 + } + } +} diff --git a/SiNan.Model/_MDS重新生成.bat b/SiNan.Model/_MDS重新生成.bat new file mode 100644 index 0000000..6b055b2 --- /dev/null +++ b/SiNan.Model/_MDS重新生成.bat @@ -0,0 +1,2 @@ + +FreeSql.Generator -Razor 1 -NameOptions 1,0,0,0 -NameSpace SiNan.Server.Model.Db -DB "MySql,data source=rm-bp1508okrh23710yfao.mysql.rds.aliyuncs.com;port=3306;user id=qyroot;password=kaicn1132+-;initial catalog=mds;charset=utf8;sslmode=none;" -FileName "{name}.cs" diff --git a/SiNan.Model/__重新生成.bat b/SiNan.Model/__重新生成.bat new file mode 100644 index 0000000..a570f90 --- /dev/null +++ b/SiNan.Model/__重新生成.bat @@ -0,0 +1,2 @@ + +FreeSql.Generator -Razor 1 -NameOptions 1,0,0,0 -NameSpace SiNan.Model.Db -DB "MySql,data source=rm-bp1508okrh23710yfao.mysql.rds.aliyuncs.com;port=3306;user id=qyroot;password=kaicn1132+-;initial catalog=bbwyb;charset=utf8;sslmode=none;" -FileName "{name}.cs"