Browse Source

1.修复绑定采购方案时采购商为空的问题

2.新增平台简单订单信息查询
qianyi
shanji 3 years ago
parent
commit
49202e42d0
  1. 2
      BBWY.Client/ViewModels/Ware/BindingPurchaseProductViewModel.cs
  2. 2
      BBWY.Client/Views/Purchase/1688Purchase.xaml
  3. 15
      BBWY.Server.API/Controllers/PlatformSDKController.cs
  4. 4
      BBWY.Server.Business/PlatformSDK/PlatformSDKBusiness.cs
  5. 24
      BBWY.Server.Business/PlatformSDK/_1688Business.cs
  6. 50
      BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
  7. 59
      BBWY.Server.Model/Dto/Response/PurchaseOrder/OnlinePurchase/OnlinePurchaseOrderSimpleResponse.cs
  8. 25
      BBWY.Server.Model/Dto/Response/PurchaseOrder/OnlinePurchase/OrderAmountResponse.cs

2
BBWY.Client/ViewModels/Ware/BindingPurchaseProductViewModel.cs

@ -175,6 +175,8 @@ namespace BBWY.Client.ViewModels
var jobject = response.Data; var jobject = response.Data;
purchaserId = jobject["item"]["seller_info"].Value<string>("user_num_id"); purchaserId = jobject["item"]["seller_info"].Value<string>("user_num_id");
purchaserName = jobject["item"]["seller_info"].Value<string>("title"); purchaserName = jobject["item"]["seller_info"].Value<string>("title");
if(string.IsNullOrEmpty(purchaserName))
purchaserName = jobject["item"]["seller_info"].Value<string>("shop_name");
purchaserLocation = jobject["item"].Value<string>("location"); purchaserLocation = jobject["item"].Value<string>("location");
if (checkPurchaserFunc != null) if (checkPurchaserFunc != null)
{ {

2
BBWY.Client/Views/Purchase/1688Purchase.xaml

@ -88,7 +88,7 @@
Padding="3,5,0,0" Padding="3,5,0,0"
TextWrapping="Wrap"/> TextWrapping="Wrap"/>
<TextBlock Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center"> <TextBlock Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Center">
<Run Text="货品总运费"/> <Run Text="货品总金额"/>
<Run Text="{Binding ProductAmount,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}" Foreground="#EC808D"/> <Run Text="{Binding ProductAmount,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}" Foreground="#EC808D"/>
<Run Text="元"/> <Run Text="元"/>
<LineBreak/> <LineBreak/>

15
BBWY.Server.API/Controllers/PlatformSDKController.cs

@ -126,7 +126,7 @@ namespace BBWY.Server.API.Controllers
/// </summary> /// </summary>
/// <param name="outStockRequest"></param> /// <param name="outStockRequest"></param>
[HttpPost] [HttpPost]
public void OutStock([FromBody]OutStockRequest outStockRequest) public void OutStock([FromBody] OutStockRequest outStockRequest)
{ {
platformSDKBusinessList.FirstOrDefault(p => p.Platform == outStockRequest.Platform).OutStock(outStockRequest); platformSDKBusinessList.FirstOrDefault(p => p.Platform == outStockRequest.Platform).OutStock(outStockRequest);
} }
@ -137,9 +137,20 @@ namespace BBWY.Server.API.Controllers
/// <param name="previewOrderReuqest"></param> /// <param name="previewOrderReuqest"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost] [HttpPost]
public PreviewOrderResponse PreviewOrder([FromBody]PreviewOrderReuqest previewOrderReuqest) public PreviewOrderResponse PreviewOrder([FromBody] PreviewOrderReuqest previewOrderReuqest)
{ {
return platformSDKBusinessList.FirstOrDefault(p => p.Platform == previewOrderReuqest.Platform).PreviewOrder(previewOrderReuqest); return platformSDKBusinessList.FirstOrDefault(p => p.Platform == previewOrderReuqest.Platform).PreviewOrder(previewOrderReuqest);
} }
/// <summary>
/// 获取订单简单信息
/// </summary>
/// <param name="getOrderInfoRequest"></param>
/// <returns></returns>
[HttpPost]
public OnlinePurchaseOrderSimpleResponse GetOrderSimpleInfo([FromBody] GetOrderInfoRequest getOrderInfoRequest)
{
return platformSDKBusinessList.FirstOrDefault(p => p.Platform == getOrderInfoRequest.Platform).GetOrderSimpleInfo(getOrderInfoRequest);
}
} }
} }

4
BBWY.Server.Business/PlatformSDK/PlatformSDKBusiness.cs

@ -89,12 +89,12 @@ namespace BBWY.Server.Business
} }
/// <summary> /// <summary>
/// 获取订单金额信息 /// 获取订单简单信息
/// </summary> /// </summary>
/// <param name="getOrderInfoRequest"></param> /// <param name="getOrderInfoRequest"></param>
/// <returns></returns> /// <returns></returns>
/// <exception cref="NotImplementedException"></exception> /// <exception cref="NotImplementedException"></exception>
public virtual OrderAmountResponse GetOrderAmountInfo(GetOrderInfoRequest getOrderInfoRequest) public virtual OnlinePurchaseOrderSimpleResponse GetOrderSimpleInfo(GetOrderInfoRequest getOrderInfoRequest)
{ {
throw new NotImplementedException(); throw new NotImplementedException();
} }

24
BBWY.Server.Business/PlatformSDK/_1688Business.cs

@ -234,11 +234,11 @@ namespace BBWY.Server.Business
} }
/// <summary> /// <summary>
/// 获取订单金额 /// 获取订单简单信息
/// </summary> /// </summary>
/// <param name="getOrderInfoRequest"></param> /// <param name="getOrderInfoRequest"></param>
/// <returns></returns> /// <returns></returns>
public override OrderAmountResponse GetOrderAmountInfo(GetOrderInfoRequest getOrderInfoRequest) public override OnlinePurchaseOrderSimpleResponse GetOrderSimpleInfo(GetOrderInfoRequest getOrderInfoRequest)
{ {
var client = GetSyncAPIClient(getOrderInfoRequest.AppKey, getOrderInfoRequest.AppSecret); var client = GetSyncAPIClient(getOrderInfoRequest.AppKey, getOrderInfoRequest.AppSecret);
RequestPolicy reqPolicy = new RequestPolicy(); RequestPolicy reqPolicy = new RequestPolicy();
@ -262,19 +262,33 @@ namespace BBWY.Server.Business
{ {
webSite = "1688", webSite = "1688",
orderId = getOrderInfoRequest.OrderId, orderId = getOrderInfoRequest.OrderId,
includeFields = "baseInfo" includeFields = "baseInfo,productItems"
}; };
request.RequestEntity = param; request.RequestEntity = param;
if (!string.IsNullOrEmpty(getOrderInfoRequest.AppToken)) if (!string.IsNullOrEmpty(getOrderInfoRequest.AppToken))
request.AccessToken = getOrderInfoRequest.AppToken; request.AccessToken = getOrderInfoRequest.AppToken;
var result = client.NewRequest(request, reqPolicy); var result = client.NewRequest(request, reqPolicy);
if (getOrderInfoRequest.SaveResponseLog)
logger.Info(result.ToString());
if (result.Value<bool>("success") != true) if (result.Value<bool>("success") != true)
throw new BusinessException(result.Value<string>("errorMessage")) { Code = 0 }; throw new BusinessException(result.Value<string>("errorMessage")) { Code = 0 };
return new OrderAmountResponse() return new OnlinePurchaseOrderSimpleResponse()
{ {
PurchaseOrderId = getOrderInfoRequest.OrderId,
FreightAmount = result["result"]["baseInfo"].Value<decimal>("shippingFee"),
ProductAmount = result["result"]["baseInfo"].Value<decimal>("totalAmount") - result["result"]["baseInfo"].Value<decimal>("shippingFee"),
TotalAmount = result["result"]["baseInfo"].Value<decimal>("totalAmount"),
ItemList = result["result"]["productItems"].Select(itemJToken => new OnlinePurchaseOrderSkuSimpleResponse()
{
ProductId = itemJToken.Value<string>("productID"),
SkuId = itemJToken.Value<string>("skuID"),
SpecId = itemJToken.Value<string>("specId"),
ProductAmount = itemJToken.Value<decimal>("itemAmount"),
Quantity = itemJToken.Value<decimal>("quantity"),
Price = itemJToken.Value<decimal>("price")
}).ToList()
}; };
} }
} }

50
BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs

@ -104,7 +104,7 @@ namespace BBWY.Server.Business
public void FastCreateOrder(CreateOnlinePurchaseOrderRequest createOnlinePurchaseOrderRequest) public void FastCreateOrder(CreateOnlinePurchaseOrderRequest createOnlinePurchaseOrderRequest)
{ {
if (createOnlinePurchaseOrderRequest.Platform != Model.Enums.Platform.) if (createOnlinePurchaseOrderRequest.Platform != Enums.Platform.)
throw new NotImplementedException(); throw new NotImplementedException();
var dbOrder = fsql.Select<Order>(createOnlinePurchaseOrderRequest.OrderId).ToOne(); var dbOrder = fsql.Select<Order>(createOnlinePurchaseOrderRequest.OrderId).ToOne();
if (dbOrder == null) if (dbOrder == null)
@ -403,13 +403,43 @@ namespace BBWY.Server.Business
#region 查询订单Sku #region 查询订单Sku
currentProgress = "查询订单Sku"; currentProgress = "查询订单Sku";
var orderSku = fsql.Select<OrderSku>().Where(osku => osku.OrderId == orderDropshipping.OrderId).ToOne(); var orderSkuList = fsql.Select<OrderSku>().Where(osku => osku.OrderId == orderDropshipping.OrderId).ToList();
if (orderSku == null) if (orderSkuList == null || orderSkuList.Count() == 0)
throw new BusinessException("订单Sku不存在"); throw new BusinessException("订单Sku不存在");
#endregion #endregion
#region 查询订单
currentProgress = "查询订单";
var dbOrder = fsql.Select<Order>(orderDropshipping.OrderId).ToOne();
if (dbOrder == null)
throw new BusinessException("订单不存在");
#endregion
#region 查询采购单
currentProgress = "查询采购单";
var purchaseOrderList = fsql.Select<PurchaseOrder>().Where(po => po.PurchaseOrderId == purchaseOrderId &&
po.PurchaseMethod == Enums.PurchaseMethod.线).ToList();
if (purchaseOrderList == null || purchaseOrderList.Count() == 0)
throw new BusinessException("采购单不存在");
#endregion
#region 查询成本明细
currentProgress = "查询成本明细";
var orderCostDetailList = fsql.Select<OrderCostDetail>().Where(ocd => ocd.OrderId == orderDropshipping.OrderId).ToList();
if (orderCostDetailList == null || orderCostDetailList.Count() == 0)
throw new BusinessException("订单成本明细不存在");
#endregion
#region 查询订单成本
currentProgress = "查询订单成本";
var orderCost = fsql.Select<OrderCost>(orderDropshipping.OrderId).ToOne();
if (orderCost == null)
throw new BusinessException("订单成本不存在");
#endregion
#region 查询改价后的订单金额 #region 查询改价后的订单金额
var orderAmountResponse = platformSDKBusinessList.FirstOrDefault(p => p.Platform == callbackPlatform).GetOrderAmountInfo(new GetOrderInfoRequest() currentProgress = "查询改价后的订单金额";
var purchaseOrderSimpleInfo = platformSDKBusinessList.FirstOrDefault(p => p.Platform == callbackPlatform).GetOrderSimpleInfo(new GetOrderInfoRequest()
{ {
AppKey = purchaseAccount.AppKey, AppKey = purchaseAccount.AppKey,
AppSecret = purchaseAccount.AppSecret, AppSecret = purchaseAccount.AppSecret,
@ -419,11 +449,17 @@ namespace BBWY.Server.Business
}); });
#endregion #endregion
foreach (var orderSku in orderSkuList)
{
var purchaseOrder = purchaseOrderList.FirstOrDefault(po => po.SkuId == orderSku.SkuId);
}
fsql.Transaction(() => fsql.Transaction(() =>
{ {
fsql.Update<PurchaseOrder>(purchaseOrderId).Set(po => po.SingleSkuAmount, orderAmountResponse.ProductAmount / orderSku.ItemTotal.Value) //fsql.Update<PurchaseOrder>(purchaseOrderId).Set(po => po.SingleSkuAmount, orderAmountResponse.ProductAmount / orderSku.ItemTotal.Value)
.Set(po => po.SingleFreight, orderAmountResponse.FreightAmount / orderSku.ItemTotal.Value) // .Set(po => po.SingleFreight, orderAmountResponse.FreightAmount / orderSku.ItemTotal.Value)
.ExecuteAffrows(); // .ExecuteAffrows();
//fsql.Update<OrderCostDetail>().Where(ocd=>) //fsql.Update<OrderCostDetail>().Where(ocd=>)
}); });

59
BBWY.Server.Model/Dto/Response/PurchaseOrder/OnlinePurchase/OnlinePurchaseOrderSimpleResponse.cs

@ -0,0 +1,59 @@
using System.Collections.Generic;
namespace BBWY.Server.Model.Dto
{
/// <summary>
/// 采购单简单信息
/// </summary>
public class OnlinePurchaseOrderSimpleResponse
{
/// <summary>
/// 采购单号
/// </summary>
public string PurchaseOrderId { get; set; }
/// <summary>
/// 订单总额
/// </summary>
public decimal TotalAmount { get; set; }
/// <summary>
/// 货款总额
/// </summary>
public decimal ProductAmount { get; set; }
/// <summary>
/// 运费总额
/// </summary>
public decimal FreightAmount { get; set; }
/// <summary>
/// 采购单简单明细列表
/// </summary>
public IList<OnlinePurchaseOrderSkuSimpleResponse> ItemList { get; set; }
}
/// <summary>
/// 采购单简单明细
/// </summary>
public class OnlinePurchaseOrderSkuSimpleResponse
{
public string ProductId { get; set; }
public string SkuId { get; set; }
public string SpecId { get; set; }
/// <summary>
/// 货款金额
/// </summary>
public decimal ProductAmount { get; set; }
/// <summary>
/// 单价
/// </summary>
public decimal Price { get; set; }
public decimal Quantity { get; set; }
}
}

25
BBWY.Server.Model/Dto/Response/PurchaseOrder/OnlinePurchase/OrderAmountResponse.cs

@ -1,25 +0,0 @@
namespace BBWY.Server.Model.Dto
{
public class OrderAmountResponse
{
/// <summary>
/// 采购单号
/// </summary>
public string PurchaseOrderId { get; set; }
/// <summary>
/// 订单总额
/// </summary>
public decimal TotalAmount { get; set; }
/// <summary>
/// 货款总额
/// </summary>
public decimal ProductAmount { get; set; }
/// <summary>
/// 运费总额
/// </summary>
public decimal FreightAmount { get; set; }
}
}
Loading…
Cancel
Save