分销退货优化 提交退货包裹逻辑优化

This commit is contained in:
wule committed 2026-08-20 21:10:20 +08:00
1 parent a7076e7f3f
commit 4161c94243
11 files changed
+1851 -1323

No files matched your search

File diff suppressed because it is too large. Load diff
@@ -1325,10 +1325,12 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
else if (chkEmergencyShopCustomRefundNoWaybill.IsChecked == true && order.orderItems.All(oi => !oi.ReturnWaybillIdStr.IsNullOrEmpty()))
return true;
if (order.order_id == "3737838342857424896")
{
}
// 退货仓
if (chkReturnOrderAddress.IsChecked == true && order.orderItems.Any(oi => oi.ItemRefund?.return_detail != GlobalConfig.TransitReturnOrderReturnAddress))
return true;
// 非退货仓
else if (chkNotReturnOrderAddress.IsChecked == true && order.orderItems.Any(oi => oi.ItemRefund?.return_detail == GlobalConfig.TransitReturnOrderReturnAddress))
return true;
// 退款完成
if (chkEmergencyShopAfterSaleSuccess.IsChecked == true && order.DeliveryDeadlineDtatusStr != "退款完成")
@@ -1337,12 +1339,6 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
else if (chkEmergencyShopInAfterSale.IsChecked == true && (order.DeliveryDeadlineDtatusStr != "退款中"))
return true;
//// 退货退款
//if (chkEmergencyReturn.IsChecked == true && !(order.refundItems.OrderByDescending(or => or.create_time).FirstOrDefault()?.RefundStatusStr).ParseToString().Contains("退货"))
// return true;
//// 仅退款
//else if (chkEmergencyRefund.IsChecked == true && (order.refundItems.OrderByDescending(or => or.create_time).FirstOrDefault()?.RefundStatusStr).ParseToString().Contains("退货"))
// return true;
// 退货退款
if (chkEmergencyReturn.IsChecked == true && !(order.refundItems.OrderByDescending(or => or.create_time).FirstOrDefault()?.type).ParseToString().Contains("RETURN"))
return true;
@@ -1769,11 +1765,15 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
{
foreach (var orderItem in tmpOrderItems)
{
if (orderItem.order_id == "3738480261631214336")
if (orderItem.order_id == "3738517858745481728")
{
}
await Task.Run(() => { TransitReturnOrderWindow.AddReturnOrder(orderItem); });
// 10元余额才允许自动创建退货仓分销退货
if (BaseClass.Balance > 10)
{
await Task.Run(() => { TransitReturnOrderWindow.AddReturnOrder(orderItem); });
}
}
}
}
@@ -1802,6 +1802,9 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
// 退货地址不是退货仓,跳过
if (orderItem.ItemRefund?.return_detail != GlobalConfig.TransitReturnOrderReturnAddress)
continue;
// 退货包裹未发货,跳过(仅退货退款已发货的才自动去申请拼多多退货退款)
if ((orderItem.ItemRefund?.return_waybill_id).IsNullOrEmpty())
continue;
// 退货地址是退货仓的,直接申请退货退款,取到地址后直接去填写退货仓退货信息
if (orderItem?.ItemOrder?.OrderBuyType == "云仓")
@@ -2149,6 +2152,17 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
FilterOrders();
}
private void chkEmergencyReturnOrder_Click(object sender, RoutedEventArgs e)
{
if (sender is CheckBox chk)
{
var isCheck = !chk.IsChecked.ParseToBool();
chkReturnOrderAddress.IsChecked = chkNotReturnOrderAddress.IsChecked = false;
chk.IsChecked = !isCheck;
}
FilterOrders();
}
private DialogWindow _statisticsWindow;
private void btn_ShowShopRevenueStatisticsView(object sender, RoutedEventArgs e)
{
@@ -1,99 +1,321 @@
<basewindows:BaseWindow x:Class="_29WxOrderWpf.Windows.OrderWindows.TransitAfterSaleWindow" xmlns:basewindows="clr-namespace:_29WxOrderWpf.BaseWindows"
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:_29WxOrderWpf.Windows.OrderWindows"
xmlns:userctrls="clr-namespace:_29WxOrderWpf.UserControls" xmlns:buyerctrls="clr-namespace:_29WxOrderWpf.Ctrls.BuyerCtrls"
mc:Ignorable="d" Style="{StaticResource BaseNoneBorderWindowStyle}"
Title="TransitAfterSaleWindow" Height="650" Width="600" ResizeMode="NoResize" Loaded="TransitAfterSaleWindow_Loaded">
<Grid Background="Transparent" x:Name="mainGrid" Margin="2">
<basewindows:BaseWindow
x:Class="_29WxOrderWpf.Windows.OrderWindows.TransitAfterSaleWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:basewindows="clr-namespace:_29WxOrderWpf.BaseWindows"
xmlns:buyerctrls="clr-namespace:_29WxOrderWpf.Ctrls.BuyerCtrls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:_29WxOrderWpf.Windows.OrderWindows"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:userctrls="clr-namespace:_29WxOrderWpf.UserControls"
Title="TransitAfterSaleWindow"
Width="600"
Height="650"
Loaded="TransitAfterSaleWindow_Loaded"
ResizeMode="NoResize"
Style="{StaticResource BaseNoneBorderWindowStyle}"
mc:Ignorable="d">
<Grid
x:Name="mainGrid"
Margin="2"
Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="50"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="50" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid x:Name="gridTitle">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto"></ColumnDefinition>
<ColumnDefinition Width="auto"></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition Width="auto" />
<ColumnDefinition Width="auto" />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Image Source="{StaticResource main29WeixinIcon}" Height="50" Width="50" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="4"></Image>
<Label x:Name="lblAppName" FontSize="20" Margin="0,0,0,0" Foreground="{StaticResource mainColorLightBrush}" HorizontalAlignment="Center"
VerticalAlignment="Center" VerticalContentAlignment="Center" Content="中转单售后" Grid.Column="1"></Label>
<Image
Width="50"
Height="50"
Margin="4"
HorizontalAlignment="Left"
VerticalAlignment="Center"
Source="{StaticResource main29WeixinIcon}" />
<Label
x:Name="lblAppName"
Grid.Column="1"
Margin="0,0,0,0"
HorizontalAlignment="Center"
VerticalAlignment="Center"
VerticalContentAlignment="Center"
Content="中转单售后"
FontSize="20"
Foreground="{StaticResource mainColorLightBrush}" />
</Grid>
<Border Background="White" Grid.Row="1" Padding="40, 20">
<Border
Grid.Row="1"
Padding="40,20"
Background="White">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="Auto" MinHeight="20"></RowDefinition>
<RowDefinition Height="Auto" MinHeight="20"></RowDefinition>
<RowDefinition Height="Auto" MinHeight="20"></RowDefinition>
<RowDefinition Height="Auto" MinHeight="20"></RowDefinition>
<RowDefinition Height="Auto" MinHeight="20"></RowDefinition>
<RowDefinition Height="Auto" MinHeight="20"></RowDefinition>
<RowDefinition Height="Auto" MinHeight="20"></RowDefinition>
<RowDefinition Height="Auto" MinHeight="20"></RowDefinition>
<RowDefinition Height="Auto" MinHeight="20"></RowDefinition>
<RowDefinition Height="Auto" MinHeight="20"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" MinHeight="20" />
<RowDefinition Height="Auto" MinHeight="20" />
<RowDefinition Height="Auto" MinHeight="20" />
<RowDefinition Height="Auto" MinHeight="20" />
<RowDefinition Height="Auto" MinHeight="20" />
<RowDefinition Height="Auto" MinHeight="20" />
<RowDefinition Height="Auto" MinHeight="20" />
<RowDefinition Height="Auto" MinHeight="20" />
<RowDefinition Height="Auto" MinHeight="20" />
<RowDefinition Height="Auto" MinHeight="20" />
<RowDefinition Height="Auto" MinHeight="20" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition Width="100" />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<Label VerticalAlignment="Top" HorizontalAlignment="Right" FontSize="14" Grid.Row="1">仓库:</Label>
<ComboBox x:Name="cmbWareHouse" Grid.Row="1" Grid.Column="1" VerticalContentAlignment="Center" VerticalAlignment="Top" IsReadOnly="True" IsEnabled="False"
Style="{StaticResource RoundedComboBox}" Height="28" SelectedIndex="0" Margin="0,0,0,25">
</ComboBox>
<Label
Grid.Row="1"
HorizontalAlignment="Right"
VerticalAlignment="Top"
FontSize="14">
仓库:
</Label>
<ComboBox
x:Name="cmbWareHouse"
Grid.Row="1"
Grid.Column="1"
Height="28"
Margin="0,0,0,25"
VerticalAlignment="Top"
VerticalContentAlignment="Center"
IsEnabled="False"
IsReadOnly="True"
SelectedIndex="0"
Style="{StaticResource RoundedComboBox}" />
<Label VerticalAlignment="Top" HorizontalAlignment="Right" FontSize="14" Grid.Row="2">物流公司:</Label>
<TextBox x:Name="txtExpressName" Grid.Row="2" Grid.Column="1" BorderBrush="{StaticResource pageColorBrush}" BorderThickness="1" IsReadOnly="True"
Height="28" VerticalContentAlignment="Center" VerticalAlignment="Top" Style="{StaticResource BaseRoundCornerTextBoxStyle}" Margin="0,0,0,25"/>
<Label
Grid.Row="2"
HorizontalAlignment="Right"
VerticalAlignment="Top"
FontSize="14">
物流公司:
</Label>
<TextBox
x:Name="txtExpressName"
Grid.Row="2"
Grid.Column="1"
Height="28"
Margin="0,0,0,25"
VerticalAlignment="Top"
VerticalContentAlignment="Center"
BorderBrush="{StaticResource pageColorBrush}"
BorderThickness="1"
IsReadOnly="True"
Style="{StaticResource BaseRoundCornerTextBoxStyle}" />
<Label VerticalAlignment="Top" HorizontalAlignment="Right" FontSize="14" Grid.Row="3">物流单号:</Label>
<TextBox x:Name="txtWarehouseWaybill" Grid.Row="3" Grid.Column="1" BorderBrush="{StaticResource pageColorBrush}" BorderThickness="1" IsReadOnly="True"
Height="28" VerticalContentAlignment="Center" VerticalAlignment="Top" Style="{StaticResource BaseRoundCornerTextBoxStyle}" Margin="0,0,0,25"/>
<Label
Grid.Row="3"
HorizontalAlignment="Right"
VerticalAlignment="Top"
FontSize="14">
物流单号:
</Label>
<TextBox
x:Name="txtWarehouseWaybill"
Grid.Row="3"
Grid.Column="1"
Height="28"
Margin="0,0,0,25"
VerticalAlignment="Top"
VerticalContentAlignment="Center"
BorderBrush="{StaticResource pageColorBrush}"
BorderThickness="1"
IsReadOnly="True"
Style="{StaticResource BaseRoundCornerTextBoxStyle}" />
<Label VerticalAlignment="Top" HorizontalAlignment="Right" FontSize="14" Grid.Row="4">地址解析:</Label>
<TextBox x:Name="txtAddressAnalysis" Grid.Row="4" Grid.Column="1" BorderBrush="{StaticResource pageColorBrush}" Height="80" BorderThickness="1" Padding="0,4"
VerticalContentAlignment="Top" VerticalAlignment="Top" Style="{StaticResource BaseRoundCornerTextBoxStyle}" TextWrapping="Wrap" Margin="0,0,0,25"/>
<Button Grid.Row="4" Grid.Column="1" x:Name="btnAddressAnalysis" Style="{StaticResource BasePageButtonStyle}" Click="btnAddressAnalysis_Click"
Margin="4, 29" Content="解 析" MinWidth="48" Height="28" HorizontalAlignment="Right" VerticalAlignment="Bottom" Padding="4"/>
<Label
Grid.Row="4"
HorizontalAlignment="Right"
VerticalAlignment="Top"
FontSize="14">
地址解析:
</Label>
<TextBox
x:Name="txtAddressAnalysis"
Grid.Row="4"
Grid.Column="1"
Height="80"
Margin="0,0,0,25"
Padding="0,4"
VerticalAlignment="Top"
VerticalContentAlignment="Top"
BorderBrush="{StaticResource pageColorBrush}"
BorderThickness="1"
Style="{StaticResource BaseRoundCornerTextBoxStyle}"
TextWrapping="Wrap" />
<Button
x:Name="btnAddressAnalysis"
Grid.Row="4"
Grid.Column="1"
Height="28"
MinWidth="48"
Margin="4,29"
Padding="4"
HorizontalAlignment="Right"
VerticalAlignment="Bottom"
Click="btnAddressAnalysis_Click"
Content="解 析"
Style="{StaticResource BasePageButtonStyle}" />
<Label VerticalAlignment="Top" HorizontalAlignment="Right" FontSize="14" Grid.Row="5">收件人:</Label>
<TextBox x:Name="txtUser" Grid.Row="5" Grid.Column="1" BorderBrush="{StaticResource pageColorBrush}" BorderThickness="1"
Height="28" VerticalContentAlignment="Center" VerticalAlignment="Top" Style="{StaticResource BaseRoundCornerTextBoxStyle}" Margin="0,0,0,25"/>
<Label
Grid.Row="5"
HorizontalAlignment="Right"
VerticalAlignment="Top"
FontSize="14">
收件人:
</Label>
<TextBox
x:Name="txtUser"
Grid.Row="5"
Grid.Column="1"
Height="28"
Margin="0,0,0,25"
VerticalAlignment="Top"
VerticalContentAlignment="Center"
BorderBrush="{StaticResource pageColorBrush}"
BorderThickness="1"
Style="{StaticResource BaseRoundCornerTextBoxStyle}" />
<Label VerticalAlignment="Top" HorizontalAlignment="Right" FontSize="14" Grid.Row="6">联系电话:</Label>
<TextBox x:Name="txtMobile" Grid.Row="6" Grid.Column="1" BorderBrush="{StaticResource pageColorBrush}" BorderThickness="1"
Height="28" VerticalContentAlignment="Center" VerticalAlignment="Top" Style="{StaticResource BaseRoundCornerTextBoxStyle}" Margin="0,0,0,25"/>
<Label
Grid.Row="6"
HorizontalAlignment="Right"
VerticalAlignment="Top"
FontSize="14">
联系电话:
</Label>
<TextBox
x:Name="txtMobile"
Grid.Row="6"
Grid.Column="1"
Height="28"
Margin="0,0,0,25"
VerticalAlignment="Top"
VerticalContentAlignment="Center"
BorderBrush="{StaticResource pageColorBrush}"
BorderThickness="1"
Style="{StaticResource BaseRoundCornerTextBoxStyle}" />
<Label VerticalAlignment="Top" HorizontalAlignment="Right" FontSize="14" Grid.Row="7">省/市/区:</Label>
<Label
Grid.Row="7"
HorizontalAlignment="Right"
VerticalAlignment="Top"
FontSize="14">
省/市/区:
</Label>
<Grid Grid.Row="7" Grid.Column="1">
<Grid.ColumnDefinitions>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition></ColumnDefinition>
<ColumnDefinition />
<ColumnDefinition />
<ColumnDefinition />
</Grid.ColumnDefinitions>
<TextBox x:Name="txtProvince" Grid.Row="0" Grid.Column="0" BorderBrush="{StaticResource pageColorBrush}" BorderThickness="1"
Height="28" VerticalContentAlignment="Center" VerticalAlignment="Top" Style="{StaticResource BaseRoundCornerTextBoxStyle}" Margin="0,0,0,25"/>
<TextBox x:Name="txtCity" Grid.Row="0" Grid.Column="1" BorderBrush="{StaticResource pageColorBrush}" BorderThickness="1"
Height="28" VerticalContentAlignment="Center" VerticalAlignment="Top" Style="{StaticResource BaseRoundCornerTextBoxStyle}" Margin="2,0,2,25"/>
<TextBox x:Name="txtCounty" Grid.Row="0" Grid.Column="2" BorderBrush="{StaticResource pageColorBrush}" BorderThickness="1"
Height="28" VerticalContentAlignment="Center" VerticalAlignment="Top" Style="{StaticResource BaseRoundCornerTextBoxStyle}" Margin="0,0,0,25"/>
<TextBox
x:Name="txtProvince"
Grid.Row="0"
Grid.Column="0"
Height="28"
Margin="0,0,0,25"
VerticalAlignment="Top"
VerticalContentAlignment="Center"
BorderBrush="{StaticResource pageColorBrush}"
BorderThickness="1"
Style="{StaticResource BaseRoundCornerTextBoxStyle}" />
<TextBox
x:Name="txtCity"
Grid.Row="0"
Grid.Column="1"
Height="28"
Margin="2,0,2,25"
VerticalAlignment="Top"
VerticalContentAlignment="Center"
BorderBrush="{StaticResource pageColorBrush}"
BorderThickness="1"
Style="{StaticResource BaseRoundCornerTextBoxStyle}" />
<TextBox
x:Name="txtCounty"
Grid.Row="0"
Grid.Column="2"
Height="28"
Margin="0,0,0,25"
VerticalAlignment="Top"
VerticalContentAlignment="Center"
BorderBrush="{StaticResource pageColorBrush}"
BorderThickness="1"
Style="{StaticResource BaseRoundCornerTextBoxStyle}" />
</Grid>
<Label VerticalAlignment="Top" HorizontalAlignment="Right" FontSize="14" Grid.Row="8">详细地址:</Label>
<TextBox x:Name="txtDetailAddress" Grid.Row="8" Grid.Column="1" BorderBrush="{StaticResource pageColorBrush}" BorderThickness="1"
Height="28" VerticalContentAlignment="Center" VerticalAlignment="Top" Style="{StaticResource BaseRoundCornerTextBoxStyle}" Margin="0,0,0,25"/>
<Label
Grid.Row="8"
HorizontalAlignment="Right"
VerticalAlignment="Top"
FontSize="14">
详细地址:
</Label>
<TextBox
x:Name="txtDetailAddress"
Grid.Row="8"
Grid.Column="1"
Height="28"
Margin="0,0,0,25"
VerticalAlignment="Top"
VerticalContentAlignment="Center"
BorderBrush="{StaticResource pageColorBrush}"
BorderThickness="1"
Style="{StaticResource BaseRoundCornerTextBoxStyle}" />
<Button Grid.Row="9" Grid.Column="1" x:Name="btnAdd" Style="{StaticResource BasePageButtonStyle}" Click="btnAdd_Click"
Margin="0,0,0,0" Content="添 加" MinWidth="48" Height="28" HorizontalAlignment="left" VerticalAlignment="Top" Padding="4"/>
<Label x:Name="lblMsg" Grid.Row="9" Grid.Column="1" Margin="70,0,0,0" Foreground="{StaticResource PageWarningBrushCC}"></Label>
<Button
x:Name="btnWorkOrder"
Grid.Row="9"
Grid.Column="0"
Height="28"
MinWidth="48"
Margin="0,0,0,0"
Padding="4"
HorizontalAlignment="Center"
VerticalAlignment="Top"
d:Visibility="Visible"
Click="btnWorkOrder_Click"
Content="提交工单"
Style="{StaticResource BasePageButtonStyle}"
Visibility="Collapsed" />
<Button
x:Name="btnAdd"
Grid.Row="9"
Grid.Column="1"
MinWidth="48"
Padding="4"
HorizontalAlignment="Left"
Click="btnAdd_Click"
Content="添 加"
Style="{StaticResource BasePageButtonStyle}" />
<Label
x:Name="lblMsg"
Grid.Row="9"
Grid.Column="1"
Margin="70,0,0,0"
Foreground="{StaticResource PageWarningBrushCC}" />
<Label
x:Name="lblWorkOrderMsg"
Grid.Row="11"
Grid.Column="1"
Margin="-6,0,0,0"
d:Content="已提交工单"
Foreground="{StaticResource pageColorBrush}" />
</Grid>
</Border>
<userctrls:UcWindowBoxes x:Name="ucWindowBox" VerticalAlignment="Top" HorizontalAlignment="Right" Margin="4" MaxBoxVisibility="Visible"/>
<userctrls:UcWindowBoxes
x:Name="ucWindowBox"
Margin="4"
HorizontalAlignment="Right"
VerticalAlignment="Top"
MaxBoxVisibility="Visible" />
</Grid>
</basewindows:BaseWindow>
@@ -44,7 +44,7 @@ namespace _29WxOrderWpf.Windows.OrderWindows
}
private void TransitAfterSaleWindow_Loaded(object sender, RoutedEventArgs e)
private async void TransitAfterSaleWindow_Loaded(object sender, RoutedEventArgs e)
{
foreach (var warehouse in TransitWarehouseData.TransitWarehouseList)
{
@@ -53,7 +53,7 @@ namespace _29WxOrderWpf.Windows.OrderWindows
if (OrderItem != null)
{
this.cmbWareHouse.Text = TransitWarehouseData.TransitWarehouseList.FirstOrDefault(t => t.TransId == OrderItem.ItemTransitOrder?.platform)?.TransName;
this.cmbWareHouse.Text = TransitWarehouseData.TransitWarehouseList.FirstOrDefault(t => t.TransId == OrderItem.ItemTransitOrder?.platform)?.TransName;
this.txtExpressName.Text = OrderItem.ItemTransitOrder?.express_2_company;
this.txtWarehouseWaybill.Text = OrderItem.ItemTransitOrder?.express_2_waybill;
@@ -77,18 +77,26 @@ namespace _29WxOrderWpf.Windows.OrderWindows
btnAddressAnalysis_Click(null, null);
}
}
var workOrderInfo = await GetWorkOrder();
var issueType = BaseRegex.GetStringJson(ref workOrderInfo, "issueType");
var createTime = BaseRegex.GetStringJson(ref workOrderInfo, "createdAt").ParseToString().ParseToDateTime();
if (!string.IsNullOrEmpty(issueType))
{
lblWorkOrderMsg.Content = "已提交工单(" + createTime.ParseToString() + ")";
}
}
//if (OrderItem?.ItemTransitOrder?.warehouse_status != 0 && OrderItem?.ItemTransitOrder?.warehouse_status != 1)
////if (OrderItem?.ItemTransitOrderWithVoid?.warehouse_status != 0 && OrderItem?.ItemTransitOrderWithVoid?.warehouse_status != 1)
//{
// btnAdd.IsEnabled = false;
// //BaseMsgWindow.ShowError("当前订单仓库状态不支持售后,请联系买家直接退回总店!");
// lblMsg.Content = "当前订单仓库状态不支持售后,请联系买家直接退回总店!";
// return;
//}
//if (OrderItem?.ItemTransitOrder?.warehouse_status != 0 && OrderItem?.ItemTransitOrder?.warehouse_status != 1)
////if (OrderItem?.ItemTransitOrderWithVoid?.warehouse_status != 0 && OrderItem?.ItemTransitOrderWithVoid?.warehouse_status != 1)
//{
// btnAdd.IsEnabled = false;
// //BaseMsgWindow.ShowError("当前订单仓库状态不支持售后,请联系买家直接退回总店!");
// lblMsg.Content = "当前订单仓库状态不支持售后,请联系买家直接退回总店!";
// return;
//}
if ((OrderItem?.ItemTransitOrder?.warehouse_status).ParseToInt() < 1)
if ((OrderItem?.ItemTransitOrder?.warehouse_status).ParseToInt() < 1)
{
lblMsg.Content = "当前订单仓库状态不支持售后!";
}
@@ -102,19 +110,28 @@ namespace _29WxOrderWpf.Windows.OrderWindows
return;
}
//http://localhost:8088/oms-api/external_procurement/createReturnPackage
//{
// "orderNo": "3737011320735026432",
// "orderCode": "4600000167202606117621000767",
// "refundProvince": "安徽省",
// "refundCity": "合肥市",
// "refundCounty": "瑶海区",
// "refundDetailAddress": "某街道 1”,
// "recipientName": "张三",
// "recipientPhone": "13800138000"
//} post(json)请求方式,如果使用客户端账户扣款增加一个参数account_user
var workOrder = AddWorkOrder();
if (!workOrder.Contains("\"success\":true"))
{
BaseMsgWindow.ShowError("中转拦截包裹添加失败," + BaseRegex.GetStringJson(ref workOrder, "message"), "", this);
return;
}
//{"success":true,"replayed":true,"operation":"replayed","ticket":{"id":"1d268a38-7f60-4295-9345-a8f21298181c","ticketNo":"WO-20260820102516-AE62D8F2","issueType":"拦截退回云仓-出库后","status":"pending_approval","queue":"pending"},"creatorBinding":{"bound":true,"clientUserId":"user_1784451034258_a6da3c","username":"18305598906"},"targetOrder":{"appId":"wx5cfcfda1fae03689","wechatOrderNo":"3737793636785868032","purchaseOrderNo":"260716-496899202560980","verified":true},"requestId":"2bbd8e98-0a95-4162-9fc1-b377644209ed"}
JObject data = new JObject();
//http://localhost:8088/oms-api/external_procurement/createReturnPackage
//{
// "orderNo": "3737011320735026432",
// "orderCode": "4600000167202606117621000767",
// "refundProvince": "安徽省",
// "refundCity": "合肥市",
// "refundCounty": "瑶海区",
// "refundDetailAddress": "某街道 1”,
// "recipientName": "张三",
// "recipientPhone": "13800138000"
//} post(json)请求方式,如果使用客户端账户扣款增加一个参数account_user
JObject data = new JObject();
data["orderNo"] = OrderItem.order_id;
data["orderCode"] = OrderItem.ItemTransitOrder?.order_code;
data["refundProvince"] = txtProvince.Text.Trim();
@@ -207,5 +224,30 @@ namespace _29WxOrderWpf.Windows.OrderWindows
this.txtUser.Text = tArr.FirstOrDefault();
this.txtDetailAddress.Text = string.Join("", tArr).Replace(this.txtUser.Text, "");
}
}
private void btnWorkOrder_Click(object sender, RoutedEventArgs e)
{
}
public string AddWorkOrder()
{
string url = HttpResponseTransitWorkOrderBLL.WorkOrderUrl + "/api/open/v1/customer-work-orders/intercept-return-cloud-warehouse-after-outbound";
JObject obj = new JObject();
obj["appId"] = this.OrderItem.Shop.ShopId;
obj["wechatOrderNo"] = this.OrderItem.order_id;
obj["purchaseOrderNo"] = this.OrderItem.PddBuyerAfterSale?.orderSn;
obj["creator"] = BaseClass.UserName;
obj["remark"] = "客户要求拦截并退回云仓";
var rst = HttpResponseTransitWorkOrderBLL.PostResponse(this.OrderItem.Shop, url, JsonHelper.SerializeObject(obj), "");
return rst;
}
public async Task<string> GetWorkOrder()
{
string url = HttpResponseTransitWorkOrderBLL.WorkOrderUrl + "/api/open/v1/customer-work-orders?wechatOrderNo=" + this.OrderItem.order_id;
var rst = await HttpResponseTransitWorkOrderBLL.GetResponseAsync(this.OrderItem.Shop, url, "");
return rst;
}
}
}
@@ -56,7 +56,7 @@ namespace _29WxOrderWpf.Windows.OrderWindows
this.cmbExpressName.Items.Add("极兔速递");
this.cmbExpressName.Items.Add("申通快递");
this.cmbExpressName.Items.Add("韵达快递");
this.cmbExpressName.Items.Add("圆通快递");
this.cmbExpressName.Items.Add("圆通速递");
this.cmbExpressName.Items.Add("中通快递");
this.cmbExpressName.Items.Add("百世快运");
this.cmbExpressName.Items.Add("顺丰速运");
@@ -178,7 +178,10 @@ namespace _29WxOrderWpf.Windows.OrderWindows
jObj["orderDetailsList"] = new JArray();
(jObj["orderDetailsList"] as JArray).Add(jItemObj);
if (btnAdd.Content.ToString() == "添 加")
var returnOrders = OrderListCtrl.GetTransitReturnOrderList(OrderItem.order_id);
OrderItem.DistribReturnOrderInfos = returnOrders;
if (btnAdd.Content.ToString() == "添 加" && OrderItem.DistribReturnOrderInfo == null)
{
var addReturnOrderUrl = "https://po.e57.cn/prod-api/api/oms-api/api/distribution/returns/addReturnOrder";
var addReturnOrderStr = JsonHelper.SerializeObject(jObj);
@@ -193,8 +196,9 @@ namespace _29WxOrderWpf.Windows.OrderWindows
}
}
var returnOrders = OrderListCtrl.GetTransitReturnOrderList(OrderItem.order_id);
var orderCode = returnOrders.OrderBy(o => o.created_at).LastOrDefault()?.order_code;
returnOrders = OrderListCtrl.GetTransitReturnOrderList(OrderItem.order_id);
OrderItem.DistribReturnOrderInfos = returnOrders;
var orderCode = OrderItem.DistribReturnOrderInfo.order_code;
if (string.IsNullOrEmpty(orderCode))
{
BaseMsgWindow.ShowError("中转仓退货订单创建失败,售后单获取失败");
@@ -205,9 +209,10 @@ namespace _29WxOrderWpf.Windows.OrderWindows
var createObj = new JObject();
createObj["orderCode"] = orderCode;
createObj["logisticsCode"] = jObj["logisticsCode"].ParseToString();
createObj["logisticsExpressCode"] = jObj["logisticsExpressNo"].ParseToString();
createObj["logisticsExpressNo"] = jObj["logisticsExpressNo"].ParseToString();
var createReturnOrderStr = JsonHelper.SerializeObject(createObj);
var createReturnOrderRst = HttpResponseWXBLL.e57PostResponse(createReturnOrderUrl, createReturnOrderStr, "");
//<AjaxResult><msg>创建第三方退货订单成功</msg><code>0</code></AjaxResult>
if (!createReturnOrderRst.ParseToString().Contains("<code>200</code>") && !createReturnOrderRst.ParseToString().Contains("<code>0</code>"))
{
string msg = BaseRegex.GetStringXml(ref createReturnOrderRst, "msg");
@@ -295,6 +300,8 @@ namespace _29WxOrderWpf.Windows.OrderWindows
(jObj["orderDetailsList"] as JArray).Add(jItemObj);
var returnOrders = OrderListCtrl.GetTransitReturnOrderList(OrderItem.order_id);
OrderItem.DistribReturnOrderInfos = returnOrders;
if (OrderItem.DistribReturnOrderInfo == null)
{
var addReturnOrderUrl = "https://po.e57.cn/prod-api/api/oms-api/api/distribution/returns/addReturnOrder";
@@ -310,8 +317,9 @@ namespace _29WxOrderWpf.Windows.OrderWindows
}
}
var returnOrders = OrderListCtrl.GetTransitReturnOrderList(OrderItem.order_id);
var orderCode = returnOrders.OrderBy(o => o.created_at).LastOrDefault()?.order_code;
returnOrders = OrderListCtrl.GetTransitReturnOrderList(OrderItem.order_id);
OrderItem.DistribReturnOrderInfos = returnOrders;
var orderCode = OrderItem.DistribReturnOrderInfo.order_code;
if (string.IsNullOrEmpty(orderCode))
{
BaseMsgWindow.ShowAnimateMessage("中转仓退货订单创建失败,售后单获取失败", "Error", 5);
@@ -322,7 +330,7 @@ namespace _29WxOrderWpf.Windows.OrderWindows
var createObj = new JObject();
createObj["orderCode"] = orderCode;
createObj["logisticsCode"] = jObj["logisticsCode"].ParseToString();
createObj["logisticsExpressCode"] = jObj["logisticsExpressNo"].ParseToString();
createObj["logisticsExpressNo"] = jObj["logisticsExpressNo"].ParseToString();
var createReturnOrderStr = JsonHelper.SerializeObject(createObj);
var createReturnOrderRst = HttpResponseWXBLL.e57PostResponse(createReturnOrderUrl, createReturnOrderStr, "");
if (!createReturnOrderRst.ParseToString().Contains("<code>200</code>") && !createReturnOrderRst.ParseToString().Contains("<code>0</code>"))
@@ -335,9 +343,9 @@ namespace _29WxOrderWpf.Windows.OrderWindows
return;
}
//<AjaxResult><msg>创建退货包裹成功</msg><code>0</code></AjaxResult>
MainWindow.Instance.orderListCtrl.GetOrder(OrderItem.order_id);
//MainWindow.Instance.orderListCtrl.GetOrder(OrderItem.order_id);
returnOrders = OrderListCtrl.GetTransitReturnOrderList(OrderItem.order_id);
OrderItem.DistribReturnOrderInfos = returnOrders;
StartUp.UpdateBalance();
BaseMsgWindow.ShowAnimateMessage("中转仓退货订单创建成功", "Msg", 2);
}
+1 -1
View File
@@ -36,7 +36,7 @@ namespace AllBase
/// 版本ID
/// </summary>
public static int VersionCount = 252;
public static int VersionCount = 253;
public static string ServerUrl { get; set; } = "http://1.13.195.131:9000";
public static string DebugUrl { get; set; } = "http://localhost:9000";
+18 -18
View File
@@ -40,32 +40,32 @@ namespace AllBase.Model.DBModel
public class TransitWarehouseData
{
public static string TransitWarehouseDataStr = @"
XDYYWC ;义乌仓 ;小田 ;19058117371 ;浙江省金华市义乌市北苑街道西站大道妈妈商贸18号库39号楼誉达 ;31 ;386 ;3409 ;浙江省 ;金华市
XDYBJC ;北京仓 ;胡萍 ;18565773752 ;北京市顺义区光明街道滨河小区七区1号楼 ;2 ;52 ;511 ;北京市 ;北京市
XDYGZC ;广州仓 ;何外华 ;13826339849 ;广州市从化区太平镇高埔细埔街99号东门4栋3楼 ;6 ;76 ;692 ;广东省 ;广州市
XDYWHC ;武汉2仓 ;杨先生 ;13044121071 ;湖北省武汉市汉阳区洲头街道汉新大道2号3栋17楼 ;13 ;180 ;1548 ;湖北省 ;武汉市
XDYSHANDC ;山东2仓 ;鸿鹄小申 ;13044121239 ;山东省临沂市费县南外环东转盘往东200米顺通快递有限公司(仓库二楼) ;22 ;292 ;2415 ;山东省 ;临沂市
XDYSHC ;上海新仓 ;纪先生 ;13044121150 ;上海市上海市普陀区真如镇街道真北路2653弄T区 ;25 ;321 ;2709 ;上海市 ;上海市
XDYSZC ;深圳仓 ;峰峰 ;15343351331 ;广东省东莞市凤岗镇浸校塘东良巷逸乐轩E栋5号楼 ;6 ;79 ;732 ;广东省 ;东莞市";
//XDYJJC ;晋江仓 ;安群 ;19905951984 ;福建省泉州市南安市霞美镇温山村431号鸿鹄大厦 ;4 ;58 ;569 ;福建省 ;泉州市
//XDYCDC ;成都仓 ;谢春虹 ;15828201479 ;四川省资阳市乐至县仙鹤大道桑都街15-19号仓库(不要放驿站,送到仓库) ;26 ;340 ;2898 ;四川省 ;资阳市
//XDYCHONGQC ;重庆2仓 ;翁桂柱 ;18923911055 ;重庆市九龙坡区中梁山街道云飞九龙香山(二纵线东50米)重庆九龙坡区渝州公司 ;32 ;394 ;3339
//XDYHEBC ;哈尔滨仓 ;韩健 ;13044121250 ;黑龙江省哈尔滨市双城区新兴镇钱江路南侧韵达快递分拨中心发出库房84号装车口旁边电梯 ;12 ;167 ;1426
//XDYXA ;西安仓 ;方先生 ;15813526665 ;陕西省西安市雁塔区田马路厨具市场内韵达超市(田马路店);24 ;311 ;2599
//XDYGYC ;贵阳仓 ;潘小娘 ;19218546304 ;贵州省黔南州龙里县谷脚镇韵达分拨中心 综合楼一楼 食堂隔壁(不要放驿站,送到仓库) ;8 ;116 ;1017
//XDYKMC ;昆明仓 ;杨源炜 ;19533700289 ;云南省昆明市宜良县北古城镇红枫路一号韵达分拨(不要放驿站,送到仓库) ;30 ;367 ;3109
//XDYSSC ;河北仓 ;田女士 ;13382898026 ;河北省衡水市安平县兴安大道灿达创业基地韵达库房A-1 ;10 ;143 ;1180
//XDYZZC ;郑州仓 ;朱红艳 ;13044121247 ;河南省郑州市经济开发区祥云办公处润之新物流园韵达速递 ;11 ;149 ;1259
//XDYYWC ;义乌仓 ;小田 ;19058117371 ;浙江省金华市义乌市北苑街道西站大道妈妈商贸18号库39号楼誉达 ;31 ;386 ;3409 ;浙江省 ;金华市
//XDYJJC ;晋江仓 ;安群 ;19905951984 ;福建省泉州市南安市霞美镇温山村431号鸿鹄大厦 ;4 ;58 ;569 ;福建省 ;泉州市
//XDYCDC ;成都仓 ;谢春虹 ;15828201479 ;四川省资阳市乐至县仙鹤大道桑都街15-19号仓库(不要放驿站,送到仓库) ;26 ;340 ;2898 ;四川省 ;资阳市
//XDYCHONGQC ;重庆2仓 ;翁桂柱 ;18923911055 ;重庆市九龙坡区中梁山街道云飞九龙香山(二纵线东50米)重庆九龙坡区渝州公司 ;32 ;394 ;3339
//XDYHEBC ;哈尔滨仓 ;韩健 ;13044121250 ;黑龙江省哈尔滨市双城区新兴镇钱江路南侧韵达快递分拨中心发出库房84号装车口旁边电梯 ;12 ;167 ;1426
//XDYXA ;西安仓 ;方先生 ;15813526665 ;陕西省西安市雁塔区田马路厨具市场内韵达超市(田马路店);24 ;311 ;2599
//XDYGYC ;贵阳仓 ;潘小娘 ;19218546304 ;贵州省黔南州龙里县谷脚镇韵达分拨中心 综合楼一楼 食堂隔壁(不要放驿站,送到仓库) ;8 ;116 ;1017
//XDYKMC ;昆明仓 ;杨源炜 ;19533700289 ;云南省昆明市宜良县北古城镇红枫路一号韵达分拨(不要放驿站,送到仓库) ;30 ;367 ;3109
//XDYSSC ;河北仓 ;田女士 ;13382898026 ;河北省衡水市安平县兴安大道灿达创业基地韵达库房A-1 ;10 ;143 ;1180
//XDYZZC ;郑州仓 ;朱红艳 ;13044121247 ;河南省郑州市经济开发区祥云办公处润之新物流园韵达速递 ;11 ;149 ;1259
// 广州仓 广州市从化区太平镇高埔细埔街99号东门***栋***楼
// 深圳仓 广东省东莞市凤岗镇浸校塘东良巷逸乐轩E栋***楼
// 武汉2仓 湖北省武汉市汉阳区洲头街道汉新大道2号***栋 * **楼
// 义乌仓 浙江省金华市义乌市北苑街道西站大道妈妈商贸*号库 * **楼誉达
// 义乌(7-999)*号库
//XDYYWC ;义乌仓 ;小田 ;19058117371 ;浙江省金华市义乌市北苑街道西站大道妈妈商贸6号库3楼中库走到底鸿鹄云仓(康诚楼上) ;31 ;386 ;3409 ;浙江省 ;金华市
//XDYSZC ;深圳仓 ;峰峰 ;15343351331 ;广东省东莞市东莞市凤岗镇 浸校塘东良巷兔喜生活(云仓);6 ;79 ;732 ;广东省 ;东莞市";
// 广州仓 广州市从化区太平镇高埔细埔街99号东门***栋***楼
// 深圳仓 广东省东莞市凤岗镇浸校塘东良巷逸乐轩E栋***楼
// 武汉2仓 湖北省武汉市汉阳区洲头街道汉新大道2号***栋 * **楼
// 义乌仓 浙江省金华市义乌市北苑街道西站大道妈妈商贸*号库 * **楼誉达
// 义乌(7-999)*号库
//XDYYWC ;义乌仓 ;小田 ;19058117371 ;浙江省金华市义乌市北苑街道西站大道妈妈商贸6号库3楼中库走到底鸿鹄云仓(康诚楼上) ;31 ;386 ;3409 ;浙江省 ;金华市
//XDYSZC ;深圳仓 ;峰峰 ;15343351331 ;广东省东莞市东莞市凤岗镇 浸校塘东良巷兔喜生活(云仓);6 ;79 ;732 ;广东省 ;东莞市";
static List<TransitWarehouseParam> transitWarehouseList = null;
static List<TransitWarehouseParam> transitWarehouseList = null;
public static List<TransitWarehouseParam> TransitWarehouseList
{
@@ -271,7 +271,11 @@ namespace AllBase.Model.DBModel
AddEditTransitWarehouseRejectStr = "申请拒收成功";
if (this.ItemTransitOrderWithVoid?.has_reject == 5)
AddEditTransitWarehouseRejectStr = "已取消拒收";
if (this.ItemTransitOrderWithVoid == null || (!this.ItemOrder.IsEmergency && !this.ItemOrder.isAbnormal && !this.ItemOrder.IsRefund) || this.ItemTransitOrderWithVoid.warehouse_status >= 2 ||
if (this.ItemTransitOrderWithVoid == null || this.ItemRefund?.type != "REFUND" || // 仅退款
!(this.ItemRefund?.return_waybill_id).IsNullOrEmpty() || !(this.ItemRefund?.return_detail).IsNullOrEmpty() ||
(!this.ItemOrder.IsEmergency && !this.ItemOrder.isAbnormal && !this.ItemOrder.IsRefund) ||
(this.ItemTransitOrderWithVoid.warehouse_status != 0 && this.ItemTransitOrderWithVoid.warehouse_status != 1) ||
this.ItemTransitOrderWithVoid.platform == "XDYYWC" || // 义务仓不能申请拒收
string.IsNullOrEmpty(PddBuyerOrder?.order_sn))
{
if (AddEditTransitWarehouseRejectStr == "申请")
@@ -283,9 +287,15 @@ namespace AllBase.Model.DBModel
}
// 仓库物流售后按钮上的文字,仓库作废单不存在仓库物流,所以此处必须是有效的仓库单(含作废失败)
AddEditTransitWarehouseAfterSaleStr = this.ItemTransitOrderAfterSale == null ? "添加" : "已添加";
if (this.ItemTransitOrderWithVoid == null || (!this.ItemOrder.IsEmergency && !this.ItemOrder.isAbnormal && !this.ItemOrder.IsRefund) || this.ItemTransitOrderWithVoid.warehouse_status < 1)
// 仓库物流售后拦截包裹按钮上的文字,仓库作废单不存在仓库物流,所以此处必须是有效的仓库单(含作废失败)
AddEditTransitWarehouseAfterSaleStr = "添加";
if (this.ItemTransitOrderAfterSale != null)
AddEditTransitWarehouseAfterSaleStr = "已添加";
if (this.ItemTransitOrderWithVoid == null || this.ItemRefund?.type != "REFUND" ||
!(this.ItemRefund?.return_waybill_id).IsNullOrEmpty() || !(this.ItemRefund?.return_detail).IsNullOrEmpty() ||
(!this.ItemOrder.IsEmergency && !this.ItemOrder.isAbnormal && !this.ItemOrder.IsRefund) ||
this.ItemTransitOrderWithVoid.warehouse_status == 0 ||
(this.ItemTransitOrderWithVoid.warehouse_status == 1 && !AddEditTransitWarehouseRejectStr.IsNullOrEmpty() && AddEditTransitWarehouseRejectStr != "申请拒收失败"))
{
if (AddEditTransitWarehouseAfterSaleStr != "已添加")
AddEditTransitWarehouseAfterSaleStr = "";
@@ -525,10 +535,10 @@ namespace AllBase.Model.DBModel
WarehouseWaybillStatusStr = "中转拦截到仓";
else if (ItemTransitOrderWithVoid?.warehouse_status == 2)
WarehouseWaybillStatusStr = "中转已出库";
// 老订单还用之前的逻辑判断
else if (ItemTransitOrderWithVoid?.created_time < new DateTime(2026, 7, 14) && (ItemTransitOrderWithVoid?.pre_allocated_order_no == 1 || ItemTransitOrderWithVoid?.pre_allocated_order_no == 3) && !ItemTransitOrderWithVoid.express_2_company.IsNullOrEmpty() && !ItemTransitOrderWithVoid.express_2_waybill.IsNullOrEmpty())
//WarehouseWaybillStatusStr = "中转已出库*";
WarehouseWaybillStatusStr = "中转已出库";
//// 老订单还用之前的逻辑判断
//else if (ItemTransitOrderWithVoid?.created_time < new DateTime(2026, 7, 14) && (ItemTransitOrderWithVoid?.pre_allocated_order_no == 1 || ItemTransitOrderWithVoid?.pre_allocated_order_no == 3) && !ItemTransitOrderWithVoid.express_2_company.IsNullOrEmpty() && !ItemTransitOrderWithVoid.express_2_waybill.IsNullOrEmpty())
// //WarehouseWaybillStatusStr = "中转已出库*";
// WarehouseWaybillStatusStr = "中转已出库";
else if (ItemTransitOrderWithVoid?.warehouse_status == 1)
WarehouseWaybillStatusStr = "中转已入库";
//else if ((ItemTransitOrderWithVoid?.pre_allocated_order_no == 1 || ItemTransitOrderWithVoid?.pre_allocated_order_no == 3) && !ItemTransitOrderWithVoid.express_2_company.IsNullOrEmpty() && !ItemTransitOrderWithVoid.express_2_waybill.IsNullOrEmpty())
+3 -1
View File
@@ -80,8 +80,10 @@ namespace AllBase.Model.DBModel
中转仓扣费支出 = 20,
中转仓作废收入 = 23,
中转仓超重支出 = 24,
退货包裹扣费支出 = 26,
支付宝在线充值 = 30,
}
云仓退货支出 = 31,
}
/*
// 充值
+1
View File
@@ -272,6 +272,7 @@
<Compile Include="KJDServer.API\KJDServerHttp.cs" />
<Compile Include="KJDServer.API\WXOrder\WxOrderServiceApi.cs" />
<Compile Include="_29Tools\BLL\HttpResponseBLL.cs" />
<Compile Include="_29Tools\BLL\HttpResponseTransitWorkOrderBLL.cs" />
<Compile Include="_29Tools\BLL\HttpResponseWXBLL.cs" />
<Compile Include="_29Tools\BLL\HttpResponseYkdBLL.cs" />
<Compile Include="_29Tools\BLL\ShopBLL.cs" />
@@ -0,0 +1,193 @@
using AllBase;
using AllBase.Model.DBModel;
using NaiBa.Util.Extension;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
namespace Work._29Tools.BLL
{
public class HttpResponseTransitWorkOrderBLL
{
public static string WorkOrderUrl { get; set; } = "http://14.103.99.254";
public static string PostResponse(ShopLoginInfo shop, string _url, string _body, string referer)
{
string cookies = "";
try
{
var cookieLst = JsonHelper.DeserializeJsonToList<CefSharp.Cookie>((shop?.Cookies).ParseToString());
if (cookieLst == null)
cookieLst = new List<CefSharp.Cookie>();
foreach (var cook in cookieLst)
{
cookies += cook.Name + "=" + cook.Value + ";";
}
}
catch { }
HttpWebResponse response = null;
string result;
try
{
string url = _url;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.KeepAlive = true;
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36";
request.ContentType = "application/json";
request.Accept = "*/*";
request.Headers.Add("Origin", WorkOrderUrl);
request.Headers.Add("X-Api-Key", "rwo_vmRcWpEFIB9zSTRkXoKSeTpq.ihFaJR7SPFi6GsmKtkorSKo-uj3IsYAvhJQI7lLKu1M");
request.Referer = referer;
request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9");
if (!string.IsNullOrEmpty(cookies))
request.Headers.Set(HttpRequestHeader.Cookie, cookies);
request.Method = "POST";
request.ServicePoint.Expect100Continue = false;
string body = _body;
byte[] postBytes = System.Text.Encoding.UTF8.GetBytes(body);
request.ContentLength = postBytes.Length;
Stream stream = request.GetRequestStream();
stream.Write(postBytes, 0, postBytes.Length);
stream.Close();
response = (HttpWebResponse)request.GetResponse();
}
catch (WebException ex)
{
if (ex.Status == WebExceptionStatus.ProtocolError)
{
response = (HttpWebResponse)ex.Response;
result = HttpResponseBLL.ReadResponse(response);
return result;
}
else return ex.Message;
}
catch (Exception e)
{
if (response != null) response.Close();
return e.Message;
}
result = HttpResponseBLL.ReadResponse(response);
return result;
}
public static string GetResponse(ShopLoginInfo shop, string _url, string referer)
{
string cookies = "";
try
{
var cookieLst = JsonHelper.DeserializeJsonToList<CefSharp.Cookie>((shop?.Cookies).ParseToString());
if (cookieLst == null)
cookieLst = new List<CefSharp.Cookie>();
foreach (var cook in cookieLst)
{
cookies += cook.Name + "=" + cook.Value + ";";
}
}
catch { }
HttpWebResponse response = null;
string result;
try
{
string url = _url;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.KeepAlive = true;
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36";
request.ContentType = "application/json";
request.Accept = "*/*";
request.Headers.Add("X-Api-Key", "rwo_vmRcWpEFIB9zSTRkXoKSeTpq.ihFaJR7SPFi6GsmKtkorSKo-uj3IsYAvhJQI7lLKu1M");
request.Referer = referer;
request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6");
if (!string.IsNullOrEmpty(cookies))
request.Headers.Set(HttpRequestHeader.Cookie, cookies);
response = (HttpWebResponse)request.GetResponse();
}
catch (WebException ex)
{
if (ex.Status == WebExceptionStatus.ProtocolError)
{
response = (HttpWebResponse)ex.Response;
result = HttpResponseBLL.ReadResponse(response);
return result;
}
else return ex.Message;
}
catch (Exception e)
{
if (response != null) response.Close();
return e.Message;
}
result = HttpResponseBLL.ReadResponse(response);
return result;
}
public static async Task<string> GetResponseAsync(ShopLoginInfo shop, string _url, string referer)
{
string cookies = "";
try
{
var cookieLst = JsonHelper.DeserializeJsonToList<CefSharp.Cookie>((shop?.Cookies).ParseToString());
if (cookieLst == null)
cookieLst = new List<CefSharp.Cookie>();
foreach (var cook in cookieLst)
{
cookies += cook.Name + "=" + cook.Value + ";";
}
}
catch { }
HttpWebResponse response = null;
string result;
try
{
string url = _url;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.KeepAlive = true;
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36";
request.ContentType = "application/json";
request.Accept = "*/*";
request.Headers.Add("X-Api-Key", "rwo_vmRcWpEFIB9zSTRkXoKSeTpq.ihFaJR7SPFi6GsmKtkorSKo-uj3IsYAvhJQI7lLKu1M");
request.Referer = referer;
request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6");
if (!string.IsNullOrEmpty(cookies))
request.Headers.Set(HttpRequestHeader.Cookie, cookies);
response = (HttpWebResponse)await request.GetResponseAsync();
}
catch (WebException ex)
{
if (ex.Status == WebExceptionStatus.ProtocolError)
{
response = (HttpWebResponse)ex.Response;
result = HttpResponseBLL.ReadResponse(response);
return result;
}
else return ex.Message;
}
catch (Exception e)
{
if (response != null) response.Close();
return e.Message;
}
result = HttpResponseBLL.ReadResponse(response);
return result;
}
}
}