diff --git a/AllBase/AllBase.csproj b/AllBase/AllBase.csproj
index 08bc989..a5db25e 100644
--- a/AllBase/AllBase.csproj
+++ b/AllBase/AllBase.csproj
@@ -228,6 +228,8 @@
+
+
diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs
index 04b2e3f..bf6b49c 100644
--- a/AllBase/BaseClass.cs
+++ b/AllBase/BaseClass.cs
@@ -27,7 +27,7 @@ namespace AllBase
///
/// 版本ID
///
- public static int VersionCount = 661;
+ public static int VersionCount = 667;
//public static int VersionCount = 613;
///
diff --git a/AllBase/Model/Result/ShopLoginInfo.cs b/AllBase/Model/Result/ShopLoginInfo.cs
index 5b8f151..c7dea57 100644
--- a/AllBase/Model/Result/ShopLoginInfo.cs
+++ b/AllBase/Model/Result/ShopLoginInfo.cs
@@ -168,6 +168,23 @@ namespace AllBase.Model.Result
//在一次检测中是否已检测同一个账户下的不同店铺,如果已检测,使用相同cookie即可,不用多次检测
public bool isCheckLogin { get; set; }
+
+ ///
+ /// temu推广直通车用户Id
+ ///
+ public string ad_seller_unique_id { get; set; }
+ ///
+ /// temu推广直通车链接地址(含信息)
+ ///
+ public string ad_url { get; set; }
+ ///
+ /// temu推广直通车cookie
+ ///
+ public string ad_cookie { get; set; }
+ ///
+ /// temu推广直通车登录状态
+ ///
+ public string ad_login_status { get; set; }
}
public class AuthInfo
diff --git a/AllBase/Model/Result/TemuResult/AdsDetailInfo.cs b/AllBase/Model/Result/TemuResult/AdsDetailInfo.cs
new file mode 100644
index 0000000..70dd8f0
--- /dev/null
+++ b/AllBase/Model/Result/TemuResult/AdsDetailInfo.cs
@@ -0,0 +1,150 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace AllBase.Model.Result.TemuResult
+{
+ public class AdsDetailInfo
+ {
+ public string ad_id { get; set; } // "300000013263418354",
+ public string goods_id { get; set; } // "601100393886730",
+ public string goods_title { get; set; } // "女式白色拖鞋,带有花卉点缀 - 开口趾,平跟,人造盖,易于套穿的设计女士夏季坡跟凉鞋:时尚低跟凉鞋舒适行走,足弓支撑,休闲一脚蹬夏季鞋女士坡跟凉鞋镂空一脚蹬防水台坡跟凉鞋夏季休闲步行鞋女式凉鞋时尚夏季舒适拖鞋带花朵休闲防滑防水台轻质坡跟鞋",
+ public string goods_image_url { get; set; } // "https://img.kwcdn.com/product/fancy/4ad9b614-f0aa-482b-8064-801d0c22cb68.jpg",
+ public string goods_min_price { get; set; } // "¥26.71",
+ public string goods_max_price { get; set; } // "¥40.95",
+ public long? roas { get; set; } // 100000,
+ public string roas_str { get; set; } // "10",
+ ///
+ /// 广告投资回报率 (ROAS)
+ ///
+ public decimal? real_roas { get; set; } // 0,
+ ///
+ /// 广告费比(广告)
+ ///
+ public decimal? acos { get; set; } // 0,
+ public int? ad_show_status { get; set; } // 0,
+ public int? ad_phase { get; set; } // 0,
+ public int? budget { get; set; } // -1,
+ public string budget_str { get; set; } // "不限",
+ public int? used_budget { get; set; } // 0,
+ ///
+ /// 总花费
+ ///
+ public decimal? used_money { get; set; } // null,
+ ///
+ /// 订单量
+ ///
+ public int? order_num { get; set; } // 0,
+ ///
+ /// 曝光量
+ ///
+ public int? impr_num { get; set; } // 0,
+ ///
+ /// 申报价销售额
+ ///
+ public decimal? supply_price_sale { get; set; } // 0,
+ public reports_summary_dto_info reports_summary_dto { get; set; }
+ public object sku_encode { get; set; } // null,
+ public string spu_id { get; set; } // "1458392528",
+ public int? budget_remaining_modify_count { get; set; } // 5,
+ public int? budget_max_modify_count { get; set; } // 5,
+ public int? roas_remaining_modify_count { get; set; } // 0,
+ public int? roas_max_modify_count { get; set; } // 0,
+ public object forbid_reason { get; set; } // null,
+ public object remain_daily_budget_percent { get; set; } // null,
+ public ad_roas_info ad_roas_info { get; set; }
+ public List ad_advice_types { get; set; } // [ 4 ]
+ public List site_name_list { get; set; } // [ "泰国", "卡塔尔", "约旦", "巴西", ... ]
+ public object site_price_info_list { get; set; } // null,
+ public object site_status_info_list { get; set; } // null,
+ public object group { get; set; } // null
+
+ // 自定义参数
+ public string shopId { get; set; }
+ }
+
+ public class ad_roas_info
+ {
+ public int? real_order_cnt { get; set; } // 0,
+ public int? expected_order_cnt { get; set; } // 10,
+ public object limit_roas { get; set; } // null,
+ public int? ad_roas_advice_type { get; set; } // 4
+
+ }
+
+ public class reports_summary_dto_info
+ {
+ public reports_summary_dto_item_info impr_cnt_all { get; set; }
+ public reports_summary_dto_item_info cart_cnt_all { get; set; }
+ public reports_summary_dto_item_info clk_cnt_all { get; set; }
+ public reports_summary_dto_item_info ad_spend_all { get; set; }
+ public reports_summary_dto_item_info order_pay_amt_all { get; set; }
+ public reports_summary_dto_item_info order_pay_cnt_all { get; set; }
+ public reports_summary_dto_item_info roas_all { get; set; }
+ public reports_summary_dto_item_info ctr_all { get; set; }
+ public reports_summary_dto_item_info acos_all { get; set; }
+ ///
+ /// 每笔成交花费
+ ///
+ public reports_summary_dto_item_info transaction_cost { get; set; }
+ public object ad_cost_ratio { get; set; }
+ ///
+ /// 件数
+ ///
+ public reports_summary_dto_item_info goods_num { get; set; }
+ public object week_roas { get; set; }
+ public natural_week_roas_all_info natural_week_roas_all { get; set; }
+ public object month_roas { get; set; }
+ public reports_summary_dto_item_info cvr { get; set; }
+ public reports_summary_dto_item_info net_ad_spend { get; set; }
+ public reports_summary_dto_item_info net_goods_num { get; set; }
+ public reports_summary_dto_item_info net_order_pay_amt { get; set; }
+ public reports_summary_dto_item_info net_roas { get; set; }
+ public reports_summary_dto_item_info net_acos { get; set; }
+ public reports_summary_dto_item_info net_order_pay_cnt { get; set; }
+ ///
+ /// 每笔净成交花费
+ ///
+ public reports_summary_dto_item_info net_transaction_cost { get; set; }
+ public reports_summary_dto_item_info total_impr_cnt { get; set; }
+ public reports_summary_dto_item_info total_order_pay_amt { get; set; }
+ public reports_summary_dto_item_info total_order_pay_cnt { get; set; }
+ ///
+ /// 点击量
+ ///
+ public reports_summary_dto_item_info total_clk_cnt { get; set; }
+ public reports_summary_dto_item_info total_roas { get; set; }
+ ///
+ /// 点击率
+ ///
+ public reports_summary_dto_item_info total_ctr { get; set; }
+ ///
+ /// 转化率
+ ///
+ public reports_summary_dto_item_info total_cvr { get; set; }
+ public reports_summary_dto_item_info total_acos { get; set; }
+ public reports_summary_dto_item_info total_transaction_cost { get; set; }
+ public reports_summary_dto_item_info total_goods_num { get; set; }
+ }
+
+ public class natural_week_roas_all_info
+ {
+ public object real_roas { get; set; } // null,
+ public object real_roas_val { get; set; } // null,
+ public object incr_rate { get; set; } // null,
+ public object plan_roas { get; set; } // null,
+ public object plan_roas_val { get; set; } // null
+
+ }
+
+ public class reports_summary_dto_item_info
+ {
+ public int? val { get; set; } // 0,
+ public object incr_rate { get; set; } // null,
+ public string trans_val { get; set; } // "0"
+
+
+ }
+}
diff --git a/AllBase/Model/Result/TemuResult/AdsMallGoodsInfo.cs b/AllBase/Model/Result/TemuResult/AdsMallGoodsInfo.cs
new file mode 100644
index 0000000..11225aa
--- /dev/null
+++ b/AllBase/Model/Result/TemuResult/AdsMallGoodsInfo.cs
@@ -0,0 +1,59 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace AllBase.Model.Result.TemuResult
+{
+ ///
+ /// 直通车查询商品结果
+ ///
+ public class AdsQueryMallGoodsInfo
+ {
+ public long? mall_id { get; set; } // "634418216147215",
+ public int? mall_type { get; set; } // "0",
+ public List goods_info_list { get; set; }
+ public List optional_category_list { get; set; }
+ public List site_info_list { get; set; }
+ }
+
+ public class ads_site_info
+ {
+ public int? site_id { get; set; } // 129,
+ public string site_name{ get; set; } // "泰国",
+ public string img_url { get; set; } // null
+ public object promotion_info { get; set; } // null
+ }
+
+ public class ads_optional_category_info
+ {
+ public long? category_id { get; set; } // 24389,
+ public string category_name { get; set; } // "庭院、草坪和园艺"
+
+ }
+
+ public class ads_goods_info
+ {
+ public long? goods_id { get; set; } // "601099667164131",
+ public string goods_name { get; set; } // "Whimsical Gecko Garden Statue - Resin Hanging Sculpture For Outdoor Decor, Cartoon Animal Theme, Perfect For Ages 14+",
+ public string thumb_url { get; set; } // "https://img.kwcdn.com/product/fancy/e758f971-5e1f-4630-a6fa-26823c6c69a8.jpg",
+ public object sku_encode { get; set; } // null,
+ public string spu_id { get; set; } // "402033440",
+ public string supply_price_min { get; set; } // "¥29.34",
+ public string supply_price_max { get; set; } // "¥29.34",
+ public List category_name_list{ get; set; } // [ "庭院、草坪和园艺" ],
+ public long? create_timestamp { get; set; } // 1726500080000,
+ public int? sku_total_quantity { get; set; } // 1,
+ public int? sales { get; set; } // 7,
+ public List site_list { get; set; } // [ 129, 130, 131, 132, 134, ... ]
+ public object gray_reason { get; set; } // null
+ public List site_name_list { get; set; } // [ "泰国", "卡塔尔", "约旦", "巴西", "阿曼", ... ]
+ public object site_price_info_list { get; set; } // null,
+ public object coupon_discount { get; set; } // null,
+ public object coupon_expiration_time { get; set; } // null
+
+ // 自定义参数
+ public string shopId { get; set; }
+ }
+}
diff --git a/KJDService/KJD_WebService/BLL/BXX/BXXShopManage.cs b/KJDService/KJD_WebService/BLL/BXX/BXXShopManage.cs
index ea78e5a..fca6918 100644
--- a/KJDService/KJD_WebService/BLL/BXX/BXXShopManage.cs
+++ b/KJDService/KJD_WebService/BLL/BXX/BXXShopManage.cs
@@ -309,7 +309,7 @@ namespace KJD_Web.BLL.BXX
login_status2 = row["login_status2"].ToString(),
add_product_remaining = row["add_product_remaining"].ParseToInt(),
add_product_month = row["add_product_month"].ParseToInt(),
- operate_sub_sa_name = row["operate_sub_sa_name"] as string,
+ operate_sub_sa_name = row["operate_sub_sa_name"].ParseToString(),
};
shopList.Add(shop);
diff --git a/KJDService/KJD_WebService/BLL/KJD/ShopManage.cs b/KJDService/KJD_WebService/BLL/KJD/ShopManage.cs
index 10be36f..2d5cc2a 100644
--- a/KJDService/KJD_WebService/BLL/KJD/ShopManage.cs
+++ b/KJDService/KJD_WebService/BLL/KJD/ShopManage.cs
@@ -94,11 +94,7 @@ namespace KJD_Web.BLL
}
else
{
- sql = "SELECT s.id,s.login_name,s.login_pass,s.cookie,s.cookie2,s.shop_id,s.shop_account,s.sub_user_name,s.user_name," +
- "s.company_name,s.notes,s.login_status,s.login_status2,c.add_product_remaining,c.add_product_month,s.add_time,s.mdy_time," +
- "s.add_sub_sa_time,s.operate_sub_sa_name";
- //sql += " FROM kjd.shop s WHERE 1=1";
- sql += " FROM kjd.shop s LEFT JOIN kjd.shop_add_prod_count c ON s.shop_id=c.shop_id WHERE 1=1";
+ sql = "SELECT s.* FROM kjd.shop s LEFT JOIN kjd.shop_add_prod_count c ON s.shop_id=c.shop_id WHERE 1=1";
sql += where; // where 子句
@@ -130,8 +126,11 @@ namespace KJD_Web.BLL
login_status2 = row["login_status2"].ToString(),
add_product_remaining = row["add_product_remaining"].ParseToInt(),
add_product_month = row["add_product_month"].ParseToInt(),
- operate_sub_sa_name = row["operate_sub_sa_name"] as string,
-
+ operate_sub_sa_name = row["operate_sub_sa_name"].ParseToString(),
+ ad_cookie = row["ad_cookie"].ParseToString(),
+ ad_login_status = row["ad_login_status"].ParseToString(),
+ ad_seller_unique_id = row["ad_seller_unique_id"].ParseToString(),
+ ad_url = row["ad_url"].ParseToString(),
};
shopList.Add(shop);
}
@@ -272,10 +271,7 @@ namespace KJD_Web.BLL
}
else
{
- sql = "SELECT s.id,s.login_name,s.login_pass,s.cookie,s.cookie2,s.shop_id,s.shop_account,s.sub_user_name,s.user_name," +
- "s.company_name,s.notes,s.login_status,s.login_status2,c.add_product_remaining,c.add_product_month,s.add_time,s.mdy_time," +
- "s.add_sub_sa_time,s.operate_sub_sa_name";
- sql += " FROM kjd.shop s LEFT JOIN kjd.shop_add_prod_count c ON s.shop_id=c.shop_id WHERE 1=1";
+ sql = "SELECT s.* FROM kjd.shop s LEFT JOIN kjd.shop_add_prod_count c ON s.shop_id=c.shop_id WHERE 1=1";
sql += where; // where 子句
@@ -307,8 +303,11 @@ namespace KJD_Web.BLL
login_status2 = row["login_status2"].ToString(),
add_product_remaining = row["add_product_remaining"].ParseToInt(),
add_product_month = row["add_product_month"].ParseToInt(),
- operate_sub_sa_name = row["operate_sub_sa_name"] as string,
-
+ operate_sub_sa_name = row["operate_sub_sa_name"].ParseToString(),
+ ad_cookie = row["ad_cookie"].ParseToString(),
+ ad_login_status = row["ad_login_status"].ParseToString(),
+ ad_seller_unique_id = row["ad_seller_unique_id"].ParseToString(),
+ ad_url = row["ad_url"].ParseToString(),
};
shopList.Add(shop);
}
@@ -674,6 +673,47 @@ namespace KJD_Web.BLL
return "{\"code\":19999,\"msg\":\"未知错误\"}";
}
+ public string MdyAdsCookieAndLoginStatus(string inputData)
+ {
+ if (!string.IsNullOrEmpty(inputData))
+ {
+ string shop_id = RegexUtils.GetStringQuery(ref inputData, "shop_id");
+ string ad_url = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "ad_url"));
+ string ad_seller_unique_id = RegexUtils.GetStringQuery(ref inputData, "ad_seller_unique_id");
+ string ad_login_status = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "ad_login_status"));
+ string ad_cookie = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "ad_cookie"));
+
+ int r2 = 0;
+ int.TryParse(RegexUtils.GetStringQuery(ref inputData, "r2"), out r2);
+
+ if (string.IsNullOrEmpty(shop_id))
+ {
+ return "{\"code\":500,\"msg\":\"店铺没有登录名\"}";
+ }
+
+ string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
+ MysqlUtils mySql = new MysqlUtils(conn);
+ string sql = "update kjd.shop set";
+ if (ad_url != null)
+ sql += " ad_url='" + ad_url + "',";
+ if (ad_seller_unique_id != null)
+ sql += " ad_seller_unique_id='" + ad_seller_unique_id + "',";
+ if (ad_login_status != null)
+ sql += " ad_login_status='" + ad_login_status + "',";
+ if (ad_cookie != null)
+ sql += " ad_cookie='" + ad_cookie + "',";
+ sql = sql.TrimEnd(',');
+ sql += " where shop_id='" + shop_id + "'";
+
+ var rst = mySql.ExecuteNonQuery(sql);
+ mySql.Close();
+ if (rst)
+ {
+ return "{\"code\":200,\"msg\":\"success\"}";
+ }
+ }
+ return "{\"code\":19999,\"msg\":\"未知错误\"}";
+ }
public string DelShop(string inputData, bool isAdmin=false)
{
diff --git a/KJDService/KJD_WebService/Model/ShopModel/ShopParam.cs b/KJDService/KJD_WebService/Model/ShopModel/ShopParam.cs
index a1bbc62..52dfd90 100644
--- a/KJDService/KJD_WebService/Model/ShopModel/ShopParam.cs
+++ b/KJDService/KJD_WebService/Model/ShopModel/ShopParam.cs
@@ -12,7 +12,13 @@ namespace KJD_Web.Model.ShopModel
public string login_pass { get; set; }
public string cookie { get; set; }
public string cookie2 { get; set; }
+ ///
+ /// 拼多多AntiContents
+ ///
public string anti_contents { get; set; }
+ ///
+ /// 拼多多Id
+ ///
public string pddid { get; set; }
public string shop_id { get; set; }
public string shop_account { get; set; }
@@ -29,5 +35,22 @@ namespace KJD_Web.Model.ShopModel
public int add_product_month { get; set; }
public string operate_sub_sa_name { get; set; }
+
+ ///
+ /// temu推广直通车用户Id
+ ///
+ public string ad_seller_unique_id { get; set; }
+ ///
+ /// temu推广直通车链接地址(含信息)
+ ///
+ public string ad_url { get; set; }
+ ///
+ /// temu推广直通车cookie
+ ///
+ public string ad_cookie { get; set; }
+ ///
+ /// temu推广直通车登录状态
+ ///
+ public string ad_login_status { get; set; }
}
}
\ No newline at end of file
diff --git a/KJDService/KJD_WebService/ShopService.asmx.cs b/KJDService/KJD_WebService/ShopService.asmx.cs
index ccfacfa..9dbd786 100644
--- a/KJDService/KJD_WebService/ShopService.asmx.cs
+++ b/KJDService/KJD_WebService/ShopService.asmx.cs
@@ -120,6 +120,19 @@ namespace KJD_Web
Context.Response.End();
}
+
+ [WebMethod]
+ public void mdy_shop_ads_cookie_and_login_status()
+ {
+ string jsontext = GetRequestJsonString();
+
+ var result = jsontext;
+ result = new ShopManage().MdyAdsCookieAndLoginStatus(jsontext);
+
+ Context.Response.Write(result);
+ Context.Response.End();
+ }
+
[WebMethod]
public void admin_get_shop_list()
{
diff --git a/TEMUKJD/BLL/HttpResponseBLL.cs b/TEMUKJD/BLL/HttpResponseBLL.cs
index 458a6a0..80fcdc8 100644
--- a/TEMUKJD/BLL/HttpResponseBLL.cs
+++ b/TEMUKJD/BLL/HttpResponseBLL.cs
@@ -304,6 +304,92 @@ namespace TemuKJD.BLL
return result;
}
+ public static string PostResponseAds(ShopLoginInfo shop, string _url, string _data, string referer)
+ {
+ string cookies = "";
+ var cookiesArrAds = shop.ad_cookie.Replace("\\", "").Split(';').Select(s => s.Trim());
+ foreach (var cook in cookiesArrAds)
+ {
+ if (cook.StartsWith("mallid"))
+ cookies += "mallid=" + shop.ShopId + "; ";
+ else if (cook.StartsWith("MALL_ID"))
+ cookies += "MALL_ID=" + shop.ShopId + "; ";
+ else
+ cookies += cook + "; ";
+ }
+ cookies = cookies.Trim().TrimEnd(';');
+
+ //var cookiesArr = shop.Cookies2.Replace("\\", "").Split(';').Select(s => s.Trim());
+ //foreach (var cook in cookiesArr)
+ //{
+ // if (("; " + cookies).Contains("; " + cook))
+ // continue;
+
+ // if (cook.StartsWith("mallid"))
+ // cookies += "mallid=" + shop.ShopId + "; ";
+ // else if (cook.StartsWith("MALL_ID"))
+ // cookies += "MALL_ID=" + shop.ShopId + "; ";
+ // else
+ // cookies += cook + "; ";
+ //}
+ HttpWebResponse response = null;
+ string result;
+ try
+ {
+ string url = _url;
+ HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
+
+ //request.KeepAlive = true;
+ request.Headers.Add("sec-ch-ua-platform", @"""Windows""");
+ request.Headers.Add("x-phan-data", @"0aeJx7xMxiYAgkomMBESQC7A");
+ request.Headers.Add("sec-ch-ua", @"""Not)A;Brand"";v=""8"", ""Chromium"";v=""138""");
+ request.Headers.Add("sec-ch-ua-mobile", @"?0");
+ request.Headers.Add("X-Ad-Request-Id", @"6c0d8ba5-93f2-4083-b56d-8cb9e2362139");
+ //request.Headers.Add("x-document-referer", @"https://ads.temu.com/index.html?adAreaOverride=2&refer_page_name=login&refer_page_id=22942_1762243593932_o1u0yfk48r&refer_page_sn=22942&_x_sessn_id=rzrz06wgzk&is_back=1");
+ request.Headers.Add("x-document-referer", shop.ad_url);
+ request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36";
+ request.Accept = "application/json, text/plain, */*";
+ request.ContentType = "application/json;charset=UTF-8";
+ request.Headers.Add("Origin", @"https://ads.temu.com");
+ request.Headers.Set(HttpRequestHeader.Cookie, cookies);
+ request.Headers.Add("Sec-Fetch-Site", @"same-origin");
+ request.Headers.Add("Sec-Fetch-Mode", @"cors");
+ request.Headers.Add("Sec-Fetch-Dest", @"empty");
+ request.Referer = referer;
+ request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate, br, zstd");
+ request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9");
+
+ request.Method = "POST";
+ request.ServicePoint.Expect100Continue = false;
+
+ string body = _data;
+ byte[] postBytes = System.Text.Encoding.UTF8.GetBytes(body);
+ request.ContentLength = postBytes.Length;
+ Stream stream = request.GetRequestStream();
+ stream.Write(postBytes, 0, postBytes.Length);
+ stream.Close();
+
+ response = (HttpWebResponse)request.GetResponse();
+ }
+ catch (WebException ex)
+ {
+ if (ex.Status == WebExceptionStatus.ProtocolError)
+ {
+ response = (HttpWebResponse)ex.Response;
+ result = GetProxyHtml.ReadResponse(response);
+ return result;
+ }
+ else return ex.Message;
+ }
+ catch (Exception e)
+ {
+ if (response != null) response.Close();
+ return e.Message;
+ }
+ result = GetProxyHtml.ReadResponse(response);
+ return result;
+ }
+
public static string PDDPostResponse(ShopLoginInfo shop, string _url, string _data, string referer, string AntiContent = null)
{
diff --git a/TEMUKJD/BLL/ShopBLL.cs b/TEMUKJD/BLL/ShopBLL.cs
index bd508f1..bf17726 100644
--- a/TEMUKJD/BLL/ShopBLL.cs
+++ b/TEMUKJD/BLL/ShopBLL.cs
@@ -231,17 +231,18 @@ namespace TemuKJD.BLL
shop.SubUserName = BaseRegex.GetStringJson(ref shopStr, "sub_user_name");
shop.GroupName = BaseRegex.GetStringJson(ref shopStr, "shop_group");
//shop.Cookies = BaseRegex.GetStringJson(ref shopStr, "cookie");
- shop.Cookies = jObj["cookie"].IsNullOrEmpty() ? "[]" : jObj["cookie"].ToString();
- shop.Cookies = shop.Cookies.Replace("&", "&").Replace("%", "%").Replace("+", "+");
- //shop.Cookies2 = BaseRegex.GetStringJson(ref shopStr, "cookie2").ParseToString();
- shop.Cookies2 = jObj["cookie2"].ToString();
- shop.Cookies2 = shop.Cookies2.Replace("&", "&").Replace("%", "%").Replace("+", "+");
+ shop.Cookies = jObj["cookie"].ParseToString().Replace("&", "&").Replace("%", "%").Replace("+", "+").Replace(""", "\"");
+ shop.Cookies2 = jObj["cookie2"].ParseToString().Replace("&", "&").Replace("%", "%").Replace("+", "+").Replace(""", "\"");
shop.CompanyName = BaseRegex.GetStringJson(ref shopStr, "company_name");
shop.Notes = BaseRegex.GetStringJson(ref shopStr, "notes");
shop.LoginStatus = BaseRegex.GetStringJson(ref shopStr, "login_status");
shop.LoginStatus2 = BaseRegex.GetStringJson(ref shopStr, "login_status2");
shop.OperateSubSaName = BaseRegex.GetStringJson(ref shopStr, "operate_sub_sa_name");
shop.AddProductRemaining = BaseRegex.GetIntJson(ref shopStr, "add_product_remaining");
+ shop.ad_cookie = BaseRegex.GetStringJson(ref shopStr, "ad_cookie").ParseToString().Replace("&", "&").Replace("%", "%").Replace("+", "+").Replace(""", "\"");
+ shop.ad_login_status = BaseRegex.GetStringJson(ref shopStr, "ad_login_status");
+ shop.ad_seller_unique_id = BaseRegex.GetStringJson(ref shopStr, "ad_seller_unique_id");
+ shop.ad_url = BaseRegex.GetStringJson(ref shopStr, "ad_url");
shop.pddid = BaseRegex.GetStringJson(ref shopStr, "pddid");
if (BaseClass.MainPath == "binxixi")
diff --git a/TEMUKJD/KJD.csproj b/TEMUKJD/KJD.csproj
index 7b41a5a..354becd 100644
--- a/TEMUKJD/KJD.csproj
+++ b/TEMUKJD/KJD.csproj
@@ -171,6 +171,12 @@
AdminProductPriceCheckForm.cs
+
+ Form
+
+
+ JoinDeliveryFrom.cs
+
Form
@@ -183,6 +189,12 @@
PurchasePriceForm.cs
+
+ Form
+
+
+ TemuAdsForm.cs
+
Form
@@ -857,12 +869,18 @@
AdminProductPriceCheckForm.cs
+
+ JoinDeliveryFrom.cs
+
ProductChangePriceForm.cs
PurchasePriceForm.cs
+
+ TemuAdsForm.cs
+
DbProductCategorySearch.cs
diff --git a/TEMUKJD/KJDForms/AdminForms/AdminForm.Designer.cs b/TEMUKJD/KJDForms/AdminForms/AdminForm.Designer.cs
index 5571d11..564a827 100644
--- a/TEMUKJD/KJDForms/AdminForms/AdminForm.Designer.cs
+++ b/TEMUKJD/KJDForms/AdminForms/AdminForm.Designer.cs
@@ -35,14 +35,16 @@
System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("认领待上传");
System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("库存上传");
System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("商品核价");
- System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("超级权限管理", new System.Windows.Forms.TreeNode[] {
+ System.Windows.Forms.TreeNode treeNode8 = new System.Windows.Forms.TreeNode("加入发货台");
+ System.Windows.Forms.TreeNode treeNode9 = new System.Windows.Forms.TreeNode("超级权限管理", new System.Windows.Forms.TreeNode[] {
treeNode1,
treeNode2,
treeNode3,
treeNode4,
treeNode5,
treeNode6,
- treeNode7});
+ treeNode7,
+ treeNode8});
this.panel1 = new System.Windows.Forms.Panel();
this.panel3 = new System.Windows.Forms.Panel();
this.panel2 = new System.Windows.Forms.Panel();
@@ -147,10 +149,12 @@
treeNode6.Text = "库存上传";
treeNode7.Name = "商品核价";
treeNode7.Text = "商品核价";
- treeNode8.Name = "超级权限管理";
- treeNode8.Text = "超级权限管理";
+ treeNode8.Name = "加入发货台";
+ treeNode8.Text = "加入发货台";
+ treeNode9.Name = "超级权限管理";
+ treeNode9.Text = "超级权限管理";
this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
- treeNode8});
+ treeNode9});
this.tv.OverForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
this.tv.Size = new System.Drawing.Size(140, 446);
this.tv.TabIndex = 1;
diff --git a/TEMUKJD/KJDForms/AdminForms/AdminForm.cs b/TEMUKJD/KJDForms/AdminForms/AdminForm.cs
index 80e4c42..71c0e21 100644
--- a/TEMUKJD/KJDForms/AdminForms/AdminForm.cs
+++ b/TEMUKJD/KJDForms/AdminForms/AdminForm.cs
@@ -13,6 +13,7 @@ using TemuKJD.KJDForms.AdminForms;
using TemuKJD.BaseForms;
using TemuKJD.KJDForms.ProductSelectForms;
using TemuKJD.KJDForms.ProductThirdSelectForms;
+using TemuKJD.KJDForms.ProductForms;
namespace TemuKJD.KJDForms.AdminForms
{
@@ -25,6 +26,7 @@ namespace TemuKJD.KJDForms.AdminForms
public Lazy dbProductSelectListManageForm = new Lazy();
public Lazy productThirdSelectListManageForm = new Lazy();
public Lazy adminProductPriceCheckForm = new Lazy();
+ public Lazy joinDeliveryFrom = new Lazy();
public AdminForm()
{
@@ -35,7 +37,8 @@ namespace TemuKJD.KJDForms.AdminForms
tv.SelectedNode = tv.Nodes[0].Nodes[0];
tv.ExpandGroup(tv.Nodes[0].Name);
- List hideName = new List() { "超级用户管理", "超级店铺管理", "选品数据库", "选品加价管理", "认领待上传", "库存上传", "商品核价" };
+ List hideName = new List() { "超级用户管理", "超级店铺管理", "选品数据库", "选品加价管理", "认领待上传", "库存上传", "商品核价",
+ "加入发货台" };
if (BaseClass.GroupId == 3)
{
@@ -49,6 +52,9 @@ namespace TemuKJD.KJDForms.AdminForms
hideName.Remove("认领待上传");
hideName.Remove("库存上传");
hideName.Remove("商品核价");
+#if DEBUG
+ hideName.Remove("加入发货台");
+#endif
}
if (BaseClass.SaLevel==2)
{
@@ -56,6 +62,9 @@ namespace TemuKJD.KJDForms.AdminForms
hideName.Remove("认领待上传");
hideName.Remove("库存上传");
hideName.Remove("商品核价");
+#if DEBUG
+ hideName.Remove("加入发货台");
+#endif
}
}
@@ -103,6 +112,10 @@ namespace TemuKJD.KJDForms.AdminForms
case "商品核价":
SetForm(adminProductPriceCheckForm.Value);
break;
+ case "加入发货台":
+ joinDeliveryFrom.Value.IsAdmin = true;
+ SetForm(joinDeliveryFrom.Value);
+ break;
}
}));
}).Start();
diff --git a/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.cs b/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.cs
index 1d94ad7..7755f67 100644
--- a/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.cs
+++ b/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.cs
@@ -104,7 +104,9 @@ namespace TemuKJD.KJDForms.AdminForms
public void SearchShop(int page)
{
- List shopIdSelectList = GetCheckedShopIdList();
+ List userShopIdList = dgvShop.Rows.Cast()
+ .Where(r => r.Cells["colSelect"].Value.ParseToBool())
+ .Select(r => r.Cells["colShopId"].Value.ParseToString() + r.Cells["colUser"].Value.ParseToString()).ToList();
if (InvokeRequired)
{
Invoke(new Action(() =>
@@ -133,7 +135,7 @@ namespace TemuKJD.KJDForms.AdminForms
Invoke(new Action(() =>
{
int rowIndex = this.dgvShop.Rows.Add(
- shopIdSelectList.Contains(shop.ShopId + shop.UserName),
+ userShopIdList.Contains(shop.ShopId + shop.UserName),
shop.UserName,
shop.LoginName,
shop.ShopId,
@@ -144,11 +146,6 @@ namespace TemuKJD.KJDForms.AdminForms
string.Empty
);
displayShopStatus(shop);
- //var row = dgvShop.Rows[rowIndex];
- //(row.Cells["colLoginStatus"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Green : Color.Red;
- //(row.Cells["colLoginStatus"] as DataGridViewLinkCell).LinkColor = canUse ? Color.Green : Color.Red;
- //(row.Cells["colLoginStatus"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightGreen : Color.OrangeRed;
- //(row.Cells["colLoginStatus"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkGreen : Color.DarkRed;
}));
}
@@ -159,21 +156,6 @@ namespace TemuKJD.KJDForms.AdminForms
});
}
- private List GetCheckedShopIdList()
- {
- List shopNameList = new List();
- for (int i = 0; i < dgvShop.Rows.Count; i++)
- {
- if (dgvShop.Rows[i].Cells["colSelect"].Value.ParseToBool())
- {
- string shopName = dgvShop.Rows[i].Cells["colShopId"].Value.ParseToString();
- shopName += dgvShop.Rows[i].Cells["colUser"].Value.ParseToString();
- shopNameList.Add(shopName);
- }
- }
- return shopNameList;
- }
-
public List AdminGetServerShopLst(out int pageCount, int page = 1, int pageSize = 50)
{
List list = new List();
@@ -213,6 +195,21 @@ namespace TemuKJD.KJDForms.AdminForms
txtNotes.Text = txtShopId.Text = txtShopName.Text = "";
}
+ void displayShopStatus(ShopLoginInfo shop)
+ {
+ bool canUse = shop.LoginStatus2 == "国际版在线";
+ var rows = this.dgvShop.Rows.Cast().Where(r => r.Cells["colLoginName"].Value.ParseToString() == shop?.LoginName);
+ foreach (var row in rows)
+ {
+ row.Cells["colCanUse"].Value = canUse;
+ row.Cells["colLoginStatus"].Value = canUse ? "在线" : "掉线";
+ (row.Cells["colLoginStatus"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Green : Color.Red;
+ (row.Cells["colLoginStatus"] as DataGridViewLinkCell).LinkColor = canUse ? Color.Green : Color.Red;
+ (row.Cells["colLoginStatus"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightGreen : Color.OrangeRed;
+ (row.Cells["colLoginStatus"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkGreen : Color.DarkRed;
+ }
+ }
+
private void dgvShop_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0)
@@ -248,21 +245,6 @@ namespace TemuKJD.KJDForms.AdminForms
displayShopStatus(shop);
}
- void displayShopStatus(ShopLoginInfo shop)
- {
- bool canUse = shop.LoginStatus2 == "国际版在线";
- var rows = this.dgvShop.Rows.Cast().Where(r => r.Cells["colLoginName"].Value.ParseToString() == shop?.LoginName);
- foreach (var row in rows)
- {
- row.Cells["colCanUse"].Value = canUse;
- row.Cells["colLoginStatus"].Value = canUse ? "在线" : "掉线";
- (row.Cells["colLoginStatus"] as DataGridViewLinkCell).Style.ForeColor = canUse ? Color.Green : Color.Red;
- (row.Cells["colLoginStatus"] as DataGridViewLinkCell).LinkColor = canUse ? Color.Green : Color.Red;
- (row.Cells["colLoginStatus"] as DataGridViewLinkCell).ActiveLinkColor = canUse ? Color.LightGreen : Color.OrangeRed;
- (row.Cells["colLoginStatus"] as DataGridViewLinkCell).VisitedLinkColor = canUse ? Color.DarkGreen : Color.DarkRed;
- }
- }
-
private void dgvCheckPrice_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0)
diff --git a/TEMUKJD/KJDForms/AdminForms/AdminShopListForm.cs b/TEMUKJD/KJDForms/AdminForms/AdminShopListForm.cs
index 6b0a066..9908111 100644
--- a/TEMUKJD/KJDForms/AdminForms/AdminShopListForm.cs
+++ b/TEMUKJD/KJDForms/AdminForms/AdminShopListForm.cs
@@ -508,7 +508,7 @@ namespace TemuKJD.KJDForms.AdminForms
foreach (var sc in campanys)
{
sc.LoginStatus = "未登录";
- shop.Cookies = "empty=true;";
+ sc.Cookies = "empty=true;";
}
}
else
diff --git a/TEMUKJD/KJDForms/AdminForms/AdminShopLoginForm.cs b/TEMUKJD/KJDForms/AdminForms/AdminShopLoginForm.cs
index e821312..4144322 100644
--- a/TEMUKJD/KJDForms/AdminForms/AdminShopLoginForm.cs
+++ b/TEMUKJD/KJDForms/AdminForms/AdminShopLoginForm.cs
@@ -32,6 +32,10 @@ namespace TemuKJD.KJDForms.AdminForms
public partial class AdminShopLoginForm : LRBaseForm
{
public int CloseAfterSecond { get; set; }
+ ///
+ /// 推广直通车登录
+ ///
+ public bool IsAdsLogin { get; set; } = false;
public EnumOpenType openType = EnumOpenType.manage;
public bool isMultiLogin = false;
public string MultiLoginCookieName = "";
@@ -234,7 +238,7 @@ namespace TemuKJD.KJDForms.AdminForms
List cookieList2 = CEFBrowser.GetCookieList(shopCookieHead2, cefWebBrowser.GetCookieManager(null)); // cef138
if (cookieList2 != null && cookieList2.Count > 0)
{
- for(int i =0; i < cookieList2.Count; i++)
+ for(int i = 0; i < cookieList2.Count; i++)
{
var cookie = cookieList2[i];
cookies2 += cookie.Name + "=" + cookie.Value + "; ";
@@ -280,24 +284,104 @@ namespace TemuKJD.KJDForms.AdminForms
ShopListForm.UpdateServerShopCookies(shop); // 店铺cookie写入服务端,多店共用一个登录账号一组cookie
}
OnSaveComplete(shop);
- if (this.Created && this.chkCloseAfterLogin.Checked)
+ if (!IsAdsLogin)
{
- //Invoke(new Action(() => { this.Close(); }));
+ if (this.Created && this.chkCloseAfterLogin.Checked)
+ Invoke(new Action(() => { this.Close(); }));
+ else
+ break;
+ }
+ }
+
+ if (IsAdsLogin && !string.IsNullOrEmpty(shop.ad_seller_unique_id) && 1 == 2)
+ {
+ var obtainCodeRst = ShopListForm.GetObtainCode(shop);
+ var obtainCode = BaseRegex.GetStringJson(ref obtainCodeRst, "code");
+ //https://ads.temu.com/login.html?
+ //redirectUrl=https%3A%2F%2Fads.temu.com%2Findex.html%3FadAreaOverride%3D2&userType=1&mallType=0
+ //&ticket=Zjze2NHyZFaGP88ROyjN19a47ae59611391a296ae6403bbbfa39e9046ceba744aafe8227fd6
+ //&adSellerUniqueId=eyJ1IjoiTVF3NFRGVmN2ZUVyZG1USDdOQ2o5dz09IiwidiI6MX0%3D&source=2&seller_source=11&adAreaOverride=2
+ string url = "https://ads.temu.com/login.html?" +
+ "redirectUrl=https%3A%2F%2Fads.temu.com%2Findex.html%3FadAreaOverride%3D2&userType=1&mallType=0&ticket=" + obtainCode +
+ "&adSellerUniqueId=" + shop.ad_seller_unique_id + "&source=2&seller_source=11&adAreaOverride=2";
+ cefWebBrowser.Load(url);
+ }
+ else if (IsAdsLogin)
+ {
+ cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(sGetElementWithText);
+
+ //点击商品推广按钮
+ var adsJsStr = "window.scrollTo(0, document.body.scrollHeight);";
+ var adsResponse = cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(adsJsStr);
+ adsResponse.Wait(1000);
+ Thread.Sleep(Randomx.GetId(500, 1000));
+
+ adsJsStr = "var clickItem = getElementWithText('商品推广'); " +
+ "clickItem.click()";
+ adsResponse = cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(adsJsStr);
+ adsResponse.Wait(1000);
+ Thread.Sleep(Randomx.GetId(500, 1000));
+
+ // 模拟人为点击一次,否则窗口不跳转
+ var host = cefWebBrowser.GetBrowser().GetHost();
+ int x = Randomx.GetId(50, 200);
+ int y = Randomx.GetId(1, 10);
+ // 按下鼠标左键
+ host.SendMouseClickEvent(x, y, MouseButtonType.Left, false, 1, CefEventFlags.None);
+ Thread.Sleep(50 + Randomx.GetId(200));
+ host.SendMouseClickEvent(x, y, MouseButtonType.Left, true, 1, CefEventFlags.None);
+ Thread.Sleep(Randomx.GetId(100, 500));
+
+ //点击确认授权并前往按钮
+ adsJsStr = "var clickItem = getElementWithText('确认授权并前往'); " +
+ "clickItem.parentElement.click();";
+ adsResponse = cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(adsJsStr);
+ adsResponse.Wait(1000);
+ Thread.Sleep(Randomx.GetId(300, 800));
+ }
+ }
+
+ if (1 == 1 && this.shop != null && currentUrl.StartsWith("https://ads.temu.com/index.html?adAreaOverride="))
+ {
+ if (!cefWebBrowser.GetBrowser().MainFrame.IsValid)
+ continue;
+
+ if (openType != EnumOpenType.login)
+ continue;
+
+ if (!lstShopCompany.Any(c => c.AccountId == shop.ShopId))
+ continue;
+
+ shop.ad_url = txtAddress.Text;
+ string cookiesAds = "";
+ List cookieAdsList = CEFBrowser.GetCookieList("ads.temu.com", cefWebBrowser.GetCookieManager(null));
+ if (cookieAdsList != null && cookieAdsList.Count > 0)
+ {
+ for (int i = 0; i < cookieAdsList.Count; i++)
+ {
+ var cookie = cookieAdsList[i];
+ cookiesAds += cookie.Name + "=" + cookie.Value + "; ";
+ }
+ cookiesAds = cookiesAds.Trim().TrimEnd(';');
+ }
+
+ if (!string.IsNullOrEmpty(cookiesAds))
+ {
+ shop.ad_login_status = "在线";
+ shop.ad_cookie = cookiesAds;
+ StartUp.SaveLocalShopLoginInfo(); // 店铺保存到本地
+ ShopListForm.UpdateServerShopAdsCookies(shop); // 店铺cookie写入服务端,多店共用一个登录账号一组cookie
+ OnSaveComplete(shop);
+ if (this.Created && this.chkCloseAfterLogin.Checked)
+ {
+ Invoke(new Action(() => { this.Close(); }));
+ }
+ else
+ {
+ break;
}
- else
- break;
}
- var obtainCodeRst = ShopListForm.GetObtainCode(shop);
- var obtainCode = BaseRegex.GetStringJson(ref obtainCodeRst, "code");
- //https://ads.temu.com/login.html?
- //redirectUrl=https%3A%2F%2Fads.temu.com%2Findex.html%3FadAreaOverride%3D2&userType=1&mallType=0
- //&ticket=Zjze2NHyZFaGP88ROyjN19a47ae59611391a296ae6403bbbfa39e9046ceba744aafe8227fd6
- //&adSellerUniqueId=eyJ1IjoiTVF3NFRGVmN2ZUVyZG1USDdOQ2o5dz09IiwidiI6MX0%3D&source=2&seller_source=11&adAreaOverride=2
- string url = "https://ads.temu.com/login.html?" +
- "redirectUrl=https%3A%2F%2Fads.temu.com%2Findex.html%3FadAreaOverride%3D2&userType=1&mallType=0&ticket=" + obtainCode +
- "&source=2&seller_source=11&adAreaOverride=2";
- cefWebBrowser.Load(url);
}
}
});
diff --git a/TEMUKJD/KJDForms/ProductForms/JoinDeliveryFrom.Designer.cs b/TEMUKJD/KJDForms/ProductForms/JoinDeliveryFrom.Designer.cs
new file mode 100644
index 0000000..1641823
--- /dev/null
+++ b/TEMUKJD/KJDForms/ProductForms/JoinDeliveryFrom.Designer.cs
@@ -0,0 +1,968 @@
+
+namespace TemuKJD.KJDForms.ProductForms
+{
+ partial class JoinDeliveryFrom
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.components = new System.ComponentModel.Container();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
+ this.splitContainer1 = new System.Windows.Forms.SplitContainer();
+ this.ucGroupBoxEx3 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
+ this.btnStart = new DevComponents.DotNetBar.PanelEx();
+ this.txtRetryInterval = new System.Windows.Forms.TextBox();
+ this.label1 = new System.Windows.Forms.Label();
+ this.btnStop = new DevComponents.DotNetBar.PanelEx();
+ this.btnSearch = new DevComponents.DotNetBar.PanelEx();
+ this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
+ this.btnEmpty = new DevComponents.DotNetBar.PanelEx();
+ this.btnRefreshShop = new DevComponents.DotNetBar.PanelEx();
+ this.txtNotes = new System.Windows.Forms.TextBox();
+ this.label4 = new System.Windows.Forms.Label();
+ this.txtShopName = new System.Windows.Forms.TextBox();
+ this.txtShopId = new System.Windows.Forms.TextBox();
+ this.label2 = new System.Windows.Forms.Label();
+ this.label3 = new System.Windows.Forms.Label();
+ this.splitContainer3 = new System.Windows.Forms.SplitContainer();
+ this.splitContainer2 = new System.Windows.Forms.SplitContainer();
+ this.chkSearchAllShop = new TemuKJD.UserComponent.UcCheckBox(this.components);
+ this.pbShopLoading = new System.Windows.Forms.PictureBox();
+ this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx();
+ this.pbLoading = new System.Windows.Forms.PictureBox();
+ this.dgvStock = new TemuKJD.UserComponent.DataGridViewEx();
+ this.colUpId = new System.Windows.Forms.DataGridViewLinkColumn();
+ this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+ this.colSupplierId = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colSupplierName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colStockId = new System.Windows.Forms.DataGridViewLinkColumn();
+ this.colParentStockId = new System.Windows.Forms.DataGridViewLinkColumn();
+ this.colImgUrl = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colProductSkcPic = new System.Windows.Forms.DataGridViewImageColumn();
+ this.colProductId = new System.Windows.Forms.DataGridViewLinkColumn();
+ this.colProdSkc = new System.Windows.Forms.DataGridViewLinkColumn();
+ this.colProdName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colPrcie = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colFrom = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colFromFake = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colInCartNumber7d = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colTodaySaleVolume = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colLastSevenDaysSaleVolume = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colSalesInventoryNum = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colWaitReceiveNum = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colQualityScore = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colQualityRate = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colQualityCount = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colNeedStockUp = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colMsg = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.splitContainer4 = new System.Windows.Forms.SplitContainer();
+ this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
+ this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
+ this.btnClear = new DevComponents.DotNetBar.PanelEx();
+ this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+ this.colUser = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colShopName = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colShopNotes = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ this.colLoginStatus = new System.Windows.Forms.DataGridViewLinkColumn();
+ this.colCanUse = new System.Windows.Forms.DataGridViewCheckBoxColumn();
+ this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn();
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
+ this.splitContainer1.Panel1.SuspendLayout();
+ this.splitContainer1.Panel2.SuspendLayout();
+ this.splitContainer1.SuspendLayout();
+ this.ucGroupBoxEx3.SuspendLayout();
+ this.ucGroupBoxEx1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).BeginInit();
+ this.splitContainer3.Panel1.SuspendLayout();
+ this.splitContainer3.Panel2.SuspendLayout();
+ this.splitContainer3.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
+ this.splitContainer2.Panel1.SuspendLayout();
+ this.splitContainer2.Panel2.SuspendLayout();
+ this.splitContainer2.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.pbShopLoading)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.dgvShop)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.dgvStock)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.splitContainer4)).BeginInit();
+ this.splitContainer4.Panel1.SuspendLayout();
+ this.splitContainer4.Panel2.SuspendLayout();
+ this.splitContainer4.SuspendLayout();
+ this.SuspendLayout();
+ //
+ // splitContainer1
+ //
+ this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
+ this.splitContainer1.Location = new System.Drawing.Point(0, 0);
+ this.splitContainer1.Name = "splitContainer1";
+ this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
+ //
+ // splitContainer1.Panel1
+ //
+ this.splitContainer1.Panel1.Controls.Add(this.ucGroupBoxEx3);
+ this.splitContainer1.Panel1.Controls.Add(this.ucGroupBoxEx1);
+ //
+ // splitContainer1.Panel2
+ //
+ this.splitContainer1.Panel2.Controls.Add(this.splitContainer3);
+ this.splitContainer1.Size = new System.Drawing.Size(1314, 455);
+ this.splitContainer1.SplitterDistance = 120;
+ this.splitContainer1.TabIndex = 11;
+ //
+ // ucGroupBoxEx3
+ //
+ this.ucGroupBoxEx3.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)
+ | System.Windows.Forms.AnchorStyles.Right)));
+ this.ucGroupBoxEx3.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.ucGroupBoxEx3.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND;
+ this.ucGroupBoxEx3.Controls.Add(this.btnStart);
+ this.ucGroupBoxEx3.Controls.Add(this.txtRetryInterval);
+ this.ucGroupBoxEx3.Controls.Add(this.label1);
+ this.ucGroupBoxEx3.Controls.Add(this.btnStop);
+ this.ucGroupBoxEx3.Controls.Add(this.btnSearch);
+ this.ucGroupBoxEx3.Location = new System.Drawing.Point(282, 2);
+ this.ucGroupBoxEx3.Name = "ucGroupBoxEx3";
+ this.ucGroupBoxEx3.Size = new System.Drawing.Size(1030, 120);
+ this.ucGroupBoxEx3.TabIndex = 666;
+ this.ucGroupBoxEx3.TabStop = false;
+ this.ucGroupBoxEx3.Text = "待发货商品操作";
+ //
+ // btnStart
+ //
+ this.btnStart.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnStart.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnStart.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btnStart.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnStart.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnStart.Location = new System.Drawing.Point(760, 25);
+ this.btnStart.Name = "btnStart";
+ this.btnStart.Size = new System.Drawing.Size(117, 23);
+ this.btnStart.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnStart.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnStart.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnStart.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btnStart.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btnStart.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btnStart.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btnStart.Style.GradientAngle = 90;
+ this.btnStart.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnStart.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnStart.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnStart.TabIndex = 439;
+ this.btnStart.Text = "循环加入发货台";
+ //
+ // txtRetryInterval
+ //
+ this.txtRetryInterval.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.txtRetryInterval.Location = new System.Drawing.Point(685, 25);
+ this.txtRetryInterval.Name = "txtRetryInterval";
+ this.txtRetryInterval.Size = new System.Drawing.Size(69, 23);
+ this.txtRetryInterval.TabIndex = 431;
+ this.txtRetryInterval.Text = "5";
+ //
+ // label1
+ //
+ this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.label1.AutoSize = true;
+ this.label1.Location = new System.Drawing.Point(611, 28);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(76, 17);
+ this.label1.TabIndex = 432;
+ this.label1.Text = "重试间隔(秒)";
+ //
+ // btnStop
+ //
+ this.btnStop.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnStop.CanvasColor = System.Drawing.SystemColors.Control;
+ this.btnStop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnStop.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnStop.Location = new System.Drawing.Point(883, 25);
+ this.btnStop.Name = "btnStop";
+ this.btnStop.Size = new System.Drawing.Size(117, 23);
+ this.btnStop.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnStop.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
+ this.btnStop.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
+ this.btnStop.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
+ this.btnStop.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnStop.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
+ this.btnStop.Style.GradientAngle = 90;
+ this.btnStop.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnStop.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnStop.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnStop.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnStop.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
+ this.btnStop.TabIndex = 668;
+ this.btnStop.Text = "停止操作";
+ //
+ // btnSearch
+ //
+ this.btnSearch.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnSearch.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btnSearch.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnSearch.Location = new System.Drawing.Point(28, 25);
+ this.btnSearch.Name = "btnSearch";
+ this.btnSearch.Size = new System.Drawing.Size(91, 23);
+ this.btnSearch.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnSearch.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnSearch.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnSearch.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btnSearch.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btnSearch.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btnSearch.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btnSearch.Style.GradientAngle = 90;
+ this.btnSearch.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnSearch.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnSearch.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnSearch.TabIndex = 427;
+ this.btnSearch.Text = "读取待发货";
+ this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
+ //
+ // ucGroupBoxEx1
+ //
+ this.ucGroupBoxEx1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+ | System.Windows.Forms.AnchorStyles.Left)));
+ this.ucGroupBoxEx1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.ucGroupBoxEx1.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND;
+ this.ucGroupBoxEx1.Controls.Add(this.btnEmpty);
+ this.ucGroupBoxEx1.Controls.Add(this.btnRefreshShop);
+ this.ucGroupBoxEx1.Controls.Add(this.txtNotes);
+ this.ucGroupBoxEx1.Controls.Add(this.label4);
+ this.ucGroupBoxEx1.Controls.Add(this.txtShopName);
+ this.ucGroupBoxEx1.Controls.Add(this.txtShopId);
+ this.ucGroupBoxEx1.Controls.Add(this.label2);
+ this.ucGroupBoxEx1.Controls.Add(this.label3);
+ this.ucGroupBoxEx1.Location = new System.Drawing.Point(2, 2);
+ this.ucGroupBoxEx1.Name = "ucGroupBoxEx1";
+ this.ucGroupBoxEx1.Size = new System.Drawing.Size(280, 120);
+ this.ucGroupBoxEx1.TabIndex = 399;
+ this.ucGroupBoxEx1.TabStop = false;
+ this.ucGroupBoxEx1.Text = "基础";
+ //
+ // btnEmpty
+ //
+ this.btnEmpty.CanvasColor = System.Drawing.SystemColors.Control;
+ this.btnEmpty.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnEmpty.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnEmpty.Location = new System.Drawing.Point(227, 81);
+ this.btnEmpty.Name = "btnEmpty";
+ this.btnEmpty.Size = new System.Drawing.Size(40, 23);
+ this.btnEmpty.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnEmpty.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
+ this.btnEmpty.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
+ this.btnEmpty.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
+ this.btnEmpty.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnEmpty.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
+ this.btnEmpty.Style.GradientAngle = 90;
+ this.btnEmpty.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnEmpty.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnEmpty.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnEmpty.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnEmpty.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
+ this.btnEmpty.TabIndex = 701;
+ this.btnEmpty.Text = "重置";
+ this.btnEmpty.Click += new System.EventHandler(this.btnEmpty_Click);
+ //
+ // btnRefreshShop
+ //
+ this.btnRefreshShop.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+ this.btnRefreshShop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
+ this.btnRefreshShop.Cursor = System.Windows.Forms.Cursors.Hand;
+ this.btnRefreshShop.DisabledBackColor = System.Drawing.Color.Empty;
+ this.btnRefreshShop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.btnRefreshShop.Location = new System.Drawing.Point(163, 81);
+ this.btnRefreshShop.Name = "btnRefreshShop";
+ this.btnRefreshShop.Size = new System.Drawing.Size(62, 23);
+ this.btnRefreshShop.Style.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnRefreshShop.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnRefreshShop.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ this.btnRefreshShop.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
+ this.btnRefreshShop.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
+ this.btnRefreshShop.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
+ this.btnRefreshShop.Style.ForeColor.Color = System.Drawing.Color.White;
+ this.btnRefreshShop.Style.GradientAngle = 90;
+ this.btnRefreshShop.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
+ this.btnRefreshShop.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnRefreshShop.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
+ this.btnRefreshShop.TabIndex = 431;
+ this.btnRefreshShop.Text = "刷新/查询";
+ this.btnRefreshShop.Click += new System.EventHandler(this.btnRefreshShop_Click);
+ //
+ // txtNotes
+ //
+ this.txtNotes.Location = new System.Drawing.Point(53, 81);
+ this.txtNotes.Name = "txtNotes";
+ this.txtNotes.Size = new System.Drawing.Size(105, 23);
+ this.txtNotes.TabIndex = 388;
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.Location = new System.Drawing.Point(19, 84);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(44, 17);
+ this.label4.TabIndex = 389;
+ this.label4.Text = "分组:";
+ //
+ // txtShopName
+ //
+ this.txtShopName.Location = new System.Drawing.Point(53, 53);
+ this.txtShopName.Name = "txtShopName";
+ this.txtShopName.Size = new System.Drawing.Size(214, 23);
+ this.txtShopName.TabIndex = 386;
+ //
+ // txtShopId
+ //
+ this.txtShopId.Location = new System.Drawing.Point(53, 25);
+ this.txtShopId.Name = "txtShopId";
+ this.txtShopId.Size = new System.Drawing.Size(214, 23);
+ this.txtShopId.TabIndex = 384;
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Location = new System.Drawing.Point(6, 28);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(57, 17);
+ this.label2.TabIndex = 385;
+ this.label2.Text = "店铺ID:";
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.Location = new System.Drawing.Point(19, 56);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(44, 17);
+ this.label3.TabIndex = 387;
+ this.label3.Text = "名称:";
+ //
+ // splitContainer3
+ //
+ this.splitContainer3.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.splitContainer3.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
+ this.splitContainer3.Location = new System.Drawing.Point(0, 0);
+ this.splitContainer3.Name = "splitContainer3";
+ this.splitContainer3.Orientation = System.Windows.Forms.Orientation.Horizontal;
+ //
+ // splitContainer3.Panel1
+ //
+ this.splitContainer3.Panel1.Controls.Add(this.splitContainer2);
+ //
+ // splitContainer3.Panel2
+ //
+ this.splitContainer3.Panel2.Controls.Add(this.splitContainer4);
+ this.splitContainer3.Size = new System.Drawing.Size(1314, 331);
+ this.splitContainer3.SplitterDistance = 301;
+ this.splitContainer3.TabIndex = 1;
+ //
+ // splitContainer2
+ //
+ this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
+ this.splitContainer2.Location = new System.Drawing.Point(0, 0);
+ this.splitContainer2.Name = "splitContainer2";
+ //
+ // splitContainer2.Panel1
+ //
+ this.splitContainer2.Panel1.Controls.Add(this.chkSearchAllShop);
+ this.splitContainer2.Panel1.Controls.Add(this.pbShopLoading);
+ this.splitContainer2.Panel1.Controls.Add(this.dgvShop);
+ this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 0, 0);
+ //
+ // splitContainer2.Panel2
+ //
+ this.splitContainer2.Panel2.Controls.Add(this.pbLoading);
+ this.splitContainer2.Panel2.Controls.Add(this.dgvStock);
+ this.splitContainer2.Panel2.Padding = new System.Windows.Forms.Padding(0, 0, 4, 0);
+ this.splitContainer2.Size = new System.Drawing.Size(1314, 301);
+ this.splitContainer2.SplitterDistance = 280;
+ this.splitContainer2.TabIndex = 0;
+ //
+ // chkSearchAllShop
+ //
+ this.chkSearchAllShop.AutoSize = true;
+ this.chkSearchAllShop.Checked = true;
+ this.chkSearchAllShop.CheckState = System.Windows.Forms.CheckState.Checked;
+ this.chkSearchAllShop.Location = new System.Drawing.Point(24, 42);
+ this.chkSearchAllShop.Name = "chkSearchAllShop";
+ this.chkSearchAllShop.Size = new System.Drawing.Size(147, 21);
+ this.chkSearchAllShop.TabIndex = 711;
+ this.chkSearchAllShop.Text = "二级超管查询所有店铺";
+ this.chkSearchAllShop.UseVisualStyleBackColor = true;
+ this.chkSearchAllShop.Visible = false;
+ //
+ // pbShopLoading
+ //
+ this.pbShopLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
+ this.pbShopLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
+ this.pbShopLoading.Location = new System.Drawing.Point(115, 125);
+ this.pbShopLoading.Name = "pbShopLoading";
+ this.pbShopLoading.Size = new System.Drawing.Size(50, 50);
+ this.pbShopLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+ this.pbShopLoading.TabIndex = 677;
+ this.pbShopLoading.TabStop = false;
+ this.pbShopLoading.Visible = false;
+ //
+ // dgvShop
+ //
+ this.dgvShop.AllowUserToAddRows = false;
+ this.dgvShop.AllowUserToDeleteRows = false;
+ dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
+ this.dgvShop.BackgroundColor = System.Drawing.Color.White;
+ this.dgvShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+ dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
+ dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
+ dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+ dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+ this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
+ this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+ this.colSelect,
+ this.colUser,
+ this.colLoginName,
+ this.colShopId,
+ this.colShopName,
+ this.colShopNotes,
+ this.colLoginStatus,
+ this.colCanUse,
+ this.colMessage});
+ this.dgvShop.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.dgvShop.Location = new System.Drawing.Point(4, 0);
+ this.dgvShop.Name = "dgvShop";
+ this.dgvShop.ReadOnly = true;
+ this.dgvShop.RowHeadersWidth = 25;
+ this.dgvShop.RowTemplate.Height = 23;
+ this.dgvShop.Size = new System.Drawing.Size(276, 301);
+ this.dgvShop.TabIndex = 6;
+ //
+ // pbLoading
+ //
+ this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
+ this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
+ this.pbLoading.Location = new System.Drawing.Point(490, 125);
+ this.pbLoading.Name = "pbLoading";
+ this.pbLoading.Size = new System.Drawing.Size(50, 50);
+ this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+ this.pbLoading.TabIndex = 188;
+ this.pbLoading.TabStop = false;
+ this.pbLoading.Visible = false;
+ //
+ // dgvStock
+ //
+ this.dgvStock.AllowUserToAddRows = false;
+ this.dgvStock.AllowUserToDeleteRows = false;
+ dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.dgvStock.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3;
+ this.dgvStock.BackgroundColor = System.Drawing.Color.White;
+ this.dgvStock.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
+ dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+ dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control;
+ dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText;
+ dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+ dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+ this.dgvStock.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4;
+ this.dgvStock.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+ this.dgvStock.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
+ this.colUpId,
+ this.colCheck,
+ this.colSupplierId,
+ this.colSupplierName,
+ this.colStockId,
+ this.colParentStockId,
+ this.colImgUrl,
+ this.colProductSkcPic,
+ this.colProductId,
+ this.colProdSkc,
+ this.colProdName,
+ this.colPrcie,
+ this.colFrom,
+ this.colFromFake,
+ this.colInCartNumber7d,
+ this.colTodaySaleVolume,
+ this.colLastSevenDaysSaleVolume,
+ this.colSalesInventoryNum,
+ this.colWaitReceiveNum,
+ this.colQualityScore,
+ this.colQualityRate,
+ this.colQualityCount,
+ this.colNeedStockUp,
+ this.colMsg});
+ this.dgvStock.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.dgvStock.Location = new System.Drawing.Point(0, 0);
+ this.dgvStock.Name = "dgvStock";
+ this.dgvStock.ReadOnly = true;
+ this.dgvStock.RowTemplate.Height = 23;
+ this.dgvStock.Size = new System.Drawing.Size(1026, 301);
+ this.dgvStock.TabIndex = 189;
+ //
+ // colUpId
+ //
+ this.colUpId.HeaderText = "上家Id";
+ this.colUpId.Name = "colUpId";
+ this.colUpId.ReadOnly = true;
+ this.colUpId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colUpId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+ this.colUpId.Visible = false;
+ this.colUpId.Width = 95;
+ //
+ // colCheck
+ //
+ this.colCheck.HeaderText = "选择";
+ this.colCheck.Name = "colCheck";
+ this.colCheck.ReadOnly = true;
+ this.colCheck.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colCheck.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+ this.colCheck.Width = 30;
+ //
+ // colSupplierId
+ //
+ this.colSupplierId.HeaderText = "店铺Id";
+ this.colSupplierId.Name = "colSupplierId";
+ this.colSupplierId.ReadOnly = true;
+ //
+ // colSupplierName
+ //
+ this.colSupplierName.HeaderText = "店铺名称";
+ this.colSupplierName.Name = "colSupplierName";
+ this.colSupplierName.ReadOnly = true;
+ this.colSupplierName.Width = 110;
+ //
+ // colStockId
+ //
+ this.colStockId.HeaderText = "备货单号";
+ this.colStockId.Name = "colStockId";
+ this.colStockId.ReadOnly = true;
+ this.colStockId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colStockId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+ this.colStockId.Width = 120;
+ //
+ // colParentStockId
+ //
+ this.colParentStockId.HeaderText = "备货母单号";
+ this.colParentStockId.Name = "colParentStockId";
+ this.colParentStockId.ReadOnly = true;
+ this.colParentStockId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colParentStockId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+ this.colParentStockId.Width = 120;
+ //
+ // colImgUrl
+ //
+ this.colImgUrl.HeaderText = "图片路径";
+ this.colImgUrl.Name = "colImgUrl";
+ this.colImgUrl.ReadOnly = true;
+ this.colImgUrl.Visible = false;
+ //
+ // colProductSkcPic
+ //
+ this.colProductSkcPic.HeaderText = "Skc图片";
+ this.colProductSkcPic.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom;
+ this.colProductSkcPic.Name = "colProductSkcPic";
+ this.colProductSkcPic.ReadOnly = true;
+ this.colProductSkcPic.Width = 60;
+ //
+ // colProductId
+ //
+ this.colProductId.HeaderText = "商品Id";
+ this.colProductId.Name = "colProductId";
+ this.colProductId.ReadOnly = true;
+ this.colProductId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+ this.colProductId.Width = 90;
+ //
+ // colProdSkc
+ //
+ this.colProdSkc.FillWeight = 150F;
+ this.colProdSkc.HeaderText = "商品SKC";
+ this.colProdSkc.Name = "colProdSkc";
+ this.colProdSkc.ReadOnly = true;
+ this.colProdSkc.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+ this.colProdSkc.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
+ this.colProdSkc.Width = 90;
+ //
+ // colProdName
+ //
+ dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
+ this.colProdName.DefaultCellStyle = dataGridViewCellStyle5;
+ this.colProdName.HeaderText = "标题";
+ this.colProdName.Name = "colProdName";
+ this.colProdName.ReadOnly = true;
+ this.colProdName.Width = 180;
+ //
+ // colPrcie
+ //
+ this.colPrcie.HeaderText = "价格";
+ this.colPrcie.Name = "colPrcie";
+ this.colPrcie.ReadOnly = true;
+ this.colPrcie.Visible = false;
+ //
+ // colFrom
+ //
+ this.colFrom.HeaderText = "来源";
+ this.colFrom.Name = "colFrom";
+ this.colFrom.ReadOnly = true;
+ this.colFrom.Visible = false;
+ //
+ // colFromFake
+ //
+ this.colFromFake.HeaderText = "来源";
+ this.colFromFake.Name = "colFromFake";
+ this.colFromFake.ReadOnly = true;
+ this.colFromFake.Visible = false;
+ //
+ // colInCartNumber7d
+ //
+ this.colInCartNumber7d.HeaderText = "近七日加购";
+ this.colInCartNumber7d.Name = "colInCartNumber7d";
+ this.colInCartNumber7d.ReadOnly = true;
+ this.colInCartNumber7d.Visible = false;
+ this.colInCartNumber7d.Width = 75;
+ //
+ // colTodaySaleVolume
+ //
+ this.colTodaySaleVolume.HeaderText = "今日销量";
+ this.colTodaySaleVolume.Name = "colTodaySaleVolume";
+ this.colTodaySaleVolume.ReadOnly = true;
+ this.colTodaySaleVolume.Visible = false;
+ this.colTodaySaleVolume.Width = 70;
+ //
+ // colLastSevenDaysSaleVolume
+ //
+ this.colLastSevenDaysSaleVolume.HeaderText = "七日销量";
+ this.colLastSevenDaysSaleVolume.Name = "colLastSevenDaysSaleVolume";
+ this.colLastSevenDaysSaleVolume.ReadOnly = true;
+ this.colLastSevenDaysSaleVolume.Visible = false;
+ this.colLastSevenDaysSaleVolume.Width = 70;
+ //
+ // colSalesInventoryNum
+ //
+ this.colSalesInventoryNum.HeaderText = "仓库可用库存";
+ this.colSalesInventoryNum.Name = "colSalesInventoryNum";
+ this.colSalesInventoryNum.ReadOnly = true;
+ this.colSalesInventoryNum.Visible = false;
+ this.colSalesInventoryNum.Width = 90;
+ //
+ // colWaitReceiveNum
+ //
+ this.colWaitReceiveNum.HeaderText = "已发货库存";
+ this.colWaitReceiveNum.Name = "colWaitReceiveNum";
+ this.colWaitReceiveNum.ReadOnly = true;
+ this.colWaitReceiveNum.Visible = false;
+ this.colWaitReceiveNum.Width = 75;
+ //
+ // colQualityScore
+ //
+ this.colQualityScore.HeaderText = "品质分";
+ this.colQualityScore.Name = "colQualityScore";
+ this.colQualityScore.ReadOnly = true;
+ this.colQualityScore.Width = 50;
+ //
+ // colQualityRate
+ //
+ this.colQualityRate.HeaderText = "售后率";
+ this.colQualityRate.Name = "colQualityRate";
+ this.colQualityRate.ReadOnly = true;
+ this.colQualityRate.Width = 50;
+ //
+ // colQualityCount
+ //
+ this.colQualityCount.HeaderText = "售后数";
+ this.colQualityCount.Name = "colQualityCount";
+ this.colQualityCount.ReadOnly = true;
+ this.colQualityCount.Width = 50;
+ //
+ // colNeedStockUp
+ //
+ this.colNeedStockUp.HeaderText = "是否需备货";
+ this.colNeedStockUp.Name = "colNeedStockUp";
+ this.colNeedStockUp.ReadOnly = true;
+ this.colNeedStockUp.Visible = false;
+ this.colNeedStockUp.Width = 75;
+ //
+ // colMsg
+ //
+ this.colMsg.HeaderText = "状态";
+ this.colMsg.Name = "colMsg";
+ this.colMsg.ReadOnly = true;
+ this.colMsg.Width = 400;
+ //
+ // splitContainer4
+ //
+ this.splitContainer4.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.splitContainer4.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
+ this.splitContainer4.Location = new System.Drawing.Point(0, 0);
+ this.splitContainer4.Name = "splitContainer4";
+ //
+ // splitContainer4.Panel1
+ //
+ this.splitContainer4.Panel1.Controls.Add(this.statusBar);
+ this.splitContainer4.Panel1.Controls.Add(this.ucSplitPage1);
+ //
+ // splitContainer4.Panel2
+ //
+ this.splitContainer4.Panel2.Controls.Add(this.btnClear);
+ this.splitContainer4.Size = new System.Drawing.Size(1314, 26);
+ this.splitContainer4.SplitterDistance = 1036;
+ this.splitContainer4.TabIndex = 3;
+ //
+ // statusBar
+ //
+ this.statusBar.BackColor = System.Drawing.Color.White;
+ this.statusBar.Dock = System.Windows.Forms.DockStyle.Left;
+ this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ this.statusBar.Location = new System.Drawing.Point(282, 0);
+ this.statusBar.Margin = new System.Windows.Forms.Padding(0);
+ this.statusBar.Name = "statusBar";
+ this.statusBar.Size = new System.Drawing.Size(600, 26);
+ this.statusBar.TabIndex = 2;
+ //
+ // ucSplitPage1
+ //
+ this.ucSplitPage1.CurrentPage = 1;
+ this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Left;
+ this.ucSplitPage1.IsShowPageSize = false;
+ this.ucSplitPage1.Location = new System.Drawing.Point(0, 0);
+ this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0);
+ this.ucSplitPage1.Name = "ucSplitPage1";
+ this.ucSplitPage1.PageSize = 50;
+ this.ucSplitPage1.Size = new System.Drawing.Size(282, 26);
+ this.ucSplitPage1.TabIndex = 6;
+ this.ucSplitPage1.TotalPage = 1;
+ this.ucSplitPage1.PageChange += new System.Action
private void InitializeComponent()
{
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
- System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
+ this.components = new System.ComponentModel.Container();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
+ System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
this.label1 = new System.Windows.Forms.Label();
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
this.panel5 = new System.Windows.Forms.Panel();
+ this.chkLoginAds = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.btnRefreshShop = new TemuKJD.UserControls.ButtonEx();
this.btnLoginSelect = new TemuKJD.UserControls.ButtonEx();
this.btnCheck = new TemuKJD.UserControls.ButtonEx();
@@ -139,14 +141,25 @@
//
// panel5
//
+ this.panel5.Controls.Add(this.chkLoginAds);
this.panel5.Controls.Add(this.btnRefreshShop);
this.panel5.Controls.Add(this.btnLoginSelect);
this.panel5.Controls.Add(this.btnCheck);
- this.panel5.Location = new System.Drawing.Point(1032, 3);
+ this.panel5.Location = new System.Drawing.Point(901, 3);
this.panel5.Name = "panel5";
- this.panel5.Size = new System.Drawing.Size(229, 40);
+ this.panel5.Size = new System.Drawing.Size(360, 40);
this.panel5.TabIndex = 1;
//
+ // chkLoginAds
+ //
+ this.chkLoginAds.AutoSize = true;
+ this.chkLoginAds.Location = new System.Drawing.Point(254, 11);
+ this.chkLoginAds.Name = "chkLoginAds";
+ this.chkLoginAds.Size = new System.Drawing.Size(111, 21);
+ this.chkLoginAds.TabIndex = 376;
+ this.chkLoginAds.Text = "同时登录直通车";
+ this.chkLoginAds.UseVisualStyleBackColor = true;
+ //
// btnRefreshShop
//
this.btnRefreshShop.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
@@ -154,7 +167,7 @@
this.btnRefreshShop.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnRefreshShop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnRefreshShop.ForeColor = System.Drawing.Color.White;
- this.btnRefreshShop.Location = new System.Drawing.Point(21, 9);
+ this.btnRefreshShop.Location = new System.Drawing.Point(43, 8);
this.btnRefreshShop.Margin = new System.Windows.Forms.Padding(2);
this.btnRefreshShop.Name = "btnRefreshShop";
this.btnRefreshShop.Size = new System.Drawing.Size(66, 26);
@@ -170,7 +183,7 @@
this.btnLoginSelect.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnLoginSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnLoginSelect.ForeColor = System.Drawing.Color.White;
- this.btnLoginSelect.Location = new System.Drawing.Point(162, 9);
+ this.btnLoginSelect.Location = new System.Drawing.Point(184, 8);
this.btnLoginSelect.Margin = new System.Windows.Forms.Padding(2);
this.btnLoginSelect.Name = "btnLoginSelect";
this.btnLoginSelect.Size = new System.Drawing.Size(66, 26);
@@ -186,7 +199,7 @@
this.btnCheck.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnCheck.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnCheck.ForeColor = System.Drawing.Color.White;
- this.btnCheck.Location = new System.Drawing.Point(92, 9);
+ this.btnCheck.Location = new System.Drawing.Point(114, 8);
this.btnCheck.Margin = new System.Windows.Forms.Padding(2);
this.btnCheck.Name = "btnCheck";
this.btnCheck.Size = new System.Drawing.Size(66, 26);
@@ -210,13 +223,13 @@
this.panel4.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel4.Location = new System.Drawing.Point(3, 3);
this.panel4.Name = "panel4";
- this.panel4.Size = new System.Drawing.Size(1023, 40);
+ this.panel4.Size = new System.Drawing.Size(892, 40);
this.panel4.TabIndex = 0;
//
// cmbNotes
//
this.cmbNotes.FormattingEnabled = true;
- this.cmbNotes.Location = new System.Drawing.Point(597, 10);
+ this.cmbNotes.Location = new System.Drawing.Point(597, 9);
this.cmbNotes.Name = "cmbNotes";
this.cmbNotes.Size = new System.Drawing.Size(120, 25);
this.cmbNotes.TabIndex = 413;
@@ -227,7 +240,7 @@
this.pnlEmpty.CanvasColor = System.Drawing.SystemColors.Control;
this.pnlEmpty.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
this.pnlEmpty.DisabledBackColor = System.Drawing.Color.Empty;
- this.pnlEmpty.Location = new System.Drawing.Point(799, 9);
+ this.pnlEmpty.Location = new System.Drawing.Point(799, 8);
this.pnlEmpty.Name = "pnlEmpty";
this.pnlEmpty.Size = new System.Drawing.Size(66, 26);
this.pnlEmpty.Style.Alignment = System.Drawing.StringAlignment.Center;
@@ -253,7 +266,7 @@
this.btnSearch.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnSearch.ForeColor = System.Drawing.Color.White;
- this.btnSearch.Location = new System.Drawing.Point(728, 9);
+ this.btnSearch.Location = new System.Drawing.Point(728, 8);
this.btnSearch.Margin = new System.Windows.Forms.Padding(2);
this.btnSearch.Name = "btnSearch";
this.btnSearch.Size = new System.Drawing.Size(66, 26);
@@ -265,7 +278,7 @@
// label4
//
this.label4.AutoSize = true;
- this.label4.Location = new System.Drawing.Point(538, 14);
+ this.label4.Location = new System.Drawing.Point(538, 13);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(68, 17);
this.label4.TabIndex = 377;
@@ -273,7 +286,7 @@
//
// txtShopName
//
- this.txtShopName.Location = new System.Drawing.Point(415, 11);
+ this.txtShopName.Location = new System.Drawing.Point(415, 10);
this.txtShopName.Name = "txtShopName";
this.txtShopName.Size = new System.Drawing.Size(110, 23);
this.txtShopName.TabIndex = 374;
@@ -281,7 +294,7 @@
// label3
//
this.label3.AutoSize = true;
- this.label3.Location = new System.Drawing.Point(367, 14);
+ this.label3.Location = new System.Drawing.Point(367, 13);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(56, 17);
this.label3.TabIndex = 375;
@@ -289,7 +302,7 @@
//
// txtShopId
//
- this.txtShopId.Location = new System.Drawing.Point(245, 11);
+ this.txtShopId.Location = new System.Drawing.Point(245, 10);
this.txtShopId.Name = "txtShopId";
this.txtShopId.Size = new System.Drawing.Size(110, 23);
this.txtShopId.TabIndex = 372;
@@ -297,7 +310,7 @@
// label2
//
this.label2.AutoSize = true;
- this.label2.Location = new System.Drawing.Point(197, 14);
+ this.label2.Location = new System.Drawing.Point(197, 13);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(55, 17);
this.label2.TabIndex = 373;
@@ -310,7 +323,7 @@
this.btnImport.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnImport.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnImport.ForeColor = System.Drawing.Color.White;
- this.btnImport.Location = new System.Drawing.Point(71, 9);
+ this.btnImport.Location = new System.Drawing.Point(71, 8);
this.btnImport.Margin = new System.Windows.Forms.Padding(2);
this.btnImport.Name = "btnImport";
this.btnImport.Size = new System.Drawing.Size(66, 26);
@@ -326,7 +339,7 @@
this.btnAddShop.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnAddShop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnAddShop.ForeColor = System.Drawing.Color.White;
- this.btnAddShop.Location = new System.Drawing.Point(1, 9);
+ this.btnAddShop.Location = new System.Drawing.Point(1, 8);
this.btnAddShop.Margin = new System.Windows.Forms.Padding(2);
this.btnAddShop.Name = "btnAddShop";
this.btnAddShop.Size = new System.Drawing.Size(66, 26);
@@ -356,7 +369,7 @@
this.splitContainer2.Panel2.Controls.Add(this.chkAutoDrag);
this.splitContainer2.Panel2.Controls.Add(this.statusBar);
this.splitContainer2.Size = new System.Drawing.Size(1264, 572);
- this.splitContainer2.SplitterDistance = 540;
+ this.splitContainer2.SplitterDistance = 539;
this.splitContainer2.TabIndex = 0;
//
// btnRefreshAuth
@@ -380,7 +393,7 @@
//
this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
- this.pbLoading.Location = new System.Drawing.Point(607, 245);
+ this.pbLoading.Location = new System.Drawing.Point(607, 244);
this.pbLoading.Name = "pbLoading";
this.pbLoading.Size = new System.Drawing.Size(50, 50);
this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
@@ -391,19 +404,19 @@
//
this.dgvShop.AllowUserToAddRows = false;
this.dgvShop.AllowUserToDeleteRows = false;
- dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
- this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
+ dataGridViewCellStyle5.BackColor = System.Drawing.Color.WhiteSmoke;
+ this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle5;
this.dgvShop.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
this.dgvShop.BackgroundColor = System.Drawing.Color.White;
this.dgvShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
- dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
- dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
- dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
- dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
- dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
- dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
- this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
+ dataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
+ dataGridViewCellStyle6.BackColor = System.Drawing.SystemColors.Control;
+ dataGridViewCellStyle6.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+ dataGridViewCellStyle6.ForeColor = System.Drawing.SystemColors.WindowText;
+ dataGridViewCellStyle6.SelectionBackColor = System.Drawing.SystemColors.Highlight;
+ dataGridViewCellStyle6.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
+ dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
+ this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle6;
this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
this.colSelect,
@@ -434,7 +447,7 @@
this.dgvShop.Name = "dgvShop";
this.dgvShop.ReadOnly = true;
this.dgvShop.RowTemplate.Height = 23;
- this.dgvShop.Size = new System.Drawing.Size(1256, 540);
+ this.dgvShop.Size = new System.Drawing.Size(1256, 539);
this.dgvShop.TabIndex = 5;
this.dgvShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick);
//
@@ -644,7 +657,7 @@
this.statusBar.BackColor = System.Drawing.Color.White;
this.statusBar.Dock = System.Windows.Forms.DockStyle.Bottom;
this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
- this.statusBar.Location = new System.Drawing.Point(0, -1);
+ this.statusBar.Location = new System.Drawing.Point(0, 0);
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
this.statusBar.Name = "statusBar";
this.statusBar.Size = new System.Drawing.Size(1264, 29);
@@ -669,6 +682,7 @@
this.splitContainer1.ResumeLayout(false);
this.tableLayoutPanel2.ResumeLayout(false);
this.panel5.ResumeLayout(false);
+ this.panel5.PerformLayout();
this.panel4.ResumeLayout(false);
this.panel4.PerformLayout();
this.splitContainer2.Panel1.ResumeLayout(false);
@@ -732,5 +746,6 @@
private System.Windows.Forms.DataGridViewLinkColumn colEdit;
private System.Windows.Forms.DataGridViewLinkColumn colDelete;
private System.Windows.Forms.ComboBox cmbNotes;
+ private UserComponent.UcCheckBox chkLoginAds;
}
}
\ No newline at end of file
diff --git a/TEMUKJD/KJDForms/ShopForms/ShopListForm.cs b/TEMUKJD/KJDForms/ShopForms/ShopListForm.cs
index c759bc0..5a1ae5c 100644
--- a/TEMUKJD/KJDForms/ShopForms/ShopListForm.cs
+++ b/TEMUKJD/KJDForms/ShopForms/ShopListForm.cs
@@ -22,6 +22,7 @@ using NaiBa.Util;
using System.Globalization;
using TemuKJD.KJDForms.AdminForms;
using TemuKJD.BLL;
+using TemuKJD.UserControls;
namespace TemuKJD.KJDForms.ShopForms
{
@@ -209,7 +210,7 @@ namespace TemuKJD.KJDForms.ShopForms
#region 服务端店铺Cookie管理
///
- /// 添加京东店铺Cookies
+ /// 添加店铺Cookies
///
/// 店铺名称
/// cookies
@@ -234,6 +235,34 @@ namespace TemuKJD.KJDForms.ShopForms
BaseMsgForm.ShowError("服务端登录状态保存失败!请检查网络连接。");
}
}
+
+ ///
+ /// 添加店铺直通车Cookies
+ ///
+ /// cookies
+ /// 工具名称(可不填写)
+ public static void UpdateServerShopAdsCookies(ShopLoginInfo shop, string fromTool = null)
+ {
+ var fTool = string.IsNullOrEmpty(fromTool) ? "" : "&from_tool=" + fromTool;
+ var url = BaseClass.BuildObjString("shop/mdy_shop_ads_cookie_and_login_status");
+ var data = UserLogin.GetSignaturex()
+ //+ "&login_name=" + shop.LoginName
+ //直通车相同账户的不同店铺之间是隔离的,所以只能填店铺id更新一个店铺
+ + "&shop_id=" + shop.ShopId
+ + "&ad_url=" + GetHtml.UrlEncodeUtf8(shop.ad_url)
+ + "&ad_seller_unique_id=" + shop.ad_seller_unique_id
+ + "&ad_login_status=" + shop.ad_login_status
+ + "&ad_cookie=" + shop.ad_cookie.Replace("&", "&").Replace("%", "%").Replace("+", "+").Replace("\"", """)
+ + fTool;
+ var result = GetHtml.PostUtf8(url, data);
+ if (!result.Contains("\"code\":200"))
+ result = GetHtml.PostUtf8(url, data);
+ if (!result.Contains("\"code\":200"))
+ {
+ BaseMsgForm.ShowError("直通车登录状态保存失败!请检查网络连接。");
+ }
+ }
+
/////
///// 获取店铺Cookies
/////
@@ -563,7 +592,7 @@ namespace TemuKJD.KJDForms.ShopForms
{
this.Invoke(new Action(() =>
{
- this.pbLoading.Visible = true;
+ this.pbLoading.Visible = false;
this.statusBar.lblTaskStatus.Text = "检测完毕";
}));
}
@@ -571,7 +600,6 @@ namespace TemuKJD.KJDForms.ShopForms
public void CheckShopLogin(string[] shopNames, bool isShowProgress = true)
{
-
for (int i = 0; i < shopNames.Length; i++)
{
var campanys = GlobalConfig.ShopLoginList.Where(v => v.LoginName == shopNames[i]).ToList();
@@ -601,7 +629,7 @@ namespace TemuKJD.KJDForms.ShopForms
foreach (var sc in campanys)
{
sc.LoginStatus = "未登录";
- shop.Cookies = "empty=true;";
+ sc.Cookies = "empty=true;";
}
}
else
@@ -609,6 +637,7 @@ namespace TemuKJD.KJDForms.ShopForms
foreach(var sc in campanys)
{
sc.LoginStatus = "登录成功";
+ sc.Cookies = shop.Cookies;
sc.LastRefreshDate = DateTime.Now.ToString("yyyyMMdd");
}
}
@@ -627,6 +656,7 @@ namespace TemuKJD.KJDForms.ShopForms
foreach (var sc in campanys)
{
sc.LoginStatus2 = "国际版在线";
+ sc.Cookies2 = shop.Cookies2;
sc.LastRefreshDate = DateTime.Now.ToString("yyyyMMdd");
}
}
@@ -647,6 +677,95 @@ namespace TemuKJD.KJDForms.ShopForms
}
}
+ public void CheckShopAdsLogin(ShopLoginInfo shop)
+ {
+ if (shop == null)
+ return;
+
+ CheckShopAdsLogin(new List { shop.ShopId });
+ }
+
+ public void CheckShopAdsLogin(List shopIdLst, PictureBox _pbLoading = null, StatusBarUserControl _statusBar = null)
+ {
+ if (_pbLoading != null)
+ {
+ MainForm.instance.Invoke(new Action(() =>
+ {
+ _pbLoading.Visible = true;
+ }));
+ }
+ if (_statusBar != null)
+ {
+ MainForm.instance.Invoke(new Action(() =>
+ {
+ _statusBar.lblTaskStatus.Text = "正在检测...";
+ _statusBar.pgbTaskProgress.Value = 0;
+ _statusBar.pgbTaskProgress.Maximum = shopIdLst.Count;
+ _statusBar.pgbTaskProgress.Text = "0" + "/" + shopIdLst.Count;
+ }));
+ }
+
+ Task.Run(() =>
+ {
+ for (int i = 0; i < shopIdLst.Count; i++)
+ {
+ var shopId = shopIdLst[i];
+ var shop = GlobalConfig.ShopLoginList.FirstOrDefault(v => v.ShopId == shopId);
+
+ // 先从服务端取最新直通车cookie
+ var serverCampanys = ShopBLL.AdminGetServerShopLstByIds(new List() { shop.ShopId });
+ var serverShop = serverCampanys.FirstOrDefault();
+ if (shop != null && serverShop != null)
+ {
+ shop.ad_cookie = serverShop.ad_cookie;
+ }
+
+ if (shop != null)
+ {
+ var loginResult = getSellerCenter(shop);
+ if (!loginResult.Contains("\"success\":true"))
+ {
+ shop.ad_cookie = "empty=true;";
+ shop.ad_login_status = "离线";
+ }
+ else
+ {
+ shop.ad_login_status = "在线";
+ shop.ad_cookie = serverShop.ad_cookie;
+ }
+
+ StartUp.SaveLocalShopLoginInfo();
+ ShopListForm.UpdateServerShopAdsCookies(shop); // 店铺cookie写入服务端
+ }
+
+ if (_statusBar != null)
+ {
+ MainForm.instance.Invoke(new Action(() =>
+ {
+ _statusBar.lblTaskStatus.Text = "正在检测...";
+ _statusBar.pgbTaskProgress.Value = (i + 1);
+ _statusBar.pgbTaskProgress.Text = (i + 1) + "/" + shopIdLst.Count;
+ }));
+ }
+ }
+
+ if (_pbLoading != null)
+ {
+ MainForm.instance.Invoke(new Action(() =>
+ {
+ _pbLoading.Visible = false;
+ }));
+ }
+ if (_statusBar != null)
+ {
+ MainForm.instance.Invoke(new Action(() =>
+ {
+ _statusBar.lblTaskStatus.Text = "检测完毕";
+ }));
+ }
+ });
+ }
+
public static string GetShopStatus(ShopLoginInfo shop)
{
string url = "https://seller.kuajingmaihuo.com/bg/quiet/api/mms/userInfo";
@@ -684,6 +803,20 @@ namespace TemuKJD.KJDForms.ShopForms
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
}
+ ///
+ /// 获取直通车登录状态
+ ///
+ ///
+ ///
+ public static string getSellerCenter(ShopLoginInfo shop)
+ {
+ string url = "https://ads.temu.com/api/v1/coconut/account/get_seller_center";
+ string body = "{}";
+ string refere = shop.ad_url;
+
+ return HttpResponseBLL.PostResponseAds(shop, url, body, refere);
+ }
+
private void ShopListForm_VisibleChanged(object sender, EventArgs e)
{
if (this.Visible == true)
@@ -846,6 +979,7 @@ namespace TemuKJD.KJDForms.ShopForms
{
ShopLoginForm shopLoginForm = new ShopLoginForm(shop);
shopLoginForm.openType = EnumOpenType.login;
+ shopLoginForm.IsAdsLogin = this.chkLoginAds.Checked;
shopLoginForm.SaveComplete += shopLoginForm_SaveComplete;
shopLoginForm.ShowDialog();
btnRefreshCookie_Click(null, null);
diff --git a/TEMUKJD/KJDForms/ShopForms/ShopLoginForm.Designer.cs b/TEMUKJD/KJDForms/ShopForms/ShopLoginForm.Designer.cs
index ec1caf9..ba0a059 100644
--- a/TEMUKJD/KJDForms/ShopForms/ShopLoginForm.Designer.cs
+++ b/TEMUKJD/KJDForms/ShopForms/ShopLoginForm.Designer.cs
@@ -83,7 +83,7 @@
this.splitContainer1.Panel2.Controls.Add(this.btnReload);
this.splitContainer1.Panel2.Controls.Add(this.chkCloseAfterLogin);
this.splitContainer1.Size = new System.Drawing.Size(1438, 736);
- this.splitContainer1.SplitterDistance = 674;
+ this.splitContainer1.SplitterDistance = 675;
this.splitContainer1.SplitterWidth = 3;
this.splitContainer1.TabIndex = 4;
//
@@ -345,6 +345,7 @@
this.txtAddress.Name = "txtAddress";
this.txtAddress.Size = new System.Drawing.Size(1432, 23);
this.txtAddress.TabIndex = 7;
+ this.txtAddress.TextChanged += new System.EventHandler(this.txtAddress_TextChanged);
this.txtAddress.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtAddress_KeyDown);
//
// ShopLoginForm
diff --git a/TEMUKJD/KJDForms/ShopForms/ShopLoginForm.cs b/TEMUKJD/KJDForms/ShopForms/ShopLoginForm.cs
index 2af57e4..8d901d8 100644
--- a/TEMUKJD/KJDForms/ShopForms/ShopLoginForm.cs
+++ b/TEMUKJD/KJDForms/ShopForms/ShopLoginForm.cs
@@ -33,18 +33,24 @@ namespace TemuKJD.KJDForms.ShopForms
{
login,
manage,
+ ads, // 广告登录
}
public partial class ShopLoginForm : LRBaseForm
{
public static ShopLoginForm shopLoginInstance { get; set; } = null;
public int CloseAfterSecond { get; set; }
+ ///
+ /// 推广直通车登录
+ ///
+ public bool IsAdsLogin { get; set; } = false;
public EnumOpenType openType = EnumOpenType.manage;
public bool isMultiLogin = false;
public string MultiLoginCookieName = "";
public string InitUrl = "";
private string shopCookieHead = "kuajingmaihuo.com";
private string shopCookieHead2 = "temu.com";
+ private string shopCookieHead3 = "ads.temu.com";
private string shopLoginUrl = "http://seller.kuajingmaihuo.com/login";
private string shopMainUrl = "https://seller.kuajingmaihuo.com";
private string shopMainUrl2 = "https://agentseller.temu.com";
@@ -222,10 +228,29 @@ namespace TemuKJD.KJDForms.ShopForms
else
{
var cookie2 = shop.Cookies2;
+ //var cookie2Lst = cookie2.Split(new string[] { ";", " " }, StringSplitOptions.RemoveEmptyEntries);
+ //cookie2 = "";
+ //foreach (var item in cookie2Lst)
+ //{
+ // if (item.StartsWith("mallid="))
+ // cookie2 += "mallid=" + shop.ShopId + ";";
+ // else
+ // cookie2 += item + ";";
+ //}
var t = CEFBrowser.SetCookieAsync(shopCookieHead2, cookie2, cefWebBrowser.GetCookieManager(null));
t.Wait(5000);
cefWebBrowser.Load("https://agentseller.temu.com");
}
+
+ Thread.Sleep(500);
+ if (!string.IsNullOrEmpty(shop.ShopId))
+ {
+ var storageJsCode = "window.localStorage.setItem('" + "mall-info-id" + "', '" + shop.ShopId + "');\r\n";
+ storageJsCode += "window.localStorage.setItem('" + "agentseller-mall-info-id" + "', '" + shop.ShopId + "');\r\n";
+ while (!cefWebBrowser.IsBrowserInitialized || !cefWebBrowser.GetBrowser().MainFrame.IsValid || cefWebBrowser.IsLoading)
+ Thread.Sleep(20);
+ cefWebBrowser.GetBrowser().MainFrame.ExecuteJavaScriptAsync(storageJsCode);
+ }
}
@@ -299,14 +324,106 @@ namespace TemuKJD.KJDForms.ShopForms
}
StartUp.SaveLocalShopLoginInfo(); // 店铺保存到本地
ShopListForm.UpdateServerShopCookies(shop); // 店铺cookie写入服务端,多店共用一个登录账号一组cookie
+ if (!IsAdsLogin)
+ {
+ OnSaveComplete(shop);
+ if (this.Created && this.chkCloseAfterLogin.Checked)
+ Invoke(new Action(() => { this.Close(); }));
+ else
+ break;
+ }
+ }
+
+
+ if (IsAdsLogin && !string.IsNullOrEmpty(shop.ad_seller_unique_id) && 1==2)
+ {
+ var obtainCodeRst = ShopListForm.GetObtainCode(shop);
+ var obtainCode = BaseRegex.GetStringJson(ref obtainCodeRst, "code");
+ //https://ads.temu.com/login.html?
+ //redirectUrl=https%3A%2F%2Fads.temu.com%2Findex.html%3FadAreaOverride%3D2&userType=1&mallType=0
+ //&ticket=Zjze2NHyZFaGP88ROyjN19a47ae59611391a296ae6403bbbfa39e9046ceba744aafe8227fd6
+ //&adSellerUniqueId=eyJ1IjoiTVF3NFRGVmN2ZUVyZG1USDdOQ2o5dz09IiwidiI6MX0%3D&source=2&seller_source=11&adAreaOverride=2
+ string url = "https://ads.temu.com/login.html?" +
+ "redirectUrl=https%3A%2F%2Fads.temu.com%2Findex.html%3FadAreaOverride%3D2&userType=1&mallType=0&ticket=" + obtainCode +
+ "&adSellerUniqueId=" + shop.ad_seller_unique_id + "&source=2&seller_source=11&adAreaOverride=2";
+ cefWebBrowser.Load(url);
+ }
+ else if (IsAdsLogin)
+ {
+ cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(sGetElementWithText);
+
+ //点击商品推广按钮
+ var adsJsStr = "window.scrollTo(0, document.body.scrollHeight);";
+ var adsResponse = cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(adsJsStr);
+ adsResponse.Wait(1000);
+ Thread.Sleep(Randomx.GetId(500, 1000));
+
+ adsJsStr = "var clickItem = getElementWithText('商品推广'); " +
+ "clickItem.click()";
+ adsResponse = cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(adsJsStr);
+ adsResponse.Wait(1000);
+ Thread.Sleep(Randomx.GetId(500, 1000));
+
+ // 模拟人为点击一次,否则窗口不跳转
+ var host = cefWebBrowser.GetBrowser().GetHost();
+ int x = Randomx.GetId(50, 200);
+ int y = Randomx.GetId(1, 10);
+ // 按下鼠标左键
+ host.SendMouseClickEvent(x, y, MouseButtonType.Left, false, 1, CefEventFlags.None);
+ Thread.Sleep(50 + Randomx.GetId(200));
+ host.SendMouseClickEvent(x, y, MouseButtonType.Left, true, 1, CefEventFlags.None);
+ Thread.Sleep(Randomx.GetId(100, 500));
+
+ //点击确认授权并前往按钮
+ adsJsStr = "var clickItem = getElementWithText('确认授权并前往'); " +
+ "clickItem.parentElement.click();";
+ adsResponse = cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(adsJsStr);
+ adsResponse.Wait(1000);
+ Thread.Sleep(Randomx.GetId(300, 800));
+ }
+ }
+
+ if (1 == 1 && this.shop != null && currentUrl.StartsWith("https://ads.temu.com/index.html?adAreaOverride="))
+ {
+ if (!cefWebBrowser.GetBrowser().MainFrame.IsValid)
+ continue;
+
+ if (openType != EnumOpenType.login)
+ continue;
+
+ if (!lstShopCompany.Any(c => c.AccountId == shop.ShopId))
+ continue;
+
+ shop.ad_url = txtAddress.Text;
+ string cookiesAds = "";
+ List cookieAdsList = CEFBrowser.GetCookieList("ads.temu.com", cefWebBrowser.GetCookieManager(null));
+ if (cookieAdsList != null && cookieAdsList.Count > 0)
+ {
+ for (int i = 0; i < cookieAdsList.Count; i++)
+ {
+ var cookie = cookieAdsList[i];
+ cookiesAds += cookie.Name + "=" + cookie.Value + "; ";
+ }
+ cookiesAds = cookiesAds.Trim().TrimEnd(';');
+ }
+
+ if (!string.IsNullOrEmpty(cookiesAds))
+ {
+ shop.ad_login_status = "在线";
+ shop.ad_cookie = cookiesAds;
+ StartUp.SaveLocalShopLoginInfo(); // 店铺保存到本地
+ ShopListForm.UpdateServerShopAdsCookies(shop); // 店铺cookie写入服务端,多店共用一个登录账号一组cookie
OnSaveComplete(shop);
if (this.Created && this.chkCloseAfterLogin.Checked)
{
Invoke(new Action(() => { this.Close(); }));
}
else
+ {
break;
+ }
}
+
}
}
});
@@ -443,6 +560,14 @@ namespace TemuKJD.KJDForms.ShopForms
t2.Wait(5000);
}
+ if (this.openType == EnumOpenType.ads)
+ {
+ var cookieAds = shop.ad_cookie;
+ var t2 = CEFBrowser.SetCookieAsync(shopCookieHead3, cookieAds, cefWebBrowser.GetCookieManager(null));
+ t2.Wait(5000);
+ cefWebBrowser.Load(InitUrl);
+ }
+
//根据登录的具体店铺设置local storage
if (!string.IsNullOrEmpty(shop.ShopId))
{
@@ -510,11 +635,13 @@ namespace TemuKJD.KJDForms.ShopForms
private void CefWebBrowser_AddressChanged(object sender, CefSharp.AddressChangedEventArgs e)
{
if (this.Created)
+ {
Invoke(new Action(() =>
{
currentUrl = e.Address;
txtAddress.Text = e.Address;
}));
+ }
}
private void CefWebBrowser_FrameLoadEnd(object sender, CefSharp.FrameLoadEndEventArgs e)
@@ -1102,5 +1229,14 @@ function getElementWithText(sText)
ReturnPackageDetailForm form = new ReturnPackageDetailForm(this.shop);
form.ShowDialog();
}
+
+ private void txtAddress_TextChanged(object sender, EventArgs e)
+ {
+ if (txtAddress.Text.Contains("&adSellerUniqueId="))
+ {
+ string address = txtAddress.Text.Trim();
+ shop.ad_seller_unique_id = BaseRegex.GetStringQuery(ref address, "adSellerUniqueId");
+ }
+ }
}
}
diff --git a/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsForm.cs b/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsForm.cs
index 47e5c3d..17120e7 100644
--- a/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsForm.cs
+++ b/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsForm.cs
@@ -627,13 +627,14 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics
}
//---------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------
+ //kjd库,获取商品进货价
var purchasePriceList = GetPurchasePrice(subOrderInfoLstTmp.Select(o => o.productId.ParseToString()).ToList());
- foreach (var pPrice in purchasePriceList)
- {
- pPrice.dbSkuPurchasePriceList = JsonHelper.DeserializeJsonToList(pPrice.sku_purchase_price_json);
- if (pPrice.dbSkuPurchasePriceList == null)
- pPrice.dbSkuPurchasePriceList = new List();
- }
+ //foreach (var pPrice in purchasePriceList)
+ //{
+ // pPrice.dbSkuPurchasePriceList = JsonHelper.DeserializeJsonToList(pPrice.sku_purchase_price_json);
+ // if (pPrice.dbSkuPurchasePriceList == null)
+ // pPrice.dbSkuPurchasePriceList = new List();
+ //}
foreach (var purchasePrice in purchasePriceList)
{
var order = subOrderInfoLstTmp.FirstOrDefault(o => o.productId.ParseToString() == purchasePrice.spu_id);
@@ -874,7 +875,19 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics
if (jArr.Count() == 0)
return list;
- return JsonHelper.DeserializeJsonToList(jArr.ToString());
+ list = JsonHelper.DeserializeJsonToList(jArr.ToString());
+ foreach (var pPrice in list)
+ {
+ pPrice.dbSkuPurchasePriceList = JsonHelper.DeserializeJsonToList(pPrice.sku_purchase_price_json);
+ if (pPrice.dbSkuPurchasePriceList == null)
+ pPrice.dbSkuPurchasePriceList = new List();
+ else
+ {
+ pPrice.price_text = "¥" + (pPrice.dbSkuPurchasePriceList.Min(s => s.purchasePriceValue) * 0.01).ParseToDecimal().ToString("0.00") + "~"
+ + "¥" + (pPrice.dbSkuPurchasePriceList.Max(s => s.purchasePriceValue) * 0.01).ParseToDecimal().ToString("0.00");
+ }
+ }
+ return list;
}
private void btnSetColumn_Click(object sender, EventArgs e)
diff --git a/TEMUKJD/StartUp.cs b/TEMUKJD/StartUp.cs
index 4c7734b..938c956 100644
--- a/TEMUKJD/StartUp.cs
+++ b/TEMUKJD/StartUp.cs
@@ -137,9 +137,9 @@ namespace TemuKJD
}
#endif
#if DEBUG
- for (int i = 0; i < 3600; i++)
+ for (int i = 0; i < 360; i++)
{
- Thread.Sleep(1000);
+ Thread.Sleep(10000);
}
#else
Thread.Sleep(1000 * 3600);