From ab710a6f6e2c61e226089d37d8501c45f4fb838c Mon Sep 17 00:00:00 2001 From: lwh <2679599887@qq.com> Date: Thu, 20 Jul 2023 15:08:46 +0800 Subject: [PATCH] =?UTF-8?q?feat=20=E6=B7=BB=E5=8A=A0=E5=95=86=E5=93=81?= =?UTF-8?q?=E8=AF=A6=E6=83=85=E9=A1=B5=E7=9A=84=E5=BA=97=E9=93=BA=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Api/GoodsManager/Goodss/GoodsApiDto.cs | 7 +++++++ .../Vo/Api/GoodsManager/Goodss/GoodsApiVo.cs | 19 +++++++++++++++++++ .../GoodsManager/Goodss/GoodsServiceApi.cs | 16 ++++++++++++---- 3 files changed, 38 insertions(+), 4 deletions(-) diff --git a/ARW.Model/Dto/Api/GoodsManager/Goodss/GoodsApiDto.cs b/ARW.Model/Dto/Api/GoodsManager/Goodss/GoodsApiDto.cs index d897c58..50a30e6 100644 --- a/ARW.Model/Dto/Api/GoodsManager/Goodss/GoodsApiDto.cs +++ b/ARW.Model/Dto/Api/GoodsManager/Goodss/GoodsApiDto.cs @@ -20,10 +20,17 @@ namespace ARW.Model.Dto.Api.GoodsManager.Goodss /// 店铺经营类目 /// public long? GoodsCategoryGuid { get; set; } + + /// + /// 店铺商品类目 + /// + public long? ShopGoodsCategoryGuid { get; set; } public string GoodsName { get; set; } public string GoodsCoding { get; set; } public int GoodsSort { get; set; } public int GoodsSortType { get; set; } + public decimal MinPrice { get; set;} + public decimal MaxPrice { get; set;} } diff --git a/ARW.Model/Vo/Api/GoodsManager/Goodss/GoodsApiVo.cs b/ARW.Model/Vo/Api/GoodsManager/Goodss/GoodsApiVo.cs index b18fd11..879da00 100644 --- a/ARW.Model/Vo/Api/GoodsManager/Goodss/GoodsApiVo.cs +++ b/ARW.Model/Vo/Api/GoodsManager/Goodss/GoodsApiVo.cs @@ -129,6 +129,25 @@ namespace ARW.Model.Vo.Api.GoodsManager.Goodss [JsonConverter(typeof(ValueToStringConverter))] public long CategoryIds { get; set; } + /// + /// 描述 :店铺Logo + /// + public string ShopLogo { get; set; } + + /// + /// 描述 :店铺名称 + /// + public string ShopName { get; set; } + + /// + /// 描述 :店铺销售单量 + /// + public int ShopSalesOrderCount { get; set; } + + /// + /// 描述 :店铺简介 + /// + public string ShopIntro { get; set; } /// /// 描述 :商品名称 diff --git a/ARW.Service/Api/BusinessService/GoodsManager/Goodss/GoodsServiceApi.cs b/ARW.Service/Api/BusinessService/GoodsManager/Goodss/GoodsServiceApi.cs index f11a1fb..c3cf2a2 100644 --- a/ARW.Service/Api/BusinessService/GoodsManager/Goodss/GoodsServiceApi.cs +++ b/ARW.Service/Api/BusinessService/GoodsManager/Goodss/GoodsServiceApi.cs @@ -63,7 +63,7 @@ namespace ARW.Service.Api.BusinessService.GoodsManager.Goodss { //开始拼装查询条件 var predicate = Expressionable.Create(); - string[] goodsCategoryArr = null; + //string[] goodsCategoryArr = null; // 检索经营类目 //if (parm.GoodsCategoryGuid != null) @@ -79,9 +79,11 @@ namespace ARW.Service.Api.BusinessService.GoodsManager.Goodss //} predicate = predicate.AndIF(parm.ShopGuid != null, s => s.ShopGuid == parm.ShopGuid); - //predicate = predicate.AndIF(parm.GoodsCategoryGuid != null, s => s.GoodsCategoryGuid == parm.GoodsCategoryGuid); + predicate = predicate.AndIF(parm.ShopGoodsCategoryGuid != null, s => s.ShopGoodsCategoryGuid == parm.ShopGoodsCategoryGuid); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.GoodsName), s => s.GoodsName.Contains(parm.GoodsName)); predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.GoodsCoding), s => s.GoodsCoding.Contains(parm.GoodsCoding)); + predicate = predicate.AndIF(parm.MinPrice != 0, s => s.GoodsPriceLowest >= parm.MinPrice); + predicate = predicate.AndIF(parm.MaxPrice != 0, s => s.GoodsPriceLowest <= parm.MaxPrice); var sortType = OrderByType.Asc; if(parm.GoodsSortType == 1) sortType = OrderByType.Desc; @@ -95,6 +97,7 @@ namespace ARW.Service.Api.BusinessService.GoodsManager.Goodss .Where(s => s.GoodsShelfStatus == 1) .OrderByIF(parm.GoodsSort == 0 , s => s.GoodsSort, OrderByType.Asc) .OrderByIF(parm.GoodsSort == 1 , s => s.GoodsPriceLowest, sortType) + .OrderByIF(parm.GoodsSort == 2 , s => s.GoodsSalesInitial + s.GoodsSalesActual, sortType) //.OrderBy(s => s.GoodsSort, OrderByType.Desc) .Select((s, c) => new GoodsVoApi { @@ -128,11 +131,16 @@ namespace ARW.Service.Api.BusinessService.GoodsManager.Goodss var query = _GoodsRepository .Queryable() + .LeftJoin((s, c) => s.ShopGuid == c.ShopGuid) .Where(s => s.GoodsGuid == parm.SpuId) - .Select(s => new GoodsApiDetailsVo + .Select((s,c) => new GoodsApiDetailsVo { SpuId = s.GoodsGuid, - ShopGuid = s.ShopGuid, + ShopGuid = s.ShopGuid, + ShopLogo = c.ShopLogo, + ShopName = c.ShopName, + ShopSalesOrderCount = c.ShopSalesOrderCount, + ShopIntro = c.ShopIntro, CategoryIds = s.ShopGoodsCategoryGuid, Title = s.GoodsName, GoodsCoding = s.GoodsCoding,