接口端【优化】:优化接口端提供给小程序显示的销量数据。

This commit is contained in:
jianweie code
2024-11-18 22:48:59 +08:00
parent d5a1d09406
commit b1e8626e9a
3 changed files with 36 additions and 3 deletions

View File

@@ -2221,7 +2221,7 @@ namespace CoreCms.Net.Repository
unit = good.unit,
commentsCount = good.commentsCount,
viewCount = good.viewCount,
buyCount = SqlFunc.Subqueryable<CoreCmsOrderItem>()
buyCount = good.initialSales + SqlFunc.Subqueryable<CoreCmsOrderItem>()
.LeftJoin<CoreCmsOrder>((sOrderItem, sOrder) => sOrder.orderId == sOrderItem.orderId)
.Where((sOrderItem, sOrder) => sOrderItem.goodsId == good.id && (sOrder.payStatus == (int)GlobalEnumVars.OrderPayStatus.Yes || sOrder.payStatus == (int)GlobalEnumVars.OrderPayStatus.PartialYes))
.Sum((sOrderItem, sOrder) => sOrderItem.nums),
@@ -2265,7 +2265,7 @@ namespace CoreCms.Net.Repository
unit = good.unit,
commentsCount = good.commentsCount,
viewCount = good.viewCount,
buyCount = SqlFunc.Subqueryable<CoreCmsOrderItem>()
buyCount = good.initialSales + SqlFunc.Subqueryable<CoreCmsOrderItem>()
.LeftJoin<CoreCmsOrder>((sOrderItem, sOrder) => sOrder.orderId == sOrderItem.orderId)
.Where((sOrderItem, sOrder) => sOrderItem.goodsId == good.id && (sOrder.payStatus == (int)GlobalEnumVars.OrderPayStatus.Yes || sOrder.payStatus == (int)GlobalEnumVars.OrderPayStatus.PartialYes))
.Sum((sOrderItem, sOrder) => sOrderItem.nums),
@@ -2404,5 +2404,26 @@ namespace CoreCms.Net.Repository
}
#endregion
#region
/// <summary>
/// 获取单个商品的销售数量
/// </summary>
/// <param name="goodId"></param>
/// <returns></returns>
public async Task<int> QueryOneGoodSalesVolume(int goodId)
{
var count = 0;
count = await DbClient.Queryable<CoreCmsOrderItem>()
.LeftJoin<CoreCmsOrder>((sOrderItem, sOrder) => sOrder.orderId == sOrderItem.orderId)
.Where((sOrderItem, sOrder) => sOrderItem.goodsId == goodId &&
(sOrder.payStatus == (int)GlobalEnumVars.OrderPayStatus.Yes ||
sOrder.payStatus == (int)GlobalEnumVars.OrderPayStatus.PartialYes))
.SumAsync((sOrderItem, sOrder) => sOrderItem.nums);
return count;
}
#endregion
}
}