Browse Source

新增打印模板

qianyi
连坤 林 2 years ago
parent
commit
8ca592cc4a
  1. 71
      BBWY.Client/ViewModels/Order/OrderListViewModel.cs
  2. 4
      BBWY.Client/ViewModels/ServiceOrder/EditServiceOrderViewModel.cs
  3. 8
      BBWY.Client/ViewModels/Setting/ShopSettingViewModel.cs
  4. 2
      BBWY.Client/Views/MainWindow.xaml
  5. 4
      BBWY.Client/Views/Order/OrderList.xaml
  6. 17
      BBWY.Client/Views/ServiceOrder/EditServiceOrder.xaml
  7. 68
      BBWY.Client/Views/Setting/ShopSetting.xaml
  8. 20
      BBWY.Server.API/Controllers/OrderSyncController.cs
  9. 3
      BBWY.Server.Business/BillCorrection/BillCorrectionBusiness.cs
  10. 19
      BBWY.Server.Business/Extensions/OrderCostExtension.cs
  11. 4
      BBWY.Server.Business/Order/OrderBusiness.cs
  12. 1
      BBWY.Server.Business/ServiceOrder/ServiceOrderBusiness.cs
  13. 80
      BBWY.Server.Business/Sync/OrderSkuSaleDetailSyncBusiness.cs
  14. 253
      BBWY.Server.Business/Sync/OrderSyncBusiness.cs
  15. 34
      BBWY.Server.Model/Db/Order/GiftOrder.cs
  16. 36
      BBWY.Server.Model/Db/Order/GiftOrderSku.cs
  17. 6
      BBWY.Server.Model/Db/Order/Order.cs
  18. 18
      BBWY.Test/Program.cs
  19. 2
      JD.API/Controllers/PlatformSDKController.cs

71
BBWY.Client/ViewModels/Order/OrderListViewModel.cs

@ -44,7 +44,7 @@ namespace BBWY.Client.ViewModels
private bool onlyDF;
private bool excludeSD;
private bool excludeCanceled;
private bool onlyUnhandle;
//private bool onlyUnhandle;
private Random random;
public GlobalContext globalContext { get; set; }
//private bool? includeAfterOrder;
@ -93,10 +93,7 @@ namespace BBWY.Client.ViewModels
//public bool? IncludeAfterOrder { get => includeAfterOrder; set { Set(ref includeAfterOrder, value); } }
public string SearchServiceId { get => searchServiceId; set { Set(ref searchServiceId, value); } }
/// <summary>
/// 仅显示未处理
/// </summary>
public bool OnlyUnhandle { get => onlyUnhandle; set { Set(ref onlyUnhandle, value); } }
//public bool OnlyUnhandle { get => onlyUnhandle; set { Set(ref onlyUnhandle, value); } }
public ToDayOrderAchievement ToDayOrderAchievement { get; set; }
@ -450,39 +447,39 @@ namespace BBWY.Client.ViewModels
IsLoading = false;
}
private void LoadAfterSaleOrder(int pageIndex)
{
IsLoading = true;
Thread.Sleep(random.Next(0, 1000));
var response = afterOrderService.GetAfterSaleOrderList(globalContext.User.Shop.ShopId,
SearchOrderId,
StartDate,
EndDate,
SearchProductId,
SearchSku,
SearchServiceId,
OnlyUnhandle,
pageIndex,
pageSize);
if (!response.Success)
{
IsLoading = false;
App.Current.Dispatcher.Invoke(() => MessageBox.Show(response.Msg, "提示"));
return;
}
//private void LoadAfterSaleOrder(int pageIndex)
//{
// IsLoading = true;
// Thread.Sleep(random.Next(0, 1000));
// var response = afterOrderService.GetAfterSaleOrderList(globalContext.User.Shop.ShopId,
// SearchOrderId,
// StartDate,
// EndDate,
// SearchProductId,
// SearchSku,
// SearchServiceId,
// OnlyUnhandle,
// pageIndex,
// pageSize);
// if (!response.Success)
// {
// IsLoading = false;
// App.Current.Dispatcher.Invoke(() => MessageBox.Show(response.Msg, "提示"));
// return;
// }
OrderCount = response.Data.Count;
var afterOrderList = response.Data.Items.Map<IList<AfterSaleOrder>>();
App.Current.Dispatcher.Invoke(() =>
{
AfterSaleOrderList.Clear();
foreach (var aso in afterOrderList)
AfterSaleOrderList.Add(aso);
Messenger.Default.Send(string.Empty, "AfterSaleOrderList_ScrollToTop");
});
IsLoading = false;
}
// OrderCount = response.Data.Count;
// var afterOrderList = response.Data.Items.Map<IList<AfterSaleOrder>>();
// App.Current.Dispatcher.Invoke(() =>
// {
// AfterSaleOrderList.Clear();
// foreach (var aso in afterOrderList)
// AfterSaleOrderList.Add(aso);
// Messenger.Default.Send(string.Empty, "AfterSaleOrderList_ScrollToTop");
// });
// IsLoading = false;
//}
private void LoadTodayAchievement(DateTime startTime, DateTime endTime, long shopId)
{

4
BBWY.Client/ViewModels/ServiceOrder/EditServiceOrderViewModel.cs

@ -2,6 +2,7 @@
using BBWY.Client.Models;
using GalaSoft.MvvmLight.Command;
using HandyControl.Controls;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Windows.Input;
@ -29,7 +30,7 @@ namespace BBWY.Client.ViewModels
private decimal? reissueProductAmount;
private bool isLoading;
public IList<StorageType> RenewalTypeList { get; set; }
public ServiceResult? ServiceResult { get => serviceResult; set { Set(ref serviceResult, value); } }
public decimal? SDRefundFreight { get => sdRefundFreight; set { Set(ref sdRefundFreight, value); } }
public ReturnDirection? ReturnDirection { get => returnDirection; set { Set(ref returnDirection, value); } }
@ -63,6 +64,7 @@ namespace BBWY.Client.ViewModels
{
this.serviceOrderService = serviceOrderService;
SaveCommand = new RelayCommand(Save);
RenewalTypeList = new List<StorageType>() { StorageType., StorageType. };
}
public void SetData(ServiceOrder serviceOrder)

8
BBWY.Client/ViewModels/Setting/ShopSettingViewModel.cs

@ -147,6 +147,14 @@ namespace BBWY.Client.ViewModels
MessageBox.Show("店铺密码验证未通过", "保存店铺设置");
return;
}
if (PurchaseAccount.PurchasePlatformId == Platform.)
{
PurchaseAccount.AppKey = "BBWY2023022001";
PurchaseAccount.AppSecret = "908e131365d5448ca651ba20ed7ddefe";
PurchaseAccount.AppToken = PurchaseAccount.AccountName;
}
if (string.IsNullOrEmpty(PurchaseAccount.AppKey) ||
string.IsNullOrEmpty(PurchaseAccount.AppSecret) ||
string.IsNullOrEmpty(PurchaseAccount.AppToken) ||

2
BBWY.Client/Views/MainWindow.xaml

@ -26,7 +26,7 @@
<!--<TextBlock Text="{Binding GlobalContext.User.TeamName}" Margin="5,0,0,0"/>
<TextBlock Text="{Binding GlobalContext.User.Shop.Platform}" Margin="5,0,0,0"/>-->
<TextBlock Text="{Binding GlobalContext.User.Shop.ShopName}" Margin="5,0,0,0"/>
<TextBlock Text="v10086" Margin="5,0,0,0"/>
<TextBlock Text="v10087" Margin="5,0,0,0"/>
</StackPanel>
</Border>
<Grid Grid.Row="1">

4
BBWY.Client/Views/Order/OrderList.xaml

@ -398,11 +398,11 @@
</StackPanel>
</Border>
<Border Grid.Row="4" Background="{StaticResource Border.Background}">
<!--<Border Grid.Row="4" Background="{StaticResource Border.Background}">
<StackPanel Orientation="Horizontal">
<CheckBox Content="仅显示未处理" Margin="5,0,0,0" IsChecked="{Binding OnlyUnhandle}"/>
</StackPanel>
</Border>
</Border>-->
<!--Visibility="{Binding IncludeAfterOrder,Converter={StaticResource objConverter},ConverterParameter=true:Collapsed:Visible}"-->

17
BBWY.Client/Views/ServiceOrder/EditServiceOrder.xaml

@ -23,11 +23,6 @@
<x:Type TypeName="clientModel:ReturnDirection"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
<ObjectDataProvider x:Key="storageTypeProvider" MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="clientModel:StorageType"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
<ObjectDataProvider x:Key="platformProvider" MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="clientModel:Platform"/>
@ -114,7 +109,7 @@
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="换新方式:" VerticalAlignment="Center" HorizontalAlignment="Right"/>
<ComboBox ItemsSource="{Binding Source={StaticResource storageTypeProvider}}"
<ComboBox ItemsSource="{Binding RenewalTypeList}"
SelectedItem="{Binding RenewalType,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
Grid.Column="1"
HorizontalAlignment="Left"
@ -122,8 +117,14 @@
Width="160"
Margin="5,0,0,0"/>
</Grid>
<Grid Height="25" Margin="0,5,0,0"
Visibility="{Binding ServiceResult,ConverterParameter=线下换新:Visible:Collapsed,Converter={StaticResource objConverter}}">
<Grid Height="25" Margin="0,5,0,0">
<Grid.Visibility>
<MultiBinding Converter="{StaticResource mobjConverter}"
ConverterParameter="线下换新;代发:&amp;:Visible:Collapsed:1">
<Binding Path="ServiceResult"/>
<Binding Path="RenewalType"/>
</MultiBinding>
</Grid.Visibility>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition/>

68
BBWY.Client/Views/Setting/ShopSetting.xaml

@ -88,45 +88,63 @@
Foreground="{Binding PanelIndex,Converter={StaticResource objConverter},ConverterParameter=2:White:#4A4A4A}"/>
</StackPanel>
<Grid Grid.Row="2" Margin="20,0" Visibility="{Binding PanelIndex,Converter={StaticResource objConverter},ConverterParameter=0:Visible:Collapsed}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="80"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition Height="40"/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Text="采购平台" Style="{StaticResource textblockPropertyStyle}"/>
<ComboBox ItemsSource="{Binding Source={StaticResource PlatformProvider}}" Grid.Column="1"
<StackPanel Grid.Row="2" Margin="20,0" Visibility="{Binding PanelIndex,Converter={StaticResource objConverter},ConverterParameter=0:Visible:Collapsed}">
<Grid Margin="0,10,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="采购平台" Style="{StaticResource textblockPropertyStyle}"/>
<ComboBox ItemsSource="{Binding Source={StaticResource PlatformProvider}}" Grid.Column="1"
SelectedItem="{Binding PurchasePlatform,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
DisplayMemberPath="."
Height="25"
Width="150"
HorizontalAlignment="Left"
VerticalContentAlignment="Center"/>
</Grid>
<TextBlock Text="账号名称" Style="{StaticResource textblockPropertyStyle}" Grid.Row="1"/>
<c:BTextBox Grid.Column="1" Style="{StaticResource textboxValueStyle}" Grid.Row="1"
<Grid Margin="0,10,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding PurchasePlatform,ConverterParameter=拳探:用户账号:账号名称,Converter={StaticResource objConverter}}" Style="{StaticResource textblockPropertyStyle}" Grid.Row="1"/>
<c:BTextBox Grid.Column="1" Style="{StaticResource textboxValueStyle}" Grid.Row="1"
Text="{Binding PurchaseAccount.AccountName,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
</Grid>
<TextBlock Text="AppKey" Style="{StaticResource textblockPropertyStyle}" Grid.Row="2"/>
<c:BTextBox Grid.Column="1" Grid.Row="2"
<Grid Margin="0,10,0,0"
Visibility="{Binding PurchasePlatform,ConverterParameter=拳探:Collapsed:Visible,Converter={StaticResource objConverter}}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="AppKey" Style="{StaticResource textblockPropertyStyle}" Grid.Row="2"/>
<c:BTextBox Grid.Column="1" Grid.Row="2"
Text="{Binding PurchaseAccount.AppKey,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
</Grid>
<TextBlock Text="AppSecret" Style="{StaticResource textblockPropertyStyle}" Grid.Row="3"/>
<c:BTextBox Grid.Column="1" Grid.Row="3"
<Grid Margin="0,10,0,0" Visibility="{Binding PurchasePlatform,ConverterParameter=拳探:Collapsed:Visible,Converter={StaticResource objConverter}}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="AppSecret" Style="{StaticResource textblockPropertyStyle}" Grid.Row="3"/>
<c:BTextBox Grid.Column="1" Grid.Row="3"
Text="{Binding PurchaseAccount.AppSecret,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
</Grid>
<TextBlock Text="AppToken" Style="{StaticResource textblockPropertyStyle}" Grid.Row="4"/>
<c:BTextBox Grid.Column="1" Grid.Row="4"
<Grid Margin="0,10,0,0" Visibility="{Binding PurchasePlatform,ConverterParameter=拳探:Collapsed:Visible,Converter={StaticResource objConverter}}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Text="AppToken" Style="{StaticResource textblockPropertyStyle}" Grid.Row="4"/>
<c:BTextBox Grid.Column="1" Grid.Row="4"
Text="{Binding PurchaseAccount.AppToken,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
</Grid>
</Grid>
</StackPanel>
<Grid Grid.Row="2" Margin="20,0" Visibility="{Binding PanelIndex,Converter={StaticResource objConverter},ConverterParameter=1:Visible:Collapsed}">
<Grid.RowDefinitions>

20
BBWY.Server.API/Controllers/OrderSyncController.cs

@ -47,6 +47,16 @@ namespace BBWY.Server.API.Controllers
orderSyncBusiness.ManualSyncOrder(shopId, orderIds, null, null);
}
/// <summary>
/// 订单批量删除
/// </summary>
/// <param name="shopId"></param>
/// <param name="orderIds"></param>
[HttpPost("{shopId}")]
public void OrderDelete([FromRoute]long shopId, [FromBody]IList<string> orderIds)
{
orderSyncBusiness.OrderDelete(shopId, orderIds);
}
/// <summary>
/// 根据日期同步
@ -85,5 +95,15 @@ namespace BBWY.Server.API.Controllers
{
orderSyncBusiness.CheckJDPauseOrder(shopId);
}
/// <summary>
/// 删除过期的待付款订单
/// </summary>
[HttpPost]
public void DeleteTimeOutWaitPayOrder()
{
orderSyncBusiness.DeleteTimeOutWaitPayOrder();
}
}
}

3
BBWY.Server.Business/BillCorrection/BillCorrectionBusiness.cs

@ -21,6 +21,7 @@ namespace BBWY.Server.Business
request.EndTime = request.EndTime.Date.AddDays(1).AddSeconds(-1);
var orderList = fsql.Select<Order>()
.Where(o => request.ShopIds.Contains(o.ShopId) && o.StartTime >= request.StartTime && o.StartTime <= request.EndTime)
.Where(o => o.IsGift == false)
.OrderBy(o => o.StartTime)
.ToList(o => new BillCorrectionOrderResponse
{
@ -113,7 +114,7 @@ namespace BBWY.Server.Business
var currentOrderAfterOrderList = afterOrderList.Where(aso => aso.OrderId == billCorrectionRequest.OrderId).ToList();
orderCost.DeliveryExpressFreight = billCorrectionRequest.NewDeliveryExpressFreight;
if (order.StorageType != Model.Enums.StorageType.SD)
{
orderCost.CalculationOrderProfitAndCost(order, currentOrderAfterOrderList);

19
BBWY.Server.Business/Extensions/OrderCostExtension.cs

@ -25,6 +25,25 @@ namespace BBWY.Server.Business.Extensions
orderCost.RefundPurchaseAmount;
}
public static void CalculationOrderProfitAndCost(this OrderCost orderCost, decimal orderSellerPrice,decimal freightPrice, IList<AfterSaleOrder> afterSaleOrders)
{
orderCost.AfterTotalCost = afterSaleOrders == null || afterSaleOrders.Count == 0 ? 0M : afterSaleOrders.Sum(aso => aso.AfterTotalCost);
orderCost.RefundAmount = afterSaleOrders == null || afterSaleOrders.Count == 0 ? 0M : afterSaleOrders.Sum(aso => aso.RefundAmount ?? 0M);
orderCost.RefundPurchaseAmount = afterSaleOrders == null || afterSaleOrders.Count == 0M ? 0M : afterSaleOrders.Sum(aso => aso.RefundPurchaseAmount ?? 0);
//退款之后平台扣点
orderCost.PlatformCommissionAmount = (orderSellerPrice - orderCost.RefundAmount) * (orderCost.PlatformCommissionRatio);
orderCost.Profit = orderSellerPrice + freightPrice - orderCost.RefundAmount -
orderCost.PurchaseAmount -
orderCost.DeliveryExpressFreight -
orderCost.PlatformCommissionAmount -
orderCost.AfterTotalCost +
orderCost.RefundPurchaseAmount;
}
public static void CalculationSDOrderProfitAndCost(this OrderCost orderCost, Order order, IList<AfterSaleOrder> afterSaleOrders)
{
orderCost.AfterTotalCost = afterSaleOrders == null || afterSaleOrders.Count == 0 ? 0M : afterSaleOrders.Sum(aso => aso.AfterTotalCost);

4
BBWY.Server.Business/Order/OrderBusiness.cs

@ -86,7 +86,8 @@ namespace BBWY.Server.Business
}
select = select.WhereIf(searchOrderRequest.ShopId != null, (o, ocs, oct, sh) => o.ShopId == searchOrderRequest.ShopId)
.WhereIf(!string.IsNullOrEmpty(searchOrderRequest.SDOperator), (o, ocs, oct, sh) => o.SDOperator == searchOrderRequest.SDOperator);
.WhereIf(!string.IsNullOrEmpty(searchOrderRequest.SDOperator), (o, ocs, oct, sh) => o.SDOperator == searchOrderRequest.SDOperator)
.Where((o, ocs, oct, sh) => o.IsGift == false);
//select = select.Where((o, ocs, oct) => o.ShopId == searchOrderRequest.ShopId);
@ -276,6 +277,7 @@ namespace BBWY.Server.Business
select = select.WhereIf(searchOrderRequest.ShopId != null, (o, ocs, oct) => o.ShopId == searchOrderRequest.ShopId)
.WhereIf(!string.IsNullOrEmpty(searchOrderRequest.SDOperator), (o, ocs, oct) => o.SDOperator == searchOrderRequest.SDOperator)
.Where((o, ocs, oct) => o.IsGift == false)
.OrderByDescending((o, ocs, oct) => o.StartTime);
var orderSourceList = select.ToList((o, ocs, oct) => new ExportOrderResponse()

1
BBWY.Server.Business/ServiceOrder/ServiceOrderBusiness.cs

@ -26,6 +26,7 @@ namespace BBWY.Server.Business
.WhereIf(!string.IsNullOrEmpty(request.OrderId), (s, o, osku) => s.OrderId == request.OrderId)
.WhereIf(!string.IsNullOrEmpty(request.ServiceId), (s, o, osku) => s.ServiceId == request.ServiceId)
.WhereIf(request.ServiceOrderState != null, (s, o, osku) => s.Status == request.ServiceOrderState)
.WhereIf(request.ServiceOrderState == null, (s, o, osku) => s.Status != Model.Enums.ServiceOrderState.)
.WhereIf(request.ReturnDirection != null, (s, o, osku) => s.ReturnDirection == request.ReturnDirection)
.WhereIf(request.StartDate != null, (s, o, osku) => s.ApplyTime >= request.StartDate)
.WhereIf(request.EndDate != null, (s, o, osku) => s.ApplyTime <= request.EndDate)

80
BBWY.Server.Business/Sync/OrderSkuSaleDetailSyncBusiness.cs

@ -88,59 +88,6 @@ namespace BBWY.Server.Business
CancelItemTotal = (int)g.Sum(g.Value.Item1.ItemTotal)
});
var giftOskuGroups = fsql.Select<GiftOrderSku, GiftOrder>()
.InnerJoin((gos, go) => gos.GiftOrderId == go.Id)
.WhereIf(shopId != null, (gos, go) => go.ShopId == shopId)
.Where((gos, go) => go.StartTime >= startDate && go.StartTime <= endTime)
//.Where((gos, go) => go.OrderState != Model.Enums.OrderState.已取消)
.GroupBy((gos, go) => new
{
go.Platform,
go.ShopId,
gos.ProductId,
gos.SkuId,
gos.Price,
go.StartTime.Value.Date
})
.ToList(g => new SkuDailySalesDetail
{
Platform = g.Key.Platform,
ShopId = g.Key.ShopId,
Spu = g.Key.ProductId,
Sku = g.Key.SkuId,
Date = g.Key.Date,
Price = g.Key.Price,
Amount = g.Sum(g.Value.Item1.Price * g.Value.Item1.ItemTotal),
ItemTotal = (int)g.Sum(g.Value.Item1.ItemTotal)
});
var cancelGiftOskuGroups = fsql.Select<GiftOrderSku, GiftOrder>()
.InnerJoin((gos, go) => gos.GiftOrderId == go.Id)
.WhereIf(shopId != null, (gos, go) => go.ShopId == shopId)
.Where((gos, go) => go.ModifyTime >= startDate && go.ModifyTime <= endTime)
.Where((gos, go) => go.OrderState == Model.Enums.OrderState.)
.GroupBy((gos, go) => new
{
go.Platform,
go.ShopId,
gos.ProductId,
gos.SkuId,
gos.Price,
go.ModifyTime.Value.Date
})
.ToList(g => new SkuDailySalesDetail
{
Platform = g.Key.Platform,
ShopId = g.Key.ShopId,
Spu = g.Key.ProductId,
Sku = g.Key.SkuId,
Date = g.Key.Date,
Price = g.Key.Price,
Amount = 0,
ItemTotal = 0,
CancelItemTotal = (int)g.Sum(g.Value.Item1.ItemTotal)
});
insertSkuDailySalesDetailList.AddRange(oskuGroups);
foreach (var canceloSkuGroup in cancelOskuGroups)
@ -154,33 +101,6 @@ namespace BBWY.Server.Business
insertSkuDailySalesDetailList.Add(canceloSkuGroup);
}
foreach (var giftOskuGroup in giftOskuGroups)
{
var skuDaily = insertSkuDailySalesDetailList.FirstOrDefault(s => s.ShopId == giftOskuGroup.ShopId &&
s.Date == giftOskuGroup.Date &&
s.Sku == giftOskuGroup.Sku);
if (skuDaily != null)
{
skuDaily.ItemTotal += giftOskuGroup.ItemTotal;
skuDaily.Amount += giftOskuGroup.Amount;
}
else
insertSkuDailySalesDetailList.Add(giftOskuGroup);
}
foreach (var cancelGiftOskuGroup in cancelGiftOskuGroups)
{
var skuDaily = insertSkuDailySalesDetailList.FirstOrDefault(s => s.ShopId == cancelGiftOskuGroup.ShopId &&
s.Date == cancelGiftOskuGroup.Date &&
s.Sku == cancelGiftOskuGroup.Sku);
if (skuDaily != null)
skuDaily.CancelItemTotal = cancelGiftOskuGroup.CancelItemTotal;
else
insertSkuDailySalesDetailList.Add(cancelGiftOskuGroup);
}
if (insertSkuDailySalesDetailList.Count() > 0)
{
var noSpuSkuIds = insertSkuDailySalesDetailList.Where(s => string.IsNullOrEmpty(s.Spu)).Select(s => s.Sku).Distinct().ToList();

253
BBWY.Server.Business/Sync/OrderSyncBusiness.cs

@ -16,6 +16,7 @@ using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Security.Cryptography;
using System.Threading;
using System.Threading.Tasks;
using Yitter.IdGenerator;
@ -28,6 +29,8 @@ namespace BBWY.Server.Business
private IMemoryCache memoryCache;
private IList<string> validOrderState;
public OrderSyncBusiness(RestApiService restApiService,
IOptions<GlobalConfig> options,
@ -51,6 +54,10 @@ namespace BBWY.Server.Business
{
{ Enums.Platform., SyncJDOrder }
};
this.validOrderState = new List<string>()
{
"WAIT_SELLER_STOCK_OUT","WAIT_GOODS_RECEIVE_CONFIRM","FINISHED_L","LOCKED","TRADE_CANCELED","POP_ORDER_PAUSE","PAUSE"
};
}
/// <summary>
/// 手动同步订单
@ -125,6 +132,16 @@ namespace BBWY.Server.Business
if (orderListResponse.Data == null || orderListResponse.Data.Count == 0)
return;
if (shopId == 10388155)
{
try
{
nLogManager.GetLogger($"订单同步-{shop.ShopName}").Info(orderListApiResult.Content);
}
catch { }
}
syncOrderMethodDic[shop.PlatformId](orderListResponse.Data, shopId, relayAPIHost, shop.AppKey, shop.AppSecret, shop.AppToken, shop.PlatformCommissionRatio ?? 0.05M);
}
catch (Exception ex)
@ -192,10 +209,9 @@ namespace BBWY.Server.Business
private void SyncJDOrder(JArray orderTokenJArray, long shopId, string relayAPIHost, string appKey, string appSecret, string appToken, decimal platformCommissionRatio)
{
//if (shopId == 10388155)
//{
// nLogManager.GetLogger("订单同步-布莱特玩具专营店").Info(JsonConvert.SerializeObject(orderTokenJArray));
//}
var validOrders = orderTokenJArray.Where(o => validOrderState.Contains(o.Value<string>("orderState")));
if (validOrders.Count() == 0)
return;
#region 数据库操作
List<Order> insertOrderList = new List<Order>();
@ -205,97 +221,34 @@ namespace BBWY.Server.Business
List<OrderSku> insertOrderSkuList = new List<OrderSku>();
List<OrderCoupon> insertOrderCouponList = new List<OrderCoupon>();
List<GiftOrder> insertGiftOrderList = new List<GiftOrder>();
List<GiftOrderSku> insertGiftOrderSkuList = new List<GiftOrderSku>();
IList<IUpdate<GiftOrder>> updateGiftOrderList = new List<IUpdate<GiftOrder>>();
IList<IUpdate<Order>> updateOrderList = new List<IUpdate<Order>>();
IList<IUpdate<PurchaseOrder>> updatePurchaseOrderList = new List<IUpdate<PurchaseOrder>>();
#endregion
#region 赠品
var giftOrderJArray = orderTokenJArray.Where(o => o.Value<decimal>("orderTotalPrice") == 0M);
if (giftOrderJArray.Count() > 0)
{
var giftOrderIds = giftOrderJArray.Select(orderJToken => orderJToken.Value<string>("orderId")).ToArray();
var dbGiftOrderList = fsql.Select<GiftOrder>(giftOrderIds).ToList();
var dbGiftOrderIds = dbGiftOrderList.Select(go => go.Id).ToList();
var exceptIds = giftOrderIds.Except(dbGiftOrderIds);
if (exceptIds.Count() > 0)
{
var newGiftOrderJArray = giftOrderJArray.Where(o => exceptIds.Contains(o.Value<string>("orderId")));
foreach (var orderJToken in newGiftOrderJArray)
{
var orderState = ConvertOrderState(orderJToken);
if (orderState == Enums.OrderState. || orderState == Enums.OrderState.)
continue;
var orderStartTime = orderJToken.Value<DateTime>("orderStartTime");
var modifyTime = orderJToken.Value<DateTime?>("modified");
insertGiftOrderList.Add(new GiftOrder()
{
Id = orderJToken.Value<string>("orderId"),
CreateTime = DateTime.Now,
Platform = Enums.Platform.,
ShopId = shopId,
StartTime = orderStartTime,
ModifyTime = modifyTime,
OrderState = orderState
});
var itemInfoList = orderJToken["itemInfoList"] as JArray;
foreach (var orderSkuJToken in itemInfoList)
{
var itemTotal = orderSkuJToken.Value<int>("itemTotal");
var jdPrice = orderSkuJToken.Value<decimal>("jdPrice");
var wareId = orderSkuJToken.Value<string>("wareId");
var skuId = orderSkuJToken.Value<string>("skuId");
insertGiftOrderSkuList.Add(new GiftOrderSku()
{
Id = idGenerator.NewLong(),
CreateTime = DateTime.Now,
GiftOrderId = orderJToken.Value<string>("orderId"),
ItemTotal = itemTotal,
Price = jdPrice,
ProductId = wareId,
ShopId = shopId,
SkuId = skuId
});
}
}
}
var intersectIds = giftOrderIds.Intersect(dbGiftOrderIds);
if (intersectIds.Count() > 0)
{
foreach (var intersercId in intersectIds)
{
var orderJToken = giftOrderJArray.FirstOrDefault(o => o.Value<string>("orderId") == intersercId);
var dbGiftOrder = dbGiftOrderList.FirstOrDefault(o => o.Id == intersercId);
var orderState = ConvertOrderState(orderJToken);
if (orderState != null && orderState != dbGiftOrder.OrderState)
{
var modifyTime = orderJToken.Value<DateTime?>("modified");
var update = fsql.Update<GiftOrder>(intersercId).Set(go => go.OrderState, orderState)
.Set(go => go.ModifyTime, modifyTime);
updateGiftOrderList.Add(update);
}
}
}
}
#endregion
var noGiftOrderList = orderTokenJArray.Where(o => o.Value<decimal>("orderTotalPrice") != 0M);
var interfaceOrderIdList = validOrders.Select(orderJToken => orderJToken.Value<string>("orderId"));
var interfaceCanceledOrderIdList = validOrders.Where(orderJToken => orderJToken.Value<string>("orderState").Equals("TRADE_CANCELED"))
.Select(orderJToken => orderJToken.Value<string>("orderId")); //接口查询结果中取消状态的订单Id
var interfaceOrderIdList = noGiftOrderList.Select(orderJToken => orderJToken.Value<string>("orderId"));
var interfaceCanceledOrderIdList = noGiftOrderList.Where(orderJToken => orderJToken.Value<string>("orderState").Equals("TRADE_CANCELED"))
.Select(orderJToken => orderJToken.Value<string>("orderId")); //接口查询结果中取消状态的订单Id
var dbOrderList = fsql.Select<Order>().Where(o => interfaceOrderIdList.Contains(o.Id)).ToList(o => new Order()
var dbOrderList = fsql.Select<Order>().Where(o => interfaceOrderIdList.Contains(o.Id)).ToList(o => new Order
{
Id = o.Id,
OrderState = o.OrderState,
StorageType = o.StorageType
StorageType = o.StorageType,
BuyerRemark = o.BuyerRemark,
VenderRemark = o.VenderRemark,
ModifyTime = o.ModifyTime,
EndTime = o.EndTime,
WaybillNo = o.WaybillNo,
FreightPrice = o.FreightPrice,
OrderPayment = o.OrderPayment,
SellerPreferentialAmount = o.SellerPreferentialAmount,
OrderSellerPrice = o.OrderSellerPrice,
OrderTotalPrice = o.OrderTotalPrice,
StoreOrder = o.StoreOrder,
PreferentialAmount = o.PreferentialAmount,
StoreId = o.StoreId
}); //数据库订单
var dbOrderConsigneeList = fsql.Select<OrderConsignee>().Where(oc => interfaceOrderIdList.Contains(oc.OrderId)).ToList(); //数据库订单收货信息
var dbOrderCostList = fsql.Select<OrderCost>().Where(oc => interfaceOrderIdList.Contains(oc.OrderId)).ToList(); //数据库订单成本信息
@ -309,7 +262,7 @@ namespace BBWY.Server.Business
}
var orderSkuIds = new List<string>();
foreach (var orderJToken in noGiftOrderList)
foreach (var orderJToken in validOrders)
{
var itemInfoList = orderJToken["itemInfoList"].Where(skuJToken => skuJToken.Value<decimal>("jdPrice") != 0M);
foreach (var josku in itemInfoList)
@ -319,13 +272,13 @@ namespace BBWY.Server.Business
orderSkuIds.Add(skuId);
}
}
var dbPurchaseOrderList = fsql.Select<PurchaseOrder>().Where(po => po.RemainingQuantity != 0 && orderSkuIds.Contains(po.SkuId)).ToList(); //数据库采购单
var dbPurchaseOrderList = fsql.Select<PurchaseOrder>().Where(po => po.ShopId == shopId && po.RemainingQuantity != 0 && orderSkuIds.Contains(po.SkuId)).ToList(); //数据库采购单
orderSkuIds.Clear();
foreach (var orderJToken in noGiftOrderList)
foreach (var orderJToken in validOrders)
{
var orderId = orderJToken.Value<string>("orderId");
if (insertOrderList.Count(o => o.Id == orderId) > 0)
if (insertOrderList.Any(o => o.Id == orderId))
continue;
var dbOrder = dbOrderList.FirstOrDefault(o => o.Id == orderId);
var isNewOrder = dbOrder == null;
@ -337,6 +290,15 @@ namespace BBWY.Server.Business
var modifyTime = orderJToken.Value<DateTime?>("modified");
var endTime = orderJToken.Value<DateTime?>("orderEndTime");
var waybillNo = orderJToken.Value<string>("waybill");
var freightPrice = orderJToken.Value<decimal>("freightPrice");
var orderPayment = orderJToken.Value<decimal>("orderPayment");
var sellerPreferentialAmount = orderJToken.Value<decimal>("sellerDiscount");
var orderSellerPrice = orderJToken.Value<decimal>("orderSellerPrice");
var orderTotalPrice = orderJToken.Value<decimal>("orderTotalPrice");
var storeOrder = orderJToken.Value<string>("storeOrder") ?? string.Empty;
var storeId = orderJToken.Value<string>("storeId");
var storageType = ConvertStoreOrder(storeOrder);
var preferentialAmount = 0M;
if (dbOrder == null)
{
dbOrder = new Order()
@ -344,21 +306,23 @@ namespace BBWY.Server.Business
Id = orderId,
BuyerRemark = buyerRemark,
VenderRemark = venderRemark,
FreightPrice = orderJToken.Value<decimal>("freightPrice"),
FreightPrice = freightPrice,
EndTime = endTime,
StartTime = orderJToken.Value<DateTime>("orderStartTime"),
ModifyTime = modifyTime,
OrderPayment = orderJToken.Value<decimal>("orderPayment"),
SellerPreferentialAmount = orderJToken.Value<decimal>("sellerDiscount"),
OrderSellerPrice = orderJToken.Value<decimal>("orderSellerPrice"),
OrderTotalPrice = orderJToken.Value<decimal>("orderTotalPrice"),
OrderPayment = orderPayment,
SellerPreferentialAmount = sellerPreferentialAmount,
OrderSellerPrice = orderSellerPrice,
OrderTotalPrice = orderTotalPrice,
OrderType = (Enums.OrderType)orderJToken.Value<int>("orderType"),
Platform = Enums.Platform.,
ShopId = shopId,
//VenderId = orderJToken.Value<long>("venderId"),
WaybillNo = waybillNo,
StoreOrder = orderJToken.Value<string>("storeOrder") ?? string.Empty,
StoreId = orderJToken.Value<string>("storeId")
StoreOrder = storeOrder,
StoreId = storeId,
IsGift = orderTotalPrice == 0M || orderSellerPrice == 0M,
StorageType = storageType
};
if (memoryCache.TryGetValue(orderId, out sDCalculationCostRequest))
@ -374,11 +338,6 @@ namespace BBWY.Server.Business
dbOrder.SDPayChannel = sDCalculationCostRequest.SDPayChannel;
}
if (dbOrder.StoreOrder.Contains("京仓"))
dbOrder.StorageType = Enums.StorageType.;
else if (dbOrder.StoreOrder.Contains("云仓"))
dbOrder.StorageType = Enums.StorageType.;
var payType = orderJToken.Value<string>("payType");
if (payType.Contains("-"))
dbOrder.PayType = (Enums.PayType)Convert.ToInt32(payType.Substring(0, 1));
@ -415,6 +374,11 @@ namespace BBWY.Server.Business
}
#endregion
}
else
{
if (storageType != null && dbOrder.StorageType != storageType)
dbOrder.StorageType = storageType;
}
#endregion
#region 收货人信息
@ -445,7 +409,8 @@ namespace BBWY.Server.Business
var couponType = orderCouponJToken.Value<string>("couponType");
if (string.IsNullOrEmpty(couponType))
continue;
dbOrder.PreferentialAmount += orderCouponJToken.Value<decimal>("couponPrice");
//dbOrder.PreferentialAmount += orderCouponJToken.Value<decimal>("couponPrice");
preferentialAmount += orderCouponJToken.Value<decimal>("couponPrice");
insertOrderCouponList.Add(new OrderCoupon()
{
Id = idGenerator.NewLong(),
@ -492,7 +457,7 @@ namespace BBWY.Server.Business
orderState != Enums.OrderState.)
{
var orderCost = dbOrderCostList.FirstOrDefault(oc => oc.OrderId == dbOrder.Id);
if (orderCost == null)
if (orderCost == null && orderTotalPrice > 0M)
{
if (isNewOrder && dbOrder.StorageType == Enums.StorageType.SD && sDCalculationCostRequest != null)
{
@ -595,19 +560,17 @@ namespace BBWY.Server.Business
{
OrderId = orderId,
PlatformCommissionRatio = platformCommissionRatio,
PreferentialAmount = dbOrder.PreferentialAmount,
PreferentialAmount = preferentialAmount,
Profit = 0,
PurchaseAmount = orderCostPurchaseAmount,
DeliveryExpressFreight = orderDeliveryExpressFreight,
CreateTime = DateTime.Now
};
orderCost.CalculationOrderProfitAndCost(dbOrder, null);
//orderCost.PlatformCommissionAmount = dbOrder.OrderSellerPrice * orderCost.PlatformCommissionRatio;
//orderCost.Profit = dbOrder.OrderSellerPrice +
// dbOrder.FreightPrice -
// orderCost.PurchaseAmount -
// orderCost.DeliveryExpressFreight -
// orderCost.PlatformCommissionAmount;
if (dbOrder.OrderTotalPrice != 0)
orderCost.CalculationOrderProfitAndCost(dbOrder, null);
else
orderCost.CalculationOrderProfitAndCost(orderSellerPrice, freightPrice, null);
insertOrderCostList.Add(orderCost);
#endregion
}
@ -626,14 +589,32 @@ namespace BBWY.Server.Business
venderRemark != dbOrder.VenderRemark ||
modifyTime != dbOrder.ModifyTime ||
endTime != dbOrder.EndTime ||
waybillNo != dbOrder.WaybillNo)
waybillNo != dbOrder.WaybillNo ||
freightPrice != dbOrder.FreightPrice ||
orderPayment != dbOrder.OrderPayment ||
sellerPreferentialAmount != dbOrder.SellerPreferentialAmount ||
orderSellerPrice != dbOrder.OrderSellerPrice ||
orderTotalPrice != dbOrder.OrderTotalPrice ||
storeOrder != dbOrder.StoreOrder ||
preferentialAmount != dbOrder.PreferentialAmount ||
storeId != dbOrder.StoreId)
{
var updateSql = fsql.Update<Order>(orderId).SetIf(orderState != null && orderState != dbOrder.OrderState, o => o.OrderState, orderState)
.SetIf(buyerRemark != dbOrder.BuyerRemark, o => o.BuyerRemark, buyerRemark)
.SetIf(venderRemark != dbOrder.VenderRemark, o => o.VenderRemark, venderRemark)
.SetIf(modifyTime != dbOrder.ModifyTime, o => o.ModifyTime, modifyTime)
.SetIf(endTime != dbOrder.EndTime, o => o.EndTime, modifyTime)
.SetIf(waybillNo != dbOrder.WaybillNo, o => o.WaybillNo, waybillNo);
.SetIf(waybillNo != dbOrder.WaybillNo, o => o.WaybillNo, waybillNo)
.SetIf(freightPrice != dbOrder.FreightPrice, o => o.FreightPrice, freightPrice)
.SetIf(orderPayment != dbOrder.OrderPayment, o => o.OrderPayment, orderPayment)
.SetIf(sellerPreferentialAmount != dbOrder.SellerPreferentialAmount, o => o.SellerPreferentialAmount, sellerPreferentialAmount)
.SetIf(orderSellerPrice != dbOrder.OrderSellerPrice, o => o.OrderSellerPrice, orderSellerPrice)
.SetIf(orderTotalPrice != dbOrder.OrderTotalPrice, o => o.OrderTotalPrice, orderTotalPrice)
.SetIf(orderTotalPrice != dbOrder.OrderTotalPrice && orderTotalPrice > 0M, o => o.IsGift, false)
.SetIf(storeOrder != dbOrder.StoreOrder, o => o.StoreOrder, storeOrder)
.SetIf(storeOrder != dbOrder.StoreOrder, o => o.StorageType, storageType)
.SetIf(preferentialAmount != dbOrder.PreferentialAmount, o => o.PreferentialAmount, preferentialAmount)
.SetIf(storeId != dbOrder.StoreId, o => o.StoreId, storeId);
updateOrderList.Add(updateSql);
}
#endregion
@ -684,8 +665,6 @@ namespace BBWY.Server.Business
}
#endregion
fsql.Transaction(() =>
{
if (insertOrderList.Count() > 0)
@ -701,11 +680,6 @@ namespace BBWY.Server.Business
if (insertOrderCouponList.Count() > 0)
fsql.Insert(insertOrderCouponList).ExecuteAffrows();
if (insertGiftOrderList.Count() > 0)
fsql.Insert(insertGiftOrderList).ExecuteAffrows();
if (insertGiftOrderSkuList.Count() > 0)
fsql.Insert(insertGiftOrderSkuList).ExecuteAffrows();
if (updatePurchaseOrderList.Count() > 0)
{
foreach (var update in updatePurchaseOrderList)
@ -717,16 +691,20 @@ namespace BBWY.Server.Business
foreach (var update in updateOrderList)
update.ExecuteAffrows();
}
if (updateGiftOrderList.Count() > 0)
{
foreach (var update in updateGiftOrderList)
update.ExecuteAffrows();
}
});
}
private Enums.StorageType? ConvertStoreOrder(string storeOrder)
{
if (string.IsNullOrEmpty(storeOrder))
return null;
if (storeOrder.Contains("京仓"))
return Enums.StorageType.;
else if (storeOrder.Contains("云仓"))
return Enums.StorageType.;
return null;
}
/// <summary>
/// 同步所有店铺的订单
/// </summary>
@ -809,6 +787,20 @@ namespace BBWY.Server.Business
return orderState;
}
public void OrderDelete(long ShopId, IList<string> orderIds)
{
fsql.Transaction(() =>
{
fsql.Delete<Order>().Where(o => o.ShopId == ShopId && orderIds.Contains(o.Id)).ExecuteAffrows();
fsql.Delete<OrderSku>().Where(osku => orderIds.Contains(osku.OrderId)).ExecuteAffrows();
fsql.Delete<OrderCostDetail>().Where(ocd => orderIds.Contains(ocd.OrderId)).ExecuteAffrows();
fsql.Delete<OrderCost>().Where(oc => orderIds.Contains(oc.OrderId)).ExecuteAffrows();
fsql.Delete<OrderDropShipping>().Where(ods => orderIds.Contains(ods.OrderId)).ExecuteAffrows();
fsql.Delete<OrderConsignee>().Where(ocs => orderIds.Contains(ocs.OrderId)).ExecuteAffrows();
fsql.Delete<OrderCoupon>().Where(oc => orderIds.Contains(oc.OrderId)).ExecuteAffrows();
});
}
/// <summary>
/// 接收订单推送
/// </summary>
@ -838,7 +830,7 @@ namespace BBWY.Server.Business
#region 同步暂停订单
public void CheckJDPauseOrder(long? shopId)
{
var shopList = venderBusiness.GetShopList(shopId);
var shopList = venderBusiness.GetShopList(shopId, platform: Enums.Platform.);
var shopIds = shopList.Select(s => long.Parse(s.ShopId)).ToList();
var deleteRow = fsql.Select<WaitPayOrder>().Where(wo => shopIds.Contains(wo.ShopId.Value))
@ -869,6 +861,11 @@ namespace BBWY.Server.Business
}
}
public void DeleteTimeOutWaitPayOrder()
{
var deleteTime = DateTime.Now.AddHours(-24);
fsql.Delete<WaitPayOrder>().Where(w => w.CreateTime <= deleteTime).ExecuteAffrows();
}
#endregion
}
}

34
BBWY.Server.Model/Db/Order/GiftOrder.cs

@ -1,34 +0,0 @@
using FreeSql.DataAnnotations;
using System;
namespace BBWY.Server.Model.Db
{
[Table(Name = "giftorder", DisableSyncStructure = true)]
public partial class GiftOrder
{
[Column(StringLength = 50, IsPrimary = true, IsNullable = false)]
public string Id { get; set; }
[Column(DbType = "datetime")]
public DateTime? CreateTime { get; set; }
[Column(DbType = "datetime")]
public DateTime? ModifyTime { get; set; }
[Column(MapType = typeof(int?))]
public Enums.OrderState? OrderState { get; set; }
[Column(MapType = typeof(int))]
public Enums.Platform Platform { get; set; }
public long ShopId { get; set; }
[Column(DbType = "datetime")]
public DateTime? StartTime { get; set; }
}
}

36
BBWY.Server.Model/Db/Order/GiftOrderSku.cs

@ -1,36 +0,0 @@
using FreeSql.DataAnnotations;
using System;
namespace BBWY.Server.Model.Db
{
[Table(Name = "giftordersku", DisableSyncStructure = true)]
public partial class GiftOrderSku {
[Column(DbType = "datetime")]
public DateTime? CreateTime { get; set; }
[Column(StringLength = 50)]
public string GiftOrderId { get; set; }
public long? Id { get; set; }
public int? ItemTotal { get; set; }
[Column(DbType = "decimal(18,2)")]
public decimal? Price { get; set; }
[Column(StringLength = 50)]
public string ProductId { get; set; }
public long? ShopId { get; set; }
[Column(StringLength = 50)]
public string SkuId { get; set; }
}
}

6
BBWY.Server.Model/Db/Order/Order.cs

@ -179,6 +179,12 @@ namespace BBWY.Server.Model.Db
[Column(DbType = "bit")]
public bool IsAfterSaleOrder { get; set; } = false;
/// <summary>
/// 是否为赠品
/// </summary>
[Column(DbType = "bit")]
public bool IsGift { get; set; } = false;
#region 订单成本
/// <summary>
/// 平台扣点金额

18
BBWY.Test/Program.cs

@ -1,12 +1,7 @@
using Jd.ACES;
using Jd.Api;
using Jd.Api;
using Jd.Api.Request;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Security.Cryptography;
using System.Text;
@ -37,13 +32,14 @@ namespace BBWY.Test
var appSecret = "8a42bc2301e8439b896e99f5475e0a9b";
////0e61c4a8ec3e4df4b5836e10884db9220yth 齐盛
var token = "2ace3023200c4ea9aa682bbf8bffee18jztm"; //布莱特玩具
//var token = "2ace3023200c4ea9aa682bbf8bffee18jztm"; //布莱特玩具
//var token = "01f5be2cb4d741dda66bce2356941597mdfm"; //布莱特玩具 token2
//var token = "01dc6f6e7fc34dcd99090d690312556cmdfk"; //齐盛
//var token = "9fffa982da23446fb035499ae5622f49odjk"; //腾奇
//var token = "c22ff4d37b6c4bbd82cd9e8d0dab42dbziyz"; //森王车品
//var token = "44c19a1c1fbd4641957e6e8985ed1358jmtl"; //森王玩具
//var token = "4a0ddc095e054c7aa90adcaccb14f83cwzgr"; //可比车品
var token = "50a4c0f5c55848b5a8a715709e8d6fe0jntb"; //卿卿玩具专营店
//var dt1 = DateTime.Now;
//List<string> list = new List<string>();
@ -59,7 +55,15 @@ namespace BBWY.Test
var jdClient = GetJdClient(appkey, appSecret);
var req = new AscFreightViewRequest();
req.buId = "11926867";
req.operatePin = "开发测试";
req.operateNick = "开发测试";
req.serviceId = 1701316861;
req.orderId = 264691201058;
var res = jdClient.Execute(req,token, DateTime.Now.ToLocalTime());
Console.ReadKey();
}

2
JD.API/Controllers/PlatformSDKController.cs

@ -16,7 +16,7 @@ namespace JD.API.API.Controllers
[Produces("application/json")]
[Route("Api/[Controller]/[Action]")]
[ApiController]
[ServiceFilter(typeof(YunDingFilter))]
//[ServiceFilter(typeof(YunDingFilter))]
public class PlatformSDKController : ControllerBase
{
private IEnumerable<PlatformSDKBusiness> platformSDKBusinessList;

Loading…
Cancel
Save