using AllBase; using AllBase.DouYinModel.Result; using AllBase.Helper; using AllBase.Model.Result; using _29WxOrder.BuyForms; using NaiBa.Util.Extension; using Newtonsoft.Json; using Newtonsoft.Json.Linq; 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.Windows.Forms; using Work; using Work.Api; using Work.BaseForms; using Work.BuyUsers; namespace _29WxOrder.OrderForms { public partial class SuccessOrderListForm : Form { public MainForm mainform; bool refresh = false; public SuccessOrderListForm() { InitializeComponent(); } private void SuccessOrderListForm_Load(object sender, EventArgs e) { SetDgvHeaders(false); RefreshServerOrder(); } public void RefreshServerOrder() { if (refresh == false) { Task.Run(() => { ReadServerOrder(); }); } else { BaseMsgForm.ShowInfo("正在读取中"); } } int page = 0; int pagecount = 0; void ReadServerOrder(bool scrollpage = false) { refresh = true; if (!scrollpage) { page = 0; pagecount = 0; Invoke(new Action(() => { DgvSuccessOrderList.Rows.Clear(); })); CollectionClass.successOrderDataList.Clear(); } List orderList = new List(); List shopList = new List(); string urlx = BaseClass.LoginApiUrl + "?obj=douyin/order&act=get"; string datax = "&order_status_buy=0,4&page=" + page + "&pageSize=100"; string html = GetHtml.PostUtf8(urlx, UserLogin.GetSignaturex("", "") + datax); if (string.IsNullOrEmpty(html) || !html.Contains("\"data\"") || !html.Contains("\"list\"")) { refresh = false; return; } if (string.IsNullOrEmpty(JObject.Parse(html)["data"].ToString())) { refresh = false; return; } pagecount = Math.Ceiling((JObject.Parse(html)["data"]["count"].ToString().ParseToInt() / 100.0).ParseToDecimal()).ParseToInt(); var jArr = JObject.Parse(html)["data"]["list"]; foreach (JObject jObj in jArr) { string orderStr = jObj.ToString(); DouYinOrderModel douYinOrderModel = JsonConvert.DeserializeObject(orderStr.Replace("\r\n", "")); CollectionClass.successOrderDataList.Add(douYinOrderModel); orderList.Add(douYinOrderModel); ShopLoginInfo shop = GlobalConfig.ShopLoginList.FirstOrDefault(x => x.ShopId == douYinOrderModel.shop_id.ToString()); if (shop != null && douYinOrderModel.order_status != 4) // 订单状态不为4的放入列表,后面按时间段查询更新订单。 { if (!shopList.Contains(shop)) shopList.Add(shop); #region 废弃 //DouyinApi dyapi = new DouyinApi(shop); //Dictionary dic = new Dictionary() { }; //dic.Add("shop_order_id", douYinOrderModel.order_id); //dyapi.JsonData = dic; //string htmljm = dyapi.GetOrderDetail(); //if (!string.IsNullOrEmpty(htmljm) && (htmljm.Contains("\"message\":\"success\"") || htmljm.Contains("\"code\":10000"))) //{ // try // { // string oStatus = JObject.Parse(htmljm)["data"]["shop_order_detail"]["order_status"].ToString(); // // StringBuilder sb = new StringBuilder(); // sb.Append("&order_id=" + douYinOrderModel.order_id); // sb.Append("&order_status=" + oStatus); // // var skuorderlist = JObject.Parse(htmljm)["data"]["shop_order_detail"]["sku_order_list"]; // foreach (JObject skuorderdetail in skuorderlist) // { // string detailjson = skuorderdetail.ToString(); // var detailObj = JObject.Parse(detailjson); // if (detailObj["order_id"].ToString() == douYinOrderModel.order_id) // { // sb.Append("&is_comment=" + detailObj["is_comment"].ToString()); // break; // } // } // // string url = BaseClass.Build29WxObjString("order&act=update"); // var result = GetHtml.PostUtf8(url, UserLogin.GetSignaturex() + sb.ToString()); // douYinOrderModel.order_status = Convert.ToInt32(oStatus); // } // catch (Exception ex) // { // } //} #endregion } AddDgvRowByDouYinOrderModel(douYinOrderModel); } var startTime = Convert.ToDateTime(orderList.Min(o => o.create_time)); var endTime = Convert.ToDateTime(orderList.Max(o => o.create_time)); var shopIds = shopList.Select(s => s.ShopId).ToList(); // 读取状态不是已完成的订单,如果状态发生改变,修改订单状态。 UpdateFinishOrder(shopIds, orderList, startTime.AddSeconds(-5), endTime.AddSeconds(5)); scrollpage = false; refresh = false; if (page < 5 && pagecount > page) { Task.Run(() => { while (readorderthread != null && !readorderthread.IsCompleted) Thread.Sleep(100); successOrderListDgv_Scroll(null, null); }); } } void AddDgvRowByDouYinOrderModel(DouYinOrderModel douYinOrderModel) { TimeSpan ts1 = new TimeSpan(Convert.ToDateTime((douYinOrderModel.create_time.Contains("2000") ? DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") : douYinOrderModel.create_time)).Ticks); TimeSpan ts2 = new TimeSpan(DateTime.Now.AddHours(-48).Ticks); TimeSpan ts = ts1.Subtract(ts2).Duration(); Bitmap skuImg = BuyOrderListForm.GetSkuImage(douYinOrderModel.sku_img); Invoke(new Action(() => { try { var orderstatus = GetOrderStatusDescribe(douYinOrderModel); DataGridViewRow r = new DataGridViewRow(); r.Cells.Add(new DataGridViewTextBoxCell() { Value = douYinOrderModel.shop_id, }); /*"店铺编号"*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = douYinOrderModel.shop_name, }); /*"店铺名称"*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = douYinOrderModel.title, }); r.Cells.Add(new DataGridViewTextBoxCell() { Value = string.IsNullOrEmpty(douYinOrderModel.default_up_ids) ? douYinOrderModel.up_product_id : douYinOrderModel.default_up_ids }); /*"上家ID"*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = douYinOrderModel.product_id, }); /*"本店ID"*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = douYinOrderModel.c_biz_desc, }); /*"商品描述"*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = douYinOrderModel.sku, }); /*"规格"*/ r.Cells.Add(new DataGridViewImageCell() { Value = skuImg, }); /*"图片"*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = douYinOrderModel.price, }); /*"售价"*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = douYinOrderModel.buy_price, }); /*"进价"*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = string.IsNullOrEmpty(douYinOrderModel.commission_scale) || douYinOrderModel.c_biz_desc != "精选联盟" ? "0.00" : douYinOrderModel.commission_scale, }); /*"佣金比例"*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = string.IsNullOrEmpty(douYinOrderModel.commission) || douYinOrderModel.c_biz_desc != "精选联盟" ? "0.00" : douYinOrderModel.commission, }); /*"佣金"*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = SendOrderListForms.GetLirun(douYinOrderModel), }); /*"利润"*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = douYinOrderModel.count, }); /*"数量"*/ r.Cells.Add(new DataGridViewLinkCell() { Value = douYinOrderModel.order_id, }); /*"买家订单号"*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = douYinOrderModel.name, }); /*"买家姓名"*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = "******", }); /*"买家姓名fake"*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = douYinOrderModel.mobile, }); /*"买家电话"*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = "******", }); /*"买家电话"fake*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = douYinOrderModel.address, }); /*"买家地址"*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = "******", }); /*"买家地址fake"*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = douYinOrderModel.create_time, }); /*"订单确认时间"*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = Convert.ToDateTime(douYinOrderModel.create_time).AddHours(48).ToString("yyyy-MM-dd HH:mm:ss"), }); /*"延迟发货时间"*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = (ts2 > ts1 ? "超 " : "") + ts.Days.ToString("D2") + "天" + ts.Hours.ToString("D2") + "时" + ts.Minutes.ToString("D2") + "分", }); /*"延迟剩余"*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = douYinOrderModel.buy_time.ParseToDateTime() <= new DateTime(2021, 1, 1, 1, 1, 1) ? "--" : douYinOrderModel.buy_time, }); /*"拍单时间"*/ r.Cells.Add(new DataGridViewLinkCell() { Value = douYinOrderModel.order_id_buy, }); /*"拍单订单号"*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = orderstatus, }); /*"订单状态"*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = douYinOrderModel.buyer_mobile, }); /*"买手号"*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = douYinOrderModel.express_name, }); /*"物流公司"*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = douYinOrderModel.express_no, }); /*"物流单号"*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = douYinOrderModel.is_evaluate_status == 1 ? "已催评" : "未催评", }); r.Cells.Add(new DataGridViewTextBoxCell() { Value = douYinOrderModel.is_comment == 1 ? "已评价" : "未评价", }); /*"是否评价"*/ r.Cells.Add(new DataGridViewTextBoxCell() { Value = douYinOrderModel.remark, }); DgvSuccessOrderList.Rows.Add(r); if (whereStatus.Contains("已签收")) { r.Visible = orderstatus.Contains("已完成"); } else if (whereStatus.Contains("未签收") && !whereStatus.Contains("已签收")) { r.Visible = orderstatus.Contains("已完成"); } if (orderstatus.Contains("已取消")) { r.Visible = false; } } catch (Exception ex) { } })); } string GetOrderStatusDescribe(DouYinOrderModel douYinOrderModel) { string orderstatus = ""; // 订单状态 // 1 待确认/ 待支付(订单创建完毕) // 105 已支付 // 2 备货中 // 101 部分发货 // 3 已发货(全部发货) // 4 已取消 // 5 已完成(已收货) switch (douYinOrderModel.order_status) { case 1: orderstatus = "待确认/ 待支付"; break; case 105: orderstatus = "已支付"; break; case 2: orderstatus = "备货中"; break; case 101: orderstatus = "部分发货"; break; case 3: orderstatus = "已发货(全部发货)"; break; case 4: orderstatus = "已取消"; break; case 5: orderstatus = "已完成(已收货)"; break; } return orderstatus; } public bool isOrderReading = false; void UpdateFinishOrder(List shopIds, List orderList, DateTime startTime, DateTime endTime) { try { if (isOrderReading) { return; } isOrderReading = true; //string url = BaseClass.ApiUrl + "/do"; Task.Run(() => { try { foreach (ShopLoginInfo shop in GlobalConfig.ShopLoginList) { if (!shopIds.Contains(shop.ShopId) || shop.ApiAuthStatus != "授权成功") continue; int size = 100; int totalcount = 100; int page = 0; downpage: Dictionary dic = new Dictionary() { }; dic["size"] = size.ToString(); dic["page"] = page.ToString(); dic["create_time_start"] = BaseClass.DateTimeToTimestampSeconds(startTime).ToString(); dic["create_time_end"] = BaseClass.DateTimeToTimestampSeconds(endTime).ToString(); dic["order_by"] = "create_time"; DouyinApi apix = new DouyinApi(shop); apix.JsonData = dic; BaseClass.ShopId = shop.ShopId; BaseClass.ShopName = shop.ShopAccount; string html = apix.GetOrderList(); for (int i = 0; i < 5 && html.Contains("系统繁忙,请稍后重试"); i++) { Thread.Sleep(1000); html = apix.GetOrderList(); } if (string.IsNullOrEmpty(html)) { isOrderReading = false; return; } var temp = html.Replace(" ", ""); if (!temp.Contains("\"msg\":\"success\"") && !temp.Contains("\"message\":\"success\"") && !temp.Contains("\"code\":10000")) { isOrderReading = false; return; } try { DouOrderListInfo.OrderData orderListInfo = JsonConvert.DeserializeObject(html).data; // todo: 修改订单 foreach (var order in orderListInfo.shop_order_list) { foreach (var childOrder in order.sku_order_list) { var successOrder = CollectionClass.successOrderDataList.FirstOrDefault(o => o.order_id == childOrder.order_id); if (successOrder != null && successOrder.order_status != 4) { successOrder.is_comment = childOrder.is_comment; successOrder.order_status = order.order_status; StringBuilder sb = new StringBuilder(); sb.Append("&order_id=" + successOrder.order_id); sb.Append("&order_status=" + successOrder.order_status); sb.Append("&is_comment=" + successOrder.is_comment); var url = BaseClass.Build29WxObjString("order&act=update"); var result = GetHtml.PostUtf8(url, UserLogin.GetSignaturex() + sb.ToString()); var row = this.DgvSuccessOrderList.Rows.Cast().FirstOrDefault(r => r.Cells["col_order_id"].Value.ToString() == successOrder.order_id); if (row != null) { Invoke(new Action(() => { var orderstatus = GetOrderStatusDescribe(successOrder); row.Cells["order_Status"].Value = orderstatus; row.Cells["is_comment"].Value = successOrder.is_comment == 1 ? "已评价" : "未评价"; if (whereStatus.Contains("已签收")) { row.Visible = orderstatus.Contains("已完成"); } else if (whereStatus.Contains("未签收") && !whereStatus.Contains("已签收")) { row.Visible = orderstatus.Contains("已完成"); } if (orderstatus.Contains("已取消")) { row.Visible = false; } })); } } } } if (orderListInfo.total > totalcount) { page++; totalcount += orderListInfo.shop_order_list.Count; goto downpage; } } catch (Exception ex) { } } } catch (Exception ex) { NaiBa.Util.Helper.LogHelper.WriteWithTime(ex.Message); } isOrderReading = false; }); } catch (Exception ex) { isOrderReading = false; } } public bool SelectOrder(string order_id) { IEnumerable enumerableList = this.DgvSuccessOrderList.Rows.Cast(); bool isexist = false; for (int i = 0; i < DgvSuccessOrderList.Rows.Count; i++) { string orderid = DgvSuccessOrderList.Rows[i].Cells["col_order_id"].Value.ToString(); string ordermobile = DgvSuccessOrderList.Rows[i].Cells["col_mobile"].Value.ToString(); string orderusername = DgvSuccessOrderList.Rows[i].Cells["col_name"].Value.ToString(); string title = DgvSuccessOrderList.Rows[i].Cells["col_title"].Value.ToString(); string productId = DgvSuccessOrderList.Rows[i].Cells["col_product_id"].Value.ToString(); string buyOrderNumber = DgvSuccessOrderList.Rows[i].Cells["buyOrderNum"].Value.ToString(); if (string.IsNullOrEmpty(order_id) || orderid.Contains(order_id) || ordermobile.Contains(order_id) || orderusername.Contains(order_id) || title.Contains(order_id) || productId.Contains(order_id) || buyOrderNumber.Contains(order_id)) { DgvSuccessOrderList.Rows[i].Visible = true; isexist = true; } else { DgvSuccessOrderList.Rows[i].Visible = false; } } return isexist; } private void successOrderListDgv_CellMouseEnter(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex < 0 || e.ColumnIndex < 0) return; try { var orderId = DgvSuccessOrderList.Rows[e.RowIndex].Cells["col_order_id"].Value?.ToString(); var order = CollectionClass.successOrderDataList.FirstOrDefault(x => x.order_id == orderId); if (order != null) { if (DgvSuccessOrderList.Rows[e.RowIndex].Cells[e.ColumnIndex] == DgvSuccessOrderList.Rows[e.RowIndex].Cells["productImgSku"]) { var original = Image.FromStream(System.Net.WebRequest.Create(order.sku_img).GetResponse().GetResponseStream()); var skuImg = new Bitmap(original, new Size(216, 216)); mainform.skuimg(skuImg); } else { mainform.skuimghide(); } } } catch (Exception) { } } string whereStatus = ","; public void successOrderWhere(string status) { whereStatus = status; for (int i = 0; i < DgvSuccessOrderList.Rows.Count; i++) { string aftersale_stutas = DgvSuccessOrderList.Rows[i].Cells["order_Status"].Value.ToString(); if (status == ",") { DgvSuccessOrderList.Rows[i].Visible = true; } else { if (status.Contains("已签收") && status.Contains("未签收")) { continue; } if (status.Contains("已签收")) { if (aftersale_stutas.Contains("已完成")) { DgvSuccessOrderList.Rows[i].Visible = true; } else { DgvSuccessOrderList.Rows[i].Visible = false; } } else if (status.Contains("未签收")) { if (aftersale_stutas.Contains("已完成")) { DgvSuccessOrderList.Rows[i].Visible = false; } else { DgvSuccessOrderList.Rows[i].Visible = true; } } } if (status.Contains("已取消")) { if (aftersale_stutas.Contains("已取消")) { DgvSuccessOrderList.Rows[i].Visible = true; } } else { if (aftersale_stutas.Contains("已取消")) { DgvSuccessOrderList.Rows[i].Visible = false; } } } } private void successOrderListDgv_CellMouseLeave(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex != -1) { if (e.RowIndex % 2 == 0) { DgvSuccessOrderList.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.FromArgb(244, 244, 244); } else { DgvSuccessOrderList.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.White; } } } private void successOrderListDgv_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex < 0 || e.RowIndex < 0) return; string name = DgvSuccessOrderList.Columns[e.ColumnIndex].HeaderText; string orderid = DgvSuccessOrderList.Rows[e.RowIndex].Cells["col_order_id"].Value.ToString(); string shopid = DgvSuccessOrderList.Rows[e.RowIndex].Cells["col_shop_id"].Value.ToString(); if (name == "拍单订单号") { string orderurl = ""; string buyOrderId = ""; if (DgvSuccessOrderList.Rows[e.RowIndex].Cells["col_order_id"].Value != null) { buyOrderId = DgvSuccessOrderList.Rows[e.RowIndex].Cells["col_order_id"].Value.ToString(); } string buyOrderNum = DgvSuccessOrderList.Rows[e.RowIndex].Cells["buyOrderNum"].Value.ToString(); DouYinOrderModel douyinModel = CollectionClass.successOrderDataList.Find(x => x.order_id == buyOrderId); if (douyinModel != null) { string buycookies = ""; if (buyOrderNum.Contains("-")) { if (douyinModel.buyer_mobile.StartsWith("plbuy_")) { var pdduid = douyinModel.buyer_mobile.Replace("plbuy_", ""); var mulitUserCookie = AllBase.Helper.GlobalConfig.LstMultiBuyer.Find(u => u.pdd_user_id == pdduid); if (mulitUserCookie == null) { BaseMsgForm.ShowError("多买手拍单买手号未找到"); return; } orderurl = "https://yangkeduo.com/order.html?order_sn=" + buyOrderNum + "&refer_page_name=my_order&refer_page_id=10032_1633690608873_o25zt3yc2e&refer_page_sn=10032"; BuyProductBrower buyProductBrower = new BuyProductBrower(); buyProductBrower.TitleText = "拍单订单详情"; buyProductBrower.Width = 405; buyProductBrower.Height = 692; buyProductBrower.cookies = "PDDAccessToken=" + mulitUserCookie.cookies + ";"; buyProductBrower.WebUrl = orderurl; buyProductBrower.Show(); } // 拼多多批发订单 else if (douyinModel.buyer_mobile.StartsWith("pdd")) { var pddPifaBuyer = AllBase.Helper.GlobalConfig.LstPddPifaShop.FirstOrDefault(s => s.PddId == douyinModel.buyer_mobile); if (pddPifaBuyer == null) { BaseMsgForm.ShowError("拼多多批发拍单买手号未找到"); return; } buycookies = pddPifaBuyer.CookieStr; orderurl = "https://pifa.pinduoduo.com/order"; BuyProductBrower buyProductBrower = new BuyProductBrower(); buyProductBrower.TitleText = "拍单订单列表 " + douyinModel.order_id_buy; buyProductBrower.Width = 1280; buyProductBrower.Height = 700; buyProductBrower.cookies = buycookies; buyProductBrower.WebUrl = orderurl; buyProductBrower.Show(); } else { var dicbuyer = PddBuyUser.buyUserCookies.FirstOrDefault(x => x.Value.uid == douyinModel.buyer_mobile_uid); if (dicbuyer.Key == null) { BaseMsgForm.ShowError("拼多多拍单买手号未找到"); return; } for (int kk = 0; dicbuyer.Key != null && kk < dicbuyer.Value.Cookies.Count; kk++) { buycookies += dicbuyer.Value.Cookies[kk].Name + "=" + dicbuyer.Value.Cookies[kk].Value + "; "; } orderurl = "https://yangkeduo.com/order.html?order_sn=" + buyOrderNum + "&refer_page_name=my_order&refer_page_id=10032_1633690608873_o25zt3yc2e&refer_page_sn=10032"; BuyProductBrower buyProductBrower = new BuyProductBrower(); buyProductBrower.TitleText = "拍单订单详情"; buyProductBrower.Width = 405; buyProductBrower.Height = 692; buyProductBrower.cookies = buycookies; buyProductBrower.WebUrl = orderurl; buyProductBrower.Show(); } } else { var upId = this.DgvSuccessOrderList.Rows[e.RowIndex].Cells["col_up_product_id"].Value.ToString(); if (ALBuyUser.buyUserCookies.Count > 0) { var dicbuyer = ALBuyUser.buyUserCookies.FirstOrDefault(x => x.Value.UserName == douyinModel.buyer_mobile); for (int kk = 0; dicbuyer.Key != null && kk < dicbuyer.Value.Cookies.Count; kk++) { buycookies += dicbuyer.Value.Cookies[kk].Name + "=" + dicbuyer.Value.Cookies[kk].Value + "; "; } } if (string.IsNullOrEmpty(buycookies)) { if (TaoBaoBuyUser.buyUserCookies.Count > 0) { var dicbuyer = TaoBaoBuyUser.buyUserCookies.FirstOrDefault(x => x.Value.UserName == douyinModel.buyer_mobile); for (int kk = 0; dicbuyer.Key != null && kk < dicbuyer.Value.Cookies.Count; kk++) { buycookies += dicbuyer.Value.Cookies[kk].Name + "=" + dicbuyer.Value.Cookies[kk].Value + "; "; } } } orderurl = "https://buyertrade.taobao.com/trade/detail/trade_item_detail.htm?bizOrderId=" + buyOrderNum; if (upId.StartsWith("al-") || upId.StartsWith("1688-")) orderurl = "https://trade.1688.com/order/order_detail.htm?spm=a360q.8274423.0.0.49c84c9apfOGVj&order_id=" + buyOrderNum; if (string.IsNullOrEmpty(buycookies)) { BaseMsgForm.ShowConfirm("无此买手号", "提示"); return; } BuyProductBrower buyProductBrower = new BuyProductBrower(); buyProductBrower.TitleText = "拍单订单详情"; buyProductBrower.buyermobile = douyinModel.buyer_mobile; buyProductBrower.Width = 1080; buyProductBrower.Height = 700; buyProductBrower.cookies = buycookies; buyProductBrower.WebUrl = orderurl; buyProductBrower.Show(); } } } else if (name == "订单号") { ShopLoginInfo shop = GlobalConfig.ShopLoginList.FirstOrDefault(x => x.ShopId == shopid); if (shop != null) { ShopForms.ShopBrower shopBrower = new ShopForms.ShopBrower(); shopBrower.TitleText = "店铺后台"; shopBrower.shop = shop; shopBrower.WindowState = FormWindowState.Maximized; shopBrower.webUrl = "https://fxg.jinritemai.com/ffa/morder/order/detail?id=" + orderid; shopBrower.Show(); } } } /// /// 点击行列 /// private DataGridViewCellMouseEventArgs mouseEvent; private void successmenu_click(object sender, EventArgs e) { ToolStripMenuItem tsmenu = sender as ToolStripMenuItem; if (mouseEvent == null) { return; } var buyOrderId = DgvSuccessOrderList.Rows[mouseEvent.RowIndex].Cells["col_order_id"].Value.ToString(); DouYinOrderModel orderDetail; switch (tsmenu.Text) { case "已催评": orderDetail = CollectionClass.successOrderDataList.Find(x => x.order_id == buyOrderId); if (orderDetail != null) { orderDetail.is_evaluate_status = 1; IEnumerable enumerableList = this.DgvSuccessOrderList.Rows.Cast(); List list = (from item in enumerableList where item.Cells["col_order_id"].Value.ToString() == buyOrderId select item).ToList(); if (list.Count > 0) { StringBuilder sb = new StringBuilder(); sb.Append("&order_id=" + buyOrderId); sb.Append("&is_evaluate_status=1"); string url = BaseClass.Build29WxObjString("order&act=update"); GetHtml.PostUtf8(url, UserLogin.GetSignaturex() + sb.ToString()); var item = DgvSuccessOrderList.Rows[list[0].Index]; item.Cells["is_evaluate_status"].Value = "已催评"; } } break; } } private void successOrderListDgv_CellMouseDown(object sender, DataGridViewCellMouseEventArgs e) { try { mouseEvent = e; } catch (Exception) { } } private void colore_clicke(object sender, EventArgs e) { ToolStripMenuItem tsmenu = sender as ToolStripMenuItem; if (mouseEvent == null) { return; } var orderId = DgvSuccessOrderList.Rows[mouseEvent.RowIndex].Cells["col_order_id"].Value.ToString(); var shopid = DgvSuccessOrderList.Rows[mouseEvent.RowIndex].Cells["col_shop_id"].Value.ToString(); int color = 3; switch (tsmenu.Text) { case "灰色": color = 0; break; case "紫色": color = 1; break; case "蓝色": color = 2; break; case "绿色": color = 3; break; case "橙色": color = 4; break; case "红色": color = 5; break; } mainform.chaqi(orderId, color, shopid); } Task readorderthread = null; private void successOrderListDgv_Scroll(object sender, ScrollEventArgs e) { if (e == null || (e.ScrollOrientation == ScrollOrientation.VerticalScroll && DgvSuccessOrderList.FirstDisplayedScrollingRowIndex > DgvSuccessOrderList.RowCount - 60)) // 垂直滚动条滚动到底部,数据为加载完,则再次加载 { if (pagecount > page) { if (readorderthread != null) { if (!readorderthread.IsCompleted) { return; } } page++; readorderthread = Task.Run(() => { ReadServerOrder(true); }); } } } private void 待拍单ToolStripMenuItem_Click(object sender, EventArgs e) { var order_id = "0"; if (mouseEvent.RowIndex >= 0) order_id = DgvSuccessOrderList.Rows[mouseEvent.RowIndex].Cells["col_order_id"].Value.ToString(); DouYinOrderModel dyorderModel = CollectionClass.successOrderDataList.Find(x => x.order_id == order_id); if (dyorderModel != null) { if (!string.IsNullOrEmpty(dyorderModel.express_name) || !string.IsNullOrEmpty(dyorderModel.order_id_buy)) { BaseMsgForm.ShowError("已经实际完成拍单发货的订单不能再回退到未拍单!"); return; } } StringBuilder sb = new StringBuilder(); sb.Append("&order_id=" + order_id); sb.Append("&order_status_buy=" + 1); sb.Append("&is_update_order=1"); // 1修改状态0不修改状态 string upjmurl = BaseClass.Build29WxObjString("order&act=update"); string html = GetHtml.PostUtf8(upjmurl, UserLogin.GetSignaturex() + sb.ToString()); string code = JObject.Parse(html)["code"].ToString(); IEnumerable enumerableList = this.DgvSuccessOrderList.Rows.Cast(); List list = (from item in enumerableList where item.Cells["col_order_id"].Value.ToString() == order_id select item).ToList(); if (list.Count > 0) this.DgvSuccessOrderList.Rows.Remove(list[0]); CollectionClass.successOrderDataList.RemoveAll(x => x.order_id == order_id); CollectionClass.orderDataList.Add(dyorderModel); mainform.buyOrderListForm.SetOrderEditShowInDgvRows(dyorderModel, 1); } /// /// 更新列表 /// /// /// 1 添加 修改 2删除 public void SetOrderEditShowInDgvRows(DouYinOrderModel douYinOrderModel, int type) { if (!this.Created) return; Invoke(new Action(() => { try { IEnumerable enumerableList = this.DgvSuccessOrderList.Rows.Cast(); List list = (from item in enumerableList where item.Cells["col_order_id"].Value.ToString() == douYinOrderModel.order_id select item).ToList(); if (type == 1) { if (list.Count == 0) { AddDgvRowByDouYinOrderModel(douYinOrderModel); } else { var row = list[0]; var orderstatus = GetOrderStatusDescribe(douYinOrderModel); row.Cells["order_Status"].Value = orderstatus; row.Cells["is_comment"].Value = douYinOrderModel.is_comment == 1 ? "已评价" : "未评价"; } } else if (type == 2) { if (list.Count > 0) { this.DgvSuccessOrderList.Rows.RemoveAt(list[0].Index); } } } catch (Exception ex) { } })); } public void SetDgvHeaders(bool isEditDgvHeaders = true) { if (isEditDgvHeaders) { DgvHeaderEditForm df = new DgvHeaderEditForm(this.DgvSuccessOrderList); df.TitleText = "编辑已完成列表表头"; df.ShowDialog(); } DgvHeaderEditForm.SetDgvHeaderVisible(this.DgvSuccessOrderList); } public void outexcel() { OutExcel.ExportToExcel(OutExcel.ToDataTable(DgvSuccessOrderList)); } } }