diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml
index c36abb5..a280860 100644
--- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml
+++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml
@@ -1,1210 +1,1246 @@
+ x:Class="_29WxOrderWpf.Ctrls.OrderCtrls.OrderListCtrl"
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:c="clr-namespace:_29WxOrderWpf.Common"
+ xmlns:converters="clr-namespace:_29WxOrderWpf.Converters"
+ xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+ xmlns:local="clr-namespace:_29WxOrderWpf.Ctrls.OrderCtrls"
+ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+ xmlns:usercontrols="clr-namespace:_29WxOrderWpf.UserControls"
+ xmlns:utils="clr-namespace:_29WxOrderWpf.Utils"
+ xmlns:wpf="WPFCommon"
+ d:DesignHeight="450"
+ d:DesignWidth="1560"
+ Loaded="Window_Loaded"
+ mc:Ignorable="d">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
-
-
-
- 标题包含
-
-
- 标题不含
-
-
-
-
+
+
+
+
+ 标题包含
+
+
+ 标题不含
+
+
+
+
-
-
+
+
-
-
-
-
- 更新时间
-
-
- 成交时间
-
-
+
+
+
+
+ 更新时间
+
+
+ 成交时间
+
+
-
-
-
+
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 店铺备注包含
-
-
- 软件备注包含
-
-
- 店铺备注不含
-
-
- 软件备注不含
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 店铺备注包含
+
+
+ 软件备注包含
+
+
+ 店铺备注不含
+
+
+ 软件备注不含
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
-
-
-
+
+
+
-
-
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs
index 2a776da..2dd331f 100644
--- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs
+++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListCtrl.xaml.cs
@@ -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)
{
diff --git a/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml b/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml
index 2d6e62a..371523c 100644
--- a/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml
+++ b/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml
@@ -1,99 +1,321 @@
-
-
+
+
-
-
+
+
-
-
-
-
+
+
+
+
-
-
+
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
-
+
+
-
-
+
+
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
-
+
-
-
-
+
+
+
-
-
-
+
+
+
-
-
+
+
-
-
+
+
+
+
-
+
diff --git a/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml.cs b/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml.cs
index e0f55eb..7e3bdba 100644
--- a/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml.cs
+++ b/29WxOrderWpf/Windows/OrderWindows/TransitAfterSaleWindow.xaml.cs
@@ -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 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;
+ }
+ }
}
diff --git a/29WxOrderWpf/Windows/OrderWindows/TransitReturnOrderWindow.xaml.cs b/29WxOrderWpf/Windows/OrderWindows/TransitReturnOrderWindow.xaml.cs
index 6835458..522b03d 100644
--- a/29WxOrderWpf/Windows/OrderWindows/TransitReturnOrderWindow.xaml.cs
+++ b/29WxOrderWpf/Windows/OrderWindows/TransitReturnOrderWindow.xaml.cs
@@ -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, "");
+ //创建第三方退货订单成功0
if (!createReturnOrderRst.ParseToString().Contains("200") && !createReturnOrderRst.ParseToString().Contains("0"))
{
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("200") && !createReturnOrderRst.ParseToString().Contains("0"))
@@ -335,9 +343,9 @@ namespace _29WxOrderWpf.Windows.OrderWindows
return;
}
-
- //创建退货包裹成功0
- 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);
}
diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs
index 4bce4d5..04f33b3 100644
--- a/AllBase/BaseClass.cs
+++ b/AllBase/BaseClass.cs
@@ -36,7 +36,7 @@ namespace AllBase
/// 版本ID
///
- 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";
diff --git a/AllBase/Model/DBModel/TransitWarehouseParam.cs b/AllBase/Model/DBModel/TransitWarehouseParam.cs
index 13fba60..e312c61 100644
--- a/AllBase/Model/DBModel/TransitWarehouseParam.cs
+++ b/AllBase/Model/DBModel/TransitWarehouseParam.cs
@@ -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 transitWarehouseList = null;
+ static List transitWarehouseList = null;
public static List TransitWarehouseList
{
diff --git a/AllBase/Model/DBModel/oms_wei_order_item_info.cs b/AllBase/Model/DBModel/oms_wei_order_item_info.cs
index 9ef3f48..dbf1388 100644
--- a/AllBase/Model/DBModel/oms_wei_order_item_info.cs
+++ b/AllBase/Model/DBModel/oms_wei_order_item_info.cs
@@ -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())
diff --git a/AllBase/Model/DBModel/user_payment_record.cs b/AllBase/Model/DBModel/user_payment_record.cs
index 228aa02..c6724c9 100644
--- a/AllBase/Model/DBModel/user_payment_record.cs
+++ b/AllBase/Model/DBModel/user_payment_record.cs
@@ -80,8 +80,10 @@ namespace AllBase.Model.DBModel
中转仓扣费支出 = 20,
中转仓作废收入 = 23,
中转仓超重支出 = 24,
+ 退货包裹扣费支出 = 26,
支付宝在线充值 = 30,
- }
+ 云仓退货支出 = 31,
+ }
/*
// 充值
diff --git a/Work/29WxOrderWork.csproj b/Work/29WxOrderWork.csproj
index 3699d32..5277bcb 100644
--- a/Work/29WxOrderWork.csproj
+++ b/Work/29WxOrderWork.csproj
@@ -272,6 +272,7 @@
+
diff --git a/Work/_29Tools/BLL/HttpResponseTransitWorkOrderBLL.cs b/Work/_29Tools/BLL/HttpResponseTransitWorkOrderBLL.cs
new file mode 100644
index 0000000..99c1945
--- /dev/null
+++ b/Work/_29Tools/BLL/HttpResponseTransitWorkOrderBLL.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((shop?.Cookies).ParseToString());
+ if (cookieLst == null)
+ cookieLst = new List();
+ 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((shop?.Cookies).ParseToString());
+ if (cookieLst == null)
+ cookieLst = new List();
+ 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 GetResponseAsync(ShopLoginInfo shop, string _url, string referer)
+ {
+
+ string cookies = "";
+ try
+ {
+ var cookieLst = JsonHelper.DeserializeJsonToList((shop?.Cookies).ParseToString());
+ if (cookieLst == null)
+ cookieLst = new List();
+ 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;
+ }
+ }
+}