feat 添加商品检索条件

This commit is contained in:
lwh 2023-07-15 15:14:50 +08:00
parent 2919d9dd98
commit d8b7c7f379
2 changed files with 13 additions and 5 deletions

View File

@ -12,7 +12,7 @@ namespace ARW.Model.Dto.Api.GoodsManager.Goodss
/// @author lwh /// @author lwh
/// @date 2023-07-09 /// @date 2023-07-09
/// </summary> /// </summary>
public class GoodsQueryDtoApi : PagerInfo public class GoodsQueryDtoApi : PagerInfo
{ {
public long? ShopGuid { get; set; } public long? ShopGuid { get; set; }
@ -22,9 +22,11 @@ namespace ARW.Model.Dto.Api.GoodsManager.Goodss
public long? GoodsCategoryGuid { get; set; } public long? GoodsCategoryGuid { get; set; }
public string GoodsName { get; set; } public string GoodsName { get; set; }
public string GoodsCoding { get; set; } public string GoodsCoding { get; set; }
public int GoodsSort { get; set; }
public int GoodsSortType { get; set; }
} }
/// <summary> /// <summary>
/// 商品详情输入对象Api /// 商品详情输入对象Api
/// ///
@ -36,5 +38,5 @@ namespace ARW.Model.Dto.Api.GoodsManager.Goodss
[Required(ErrorMessage = "商品Id不能为空")] [Required(ErrorMessage = "商品Id不能为空")]
public long SpuId { get; set; } public long SpuId { get; set; }
} }
} }

View File

@ -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(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.GoodsName), s => s.GoodsName.Contains(parm.GoodsName));
predicate = predicate.AndIF(!string.IsNullOrEmpty(parm.GoodsCoding), s => s.GoodsCoding.Contains(parm.GoodsCoding)); 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 var query = _GoodsRepository
.Queryable() .Queryable()
.LeftJoin<Shop>((s, c) => s.ShopGuid == c.ShopGuid) .LeftJoin<Shop>((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)
//.WhereIF(parm.GoodsCategoryGuid != null, (s, c) => c.ShopBusinessCategoryGuid == parm.GoodsCategoryGuid || goodsCategoryArr.Contains(c.ShopBusinessCategoryGuid.ToString())) //.WhereIF(parm.GoodsCategoryGuid != null, (s, c) => c.ShopBusinessCategoryGuid == parm.GoodsCategoryGuid || goodsCategoryArr.Contains(c.ShopBusinessCategoryGuid.ToString()))
.Where(s => s.GoodsShelfStatus == 1) .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 .Select((s, c) => new GoodsVoApi
{ {
SpuId = s.GoodsGuid, SpuId = s.GoodsGuid,