Browse Source

根据订单Id查询归属店铺

qianyi
shanji 3 years ago
parent
commit
cf11963070
  1. 11
      BBWY.Server.API/Controllers/OrderController.cs
  2. 30
      BBWY.Server.Business/Order/OrderBusiness.cs
  3. 13
      BBWY.Server.Model/Dto/Response/Vender/OrderBelongShopResponse.cs

11
BBWY.Server.API/Controllers/OrderController.cs

@ -50,6 +50,17 @@ namespace BBWY.Server.API.Controllers
return orderBusiness.GetOrderById(orderId);
}
/// <summary>
/// 根据订单Id获取归属店铺
/// </summary>
/// <param name="orderIdList"></param>
/// <returns></returns>
[HttpPost]
public IList<OrderBelongShopResponse> GetOrderBelongShop([FromBody] IList<string> orderIdList)
{
return orderBusiness.GetOrderBelongShop(orderIdList);
}
/// <summary>
/// 解密收货人信息
/// </summary>

30
BBWY.Server.Business/Order/OrderBusiness.cs

@ -4,8 +4,10 @@ using BBWY.Common.Models;
using BBWY.Server.Business.PlatformSDK.DataExtension;
using BBWY.Server.Model;
using BBWY.Server.Model.Db;
using BBWY.Server.Model.Db.Mds;
using BBWY.Server.Model.Dto;
using FreeSql;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
@ -27,6 +29,8 @@ namespace BBWY.Server.Business
private IIdGenerator idGenerator;
private TaskSchedulerManager taskSchedulerManager;
private MDSBusiness mdsBusiness;
private Lazy<FreeSqlMultiDBManager> freeSqlMultiDBManagerLazy;
private FreeSqlMultiDBManager freeSqlMultiDBManager => freeSqlMultiDBManagerLazy.Value;
public OrderBusiness(RestApiService restApiService,
ILogger logger,
@ -34,7 +38,8 @@ namespace BBWY.Server.Business
IIdGenerator idGenerator,
IOptions<GlobalConfig> options,
TaskSchedulerManager taskSchedulerManager,
MDSBusiness mdsBusiness) : base(restApiService, options)
MDSBusiness mdsBusiness,
IServiceProvider serviceProvider) : base(restApiService, options)
{
this.logger = logger;
this.fsql = fsql;
@ -45,6 +50,7 @@ namespace BBWY.Server.Business
{ Enums.Platform., SyncJDOrder }
};
this.mdsBusiness = mdsBusiness;
freeSqlMultiDBManagerLazy = new Lazy<FreeSqlMultiDBManager>(() => serviceProvider.GetService<FreeSqlMultiDBManager>());
}
public OrderListResponse GetOrderList(SearchOrderRequest searchOrderRequest)
@ -328,6 +334,28 @@ namespace BBWY.Server.Business
return orderResponse;
}
public IList<OrderBelongShopResponse> GetOrderBelongShop(IList<string> orderIdList)
{
var orderGroups = fsql.Select<Order>().Where(o => orderIdList.Contains(o.Id)).ToList(o => new { o.ShopId, OrderId = o.Id }).GroupBy(o => o.ShopId);
var shopIdList = orderGroups.Select(o => o.Key.ToString()).ToList();
var shops = freeSqlMultiDBManager.MDSfsql.Select<Shops>().Where(s => shopIdList.Contains(s.ShopId)).ToList(s => new { s.ShopId, s.ShopName });
var list = new List<OrderBelongShopResponse>();
foreach (var orderGroup in orderGroups)
{
var shop = shops.FirstOrDefault(s => s.ShopId == orderGroup.Key.ToString());
if (shop == null)
continue;
var orderBelongShop = new OrderBelongShopResponse()
{
ShopId = orderGroup.Key,
ShpName = shop.ShopName,
OrderIdList = orderGroup.Select(x => x.OrderId).ToList()
};
list.Add(orderBelongShop);
}
return list;
}
/// <summary>
/// 解密
/// </summary>

13
BBWY.Server.Model/Dto/Response/Vender/OrderBelongShopResponse.cs

@ -0,0 +1,13 @@
using System.Collections.Generic;
namespace BBWY.Server.Model.Dto
{
public class OrderBelongShopResponse
{
public long ShopId { get; set; }
public string ShpName { get; set; }
public IList<string> OrderIdList { get; set; }
}
}
Loading…
Cancel
Save