From 5f4384bdab4697cc0a678fb17e55603a91a4750b Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期五, 12 四月 2024 08:44:54 +0800 Subject: [PATCH] Merge branch 'master' of http://47.108.235.38:8080/r/baifenbaishop --- CoreCms.Net.Services/Distribution/CoreCmsDistributionOrderServices.cs | 54 +++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 41 insertions(+), 13 deletions(-) diff --git a/CoreCms.Net.Services/Distribution/CoreCmsDistributionOrderServices.cs b/CoreCms.Net.Services/Distribution/CoreCmsDistributionOrderServices.cs index d31de0a..a139dce 100644 --- a/CoreCms.Net.Services/Distribution/CoreCmsDistributionOrderServices.cs +++ b/CoreCms.Net.Services/Distribution/CoreCmsDistributionOrderServices.cs @@ -17,6 +17,7 @@ using CoreCms.Net.IRepository; using CoreCms.Net.IRepository.UnitOfWork; using CoreCms.Net.IServices; +using CoreCms.Net.IServices.baifenbingfa; using CoreCms.Net.Loging; using CoreCms.Net.Model.Entities; using CoreCms.Net.Model.ViewModels.Basics; @@ -45,10 +46,11 @@ private readonly ICoreCmsGoodsServices _goodsServices; private readonly ICoreCmsDistributionOrderDetailsServices _distributionOrderDetailsServices; private readonly ICoreCmsSettingServices _settingServices; + private readonly IBfbfComAPIService _bfbfComAPIService; private readonly IUnitOfWork _unitOfWork; - public CoreCmsDistributionOrderServices(IUnitOfWork unitOfWork, ICoreCmsDistributionOrderRepository dal, ICoreCmsDistributionServices distributionServices, ICoreCmsUserBalanceServices balanceServices, ICoreCmsOrderServices orderServices, ICoreCmsUserServices userServices, ICoreCmsOrderItemServices orderItemServices, ICoreCmsProductsDistributionServices productsDistributionServices, ICoreCmsProductsServices productsServices, ICoreCmsGoodsServices goodsServices, ICoreCmsDistributionOrderDetailsServices distributionOrderDetailsServices, ICoreCmsSettingServices settingServices) + public CoreCmsDistributionOrderServices(IBfbfComAPIService bfbfComAPIService, IUnitOfWork unitOfWork, ICoreCmsDistributionOrderRepository dal, ICoreCmsDistributionServices distributionServices, ICoreCmsUserBalanceServices balanceServices, ICoreCmsOrderServices orderServices, ICoreCmsUserServices userServices, ICoreCmsOrderItemServices orderItemServices, ICoreCmsProductsDistributionServices productsDistributionServices, ICoreCmsProductsServices productsServices, ICoreCmsGoodsServices goodsServices, ICoreCmsDistributionOrderDetailsServices distributionOrderDetailsServices, ICoreCmsSettingServices settingServices) { this._dal = dal; _distributionServices = distributionServices; @@ -63,6 +65,7 @@ _settingServices = settingServices; base.BaseDal = dal; _unitOfWork = unitOfWork; + _bfbfComAPIService = bfbfComAPIService; } @@ -101,7 +104,8 @@ if (user is { parentId: > 0 }) { //鑾峰彇璐墿鏄庣粏 - var orderItems = await _orderItemServices.QueryListByClauseAsync(p => p.orderId == order.orderId); + var orderItems = await _unitOfWork.GetDbClient().Queryable<CoreCmsOrderItem>().Where(p => p.orderId == order.orderId).Includes(x => x.productInfo).ToListAsync(); + //await _orderItemServices.QueryListByClauseAsync(p => p.orderId == order.orderId); var goodIds = orderItems.Select(p => p.goodsId).ToList(); var productIds = orderItems.Select(p => p.productId).ToList(); //鑾峰彇璐у搧鏁版嵁 @@ -142,6 +146,7 @@ var user = await _userServices.QueryByClauseAsync(p => p.id == userId); if (user != null) { + var commission = await _distributionServices.GetGradeAndCommission(user.id); if (commission.status && commission.data != null) //涓嶆槸缁忛攢鍟嗙殑锛屼笉杩斿埄銆� { @@ -149,7 +154,8 @@ //鐩磋繑鏈骇 decimal amount = 0; var distributionOrderDetails = new List<CoreCmsDistributionOrderDetails>(); - + //鐧惧垎鍏垫硶鍒ゆ柇璁㈠崟鐢ㄦ埛鏄惁鏄粡閿�鍟� + bool OderUserIsDic = await _bfbfComAPIService.IsDictionary(order.userId); foreach (var item in orderItems) { var orderDetails = new CoreCmsDistributionOrderDetails(); @@ -197,6 +203,8 @@ //濡傛灉鍘绘帀浼樻儬闇�瑕佽礋浜嗭紝灏变负0 if (itemAmount < 0) itemAmount = 0; + + mathMoney = level switch { //涓�绾у垎閿� @@ -230,17 +238,37 @@ { continue; } - - mathMoney = level switch + //鐧惧垎鍏垫硶鍩烘暟鎸� + switch (level) { - 1 when productsDistribution.levelOne > 0 => Math.Round( - productsDistribution.levelOne * item.nums, 2), - 2 when productsDistribution.levelTwo > 0 => Math.Round( - productsDistribution.levelTwo * item.nums, 2), - 3 when productsDistribution.levelThree > 0 => Math.Round( - productsDistribution.levelThree * item.nums, 2), - _ => mathMoney - }; + case 1 : + + if(OderUserIsDic) + //鏄粡閿�鍟嗚喘涔� + mathMoney = item.productInfo.distributionCutMoney; + else + //闈炵粡閿�鍟嗚喘涔� + mathMoney= item.productInfo.cutMoney ; + + break; + case 2 when productsDistribution.levelTwo > 0: + break; + case 3 when productsDistribution.levelThree>0: + break; + default: + break; + } + //鍘熶剑閲戣绠楁柟娉� + //mathMoney = level switch + //{ + // 1 when productsDistribution.levelOne > 0 => Math.Round( + // productsDistribution.levelOne * item.nums, 2), + // 2 when productsDistribution.levelTwo > 0 => Math.Round( + // productsDistribution.levelTwo * item.nums, 2), + // 3 when productsDistribution.levelThree > 0 => Math.Round( + // productsDistribution.levelThree * item.nums, 2), + // _ => mathMoney + //}; } amount += mathMoney; -- Gitblit v1.9.1