Browse Source

内网推送C

yijia
shanji 2 years ago
parent
commit
27c306584f
  1. 8
      BBWYB.Server.API/Controllers/DataRepairController.cs
  2. 117
      BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs
  3. 12
      BBWYB.Server.Business/Order/OrderBusiness.cs
  4. 12
      BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs

8
BBWYB.Server.API/Controllers/DataRepairController.cs

@ -73,6 +73,12 @@ namespace BBWYB.Server.API.Controllers
[HttpPost]
public void SyncHistoryPurchaseScheme()
{ dataRepairBusiness.SyncHistoryPurchaseScheme();}
{ dataRepairBusiness.SyncHistoryPurchaseScheme(); }
[HttpPost]
public void BatchCompleteOrder()
{
dataRepairBusiness.BatchCompleteOrder();
}
}
}

117
BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs

@ -5,6 +5,9 @@ using BBWYB.Server.Model;
using BBWYB.Server.Model.Db;
using BBWYB.Server.Model.Dto;
using FreeSql;
using SDKAdapter;
using SDKAdapter.OperationPlatform.Client;
using SDKAdapter.OperationPlatform.Models;
using System.Net.Http.Headers;
using Yitter.IdGenerator;
@ -17,13 +20,15 @@ namespace BBWYB.Server.Business
private PurchaseOrderBusiness purchaseOrderBusiness;
private FreeSqlMultiDBManager freeSqlMultiDBManager;
private VenderBusiness venderBusiness;
public DataRepairBusiness(IFreeSql fsql, NLogManager nLogManager, IIdGenerator idGenerator, KuaiDi100Manager kuaiDi100Manager, PurchaseSchemeBusiness purchaseSchemeBusiness, PurchaseOrderBusiness purchaseOrderBusiness, FreeSqlMultiDBManager freeSqlMultiDBManager, VenderBusiness venderBusiness) : base(fsql, nLogManager, idGenerator)
private OP_PlatformClientFactory opPlatformClientFactory;
public DataRepairBusiness(IFreeSql fsql, NLogManager nLogManager, IIdGenerator idGenerator, KuaiDi100Manager kuaiDi100Manager, PurchaseSchemeBusiness purchaseSchemeBusiness, PurchaseOrderBusiness purchaseOrderBusiness, FreeSqlMultiDBManager freeSqlMultiDBManager, VenderBusiness venderBusiness, OP_PlatformClientFactory opPlatformClientFactory) : base(fsql, nLogManager, idGenerator)
{
this.kuaiDi100Manager = kuaiDi100Manager;
this.purchaseSchemeBusiness = purchaseSchemeBusiness;
this.purchaseOrderBusiness = purchaseOrderBusiness;
this.freeSqlMultiDBManager = freeSqlMultiDBManager;
this.venderBusiness = venderBusiness;
this.opPlatformClientFactory = opPlatformClientFactory;
}
@ -410,7 +415,7 @@ namespace BBWYB.Server.Business
List<HistoryPurchaseScheme> insertHistoryPSList = new List<HistoryPurchaseScheme>();
List<HistoryPurchaseSchemeProduct> insertHistoryPSPList = new List<HistoryPurchaseSchemeProduct>();
List<HistoryPurchaseSchemeProductSku> insertHistoryPSSList = new List<HistoryPurchaseSchemeProductSku>();
foreach (var ps in psList)
{
@ -459,5 +464,113 @@ namespace BBWYB.Server.Business
});
}
}
public void BatchCompleteOrder()
{
var time = DateTime.Parse("2023-09-01");
//var orderStateList = new List<Enums.OrderState?>() { Enums.OrderState.待付款, Enums.OrderState.已取消, Enums.OrderState.已完成 };
//var orderList = fsql.Select<Order>().Where(o => o.StartTime < time && !orderStateList.Contains(o.OrderState)).ToList();
var orderList = fsql.Select<Order>().Where(o => o.StartTime < time && o.OrderState == Enums.OrderState.).ToList();
var shops = venderBusiness.GetShopList(platform: Enums.Platform.);
var count = orderList.Count();
var i = 1;
Queue<IUpdate<Order>> updateOrderQueue = new Queue<IUpdate<Order>>();
List<IUpdate<Order>> updateOrderList = new List<IUpdate<Order>>();
foreach (var order in orderList)
{
Console.WriteLine($"{i}/{count},{order.Id}");
try
{
var shop = shops.FirstOrDefault(s => s.ShopId == order.ShopId.ToString());
if (shop == null)
{
i++;
continue;
}
var qtOrderList = opPlatformClientFactory.GetClient(AdapterEnums.PlatformType.).GetOrderList(new OP_QueryOrderRequest()
{
AppKey = shop.AppKey,
AppSecret = shop.AppSecret,
AppToken = shop.AppToken,
OrderId = order.Id,
PageIndex = 1,
PageSize = 100,
Platform = AdapterEnums.PlatformType.,
SortTimeField = AdapterEnums.SortTimeField.Modify,
SortType = AdapterEnums.SortType.Desc,
StartDate = null,
EndDate = null
});
if (qtOrderList.Count == 0)
{
var update = fsql.Update<Order>(order.Id).Set(o => o.OrderState, Enums.OrderState.);
updateOrderQueue.Enqueue(update);
i++;
continue;
}
var qtOrder = qtOrderList.Items[0];
if (qtOrder.OrderState != "-1" && qtOrder.IsPay)
{
var update = fsql.Update<Order>(order.Id).Set(o => o.OrderState, Enums.OrderState.);
updateOrderQueue.Enqueue(update);
}
if ((qtOrder.OrderState == "-1" || !qtOrder.IsPay) && order.OrderState != Enums.OrderState.)
{
var update = fsql.Update<Order>(order.Id).Set(o => o.OrderState, Enums.OrderState.);
updateOrderQueue.Enqueue(update);
}
}
catch
{
}
finally
{
i++;
}
}
if (updateOrderQueue.Count() > 0)
{
while (true)
{
if (updateOrderQueue.TryDequeue(out var update))
updateOrderList.Add(update);
else
break;
if (updateOrderList.Count() == 10)
{
Console.Write($"执行数据库 {DateTime.Now}");
fsql.Transaction(() =>
{
foreach (var u in updateOrderList)
{
u.ExecuteAffrows();
}
});
updateOrderList.Clear();
}
}
if (updateOrderList.Count() > 0)
{
Console.Write($"最后执行数据库 {DateTime.Now}");
fsql.Transaction(() =>
{
foreach (var u in updateOrderList)
{
u.ExecuteAffrows();
}
});
updateOrderList.Clear();
}
}
}
}
}

12
BBWYB.Server.Business/Order/OrderBusiness.cs

@ -782,15 +782,21 @@ namespace BBWYB.Server.Business
{
try
{
restApiService.SendRequest("https://bbwy.qiyue666.com", "api/BatchPurchase/UpdatePurchaseOrderState", new
#if DEBUG
var url = "https://bbwy.qiyue666.com";
#else
var url = "http://172.16.54.105:8090";
#endif
restApiService.SendRequest(url, "api/BatchPurchase/UpdatePurchaseOrderState", new
{
OrderId = orderId,
PurchaseOrderState = orderState
}, null, HttpMethod.Post);
}
catch
catch (Exception ex)
{
nLogManager.Default().Error(ex, $"OrderId-{orderId}推送C订单状态[{orderState}]失败");
}
}

12
BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs

@ -3071,15 +3071,21 @@ namespace BBWYB.Server.Business
{
try
{
restApiService.SendRequest("https://bbwy.qiyue666.com", "api/BatchPurchase/UpdatePurchaseOrderState", new
#if DEBUG
var url = "https://bbwy.qiyue666.com";
#else
var url = "http://172.16.54.105:8090";
#endif
restApiService.SendRequest(url, "api/BatchPurchase/UpdatePurchaseOrderState", new
{
OrderId = orderId,
PurchaseOrderState = orderState
}, null, HttpMethod.Post);
}
catch
catch (Exception ex)
{
nLogManager.Default().Error(ex, $"OrderId-{orderId}推送C订单状态[{orderState}]失败");
}
}

Loading…
Cancel
Save