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,