From 8e460681b311c2e54c97523fa6a1d537b2c8146b Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Wed, 2 Aug 2023 19:06:53 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=9B=B4=E6=96=B0sku=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BBWY.Server.Business/Order/OrderBusiness.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/BBWY.Server.Business/Order/OrderBusiness.cs b/BBWY.Server.Business/Order/OrderBusiness.cs index 1f6cb950..0a3a5e04 100644 --- a/BBWY.Server.Business/Order/OrderBusiness.cs +++ b/BBWY.Server.Business/Order/OrderBusiness.cs @@ -1113,13 +1113,14 @@ namespace BBWY.Server.Business var select = fsql.Select() .InnerJoin((osku, o, ocd, po, p) => osku.OrderId == o.Id) .InnerJoin((osku, o, ocd, po, p) => osku.OrderId == ocd.OrderId && osku.SkuId == ocd.SkuId) - .InnerJoin((osku, o, ocd, po, p) => ocd.PurchaseOrderPKId == po.Id) + .LeftJoin((osku, o, ocd, po, p) => ocd.PurchaseOrderPKId == po.Id) .LeftJoin((osku, o, ocd, po, p) => osku.ProductId == p.Id) .WhereIf(request.ShopIds != null && request.ShopIds.Count() > 0, (osku, o, ocd, po, p) => request.ShopIds.Contains(o.ShopId)) .WhereIf(request.PurchasePlatform != null, (osku, o, ocd, po, p) => po.PurchasePlatform == request.PurchasePlatform) .Where((osku, o, ocd, po, p) => o.StartTime >= request.StartTime && o.StartTime <= request.EndTime && - o.OrderState != Enums.OrderState.已取消) + o.OrderState != Enums.OrderState.已取消 && + o.IsGift == false) .OrderByDescending((osku, o, ocd, po, p) => o.StartTime); return select; } From 21fd0f27e9cec55df58e07c303693091474b23c9 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Wed, 2 Aug 2023 19:50:38 +0800 Subject: [PATCH 2/5] =?UTF-8?q?C=E7=AB=AF=E8=AE=A2=E5=8D=95=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E6=94=AF=E6=8C=81sku=E6=9B=B4=E6=96=B0spu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Sync/OrderSyncBusiness.cs | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs index 3724745c..990bf5a5 100644 --- a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs @@ -221,7 +221,9 @@ namespace BBWY.Server.Business List insertOrderSkuList = new List(); List insertOrderCouponList = new List(); + IList> updateOrderList = new List>(); + IList> updateOrderSkuList = new List>(); IList> updatePurchaseOrderList = new List>(); #endregion @@ -254,6 +256,7 @@ namespace BBWY.Server.Business var dbOrderConsigneeList = fsql.Select().Where(oc => interfaceOrderIdList.Contains(oc.OrderId)).ToList(); //数据库订单收货信息 var dbOrderCostList = fsql.Select().Where(oc => interfaceOrderIdList.Contains(oc.OrderId)).ToList(); //数据库订单成本信息 var dbOrderCouponList = fsql.Select().Where(oc => interfaceOrderIdList.Contains(oc.OrderId)).ToList(); //数据库订单优惠信息 + var dbOrderSkuList = fsql.Select().Where(osku => interfaceOrderIdList.Contains(osku.OrderId)).ToList(); //数据库sku信息 List dbOrderCostDetailList = null; //数据库成本明细 if (interfaceCanceledOrderIdList.Count() > 0 && @@ -379,6 +382,23 @@ namespace BBWY.Server.Business { if (storageType != null && dbOrder.StorageType != storageType) dbOrder.StorageType = storageType; + + var currentDbOrderSkuList = dbOrderSkuList.Where(osku => osku.OrderId == orderId).ToList(); + + #region OrderSku + var itemInfoList = orderJToken["itemInfoList"] as JArray; + foreach (var orderSkuJToken in itemInfoList) + { + //var itemTotal = orderSkuJToken.Value("itemTotal"); + //var jdPrice = orderSkuJToken.Value("jdPrice"); + var wareId = orderSkuJToken.Value("wareId"); + var skuId = orderSkuJToken.Value("skuId"); + var dbOsku = currentDbOrderSkuList.FirstOrDefault(osku => osku.SkuId == skuId); + if (dbOsku != null && dbOsku.ProductId != wareId) + { + updateOrderSkuList.Add(fsql.Update(dbOsku.Id).Set(osku => osku.ProductId, wareId)); + } + } } #endregion @@ -693,6 +713,12 @@ namespace BBWY.Server.Business foreach (var update in updateOrderList) update.ExecuteAffrows(); } + + if (updateOrderSkuList.Count() > 0) + { + foreach (var update in updateOrderSkuList) + update.ExecuteAffrows(); + } }); } From e5f5154759e528c7b82b529e8071c3df4462f9fb Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Wed, 2 Aug 2023 22:51:36 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E4=BA=A7=E5=93=81?= =?UTF-8?q?=E6=9B=B4=E6=96=B0spu/spu=E6=A0=87=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BBWY.Server.Business/Sync/OrderSyncBusiness.cs | 2 +- BBWY.Server.Business/Sync/ProductSyncBusiness.cs | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs index 990bf5a5..afcaed0d 100644 --- a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs @@ -385,7 +385,7 @@ namespace BBWY.Server.Business var currentDbOrderSkuList = dbOrderSkuList.Where(osku => osku.OrderId == orderId).ToList(); - #region OrderSku + var itemInfoList = orderJToken["itemInfoList"] as JArray; foreach (var orderSkuJToken in itemInfoList) { diff --git a/BBWY.Server.Business/Sync/ProductSyncBusiness.cs b/BBWY.Server.Business/Sync/ProductSyncBusiness.cs index 5cfffc36..d12574e0 100644 --- a/BBWY.Server.Business/Sync/ProductSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/ProductSyncBusiness.cs @@ -259,13 +259,14 @@ namespace BBWY.Server.Business.Sync } #endregion - #region 找出状态变化的产品 - var stateChangeProductList = productList.Where(p => dbProductList.Any(dp => dp.Id == p.Id && dp.State != p.State)).ToList(); + #region 找出变化的产品 (状态,标题) + var stateChangeProductList = productList.Where(p => dbProductList.Any(dp => dp.Id == p.Id && (dp.State != p.State || dp.Title != p.Title))).ToList(); if (stateChangeProductList.Count() > 0) { foreach (var product in stateChangeProductList) { - var update = fsql.Update(product.Id).Set(p => p.State, product.State); + var update = fsql.Update(product.Id).Set(p => p.State, product.State) + .Set(p => p.Title, product.Title); updateProductList.Add(update); } } @@ -303,12 +304,13 @@ namespace BBWY.Server.Business.Sync #endregion #region 找出状态变化的SKU - var stateChangeProductSkuList = productSkuList.Where(p => dbProductSkuList.Any(dp => dp.Id == p.Id && dp.State != p.State)).ToList(); + var stateChangeProductSkuList = productSkuList.Where(p => dbProductSkuList.Any(dp => dp.Id == p.Id && (dp.State != p.State || dp.Title != p.Title))).ToList(); if (stateChangeProductSkuList.Count() > 0) { foreach (var productSku in stateChangeProductSkuList) { - var update = fsql.Update(productSku.Id).Set(p => p.State, productSku.State); + var update = fsql.Update(productSku.Id).Set(p => p.State, productSku.State) + .Set(p => p.Title, productSku.Title); updateProductSkuList.Add(update); } } From 252e7a0b43d92c694e0bfcdb9f07a174ce88ff0b Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Fri, 4 Aug 2023 11:45:00 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E7=AB=AF=E6=80=BB?= =?UTF-8?q?=E5=85=B1=E8=80=97=E6=8D=9F=E8=AE=A1=E7=AE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Extensions/OrderCostExtension.cs | 2 - .../ServiceOrder/ServiceOrderBusiness.cs | 111 +++++++++++++++--- 2 files changed, 97 insertions(+), 16 deletions(-) diff --git a/BBWY.Server.Business/Extensions/OrderCostExtension.cs b/BBWY.Server.Business/Extensions/OrderCostExtension.cs index 2111990c..56fb2b72 100644 --- a/BBWY.Server.Business/Extensions/OrderCostExtension.cs +++ b/BBWY.Server.Business/Extensions/OrderCostExtension.cs @@ -1,8 +1,6 @@ using BBWY.Server.Model.Db; -using System; using System.Collections.Generic; using System.Linq; -using System.Text; namespace BBWY.Server.Business.Extensions { diff --git a/BBWY.Server.Business/ServiceOrder/ServiceOrderBusiness.cs b/BBWY.Server.Business/ServiceOrder/ServiceOrderBusiness.cs index 50a40375..44fd5375 100644 --- a/BBWY.Server.Business/ServiceOrder/ServiceOrderBusiness.cs +++ b/BBWY.Server.Business/ServiceOrder/ServiceOrderBusiness.cs @@ -58,6 +58,27 @@ namespace BBWY.Server.Business ShopId = s.ShopId, RenewalOrderId = s.RenewalOrderId, ReturnCheckRemark = s.ReturnCheckRemark, + AfterTotalCost = s.AfterTotalCost, + ConsumableAmount = s.ConsumableAmount, + DeliveryExpressFreight = s.DeliveryExpressFreight, + FirstFreight = s.FirstFreight, + InStorageAmount = s.InStorageAmount, + OutStorageAmount = s.OutStorageAmount, + PurchaseOrderPKId = s.PurchaseOrderPKId, + RefundAlipayOrderNo = s.RefundAlipayOrderNo, + RefundAmount = s.RefundAmount, + RefundInStorageAmount = s.RefundInStorageAmount, + RefundPurchaseAmount = s.RefundPurchaseAmount, + ReissueAfterSaleAmount = s.ReissueAfterSaleAmount, + StorageAmount = s.StorageAmount, + SDRefundFreight = s.SDRefundFreight, + RenewalType = s.RenewalType, + RenewalPurchasePlatform = s.RenewalPurchasePlatform, + RenewalPurchaseOrderId = s.RenewalPurchaseOrderId, + ReissueProductAmount = s.ReissueProductAmount, + ReissueFreight = s.ReissueFreight, + RefundTime = s.RefundTime, + RefundMerchantOrderNo = s.RefundMerchantOrderNo, Title = osku.Title, ItemTotal = osku.ItemTotal.Value, @@ -81,23 +102,85 @@ namespace BBWY.Server.Business public void EditServiceOrder(EditQueryServiceOrderRequest request) { + var dbso = fsql.Select(request.ServicePId).ToOne(); + if (dbso == null) + throw new BusinessException("服务端不存在"); + dbso.ServiceResult = request.ServiceResult; + dbso.ReturnDirection = request.ReturnDirection; + dbso.RenewalOrderId = request.RenewalOrderId; + dbso.ReturnCheckRemark = request.ReturnCheckRemark; + dbso.RenewalType = request.RenewalType; + dbso.RenewalPurchaseOrderId = request.RenewalPurchaseOrderId; + dbso.RenewalPurchasePlatform = request.RenewalPurchasePlatform; - fsql.Transaction(() => + dbso.ReissueAfterSaleAmount = request.ReissueAfterSaleAmount; + dbso.ConsumableAmount = 0M; + dbso.DeliveryExpressFreight = 0M; + dbso.FirstFreight = 0M; + dbso.InStorageAmount = 0M; + dbso.OutStorageAmount = 0M; + dbso.RefundInStorageAmount = 0M; + dbso.ReissueFreight = 0M; + dbso.ReissueProductAmount = 0M; + dbso.StorageAmount = 0M; + dbso.AfterTotalCost = 0M; + dbso.SDRefundFreight = 0M; + + if (request.ServiceResult == Model.Enums.ServiceResult.退货 || + request.ServiceResult == Model.Enums.ServiceResult.原返 || + request.ServiceResult == Model.Enums.ServiceResult.线下换新 || + request.ServiceResult == Model.Enums.ServiceResult.仅退款) + { + //if(request.ReturnDirection == Model.Enums.ReturnDirection.退货仓) + dbso.ReissueAfterSaleAmount = request.ReissueAfterSaleAmount; + } + else if (request.ServiceResult == Model.Enums.ServiceResult.换新) + { + var dbOrderCostDetail = fsql.Select().Where(ocd => ocd.OrderId == request.OrderId && + ocd.SkuId == dbso.SkuId && + ocd.IsEnabled == true).ToOne(); + if (dbOrderCostDetail != null) + { + var dbPurchaseOrder = dbOrderCostDetail != null ? fsql.Select(dbOrderCostDetail.PurchaseOrderPKId).ToOne() : null; + dbso.ConsumableAmount = dbOrderCostDetail.ConsumableAmount; + dbso.DeliveryExpressFreight = dbOrderCostDetail.DeliveryExpressFreight; + dbso.FirstFreight = dbOrderCostDetail.FirstFreight; + dbso.ReissueProductAmount = dbOrderCostDetail.SkuAmount; + dbso.ReissueFreight = dbOrderCostDetail.PurchaseFreight; + dbso.StorageAmount = dbOrderCostDetail.StorageAmount; + dbso.InStorageAmount = dbOrderCostDetail.InStorageAmount; + dbso.OutStorageAmount = dbOrderCostDetail.OutStorageAmount; + } + } + else if (request.ServiceResult == Model.Enums.ServiceResult.商品补发) { - fsql.Update(request.ServicePId).Set(s => s.ServiceResult, request.ServiceResult) - .Set(s => s.SDRefundFreight, request.SDRefundFreight) - .Set(s => s.ReturnDirection, request.ReturnDirection) - .Set(s => s.RenewalOrderId, request.RenewalOrderId) - .Set(s => s.ReissueAfterSaleAmount, request.ReissueAfterSaleAmount) - .Set(s => s.ReturnCheckRemark, request.ReturnCheckRemark) - .Set(s => s.RenewalType, request.RenewalType) - .Set(s => s.RenewalPurchaseOrderId, request.RenewalPurchaseOrderId) - .Set(s => s.RenewalPurchasePlatform, request.RenewalPurchasePlatform) - .Set(s => s.ReissueFreight, request.ReissueFreight) - .Set(s => s.ReissueProductAmount, request.ReissueProductAmount) - .ExecuteAffrows(); - }); + dbso.ReissueAfterSaleAmount = request.ReissueAfterSaleAmount; + dbso.ReissueProductAmount = request.ReissueProductAmount; + dbso.ReissueFreight = request.ReissueFreight; + } + else if (request.ServiceResult == Model.Enums.ServiceResult.SD退货) + { + dbso.ReissueAfterSaleAmount = 0M; + dbso.SDRefundFreight = request.SDRefundFreight; + } + dbso.AfterTotalCost = dbso.ReissueAfterSaleAmount + + dbso.ReissueFreight.Value + + dbso.ReissueProductAmount.Value + + dbso.ConsumableAmount.Value + + dbso.DeliveryExpressFreight.Value + + dbso.FirstFreight.Value + + dbso.InStorageAmount.Value + + dbso.OutStorageAmount.Value + + dbso.RefundInStorageAmount.Value + //退货入仓操作费 没有计算 + dbso.StorageAmount + + dbso.SDRefundFreight; + + + fsql.Transaction(() => + { + fsql.Update().SetSource(dbso).ExecuteAffrows(); + }); } } } From bdde5836793fac8febe9f5ce8d71e8603179d792 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Fri, 4 Aug 2023 15:28:07 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E8=AE=A2=E5=8D=95sku=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E6=9D=A1=E4=BB=B6=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BBWY.Server.Business/Order/OrderBusiness.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/BBWY.Server.Business/Order/OrderBusiness.cs b/BBWY.Server.Business/Order/OrderBusiness.cs index 0a3a5e04..369e264f 100644 --- a/BBWY.Server.Business/Order/OrderBusiness.cs +++ b/BBWY.Server.Business/Order/OrderBusiness.cs @@ -1112,7 +1112,7 @@ namespace BBWY.Server.Business { var select = fsql.Select() .InnerJoin((osku, o, ocd, po, p) => osku.OrderId == o.Id) - .InnerJoin((osku, o, ocd, po, p) => osku.OrderId == ocd.OrderId && osku.SkuId == ocd.SkuId) + .LeftJoin((osku, o, ocd, po, p) => osku.OrderId == ocd.OrderId && osku.SkuId == ocd.SkuId) .LeftJoin((osku, o, ocd, po, p) => ocd.PurchaseOrderPKId == po.Id) .LeftJoin((osku, o, ocd, po, p) => osku.ProductId == p.Id) .WhereIf(request.ShopIds != null && request.ShopIds.Count() > 0, (osku, o, ocd, po, p) => request.ShopIds.Contains(o.ShopId)) @@ -1120,7 +1120,8 @@ namespace BBWY.Server.Business .Where((osku, o, ocd, po, p) => o.StartTime >= request.StartTime && o.StartTime <= request.EndTime && o.OrderState != Enums.OrderState.已取消 && - o.IsGift == false) + o.IsGift == false && + osku.Price > 0) .OrderByDescending((osku, o, ocd, po, p) => o.StartTime); return select; }