|
@ -199,24 +199,46 @@ namespace BBWYB.Server.Business |
|
|
/// <returns></returns>
|
|
|
/// <returns></returns>
|
|
|
public IList<PurchaseSchemeResponse> GetPurchaseSchemeList(QuerySchemeRequest request) |
|
|
public IList<PurchaseSchemeResponse> GetPurchaseSchemeList(QuerySchemeRequest request) |
|
|
{ |
|
|
{ |
|
|
var select = fsql.Select<PurchaseScheme>(); |
|
|
#region 处理条件优先级
|
|
|
if (request.SchemeId != null && request.SchemeId != 0) |
|
|
if (request.SchemeId != null) |
|
|
select = select.Where(ps => ps.Id == request.SchemeId); |
|
|
{ |
|
|
|
|
|
request.SchemeIdList?.Clear(); |
|
|
|
|
|
request.SchemeGroupIdList?.Clear(); |
|
|
|
|
|
request.SkuIdList?.Clear(); |
|
|
|
|
|
request.ProductIdList?.Clear(); |
|
|
|
|
|
} |
|
|
else if (request.SchemeIdList != null && request.SchemeIdList.Count() > 0) |
|
|
else if (request.SchemeIdList != null && request.SchemeIdList.Count() > 0) |
|
|
select = select.Where(ps => request.SchemeIdList.Contains(ps.Id)); |
|
|
|
|
|
else |
|
|
|
|
|
{ |
|
|
{ |
|
|
select = select.WhereIf(request.ShopId != null && request.ShopId != 0, ps => ps.ShopId == request.ShopId) |
|
|
request.SchemeGroupIdList?.Clear(); |
|
|
.WhereIf(request.SkuIdList != null && request.SkuIdList.Count() > 0, ps => request.SkuIdList.Contains(ps.SkuId)); |
|
|
request.SkuIdList?.Clear(); |
|
|
|
|
|
request.ProductIdList?.Clear(); |
|
|
|
|
|
} |
|
|
|
|
|
else if (request.SchemeGroupIdList != null && request.SchemeGroupIdList.Count() > 0) |
|
|
|
|
|
{ |
|
|
|
|
|
request.SkuIdList?.Clear(); |
|
|
|
|
|
request.ProductIdList?.Clear(); |
|
|
|
|
|
} |
|
|
|
|
|
else if (request.SkuIdList != null && request.SkuIdList.Count() > 0) |
|
|
|
|
|
{ |
|
|
|
|
|
request.ProductIdList?.Clear(); |
|
|
|
|
|
} |
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
if (request.PurchasePlatform != null || !string.IsNullOrEmpty(request.PurchaserId)) |
|
|
var select = fsql.Select<PurchaseScheme>() |
|
|
{ |
|
|
.WhereIf(request.ShopId != null && request.ShopId != 0, ps => ps.ShopId == request.ShopId) |
|
|
select = select.Where(ps => fsql.Select<PurchaseSchemeProduct, Purchaser>() |
|
|
.WhereIf(request.SchemeId != null && request.SchemeId != 0, ps => ps.Id == request.SchemeId) |
|
|
.InnerJoin((psp, p) => psp.PurchaserId == p.Id) |
|
|
.WhereIf(request.SchemeIdList != null && request.SchemeIdList.Count() > 0, ps => request.SchemeIdList.Contains(ps.Id)) |
|
|
.WhereIf(request.PurchasePlatform != null, (psp, p) => p.Platform == request.PurchasePlatform) |
|
|
.WhereIf(request.SchemeGroupIdList != null && request.SchemeGroupIdList.Count() > 0, ps => request.SchemeGroupIdList.Contains(ps.SchemeGroupId)) |
|
|
.WhereIf(!string.IsNullOrEmpty(request.PurchaserId), (psp, p) => psp.PurchaserId == request.PurchaserId) |
|
|
.WhereIf(request.SkuIdList != null && request.SkuIdList.Count() > 0, ps => request.SkuIdList.Contains(ps.SkuId)) |
|
|
.Where((psp, p) => psp.SkuPurchaseSchemeId == ps.Id).Any()); |
|
|
.WhereIf(request.ProductIdList != null && request.ProductIdList.Count() > 0, ps => request.ProductIdList.Contains(ps.ProductId)); |
|
|
} |
|
|
|
|
|
|
|
|
if (request.PurchasePlatform != null || !string.IsNullOrEmpty(request.PurchaserId)) |
|
|
|
|
|
{ |
|
|
|
|
|
select = select.Where(ps => fsql.Select<PurchaseSchemeProduct, Purchaser>() |
|
|
|
|
|
.InnerJoin((psp, p) => psp.PurchaserId == p.Id) |
|
|
|
|
|
.WhereIf(request.PurchasePlatform != null, (psp, p) => p.Platform == request.PurchasePlatform) |
|
|
|
|
|
.WhereIf(!string.IsNullOrEmpty(request.PurchaserId), (psp, p) => psp.PurchaserId == request.PurchaserId) |
|
|
|
|
|
.Where((psp, p) => psp.SkuPurchaseSchemeId == ps.Id).Any()); |
|
|
} |
|
|
} |
|
|
var sql = select.ToSql(); |
|
|
var sql = select.ToSql(); |
|
|
var purchaseSchemeList = select.OrderByDescending(ps => ps.CreateTime).ToList<PurchaseSchemeResponse>(); |
|
|
var purchaseSchemeList = select.OrderByDescending(ps => ps.CreateTime).ToList<PurchaseSchemeResponse>(); |
|
@ -322,6 +344,26 @@ namespace BBWYB.Server.Business |
|
|
return purchaseSchemeList; |
|
|
return purchaseSchemeList; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public IList<PurchaseSchemeGroupResponse> GetPurchaseSchemeAndGroupList(QuerySchemeAndGroupRequest request) |
|
|
|
|
|
{ |
|
|
|
|
|
var purchaseSchemeGroupsList = fsql.Select<PurchaseSchemeGroup>() |
|
|
|
|
|
.Where(psg => psg.ShopId == request.ShopId && |
|
|
|
|
|
request.ProductIdList.Contains(psg.ProductId)) |
|
|
|
|
|
.ToList<PurchaseSchemeGroupResponse>(); |
|
|
|
|
|
if (purchaseSchemeGroupsList.Count() > 0) |
|
|
|
|
|
{ |
|
|
|
|
|
var groupIds = purchaseSchemeGroupsList.Select(g => g.Id).ToList(); |
|
|
|
|
|
var purchaseSchemeList = GetPurchaseSchemeList(new QuerySchemeRequest() |
|
|
|
|
|
{ |
|
|
|
|
|
IncludePurchaseSkuBasicInfo = request.IncludePurchaseSkuBasicInfo, |
|
|
|
|
|
SchemeGroupIdList = groupIds |
|
|
|
|
|
}); |
|
|
|
|
|
foreach (var psg in purchaseSchemeGroupsList) |
|
|
|
|
|
psg.PurchaseSchemeList = purchaseSchemeList.Where(ps => ps.SchemeGroupId == psg.Id).ToList(); |
|
|
|
|
|
} |
|
|
|
|
|
return purchaseSchemeGroupsList; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
public IList<PurchaseSchemeCountResponse> GetPurchaseSchemeCountList(QuerySchemeCountRequest request) |
|
|
public IList<PurchaseSchemeCountResponse> GetPurchaseSchemeCountList(QuerySchemeCountRequest request) |
|
|
{ |
|
|
{ |
|
|
var list = fsql.Select<PurchaseScheme>().Where(ps => request.SkuIdList.Contains(ps.SkuId)) |
|
|
var list = fsql.Select<PurchaseScheme>().Where(ps => request.SkuIdList.Contains(ps.SkuId)) |
|
@ -467,21 +509,5 @@ namespace BBWYB.Server.Business |
|
|
} |
|
|
} |
|
|
return list; |
|
|
return list; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//public void EditPurchaseRatio(EditPurchaseRatioAndActualPriceRequest request)
|
|
|
|
|
|
//{
|
|
|
|
|
|
// if (request.Ratio < 1)
|
|
|
|
|
|
// request.Ratio = 1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// fsql.Update<PurchaseSchemeProductSku>().Set(pss => pss.PurchaseRatio, request.Ratio)
|
|
|
|
|
|
// .Set(pss => pss.ActualPrice, request.ActualPrice)
|
|
|
|
|
|
// .Where(pss => pss.SkuPurchaseSchemeId == request.SchemeId &&
|
|
|
|
|
|
// pss.SkuId == request.SkuId &&
|
|
|
|
|
|
// pss.PurchaseSkuId == request.PurchaseSkuId)
|
|
|
|
|
|
// .ExecuteAffrows();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//}
|
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|