Browse Source

供应商名称和产地搜索接口

liangku_skuoptimazation
shanji 2 years ago
parent
commit
ec2fe4443e
  1. 22
      BBWYB.Server.API/Controllers/PurchaserController.cs
  2. 41
      BBWYB.Server.Business/Purchaser/PurchaserBusiness.cs
  3. 10
      BBWYB.Server.Model/Dto/Request/Purchaser/QueryPurchaserRequest.cs

22
BBWYB.Server.API/Controllers/PurchaserController.cs

@ -14,6 +14,28 @@ namespace BBWYB.Server.API.Controllers
this.purchaserBusiness = purchaserBusiness;
}
/// <summary>
/// 根据关键词搜索采购商名称列表
/// </summary>
/// <param name="keywords"></param>
/// <returns></returns>
[HttpGet("{keywords}")]
public ListResponse<string> QueryPurchaserNameList([FromRoute] string keywords)
{
return purchaserBusiness.QueryPurchaserNameList(keywords);
}
/// <summary>
/// 根据关键词搜索采购商产地列表
/// </summary>
/// <param name="keywords"></param>
/// <returns></returns>
[HttpGet("{keywords}")]
public ListResponse<string> QueryPurchaserLocationList([FromRoute] string keywords)
{
return purchaserBusiness.QueryPurchaserLocationList(keywords);
}
/// <summary>
/// 查询采购商列表
/// </summary>

41
BBWYB.Server.Business/Purchaser/PurchaserBusiness.cs

@ -14,9 +14,48 @@ namespace BBWYB.Server.Business
}
public ListResponse<string> QueryPurchaserNameList(string keywords)
{
if (string.IsNullOrEmpty(keywords))
throw new BusinessException("关键字不能为空");
var list = fsql.Select<Purchaser>().Where(p => p.Name.Contains(keywords)).Distinct().ToList(x => x.Name);
return new ListResponse<string> { Items = list, TotalCount = list.Count() };
}
public ListResponse<string> QueryPurchaserLocationList(string keywords)
{
if (string.IsNullOrEmpty(keywords))
throw new BusinessException("关键字不能为空");
var list = fsql.Select<Purchaser>().Where(p => p.Location.Contains(keywords)).Distinct().ToList(x => x.Location);
return new ListResponse<string> { Items = list, TotalCount = list.Count() };
}
public ListResponse<PurchaserResponse> QueryPurchaserList(QueryPurchaserRequest request)
{
return new ListResponse<PurchaserResponse>();
if (request.PageSize > 20)
request.PageSize = 20;
var purchaserList = fsql.Select<Purchaser>()
.WhereIf(!string.IsNullOrEmpty(request.Spu), p => fsql.Select<PurchaseSchemeProduct>()
.Where(psp1 => psp1.PurchaserId == p.Id &&
psp1.ProductId == request.Spu)
.Any())
.WhereIf(!string.IsNullOrEmpty(request.Sku), p => fsql.Select<PurchaseSchemeProduct>()
.Where(psp2 => psp2.PurchaserId == p.Id &&
psp2.SkuId == request.Sku)
.Any())
.WhereIf(request.PurchaserNameList != null && request.PurchaserNameList.Count() > 0, p => request.PurchaserNameList.Contains(p.Name))
.WhereIf(request.CategoryIdList != null && request.CategoryIdList.Count() > 0, p => fsql.Select<Purchaser_ExtendedInfo_Relation>()
.Where(per => per.PurchaserId == p.Id &&
request.CategoryIdList.Contains(per.ExtendedInfoId.Value)).Any())
.WhereIf(request.LocationList != null && request.LocationList.Count() > 0, p => request.LocationList.Contains(p.Location))
.Page(request.PageIndex, request.PageSize)
.Count(out var count)
.ToList<PurchaserResponse>();
return new ListResponse<PurchaserResponse>()
{
Items = purchaserList,
TotalCount = count
};
}
public ListResponse<PurchaserExtendedInfoResponse> QueryPurchaserCategoryList(QueryPurchaserExtendedRequest request)

10
BBWYB.Server.Model/Dto/Request/Purchaser/QueryPurchaserRequest.cs

@ -9,7 +9,7 @@
/// <summary>
/// 采购商Id集合
/// </summary>
public List<string> PurchaserIdList { get; set; }
public List<string> PurchaserNameList { get; set; }
/// <summary>
/// 主营类目Id集合
@ -17,15 +17,19 @@
public List<long> CategoryIdList { get; set; }
/// <summary>
/// 供应商产地
/// 供应商产地集合
/// </summary>
public string Location { get; set; }
public List<string> LocationList { get; set; }
/// <summary>
/// 页码 从1开始
/// </summary>
public int PageIndex { get; set; }
/// <summary>
/// 页记录数 最大20
/// </summary>
public int PageSize { get; set; }
}
}

Loading…
Cancel
Save