using AllBase; using AllBase.Model.Result; using TemuKJD.BaseForms; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using Work; using NaiBa.Util.Extension; using Newtonsoft.Json.Linq; using AllBase.Model.Result.WXResult; using System.Threading; namespace TemuKJD.ToolForms { public partial class Get1688AddressForm : BaseForm { public CancellationTokenSource cancellationTokenSource { get; set; } = new CancellationTokenSource(); public static List lstAddressInfo { get; set; } = new List(); public Get1688AddressForm() { InitializeComponent(); } private void SubAccountForm_Load(object sender, EventArgs e) { this.dgvUser.BackgroundColor = Color.White; Get1688Address(); } private void btnAddress_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(txtCoid.Text)) { BaseMsgForm.ShowError("供应商ID不能为空"); return; } if (string.IsNullOrWhiteSpace(txtSupplierName.Text)) { BaseMsgForm.ShowError("供应商名称不能为空"); return; } if (string.IsNullOrWhiteSpace(txtUserName.Text)) { BaseMsgForm.ShowError("收件人不能为空"); return; } if (string.IsNullOrWhiteSpace(txtProvinceName.Text)) { BaseMsgForm.ShowError("省不能为空"); return; } if (string.IsNullOrWhiteSpace(txtCityName.Text)) { BaseMsgForm.ShowError("市不能为空"); return; } if (string.IsNullOrWhiteSpace(txtCountyName.Text)) { BaseMsgForm.ShowError("区不能为空"); return; } if (txtTelNumber.Text.Trim().Length != 11) { BaseMsgForm.ShowError("手机号格式不正确"); return; } if (string.IsNullOrWhiteSpace(txtDetailInfo.Text)) { BaseMsgForm.ShowError("详细地址不能为空"); return; } var jAfterSale = new JObject(); jAfterSale["address_id"] = null; jAfterSale["user_name"] = txtUserName.Text.Trim(); jAfterSale["tel_number"] = txtTelNumber.Text.Trim(); jAfterSale["postal_code"] = txtPostalCode.Text.Trim(); jAfterSale["province_name"] = txtProvinceName.Text.Trim(); jAfterSale["city_name"] = txtCityName.Text.Trim(); jAfterSale["county_name"] = txtCountyName.Text.Trim(); jAfterSale["street_name"] = ""; jAfterSale["detail_info"] = txtDetailInfo.Text.Trim(); jAfterSale["number"] = txtCoid.Text.Trim(); jAfterSale["name"] = txtSupplierName.Text.Trim(); StringBuilder data = new StringBuilder(); data.Append(UserLogin.GetSignaturex()); data.Append("&coid=" + GetHtml.UrlEncodeUtf8(txtCoid.Text.Trim())); data.Append("&after_sale_json=" + GetHtml.UrlEncodeUtf8(JsonHelper.SerializeObject(jAfterSale))); data.Append("&supplier_name=" + GetHtml.UrlEncodeUtf8(txtSupplierName.Text.Trim())); data.Append("&type=1688"); string url = BaseClass.BuildObjString("product/wx_add_mdy_after_sale"); string html = GetHtml.PostUtf8(url, data.ToString()).Trim(); if (!html.Contains("\"code\":200")) html = GetHtml.PostUtf8(url, data.ToString()).Trim(); if (html.Contains("\"code\":200")) { btnAddAddress.Text = "添加地址"; EmptyInput(); btnCancel.Visible = false; Get1688Address(); } else { var msg = BaseRegex.GetStringJson(ref html, "msg"); if (string.IsNullOrEmpty(msg)) msg = html; BaseMsgForm.ShowError("出现异常,添加失败" + msg, "错误"); return; } } private void EmptyInput() { txtCityName.Clear(); txtCoid.Clear(); txtCountyName.Clear(); txtDetailInfo.Clear(); txtPostalCode.Clear(); txtProvinceName.Clear(); txtStreetName.Clear(); txtSupplierName.Clear(); txtTelNumber.Clear(); txtUserName.Clear(); } private void Get1688Address(int page = 1) { dgvUser.Rows.Clear(); lstAddressInfo.Clear(); pbLoading.Visible = true; if (cancellationTokenSource != null) cancellationTokenSource.Cancel(); cancellationTokenSource = new CancellationTokenSource(); Task.Run(() => { string url = BaseClass.BuildObjString("product/wx_get_after_sale_list"); string data = UserLogin.GetSignaturex(); data += "&type=1688"; if (!string.IsNullOrEmpty(txtSearch.Text.Trim())) data += "&detail=" + txtSearch.Text.Trim(); data += "&page=" + page; data += "&page_size=" + ucSplitPage1.PageSize; string html = GetHtml.PostUtf8(url, data); if (!html.Contains("\"code\":200")) html = GetHtml.PostUtf8(url, data.ToString()).Trim(); if (html.Contains("\"code\":200")) { int count = BaseRegex.GetIntJson(ref html, "count"); int pageCount = Math.Ceiling(1.0 * count / ucSplitPage1.PageSize).ParseToInt(); pageCount = Math.Max(pageCount, 1); ucSplitPage1.TotalPage = pageCount; var userObj = JObject.Parse(html); foreach (JObject addressObj in userObj["data"]) { string addressStr = JsonHelper.SerializeObject(addressObj); WX1688AddressInfo addressInfo = JsonHelper.DeserializeJsonToObject(addressStr); lstAddressInfo.Add(addressInfo); string addressDetailStr = addressInfo.after_sale_json; string user_name = BaseRegex.GetStringJson(ref addressDetailStr, "user_name"); string tel_number = BaseRegex.GetStringJson(ref addressDetailStr, "tel_number"); string postal_code = BaseRegex.GetStringJson(ref addressDetailStr, "postal_code"); string province_name = BaseRegex.GetStringJson(ref addressDetailStr, "province_name"); string city_name = BaseRegex.GetStringJson(ref addressDetailStr, "city_name"); string county_name = BaseRegex.GetStringJson(ref addressDetailStr, "county_name"); string street_name = BaseRegex.GetStringJson(ref addressDetailStr, "street_name"); string detail_info = BaseRegex.GetStringJson(ref addressDetailStr, "detail_info"); Invoke(new Action(() => { dgvUser.Rows.Add( addressInfo.id, addressInfo.coid, addressInfo.supplier_name, user_name, tel_number, postal_code, province_name, city_name, county_name, street_name, detail_info, "编辑", "删除"); })); } } Invoke(new Action(() => { pbLoading.Visible = false; })); }, cancellationTokenSource.Token); } private void btnCancel_Click(object sender, EventArgs e) { btnAddAddress.Text = "添加地址"; EmptyInput(); btnCancel.Visible = false; } private void dgvUser_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex < 0 || e.RowIndex < 0) return; string columname = dgvUser.Columns[e.ColumnIndex].HeaderText; string coId = dgvUser.Rows[e.RowIndex].Cells["colCoid"].Value.ToString(); if (columname == "编辑") { btnAddAddress.Text = "保存地址"; btnCancel.Visible = true; btnCancel.Text = "取消編輯"; txtCoid.Text = dgvUser.Rows[e.RowIndex].Cells["colCoid"].Value.ToString(); txtSupplierName.Text = dgvUser.Rows[e.RowIndex].Cells["colSupplierName"].Value.ToString(); txtUserName.Text = dgvUser.Rows[e.RowIndex].Cells["colUserName"].Value.ToString(); txtPostalCode.Text = dgvUser.Rows[e.RowIndex].Cells["colPostalCode"].Value.ToString(); txtTelNumber.Text = dgvUser.Rows[e.RowIndex].Cells["colTelNumber"].Value.ToString(); txtProvinceName.Text = dgvUser.Rows[e.RowIndex].Cells["colProvinceName"].Value.ToString(); txtCityName.Text = dgvUser.Rows[e.RowIndex].Cells["colCityName"].Value.ToString(); txtCountyName.Text = dgvUser.Rows[e.RowIndex].Cells["colCountyName"].Value.ToString(); txtStreetName.Text = dgvUser.Rows[e.RowIndex].Cells["colStreetName"].Value.ToString(); txtDetailInfo.Text = dgvUser.Rows[e.RowIndex].Cells["colDetailInfo"].Value.ToString(); } if (columname == "删除") { if (BaseMsgForm.ShowConfirm("是否删除,删除后无法再次添加", "提示").DialogResult == DialogResult.OK) { Delete(coId); } } } public void Delete(string coid) { StringBuilder data = new StringBuilder(); data.Append(UserLogin.GetSignaturex()); data.Append("&coid=" + coid); string url = BaseClass.BuildObjString("product/wx_del_address"); string html = GetHtml.PostUtf8(url, data.ToString()); if (!string.IsNullOrEmpty(html)) { if (html.Contains("\"code\":200")) { BaseMsgForm.ShowInfo("删除成功", "提示"); Get1688Address(ucSplitPage1.CurrentPage); return; } var msg = BaseRegex.GetStringJson(ref html, "msg"); if (string.IsNullOrEmpty(msg)) msg = html; BaseMsgForm.ShowError(msg, "错误"); return; } BaseMsgForm.ShowError("返回异常", "错误"); } private void btnRefresh_Click(object sender, EventArgs e) { Get1688Address(); } private void pnlEmpty_Click(object sender, EventArgs e) { txtSearch.Clear(); } private void ucSplitPage1_PageChange(object obj) { Get1688Address(ucSplitPage1.CurrentPage); } } }