From d8b7c7f3799c4b8f9b1ffb73f1c10ee2e679ee76 Mon Sep 17 00:00:00 2001 From: lwh <2679599887@qq.com> Date: Sat, 15 Jul 2023 15:14:50 +0800 Subject: [PATCH] =?UTF-8?q?feat=20=E6=B7=BB=E5=8A=A0=E5=95=86=E5=93=81?= =?UTF-8?q?=E6=A3=80=E7=B4=A2=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ARW.Model/Dto/Api/GoodsManager/Goodss/GoodsApiDto.cs | 10 ++++++---- .../GoodsManager/Goodss/GoodsServiceApi.cs | 8 +++++++- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/ARW.Model/Dto/Api/GoodsManager/Goodss/GoodsApiDto.cs b/ARW.Model/Dto/Api/GoodsManager/Goodss/GoodsApiDto.cs index 0410531..d897c58 100644 --- a/ARW.Model/Dto/Api/GoodsManager/Goodss/GoodsApiDto.cs +++ b/ARW.Model/Dto/Api/GoodsManager/Goodss/GoodsApiDto.cs @@ -12,7 +12,7 @@ namespace ARW.Model.Dto.Api.GoodsManager.Goodss /// @author lwh /// @date 2023-07-09 /// - public class GoodsQueryDtoApi : PagerInfo + public class GoodsQueryDtoApi : PagerInfo { public long? ShopGuid { get; set; } @@ -22,9 +22,11 @@ namespace ARW.Model.Dto.Api.GoodsManager.Goodss public long? GoodsCategoryGuid { get; set; } public string GoodsName { get; set; } public string GoodsCoding { get; set; } + public int GoodsSort { get; set; } + public int GoodsSortType { get; set; } } - - + + /// /// 商品详情输入对象Api /// @@ -36,5 +38,5 @@ namespace ARW.Model.Dto.Api.GoodsManager.Goodss [Required(ErrorMessage = "商品Id不能为空")] public long SpuId { get; set; } } - + } diff --git a/ARW.Service/Api/BusinessService/GoodsManager/Goodss/GoodsServiceApi.cs b/ARW.Service/Api/BusinessService/GoodsManager/Goodss/GoodsServiceApi.cs index d22d2b3..f11a1fb 100644 --- a/ARW.Service/Api/BusinessService/GoodsManager/Goodss/GoodsServiceApi.cs +++ b/ARW.Service/Api/BusinessService/GoodsManager/Goodss/GoodsServiceApi.cs @@ -82,6 +82,10 @@ namespace ARW.Service.Api.BusinessService.GoodsManager.Goodss //predicate = predicate.AndIF(parm.GoodsCategoryGuid != null, s => s.GoodsCategoryGuid == parm.GoodsCategoryGuid); 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)); + + var sortType = OrderByType.Asc; + if(parm.GoodsSortType == 1) sortType = OrderByType.Desc; + var query = _GoodsRepository .Queryable() .LeftJoin((s, c) => s.ShopGuid == c.ShopGuid) @@ -89,7 +93,9 @@ namespace ARW.Service.Api.BusinessService.GoodsManager.Goodss .WhereIF(parm.GoodsCategoryGuid != null, (s,c) => c.ShopBusinessCategoryGuid == parm.GoodsCategoryGuid) //.WhereIF(parm.GoodsCategoryGuid != null, (s, c) => c.ShopBusinessCategoryGuid == parm.GoodsCategoryGuid || goodsCategoryArr.Contains(c.ShopBusinessCategoryGuid.ToString())) .Where(s => s.GoodsShelfStatus == 1) - .OrderBy(s => s.GoodsSort, OrderByType.Desc) + .OrderByIF(parm.GoodsSort == 0 , s => s.GoodsSort, OrderByType.Asc) + .OrderByIF(parm.GoodsSort == 1 , s => s.GoodsPriceLowest, sortType) + //.OrderBy(s => s.GoodsSort, OrderByType.Desc) .Select((s, c) => new GoodsVoApi { SpuId = s.GoodsGuid,