Browse Source

1

AddValidOverTime
shanji 2 years ago
parent
commit
e4b898f796
  1. 9
      BBWY.Server.API/Controllers/TestController.cs
  2. 8
      BBWY.Server.Business/Sync/OrderSyncBusiness.cs
  3. 25
      BBWY.Server.Business/TestBusiness.cs

9
BBWY.Server.API/Controllers/TestController.cs

@ -1,5 +1,6 @@
using BBWY.Server.Business;
using BBWY.Server.Model.Db;
using BBWY.Server.Model.Dto;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System;
@ -22,6 +23,12 @@ namespace BBWY.Server.API.Controllers
{
testBusiness.StatisticsProduct();
}
}
[HttpPost]
public void RepairSkuDetailAndSkuGriooProfit([FromBody] RepairSkuDetailAndSkuGriooProfit request)
{
testBusiness.RepairSkuDetailAndSkuGriooProfit(request);
}
}
}

8
BBWY.Server.Business/Sync/OrderSyncBusiness.cs

@ -285,6 +285,7 @@ namespace BBWY.Server.Business
if (insertOrderList.Any(o => o.Id == orderId))
continue;
var dbOrder = dbOrderList.FirstOrDefault(o => o.Id == orderId);
var dbOrderTotal = dbOrderTotalList.FirstOrDefault(o => o.Id == orderId);
var isNewOrder = dbOrder == null;
SDCalculationCostRequest sDCalculationCostRequest = null; //SD信息埋点
@ -447,7 +448,6 @@ namespace BBWY.Server.Business
var storeOrder = orderJToken.Value<string>("storeOrder") ?? string.Empty;
var storeId = orderJToken.Value<string>("storeId");
var storageType = ConvertStoreOrder(storeOrder);
var preferentialAmount = 0M;
if (dbOrder == null)
{
var orderTotalInfo = insertOrderTotalInfoList.FirstOrDefault(x => x.Id == orderId);
@ -866,8 +866,8 @@ namespace BBWY.Server.Business
(orderSellerPrice > 0M && dbOrder.IsGift) ||
orderTotalPrice != dbOrder.OrderTotalPrice ||
storeOrder != dbOrder.StoreOrder ||
preferentialAmount != dbOrder.PreferentialAmount ||
storeId != dbOrder.StoreId)
storeId != dbOrder.StoreId ||
(dbOrderTotal != null && dbOrderTotal.TotalPingTaiChengDanYouHuiQuan != dbOrder.PreferentialAmount))
{
var updateSql = fsql.Update<Order>(orderId).SetIf(orderState != null && orderState != dbOrder.OrderState, o => o.OrderState, orderState)
.SetIf(buyerRemark != dbOrder.BuyerRemark, o => o.BuyerRemark, buyerRemark)
@ -883,7 +883,7 @@ namespace BBWY.Server.Business
.SetIf(orderSellerPrice > 0M && dbOrder.IsGift == true, o => o.IsGift, false)
.SetIf(storeOrder != dbOrder.StoreOrder, o => o.StoreOrder, storeOrder)
.SetIf(storeOrder != dbOrder.StoreOrder, o => o.StorageType, storageType)
.SetIf(preferentialAmount != dbOrder.PreferentialAmount, o => o.PreferentialAmount, preferentialAmount)
.SetIf(dbOrderTotal != null && dbOrderTotal.TotalPingTaiChengDanYouHuiQuan != dbOrder.PreferentialAmount, o => o.PreferentialAmount, dbOrderTotal.TotalPingTaiChengDanYouHuiQuan)
.SetIf(storeId != dbOrder.StoreId, o => o.StoreId, storeId);
updateOrderList.Add(updateSql);
}

25
BBWY.Server.Business/TestBusiness.cs

@ -11,6 +11,7 @@ using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading;
using BBWY.Server.Business.Extensions;
namespace BBWY.Server.Business
{
@ -177,14 +178,21 @@ namespace BBWY.Server.Business
o.OrderState != Enums.OrderState. &&
o.StorageType != Enums.StorageType.SD &&
o.StartTime >= request.StartTime &&
o.StartTime <= request.EndTime &&
!fsql.Select<OrderTotalInfo>().Where(ot => ot.Id == o.Id).Any())
o.StartTime <= request.EndTime)
.ToList(o => o.Id);
foreach (var orderId in orderIdList)
{
orderSyncBusiness.SyncOrder(shop, orderId);
Thread.Sleep(500);
}
//fsql.Transaction(() =>
//{
// fsql.Delete<OrderTotalInfo>(orderIdList).ExecuteAffrows();
// fsql.Delete<OrderCoupon_New>().Where(on => orderIdList.Contains(on.OrderId)).ExecuteAffrows();
// fsql.Delete<OrderPromotion>().Where(op => orderIdList.Contains(op.OrderId)).ExecuteAffrows();
//});
//foreach (var orderId in orderIdList)
//{
// orderSyncBusiness.SyncOrder(shop, orderId);
// Thread.Sleep(500);
//}
var orderList = fsql.Select<Order>(orderIdList).ToList();
var orderSkuList = fsql.Select<OrderSku>().Where(osku => osku.Price > 0 && orderIdList.Contains(osku.OrderId)).ToList();
@ -205,7 +213,8 @@ namespace BBWY.Server.Business
foreach (var orderSku in currentOrderSkuList)
{
var ocd = currentOrderCostDetailList.FirstOrDefault(x => x.SkuId == orderSku.SkuId);
ocd.SkuGrossProfit = ((orderSku.ShouldPay ?? 0M) + (orderSku.Coupon ?? 0M)) * ocd.DeductionQuantity - ocd.TotalCost - ocd.DeliveryExpressFreight;
//ocd.SkuGrossProfit = ((orderSku.ShouldPay ?? 0M) + (orderSku.Coupon ?? 0M)) * ocd.DeductionQuantity - ocd.TotalCost - ocd.DeliveryExpressFreight;
ocd.CalculationSkuGrossProfit(orderSku.ShouldPay ?? 0M, orderSku.PingTaiChengDanYouHuiQuan ?? 0M, orderSku.VenderFee ?? 0M, shop.PlatformCommissionRatio ?? 0.05M);
var update = fsql.Update<OrderCostDetail>(ocd.Id).Set(x => x.SkuGrossProfit, ocd.SkuGrossProfit);
updateOrderCostDetailList.Add(update);
}

Loading…
Cancel
Save