Browse Source

Merge branch 'master' of http://code.qiyue666.com/pengcong001/bbwy

AddValidOverTime
506583276@qq.com 2 years ago
parent
commit
1a9d7782bd
  1. 19
      BBWY.Client/APIServices/OrderService.cs
  2. 1
      BBWY.Client/App.xaml.cs
  3. 2
      BBWY.Client/GlobalContext.cs
  4. 204
      BBWY.Client/Models/APIModel/Response/Order/OrderCouponDetailResponse.cs
  5. 42
      BBWY.Client/ViewModels/Order/OrderCouponDetailViewModel.cs
  6. 9
      BBWY.Client/ViewModels/Order/OrderListViewModel.cs
  7. 8
      BBWY.Client/ViewModels/ViewModelLocator.cs
  8. 449
      BBWY.Client/Views/Order/OrderCouponDetailWindow.xaml
  9. 18
      BBWY.Client/Views/Order/OrderCouponDetailWindow.xaml.cs
  10. 6
      BBWY.Client/Views/Order/OrderListControl.xaml
  11. 11
      BBWY.Server.API/Controllers/OrderController.cs
  12. 2
      BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs
  13. 80
      BBWY.Server.Business/Order/OrderBusiness.cs
  14. 33
      BBWY.Server.Business/PlatformSDK/JDBusiness.cs
  15. 11
      BBWY.Server.Business/PlatformSDK/PlatformSDKBusiness.cs
  16. 11
      BBWY.Server.Business/Sync/OrderSyncBusiness.cs
  17. 7
      BBWY.Server.Model/Dto/Request/JD/QueryOrderCouponDetailRequest.cs
  18. 206
      BBWY.Server.Model/Dto/Response/Order/OrderCouponDetailResponse.cs
  19. 11
      JD.API/Controllers/PlatformSDKController.cs

19
BBWY.Client/APIServices/OrderService.cs

@ -310,5 +310,24 @@ namespace BBWY.Client.APIServices
endTime = endDate
}, null, HttpMethod.Post);
}
/// <summary>
/// 获取订单优惠详情
/// </summary>
/// <param name="orderId"></param>
/// <param name="shop"></param>
/// <returns></returns>
public ApiResponse<OrderCouponDetailResponse> GetOrderCouponDetail(string orderId, Shop shop)
{
return SendRequest<OrderCouponDetailResponse>(globalContext.BBYWApiHost, "api/order/GetOrderCouponDetail", new
{
orderId,
shop.ShopId,
shop.Platform,
shop.AppKey,
shop.AppSecret,
shop.AppToken
}, null, HttpMethod.Post);
}
}
}

1
BBWY.Client/App.xaml.cs

@ -126,6 +126,7 @@ namespace BBWY.Client
serviceCollection.AddTransient<PackServiceViewModel>();
serviceCollection.AddTransient<PackDetailViewModel>();
serviceCollection.AddTransient<UpdatePurchaseTaskViewModel>();
serviceCollection.AddTransient<OrderCouponDetailViewModel>();
#region 注册拳探SDK相关类
serviceCollection.AddSingleton<QuanTanProductClient>();
#endregion

2
BBWY.Client/GlobalContext.cs

@ -13,7 +13,7 @@ namespace BBWY.Client
{
ShopServiceGroupList = new List<string>();
ShopServiceGroupLowerList = new List<string>();
ClientVersion = "10188";
ClientVersion = "10190";
}
private User user;

204
BBWY.Client/Models/APIModel/Response/Order/OrderCouponDetailResponse.cs

@ -0,0 +1,204 @@
using System.Collections.Generic;
namespace BBWY.Client.Models
{
public class OrderCouponDetailGroupItemResponse
{
/// <summary>
/// 发起方
/// </summary>
public string Initiator { get; set; }
/// <summary>
/// 优惠券或活动类型
/// </summary>
public string CouponOrPromotionType { get; set; }
/// <summary>
/// 优惠金额
/// </summary>
public decimal? PreferentialAmount { get; set; }
/// <summary>
/// 商家承担金额
/// </summary>
public decimal? UndertakenByMerchantAmount { get; set; }
/// <summary>
/// 平台承担金额
/// </summary>
public decimal? UndertakenByPlatformAmount { get; set; }
}
public class OrderCouponDetailGroupResponse
{
/// <summary>
/// 发起方
/// </summary>
public string Initiator { get; set; }
/// <summary>
/// 优惠明细集合
/// </summary>
public IList<OrderCouponDetailGroupItemResponse> ItemList { get; set; }
}
public class OrderCouponDetailResponse
{ /// <summary>
/// 合计优惠金额
/// </summary>
public decimal TotalPreferentialAmount { get; set; }
/// <summary>
/// 合计商家承担金额
/// </summary>
public decimal? TotalUndertakenByMerchantAmount { get; set; }
/// <summary>
/// 合计平台承担金额
/// </summary>
public decimal? TotalUndertakenByPlatformAmount { get; set; }
public IList<OrderCouponDetailGroupResponse> GroupList { get; set; }
/// <summary>
/// 合计单品金额
/// </summary>
public decimal? TotalItemPrice { get; set; }
/// <summary>
/// 合计基础优惠
/// </summary>
public decimal? TotalBaseDiscount { get; set; }
/// <summary>
/// 合计满减
/// </summary>
public decimal? TotalManJian { get; set; }
/// <summary>
/// 合计商家运费
/// </summary>
public decimal? TotalVenderFee { get; set; }
/// <summary>
/// 合计基础运费
/// </summary>
public decimal? TotalBaseFee { get; set; }
/// <summary>
/// 合计偏远运费
/// </summary>
public decimal? TotalRemoteFee { get; set; }
/// <summary>
/// 合计优惠券
/// </summary>
public decimal? TotalCoupon { get; set; }
/// <summary>
/// 合计京豆
/// </summary>
public decimal? TotalJingDou { get; set; }
/// <summary>
/// 合计余额
/// </summary>
public decimal? TotalBalance { get; set; }
/// <summary>
/// 合计超级红包
/// </summary>
public decimal? TotalSuperRedEnvelope { get; set; }
/// <summary>
/// 合计plus会员95折优惠
/// </summary>
public decimal? TotalPlus95 { get; set; }
/// <summary>
/// 合计退换货无忧
/// </summary>
public decimal? TotalTuiHuanHuoWuYou { get; set; }
/// <summary>
/// 合计全球购税费
/// </summary>
public decimal? TotalTaxFee { get; set; }
/// <summary>
/// 合计落地配服务
/// </summary>
public decimal? TotalLuoDiPeiService { get; set; }
/// <summary>
/// 合计应付金额
/// </summary>
public decimal? TotalShouldPay { get; set; }
/// <summary>
/// 合计京券
/// </summary>
public decimal? TotalJingQuan { get; set; }
/// <summary>
/// 合计东券
/// </summary>
public decimal? TotalDongQuan { get; set; }
/// <summary>
/// 合计限品类京券
/// </summary>
public decimal? TotalXianPinLeiJingQuan { get; set; }
/// <summary>
/// 合计限品类东券
/// </summary>
public decimal? TotalXianPinLeiDongQuan { get; set; }
/// <summary>
/// 合计按比例平台承担优惠券
/// </summary>
public decimal? TotalPingTaiChengDanYouHuiQuan { get; set; }
/// <summary>
/// 合计礼金优惠
/// </summary>
public decimal? TotalLiJinYouHui { get; set; }
/// <summary>
/// 合计支付营销优惠
/// </summary>
public decimal? TotalZhiFuYingXiaoYouHui { get; set; }
/// <summary>
/// 合计京东支付优惠
/// </summary>
public decimal? TotalJdZhiFuYouHui { get; set; }
/// <summary>
/// 合计全球购一般税
/// </summary>
public decimal? TotalGlobalGeneralTax { get; set; }
/// <summary>
/// 合计全球购一般包税
/// </summary>
public decimal? TotalGlobalGeneralIncludeTax { get; set; }
/// <summary>
/// 合计京享礼金
/// </summary>
public decimal? TotalJingXiangLiJin { get; set; }
/// <summary>
/// 合计跨店满减促销
/// </summary>
public decimal? TotalPromotionDiscount { get; set; }
/// <summary>
/// 合计满期赠促销
/// </summary>
public decimal? TotalExpiryGiftDiscount { get; set; }
}
}

42
BBWY.Client/ViewModels/Order/OrderCouponDetailViewModel.cs

@ -0,0 +1,42 @@
using BBWY.Client.APIServices;
using BBWY.Client.Models;
using System.Threading.Tasks;
using System.Windows;
namespace BBWY.Client.ViewModels
{
public class OrderCouponDetailViewModel : BaseVM
{
private string orderId;
private OrderService orderService;
private Shop shop;
public OrderCouponDetailViewModel(OrderService orderService)
{
this.orderService = orderService;
}
public string OrderId { get => orderId; set { Set(ref orderId, value); } }
public OrderCouponDetailResponse Coupon { get => coupon; set { Set(ref coupon, value); } }
private OrderCouponDetailResponse coupon;
public void SetData(string orderId, Shop shop)
{
this.OrderId = orderId;
this.shop = shop;
Task.Factory.StartNew(() => orderService.GetOrderCouponDetail(orderId, shop))
.ContinueWith(t =>
{
var r = t.Result;
if (!r.Success)
{
MessageBox.Show(r.Msg, "优惠券明细");
return;
}
this.Coupon = r.Data;
});
}
}
}

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

@ -135,6 +135,8 @@ namespace BBWY.Client.ViewModels
public ICommand OpenSkuDetailCommand { get; set; }
public ICommand OpenOrderCouponDetailCommand { get; set; }
/// <summary>
/// 当前条件利润汇总
/// </summary>
@ -214,6 +216,7 @@ namespace BBWY.Client.ViewModels
//EditAfterSaleOrderRefundPurchaseAmountCommand = new RelayCommand<AfterSaleOrder>(EditAfterSaleOrderRefundPurchaseAmount);
//FindAfterSaleOrderCommand = new RelayCommand<object>(FindAfterSaleOrder);
OpenSkuDetailCommand = new RelayCommand<object>(OpenSkuDetail);
OpenOrderCouponDetailCommand = new RelayCommand<string>(OpenOrderCouponDetail);
SearchOrderCommand.Execute(null);
}
/// <summary>
@ -1106,5 +1109,11 @@ namespace BBWY.Client.ViewModels
}
}
private void OpenOrderCouponDetail(string orderId)
{
var w = new OrderCouponDetailWindow(orderId, globalContext.User.Shop);
w.ShowDialog();
}
}
}

8
BBWY.Client/ViewModels/ViewModelLocator.cs

@ -385,6 +385,14 @@ namespace BBWY.Client.ViewModels
}
}
public OrderCouponDetailViewModel OrderCouponDetailVM
{
get
{
using var s = sp.CreateScope();
return s.ServiceProvider.GetRequiredService<OrderCouponDetailViewModel>();
}
}
//public ShopSealBoxListViewModel ShopSealBoxListVM
//{

449
BBWY.Client/Views/Order/OrderCouponDetailWindow.xaml

@ -0,0 +1,449 @@
<c:BWindow x:Class="BBWY.Client.Views.Order.OrderCouponDetailWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BBWY.Client.Views.Order"
mc:Ignorable="d"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
Title="订单优惠明细" Height="600" Width="600"
Style="{StaticResource bwstyle}"
DataContext="{Binding OrderCouponDetailVM,Source={StaticResource Locator}}"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Border BorderBrush="{StaticResource MainMenu.BorderBrush}"
Background="{StaticResource Border.Background}">
<TextBlock Text="{Binding OrderId,StringFormat=\{0\}优惠明细}" Style="{StaticResource middleTextBlock}"/>
</Border>
<ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto"
Grid.Row="1">
<Grid Margin="5">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="40"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition/>
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
<Grid Background="{StaticResource Border.Background}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.2*"/>
<ColumnDefinition Width="0.2*"/>
<ColumnDefinition Width="0.2*"/>
<ColumnDefinition Width="0.2*"/>
<ColumnDefinition Width="0.2*"/>
</Grid.ColumnDefinitions>
<Border Width="1" Background="{StaticResource Border.Brush}"
HorizontalAlignment="Left"/>
<Border Height="1" Grid.ColumnSpan="5" Background="{StaticResource Border.Brush}" VerticalAlignment="Top"/>
<Border Width="1" Background="{StaticResource Border.Brush}" Grid.ColumnSpan="5" HorizontalAlignment="Right"/>
<Border Width="1" Background="{StaticResource Border.Brush}" Grid.Column="1" HorizontalAlignment="Left"/>
<Border Width="1" Background="{StaticResource Border.Brush}" Grid.Column="2" HorizontalAlignment="Left"/>
<Border Width="1" Background="{StaticResource Border.Brush}" Grid.Column="3" HorizontalAlignment="Left"/>
<Border Width="1" Background="{StaticResource Border.Brush}" Grid.Column="4" HorizontalAlignment="Left"/>
<TextBlock Text="发起方(推测)" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="促销/优惠券" Style="{StaticResource middleTextBlock}" Grid.Column="1"/>
<TextBlock Text="优惠金额" Style="{StaticResource middleTextBlock}" Grid.Column="2"/>
<TextBlock Text="商家承担" Style="{StaticResource middleTextBlock}" Grid.Column="3"/>
<TextBlock Text="平台承担" Style="{StaticResource middleTextBlock}" Grid.Column="4"/>
</Grid>
<ListBox x:Name="listbox_groups"
ItemsSource="{Binding Coupon.GroupList}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
Style="{StaticResource NoScrollViewListBoxStyle}"
Grid.Row="1"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="1,1,1,0">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding ActualWidth,ElementName=listbox_groups,Converter={StaticResource widthConverter},ConverterParameter=2}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.2*"/>
<ColumnDefinition Width="0.8*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Initiator}" Style="{StaticResource middleTextBlock}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom"/>
<ListBox x:Name="listbox_couponItem" Grid.Column="1"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
Style="{StaticResource NoScrollViewListBoxStyle}"
ItemsSource="{Binding ItemList}">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Width="{Binding ActualWidth,ElementName=listbox_couponItem}"
Height="30">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Left" Margin="-1,0,0,0"/>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Left" Margin="-1,0,0,0" Grid.Column="1"/>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Left" Margin="-1,0,0,0" Grid.Column="2"/>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Left" Grid.Column="3"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="4"/>
<TextBlock Text="{Binding CouponOrPromotionType}" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding PreferentialAmount}" Style="{StaticResource middleTextBlock}" Grid.Column="1"/>
<TextBlock Text="{Binding UndertakenByMerchantAmount}" Style="{StaticResource middleTextBlock}" Grid.Column="2"/>
<TextBlock Text="{Binding UndertakenByPlatformAmount}" Style="{StaticResource middleTextBlock}" Grid.Column="3"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
<Grid Grid.Row="2" Background="{StaticResource Border.Background}" Margin="0,-0.8,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.2*"/>
<ColumnDefinition Width="0.2*"/>
<ColumnDefinition Width="0.2*"/>
<ColumnDefinition Width="0.2*"/>
<ColumnDefinition Width="0.2*"/>
</Grid.ColumnDefinitions>
<TextBlock Text="合计" Grid.ColumnSpan="2" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding Coupon.TotalPreferentialAmount}" Grid.Column="2" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding Coupon.TotalUndertakenByMerchantAmount}" Grid.Column="3" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding Coupon.TotalUndertakenByPlatformAmount}" Grid.Column="4" Style="{StaticResource middleTextBlock}"/>
<Border Width="1"
Background="{StaticResource Border.Brush}"
Grid.Column="2"
HorizontalAlignment="Left"/>
<Border Width="1"
Background="{StaticResource Border.Brush}"
Grid.Column="3"
HorizontalAlignment="Left"/>
<Border Width="1"
Background="{StaticResource Border.Brush}"
Grid.Column="4"
HorizontalAlignment="Left"/>
<Border Width="1" Background="{StaticResource Border.Brush}"
HorizontalAlignment="Left"/>
<Border Height="1" Grid.ColumnSpan="5" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom"/>
<Border Width="1" Background="{StaticResource Border.Brush}" Grid.ColumnSpan="5" HorizontalAlignment="Right"/>
</Grid>
</Grid>
<TextBlock Text="金额明细拆分" Grid.Row="1" VerticalAlignment="Center"/>
<Border Grid.Row="2" Width="250" HorizontalAlignment="Left"
BorderBrush="{StaticResource Border.Brush}" BorderThickness="1,1,1,0">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.6*"/>
<ColumnDefinition Width="0.4*"/>
</Grid.ColumnDefinitions>
<Grid Background="{StaticResource Border.Background}" Grid.ColumnSpan="2"></Grid>
<TextBlock Text="项目" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="金额" Style="{StaticResource middleTextBlock}" Grid.Column="1"/>
<Border Width="1" Background="{StaticResource Border.Brush}" HorizontalAlignment="Right" Grid.RowSpan="30"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2"/>
<Grid Height="30" Grid.Row="1"></Grid>
<TextBlock Text="合计单品金额" Style="{StaticResource middleTextBlock}" Grid.Row="1"/>
<TextBlock Text="{Binding Coupon.TotalItemPrice}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="1"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="1"/>
<Grid x:Name="grid_TotalBaseDiscount" Height="30" Grid.Row="2"
Visibility="{Binding Coupon.TotalBaseDiscount,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计基础优惠" Style="{StaticResource middleTextBlock}" Grid.Row="2"
Visibility="{Binding Visibility,ElementName=grid_TotalBaseDiscount}"/>
<TextBlock Text="{Binding Coupon.TotalBaseDiscount}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="2"
Visibility="{Binding Visibility,ElementName=grid_TotalBaseDiscount}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="2"
Visibility="{Binding Visibility,ElementName=grid_TotalBaseDiscount}"/>
<Grid x:Name="grid_TotalManJian" Height="30" Grid.Row="3"
Visibility="{Binding Coupon.TotalManJian,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计满减" Style="{StaticResource middleTextBlock}" Grid.Row="3"
Visibility="{Binding Visibility,ElementName=grid_TotalManJian}"/>
<TextBlock Text="{Binding Coupon.TotalManJian}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="3"
Visibility="{Binding Visibility,ElementName=grid_TotalManJian}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="3"
Visibility="{Binding Visibility,ElementName=grid_TotalManJian}"/>
<Grid x:Name="grid_TotalVenderFee" Height="30" Grid.Row="4"
Visibility="{Binding Coupon.TotalVenderFee,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计商家运费" Style="{StaticResource middleTextBlock}" Grid.Row="4"
Visibility="{Binding Visibility,ElementName=grid_TotalVenderFee}"/>
<TextBlock Text="{Binding Coupon.TotalVenderFee}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="4"
Visibility="{Binding Visibility,ElementName=grid_TotalVenderFee}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="4"
Visibility="{Binding Visibility,ElementName=grid_TotalVenderFee}"/>
<Grid x:Name="grid_TotalBaseFee" Height="30" Grid.Row="5"
Visibility="{Binding Coupon.TotalBaseFee,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计基础运费" Style="{StaticResource middleTextBlock}" Grid.Row="5"
Visibility="{Binding Visibility,ElementName=grid_TotalBaseFee}"/>
<TextBlock Text="{Binding Coupon.TotalBaseFee}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="5"
Visibility="{Binding Visibility,ElementName=grid_TotalBaseFee}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="5"
Visibility="{Binding Visibility,ElementName=grid_TotalBaseFee}"/>
<Grid x:Name="grid_TotalRemoteFee" Height="30" Grid.Row="6"
Visibility="{Binding Coupon.TotalRemoteFee,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计偏远运费" Style="{StaticResource middleTextBlock}" Grid.Row="6"
Visibility="{Binding Visibility,ElementName=grid_TotalRemoteFee}"/>
<TextBlock Text="{Binding Coupon.TotalRemoteFee}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="6"
Visibility="{Binding Visibility,ElementName=grid_TotalRemoteFee}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="6"
Visibility="{Binding Visibility,ElementName=grid_TotalRemoteFee}"/>
<Grid x:Name="grid_TotalCoupon" Height="30" Grid.Row="7"
Visibility="{Binding Coupon.TotalCoupon,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计优惠券" Style="{StaticResource middleTextBlock}" Grid.Row="7"
Visibility="{Binding Visibility,ElementName=grid_TotalCoupon}"/>
<TextBlock Text="{Binding Coupon.TotalCoupon}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="7"
Visibility="{Binding Visibility,ElementName=grid_TotalCoupon}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="7"
Visibility="{Binding Visibility,ElementName=grid_TotalCoupon}"/>
<Grid x:Name="grid_TotalJingDou" Height="30" Grid.Row="8"
Visibility="{Binding Coupon.TotalJingDou,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计京豆" Style="{StaticResource middleTextBlock}" Grid.Row="8"
Visibility="{Binding Visibility,ElementName=grid_TotalJingDou}"/>
<TextBlock Text="{Binding Coupon.TotalJingDou}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="8"
Visibility="{Binding Visibility,ElementName=grid_TotalJingDou}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="8"
Visibility="{Binding Visibility,ElementName=grid_TotalJingDou}"/>
<Grid x:Name="grid_TotalBalance" Height="30" Grid.Row="9"
Visibility="{Binding Coupon.TotalBalance,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计余额" Style="{StaticResource middleTextBlock}" Grid.Row="9"
Visibility="{Binding Visibility,ElementName=grid_TotalBalance}"/>
<TextBlock Text="{Binding Coupon.TotalBalance}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="9"
Visibility="{Binding Visibility,ElementName=grid_TotalBalance}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="9"
Visibility="{Binding Visibility,ElementName=grid_TotalBalance}"/>
<Grid x:Name="grid_TotalSuperRedEnvelope" Height="30" Grid.Row="10"
Visibility="{Binding Coupon.TotalSuperRedEnvelope,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计超级红包" Style="{StaticResource middleTextBlock}" Grid.Row="10"
Visibility="{Binding Visibility,ElementName=grid_TotalSuperRedEnvelope}"/>
<TextBlock Text="{Binding Coupon.TotalSuperRedEnvelope}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="10"
Visibility="{Binding Visibility,ElementName=grid_TotalSuperRedEnvelope}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="10"
Visibility="{Binding Visibility,ElementName=grid_TotalSuperRedEnvelope}"/>
<Grid x:Name="grid_TotalPlus95" Height="30" Grid.Row="11"
Visibility="{Binding Coupon.TotalPlus95,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计plus会员95折优惠" Style="{StaticResource middleTextBlock}" Grid.Row="11"
Visibility="{Binding Visibility,ElementName=grid_TotalPlus95}"/>
<TextBlock Text="{Binding Coupon.TotalPlus95}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="11"
Visibility="{Binding Visibility,ElementName=grid_TotalPlus95}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="11"
Visibility="{Binding Visibility,ElementName=grid_TotalPlus95}"/>
<Grid x:Name="grid_TotalTuiHuanHuoWuYou" Height="30" Grid.Row="12"
Visibility="{Binding Coupon.TotalTuiHuanHuoWuYou,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计退换货无忧" Style="{StaticResource middleTextBlock}" Grid.Row="12"
Visibility="{Binding Visibility,ElementName=grid_TotalTuiHuanHuoWuYou}"/>
<TextBlock Text="{Binding Coupon.TotalTuiHuanHuoWuYou}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="12"
Visibility="{Binding Visibility,ElementName=grid_TotalTuiHuanHuoWuYou}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="12"
Visibility="{Binding Visibility,ElementName=grid_TotalTuiHuanHuoWuYou}"/>
<Grid x:Name="grid_TotalTaxFee" Height="30" Grid.Row="13"
Visibility="{Binding Coupon.TotalTaxFee,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计全球购税费" Style="{StaticResource middleTextBlock}" Grid.Row="13"
Visibility="{Binding Visibility,ElementName=grid_TotalTaxFee}"/>
<TextBlock Text="{Binding Coupon.TotalTaxFee}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="13"
Visibility="{Binding Visibility,ElementName=grid_TotalTaxFee}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="13"
Visibility="{Binding Visibility,ElementName=grid_TotalTaxFee}"/>
<Grid x:Name="grid_TotalLuoDiPeiService" Height="30" Grid.Row="14"
Visibility="{Binding Coupon.TotalLuoDiPeiService,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计落地配服务" Style="{StaticResource middleTextBlock}" Grid.Row="14"
Visibility="{Binding Visibility,ElementName=grid_TotalLuoDiPeiService}"/>
<TextBlock Text="{Binding Coupon.TotalLuoDiPeiService}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="14"
Visibility="{Binding Visibility,ElementName=grid_TotalLuoDiPeiService}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="14"
Visibility="{Binding Visibility,ElementName=grid_TotalLuoDiPeiService}"/>
<Grid x:Name="grid_TotalShouldPay" Height="30" Grid.Row="15"
Visibility="{Binding Coupon.TotalShouldPay,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计应付金额" Style="{StaticResource middleTextBlock}" Grid.Row="15"
Visibility="{Binding Visibility,ElementName=grid_TotalShouldPay}"/>
<TextBlock Text="{Binding Coupon.TotalShouldPay}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="15"
Visibility="{Binding Visibility,ElementName=grid_TotalShouldPay}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="15"
Visibility="{Binding Visibility,ElementName=grid_TotalShouldPay}"/>
<Grid x:Name="grid_TotalJingQuan" Height="30" Grid.Row="16"
Visibility="{Binding Coupon.TotalJingQuan,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计京券" Style="{StaticResource middleTextBlock}" Grid.Row="16"
Visibility="{Binding Visibility,ElementName=grid_TotalJingQuan}"/>
<TextBlock Text="{Binding Coupon.TotalJingQuan}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="16"
Visibility="{Binding Visibility,ElementName=grid_TotalJingQuan}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="16"
Visibility="{Binding Visibility,ElementName=grid_TotalJingQuan}"/>
<Grid x:Name="grid_TotalDongQuan" Height="30" Grid.Row="17"
Visibility="{Binding Coupon.TotalDongQuan,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计东券" Style="{StaticResource middleTextBlock}" Grid.Row="17"
Visibility="{Binding Visibility,ElementName=grid_TotalDongQuan}"/>
<TextBlock Text="{Binding Coupon.TotalDongQuan}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="17"
Visibility="{Binding Visibility,ElementName=grid_TotalDongQuan}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="17"
Visibility="{Binding Visibility,ElementName=grid_TotalDongQuan}"/>
<Grid x:Name="grid_TotalXianPinLeiJingQuan" Height="30" Grid.Row="18"
Visibility="{Binding Coupon.TotalXianPinLeiJingQuan,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计限品类京券" Style="{StaticResource middleTextBlock}" Grid.Row="18"
Visibility="{Binding Visibility,ElementName=grid_TotalXianPinLeiJingQuan}"/>
<TextBlock Text="{Binding Coupon.TotalXianPinLeiJingQuan}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="18"
Visibility="{Binding Visibility,ElementName=grid_TotalXianPinLeiJingQuan}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="18"
Visibility="{Binding Visibility,ElementName=grid_TotalXianPinLeiJingQuan}"/>
<Grid x:Name="grid_TotalXianPinLeiDongQuan" Height="30" Grid.Row="19"
Visibility="{Binding Coupon.TotalXianPinLeiDongQuan,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计限品类东券" Style="{StaticResource middleTextBlock}" Grid.Row="19"
Visibility="{Binding Visibility,ElementName=grid_TotalXianPinLeiDongQuan}"/>
<TextBlock Text="{Binding Coupon.TotalXianPinLeiDongQuan}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="19"
Visibility="{Binding Visibility,ElementName=grid_TotalXianPinLeiDongQuan}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="19"
Visibility="{Binding Visibility,ElementName=grid_TotalXianPinLeiDongQuan}"/>
<Grid x:Name="grid_TotalPingTaiChengDanYouHuiQuan" Height="30" Grid.Row="20"
Visibility="{Binding Coupon.TotalPingTaiChengDanYouHuiQuan,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计按比例平台承担优惠券" Style="{StaticResource middleTextBlock}" Grid.Row="20"
Visibility="{Binding Visibility,ElementName=grid_TotalPingTaiChengDanYouHuiQuan}"/>
<TextBlock Text="{Binding Coupon.TotalPingTaiChengDanYouHuiQuan}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="20"
Visibility="{Binding Visibility,ElementName=grid_TotalPingTaiChengDanYouHuiQuan}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="20"
Visibility="{Binding Visibility,ElementName=grid_TotalPingTaiChengDanYouHuiQuan}"/>
<Grid x:Name="grid_TotalLiJinYouHui" Height="30" Grid.Row="21"
Visibility="{Binding Coupon.TotalLiJinYouHui,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计礼金优惠" Style="{StaticResource middleTextBlock}" Grid.Row="21"
Visibility="{Binding Visibility,ElementName=grid_TotalLiJinYouHui}"/>
<TextBlock Text="{Binding Coupon.TotalLiJinYouHui}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="21"
Visibility="{Binding Visibility,ElementName=grid_TotalLiJinYouHui}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="21"
Visibility="{Binding Visibility,ElementName=grid_TotalLiJinYouHui}"/>
<Grid x:Name="grid_TotalZhiFuYingXiaoYouHui" Height="30" Grid.Row="22"
Visibility="{Binding Coupon.TotalZhiFuYingXiaoYouHui,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计支付营销优惠" Style="{StaticResource middleTextBlock}" Grid.Row="22"
Visibility="{Binding Visibility,ElementName=grid_TotalZhiFuYingXiaoYouHui}"/>
<TextBlock Text="{Binding Coupon.TotalZhiFuYingXiaoYouHui}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="22"
Visibility="{Binding Visibility,ElementName=grid_TotalZhiFuYingXiaoYouHui}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="22"
Visibility="{Binding Visibility,ElementName=grid_TotalZhiFuYingXiaoYouHui}"/>
<Grid x:Name="grid_TotalJdZhiFuYouHui" Height="30" Grid.Row="23"
Visibility="{Binding Coupon.TotalJdZhiFuYouHui,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计京东支付优惠" Style="{StaticResource middleTextBlock}" Grid.Row="23"
Visibility="{Binding Visibility,ElementName=grid_TotalJdZhiFuYouHui}"/>
<TextBlock Text="{Binding Coupon.TotalJdZhiFuYouHui}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="23"
Visibility="{Binding Visibility,ElementName=grid_TotalJdZhiFuYouHui}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="23"
Visibility="{Binding Visibility,ElementName=grid_TotalJdZhiFuYouHui}"/>
<Grid x:Name="grid_TotalGlobalGeneralTax" Height="30" Grid.Row="24"
Visibility="{Binding Coupon.TotalGlobalGeneralTax,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计全球购一般税" Style="{StaticResource middleTextBlock}" Grid.Row="24"
Visibility="{Binding Visibility,ElementName=grid_TotalGlobalGeneralTax}"/>
<TextBlock Text="{Binding Coupon.TotalGlobalGeneralTax}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="24"
Visibility="{Binding Visibility,ElementName=grid_TotalGlobalGeneralTax}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="24"
Visibility="{Binding Visibility,ElementName=grid_TotalGlobalGeneralTax}"/>
<Grid x:Name="grid_TotalGlobalGeneralIncludeTax" Height="30" Grid.Row="25"
Visibility="{Binding Coupon.TotalGlobalGeneralIncludeTax,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计全球购一般包税" Style="{StaticResource middleTextBlock}" Grid.Row="25"
Visibility="{Binding Visibility,ElementName=grid_TotalGlobalGeneralIncludeTax}"/>
<TextBlock Text="{Binding Coupon.TotalGlobalGeneralIncludeTax}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="25"
Visibility="{Binding Visibility,ElementName=grid_TotalGlobalGeneralIncludeTax}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="25"
Visibility="{Binding Visibility,ElementName=grid_TotalGlobalGeneralIncludeTax}"/>
<Grid x:Name="grid_TotalJingXiangLiJin" Height="30" Grid.Row="26"
Visibility="{Binding Coupon.TotalJingXiangLiJin,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计京享礼金" Style="{StaticResource middleTextBlock}" Grid.Row="26"
Visibility="{Binding Visibility,ElementName=grid_TotalJingXiangLiJin}"/>
<TextBlock Text="{Binding Coupon.TotalJingXiangLiJin}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="26"
Visibility="{Binding Visibility,ElementName=grid_TotalJingXiangLiJin}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="26"
Visibility="{Binding Visibility,ElementName=grid_TotalJingXiangLiJin}"/>
<Grid x:Name="grid_TotalPromotionDiscount" Height="30" Grid.Row="27"
Visibility="{Binding Coupon.TotalPromotionDiscount,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计跨店满减促销" Style="{StaticResource middleTextBlock}" Grid.Row="27"
Visibility="{Binding Visibility,ElementName=grid_TotalPromotionDiscount}"/>
<TextBlock Text="{Binding Coupon.TotalPromotionDiscount}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="27"
Visibility="{Binding Visibility,ElementName=grid_TotalPromotionDiscount}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="27"
Visibility="{Binding Visibility,ElementName=grid_TotalPromotionDiscount}"/>
<Grid x:Name="grid_TotalExpiryGiftDiscount" Height="30" Grid.Row="28"
Visibility="{Binding Coupon.TotalExpiryGiftDiscount,Converter={StaticResource objConverter},ConverterParameter=0|0.0:Collapsed:Visible}"></Grid>
<TextBlock Text="合计满期赠促销" Style="{StaticResource middleTextBlock}" Grid.Row="28"
Visibility="{Binding Visibility,ElementName=grid_TotalExpiryGiftDiscount}"/>
<TextBlock Text="{Binding Coupon.TotalExpiryGiftDiscount}" Style="{StaticResource middleTextBlock}" Grid.Column="1" Grid.Row="28"
Visibility="{Binding Visibility,ElementName=grid_TotalExpiryGiftDiscount}"/>
<Border Height="1" Background="{StaticResource Border.Brush}" VerticalAlignment="Bottom" Grid.ColumnSpan="2" Grid.Row="28"
Visibility="{Binding Visibility,ElementName=grid_TotalExpiryGiftDiscount}"/>
</Grid>
</Border>
</Grid>
</ScrollViewer>
</Grid>
</c:BWindow>

18
BBWY.Client/Views/Order/OrderCouponDetailWindow.xaml.cs

@ -0,0 +1,18 @@
using BBWY.Client.Models;
using BBWY.Client.ViewModels;
using BBWY.Controls;
namespace BBWY.Client.Views.Order
{
/// <summary>
/// OrderCouponDetailWindow.xaml 的交互逻辑
/// </summary>
public partial class OrderCouponDetailWindow : BWindow
{
public OrderCouponDetailWindow(string orderId, Shop shop)
{
InitializeComponent();
(this.DataContext as OrderCouponDetailViewModel).SetData(orderId, shop);
}
}
}

6
BBWY.Client/Views/Order/OrderListControl.xaml

@ -365,8 +365,10 @@
<Run Text="优惠金额"/>
<Run Text="{Binding PreferentialAmount}"/>
</TextBlock>
<c:BButton Content="明细" Style="{StaticResource LinkButton}" Margin="5,0,0,0"
Command="{Binding DataContext.OpenOrderCouponDetailCommand,RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type UserControl}}}" CommandParameter="{Binding Id}"/>
<Path Style="{StaticResource path_question}" Width="14" Margin="5,0,0,0" Fill="{StaticResource Text.Pink}" ToolTipService.InitialShowDelay="0">
<!--<Path Style="{StaticResource path_question}" Width="14" Margin="5,0,0,0" Fill="{StaticResource Text.Pink}" ToolTipService.InitialShowDelay="0">
<Path.ToolTip>
<ToolTip Style="{StaticResource OrderCouponToolipStyle}">
<ListBox ItemsSource="{Binding OrderCouponList}"
@ -382,7 +384,7 @@
</ListBox>
</ToolTip>
</Path.ToolTip>
</Path>
</Path>-->
</StackPanel>
<StackPanel x:Name="sp_purchaseAmount" Orientation="Horizontal">

11
BBWY.Server.API/Controllers/OrderController.cs

@ -166,5 +166,16 @@ namespace BBWY.Server.API.Controllers
{
return orderBusiness.ExportOrderSkuList(request);
}
/// <summary>
/// 查询订单优惠明细
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public OrderCouponDetailResponse GetOrderCouponDetail([FromBody] QueryOrderCouponDetailRequest request)
{
return orderBusiness.GetOrderCouponDetail(request);
}
}
}

2
BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs

@ -610,7 +610,7 @@ namespace BBWY.Server.Business
MainProductSkuInStore = mainProductSkuInStore,
OuterId = dbPromotionTask.OuterId
}, GetYunDingRequestHeader(), HttpMethod.Post);
}, GetYunDingRequestHeader(), HttpMethod.Post, timeOutSeconds: 600);
if (httpApiResult.StatusCode != System.Net.HttpStatusCode.OK)
throw new BusinessException(httpApiResult.Content);

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

@ -1236,5 +1236,85 @@ namespace BBWY.Server.Business
}
return list;
}
public OrderCouponDetailResponse GetOrderCouponDetail(QueryOrderCouponDetailRequest request)
{
var relayAPIHost = GetPlatformRelayAPIHost(request.Platform);
var sendResult = restApiService.SendRequest(relayAPIHost, "api/PlatformSDK/GetOrderCouponDetail", request, GetYunDingRequestHeader(), HttpMethod.Post);
if (sendResult.StatusCode != System.Net.HttpStatusCode.OK)
throw new BusinessException(sendResult.Content) { Code = (int)sendResult.StatusCode };
var response = JsonConvert.DeserializeObject<ApiResponse<JToken>>(sendResult.Content);
if (!response.Success)
throw new BusinessException(response.Msg) { Code = response.Code };
var jtoken = response.Data;
var itemList = new List<OrderCouponDetailGroupItemResponse>();
var couponDetailVoJToken = jtoken["jingdong_pop_order_coupondetail_responce"]["couponDetailExternal"]["couponDetailVo"];
var promotionTaskJArray = couponDetailVoJToken["promotionList"] as JArray;
itemList.AddRange(promotionTaskJArray.Select(j => new OrderCouponDetailGroupItemResponse()
{
Initiator = string.IsNullOrEmpty(j.Value<string>("promotionName")) ? "平台" : "商家",
CouponOrPromotionType = j.Value<string>("saleTypeDesc"),
PreferentialAmount = j.Value<decimal>("salePrice"),
UndertakenByMerchantAmount = j.Value<decimal>("salePrice"),
UndertakenByPlatformAmount = 0
}));
var couponJArray = couponDetailVoJToken["couponList"] as JArray;
itemList.AddRange(couponJArray.Select(j => new OrderCouponDetailGroupItemResponse()
{
Initiator = string.IsNullOrEmpty(j.Value<string>("couponName")) ? "平台" : "商家",
CouponOrPromotionType = j.Value<string>("couponTypeDesc"),
PreferentialAmount = j.Value<decimal>("couponPrice"),
UndertakenByMerchantAmount = j.Value<bool>("priceDivide") == true ?
j.Value<decimal>("venderDivideMoney") :
j.Value<decimal>("couponPrice"),
UndertakenByPlatformAmount = j.Value<decimal>("jdDivideMoney")
}));
var groups = itemList.GroupBy(x => x.Initiator);
return new OrderCouponDetailResponse()
{
GroupList = groups.Select(g => new OrderCouponDetailGroupResponse()
{
Initiator = g.Key,
ItemList = g.ToList()
}).ToList(),
TotalPreferentialAmount = itemList.Sum(x => x.PreferentialAmount ?? 0),
TotalUndertakenByMerchantAmount = itemList.Sum(x => x.UndertakenByMerchantAmount ?? 0),
TotalUndertakenByPlatformAmount = itemList.Sum(x => x.UndertakenByPlatformAmount ?? 0),
TotalBalance = couponDetailVoJToken.Value<decimal?>("totalBalance"),
TotalBaseDiscount = couponDetailVoJToken.Value<decimal?>("totalBaseDiscount"),
TotalBaseFee = couponDetailVoJToken.Value<decimal?>("totalBaseFee"),
TotalCoupon = couponDetailVoJToken.Value<decimal?>("totalCoupon"),
TotalDongQuan = couponDetailVoJToken.Value<decimal?>("totalDongQuan"),
TotalExpiryGiftDiscount = couponDetailVoJToken.Value<decimal?>("totalExpiryGiftDiscount"),
TotalGlobalGeneralIncludeTax = couponDetailVoJToken.Value<decimal?>("totalGlobalGeneralIncludeTax"),
TotalGlobalGeneralTax = couponDetailVoJToken.Value<decimal?>("totalGlobalGeneralTax"),
TotalItemPrice = couponDetailVoJToken.Value<decimal?>("totalItemPrice"),
TotalJdZhiFuYouHui = couponDetailVoJToken.Value<decimal?>("totalJdZhiFuYouHui"),
TotalJingDou = couponDetailVoJToken.Value<decimal?>("totalJingDou"),
TotalJingQuan = couponDetailVoJToken.Value<decimal?>("totalJingQuan"),
TotalJingXiangLiJin = couponDetailVoJToken.Value<decimal?>("totalJingXiangLiJin"),
TotalLiJinYouHui = couponDetailVoJToken.Value<decimal?>("totalLiJinYouHui"),
TotalLuoDiPeiService = couponDetailVoJToken.Value<decimal?>("totalLuoDiPeiService"),
TotalManJian = couponDetailVoJToken.Value<decimal?>("totalManJian"),
TotalPingTaiChengDanYouHuiQuan = couponDetailVoJToken.Value<decimal?>("totalPingTaiChengDanYouHuiQuan"),
TotalPlus95 = couponDetailVoJToken.Value<decimal?>("totalPlus95"),
TotalPromotionDiscount = couponDetailVoJToken.Value<decimal?>("totalPromotionDiscount"),
TotalRemoteFee = couponDetailVoJToken.Value<decimal?>("totalRemoteFee"),
TotalShouldPay = couponDetailVoJToken.Value<decimal?>("totalShouldPay"),
TotalSuperRedEnvelope = couponDetailVoJToken.Value<decimal?>("totalSuperRedEnvelope"),
TotalTaxFee = couponDetailVoJToken.Value<decimal?>("totalTaxFee"),
TotalTuiHuanHuoWuYou = couponDetailVoJToken.Value<decimal?>("totalTuiHuanHuoWuYou"),
TotalVenderFee = couponDetailVoJToken.Value<decimal?>("totalVenderFee"),
TotalXianPinLeiDongQuan = couponDetailVoJToken.Value<decimal?>("totalXianPinLeiDongQuan"),
TotalXianPinLeiJingQuan = couponDetailVoJToken.Value<decimal?>("totalXianPinLeiJingQuan"),
TotalZhiFuYingXiaoYouHui = couponDetailVoJToken.Value<decimal?>("totalZhiFuYingXiaoYouHui")
};
}
}
}

33
BBWY.Server.Business/PlatformSDK/JDBusiness.cs

@ -1174,22 +1174,6 @@ namespace BBWY.Server.Business
}
#endregion
//#region sku改名
//{
// stepText = "sku改名";
// var req = new WareWriteUpdateWareSaleAttrvalueAliasRequest()
// {
// wareId = wareId,
// props = updateSkuTitleParamList
// };
// var res = jdClient.Execute(req, request.AppToken, DateTime.Now.ToLocalTime());
// if (res.Json == null)
// res.Json = JObject.Parse(res.Body);
// if (res.IsError)
// throw new BusinessException($"sku改名失败-{(string.IsNullOrEmpty(res.ErrorMsg) ? res.ErrMsg : res.ErrorMsg)}");
//}
//#endregion
#region sku修改细节图
stepText = "sku修改细节图";
foreach (var imageWriteUpdateRequest in imageWriteUpdateRequestList)
@ -1203,6 +1187,7 @@ namespace BBWY.Server.Business
if (request.MainProductSkuInStore)
{
stepText = "设置sku全国仓库存";
Thread.Sleep(60 * 1000);
try
{
foreach (var giftSkuId in giftSkuIdList)
@ -1229,6 +1214,7 @@ namespace BBWY.Server.Business
#region 查询上架的赠品
stepText = "查询上架的赠品SKU";
Thread.Sleep(60 * 1000);
searchProductSkuRequest.Sku = string.Join(",", giftSkuIdList);
searchProductSkuRequest.CheckStep = "上架的赠品";
try
@ -1256,6 +1242,7 @@ namespace BBWY.Server.Business
{
stepText = "创建活动";
Thread.Sleep(60 * 1000);
var req = new SellerPromotionAddRequest();
req.name = request.ActivityName;
req.type = 4; //赠品促销
@ -1661,5 +1648,19 @@ namespace BBWY.Server.Business
whNo = x.Value<string>("whNo")
}).ToList();
}
public override JToken GetOrderCouponDetail(QueryOrderCouponDetailRequest request)
{
var jdClient = GetJdClient(request.AppKey, request.AppSecret);
var req = new PopOrderCoupondetailRequest();
req.orderId = Convert.ToInt64(request.OrderId);
var res = jdClient.Execute(req, request.AppToken, DateTime.Now.ToLocalTime());
if (res.Json == null)
res.Json = JObject.Parse(res.Body);
return res.Json;
}
}
}

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

@ -255,5 +255,16 @@ namespace BBWY.Server.Business
{
throw new NotImplementedException();
}
/// <summary>
/// 获取订单优惠明细
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
/// <exception cref="NotImplementedException"></exception>
public virtual JToken GetOrderCouponDetail(QueryOrderCouponDetailRequest request)
{
throw new NotImplementedException();
}
}
}

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

@ -380,7 +380,7 @@ namespace BBWY.Server.Business
}
else
{
preferentialAmount = dbOrder.PreferentialAmount;
//preferentialAmount = dbOrder.PreferentialAmount;
if (storageType != null && dbOrder.StorageType != storageType)
dbOrder.StorageType = storageType;
@ -421,8 +421,7 @@ namespace BBWY.Server.Business
#endregion
#region 订单优惠
if (!dbOrderCouponList.Any(oc => oc.OrderId == orderId))
{
var orderCouponJArray = (JArray)orderJToken["couponDetailList"];
if (orderCouponJArray.HasValues)
{
@ -433,6 +432,8 @@ namespace BBWY.Server.Business
continue;
//dbOrder.PreferentialAmount += orderCouponJToken.Value<decimal>("couponPrice");
preferentialAmount += orderCouponJToken.Value<decimal>("couponPrice");
if (!dbOrderCouponList.Any(oc => oc.OrderId == orderId))
{
insertOrderCouponList.Add(new OrderCoupon()
{
Id = idGenerator.NewLong(),
@ -620,7 +621,7 @@ namespace BBWY.Server.Business
(orderSellerPrice > 0M && dbOrder.IsGift) ||
orderTotalPrice != dbOrder.OrderTotalPrice ||
storeOrder != dbOrder.StoreOrder ||
//preferentialAmount != dbOrder.PreferentialAmount ||
preferentialAmount != dbOrder.PreferentialAmount ||
storeId != dbOrder.StoreId)
{
var updateSql = fsql.Update<Order>(orderId).SetIf(orderState != null && orderState != dbOrder.OrderState, o => o.OrderState, orderState)
@ -637,7 +638,7 @@ namespace BBWY.Server.Business
.SetIf(orderSellerPrice > 0M && dbOrder.IsGift == true, 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(preferentialAmount != dbOrder.PreferentialAmount, o => o.PreferentialAmount, preferentialAmount)
.SetIf(storeId != dbOrder.StoreId, o => o.StoreId, storeId);
updateOrderList.Add(updateSql);
}

7
BBWY.Server.Model/Dto/Request/JD/QueryOrderCouponDetailRequest.cs

@ -0,0 +1,7 @@
namespace BBWY.Server.Model.Dto
{
public class QueryOrderCouponDetailRequest : PlatformRequest
{
public string OrderId { get; set; }
}
}

206
BBWY.Server.Model/Dto/Response/Order/OrderCouponDetailResponse.cs

@ -0,0 +1,206 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace BBWY.Server.Model.Dto
{
public class OrderCouponDetailGroupItemResponse
{
/// <summary>
/// 发起方
/// </summary>
public string Initiator { get; set; }
/// <summary>
/// 优惠券或活动类型
/// </summary>
public string CouponOrPromotionType { get; set; }
/// <summary>
/// 优惠金额
/// </summary>
public decimal? PreferentialAmount { get; set; }
/// <summary>
/// 商家承担金额
/// </summary>
public decimal? UndertakenByMerchantAmount { get; set; }
/// <summary>
/// 平台承担金额
/// </summary>
public decimal? UndertakenByPlatformAmount { get; set; }
}
public class OrderCouponDetailGroupResponse
{
/// <summary>
/// 发起方
/// </summary>
public string Initiator { get; set; }
/// <summary>
/// 优惠明细集合
/// </summary>
public IList<OrderCouponDetailGroupItemResponse> ItemList { get; set; }
}
public class OrderCouponDetailResponse
{ /// <summary>
/// 合计优惠金额
/// </summary>
public decimal TotalPreferentialAmount { get; set; }
/// <summary>
/// 合计商家承担金额
/// </summary>
public decimal? TotalUndertakenByMerchantAmount { get; set; }
/// <summary>
/// 合计平台承担金额
/// </summary>
public decimal? TotalUndertakenByPlatformAmount { get; set; }
public IList<OrderCouponDetailGroupResponse> GroupList { get; set; }
/// <summary>
/// 合计单品金额
/// </summary>
public decimal? TotalItemPrice { get; set; }
/// <summary>
/// 合计基础优惠
/// </summary>
public decimal? TotalBaseDiscount { get; set; }
/// <summary>
/// 合计满减
/// </summary>
public decimal? TotalManJian { get; set; }
/// <summary>
/// 合计商家运费
/// </summary>
public decimal? TotalVenderFee { get; set; }
/// <summary>
/// 合计基础运费
/// </summary>
public decimal? TotalBaseFee { get; set; }
/// <summary>
/// 合计偏远运费
/// </summary>
public decimal? TotalRemoteFee { get; set; }
/// <summary>
/// 合计优惠券
/// </summary>
public decimal? TotalCoupon { get; set; }
/// <summary>
/// 合计京豆
/// </summary>
public decimal? TotalJingDou { get; set; }
/// <summary>
/// 合计余额
/// </summary>
public decimal? TotalBalance { get; set; }
/// <summary>
/// 合计超级红包
/// </summary>
public decimal? TotalSuperRedEnvelope { get; set; }
/// <summary>
/// 合计plus会员95折优惠
/// </summary>
public decimal? TotalPlus95 { get; set; }
/// <summary>
/// 合计退换货无忧
/// </summary>
public decimal? TotalTuiHuanHuoWuYou { get; set; }
/// <summary>
/// 合计全球购税费
/// </summary>
public decimal? TotalTaxFee { get; set; }
/// <summary>
/// 合计落地配服务
/// </summary>
public decimal? TotalLuoDiPeiService { get; set; }
/// <summary>
/// 合计应付金额
/// </summary>
public decimal? TotalShouldPay { get; set; }
/// <summary>
/// 合计京券
/// </summary>
public decimal? TotalJingQuan { get; set; }
/// <summary>
/// 合计东券
/// </summary>
public decimal? TotalDongQuan { get; set; }
/// <summary>
/// 合计限品类京券
/// </summary>
public decimal? TotalXianPinLeiJingQuan { get; set; }
/// <summary>
/// 合计限品类东券
/// </summary>
public decimal? TotalXianPinLeiDongQuan { get; set; }
/// <summary>
/// 合计按比例平台承担优惠券
/// </summary>
public decimal? TotalPingTaiChengDanYouHuiQuan { get; set; }
/// <summary>
/// 合计礼金优惠
/// </summary>
public decimal? TotalLiJinYouHui { get; set; }
/// <summary>
/// 合计支付营销优惠
/// </summary>
public decimal? TotalZhiFuYingXiaoYouHui { get; set; }
/// <summary>
/// 合计京东支付优惠
/// </summary>
public decimal? TotalJdZhiFuYouHui { get; set; }
/// <summary>
/// 合计全球购一般税
/// </summary>
public decimal? TotalGlobalGeneralTax { get; set; }
/// <summary>
/// 合计全球购一般包税
/// </summary>
public decimal? TotalGlobalGeneralIncludeTax { get; set; }
/// <summary>
/// 合计京享礼金
/// </summary>
public decimal? TotalJingXiangLiJin { get; set; }
/// <summary>
/// 合计跨店满减促销
/// </summary>
public decimal? TotalPromotionDiscount { get; set; }
/// <summary>
/// 合计满期赠促销
/// </summary>
public decimal? TotalExpiryGiftDiscount { get; set; }
}
}

11
JD.API/Controllers/PlatformSDKController.cs

@ -422,5 +422,16 @@ namespace JD.API.API.Controllers
{
return platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.Platform).GetJDSupplierDetail(request);
}
/// <summary>
/// 获取优惠数据明细
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public virtual JToken GetOrderCouponDetail([FromBody] QueryOrderCouponDetailRequest request)
{
return platformSDKBusinessList.FirstOrDefault(p => p.Platform == request.Platform).GetOrderCouponDetail(request);
}
}
}

Loading…
Cancel
Save