Browse Source

1

pjzs_starttask_update
shanji 2 years ago
parent
commit
d73275b477
  1. 53
      BBWY.Server.Business/TestBusiness.cs

53
BBWY.Server.Business/TestBusiness.cs

@ -274,17 +274,20 @@ namespace BBWY.Server.Business
public void RepairOrderProfit()
{
var startTime = DateTime.Parse("2023-11-01");
var orderList = fsql.Select<Order>().Where(o => o.PingTaiChengDanYouHuiQuan > 0 &&
o.IsGift == false &&
var startTime = DateTime.Parse("2023-12-12");
var orderList = fsql.Select<Order>().Where(o => o.IsGift == false &&
o.OrderState != Enums.OrderState. &&
o.StorageType == Enums.StorageType. &&
o.StorageType == Enums.StorageType. &&
o.StartTime >= startTime)
.ToList();
var shopList = venderBusiness.GetShopList(platform: Enums.Platform.);
var orderIdList = orderList.Select(o => o.Id).ToList();
var orderCostList = fsql.Select<OrderCost>(orderIdList).ToList();
var orderSkuList = fsql.Select<OrderSku>().Where(osku => orderIdList.Contains(osku.OrderId) && osku.Price > 0).ToList();
var orderCostDetailList = fsql.Select<OrderCostDetail>().Where(ocd => orderIdList.Contains(ocd.OrderId) && ocd.IsEnabled == true && ocd.IsEstimateCost == false).ToList();
List<IUpdate<OrderCost>> updateList = new List<IUpdate<OrderCost>>();
List<IUpdate<OrderCostDetail>> updateDetailList = new List<IUpdate<OrderCostDetail>>();
int index = 0;
foreach (var orderCost in orderCostList)
{
@ -293,9 +296,41 @@ namespace BBWY.Server.Business
var order = orderList.FirstOrDefault(o => o.Id == orderCost.OrderId);
if (order == null)
continue;
var shop = shopList.FirstOrDefault(s => s.ShopId == order.ShopId.ToString());
var currentOCDList = orderCostDetailList.Where(ocd => ocd.OrderId == orderCost.OrderId).ToList();
var currentOrderSkuList = orderSkuList.Where(osku => osku.OrderId == orderCost.OrderId).ToList();
foreach (var ocd in currentOCDList)
{
var osku = currentOrderSkuList.FirstOrDefault(x => x.SkuId == ocd.SkuId);
if (osku == null)
continue;
ocd.CalculationSkuGrossProfit(osku.ShouldPay ?? 0M,
osku.PingTaiChengDanYouHuiQuan ?? 0M,
osku.SuperRedEnvelope ?? 0M,
osku.XianPinLeiDongQuan ?? 0M,
osku.VenderFee ?? 0M,
osku.JingDou ?? 0M,
osku.DongQuan ?? 0M,
osku.Balance ?? 0M,
shop.PlatformCommissionRatio ?? 0.05M);
var update = fsql.Update<OrderCostDetail>().SetSource(ocd);
updateDetailList.Add(update);
}
orderCost.PurchaseAmount = currentOCDList.Sum(ocd => ocd.TotalCost);
orderCost.DeliveryExpressFreight = currentOCDList.Sum(ocd => ocd.DeliveryExpressFreight);
orderCost.CalculationOrderProfitAndCost(order, null);
updateList.Add(fsql.Update<OrderCost>(orderCost.OrderId).Set(oc => oc.Profit, orderCost.Profit)
updateList.Add(fsql.Update<OrderCost>(orderCost.OrderId)
.Set(oc => oc.PurchaseAmount, orderCost.PurchaseAmount)
.Set(oc => oc.DeliveryExpressFreight, orderCost.DeliveryExpressFreight)
.Set(oc => oc.Profit, orderCost.Profit)
.Set(oc => oc.PlatformCommissionAmount, orderCost.PlatformCommissionAmount));
if (updateList.Count() > 10)
{
Console.WriteLine($"{DateTime.Now} 执行数据库更新");
@ -303,8 +338,11 @@ namespace BBWY.Server.Business
{
foreach (var update in updateList)
update.ExecuteAffrows();
foreach (var update in updateDetailList)
update.ExecuteAffrows();
});
updateList.Clear();
updateDetailList.Clear();
}
}
@ -315,8 +353,11 @@ namespace BBWY.Server.Business
{
foreach (var update in updateList)
update.ExecuteAffrows();
foreach (var update in updateDetailList)
update.ExecuteAffrows();
});
updateList.Clear();
updateDetailList.Clear();
}
}

Loading…
Cancel
Save