异常单补拍单功能

This commit is contained in:
wule_5900x committed 2026-07-20 07:37:33 +08:00
1 parent 2e20cbdf68
commit 7264835cc6
13 files changed
+570 -362

No files matched your search

-1
View File
@@ -264,7 +264,6 @@
</Compile>
<Compile Include="UserLogin.cs" />
<Compile Include="_29Tools\BLL\HttpResponseBLL.cs" />
<Compile Include="_29Tools\BLL\SendBuyerOrder.cs" />
<Compile Include="_29Tools\BLL\HttpResponseWXBLL.cs" />
<Compile Include="_29Tools\BLL\HttpResponseYkdBLL.cs" />
<Compile Include="_29Tools\BLL\ShopBLL.cs" />
-36
View File
@@ -1,36 +0,0 @@
using AllBase;
using AllBase.Model;
using AllBase.Model.DBModel;
using CefSharp.DevTools.LayerTree;
using NaiBa.Util.Extension;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Work._29Tools.BLL
{
public class SendBuyerOrder
{
public static string SendBuyerOrderToTransitWarehouse(oms_wei_order_item_info order_item, TransitWarehouseParam warehouseParam,
string outOrderNo, int outAmount, string buyerNick, string userNickName)
{
JObject body = new JObject();
body["orderNo"] = order_item.order_id;
body["outOrderNo"] = outOrderNo;
body["outAmount"] = outAmount.ParseToString();
body["buyerAccount"] = buyerNick;
body["purchaserNote"] = userNickName;
body["express1Company"] = ""; // 物流公司编号
body["express1Waybill"] = ""; // 物流编号
body["platform"] = warehouseParam.TransId; // 中转仓ID
body["orderPlatformCode"] = "WEISHOP";
var url = "https://po.e57.cn/prod-api/api/oms-api/externalProcurement/saveOrUpdate";
var dataStr = JsonHelper.SerializeObject(body);
var exportRst = HttpResponseWXBLL.e57PostResponse(url, dataStr, "");
return exportRst;
}
}
}
+175 -104
View File
@@ -39,6 +39,8 @@ namespace TemuKJD.ToolForms
public partial class PddMobileBuyOrderForm : BaseGeneralForm
{
public oms_wei_external_procurement_log_info AbnormalTransitWarehouseOrderInfo { get; set; } = null;
public bool IsAutoBuy { get; set; } = true;
public bool IsFormLoad { get; set; } = false;
public bool ShowBuyMask { get; set; } = false;
@@ -131,6 +133,11 @@ namespace TemuKJD.ToolForms
txtSendProvince.Text = buyMap.map_send_address;
this.transitWarehouse = TransitWarehouseData.TransitWarehouseList.FirstOrDefault(t => t.TransId == buyMap.transit_warehouse_id);
// 异常单重新拍单
if (AbnormalTransitWarehouseOrderInfo != null)
{
transitWarehouse = TransitWarehouseData.TransitWarehouseList.FirstOrDefault(t => t.TransId == AbnormalTransitWarehouseOrderInfo.platform);
}
if (transitWarehouse != null)
{
cmbTransitWarehouse.Text = transitWarehouse?.TransName + " " + transitWarehouse?.TransDetailAddress;
@@ -440,15 +447,22 @@ namespace TemuKJD.ToolForms
{
IsChangeAddress = true;
Thread.Sleep(100);
var sourceCodeRst = GetSourceCode(transit);
if (sourceCodeRst.Contains("失败"))
if(AbnormalTransitWarehouseOrderInfo != null)
{
Invoke(new Action(() =>
Invoke(new Action(() => { txtSourceCode.Text = AbnormalTransitWarehouseOrderInfo.random_code; }));
}
else
{
var sourceCodeRst = GetSourceCode(transit);
if (sourceCodeRst.Contains("失败"))
{
this.cefWebBrowser.Visible = false;
BaseMsgForm.ShowError(sourceCodeRst);
}));
return;
Invoke(new Action(() =>
{
this.cefWebBrowser.Visible = false;
BaseMsgForm.ShowError(sourceCodeRst);
}));
return;
}
}
ChangeAddress(transit);
IsChangeAddress = false;
@@ -878,112 +892,169 @@ namespace TemuKJD.ToolForms
btnManualUpdateBuyOrder.Enabled = false;
JObject body = new JObject();
body["orderNo"] = orderItem.order_id;
body["orderSkuId"] = orderItem.sku_id;
body["outOrderNo"] = txtBuyOrderId.Text.Trim();
body["outAmount"] = (txtBuyPrice.Text.ParseToDecimal() * 100).ParseToInt() + "";
body["buyerAccount"] = buyer.buyer_nick; // 买手昵称
body["purchaserNote"] = BaseClass.NickName; // 购买软件账户备注
body["express1Company"] = ""; // 物流公司编号
body["express1Waybill"] = ""; // 物流编号
body["platform"] = transit.TransId; // 中转仓ID
body["orderPlatformCode"] = "WEISHOP";
body["randomCode"] = txtSourceCode.Text.Trim();
if (GlobalConfig.BuyConfig.IsUseAppBalance)
#region 正常拍单
if (AbnormalTransitWarehouseOrderInfo == null)
{
body["userName"] = BaseClass.UserName; // 软件端用户名
body["purchaserNote"] = BaseClass.UserName + "-" + BaseClass.NickName; // 购买软件账户备注
body["postage"] = (BaseClass.PostagePerOrder * 100).ParseToInt() + "";
}
var url = "https://po.e57.cn/prod-api/api/oms-api/externalProcurement/saveOrUpdate";
var dataStr = JsonHelper.SerializeObject(body);
//dataStr = "{\"orderNo\":\"3737339733954942720\",\"outOrderNo\":\"2606846854564\",\"buyerAccount\":\"测试\",\"outAmount\":\"2000\",\"purchaserNote\":\"测试\",\"express1Company\":\"\"" +
// ",\"express1Waybill\":\"\",\"platform\":\"XDYSHC\",\"orderPlatformCode\":\"WEISHOP\"}";
var exportRst = HttpResponseWXBLL.e57PostResponse(url, dataStr, "");
//<AjaxResult><msg>保存成功</msg><code>200</code></AjaxResult>
//<AjaxResult><msg>订单不存在:373733973395494272</msg><code>500</code></AjaxResult>
if (!exportRst.ParseToString().Contains("<code>200</code>"))
{
string msg = "";
string code = "";
try
JObject body = new JObject();
body["orderNo"] = orderItem.order_id;
body["orderSkuId"] = orderItem.sku_id;
body["outOrderNo"] = txtBuyOrderId.Text.Trim();
body["outAmount"] = (txtBuyPrice.Text.ParseToDecimal() * 100).ParseToInt() + "";
body["buyerAccount"] = buyer.buyer_nick; // 买手昵称
body["purchaserNote"] = BaseClass.NickName; // 购买软件账户备注
body["express1Company"] = ""; // 物流公司编号
body["express1Waybill"] = ""; // 物流编号
body["platform"] = transit.TransId; // 中转仓ID
body["orderPlatformCode"] = "WEISHOP";
body["randomCode"] = txtSourceCode.Text.Trim();
if (GlobalConfig.BuyConfig.IsUseAppBalance)
{
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
xmlDoc.LoadXml(exportRst);
code = xmlDoc["AjaxResult"]["code"].InnerText;
msg = xmlDoc["AjaxResult"]["msg"].InnerText;
body["userName"] = BaseClass.UserName; // 软件端用户名
body["purchaserNote"] = BaseClass.UserName + "-" + BaseClass.NickName; // 购买软件账户备注
body["postage"] = (BaseClass.PostagePerOrder * 100).ParseToInt() + "";
}
catch
var url = "https://po.e57.cn/prod-api/api/oms-api/externalProcurement/saveOrUpdate";
var dataStr = JsonHelper.SerializeObject(body);
//dataStr = "{\"orderNo\":\"3737339733954942720\",\"outOrderNo\":\"2606846854564\",\"buyerAccount\":\"测试\",\"outAmount\":\"2000\",\"purchaserNote\":\"测试\",\"express1Company\":\"\"" +
// ",\"express1Waybill\":\"\",\"platform\":\"XDYSHC\",\"orderPlatformCode\":\"WEISHOP\"}";
var exportRst = HttpResponseWXBLL.e57PostResponse(url, dataStr, "");
//<AjaxResult><msg>保存成功</msg><code>200</code></AjaxResult>
//<AjaxResult><msg>订单不存在:373733973395494272</msg><code>500</code></AjaxResult>
if (!exportRst.ParseToString().Contains("<code>200</code>"))
{
msg = exportRst.ParseToString();
string msg = "";
string code = "";
try
{
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
xmlDoc.LoadXml(exportRst);
code = xmlDoc["AjaxResult"]["code"].InnerText;
msg = xmlDoc["AjaxResult"]["msg"].InnerText;
}
catch
{
msg = exportRst.ParseToString();
}
BaseMsgForm.ShowError("拍单保存失败,服务端返回 " + msg, "拍单信息保存失败");
btnManualUpdateBuyOrder.Enabled = true;
return;
}
BaseMsgForm.ShowError("拍单保存失败,服务端返回 " + msg, "拍单信息保存失败");
btnManualUpdateBuyOrder.Enabled = true;
return;
url = BaseClass.Build29WxObjString("user/get_all_user");
var data = UserLogin.GetSignaturex();
data += "&search_user_name=" + BaseClass.UserName;
var html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
if (html.Contains("\"code\":200"))
BaseClass.Balance = BaseRegex.GetDecimalJson(ref html, "balance");
orderItem.ItemTransitOrders.Insert(0, new oms_wei_external_procurement_log_info()
{
buyer_account = buyer.buyer_nick,
id = 0,
order_no = orderItem.order_id,
order_sku_id = orderItem.sku_id,
out_amount = (txtBuyPrice.Text.ParseToDecimal() * 100).ParseToInt(),
out_order_no = txtBuyOrderId.Text.Trim(),
purchaser_note = body["purchaserNote"].ParseToString(),
});
orderItem.SetTransitOrder();
// 利润计算重置为最小值,控件Resource更新时将计算利润
orderItem.ProfitCount = decimal.MinValue;
var order = orderItem.ItemOrder;
if (filterOrderAction != null)
{
GlobalConfig.lstFilterOrder.Remove(order);
filterOrderAction(order, true);
}
//// 前一天的订单直接提前取号
//if (DateTime.Now.Date > BaseClass.StampToDateTime(order.create_time).Date)
//{
// JObject data = new JObject();
// data["outOrderNo"] = txtBuyOrderId.Text.Trim();
// //data2["outOrderNo"] = orderItem.ItemTransitOrder.order_code;
// data["warehouseCode"] = transit.TransId; // 中转仓仓库对应编码 XDYSZC XDYYWC ...
// //data["warehouseCode"] = txtBuyOrderId.Text.Trim(); // 中转仓仓库对应编码
// data["platform"] = "WEISHOP";
// var getVirtualTicketUrl = "https://po.e57.cn/prod-api/api/oms-api/external_procurement/order/virtual/create";
// var getVirtualTicketDataStr = JsonHelper.SerializeObject(data);
// var getVirtualTicketRst = HttpResponseWXBLL.e57PostResponse(getVirtualTicketUrl, getVirtualTicketDataStr, "");
// if (!getVirtualTicketRst.ParseToString().Contains("<code>200</code>") && !getVirtualTicketRst.ParseToString().Contains("<code>0</code>"))
// {
// string msg = "";
// string code = "";
// try
// {
// System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
// xmlDoc.LoadXml(getVirtualTicketRst);
// code = xmlDoc["AjaxResult"]["code"].InnerText;
// msg = xmlDoc["AjaxResult"]["msg"].InnerText;
// }
// catch
// {
// msg = getVirtualTicketRst.ParseToString();
// }
// BaseMsgForm.ShowError("拍单信息保存成功,接收到服务端传递的错误消息:" + msg, "订单提前取号失败");
// btnManualUpdateBuyOrder.Enabled = true;
// return;
// }
//}
}
#endregion
url = BaseClass.Build29WxObjString("user/get_all_user");
var data = UserLogin.GetSignaturex();
data += "&search_user_name=" + BaseClass.UserName;
var html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
if (html.Contains("\"code\":200"))
BaseClass.Balance = BaseRegex.GetDecimalJson(ref html, "balance");
#region 异常单重拍
if (AbnormalTransitWarehouseOrderInfo != null)
{
var url = BaseClass.Build29WxObjString("order/wx_update_abnormal_transit_order");
var data = UserLogin.GetSignaturex();
data += "&out_order_no=" + txtBuyOrderId.Text.Trim();
data += "&order_no=" + orderItem.order_id;
data += "&order_sku_id=" + orderItem.sku_id;
data += "&buyer_account=" + buyer.buyer_nick;
data += "&out_amount=" + (txtBuyPrice.Text.ParseToDecimal() * 100).ParseToInt() + "";
data += "&purchaser_note=" + BaseClass.UserName + "-" + BaseClass.NickName; // 购买软件账户备注
data += "&refund_status=" + "";
data += "&old_out_order_no=" + AbnormalTransitWarehouseOrderInfo.out_order_no;
data += "&old_order_no=" + AbnormalTransitWarehouseOrderInfo.order_no;
data += "&old_order_sku_id=" + AbnormalTransitWarehouseOrderInfo.order_sku_id;
data += "&old_buyer_account=" + AbnormalTransitWarehouseOrderInfo.buyer_account;
data += "&old_out_amount=" + AbnormalTransitWarehouseOrderInfo.out_amount;
data += "&old_purchaser_note=" + AbnormalTransitWarehouseOrderInfo.purchaser_note;
data += "&old_refund_status=" + AbnormalTransitWarehouseOrderInfo.refund_status;
data += "&order_code=" + AbnormalTransitWarehouseOrderInfo.order_code;
var html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
{
var msg = BaseRegex.GetStringJsonByRegs(ref html, html, "msg");
BaseMsgForm.ShowError("异常单重拍保存失败");
btnManualUpdateBuyOrder.Enabled = true;
return;
}
orderItem.ItemTransitOrders.Insert(0, new oms_wei_external_procurement_log_info()
{
buyer_account = buyer.buyer_nick,
id = 0,
order_no = orderItem.order_id,
order_sku_id = orderItem.sku_id,
out_amount = (txtBuyPrice.Text.ParseToDecimal() * 100).ParseToInt(),
out_order_no = txtBuyOrderId.Text.Trim(),
purchaser_note = body["purchaserNote"].ParseToString(),
});
orderItem.SetTransitOrder();
// 利润计算重置为最小值,控件Resource更新时将计算利润
orderItem.ProfitCount = decimal.MinValue;
var order = orderItem.ItemOrder;
if (filterOrderAction != null)
{
GlobalConfig.lstFilterOrder.Remove(order);
filterOrderAction(order, true);
orderItem.ItemTransitOrder.buyer_account = buyer.buyer_nick;
orderItem.ItemTransitOrder.id = 0;
orderItem.ItemTransitOrder.order_no = orderItem.order_id;
orderItem.ItemTransitOrder.order_sku_id = orderItem.sku_id;
orderItem.ItemTransitOrder.out_amount = (txtBuyPrice.Text.ParseToDecimal() * 100).ParseToInt();
orderItem.ItemTransitOrder.out_order_no = txtBuyOrderId.Text.Trim();
orderItem.ItemTransitOrder.purchaser_note = BaseClass.UserName + "-" + BaseClass.NickName;
orderItem.ItemTransitOrder.refund_status = "";
orderItem.SetTransitOrder();
// 利润计算重置为最小值,控件Resource更新时将计算利润
orderItem.ProfitCount = decimal.MinValue;
var order = orderItem.ItemOrder;
if (filterOrderAction != null)
{
GlobalConfig.lstFilterOrder.Remove(order);
filterOrderAction(order, true);
}
}
//// 前一天的订单直接提前取号
//if (DateTime.Now.Date > BaseClass.StampToDateTime(order.create_time).Date)
//{
// JObject data = new JObject();
// data["outOrderNo"] = txtBuyOrderId.Text.Trim();
// data["warehouseCode"] = transit.TransId; // 中转仓仓库对应编码 XDYSZC XDYYWC ...
// //data["warehouseCode"] = txtBuyOrderId.Text.Trim(); // 中转仓仓库对应编码
// data["platform"] = "WEISHOP";
// var getVirtualTicketUrl = "https://po.e57.cn/prod-api/api/oms-api/external_procurement/order/virtual/create";
// var getVirtualTicketDataStr = JsonHelper.SerializeObject(data);
// var getVirtualTicketRst = HttpResponseWXBLL.e57PostResponse(getVirtualTicketUrl, getVirtualTicketDataStr, "");
// if (!getVirtualTicketRst.ParseToString().Contains("<code>200</code>") && !getVirtualTicketRst.ParseToString().Contains("<code>0</code>"))
// {
// string msg = "";
// string code = "";
// try
// {
// System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
// xmlDoc.LoadXml(getVirtualTicketRst);
// code = xmlDoc["AjaxResult"]["code"].InnerText;
// msg = xmlDoc["AjaxResult"]["msg"].InnerText;
// }
// catch
// {
// msg = getVirtualTicketRst.ParseToString();
// }
// BaseMsgForm.ShowError("拍单信息保存成功,接收到服务端传递的错误消息:" + msg, "订单提前取号失败");
// btnManualUpdateBuyOrder.Enabled = true;
// return;
// }
//}
#endregion
BaseMsgForm.ShowInfo("拍单信息保存成功");
this.Close();