diff --git a/BBWYB.Server.API/Controllers/PurchaserController.cs b/BBWYB.Server.API/Controllers/PurchaserController.cs new file mode 100644 index 0000000..1c12c61 --- /dev/null +++ b/BBWYB.Server.API/Controllers/PurchaserController.cs @@ -0,0 +1,27 @@ +using BBWYB.Server.Business; +using BBWYB.Server.Model.Dto; +using Microsoft.AspNetCore.Mvc; + +namespace BBWYB.Server.API.Controllers +{ + public class PurchaserController : BaseApiController + { + private PurchaserBusiness purchaserBusiness; + + public PurchaserController(IHttpContextAccessor httpContextAccessor, PurchaserBusiness purchaserBusiness) : base(httpContextAccessor) + { + this.purchaserBusiness = purchaserBusiness; + } + + /// + /// 查询采购商列表 + /// + /// + /// + [HttpPost] + public ListResponse QueryPurchaserList([FromBody] QueryPurchaserRequest request) + { + return purchaserBusiness.QueryPurchaserList(request); + } + } +} diff --git a/BBWYB.Server.Business/Purchaser/PurchaserBusiness.cs b/BBWYB.Server.Business/Purchaser/PurchaserBusiness.cs new file mode 100644 index 0000000..62b6d0e --- /dev/null +++ b/BBWYB.Server.Business/Purchaser/PurchaserBusiness.cs @@ -0,0 +1,20 @@ +using BBWYB.Common.Log; +using BBWYB.Common.Models; +using BBWYB.Server.Model.Dto; +using Yitter.IdGenerator; + +namespace BBWYB.Server.Business +{ + public class PurchaserBusiness : BaseBusiness, IDenpendency + { + public PurchaserBusiness(IFreeSql fsql, NLogManager nLogManager, IIdGenerator idGenerator) : base(fsql, nLogManager, idGenerator) + { + + } + + public ListResponse QueryPurchaserList(QueryPurchaserRequest request) + { + return new ListResponse(); + } + } +} diff --git a/BBWYB.Server.Model/Db/PurchaseScheme/Purchaser.cs b/BBWYB.Server.Model/Db/Purchaser/Purchaser.cs similarity index 78% rename from BBWYB.Server.Model/Db/PurchaseScheme/Purchaser.cs rename to BBWYB.Server.Model/Db/Purchaser/Purchaser.cs index e4292ac..cbaf0a3 100644 --- a/BBWYB.Server.Model/Db/PurchaseScheme/Purchaser.cs +++ b/BBWYB.Server.Model/Db/Purchaser/Purchaser.cs @@ -1,4 +1,4 @@ -using FreeSql.DataAnnotations; +using FreeSql.DataAnnotations; namespace BBWYB.Server.Model.Db { @@ -23,16 +23,25 @@ namespace BBWYB.Server.Model.Db public string Id2 { get; set; } /// - /// 采购商名称 + /// 发货地(产地) /// [Column(StringLength = 50)] - public string Name { get; set; } + public string Location { get; set; } /// - /// 发货地 + /// 经营模式 0贸易 1厂家 /// + [Column(DbType = "int", MapType = typeof(int))] + public Enums.ManagmentMode? ManagmentMode { get; set; } + [Column(StringLength = 50)] - public string Location { get; set; } + public string MemberId { get; set; } + + /// + /// 采购商名称 + /// + [Column(StringLength = 50)] + public string Name { get; set; } /// /// 采购平台 @@ -40,19 +49,17 @@ namespace BBWYB.Server.Model.Db [Column(MapType = typeof(int?))] public Enums.Platform? Platform { get; set; } - - [Column(StringLength = 50, IsNullable = true)] - public string MemberId { get; set; } - /// - /// 采购过的Sku数 + /// 采购次数 /// - public int? PurchasedSkuCount { get; set; } = 0; + [Column(DbType = "int")] + public int? PurchasedCount { get; set; } = 0; /// - /// 采购次数 + /// 采购过的Sku数 /// - public int? PurchasedCount { get; set; } = 0; + [Column(DbType = "int")] + public int? PurchasedSkuCount { get; set; } = 0; } diff --git a/BBWYB.Server.Model/Db/Purchaser/PurchaserCategoryTagsBasicInfo.cs b/BBWYB.Server.Model/Db/Purchaser/PurchaserCategoryTagsBasicInfo.cs new file mode 100644 index 0000000..341440a --- /dev/null +++ b/BBWYB.Server.Model/Db/Purchaser/PurchaserCategoryTagsBasicInfo.cs @@ -0,0 +1,27 @@ +using FreeSql.DataAnnotations; + +namespace BBWYB.Server.Model.Db +{ + + [Table(Name = "purchasercategorytagsbasicinfo", DisableSyncStructure = true)] + public partial class PurchaserCategoryTagsBasicInfo + { + + [Column(DbType = "bigint", IsPrimary = true)] + public long Id { get; set; } + + [Column(DbType = "datetime")] + public DateTime? CreateTime { get; set; } + + [Column(StringLength = 50)] + public string Name { get; set; } + + /// + /// 类型 主营类目=0 标签=1 + /// + [Column(MapType = typeof(int?))] + public Enums.PurchaserBasicInfoType? Type { get; set; } + + } + +} diff --git a/BBWYB.Server.Model/Db/Purchaser/Purchaser_CategoryTagsBasicInfo_Relation.cs b/BBWYB.Server.Model/Db/Purchaser/Purchaser_CategoryTagsBasicInfo_Relation.cs new file mode 100644 index 0000000..f7728b3 --- /dev/null +++ b/BBWYB.Server.Model/Db/Purchaser/Purchaser_CategoryTagsBasicInfo_Relation.cs @@ -0,0 +1,27 @@ +using FreeSql.DataAnnotations; + +namespace BBWYB.Server.Model.Db +{ + + [Table(Name = "purchaser_categorytagsbasicinfo_relation", DisableSyncStructure = true)] + public partial class Purchaser_CategoryTagsBasicInfo_Relation + { + + [Column(DbType = "bigint", IsPrimary = true)] + public long Id { get; set; } + + [Column(DbType = "bigint")] + public long? BasicExtendedInfoId { get; set; } + + /// + /// 关系类型 主营类目=0 标签=1 + /// + [Column(DbType = "int")] + public Enums.PurchaserBasicInfoType? BasicType { get; set; } + + [Column(StringLength = 50)] + public string PurchaserId { get; set; } + + } + +} diff --git a/BBWYB.Server.Model/Dto/Request/Purchaser/QueryPurchaserRequest.cs b/BBWYB.Server.Model/Dto/Request/Purchaser/QueryPurchaserRequest.cs new file mode 100644 index 0000000..b8f6361 --- /dev/null +++ b/BBWYB.Server.Model/Dto/Request/Purchaser/QueryPurchaserRequest.cs @@ -0,0 +1,31 @@ +namespace BBWYB.Server.Model.Dto +{ + public class QueryPurchaserRequest + { + public string Spu { get; set; } + + public string Sku { get; set; } + + /// + /// 采购商Id集合 + /// + public List PurchaserIdList { get; set; } + + /// + /// 主营类目Id集合 + /// + public List CategoryIdList { get; set; } + + /// + /// 供应商产地 + /// + public string Location { get; set; } + + /// + /// 页码 从1开始 + /// + public int PageIndex { get; set; } + + public int PageSize { get; set; } + } +} diff --git a/BBWYB.Server.Model/Dto/Response/ListResponse.cs b/BBWYB.Server.Model/Dto/Response/ListResponse.cs new file mode 100644 index 0000000..87b3d34 --- /dev/null +++ b/BBWYB.Server.Model/Dto/Response/ListResponse.cs @@ -0,0 +1,9 @@ +namespace BBWYB.Server.Model.Dto +{ + public class ListResponse where T : class + { + public List Items { get; set; } + + public long TotalCount { get; set; } + } +} diff --git a/BBWYB.Server.Model/Dto/Response/Product/ProductSkuResponse.cs b/BBWYB.Server.Model/Dto/Response/Product/ProductSkuResponse.cs new file mode 100644 index 0000000..7705489 --- /dev/null +++ b/BBWYB.Server.Model/Dto/Response/Product/ProductSkuResponse.cs @@ -0,0 +1,8 @@ +using BBWYB.Server.Model.Db; + +namespace BBWYB.Server.Model.Dto +{ + public class ProductSkuResponse : ProductSku + { + } +} diff --git a/BBWYB.Server.Model/Dto/Response/Purchaser/PurchaserCategoryTagsBasicInfoResponse.cs b/BBWYB.Server.Model/Dto/Response/Purchaser/PurchaserCategoryTagsBasicInfoResponse.cs new file mode 100644 index 0000000..bcdce27 --- /dev/null +++ b/BBWYB.Server.Model/Dto/Response/Purchaser/PurchaserCategoryTagsBasicInfoResponse.cs @@ -0,0 +1,8 @@ +using BBWYB.Server.Model.Db; + +namespace BBWYB.Server.Model.Dto +{ + public class PurchaserCategoryTagsBasicInfoResponse: PurchaserCategoryTagsBasicInfo + { + } +} diff --git a/BBWYB.Server.Model/Dto/Response/Purchaser/PurchaserResponse.cs b/BBWYB.Server.Model/Dto/Response/Purchaser/PurchaserResponse.cs new file mode 100644 index 0000000..33386fd --- /dev/null +++ b/BBWYB.Server.Model/Dto/Response/Purchaser/PurchaserResponse.cs @@ -0,0 +1,64 @@ +using BBWYB.Server.Model.Db; + +namespace BBWYB.Server.Model.Dto +{ + public class PurchaserResponse : Purchaser + { + /// + /// 类目集合 + /// + public IList CategoryList { get; set; } + + /// + /// 标签集合 + /// + public IList TagList { get; set; } + + /// + /// 绑定SPU数 + /// + public long? BindingSpuCount { get; set; } + + /// + /// 采购SPU数 + /// + public long? PurchasedSpuCount { get; set; } + + /// + /// 绑定SKU数 + /// + public long? BindingSkuCount { get; set; } + + /// + /// 采购SKU数 + /// + public long? PurchasedSkuCount { get; set; } + + /// + /// 采购订单数 + /// + public long? PurchaseOrderCount { get; set; } + + /// + /// 采购金额 + /// + public decimal? PurchaseAmount { get; set; } + + /// + /// 上次采购时间 + /// + public DateTime? LastPurchaseTime { get; set; } + + /// + /// 最近30天具有采购行为的店铺SKU + /// + public IList Recent30dProductSku { get; set; } + + public PurchaserResponse() + { + CategoryList = new List(); + TagList = new List(); + Recent30dProductSku = new List(); + } + } +} diff --git a/BBWYB.Server.Model/Enums.cs b/BBWYB.Server.Model/Enums.cs index dc80d1e..62132e6 100644 --- a/BBWYB.Server.Model/Enums.cs +++ b/BBWYB.Server.Model/Enums.cs @@ -330,5 +330,21 @@ { 首次采购 = 0, 首次优化 = 1, 再次优化 = 2 } + + /// + /// 厂家经营模式 + /// + public enum ManagmentMode + { + 贸易 = 0, 厂家 = 1 + } + + /// + /// 厂家扩展信息类型 + /// + public enum PurchaserBasicInfoType + { + 主营类目 = 0, 标签 = 1 + } } }