using _29WxOrderWpf.BaseWindows; using AllBase; using AllBase.Helper; using AllBase.Model.DBModel; 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 { /// /// TransitAfterSaleWindow.xaml 的交互逻辑 /// public partial class TransitAfterSaleWindow : BaseWindow { public oms_wei_order_item_info OrderItem { get; set; } public TransitAfterSaleWindow(oms_wei_order_item_info orderItem) { InitializeComponent(); if (orderItem != null) OrderItem = orderItem; } private void mainGrid_Loaded(object sender, RoutedEventArgs e) { } private void TransitAfterSaleWindow_Loaded(object sender, RoutedEventArgs e) { foreach (var warehouse in TransitWarehouseData.TransitWarehouseList) { this.cmbWareHouse.Items.Add(warehouse.TransName); } if (OrderItem != null) { 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; 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.txtAddress.Text = OrderItem.ItemTransitOrderAfterSale.refund_province + "/" + OrderItem.ItemTransitOrderAfterSale.refund_city + "/" + OrderItem.ItemTransitOrderAfterSale.refund_county; this.txtProvince.Text = OrderItem.ItemTransitOrderAfterSale.refund_province; this.txtCity.Text = OrderItem.ItemTransitOrderAfterSale.refund_city; this.txtCounty.Text = OrderItem.ItemTransitOrderAfterSale.refund_county; } } if (OrderItem?.ItemTransitOrder?.warehouse_status != 0 && OrderItem?.ItemTransitOrder?.warehouse_status != 1) { btnAdd.IsEnabled = false; //BaseMsgWindow.ShowError("当前订单仓库状态不支持售后,请联系买家直接退回总店!"); lblMsg.Content = "当前订单仓库状态不支持售后,请联系买家直接退回总店!"; return; } } 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, ""); } } }