diff --git a/BBWY.Client/Views/Order/OrderList.xaml b/BBWY.Client/Views/Order/OrderList.xaml index 4919d3ec..4cba81c1 100644 --- a/BBWY.Client/Views/Order/OrderList.xaml +++ b/BBWY.Client/Views/Order/OrderList.xaml @@ -701,16 +701,30 @@ VerticalAlignment="Center"/> - - - - - - - - - + + + + + + + + + + + + + + + + + + + @@ -726,10 +740,10 @@ --> - + - + diff --git a/BBWY.Server.API/Controllers/OrderController.cs b/BBWY.Server.API/Controllers/OrderController.cs index 72acd51e..e9a875a2 100644 --- a/BBWY.Server.API/Controllers/OrderController.cs +++ b/BBWY.Server.API/Controllers/OrderController.cs @@ -27,6 +27,17 @@ namespace BBWY.Server.API.Controllers return orderBusiness.GetOrderList(searchOrderRequest); } + /// + /// 获取单个订单详情 + /// + /// + /// + [HttpGet("{orderId}")] + public OrderResponse GetOrderById([FromRoute] string orderId) + { + return orderBusiness.GetOrderById(orderId); + } + /// /// 解密收货人信息 /// @@ -88,6 +99,16 @@ namespace BBWY.Server.API.Controllers orderBusiness.OutStock(outStockRequest); } + /// + /// 修改商家备注 + /// + /// + [HttpPost] + public void EditVenderRemark([FromBody] EditVenderRemarkRequest editVenderRemarkRequest) + { + orderBusiness.EditVenderRemark(editVenderRemarkRequest); + } + /// /// 指定时间范围的订单同步 /// diff --git a/BBWY.Server.Business/Order/OrderBusiness.cs b/BBWY.Server.Business/Order/OrderBusiness.cs index 9e1c4f00..1c21b342 100644 --- a/BBWY.Server.Business/Order/OrderBusiness.cs +++ b/BBWY.Server.Business/Order/OrderBusiness.cs @@ -80,8 +80,6 @@ namespace BBWY.Server.Business .Count(out var total) .Page(searchOrderRequest.PageIndex, searchOrderRequest.PageSize); - var sql = select.ToSql(); - var orderSourceList = select.ToList((o, ocs, oct, ods) => new Order() { Id = o.Id, @@ -170,6 +168,78 @@ namespace BBWY.Server.Business return response; } + public OrderResponse GetOrderById(string orderId) + { + var order = fsql.Select().LeftJoin((o, ocs, oct, ods) => o.Id == ocs.OrderId) + .LeftJoin((o, ocs, oct, ods) => o.Id == oct.OrderId) + .LeftJoin((o, ocs, oct, ods) => o.Id == ods.OrderId) + .Where((o, ocs, oct, ods) => o.Id == orderId) + .ToOne((o, ocs, oct, ods) => new Order() + { + Id = o.Id, + BuyerRemark = o.BuyerRemark, + EndTime = o.EndTime, + FreightPrice = o.FreightPrice, + ModifyTime = o.ModifyTime, + OrderPayment = o.OrderPayment, + OrderSellerPrice = o.OrderSellerPrice, + OrderState = o.OrderState, + OrderTotalPrice = o.OrderTotalPrice, + OrderType = o.OrderType, + PayType = o.PayType, + Platform = o.Platform, + ShopId = o.ShopId, + StartTime = o.StartTime, + StorageType = o.StorageType, + StoreId = o.StoreId, + StoreOrder = o.StoreOrder, + VenderRemark = o.VenderRemark, + PurchaseRemark = o.PurchaseRemark, + WaybillNo = o.WaybillNo, + Flag = o.Flag, + SDType = o.SDType, + + ContactName = ocs.ContactName, + Address = ocs.Address, + Province = ocs.Province, + County = ocs.County, + Town = ocs.Town, + City = ocs.City, + IsDecode = ocs.IsDecode, + Mobile = ocs.Mobile, + TelePhone = ocs.TelePhone, + + DeliveryExpressFreight = oct.DeliveryExpressFreight, + PlatformCommissionAmount = oct.PlatformCommissionAmount, + PlatformCommissionRatio = oct.PlatformCommissionRatio, + PreferentialAmount = oct.PreferentialAmount, + Profit = oct.Profit, + PurchaseAmount = oct.PurchaseAmount, + IsManualEdited = oct.IsManualEdited, + SDCommissionAmount = oct.SDCommissionAmount, + + BuyerAccount = ods.BuyerAccount, + DeliveryFreight = ods.DeliveryFreight, + PurchaseOrderId = ods.PurchaseOrderId, + PurchasePlatform = ods.PurchasePlatform, + SellerAccount = ods.SellerAccount, + }); + if (order == null) + throw new BusinessException("订单不存在"); + + var orderResponse = order.Map(); + + var orderSkuList = fsql.Select().Where(osku => osku.OrderId == orderId).ToList().Map>(); + var orderCouponList = fsql.Select().Where(oc => oc.OrderId == orderId).ToList().Map>(); + var orderCostDetailList = fsql.Select().Where(ocd => ocd.OrderId == orderId).ToList().Map>(); + + orderResponse.ItemList = orderSkuList; + orderResponse.OrderCouponList = orderCouponList; + orderResponse.OrderCostDetailList = orderCostDetailList; + orderResponse.StoreName = globalConfig.Stores.FirstOrDefault(s => s.StoreId == orderResponse.StoreId)?.StoreName ?? order.StoreId; + return orderResponse; + } + /// /// 解密 /// @@ -632,6 +702,11 @@ namespace BBWY.Server.Business }); } + /// + /// 出库 + /// + /// + /// public void OutStock(OutStockRequest outStockRequest) { var dbOrder = fsql.Select(outStockRequest.OrderId).ToOne(); @@ -653,6 +728,34 @@ namespace BBWY.Server.Business .ExecuteAffrows(); } + /// + /// 修改商家备注 + /// + /// + public void EditVenderRemark(EditVenderRemarkRequest editVenderRemarkRequest) + { + //修改平台订单备注 + var relayAPIHost = GetPlatformRelayAPIHost(editVenderRemarkRequest.Platform); + + if (editVenderRemarkRequest.Platform == Enums.Platform.京东) + { + var editApiResult = restApiService.SendRequest(relayAPIHost, "/Api/PlatformSDK/EditVenderRemark", editVenderRemarkRequest, null, HttpMethod.Post); + if (editApiResult.StatusCode != System.Net.HttpStatusCode.OK) + throw new BusinessException($"修改商家备注失败 {editApiResult.Content}") { Code = (int)editApiResult.StatusCode }; + var editResponse = JsonConvert.DeserializeObject(editApiResult.Content); + if (!editResponse.Success) + throw new BusinessException(editResponse.Msg); + } + else + { + throw new NotImplementedException(); + } + + fsql.Update(editVenderRemarkRequest.OrderId).Set(o => o.Flag, editVenderRemarkRequest.Flag) + .Set(o => o.VenderRemark, editVenderRemarkRequest.VenderRemark) + .ExecuteAffrows(); + } + /// /// 同步订单 ///