From e5b15548200854ab81821ad6e0fc85cea78659ab Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Sat, 11 Nov 2023 09:54:29 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=90=8C=E6=AD=A5sku?= =?UTF-8?q?=E6=AF=9B=E5=88=A9=E5=85=AC=E5=BC=8F=E8=AE=A1=E7=AE=97=E4=BD=BF?= =?UTF-8?q?=E7=94=A8sku=E7=94=A8=E6=88=B7=E5=BA=94=E4=BB=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Sync/OrderSyncBusiness.cs | 422 ++++++++++-------- BBWY.Server.Model/Db/Order/OrderCoupon_New.cs | 6 +- BBWY.Server.Model/Db/Order/OrderPromotion.cs | 3 +- .../Dto/Response/JD/OrderSkuCFDetail.cs | 150 +++++++ 4 files changed, 377 insertions(+), 204 deletions(-) create mode 100644 BBWY.Server.Model/Dto/Response/JD/OrderSkuCFDetail.cs diff --git a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs index 8f586873..1d559183 100644 --- a/BBWY.Server.Business/Sync/OrderSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/OrderSyncBusiness.cs @@ -261,6 +261,8 @@ namespace BBWY.Server.Business //var dbOrderCouponNewList = fsql.Select().Where(ocn => interfaceOrderIdList.Contains(ocn.OrderId)).ToList(); //var dbOrderPromotionList = fsql.Select().Where(op => interfaceOrderIdList.Contains(op.OrderId)).ToList(); var dbOrderTotalList = fsql.Select().Where(ot => interfaceOrderIdList.Contains(ot.Id)).ToList(); + + var orderSkuCFDetailList = new List(); #endregion var orderSkuIds = new List(); @@ -286,6 +288,148 @@ namespace BBWY.Server.Business var isNewOrder = dbOrder == null; SDCalculationCostRequest sDCalculationCostRequest = null; //SD信息埋点 + #region 优惠券/促销/拆分明细 + if (!dbOrderTotalList.Any(ot => ot.Id == orderId)) + { + var orderCouponDetailHttpResult = restApiService.SendRequest("http://yunding.qiyue666.com", "api/PlatformSDK/GetOrderCouponDetail", new + { + OrderId = orderId, + AppKey = appKey, + AppSecret = appSecret, + AppToken = appToken, + Platform = Enums.Platform.京东 + }, null, HttpMethod.Post); + if (orderCouponDetailHttpResult.StatusCode == System.Net.HttpStatusCode.OK) + { + var orderCouponDetailResponse = JsonConvert.DeserializeObject>(orderCouponDetailHttpResult.Content); + if (orderCouponDetailResponse.Success) + { + var jtoken = orderCouponDetailResponse.Data["jingdong_pop_order_coupondetail_responce"]["couponDetailExternal"]["couponDetailVo"]; + + #region 订单合计信息 + var orderTotal = new OrderTotalInfo() + { + CreateTime = DateTime.Now, + Id = orderId, + TotalBalance = jtoken.Value("totalBalance"), + TotalBaseDiscount = jtoken.Value("TotalBaseDiscount"), + TotalBaseFee = jtoken.Value("totalBaseFee"), + TotalCoupon = jtoken.Value("totalCoupon"), + TotalDongQuan = jtoken.Value("totalDongQuan"), + TotalExpiryGiftDiscount = jtoken.Value("totalExpiryGiftDiscount"), + TotalGlobalGeneralIncludeTax = jtoken.Value("totalGlobalGeneralIncludeTax"), + TotalGlobalGeneralTax = jtoken.Value("totalGlobalGeneralTax"), + TotalItemPrice = jtoken.Value("totalItemPrice"), + TotalJdZhiFuYouHui = jtoken.Value("totalJdZhiFuYouHui"), + TotalJingDou = jtoken.Value("totalJingDou"), + TotalJingQuan = jtoken.Value("totalJingQuan"), + TotalJingXiangLiJin = jtoken.Value("totalJingXiangLiJin"), + TotalLiJinYouHui = jtoken.Value("totalLiJinYouHui"), + TotalLuoDiPeiService = jtoken.Value("totalLuoDiPeiService"), + TotalManJian = jtoken.Value("totalManJian"), + TotalPingTaiChengDanYouHuiQuan = jtoken.Value("totalPingTaiChengDanYouHuiQuan"), + TotalPlus95 = jtoken.Value("totalPlus95"), + TotalPromotionDiscount = jtoken.Value("totalPromotionDiscount"), + TotalRemoteFee = jtoken.Value("totalRemoteFee"), + TotalShouldPay = jtoken.Value("totalShouldPay"), + TotalSuperRedEnvelope = jtoken.Value("totalSuperRedEnvelope"), + TotalTaxFee = jtoken.Value("totalTaxFee"), + TotalTuiHuanHuoWuYou = jtoken.Value("totalTuiHuanHuoWuYou"), + TotalVenderFee = jtoken.Value("totalVenderFee"), + TotalXianPinLeiDongQuan = jtoken.Value("totalXianPinLeiDongQuan"), + TotalXianPinLeiJingQuan = jtoken.Value("totalXianPinLeiJingQuan"), + TotalZhiFuYingXiaoYouHui = jtoken.Value("totalZhiFuYingXiaoYouHui") + }; + insertOrderTotalInfoList.Add(orderTotal); + #endregion + + #region 订单优惠券信息 + var couponJArray = jtoken["couponList"] as JArray; + if (couponJArray != null && couponJArray.Count() > 0) + { + insertOrderCouponNewList.AddRange(couponJArray.Select(j => new OrderCoupon_New() + { + Id = idGenerator.NewLong(), + CouponId = j.Value("couponId"), + CouponName = j.Value("couponName"), + CouponNum = j.Value("couponNum"), + CouponPrice = j.Value("couponPrice"), + CouponTypeDesc = j.Value("couponTypeDesc"), + CreateTime = DateTime.Now, + JdCouponId = j.Value("jdCouponId"), + JdDivideMoney = j.Value("jdDivideMoney"), + OrderId = orderId, + PriceDivide = j.Value("priceDivide"), + VenderDivideMoney = j.Value("venderDivideMoney") + })); + } + + #endregion + + #region 订单活动信息 + var promotionJArray = jtoken["promotionList"] as JArray; + if (promotionJArray != null && promotionJArray.Count() > 0) + { + insertOrderPromotionList.AddRange(promotionJArray.Select(j => new OrderPromotion() + { + Id = idGenerator.NewLong(), + BeginTime = j.Value("beginTime"), + EndTime = j.Value("endTime"), + CreateTime = DateTime.Now, + OrderId = orderId, + PromotionId = j.Value("promotionId"), + PromotionName = j.Value("promotionName"), + SalePrice = j.Value("salePrice"), + SaleTypeDesc = j.Value("saleTypeDesc") + })); + } + #endregion + + #region 订单sku金额明细 + var skuJArray = jtoken["skuList"] as JArray; + foreach (var oskuJtoken in skuJArray) + { + var oskuCF = new OrderSkuCFDetail() + { + OrderId = orderId, + SkuId = oskuJtoken.Value("skuCode"), + Balance = oskuJtoken.Value("balance"), + BaseDiscount = oskuJtoken.Value("baseDiscount"), + BaseFee = oskuJtoken.Value("baseFee"), + Coupon = oskuJtoken.Value("coupon"), + DongQuan = oskuJtoken.Value("dongQuan"), + ExpiryGiftDiscount = oskuJtoken.Value("expiryGiftDiscount"), + GlobalGeneralIncludeTax = oskuJtoken.Value("globalGeneralIncludeTax"), + GlobalGeneralTax = oskuJtoken.Value("globalGeneralTax"), + JdZhiFuYouHui = oskuJtoken.Value("jdZhiFuYouHui"), + JingDou = oskuJtoken.Value("jingDou"), + JingQuan = oskuJtoken.Value("jingQuan"), + JingXiangLiJin = oskuJtoken.Value("jingXiangLiJin"), + LiJinYouHui = oskuJtoken.Value("liJinYouHui"), + LuoDiPeiService = oskuJtoken.Value("luoDiPeiService"), + ManJian = oskuJtoken.Value("manJian"), + PingTaiChengDanYouHuiQuan = oskuJtoken.Value("pingTaiChengDanYouHuiQuan"), + Plus95 = oskuJtoken.Value("plus95"), + PromotionDiscount = oskuJtoken.Value("promotionDiscount"), + RemoteFee = oskuJtoken.Value("remoteFee"), + ShouldPay = oskuJtoken.Value("shouldPay"), + SuperRedEnvelope = oskuJtoken.Value("superRedEnvelope"), + TaxFee = oskuJtoken.Value("taxFee"), + TuiHuanHuoWuYou = oskuJtoken.Value("tuiHuanHuoWuYou"), + VenderFee = oskuJtoken.Value("venderFee"), + XianPinLeiDongQuan = oskuJtoken.Value("xianPinLeiDongQuan"), + XianPinLeiJingQuan = oskuJtoken.Value("xianPinLeiJingQuan"), + ZhiFuYingXiaoYouHui = oskuJtoken.Value("zhiFuYingXiaoYouHui") + }; + orderSkuCFDetailList.Add(oskuCF); + } + #endregion + + } + } + } + #endregion + #region 订单基本信息 var buyerRemark = orderJToken.Value("orderRemark"); var venderRemark = orderJToken.Value("venderRemark"); @@ -357,6 +501,8 @@ namespace BBWY.Server.Business //if (orderSkuJToken.Value("jdPrice") != 0M) //{ + var oskuCF = orderSkuCFDetailList.FirstOrDefault(x => x.OrderId == orderId && x.SkuId == skuId); + var osku = new OrderSku() { Id = idGenerator.NewLong(), @@ -367,7 +513,34 @@ namespace BBWY.Server.Business ProductNo = orderSkuJToken.Value("productNo"), CreateTime = DateTime.Now, OrderId = orderId, - SkuId = skuId + SkuId = skuId, + Balance = oskuCF?.Balance ?? 0M, + BaseDiscount = oskuCF?.BaseFee ?? 0M, + BaseFee = oskuCF?.BaseFee ?? 0M, + Coupon = oskuCF?.Coupon ?? 0M, + DongQuan = oskuCF?.DongQuan ?? 0M, + ExpiryGiftDiscount = oskuCF?.ExpiryGiftDiscount ?? 0M, + GlobalGeneralIncludeTax = oskuCF?.GlobalGeneralIncludeTax ?? 0M, + GlobalGeneralTax = oskuCF?.GlobalGeneralTax ?? 0M, + JdZhiFuYouHui = oskuCF?.JdZhiFuYouHui ?? 0M, + JingDou = oskuCF?.JingDou ?? 0M, + JingQuan = oskuCF?.JingQuan ?? 0M, + JingXiangLiJin = oskuCF?.JingXiangLiJin ?? 0M, + LiJinYouHui = oskuCF?.LiJinYouHui ?? 0M, + LuoDiPeiService = oskuCF?.LuoDiPeiService ?? 0M, + ManJian = oskuCF?.ManJian ?? 0M, + PingTaiChengDanYouHuiQuan = oskuCF?.PingTaiChengDanYouHuiQuan ?? 0M, + Plus95 = oskuCF?.Plus95 ?? 0M, + PromotionDiscount = oskuCF?.PromotionDiscount ?? 0M, + RemoteFee = oskuCF?.RemoteFee ?? 0M, + ShouldPay = oskuCF?.ShouldPay ?? 0M, + SuperRedEnvelope = oskuCF?.SuperRedEnvelope ?? 0M, + TaxFee = oskuCF?.TaxFee ?? 0M, + TuiHuanHuoWuYou = oskuCF?.TuiHuanHuoWuYou ?? 0M, + VenderFee = oskuCF?.VenderFee ?? 0M, + XianPinLeiDongQuan = oskuCF?.XianPinLeiDongQuan ?? 0M, + XianPinLeiJingQuan = oskuCF?.XianPinLeiJingQuan ?? 0M, + ZhiFuYingXiaoYouHui = oskuCF?.ZhiFuYingXiaoYouHui ?? 0M }; insertOrderSkuList.Add(osku); //} @@ -394,10 +567,44 @@ namespace BBWY.Server.Business var skuId = orderSkuJToken.Value("skuId"); var dbOsku = currentDbOrderSkuList.FirstOrDefault(osku => osku.SkuId == skuId); var skuUpdateKey = $"{orderId}_{skuId}"; - if (dbOsku != null && dbOsku.ProductId != wareId && !updateOrderSkuDictionary.ContainsKey(skuUpdateKey)) + if (dbOsku != null) { - var update = fsql.Update(dbOsku.Id).Set(osku => osku.ProductId, wareId); - updateOrderSkuDictionary.Add(skuUpdateKey, update); + var oskuCF = orderSkuCFDetailList.FirstOrDefault(x => x.OrderId == orderId && x.SkuId == dbOsku.SkuId); + var isDetailChanged = dbOsku.ShouldPay == 0 && oskuCF != null && oskuCF.ShouldPay != 0; + if (dbOsku.ProductId != wareId || isDetailChanged) + { + var update = fsql.Update(dbOsku.Id) + .SetIf(dbOsku.ProductId != wareId, osku => osku.ProductId, wareId) + .SetIf(isDetailChanged, osku => osku.ShouldPay, oskuCF.ShouldPay) + .SetIf(isDetailChanged, osku => osku.Balance, oskuCF.Balance) + .SetIf(isDetailChanged, osku => osku.BaseDiscount, oskuCF.BaseDiscount) + .SetIf(isDetailChanged, osku => osku.BaseFee, oskuCF.BaseFee) + .SetIf(isDetailChanged, osku => osku.Coupon, oskuCF.Coupon) + .SetIf(isDetailChanged, osku => osku.DongQuan, oskuCF.DongQuan) + .SetIf(isDetailChanged, osku => osku.ExpiryGiftDiscount, oskuCF.ExpiryGiftDiscount) + .SetIf(isDetailChanged, osku => osku.GlobalGeneralIncludeTax, oskuCF.GlobalGeneralIncludeTax) + .SetIf(isDetailChanged, osku => osku.GlobalGeneralTax, oskuCF.GlobalGeneralTax) + .SetIf(isDetailChanged, osku => osku.JdZhiFuYouHui, oskuCF.JdZhiFuYouHui) + .SetIf(isDetailChanged, osku => osku.JingDou, oskuCF.JingDou) + .SetIf(isDetailChanged, osku => osku.JingQuan, oskuCF.JingQuan) + .SetIf(isDetailChanged, osku => osku.JingXiangLiJin, oskuCF.JingXiangLiJin) + .SetIf(isDetailChanged, osku => osku.LiJinYouHui, oskuCF.LiJinYouHui) + .SetIf(isDetailChanged, osku => osku.LuoDiPeiService, oskuCF.LuoDiPeiService) + .SetIf(isDetailChanged, osku => osku.ManJian, oskuCF.ManJian) + .SetIf(isDetailChanged, osku => osku.PingTaiChengDanYouHuiQuan, oskuCF.PingTaiChengDanYouHuiQuan) + .SetIf(isDetailChanged, osku => osku.Plus95, oskuCF.Plus95) + .SetIf(isDetailChanged, osku => osku.PromotionDiscount, oskuCF.PromotionDiscount) + .SetIf(isDetailChanged, osku => osku.RemoteFee, oskuCF.RemoteFee) + .SetIf(isDetailChanged, osku => osku.SuperRedEnvelope, oskuCF.SuperRedEnvelope) + .SetIf(isDetailChanged, osku => osku.TaxFee, oskuCF.TaxFee) + .SetIf(isDetailChanged, osku => osku.TuiHuanHuoWuYou, oskuCF.TuiHuanHuoWuYou) + .SetIf(isDetailChanged, osku => osku.VenderFee, oskuCF.VenderFee) + .SetIf(isDetailChanged, osku => osku.XianPinLeiDongQuan, oskuCF.XianPinLeiDongQuan) + .SetIf(isDetailChanged, osku => osku.XianPinLeiJingQuan, oskuCF.XianPinLeiJingQuan) + .SetIf(isDetailChanged, osku => osku.ZhiFuYingXiaoYouHui, oskuCF.ZhiFuYingXiaoYouHui); + ; + updateOrderSkuDictionary.Add(skuUpdateKey, update); + } } } } @@ -517,7 +724,13 @@ namespace BBWY.Server.Business { var orderSkuId = orderSkuJToken.Value("skuId"); var itemTotal = orderSkuJToken.Value("itemTotal"); //sku购买数量 - var itemPrice = orderSkuJToken.Value("jdPrice"); //sku单价 + decimal? skuShouldPay = orderSkuCFDetailList.FirstOrDefault(x => x.OrderId == orderId && x.SkuId == orderSkuId)?.ShouldPay; + if (skuShouldPay == null) + skuShouldPay = insertOrderSkuList.FirstOrDefault(x => x.OrderId == orderId && x.SkuId == orderSkuId)?.ShouldPay; + if (skuShouldPay == null) + skuShouldPay = dbOrderSkuList.FirstOrDefault(x => x.OrderId == orderId && x.SkuId == orderSkuId)?.ShouldPay; + + //var itemPrice = orderSkuJToken.Value("jdPrice"); //sku单价 var isReduceMultiTimes = false; //是否多次扣减库存 while (itemTotal != 0) { @@ -529,6 +742,7 @@ namespace BBWY.Server.Business //本次扣减量 var deductionQuantity = purchaseOrder.RemainingQuantity >= itemTotal ? itemTotal : purchaseOrder.RemainingQuantity; + //var deductionQuantity = itemTotal; //本次扣减量的采购成本 var currentPurchaseAmount = purchaseOrder.UnitCost * deductionQuantity; //本次扣减量的发货运费 @@ -570,9 +784,11 @@ namespace BBWY.Server.Business StorageAmount = purchaseOrder.SingleStorageAmount * deductionQuantity, IsEnabled = true }; - orderCostDetail.SkuGrossProfit = itemPrice * deductionQuantity - avgPreferential - - (orderCostDetail.TotalCost + orderCostDetail.DeliveryExpressFreight) - - itemPrice * deductionQuantity * platformCommissionRatio; + + //orderCostDetail.SkuGrossProfit = itemPrice * deductionQuantity - avgPreferential - + // (orderCostDetail.TotalCost + orderCostDetail.DeliveryExpressFreight) - + // itemPrice * deductionQuantity * platformCommissionRatio; + orderCostDetail.SkuGrossProfit = skuShouldPay ?? 0M - (orderCostDetail.TotalCost + orderCostDetail.DeliveryExpressFreight); insertOrderCostDetailList.Add(orderCostDetail); } } @@ -652,196 +868,6 @@ namespace BBWY.Server.Business } catch { } #endregion - - #region 优惠券/促销/拆分明细 - if (!dbOrderTotalList.Any(ot => ot.Id == orderId)) - { - var orderCouponDetailHttpResult = restApiService.SendRequest("http://yunding.qiyue666.com", "api/PlatformSDK/GetOrderCouponDetail", new - { - OrderId = orderId, - AppKey = appKey, - AppSecret = appSecret, - AppToken = appToken, - Platform = Enums.Platform.京东 - }, null, HttpMethod.Post); - if (orderCouponDetailHttpResult.StatusCode == System.Net.HttpStatusCode.OK) - { - var orderCouponDetailResponse = JsonConvert.DeserializeObject>(orderCouponDetailHttpResult.Content); - if (orderCouponDetailResponse.Success) - { - var jtoken = orderCouponDetailResponse.Data["jingdong_pop_order_coupondetail_responce"]["couponDetailExternal"]["couponDetailVo"]; - - #region 订单合计信息 - var orderTotal = new OrderTotalInfo() - { - CreateTime = DateTime.Now, - Id = orderId, - TotalBalance = jtoken.Value("totalBalance"), - TotalBaseDiscount = jtoken.Value("TotalBaseDiscount"), - TotalBaseFee = jtoken.Value("totalBaseFee"), - TotalCoupon = jtoken.Value("totalCoupon"), - TotalDongQuan = jtoken.Value("totalDongQuan"), - TotalExpiryGiftDiscount = jtoken.Value("totalExpiryGiftDiscount"), - TotalGlobalGeneralIncludeTax = jtoken.Value("totalGlobalGeneralIncludeTax"), - TotalGlobalGeneralTax = jtoken.Value("totalGlobalGeneralTax"), - TotalItemPrice = jtoken.Value("totalItemPrice"), - TotalJdZhiFuYouHui = jtoken.Value("totalJdZhiFuYouHui"), - TotalJingDou = jtoken.Value("totalJingDou"), - TotalJingQuan = jtoken.Value("totalJingQuan"), - TotalJingXiangLiJin = jtoken.Value("totalJingXiangLiJin"), - TotalLiJinYouHui = jtoken.Value("totalLiJinYouHui"), - TotalLuoDiPeiService = jtoken.Value("totalLuoDiPeiService"), - TotalManJian = jtoken.Value("totalManJian"), - TotalPingTaiChengDanYouHuiQuan = jtoken.Value("totalPingTaiChengDanYouHuiQuan"), - TotalPlus95 = jtoken.Value("totalPlus95"), - TotalPromotionDiscount = jtoken.Value("totalPromotionDiscount"), - TotalRemoteFee = jtoken.Value("totalRemoteFee"), - TotalShouldPay = jtoken.Value("totalShouldPay"), - TotalSuperRedEnvelope = jtoken.Value("totalSuperRedEnvelope"), - TotalTaxFee = jtoken.Value("totalTaxFee"), - TotalTuiHuanHuoWuYou = jtoken.Value("totalTuiHuanHuoWuYou"), - TotalVenderFee = jtoken.Value("totalVenderFee"), - TotalXianPinLeiDongQuan = jtoken.Value("totalXianPinLeiDongQuan"), - TotalXianPinLeiJingQuan = jtoken.Value("totalXianPinLeiJingQuan"), - TotalZhiFuYingXiaoYouHui = jtoken.Value("totalZhiFuYingXiaoYouHui") - }; - insertOrderTotalInfoList.Add(orderTotal); - #endregion - - #region 订单优惠券信息 - var couponJArray = jtoken["couponList"] as JArray; - if (couponJArray != null && couponJArray.Count() > 0) - { - insertOrderCouponNewList.AddRange(couponJArray.Select(j => new OrderCoupon_New() - { - Id = idGenerator.NewLong(), - CouponId = j.Value("couponId"), - CouponName = j.Value("couponName"), - CouponNum = j.Value("couponNum"), - CouponPrice = j.Value("couponPrice"), - CouponTypeDesc = j.Value("couponTypeDesc"), - CreateTime = DateTime.Now, - JdCouponId = j.Value("jdCouponId"), - JdDivideMoney = j.Value("jdDivideMoney"), - OrderId = orderId, - PriceDivide = j.Value("priceDivide"), - VenderDivideMoney = j.Value("venderDivideMoney") - })); - } - - #endregion - - #region 订单活动信息 - var promotionJArray = jtoken["promotionList"] as JArray; - if (promotionJArray != null && promotionJArray.Count() > 0) - { - insertOrderPromotionList.AddRange(promotionJArray.Select(j => new OrderPromotion() - { - Id = idGenerator.NewLong(), - BeginTime = j.Value("beginTime"), - EndTime = j.Value("endTime"), - CreateTime = DateTime.Now, - OrderId = orderId, - PromotionId = j.Value("promotionId"), - PromotionName = j.Value("promotionName"), - SalePrice = j.Value("salePrice"), - SaleTypeDesc = j.Value("saleTypeDesc") - })); - } - #endregion - - #region 订单sku金额明细 - var skuJArray = jtoken["skuList"] as JArray; - if (isNewOrder) - { - var currentOrderSkuList = insertOrderSkuList.Where(osku => osku.OrderId == orderId).ToList(); - foreach (var oskuJtoken in skuJArray) - { - var osku = currentOrderSkuList.FirstOrDefault(x => x.SkuId == oskuJtoken.Value("skuCode")); - if (osku != null) - { - osku.Balance = oskuJtoken.Value("balance"); - osku.BaseDiscount = oskuJtoken.Value("baseDiscount"); - osku.BaseFee = oskuJtoken.Value("baseFee"); - osku.Coupon = oskuJtoken.Value("coupon"); - osku.DongQuan = oskuJtoken.Value("dongQuan"); - osku.ExpiryGiftDiscount = oskuJtoken.Value("expiryGiftDiscount"); - osku.GlobalGeneralIncludeTax = oskuJtoken.Value("globalGeneralIncludeTax"); - osku.GlobalGeneralTax = oskuJtoken.Value("globalGeneralTax"); - osku.JdZhiFuYouHui = oskuJtoken.Value("jdZhiFuYouHui"); - osku.JingDou = oskuJtoken.Value("jingDou"); - osku.JingQuan = oskuJtoken.Value("jingQuan"); - osku.JingXiangLiJin = oskuJtoken.Value("jingXiangLiJin"); - osku.LiJinYouHui = oskuJtoken.Value("liJinYouHui"); - osku.LuoDiPeiService = oskuJtoken.Value("luoDiPeiService"); - osku.ManJian = oskuJtoken.Value("manJian"); - osku.PingTaiChengDanYouHuiQuan = oskuJtoken.Value("pingTaiChengDanYouHuiQuan"); - osku.Plus95 = oskuJtoken.Value("plus95"); - osku.PromotionDiscount = oskuJtoken.Value("promotionDiscount"); - osku.RemoteFee = oskuJtoken.Value("remoteFee"); - osku.ShouldPay = oskuJtoken.Value("shouldPay"); - osku.SuperRedEnvelope = oskuJtoken.Value("superRedEnvelope"); - osku.TaxFee = oskuJtoken.Value("taxFee"); - osku.TuiHuanHuoWuYou = oskuJtoken.Value("tuiHuanHuoWuYou"); - osku.VenderFee = oskuJtoken.Value("venderFee"); - osku.XianPinLeiDongQuan = oskuJtoken.Value("xianPinLeiDongQuan"); - osku.XianPinLeiJingQuan = oskuJtoken.Value("xianPinLeiJingQuan"); - osku.ZhiFuYingXiaoYouHui = oskuJtoken.Value("zhiFuYingXiaoYouHui"); - } - } - } - else - { - foreach (var oskuJtoken in skuJArray) - { - var skuId = oskuJtoken.Value("skuCode"); - var skuUpdateKey = $"{orderId}_{skuId}"; - if (!updateOrderSkuDictionary.TryGetValue(skuUpdateKey, out var update)) - { - var currentOrderSku = dbOrderSkuList.FirstOrDefault(x => x.OrderId == orderId && x.SkuId == skuId); - if (currentOrderSku != null) - { - update = fsql.Update(currentOrderSku.Id); - updateOrderSkuDictionary.Add(skuUpdateKey, update); - } - } - if (update == null) - continue; - update = update.Set(osku => osku.Balance, oskuJtoken.Value("balance")) - .Set(osku => osku.BaseDiscount, oskuJtoken.Value("baseDiscount")) - .Set(osku => osku.BaseFee, oskuJtoken.Value("baseFee")) - .Set(osku => osku.Coupon, oskuJtoken.Value("coupon")) - .Set(osku => osku.DongQuan, oskuJtoken.Value("dongQuan")) - .Set(osku => osku.ExpiryGiftDiscount, oskuJtoken.Value("expiryGiftDiscount")) - .Set(osku => osku.GlobalGeneralIncludeTax, oskuJtoken.Value("globalGeneralIncludeTax")) - .Set(osku => osku.GlobalGeneralTax, oskuJtoken.Value("globalGeneralTax")) - .Set(osku => osku.JdZhiFuYouHui, oskuJtoken.Value("jdZhiFuYouHui")) - .Set(osku => osku.JingDou, oskuJtoken.Value("jingDou")) - .Set(osku => osku.JingQuan, oskuJtoken.Value("jingQuan")) - .Set(osku => osku.JingXiangLiJin, oskuJtoken.Value("jingXiangLiJin")) - .Set(osku => osku.LiJinYouHui, oskuJtoken.Value("liJinYouHui")) - .Set(osku => osku.LuoDiPeiService, oskuJtoken.Value("luoDiPeiService")) - .Set(osku => osku.ManJian, oskuJtoken.Value("manJian")) - .Set(osku => osku.PingTaiChengDanYouHuiQuan, oskuJtoken.Value("pingTaiChengDanYouHuiQuan")) - .Set(osku => osku.Plus95, oskuJtoken.Value("plus95")) - .Set(osku => osku.PromotionDiscount, oskuJtoken.Value("promotionDiscount")) - .Set(osku => osku.RemoteFee, oskuJtoken.Value("remoteFee")) - .Set(osku => osku.ShouldPay, oskuJtoken.Value("shouldPay")) - .Set(osku => osku.SuperRedEnvelope, oskuJtoken.Value("superRedEnvelope")) - .Set(osku => osku.TaxFee, oskuJtoken.Value("taxFee")) - .Set(osku => osku.TuiHuanHuoWuYou, oskuJtoken.Value("tuiHuanHuoWuYou")) - .Set(osku => osku.VenderFee, oskuJtoken.Value("venderFee")) - .Set(osku => osku.XianPinLeiDongQuan, oskuJtoken.Value("xianPinLeiDongQuan")) - .Set(osku => osku.XianPinLeiJingQuan, oskuJtoken.Value("xianPinLeiJingQuan")) - .Set(osku => osku.ZhiFuYingXiaoYouHui, oskuJtoken.Value("zhiFuYingXiaoYouHui")); - } - - } - #endregion - } - } - } - #endregion } #region 补齐sku logo diff --git a/BBWY.Server.Model/Db/Order/OrderCoupon_New.cs b/BBWY.Server.Model/Db/Order/OrderCoupon_New.cs index a608c5e7..e58390c6 100644 --- a/BBWY.Server.Model/Db/Order/OrderCoupon_New.cs +++ b/BBWY.Server.Model/Db/Order/OrderCoupon_New.cs @@ -14,14 +14,12 @@ namespace BBWY.Server.Model.Db /// /// 优惠券数量/发行量 /// - [Column(DbType = "int")] - public int? CouponNum { get; set; } = 0; + public long? CouponNum { get; set; } = 0; /// /// POP优惠券ID /// - [Column(DbType = "int")] - public int? CouponId { get; set; } + public long? CouponId { get; set; } /// /// 活动名称 diff --git a/BBWY.Server.Model/Db/Order/OrderPromotion.cs b/BBWY.Server.Model/Db/Order/OrderPromotion.cs index 8b602bc4..5a2f9c5e 100644 --- a/BBWY.Server.Model/Db/Order/OrderPromotion.cs +++ b/BBWY.Server.Model/Db/Order/OrderPromotion.cs @@ -35,8 +35,7 @@ namespace BBWY.Server.Model.Db /// /// pop促销ID /// - [Column(DbType = "int")] - public int? PromotionId { get; set; } + public long? PromotionId { get; set; } /// /// 活动名称 diff --git a/BBWY.Server.Model/Dto/Response/JD/OrderSkuCFDetail.cs b/BBWY.Server.Model/Dto/Response/JD/OrderSkuCFDetail.cs new file mode 100644 index 00000000..58de2a2d --- /dev/null +++ b/BBWY.Server.Model/Dto/Response/JD/OrderSkuCFDetail.cs @@ -0,0 +1,150 @@ +namespace BBWY.Server.Model.Dto +{ + /// + /// 订单Sku拆分明细对象 + /// + public class OrderSkuCFDetail + { + public string OrderId { get; set; } + + public string SkuId { get; set; } + + /// + /// 京东支付优惠,计价单位:元 + /// + public decimal? JdZhiFuYouHui { get; set; } = 0.00M; + + /// + /// plus会员95折优惠,计价单位:元 + /// + public decimal? Plus95 { get; set; } = 0.00M; + + /// + /// 余额,计价单位:元 + /// + public decimal? Balance { get; set; } = 0.00M; + + /// + /// 基础优惠,计价单位:元 + /// + public decimal? BaseDiscount { get; set; } = 0.00M; + + /// + /// 基础运费,计价单位:元 + /// + public decimal? BaseFee { get; set; } = 0.00M; + + /// + /// 优惠券,计价单位:元 + /// + public decimal? Coupon { get; set; } = 0.00M; + + /// + /// 东券,计价单位:元 + /// + public decimal? DongQuan { get; set; } = 0.00M; + + /// + /// 满期赠促销 + /// + public decimal? ExpiryGiftDiscount { get; set; } = 0.00M; + + /// + /// 全球购一般贸易税(包税),计价单位:元 + /// + public decimal? GlobalGeneralIncludeTax { get; set; } = 0.00M; + + /// + /// 全球购一般贸易税,计价单位:元 + /// + public decimal? GlobalGeneralTax { get; set; } = 0.00M; + + + /// + /// 京豆,计价单位:元 + /// + public decimal? JingDou { get; set; } = 0.00M; + + /// + /// 京券,计价单位:元 + /// + public decimal? JingQuan { get; set; } = 0.00M; + + /// + /// 京享礼金(首单礼金或重逢礼金),计价单位:元 + /// + public decimal? JingXiangLiJin { get; set; } = 0.00M; + + /// + /// 礼金优惠,计价单位:元 + /// + public decimal? LiJinYouHui { get; set; } = 0.00M; + + /// + /// 落地配服务,计价单位:元 + /// + public decimal? LuoDiPeiService { get; set; } = 0.00M; + + /// + /// 满减,计价单位:元 + /// + public decimal? ManJian { get; set; } = 0.00M; + + + /// + /// 按比例平台承担优惠券,计价单位:元 + /// + public decimal? PingTaiChengDanYouHuiQuan { get; set; } = 0.00M; + + + /// + /// 跨店满减促销 + /// + public decimal? PromotionDiscount { get; set; } = 0.00M; + + /// + /// 偏远运费,计价单位:元 + /// + public decimal? RemoteFee { get; set; } = 0.00M; + + /// + /// 应付金额,计价单位:元 + /// + public decimal? ShouldPay { get; set; } = 0.00M; + + /// + /// 超级红包,计价单位:元 + /// + public decimal? SuperRedEnvelope { get; set; } = 0.00M; + + /// + /// 全球购税费,计价单位:元 + /// + public decimal? TaxFee { get; set; } = 0.00M; + + /// + /// 退换货无忧,计价单位:元 + /// + public decimal? TuiHuanHuoWuYou { get; set; } = 0.00M; + + /// + /// 商家运费,计价单位:元 + /// + public decimal? VenderFee { get; set; } = 0.00M; + + /// + /// 限品类东券,计价单位:元 + /// + public decimal? XianPinLeiDongQuan { get; set; } = 0.00M; + + /// + /// 限品类京券,计价单位:元 + /// + public decimal? XianPinLeiJingQuan { get; set; } = 0.00M; + + /// + /// 支付营销优惠,计价单位:元 + /// + public decimal? ZhiFuYingXiaoYouHui { get; set; } = 0.00M; + } +}