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 ExpressList = new Dictionary(); public static Dictionary ExpressBuyList = new Dictionary(); public static Dictionary ExpressBuyList_MTY = new Dictionary(); public static Dictionary GiftExpressBuyList = new Dictionary();//礼品网礼品单 public static Dictionary GiftExpressEmtyBuyList = new Dictionary();//礼品网快递单 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; } } }