diff --git a/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs b/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs
index f25ea94..8f42a98 100644
--- a/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs
+++ b/29WxOrderWpf/Ctrls/BuyerCtrls/PDDBuyerOrderReadCtrl.xaml.cs
@@ -1910,9 +1910,9 @@ namespace _29WxOrderWpf.Ctrls.BuyerCtrls
obj["outAccount"] = order.buyerName;
obj["outOrderNo"] = order.order_sn;
obj["orderId"] = order.ShopOrderIdStr;
- if (!order.outExpressCompanyCode.IsNullOrEmpty() && !order.tracking_number.IsNullOrEmpty())
+ if (!order.outPddToWxExpressCompanyCode.IsNullOrEmpty() && !order.tracking_number.IsNullOrEmpty())
{
- obj["outExpressCompany"] = order.outExpressCompanyCode;
+ obj["outExpressCompany"] = order.outPddToWxExpressCompanyCode;
obj["outExpressNo"] = order.tracking_number;
}
var dataStr = JsonHelper.SerializeObject(obj);
diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowHeaderCtrl.xaml.cs b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowHeaderCtrl.xaml.cs
index c5f5d26..e01f1ac 100644
--- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowHeaderCtrl.xaml.cs
+++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowHeaderCtrl.xaml.cs
@@ -1,4 +1,5 @@
using _29WxOrderWpf.BaseWindows;
+using AllBase;
using AllBase.Helper;
using AllBase.Model.DBModel;
using NaiBa.Util.Extension;
@@ -59,19 +60,27 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
shopLoginForm.ShowDialog();
if (shop.LoginStatus == "登录成功")
- {
- var is29SupplierRst = WxOrderSupplierBLL.GetWxSupplierList(shop);
- if (!is29SupplierRst.Contains("\"code\":0"))
- is29SupplierRst = WxOrderSupplierBLL.GetWxSupplierList(shop);
- if (is29SupplierRst.Contains("\"code\":0") && is29SupplierRst.Contains("\"name\":\"29供货商\""))
- {
- shop.Is29Supplier = true;
- }
- else
- {
- ShopBLL.CheckShopLogin(shop);
- shop.Is29Supplier = false;
- }
+ {
+ shop.Is29Supplier = false;
+ for (int i = 0; i < 100; i++)
+ {
+ var is29SupplierRst = WxOrderSupplierBLL.GetWxSupplierListV2(shop);
+ if (!is29SupplierRst.Contains("\"code\":0"))
+ is29SupplierRst = WxOrderSupplierBLL.GetWxSupplierListV2(shop);
+ if (is29SupplierRst.Contains("\"code\":0") && is29SupplierRst.Contains("\"name\":\"29供货商\""))
+ {
+ shop.Is29Supplier = true;
+ break;
+ }
+ else if (!is29SupplierRst.Contains("\"code\":0"))
+ {
+ ShopBLL.CheckShopLogin(shop);
+ }
+ int totalCount = BaseRegex.GetIntJson(ref is29SupplierRst, "totalCount");
+ if (i * 20 >= totalCount)
+ break;
+ }
+
foreach (var ord in GlobalConfig.lstFilterOrder.Where(o => o.shop_id.ParseToString() == shop.ErpShopId).ToList())
{
// 更新代发管理情况
diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml
index 7ab8b47..9ca2c4c 100644
--- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml
+++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml
@@ -440,7 +440,13 @@
-
+
+
+
diff --git a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml.cs b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml.cs
index c6c980d..eeb4a8c 100644
--- a/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml.cs
+++ b/29WxOrderWpf/Ctrls/OrderCtrls/OrderListRowItemCtrl.xaml.cs
@@ -1310,5 +1310,23 @@ namespace _29WxOrderWpf.Ctrls.OrderCtrls
}
}
}
- }
+
+ private void btnReturnOrder_Click(object sender, RoutedEventArgs e)
+ {
+ if (this.DataContext is oms_wei_order_item_info orderItem)
+ {
+ //if (orderItem.ItemTransitOrder?.warehouse_status != 2 && orderItem.AddEditTransitWarehouseAfterSaleStr == "添加")
+ //{
+ // BaseMsgWindow.ShowError("商品未出库,请选择中转仓拒收!");
+ // return;
+ //}
+
+ if (TransitReturnOrderWindow.instance != null)
+ TransitReturnOrderWindow.instance.Close();
+
+ TransitReturnOrderWindow.instance = new TransitReturnOrderWindow(orderItem);
+ TransitReturnOrderWindow.instance.Show();
+ }
+ }
+ }
}
diff --git a/29WxOrderWpf/Ctrls/ShopCtrls/ShopListCtrl.xaml b/29WxOrderWpf/Ctrls/ShopCtrls/ShopListCtrl.xaml
index 7e28d08..8714b49 100644
--- a/29WxOrderWpf/Ctrls/ShopCtrls/ShopListCtrl.xaml
+++ b/29WxOrderWpf/Ctrls/ShopCtrls/ShopListCtrl.xaml
@@ -129,7 +129,7 @@
-
+
@@ -138,6 +138,7 @@
+
diff --git a/29WxOrderWpf/Ctrls/Statistics/PeriodRevenueStatisticsView.xaml.cs b/29WxOrderWpf/Ctrls/Statistics/PeriodRevenueStatisticsView.xaml.cs
index 29982c5..d73b31a 100644
--- a/29WxOrderWpf/Ctrls/Statistics/PeriodRevenueStatisticsView.xaml.cs
+++ b/29WxOrderWpf/Ctrls/Statistics/PeriodRevenueStatisticsView.xaml.cs
@@ -16,6 +16,12 @@ namespace _29WxOrderWpf.Ctrls.Statistics
InitializeComponent();
// 默认天统计;当 XAML 指定 Week/Month 时通过 PeriodType 回调切换
DataContext = new PeriodRevenueStatisticsViewModel(PeriodStatisticType.Day);
+ this.Loaded += PeriodRevenueStatisticsView_Loaded;
+ }
+
+ private void PeriodRevenueStatisticsView_Loaded(object sender, RoutedEventArgs e)
+ {
+ //(DataContext as PeriodRevenueStatisticsViewModel).Init();
}
public static readonly DependencyProperty PeriodTypeProperty =
diff --git a/29WxOrderWpf/Ctrls/Statistics/ShopRevenueStatisticsView.xaml b/29WxOrderWpf/Ctrls/Statistics/ShopRevenueStatisticsView.xaml
index 5a20933..008a6df 100644
--- a/29WxOrderWpf/Ctrls/Statistics/ShopRevenueStatisticsView.xaml
+++ b/29WxOrderWpf/Ctrls/Statistics/ShopRevenueStatisticsView.xaml
@@ -122,7 +122,7 @@
-
+
0 && e.AddedItems[0] is TabItem tab && tab.Content is PeriodRevenueStatisticsView view && view.DataContext is PeriodRevenueStatisticsViewModel vm)
+ {
+ vm.Init();
+ }
+ }
}
}
\ No newline at end of file
diff --git a/29WxOrderWpf/Ctrls/Statistics/ViewModels/PeriodRevenueStatisticsViewModel.cs b/29WxOrderWpf/Ctrls/Statistics/ViewModels/PeriodRevenueStatisticsViewModel.cs
index 1bae2ba..b41b843 100644
--- a/29WxOrderWpf/Ctrls/Statistics/ViewModels/PeriodRevenueStatisticsViewModel.cs
+++ b/29WxOrderWpf/Ctrls/Statistics/ViewModels/PeriodRevenueStatisticsViewModel.cs
@@ -62,6 +62,10 @@ namespace _29WxOrderWpf.Ctrls.Statistics.ViewModels
_nextPageCommand = new DelegateCommand(() => GoToPage(PageIndex + 1), () => HasNextPage);
_lastPageCommand = new DelegateCommand(() => GoToPage(TotalPages), () => HasNextPage);
+ }
+
+ public void Init()
+ {
InitializeAsync();
}
diff --git a/29WxOrderWpf/MainWindow.xaml.cs b/29WxOrderWpf/MainWindow.xaml.cs
index 95a299a..6eeccba 100644
--- a/29WxOrderWpf/MainWindow.xaml.cs
+++ b/29WxOrderWpf/MainWindow.xaml.cs
@@ -294,19 +294,27 @@ namespace _29WxOrderWpf
{
if (shop.LoginStatus == "登录成功")
{
- var is29SupplierRst = WxOrderSupplierBLL.GetWxSupplierList(shop);
- if (!is29SupplierRst.Contains("\"code\":0"))
- is29SupplierRst = WxOrderSupplierBLL.GetWxSupplierList(shop);
- if (is29SupplierRst.Contains("\"code\":0") && is29SupplierRst.Contains("\"name\":\"29供货商\""))
- {
- shop.Is29Supplier = true;
- }
- else
- {
- ShopBLL.CheckShopLogin(shop);
- shop.Is29Supplier = false;
- }
- foreach (var order in GlobalConfig.lstFilterOrder.Where(o => o.shop_id.ParseToString() == shop.ErpShopId).ToList())
+ shop.Is29Supplier = false;
+ for (int i = 0; i < 100; i++)
+ {
+ var is29SupplierRst = WxOrderSupplierBLL.GetWxSupplierListV2(shop);
+ if (!is29SupplierRst.Contains("\"code\":0"))
+ is29SupplierRst = WxOrderSupplierBLL.GetWxSupplierListV2(shop);
+ if (is29SupplierRst.Contains("\"code\":0") && is29SupplierRst.Contains("\"name\":\"29供货商\""))
+ {
+ shop.Is29Supplier = true;
+ break;
+ }
+ else if (!is29SupplierRst.Contains("\"code\":0"))
+ {
+ ShopBLL.CheckShopLogin(shop);
+ }
+ int totalCount = BaseRegex.GetIntJson(ref is29SupplierRst, "totalCount");
+ if (i * 20 >= totalCount)
+ break;
+ }
+
+ foreach (var order in GlobalConfig.lstFilterOrder.Where(o => o.shop_id.ParseToString() == shop.ErpShopId).ToList())
{
// 更新代发管理情况
foreach (var orderItem in order.orderItems)
diff --git a/29WxOrderWpf/Windows/OrderWindows/TransitReturnOrderWindow.xaml b/29WxOrderWpf/Windows/OrderWindows/TransitReturnOrderWindow.xaml
new file mode 100644
index 0000000..ecfee5a
--- /dev/null
+++ b/29WxOrderWpf/Windows/OrderWindows/TransitReturnOrderWindow.xaml
@@ -0,0 +1,195 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/29WxOrderWpf/Windows/OrderWindows/TransitReturnOrderWindow.xaml.cs b/29WxOrderWpf/Windows/OrderWindows/TransitReturnOrderWindow.xaml.cs
new file mode 100644
index 0000000..95fb730
--- /dev/null
+++ b/29WxOrderWpf/Windows/OrderWindows/TransitReturnOrderWindow.xaml.cs
@@ -0,0 +1,215 @@
+using _29WxOrderWpf.BaseWindows;
+using AllBase;
+using AllBase.Helper;
+using AllBase.Model.DBModel;
+using AllBase.Model.Result;
+using NaiBa.Util.Extension;
+using Newtonsoft.Json.Linq;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Text.RegularExpressions;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Interop;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+using Work._29Tools.BLL;
+
+namespace _29WxOrderWpf.Windows.OrderWindows
+{
+ ///
+ /// TransitReturnOrderWindow.xaml 的交互逻辑
+ ///
+ public partial class TransitReturnOrderWindow : BaseWindow
+ {
+ public static TransitReturnOrderWindow instance { get; set; }
+ public oms_wei_order_item_info OrderItem { get; set; }
+
+ public TransitReturnOrderWindow(oms_wei_order_item_info orderItem)
+ {
+ InitializeComponent();
+
+ instance = this;
+
+ if (orderItem != null)
+ OrderItem = orderItem;
+ }
+
+ private void mainGrid_Loaded(object sender, RoutedEventArgs e)
+ {
+
+ }
+
+ private void TransitAfterSaleWindow_Loaded(object sender, RoutedEventArgs e)
+ {
+ this.cmbExpressName.Items.Add("");
+ this.cmbExpressName.Items.Add("邮政EMS");
+ 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("京东快递");
+ this.cmbExpressName.Items.Add("其他快递");
+
+ if (OrderItem != null)
+ {
+ //if (OrderItem.ItemTransitOrderAfterSale != null)
+ //{
+ // btnAdd.IsEnabled = false;
+
+ // this.txtUser.Text = OrderItem.ItemTransitOrderAfterSale.recipient_name;
+ // this.txtMobile.Text = OrderItem.ItemTransitOrderAfterSale.recipient_phone;
+ // this.txtDetailAddress.Text = OrderItem.ItemTransitOrderAfterSale.refund_detail_address;
+ // this.txtProvince.Text = OrderItem.ItemTransitOrderAfterSale.refund_province;
+ // this.txtCity.Text = OrderItem.ItemTransitOrderAfterSale.refund_city;
+ // this.txtCounty.Text = OrderItem.ItemTransitOrderAfterSale.refund_county;
+ //}
+
+ // 上海仓默认发货地址
+ txtSendUser.Text = "29供应链";
+ txtSendMobile.Text = "13024622251";
+ txtSendProvince.Text = "上海市";
+ txtSendCity.Text = "上海市";
+ txtSendCounty.Text = "普陀区";
+ txtSendDetailAddress.Text = "真如镇街道真北路2653弄Z区zt";
+
+ txtShopOrderId.Text = OrderItem.order_id;
+ txtShopName.Text = OrderItem.ItemOrder?.shop_name;
+ txtGoodsName.Text = OrderItem.title;
+ txtSpuId.Text = OrderItem.product_id.ParseToString();
+ txtSpecName.Text = OrderItem.sku_attr_str;
+
+
+ txtWaybillId.Text = OrderItem.ItemRefund?.return_waybill_id;
+ foreach (var cmbItem in cmbExpressName.Items)
+ {
+ if (PddBuyerOrderLiteInfo.GetWxExpressCodeToWxExpressName((OrderItem.ItemRefund?.return_delivery_id).ParseToString()) == cmbItem.ParseToString())
+ {
+ cmbExpressName.SelectedItem = cmbItem;
+ }
+ }
+ //cmbExpressName.SelectedItem =
+
+
+ if (OrderItem.PddBuyerAfterSale != null)
+ {
+ this.txtAddressAnalysis.Text = OrderItem.PddBuyerAfterSale.afterSaleAddress;
+ btnAddressAnalysis_Click(null, null);
+ }
+ }
+ }
+
+ private void btnAdd_Click(object sender, RoutedEventArgs e)
+ {
+ if (OrderItem?.ItemTransitOrder?.warehouse_status != 0 && OrderItem?.ItemTransitOrder?.warehouse_status != 1)
+ {
+ BaseMsgWindow.ShowError("当前订单仓库状态不支持售后,请联系买家直接退回总店!");
+ 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
+
+ JObject data = new JObject();
+ data["orderNo"] = OrderItem.order_id;
+ data["orderCode"] = OrderItem.ItemTransitOrder?.order_code;
+ data["refundProvince"] = txtProvince.Text.Trim();
+ data["refundCity"] = txtCity.Text.Trim();
+ data["refundCounty"] = txtCounty.Text.Trim();
+ data["refundDetailAddress"] = txtDetailAddress.Text.Trim();
+ data["recipientName"] = txtUser.Text.Trim();
+ data["recipientPhone"] = txtMobile.Text.Trim();
+ data["account_user"] = BaseClass.UserName;
+ data["accountUser"] = BaseClass.UserName;
+ //data["platform"] = "WEISHOP";
+ var getTransitAfterSaleUrl = "https://po.e57.cn/prod-api/api/oms-api/external_procurement/createReturnPackage";
+ var getTransitAfterSaleStr = JsonHelper.SerializeObject(data);
+ var getTransitAfterSaleRst = HttpResponseWXBLL.e57PostResponse(getTransitAfterSaleUrl, getTransitAfterSaleStr, "");
+ if (!getTransitAfterSaleRst.ParseToString().Contains("200") && !getTransitAfterSaleRst.ParseToString().Contains("0"))
+ {
+ string msg = BaseRegex.GetStringXml(ref getTransitAfterSaleRst, "msg");
+ if (msg.IsNullOrEmpty())
+ msg = getTransitAfterSaleRst;
+ BaseMsgWindow.ShowError("中转售后添加失败,服务端返回 " + msg, "", this);
+ }
+ else
+ {
+ //创建退货包裹成功0
+ MainWindow.Instance.orderListCtrl.GetOrder(OrderItem.order_id);
+ MainWindow.Instance.orderListCtrl.FilterOrders();
+ BaseMsgWindow.ShowInfo("添加退货包裹成功", "", this);
+ this.Close();
+ }
+ }
+
+ private void btnAddressAnalysis_Click(object sender, RoutedEventArgs e)
+ {
+ var txt = txtAddressAnalysis.Text.Trim();
+ txt = txt.Replace("\r", "").Replace("\n", "");
+
+
+ // 定义座机号的正则表达式
+ string landlinePattern = @"\d{3}-\d{8}|\d{4}-\d{7}";
+ // 定义手机号的正则表达式
+ string mobilePattern = @"1[3-9]\d{9}";
+
+ // 使用正则表达式匹配座机号和手机号
+ Match landlineMatch = Regex.Match(txt, landlinePattern);
+ Match mobileMatch = Regex.Match(txt, mobilePattern);
+
+ var phone = "";
+ if (landlineMatch.Success)
+ {
+ phone = landlineMatch.Value;
+ txt = txt.Replace(phone, " ");
+ }
+ if (mobileMatch.Success)
+ {
+ phone = mobileMatch.Value;
+ txt = txt.Replace(phone, " ");
+ }
+ if (!string.IsNullOrEmpty(phone))
+ {
+ txtMobile.Text = phone;
+ }
+
+ var province = GlobalConfig.Divisions.FirstOrDefault(d => txt.Contains(d.name));
+ if (province == null)
+ return;
+ txtProvince.Text = province.name;
+ var city = province.children.FirstOrDefault(c => txt.Contains(c.name));
+ if (city == null)
+ return;
+ txtCity.Text = city.name;
+ var county = city.children.FirstOrDefault(c => txt.Contains(c.name));
+ if (county == null)
+ return;
+ txtCounty.Text = county.name;
+ txt = txt.Replace(county.name, " ").Replace(city.name, " ").Replace(province.name, " ");
+
+ var tArr = txt.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
+ tArr = tArr.OrderBy(t => t.Length).ToArray();
+ this.txtUser.Text = tArr.FirstOrDefault();
+ this.txtDetailAddress.Text = string.Join("", tArr).Replace(this.txtUser.Text, "");
+ }
+ }
+}
diff --git a/AllBase/29WxOrderAllBase.csproj b/AllBase/29WxOrderAllBase.csproj
index 343f630..1253318 100644
--- a/AllBase/29WxOrderAllBase.csproj
+++ b/AllBase/29WxOrderAllBase.csproj
@@ -168,6 +168,7 @@
+
diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs
index 31846e8..95111f5 100644
--- a/AllBase/BaseClass.cs
+++ b/AllBase/BaseClass.cs
@@ -32,7 +32,7 @@ namespace AllBase
/// 版本ID
///
- public static int VersionCount = 210;
+ public static int VersionCount = 212;
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/WaybillHelper.cs b/AllBase/Model/DBModel/WaybillHelper.cs
index bd355f5..17e33db 100644
--- a/AllBase/Model/DBModel/WaybillHelper.cs
+++ b/AllBase/Model/DBModel/WaybillHelper.cs
@@ -14,7 +14,7 @@ namespace AllBase.Model.DBModel
//中国广电:192。作为第四大运营商,其号段于2022年开始放号。
public static List MobileHead { get; set; } = new List()
{
- 134, 135, 136, 137, 138, 139, 147, 150, 151, 152, 157, 158, 159, 172, 178, 182, 183, 184, 187, 188, 195, 197, 198,
+ 134, 135, 136, 137, 138, 139, 147, 150, 151, 152, 157, 158, 159, 172, 178, 182, 183, 184, 187, 188, 195, 197, 198,
130, 131, 132, 155, 156, 166, 175, 176, 185, 186, 196,
133, 149, 153, 173, 177, 180, 181, 189, 190, 191, 193, 199,
};
diff --git a/AllBase/Model/DBModel/distrib_return_order.cs b/AllBase/Model/DBModel/distrib_return_order.cs
new file mode 100644
index 0000000..ef50094
--- /dev/null
+++ b/AllBase/Model/DBModel/distrib_return_order.cs
@@ -0,0 +1,193 @@
+using AllBase.Model.MvvmBaseClasses;
+using Newtonsoft.Json;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace AllBase.Model.DBModel
+{
+ ///
+ /// 分销退货表
+ ///
+ public class distrib_return_order : PropertyNotifyObject
+ {
+ public long id { get; set; }
+ ///
+ /// 退货订单编码
+ ///
+ public string order_code { get; set; }
+ ///
+ /// 原始订单来源编码
+ ///
+ public string order_code_source { get; set; }
+ ///
+ /// 物流系统编码(如SF、ZTO)
+ ///
+ public string logistics_code { get; set; }
+ ///
+ /// 物流单号
+ ///
+ public string logistics_express_no { get; set; }
+ ///
+ /// 中转仓平台来源(如OTHER、JD、PDD)
+ ///
+ public string platform { get; set; } = "PDD";
+ ///
+ /// 店铺名称
+ ///
+ public string shop_name { get; set; }
+ ///
+ /// 发件人姓名(冗余字段,便于快速查询,不依赖JSON解析)
+ ///
+ public string sender_name { get; set; }
+ ///
+ /// 发件人电话(冗余字段,便于快速查询,不依赖JSON解析)
+ ///
+ public string sender_phone { get; set; }
+ ///
+ /// 发货人信息(JSON格式:姓名、电话、省市区地址)
+ ///
+ public string sender_info { get; set; }
+ ///
+ /// 收货人姓名
+ ///
+ public string receiver_name { get; set; }
+ ///
+ /// 收货人电话
+ ///
+ public string receiver_phone { get; set; }
+ ///
+ /// 收货省份
+ ///
+ public string receiver_province { get; set; }
+ ///
+ /// 收货城市
+ ///
+ public string receiver_city { get; set; }
+ ///
+ /// 收货区县
+ ///
+ public string receiver_area { get; set; }
+ ///
+ /// 收货详细地址
+ ///
+ public string receiver_address { get; set; }
+ ///
+ /// 记录创建时间
+ ///
+ public DateTime created_at { get; set; }
+ ///
+ /// 记录更新时间
+ ///
+ public DateTime updated_at { get; set; }
+ ///
+ /// 入库时间(仓库接收退货商品的时间)
+ ///
+ public DateTime warehouse_in_time { get; set; }
+ ///
+ /// 出库时间(仓库发出补货或处理后商品的时间)
+ ///
+ public DateTime warehouse_out_time { get; set; }
+ ///
+ /// 出入库状态:0待处理、1已入库、2创建异常、3处理中
+ ///
+ public int? warehouse_status { get; set; }
+ ///
+ /// 退货订单创建与处理状态
+ ///
+ public int? return_order_status { get; set; }
+ ///
+ /// 首重费用
+ ///
+ public int first_weight_fee { get; set; }
+ ///
+ /// 超重费用
+ ///
+ public int? additional_weight_fee { get; set; }
+ ///
+ /// 订单作废状态:0=正常,1=已作废,2=作废失败
+ ///
+ public int? order_void_status { get; set; }
+ ///
+ /// 下游物流公司
+ ///
+ public string real_logistics_code { get; set; }
+ ///
+ /// 下游物流单号
+ ///
+ public string real_logistics_express_code { get; set; }
+ public string response_msg { get; set; }
+ ///
+ /// 备用扩展字段1
+ ///
+ public string ext_field1 { get; set; }
+ ///
+ /// 备用扩展字段2
+ ///
+ public string ext_field2 { get; set; }
+ ///
+ /// 退货订单平台来源
+ ///
+ public string platform_code { get; set; }
+ ///
+ /// 平台订单号
+ ///
+ public string platform_order_no { get; set; }
+ ///
+ /// 售后单号
+ ///
+ public string after_sale_no { get; set; }
+
+ [JsonIgnore]
+ public ObservableCollection distrib_return_order_items
+ {
+ get { return this.GetValue(x => x.distrib_return_order_items); }
+ set { this.SetValue(x => x.distrib_return_order_items, value); }
+ }
+ }
+
+ public class distrib_return_order_item : PropertyNotifyObject
+ {
+ public long id { get; set; }
+ public string order_code { get; set; }
+ public string spu_code { get; set; }
+ public string spu_name { get; set; }
+ public string sku_code { get; set; }
+ public string spec_info { get; set; }
+ public string sku_url { get; set; }
+ public string pic_url { get; set; }
+ public int return_quantity { get; set; } = 1;
+ public DateTime updated_at { get; set; }
+
+ public distrib_return_order distrib_return_order
+ {
+ get { return this.GetValue(x => x.distrib_return_order); }
+ set
+ {
+ this.SetValue(x => x.distrib_return_order, value);
+ if (value != null)
+ {
+ if (value.distrib_return_order_items == null)
+ value.distrib_return_order_items = new ObservableCollection();
+
+ //if (value.distrib_return_order_items.FirstOrDefault(it => it.spu_code + it.sku_code == this.spu_code + this.sku_code) is distrib_return_order_item item)
+ //{
+ // //给每个属性赋值...
+ //}
+ //else
+ //{
+ // value.distrib_return_order_items.Add(this);
+ //}
+ while (value.distrib_return_order_items.FirstOrDefault(it => it.spu_code + it.sku_code == this.spu_code + this.sku_code) is distrib_return_order_item item)
+ {
+ value.distrib_return_order_items.Remove(item);
+ }
+ value.distrib_return_order_items.Add(this);
+ }
+ }
+ }
+ }
+}
diff --git a/AllBase/Model/Result/PddBuyerOrderLiteInfo.cs b/AllBase/Model/Result/PddBuyerOrderLiteInfo.cs
index b7b2b6f..4358e64 100644
--- a/AllBase/Model/Result/PddBuyerOrderLiteInfo.cs
+++ b/AllBase/Model/Result/PddBuyerOrderLiteInfo.cs
@@ -72,7 +72,7 @@ namespace AllBase.Model.Result
if (expressCompanyName.Contains("京东快运")) return "JDKY";
if (expressCompanyName.Contains("京东大件物流")) return "JD";
if (expressCompanyName.Contains("其他快递")) return "OTHER";
- return "";
+ return "OTHER";
}
public static string GetWxExpressNameToWxExpressCode(string expressCompanyName)
@@ -92,9 +92,27 @@ namespace AllBase.Model.Result
if (expressCompanyName.Contains("京东快递")) return "JD";
if (expressCompanyName.Contains("京东快运")) return "JDKY";
if (expressCompanyName.Contains("其他快递")) return "OTHER";
- return "";
+ return "OTHER";
}
+ public static string GetWxExpressCodeToWxExpressName(string expressCompanyCode)
+ {
+ if (expressCompanyCode == null || expressCompanyCode == "") return "";
+ if (expressCompanyCode.Contains("EMS")) return "邮政EMS";
+ if (expressCompanyCode.Contains("JTSD")) return "极兔速递";
+ if (expressCompanyCode.Contains("STO")) return "申通快递";
+ if (expressCompanyCode.Contains("YD")) return "韵达速递";
+ if (expressCompanyCode.Contains("YUNDA")) return "韵达速递";
+ if (expressCompanyCode.Contains("YTO")) return "圆通速递";
+ if (expressCompanyCode.Contains("ZTO")) return "中通快递";
+ if (expressCompanyCode.Contains("BTWL")) return "百世快运";
+ if (expressCompanyCode.Contains("顺丰速运")) return "SF";
+ if (expressCompanyCode.Contains("京东快递")) return "JD";
+ if (expressCompanyCode.Contains("京东快运")) return "JDKY";
+ if (expressCompanyCode.Contains("其他快递")) return "OTHER";
+ return "其他快递";
+ }
+
///
/// 发货类型 直发/中转
///
@@ -380,8 +398,19 @@ namespace AllBase.Model.Result
//return GetPddToWxExpressCompanyCode(outExpressCompanyName);
return GetPddToTransitWarehouseExpressCompanyCode(outExpressCompanyName);
}
- }
- public string outExpressCompanyName
+ }
+ ///
+ /// 外采订单物流名称对应微信物流公司编码
+ ///
+ [JsonIgnore]
+ public string outPddToWxExpressCompanyCode
+ {
+ get
+ {
+ return GetPddToWxExpressCompanyCode(outExpressCompanyName);
+ }
+ }
+ public string outExpressCompanyName
{
get
{
diff --git a/Work/_29Tools/BLL/WxOrderSupplierBLL.cs b/Work/_29Tools/BLL/WxOrderSupplierBLL.cs
index 79de8e6..7f84764 100644
--- a/Work/_29Tools/BLL/WxOrderSupplierBLL.cs
+++ b/Work/_29Tools/BLL/WxOrderSupplierBLL.cs
@@ -17,7 +17,17 @@ namespace Work._29Tools.BLL
var result = HttpResponseWXBLL.WeiXinPostResponse(shop, url, body, referer);
return result;
}
- public static string GetWxSupplierOrderList(ShopLoginInfo shop, string orderId)
+
+ public static string GetWxSupplierListV2(ShopLoginInfo shop, int offset = 0)
+ {
+ string url = "https://store.weixin.qq.com/shop-faas/mmecnodesuppliercosignment/distribute/cgi/getDistributeSupplierList?token=&lang=zh_CN";
+ string referer = "https://store.weixin.qq.com/shop/supply/consignmentOrderList";
+ string body = @"{""limit"":20,""offset"":" + offset + "}";
+ var result = HttpResponseWXBLL.WeiXinPostResponse(shop, url, body, referer);
+ return result;
+ }
+
+ public static string GetWxSupplierOrderList(ShopLoginInfo shop, string orderId)
{
string url = "https://store.weixin.qq.com/shop-faas/mmecnodesuppliercosignment/order/cgi/orderSearch?token=&lang=zh_CN";
string referer = "https://store.weixin.qq.com/shop/supply/consignmentOrderList";