using AllBase; using AllBase.Helper; using AllBase.Model.Result; using LittleRabbit.Extension; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Web.UI.WebControls; using System.Windows.Forms; using Work; namespace LittleRabbit.LittleRabbitForms.ShopForms { /// /// 运费模板管理窗口 /// public partial class FreightTemplateAddForm : Form { public static List ids = new List(); public FreightTemplateAddForm() { InitializeComponent(); } private void btnSave_Click(object sender, EventArgs e) { string template_name = txtTemplate.Text.ToString(); int num =0; decimal price = 0; int addnum = 0; decimal addPrcie = 0; if (rbcost0.Checked) { num = Convert.ToInt32(txtNum.Text); price = Convert.ToDecimal(txtPrice.Text); addnum = Convert.ToInt32(txtAddNum.Text); addPrcie = Convert.ToDecimal(txtAddPrcie.Text); } var prov = cobProvince.SelectedItem as ListItem; int pid = int.Parse(prov.Value); var city = cobCity.SelectedItem as ListItem; int cid = int.Parse(city.Value); ids = dgvShop.Rows.Cast() .Where(r1 => r1.Cells["colSelect"].Value.ToString().ToLower() == "true") .Select(r2 => r2.Cells["colShopId"].Value?.ToString()).ToList(); Task.Run(()=> { for (int i = 0; i < GlobalConfig.DouShopLoginList.Count; i++) { var shop = GlobalConfig.DouShopLoginList[i]; if (!ids.Any(id => id == shop.ShopAccountId) || shop.LoginStatus != "登录成功") continue; string data = "template_name=" + template_name + "&product_province=" + pid + "&product_city=" + cid; //固定运费 if (rbcost1.Checked) { decimal fix = Convert.ToDecimal(txtFixCost.Text); data += "&rule_type=1&calculate_type=2&fixed_amount=" + fix * 100 + "&appid=1&__token=" + shop.ShopToken + "&_bid=ffa_order&aid=4272&_lid=478386445810"; } //卖家包邮 if (rbcost2.Checked) { data += "&rule_type=2&calculate_type=2&fixed_amount=0&appid=1&__token=" + shop.ShopToken + "&_bid=ffa_order&aid=4272&_lid=478386445810"; } // 阶梯计价 if (rbcost0.Checked) { if (rbtype1.Checked) { data += "&rule_type=0&calculate_type=2&fixed_amount=0&columns[0][calculate_type]=2&columns[0][first_weight]=&columns[0][first_weight_price]=&columns[0][first_num]=" + num + "&columns[0][first_num_price]=" + price + "&columns[0][add_weight]=&columns[0][add_weight_price]=&columns[0][add_num]=" + addnum + "&columns[0][add_num_price]=" + addPrcie + "&columns[0][is_default]=1&columns[0][is_limited]=0&columns[0][is_over_free]=0&appid=1&__token=" + shop.ShopToken + "&_bid=ffa_order&aid=4272&_lid=390305557852"; } else { data += "&rule_type=0&calculate_type=1&fixed_amount=0&columns[0][calculate_type]=1&columns[0][first_weight]=" + num + "&columns[0][first_weight_price]=" + price + "&columns[0][first_num]=&columns[0][first_num_price]=&columns[0][add_weight]=" + addnum + "&columns[0][add_weight_price]=" + addPrcie + "&columns[0][add_num]=&columns[0][add_num_price]=&columns[0][is_default]=1&columns[0][is_limited]=0&columns[0][is_over_free]=0&appid=1&__token=" + shop.ShopToken + "&_bid=ffa_order&aid=4272&_lid=482676755100"; } } //提交 string url = "https://fxg.jinritemai.com/freight/template/createShopFreightTemplate?appid=1&__token=" + shop.ShopToken + "&_bid=ffa_order&aid=4272&_lid=390305621361&_signature=" + shop.Signature + ""; string refere = "https://fxg.jinritemai.com/ffa/morder/logistics/freight-edit"; data = HttpUtility.UrlEncode(data, Encoding.UTF8).Replace("%3d", "=").Replace("%26", "&"); string html = GetPostTaobaoHtml.UploadFxgPost(url, refere, true, data, shop.Cookies); long template_id = BaseRegex.GetLongJson(ref html, "template_id"); if (template_id>0) { RefreshDataGridView(shop, "运费模板设置成功"); RefreshLog(shop.ShopAccount+"运费模板设置成功"); } else { RefreshDataGridView(shop, "运费模板设置失败"); RefreshLog(shop.ShopAccount + "运费模板设置失败"); } } }); } int count = 0; public void RefreshDataGridView(DouShopLoginInfo shop,string message) { this.Invoke(new Action(() => { count++; for (int i = 0; i < dgvShop.Rows.Count; i++) { if (shop.ShopAccountId== dgvShop.Rows[i].Cells["colShopId"].Value.ToString()) { dgvShop.Rows[i].Cells["colStatus"].Value = message; break; } } })); } public void RefreshLog(string message) { Task.Run(() => { if (this.Created) { this.Invoke(new Action(() => { this.statusBar.lblTaskStatus.Text = message; this.statusBar.pgbTaskProgress.Maximum = ids.Count; this.statusBar.pgbTaskProgress.Value = count; this.statusBar.pgbTaskProgress.Text = count + "/" + ids.Count; })); } }); } private void rbcost1_CheckedChanged(object sender, EventArgs e) { if (rbcost1.Checked) { panel1.Visible = true; } else { panel1.Visible = false; } } private void rbcost0_CheckedChanged(object sender, EventArgs e) { if (rbcost0.Checked) { groupTemplate.Visible = true; } else { groupTemplate.Visible = false; } } private void rbcost2_CheckedChanged(object sender, EventArgs e) { if (rbcost2.Checked) { groupTemplate.Visible = false; panel1.Visible = false; } } private void rbtype1_CheckedChanged(object sender, EventArgs e) { if (rbtype1.Checked) { label5.Text= "件以内,"; label7.Text = "件,增加运费"; } } private void rbtype2_CheckedChanged(object sender, EventArgs e) { if (rbtype2.Checked) { label5.Text = "kg以内,"; label7.Text = "kg,增加运费"; } } private void cobProvince_SelectedIndexChanged(object sender, EventArgs e) { var area = cobProvince.SelectedItem as ListItem; int id = int.Parse(area.Value); var shop = GlobalConfig.DouShopLoginList.Where(s=>s.LoginStatus=="登录成功").FirstOrDefault(); if (shop == null) return; List list = new List(); //获取市区 string url = "https://fxg.jinritemai.com/common/index/getCity?version=1&id=" + id + "&appid=1&__token=" + shop?.ShopToken + "&_bid=ffa_order&aid=4272&_lid=368236870254&_signature=" + shop?.Signature + ""; string refere = "https://fxg.jinritemai.com/ffa/morder/logistics/freight-edit"; string html = GetPostTaobaoHtml.UploadTaobao(url, refere, true, shop?.Cookies); long catId = BaseRegex.GetLongJson(ref html, "id"); var m = BaseRegex.GetMatchRegex(ref html, @"{""city_id""[\w\W]+?}"); for (int i = 0; m != null && i < m.Count; i++) { string temp = m[i].Groups[0].Value; long pid = BaseRegex.GetLongJson(ref temp, "city_id"); string pname = BaseRegex.GetStringJson(ref temp, "city"); list.Add(new ListItem(pname,pid.ToString())); } cobCity.DisplayMember = "Text"; cobCity.ValueMember = "Value"; cobCity.DataSource = list; } private void ShopFreightTemplateForm_Load(object sender, EventArgs e) { this.dgvShop.AddSelectorColumn("colSelect"); ReadLoad(); loadArea(); } string temp = ""; public void loadArea() { //var shop = GlobalConfig.DouShopLoginList[0]; //List list = new List(); //cobProvince.Items.Clear(); //string url = "https://fxg.jinritemai.com/common/index/getProvince?version=1&only_mainland=1&appid=1&__token=" + shop.ShopToken // + "&_bid=ffa_order&aid=4272&_lid=468369728881&_signature=" + shop.Signature; //string refere = "https://fxg.jinritemai.com/ffa/morder/logistics/freight-edit"; //string html = GetPostTaobaoHtml.UploadTaobao(url, refere, true, shop.Cookies); //var m = BaseRegex.GetMatchRegex(ref html, @"{""province_id""[\w\W]+?}"); //for (int i = 0; m != null && i < m.Count; i++) //{ // string item = m[i].Groups[0].Value; // long pid = BaseRegex.GetLongJson(ref item, "province_id"); // string pname = BaseRegex.GetStringJson(ref item, "province"); // list.Add(new ListItem(pname, pid.ToString())); // temp += pname+":"+pid+"\r\n"; //} List list = new List(); List striparr = prov.Split(new string[] { "\r\n" }, StringSplitOptions.None).ToList(); for (int i = 0; i < striparr.Count; i++) { string item = striparr[i]; string pname = item.Split(':')[0]; string pid= item.Split(':')[1]; list.Add(new ListItem(pname, pid)); } cobProvince.DisplayMember = "Text"; cobProvince.ValueMember = "Value"; cobProvince.DataSource = list; } public void ReadLoad() { for (int i = 0; i < GlobalConfig.DouShopLoginList.Count; i++) { var shop = GlobalConfig.DouShopLoginList[i]; dgvShop.Rows.Add(false, shop.ShopAccountId, shop.ShopAccount, 0, shop.LoginStatus); } } private void dgvShop_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex < 0 || e.RowIndex < 0) return; //string name = dgvShop.Columns[e.ColumnIndex].HeaderText; string colId = dgvShop.Columns[e.ColumnIndex].Name; if (colId == "colSelect") { bool ok = !bool.Parse(dgvShop.Rows[e.RowIndex].Cells["colSelect"].Value.ToString()); dgvShop.Rows[e.RowIndex].Cells["colSelect"].Value = ok; } //if (name == "全选") //{ // bool ok = !bool.Parse(dgvShop.Rows[e.RowIndex].Cells["colSelect"].Value.ToString()); // string shopName = dgvShop.Rows[e.RowIndex].Cells["colShopId"].Value.ToString(); // dgvShop.Rows[e.RowIndex].Cells["colSelect"].Value = ok; // if (ok) // { // ids.Add(shopName); // } // else // { // if (ids.Select(id => id == shopName).FirstOrDefault()) // { // ids.Remove(shopName); // } // } //} } string prov = @"安徽省:34 北京市:11 重庆市:50 福建省:35 广东省:44 甘肃省:62 广西壮族自治区:45 贵州省:52 河北省:13 湖北省:42 黑龙江省:23 河南省:41 湖南省:43 海南省:46 吉林省:22 江苏省:32 江西省:36 辽宁省:21 内蒙古自治区:15 宁夏回族自治区:64 青海省:63 四川省:51 山东省:37 上海市:31 山西省:14 陕西省:61 天津市:12 新疆维吾尔自治区:65 西藏自治区:54 云南省:53 浙江省:33"; } }