|
|
@ -2,7 +2,6 @@ |
|
|
|
using BBWY.Common.Http; |
|
|
|
using BBWY.Common.Models; |
|
|
|
using BBWY.Server.Business.Extensions; |
|
|
|
using BBWY.Server.Business.PlatformSDK.DataExtension; |
|
|
|
using BBWY.Server.Model; |
|
|
|
using BBWY.Server.Model.Db; |
|
|
|
using BBWY.Server.Model.Db.Mds; |
|
|
@ -11,46 +10,31 @@ using FreeSql; |
|
|
|
using Microsoft.Extensions.DependencyInjection; |
|
|
|
using Microsoft.Extensions.Options; |
|
|
|
using Newtonsoft.Json; |
|
|
|
using Newtonsoft.Json.Linq; |
|
|
|
using NLog; |
|
|
|
using System; |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Linq; |
|
|
|
using System.Linq.Expressions; |
|
|
|
using System.Net.Http; |
|
|
|
using System.Threading.Tasks; |
|
|
|
using Yitter.IdGenerator; |
|
|
|
|
|
|
|
namespace BBWY.Server.Business |
|
|
|
{ |
|
|
|
public class OrderBusiness : BasePlatformRelayBusiness, IDenpendency |
|
|
|
{ |
|
|
|
private ILogger logger; |
|
|
|
private IFreeSql fsql; |
|
|
|
|
|
|
|
private IIdGenerator idGenerator; |
|
|
|
private TaskSchedulerManager taskSchedulerManager; |
|
|
|
private MDSBusiness mdsBusiness; |
|
|
|
private VenderBusiness venderBusiness; |
|
|
|
private Lazy<FreeSqlMultiDBManager> freeSqlMultiDBManagerLazy; |
|
|
|
private FreeSqlMultiDBManager freeSqlMultiDBManager => freeSqlMultiDBManagerLazy.Value; |
|
|
|
|
|
|
|
public OrderBusiness(RestApiService restApiService, |
|
|
|
ILogger logger, |
|
|
|
IFreeSql fsql, |
|
|
|
IIdGenerator idGenerator, |
|
|
|
IOptions<GlobalConfig> options, |
|
|
|
TaskSchedulerManager taskSchedulerManager, |
|
|
|
MDSBusiness mdsBusiness, |
|
|
|
VenderBusiness venderBusiness, |
|
|
|
IServiceProvider serviceProvider) : base(restApiService, options) |
|
|
|
{ |
|
|
|
this.logger = logger; |
|
|
|
this.fsql = fsql; |
|
|
|
this.idGenerator = idGenerator; |
|
|
|
this.taskSchedulerManager = taskSchedulerManager; |
|
|
|
this.mdsBusiness = mdsBusiness; |
|
|
|
this.venderBusiness = venderBusiness; |
|
|
|
freeSqlMultiDBManagerLazy = new Lazy<FreeSqlMultiDBManager>(() => serviceProvider.GetService<FreeSqlMultiDBManager>()); |
|
|
|
} |
|
|
|
|
|
|
@ -671,6 +655,8 @@ namespace BBWY.Server.Business |
|
|
|
IUpdate<OrderCost> updateOrderCost = null; |
|
|
|
IInsert<OrderCost> insertOrderCost = null; |
|
|
|
|
|
|
|
var dbAfterSaleOrderList = fsql.Select<AfterSaleOrder>().Where(aso => aso.OrderId == sdCalculationCostRequest.OrderId).ToList(); |
|
|
|
|
|
|
|
orderUpdate = fsql.Update<Order>(sdCalculationCostRequest.OrderId).Set(o => o.SDType, sdCalculationCostRequest.SDType) |
|
|
|
.Set(o => o.Flag, sdCalculationCostRequest.Flag) |
|
|
|
.Set(o => o.VenderRemark, sdCalculationCostRequest.VenderRemark) |
|
|
@ -697,15 +683,17 @@ namespace BBWY.Server.Business |
|
|
|
IsManualEdited = true, |
|
|
|
SDCommissionAmount = sdCalculationCostRequest.SDCommissionAmount |
|
|
|
}; |
|
|
|
orderCost.PlatformCommissionAmount = dbOrder.OrderSellerPrice * orderCost.PlatformCommissionRatio; |
|
|
|
orderCost.Profit = (orderCost.SDCommissionAmount + orderCost.DeliveryExpressFreight + orderCost.PlatformCommissionAmount) * -1; |
|
|
|
//orderCost.PlatformCommissionAmount = dbOrder.OrderSellerPrice * orderCost.PlatformCommissionRatio;
|
|
|
|
//orderCost.Profit = (orderCost.SDCommissionAmount + orderCost.DeliveryExpressFreight + orderCost.PlatformCommissionAmount) * -1;
|
|
|
|
orderCost.CalculationSDOrderProfitAndCost(dbOrder, dbAfterSaleOrderList); |
|
|
|
insertOrderCost = fsql.Insert(orderCost); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
orderCost.SDCommissionAmount = sdCalculationCostRequest.SDCommissionAmount; |
|
|
|
orderCost.DeliveryExpressFreight = sdCalculationCostRequest.DeliveryExpressFreight; |
|
|
|
orderCost.Profit = (orderCost.SDCommissionAmount + orderCost.DeliveryExpressFreight + orderCost.PlatformCommissionAmount) * -1; |
|
|
|
//orderCost.Profit = (orderCost.SDCommissionAmount + orderCost.DeliveryExpressFreight + orderCost.PlatformCommissionAmount) * -1;
|
|
|
|
orderCost.CalculationSDOrderProfitAndCost(dbOrder, dbAfterSaleOrderList); |
|
|
|
orderCost.IsManualEdited = true; |
|
|
|
updateOrderCost = fsql.Update<OrderCost>().SetSource(orderCost); |
|
|
|
} |
|
|
|