Files
29WxOrder/Work/ExpressSet.cs
T
2026-06-11 15:17:50 +08:00

266 lines
11 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using AllBase;
using Work.Model;
namespace Work
{
public class ExpressSet
{
public static bool AutoAdd1408Room = false;
public static Dictionary<string, string> ExpressList = new Dictionary<string, string>();
public static Dictionary<string, string> ExpressBuyList = new Dictionary<string, string>();
public static Dictionary<string, string> ExpressBuyList_MTY = new Dictionary<string, string>();
public static Dictionary<string, GiftExp> GiftExpressBuyList = new Dictionary<string, GiftExp>();//礼品网礼品单
public static Dictionary<string, string> GiftExpressEmtyBuyList = new Dictionary<string, string>();//礼品网快递单
public string DeleteId = "";
public int Id = 0;
public ExpressBase Express;
public ExpressSet(string deleteId)
{
DeleteId = deleteId;
}
public ExpressSet(int deleteId)
{
Id = deleteId;
}
public ExpressSet(ExpressBase express)
{
Express = express;
}
public static void Ini()
{
ExpressList.Add("申通速递", "1");
ExpressList.Add("申通快递", "1");
ExpressList.Add("百世快递", "3");
ExpressList.Add("顺丰快递", "44");
ExpressList.Add("圆通快递", "85");
ExpressList.Add("中通快递", "115");
ExpressList.Add("全峰快递", "116");
ExpressList.Add("优速快递", "117");
ExpressList.Add("邮政EMS", "118");
ExpressList.Add("EMS", "118");
ExpressList.Add("百世快运", "229");
ExpressList.Add("天天快递", "119");
ExpressList.Add("京东配送", "120");
ExpressList.Add("韵达快递", "121");
ExpressList.Add("宅急送快递", "129");
ExpressList.Add("德邦快递", "131");
ExpressList.Add("邮政快递包裹", "132");
ExpressList.Add("亚马逊物流", "156");
//ExpressList.Add("中邮速递", "211");
ExpressList.Add("EMS-国际件", "213");
ExpressList.Add("中铁物流", "214");
ExpressList.Add("日日顺物流", "227");
ExpressList.Add("苏宁快递", "228");
ExpressList.Add("德邦物流", "230");
ExpressList.Add("邮政标准快递", "324");
ExpressList.Add("邮政国际包裹", "325");
ExpressList.Add("中铁快运", "332");
ExpressList.Add("赛澳递", "89");
ExpressList.Add("晟邦物流", "90");
ExpressList.Add("快捷快递", "122");
ExpressList.Add("国通快递", "124");
ExpressList.Add("如风达", "130");
//ExpressList.Add("龙邦快递", "133");
//ExpressList.Add("龙邦速递", "133");
ExpressList.Add("亚风速递", "317");
ExpressList.Add("远成快运", "205");
ExpressList.Add("壹米滴答快运", "348");
ExpressList.Add("京广速递", "281");
ExpressList.Add("承诺达特快", "351");
ExpressList.Add("加运美", "275");
ExpressList.Add("安迅物流", "352");
ExpressList.Add("中通快运", "343");
ExpressList.Add("速尔快递", "155");
ExpressList.Add("顺丰快运", "372");
ExpressList.Add("极兔速递", "384");
ExpressList.Add("韵达快运", "344");
////ExpressBuyList.Add("国通快递(0.55元)", "66");
////ExpressBuyList.Add("韵达快递-电子(0.5元)", "30");
////ExpressBuyList.Add("亚风速递-电子(0.5元)", "109");
////ExpressBuyList.Add("京广速递(0.60元)", "94");
//ExpressBuyList.Add("安迅物流-电子(0.60元)", "115");
//ExpressBuyList.Add("天天快递-电子(0.65元)", "127");
////ExpressBuyList.Add("圆通快递-电子(0.90元)", "106");
//ExpressBuyList.Add("申通快递-电子(0.75元)", "113");
//ExpressBuyList.Add("中通快运-电子(0.75元)", "123");
////ExpressBuyList.Add("申通快递(0.75元)", "72");
////ExpressBuyList.Add("京广速递-电子(0.8元)", "116");
//ExpressBuyList.Add("百世快递-电子(0.5元)", "117");
//ExpressBuyList.Add("远成快运(0.95元)", "88");
//ExpressBuyList.Add("龙邦速递(0.95元)", "68");
//ExpressBuyList.Add("亚风速递(1.00元)", "69");
//ExpressBuyList.Add("优速快递(0.85元)", "85");
////ExpressBuyList_MTY.Add("国通快递--拼多多专用(0.5元)", "53");
//ExpressBuyList_MTY.Add("圆通快递--电子面单(0.55元)", "56");
//ExpressBuyList_MTY.Add("承诺达特快--电子面单(0.55元)", "57");
////ExpressBuyList_MTY.Add("亚风速递--拼多多专用(0.65元)", "28");
//ExpressBuyList_MTY.Add("加运美--拼多多专用(0.5元)", "54");
//ExpressBuyList_MTY.Add("申通快递--拼多多专用(0.7元)", "52");
//ExpressBuyList_MTY.Add("百世快递--拼多多专用(0.9元)", "34");
//ExpressBuyList_MTY.Add("中通快递--拼多多专用(0.9元)", "49");
//ExpressBuyList_MTY.Add("百世快递--电子面单(1.05元))", "51");
//从服务端获取猫头鹰快递
if (!BaseClass.IsXiaoNaiNiu)
{
IniMtyExp();
}
}
public static void IniMtyExp()
{
if (ExpressBuyList_MTY.Count > 0)
return;
string url = BaseClass.BuildObjString("empty_bag&act=get");
StringBuilder s = new StringBuilder();
s.Append("&" + UserLogin.GetSignaturex());
string html = GetHtml.PostUtf8(url, s.ToString());
html = GetHtml.UrlDecode(html);
var expArr = BaseRegex.GetMatchRegex(ref html, "{\"name\":\"[\\S\\s]+?\",\"price\":\"\\([\\S\\s]+?\\)\",\"value\":\"[\\d]+?\"}");
for (int i = 0; i < expArr.Count; i++)
{
var item = expArr[i].ToString();
string expName = BaseRegex.GetStringJson(ref item, "name");
string price = BaseRegex.GetStringJson(ref item, "price");
string val = BaseRegex.GetStringJson(ref item, "value");
string keyStr = expName + price;
if (ExpressBuyList_MTY.ContainsKey(keyStr))
{
continue;
}
ExpressBuyList_MTY.Add(keyStr, val);
}
}
public static string Add(string expressName, string expressNo, string name, string mobile, string address)
{
if (string.IsNullOrEmpty(expressName) || string.IsNullOrEmpty(expressNo) || string.IsNullOrEmpty(name) ||
string.IsNullOrEmpty(mobile) || string.IsNullOrEmpty(address) || !ExpressList.ContainsKey(expressName))
{
return "请填写完整的信息";
}
if (AutoAdd1408Room && !address.Contains("1408") && !address.Contains("95278"))
address += "95278"; //"1408";
string expressId = ExpressList[expressName];
StringBuilder s = new StringBuilder();
s.Append("&express_id=" + expressId);
s.Append("&express_no=" + expressNo);
s.Append("&express_name=" + expressName);
s.Append("&name=" + name);
s.Append("&mobile=" + mobile);
s.Append("&address=" + address);
string data = UserLogin.GetSignaturex() + s;
string url = BaseClass.BuildObjString("express&act=add");
string html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html))
{
return "提交异常,请检查网络";
}
if (html == "had")
{
return "已经存在";
}
if (html == "ok")
{
ExpressBase e = new ExpressBase();
e.address = address;
e.express_id = expressId;
e.express_name = expressName;
e.express_no = expressNo;
e.mobile = mobile;
e.name = name;
e.use_times = 0;
e.buy_type = 1;
CollectionClass.ExpressList.Add(e);
CollectionClass.ExpressTempList.Add(e);
return "";
}
return "链接异常";
}
public static string path;
public static void Input()
{
string[] file = FileBase.ReadAllLines(path, Encoding.Default);
Input(file);
}
public static void Input(string[] file)
{
string message = "";
for (int i = 0; i < file.Length; i++)
{
if (string.IsNullOrEmpty(file[i]))
continue;
string[] l = file[i].Replace(",", ",").Split(',');
if (l.Length != 5)
continue;
string expressName = l[0], expressNo = l[1], name = l[2], mobile = l[3], address = l[4];
string msg = Add(expressName, expressNo, name, mobile, address);
if (!string.IsNullOrEmpty(msg))
message += "单号:" + expressNo + " 添加失败:" + msg;
}
if (!string.IsNullOrEmpty(message))
MessageBox.Show(message, "提示");
}
public void Delete()
{
Delete(DeleteId);
}
public string Delete(string no)
{
StringBuilder s = new StringBuilder();
s.Append("&express_no=" + no);
s.Append("&id=" + Id);
string data = UserLogin.GetSignaturex() + s;
string url = BaseClass.BuildObjString("express&act=delete");
string html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || html != "ok")
{
return "提交异常,请检查网络";
}
return "";
}
public void Update()
{
StringBuilder s = new StringBuilder();
s.Append("&name=" + Express.name);
s.Append("&mobile=" + Express.mobile);
s.Append("&address=" + GetHtml.UrlEncodeUtf8(Express.address));
s.Append("&id=" + Express.id);
string data = UserLogin.GetSignaturex() + s;
string url = BaseClass.BuildObjString("express&act=update");
string html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || html != "ok")
{
MessageBox.Show("提交异常,请检查网络");
}
}
}
public class GiftExp
{
public string storeId { get; set; }
public string kdId { get; set; }
}
}