From d1223603f2c9c7a815bde236dec7172d7042b081 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Fri, 23 Sep 2022 01:25:07 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8B=89=E5=8F=96=E8=AE=A2=E5=8D=95=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ViewModels/Order/OrderListViewModel.cs | 1 + .../Controllers/OrderController.cs | 11 +++++ BBWY.Server.Business/Order/OrderBusiness.cs | 47 ++++++++++++++++++- 3 files changed, 58 insertions(+), 1 deletion(-) diff --git a/BBWY.Client/ViewModels/Order/OrderListViewModel.cs b/BBWY.Client/ViewModels/Order/OrderListViewModel.cs index 98dfdce0..5d6a2a0b 100644 --- a/BBWY.Client/ViewModels/Order/OrderListViewModel.cs +++ b/BBWY.Client/ViewModels/Order/OrderListViewModel.cs @@ -241,6 +241,7 @@ namespace BBWY.Client.ViewModels public override void Refresh() { + queryShopId = globalContext.User.Shop.ShopId; OrderList.Clear(); if (ToDayOrderAchievement != null) { diff --git a/BBWY.Server.API/Controllers/OrderController.cs b/BBWY.Server.API/Controllers/OrderController.cs index fc1786c1..b0be0659 100644 --- a/BBWY.Server.API/Controllers/OrderController.cs +++ b/BBWY.Server.API/Controllers/OrderController.cs @@ -131,5 +131,16 @@ namespace BBWY.Server.API.Controllers { orderBusiness.EditVenderRemark(editVenderRemarkRequest); } + + /// + /// 刷单组拉取订单 + /// + /// + /// + [HttpPost] + public OrderResponse SDGroupPullOrder([FromBody] SDGroupPullOrderRequest request) + { + return orderBusiness.SDGroupPullOrder(request); + } } } diff --git a/BBWY.Server.Business/Order/OrderBusiness.cs b/BBWY.Server.Business/Order/OrderBusiness.cs index 13d7f9cc..4ba81a4e 100644 --- a/BBWY.Server.Business/Order/OrderBusiness.cs +++ b/BBWY.Server.Business/Order/OrderBusiness.cs @@ -10,6 +10,7 @@ using FreeSql; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Newtonsoft.Json; +using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Linq; @@ -24,6 +25,10 @@ namespace BBWY.Server.Business private IFreeSql fsql; private IIdGenerator idGenerator; + + private Lazy productBusinessLazy; + private ProductBusiness productBusiness => productBusinessLazy.Value; + private Lazy freeSqlMultiDBManagerLazy; private FreeSqlMultiDBManager freeSqlMultiDBManager => freeSqlMultiDBManagerLazy.Value; @@ -36,6 +41,7 @@ namespace BBWY.Server.Business this.fsql = fsql; this.idGenerator = idGenerator; freeSqlMultiDBManagerLazy = new Lazy(() => serviceProvider.GetService()); + productBusinessLazy = new Lazy(() => serviceProvider.GetService()); } private ISelect GetOrderListQueryConditions(SearchOrderRequest searchOrderRequest) @@ -977,9 +983,48 @@ namespace BBWY.Server.Business if (orderApiResult.StatusCode != System.Net.HttpStatusCode.OK) throw new BusinessException($"获取未付款订单失败 {orderApiResult.Content}"); + var orderJToken = JToken.Parse(orderApiResult.Content); + var orderInfoJToken = orderJToken["Data"]["jingdong_pop_order_notPayOrderById_responce"]["orderDataNotPayInfo"]; + if (orderInfoJToken == null) + throw new BusinessException("未查询到代付款订单"); - } + orderResponse = new OrderResponse() + { + Id = orderInfoJToken["orderId"].ToString(), + ShopId = request.ShopId.ToString(), + OrderStartTime = DateTime.Parse(orderInfoJToken["orderCreated"].ToString()), + ItemList = new List(), + Platform = request.Platform + }; + + var orderSkuIds = string.Join(",", orderInfoJToken["itemList"].Children().Select(j => j.Value("skuId"))); + var skuList = productBusiness.GetProductSkuList(new SearchProductSkuRequest() + { + AppKey = request.AppKey, + AppSecret = request.AppSecret, + AppToken = request.AppToken, + Platform = request.Platform, + Sku = orderSkuIds + }); + foreach (var sku in skuList) + { + if (sku.Price != 0) + { + var num = orderInfoJToken["itemList"].Children().FirstOrDefault(j => j.Value("skuId") == sku.Id)?.Value("num") ?? 1; + orderResponse.ItemList.Add(new OrderSkuResponse() + { + Logo = sku.Logo, + OrderId = request.OrderId, + Price = sku.Price, + Title = sku.Title, + ProductId = sku.ProductId, + Id = sku.Id, + ItemTotal = num + }); + } + } + } return orderResponse; } }