Files
29WxOrder/29WxOrder/OrderForms/SuccessOrderListForm.cs
T

876 lines
42 KiB
C#

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;
using AllBase.Model.DBModel;
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<DouYinOrderModel> orderList = new List<DouYinOrderModel>();
List<ShopLoginInfo> shopList = new List<ShopLoginInfo>();
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<DouYinOrderModel>(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<string, string> dic = new Dictionary<string, string>() { };
//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<string> shopIds, List<DouYinOrderModel> 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<string, string> dic = new Dictionary<string, string>() { };
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<DouOrderListInfo.OrderListResponse>(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<DataGridViewRow>().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<DataGridViewRow> enumerableList = this.DgvSuccessOrderList.Rows.Cast<DataGridViewRow>();
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();
}
}
}
/// <summary>
/// 点击行列
/// </summary>
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<DataGridViewRow> enumerableList = this.DgvSuccessOrderList.Rows.Cast<DataGridViewRow>();
List<DataGridViewRow> 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<DataGridViewRow> enumerableList = this.DgvSuccessOrderList.Rows.Cast<DataGridViewRow>();
List<DataGridViewRow> 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);
}
/// <summary>
/// 更新列表
/// </summary>
/// <param name="order"></param>
/// <param name="type">1 添加 修改 2删除</param>
public void SetOrderEditShowInDgvRows(DouYinOrderModel douYinOrderModel, int type)
{
if (!this.Created)
return;
Invoke(new Action(() =>
{
try
{
IEnumerable<DataGridViewRow> enumerableList = this.DgvSuccessOrderList.Rows.Cast<DataGridViewRow>();
List<DataGridViewRow> 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));
}
}
}