From cd0e96918bb4ca5d1d9a57cbaf1e469d63e4c861 Mon Sep 17 00:00:00 2001 From: wule Date: Sun, 5 Apr 2026 14:52:49 +0800 Subject: [PATCH] =?UTF-8?q?sku=E6=96=87=E5=AD=97=E7=89=B9=E6=95=88?= =?UTF-8?q?=E5=B0=9D=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AllBase/BaseClass.cs | 2 +- AllBase/Helper/GlobalConfig.cs | 4 + AllBase/Model/Result/KJDDBProduct.cs | 2 +- .../BLL/BXX/BXXProductManage.cs | 44 +- .../KJD_WebService/BLL/BXX/BXXShopManage.cs | 264 +++++++++++ .../KJD_WebService/BLL/KJD/ToolManage.cs | 188 ++++---- .../BLL/WXXD/WXProductManage.cs | 58 +++ .../Model/DBProductResultParam.cs | 2 +- .../KJD_WebService/Upload/Prod/WXProd.aspx.cs | 2 +- .../KJD_WebService/WXProductService.asmx.cs | 13 + TEMUKJD/BLL/Pdd/PddApiHelper.cs | 2 +- TEMUKJD/KJD.csproj | 17 +- .../PDDDBProdEditDetailForm.Designer.cs | 203 +++++---- .../PDDDBProdEditDetailForm.cs | 1 + .../PDDDBProdEditDetailForm.resx | 3 + .../PDDDBProdImgListForm.Designer.cs | 248 ++++++++-- .../PDDDBProdImgListForm.cs | 147 +++++- .../PDDDBProdImgListForm.resx | 3 + .../ProductSelectForms/PDDDBProdListForm.cs | 44 +- .../PDDDBProdUserSelectForm.Designer.cs | 177 +++++--- .../PDDDBProdUserSelectForm.cs | 429 ++++++++++++++++-- TEMUKJD/Properties/Resources.Designer.cs | 14 +- TEMUKJD/Properties/Resources.resx | 7 +- TEMUKJD/Resources/{qingxu.jpg => qingqu.jpg} | Bin TEMUKJD/Resources/up_spec_text.png | Bin 0 -> 32469 bytes .../ProductForms/WXDBProdUploadForm.cs | 135 ++---- .../WXUserProdListForm.Designer.cs | 120 +++-- .../ProductForms/WXUserProdListForm.cs | 8 + 28 files changed, 1587 insertions(+), 550 deletions(-) rename TEMUKJD/Resources/{qingxu.jpg => qingqu.jpg} (100%) create mode 100644 TEMUKJD/Resources/up_spec_text.png diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs index 84c613c..2b63d17 100644 --- a/AllBase/BaseClass.cs +++ b/AllBase/BaseClass.cs @@ -27,7 +27,7 @@ namespace AllBase /// /// 版本ID /// - public static int VersionCount = 955; + public static int VersionCount = 957; //public static int VersionCount = 613; /// diff --git a/AllBase/Helper/GlobalConfig.cs b/AllBase/Helper/GlobalConfig.cs index a67c3ba..d4bbdfd 100644 --- a/AllBase/Helper/GlobalConfig.cs +++ b/AllBase/Helper/GlobalConfig.cs @@ -19,6 +19,10 @@ namespace AllBase.Helper /// 店铺列表 /// public static ConcurrentList ShopLoginList { get; set; } = new ConcurrentList(); + /// + /// 微店店铺列表 + /// + public static ConcurrentList WeiDianShopLoginList { get; set; } = new ConcurrentList(); public static ConcurrentList WxTokenList { get; set; } = new ConcurrentList(); public static ConcurrentList WxCatList { get; set; } = new ConcurrentList(); diff --git a/AllBase/Model/Result/KJDDBProduct.cs b/AllBase/Model/Result/KJDDBProduct.cs index 93a9634..9cdf1df 100644 --- a/AllBase/Model/Result/KJDDBProduct.cs +++ b/AllBase/Model/Result/KJDDBProduct.cs @@ -95,7 +95,7 @@ namespace AllBase.Model.Result public int? send_to_out_server { get; set; } - public string standby3 { get; set; } + public string problem_prod_data { get; set; } /// /// 是否有完善后的微信回采商品数据(详情存在微信回采数据表内) diff --git a/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs b/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs index d886c0f..39155b8 100644 --- a/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs +++ b/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs @@ -148,7 +148,7 @@ namespace KJD_Web.BLL.BXX string sku_edit_json = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sku_edit_json"))?.Replace("'", "\\'"); string sku_secret_json = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sku_secret_json"))?.Replace("'", "\\'"); string wx_img_map_json = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "wx_img_map_json"))?.Replace("'", "\\'"); - string standby3 = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "standby3"))?.Replace("'", "\\'"); + string problem_prod_data = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "problem_prod_data"))?.Replace("'", "\\'"); if (string.IsNullOrEmpty(user_name)) { @@ -224,8 +224,8 @@ namespace KJD_Web.BLL.BXX sql += " p.sku_secret_json=@sku_secret_json,"; if (wx_img_map_json != null) sql += " p.wx_img_map_json=@wx_img_map_json,"; - if (!standby3.IsNullOrEmpty()) - sql += " p.standby3=" + standby3 + ","; + if (!problem_prod_data.IsNullOrEmpty()) + sql += " p.problem_prod_data=" + problem_prod_data + ","; sql += " p.mdy_time='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',"; sql = sql.TrimEnd(','); sql += " where spu_id='" + spu_id + "';"; @@ -369,7 +369,7 @@ namespace KJD_Web.BLL.BXX var has_send_to_out_server = RegexUtils.GetStringQuery(ref inputData, "has_send_to_out_server")?.Replace("'", "\\'"); var real_coid = RegexUtils.GetStringQuery(ref inputData, "real_coid")?.Replace("'", "\\'"); var has_wx_format = RegexUtils.GetStringQuery(ref inputData, "has_wx_format")?.Replace("'", "\\'"); - var standby3 = RegexUtils.GetStringQuery(ref inputData, "standby3")?.Replace("'", "\\'"); + var problem_prod_data = RegexUtils.GetStringQuery(ref inputData, "problem_prod_data")?.Replace("'", "\\'"); var start_time = RegexUtils.GetStringQuery(ref inputData, "start_time")?.Replace("'", "\\'"); var end_time = RegexUtils.GetStringQuery(ref inputData, "end_time")?.Replace("'", "\\'"); @@ -473,12 +473,12 @@ namespace KJD_Web.BLL.BXX { where += " and has_wx_format='" + has_wx_format + "'"; } - if (!string.IsNullOrEmpty(standby3)) + if (!string.IsNullOrEmpty(problem_prod_data)) { - if (standby3.ToLower().Contains("is null")) - where += " and p.standby3 " + standby3; + if (problem_prod_data.ToLower().Contains("is null")) + where += " and p.problem_prod_data " + problem_prod_data; else - where += " and p.standby3='" + standby3 + "'"; + where += " and p.problem_prod_data='" + problem_prod_data + "'"; } if (start_time != null && end_time != null) { @@ -599,7 +599,7 @@ namespace KJD_Web.BLL.BXX prod.sku_img_replace_base64 = row["img_base64"].ToString(); //prod.sku_img_replace_url = row["img_url"].ToString(); prod.wx_img_map_json = row["wx_img_map_json"].ToString(); - standby3 = row["standby3"].IsNullOrEmpty() ? null : row["standby3"].ParseToString(); + problem_prod_data = row["problem_prod_data"].IsNullOrEmpty() ? null : row["problem_prod_data"].ParseToString(); if (!prod.sku_secret_json.IsNullOrEmpty() && prod.secret_spu_id.IsNullOrEmpty()) { @@ -1696,14 +1696,17 @@ namespace KJD_Web.BLL.BXX string user_name = RegexUtils.GetStringQuery(ref inputData, "user_name"); string img_md5 = RegexUtils.GetStringQuery(ref inputData, "img_md5"); string img_base64 = RegexUtils.GetStringQuery(ref inputData, "img_base64"); - string product_db_id = RegexUtils.GetStringQuery(ref inputData, "product_db_id"); + //string product_db_id = RegexUtils.GetStringQuery(ref inputData, "product_db_id"); + string img_url = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "img_url")); + string img_type = RegexUtils.GetStringQuery(ref inputData, "img_type")?.Replace("'", "\\'"); + string img_group = RegexUtils.GetStringQuery(ref inputData, "img_group")?.Replace("'", "\\'"); if (string.IsNullOrEmpty(user_name)) { return "{\"code\":500,\"msg\":\"没有用户名\"}"; } - int sku_img_replace_id = 0; + //int sku_img_replace_id = 0; string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; MysqlUtils mySql = new MysqlUtils(conn); string sql = ""; @@ -1713,19 +1716,20 @@ namespace KJD_Web.BLL.BXX var rst = mySql.ExecuteFirstInt(sql).ParseToLong(); if (rst <= 0) { - sql = "insert into bxx.sku_img_replace (img_md5,img_base64) " + - "values ('" + img_md5 + "','" + img_base64 + "');"; + sql = "insert into bxx.sku_img_replace (img_md5,img_base64,img_url,img_type,img_group) " + + "values ('" + img_md5 + "','" + img_base64 + "','" + img_url + "','" + img_type + "','" + img_group + "');"; rst = mySql.ExecuteInsertId(sql); } if (rst > 0) { - sku_img_replace_id = (int)rst; - sql = "update bxx.product set sku_img_replace_id= "+ sku_img_replace_id + " where id=" + product_db_id + ";"; + //sku_img_replace_id = (int)rst; + //sql = "update bxx.product set sku_img_replace_id= "+ sku_img_replace_id + " where id=" + product_db_id + ";"; - bRst = mySql.ExecuteNonQuery(sql); + //bRst = mySql.ExecuteNonQuery(sql); + bRst = true; } mySql.Close(); - if (bRst) + if (rst > 0 && bRst) { return "{\"code\":200,\"msg\":\"success\",\"sku_img_replace_id\":" + rst + "}"; } @@ -1783,6 +1787,8 @@ namespace KJD_Web.BLL.BXX string img_md5 = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "img_md5")); string img_base64 = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "img_base64")); string img_url = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "img_url")); + string img_type = RegexUtils.GetStringQuery(ref inputData, "img_type")?.Replace("'", "\\'"); + string img_group = RegexUtils.GetStringQuery(ref inputData, "img_group")?.Replace("'", "\\'"); if (string.IsNullOrEmpty(user_name)) { @@ -1798,6 +1804,10 @@ namespace KJD_Web.BLL.BXX sql += " img_base64='" + img_base64 + "',"; if (img_url != null) sql += " img_url='" + img_url + "',"; + if (img_type != null) + sql += " img_type='" + img_type + "',"; + if (img_group != null) + sql += " img_group='" + img_group + "',"; sql = sql.TrimEnd(','); sql += " where id=" + id + ";"; diff --git a/KJDService/KJD_WebService/BLL/BXX/BXXShopManage.cs b/KJDService/KJD_WebService/BLL/BXX/BXXShopManage.cs index 01115a1..f23a4d1 100644 --- a/KJDService/KJD_WebService/BLL/BXX/BXXShopManage.cs +++ b/KJDService/KJD_WebService/BLL/BXX/BXXShopManage.cs @@ -838,5 +838,269 @@ namespace KJD_Web.BLL.BXX } return "{\"code\":19999,\"msg\":\"输入为空\"}"; } + + + public string GetWeiDianShop(string inputData, bool isAdmin = false) + { + if (!string.IsNullOrEmpty(inputData)) + { + var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name"); + var password = RegexUtils.GetStringQuery(ref inputData, "password"); + var search_id = RegexUtils.GetStringQuery(ref inputData, "search_id"); + var search_user_name = RegexUtils.GetStringQuery(ref inputData, "search_user_name"); + var search_login_name = RegexUtils.GetStringQuery(ref inputData, "search_login_name"); + var search_notes = RegexUtils.GetStringQuery(ref inputData, "search_notes"); + var search_name = RegexUtils.GetStringQuery(ref inputData, "search_name"); + var operate_sub_sa_name = RegexUtils.GetStringQuery(ref inputData, "operate_sub_sa_name")?.Replace("'", "\\'"); + var shop_ids = RegexUtils.GetStringQuery(ref inputData, "shop_ids")?.Replace("'", ""); + if (!string.IsNullOrWhiteSpace(shop_ids)) + { + List shopIdLst = shop_ids.Split(',').ToList(); + shop_ids = "'" + string.Join("','", shopIdLst) + "'"; + } + var shop_names = RegexUtils.GetStringQuery(ref inputData, "shop_names"); + if (!string.IsNullOrWhiteSpace(shop_names)) + { + List shopNameLst = shop_names.Split(',').ToList(); + shop_names = "'" + string.Join("','", shopNameLst) + "'"; + } + var shop_notes = RegexUtils.GetStringQuery(ref inputData, "shop_notes"); + if (!string.IsNullOrWhiteSpace(shop_notes)) + { + List shopNotesLst = shop_notes.Split(',').ToList(); + shop_notes = "'" + string.Join("','", shopNotesLst) + "'"; + } + + var page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt(); + var page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(); + + if (page_size == 0) + page_size = 50; + int r2 = 0; + int.TryParse(RegexUtils.GetStringQuery(ref inputData, "r2"), out r2); + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + + string sql = "SELECT COUNT(s.id) FROM weidian.shop s WHERE 1=1"; + + //where子句 + string where = ""; + if (isAdmin) + where += " and (s.cookie='' or s.shop_id!='')"; + if (!isAdmin) + where += " and (s.user_name='" + user_name + "' or s.sub_user_name like '%" + user_name + "%')"; + if (!string.IsNullOrWhiteSpace(operate_sub_sa_name)) + where += " and s.operate_sub_sa_name='" + operate_sub_sa_name + "'"; + if (!string.IsNullOrWhiteSpace(search_user_name)) + where += " and s.user_name like '%" + search_user_name + "%'"; + if (!string.IsNullOrWhiteSpace(search_login_name)) + where += " and s.login_name like '%" + search_login_name + "%'"; + if (!string.IsNullOrWhiteSpace(search_notes)) + where += " and s.notes like '%" + search_notes + "%'"; + if (!string.IsNullOrWhiteSpace(search_id)) + where += " and s.shop_id like '%" + search_id + "%'"; + if (!string.IsNullOrWhiteSpace(search_name)) + where += " and s.shop_account like '%" + search_name + "%'"; + if (!string.IsNullOrWhiteSpace(shop_ids)) + where += " and s.shop_id in (" + shop_ids + ")"; + if (!string.IsNullOrWhiteSpace(shop_names)) + where += " and s.shop_account in (" + shop_names + ")"; + if (!string.IsNullOrWhiteSpace(shop_notes)) + where += " and s.notes in (" + shop_notes + ")"; + sql += where; + + var count = mySql.ExecuteRowCount(sql); + + DataTable dt; + if (count == 0) + { + dt = new DataTable(); + } + else + { + sql = "SELECT s.id,s.login_name,s.login_pass,s.cookie,s.cookie2,s.anti_contents,s.pddid,s.mall_id,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 weidian.shop s LEFT JOIN weidian.shop_add_prod_count c ON s.shop_id=c.shop_id WHERE 1=1"; + + sql += where; // where 子句 + + sql += " ORDER BY s.id DESC"; + sql += " LIMIT " + Math.Max(page - 1, 0) * page_size + "," + page_size; + dt = mySql.ExecuteDataTable(sql); + } + + mySql.Close(); + if (dt != null) + { + List shopList = new List(); + foreach (DataRow row in dt.Rows) + { + ShopParam shop = new ShopParam + { + id = Convert.ToInt32(row["id"]), + login_name = row["login_name"].ToString(), + login_pass = row["login_pass"].ToString(), + cookie = row["cookie"].ToString(), + cookie2 = row["cookie2"].ToString(), + anti_contents = row["anti_contents"].ToString(), + shop_id = row["shop_id"].ToString(), + shop_account = row["shop_account"].ToString(), + sub_user_name = row["sub_user_name"].ToString(), + user_name = row["user_name"].ToString(), + company_name = row["company_name"].ToString(), + notes = row["notes"].ToString(), + login_status = row["login_status"].ToString(), + 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"].ParseToString(), + pddid = row["pddid"].ParseToString(), + mall_id = row["mall_id"].ParseToString(), + }; + shopList.Add(shop); + } + + var data = JsonUtils.SerializeObjectToString(shopList); + return "{\"code\":200,\"msg\":\"success\",\"data\":" + data + ",\"count\":" + count + "}"; + } + } + return "{\"code\":19999,\"msg\":\"未知错误\"}"; + } + + public string AddWeiDianShop(string inputData, bool isAdmin = false) + { + if (!string.IsNullOrEmpty(inputData)) + { + string user_name = RegexUtils.GetStringQuery(ref inputData, "user_name"); + if (isAdmin) + user_name = RegexUtils.GetStringQuery(ref inputData, "shop_user_name"); + string login_name = RegexUtils.GetStringQuery(ref inputData, "login_name"); + string login_pass = RegexUtils.GetStringQuery(ref inputData, "login_pass"); + string sub_user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sub_user_name")); + string cookie = RegexUtils.GetStringQuery(ref inputData, "cookie"); + string cookie2 = RegexUtils.GetStringQuery(ref inputData, "cookie2"); + string anti_contents = RegexUtils.GetStringQuery(ref inputData, "anti_contents"); + string shop_id = RegexUtils.GetStringQuery(ref inputData, "shop_id"); + string mall_id = RegexUtils.GetStringQuery(ref inputData, "mall_id"); + string shop_account = RegexUtils.GetStringQuery(ref inputData, "shop_account"); + string group_name = RegexUtils.GetStringQuery(ref inputData, "group_name"); + string notes = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "notes")); + int r2 = 0; + int.TryParse(RegexUtils.GetStringQuery(ref inputData, "r2"), out r2); + + if (string.IsNullOrEmpty(user_name)) + { + return "{\"code\":500,\"msg\":\"没有用户名\"}"; + } + if (string.IsNullOrEmpty(login_name)) + { + return "{\"code\":501,\"msg\":\"没有店铺登录名\"}"; + } + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + string sql = ""; + if (string.IsNullOrEmpty(shop_id)) + sql = "select exists (select 1 from weidian.shop where login_name='" + login_name + "' and user_name='" + user_name + "')"; + else + sql = "select exists (select 1 from weidian.shop where login_name='" + login_name + "' and user_name='" + user_name + + "' and shop_id='" + shop_id + "')"; + var exist = mySql.ExecuteFirstInt(sql); + if (exist > 0) + { + mySql.Close(); + return "{\"code\":500,\"msg\":\"店铺" + login_name + " " + shop_account + "已存在\"}"; + } + + sql = "insert into weidian.shop (login_name,login_pass,cookie,cookie2,anti_contents,shop_account,shop_id," + + "mall_id,sub_user_name,user_name,group_name,notes,add_time,mdy_time) " + + "values ('" + login_name + "','" + login_pass + "','" + cookie + "','" + cookie2 + "','" + anti_contents + "','" + shop_account + "','" + shop_id + + "','" + mall_id + "','" + sub_user_name + "','" + user_name + "','" + group_name + "','" + notes + "','" + + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','" + + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "');"; + var rst = mySql.ExecuteNonQuery(sql); + mySql.Close(); + if (rst) + { + return "{\"code\":200,\"msg\":\"success\"}"; + } + } + return "{\"code\":19999,\"msg\":\"未知错误\"}"; + } + + public string MdyWeiDianShop(string inputData, bool isAdmin = false) + { + if (!string.IsNullOrEmpty(inputData)) + { + string user_name = RegexUtils.GetStringQuery(ref inputData, "user_name"); + if (isAdmin) + user_name = RegexUtils.GetStringQuery(ref inputData, "shop_user_name"); + string login_name = RegexUtils.GetStringQuery(ref inputData, "login_name"); + string login_pass = RegexUtils.GetStringQuery(ref inputData, "login_pass"); + string sub_user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sub_user_name")); + string cookie = RegexUtils.GetStringQuery(ref inputData, "cookie"); + string cookie2 = RegexUtils.GetStringQuery(ref inputData, "cookie2"); + string anti_contents = RegexUtils.GetStringQuery(ref inputData, "anti_contents"); + string new_shop_id = RegexUtils.GetStringQuery(ref inputData, "new_shop_id"); + string old_shop_id = RegexUtils.GetStringQuery(ref inputData, "shop_id"); + string mall_id = RegexUtils.GetStringQuery(ref inputData, "mall_id"); + string shop_account = RegexUtils.GetStringQuery(ref inputData, "shop_account"); + string group_name = RegexUtils.GetStringQuery(ref inputData, "group_name"); + string notes = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "notes")); + string login_status = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "login_status")); + + int r2 = 0; + int.TryParse(RegexUtils.GetStringQuery(ref inputData, "r2"), out r2); + + if (string.IsNullOrEmpty(user_name)) + { + return "{\"code\":500,\"msg\":\"没有用户名\"}"; + } + if (string.IsNullOrEmpty(login_name)) + { + return "{\"code\":501,\"msg\":\"没有店铺登录名\"}"; + } + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + string sql = "update weidian.shop set"; + if (login_pass != null) + sql += " login_pass='" + login_pass + "',"; + if (cookie != null) + sql += " cookie='" + cookie + "',"; + if (cookie2 != null) + sql += " cookie2='" + cookie2 + "',"; + if (anti_contents != null) + sql += " anti_contents='" + anti_contents + "',"; + if (new_shop_id != null) + sql += " shop_id='" + new_shop_id + "',"; + if (mall_id != null) + sql += " mall_id='" + mall_id + "',"; + if (shop_account != null) + sql += " shop_account='" + shop_account + "',"; + if (sub_user_name != null) + sql += " sub_user_name='" + sub_user_name + "',"; + if (group_name != null) + sql += " group_name='" + group_name + "',"; + if (notes != null) + sql += " notes='" + notes + "',"; + if (login_status != null) + sql += " login_status='" + login_status + "',"; + sql = sql.TrimEnd(','); + sql += " where login_name='" + login_name + "' and (user_name='" + user_name + "' or sub_user_name like '%" + user_name + "%')"; + if (!string.IsNullOrEmpty(old_shop_id)) + sql += " and shop_id='" + old_shop_id + "'"; + + var rst = mySql.ExecuteNonQuery(sql); + mySql.Close(); + if (rst) + { + return "{\"code\":200,\"msg\":\"success\"}"; + } + } + return "{\"code\":19999,\"msg\":\"未知错误\"}"; + } } } \ No newline at end of file diff --git a/KJDService/KJD_WebService/BLL/KJD/ToolManage.cs b/KJDService/KJD_WebService/BLL/KJD/ToolManage.cs index efa41f7..e52e79f 100644 --- a/KJDService/KJD_WebService/BLL/KJD/ToolManage.cs +++ b/KJDService/KJD_WebService/BLL/KJD/ToolManage.cs @@ -34,26 +34,28 @@ namespace KJD_Web.BLL public void CreateTable() { -// string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; -// MysqlUtils mySql = new MysqlUtils(conn); -// string sql = ""; -// for (int i = 0; i < 1024; i++) -// { -// sql = @"drop table if exists wxxd_product_shop_map.product_shop_map_" + i.ParseToString().PadLeft(4, '0') + ";\r\n"; -// sql += @" -//CREATE TABLE wxxd_product_shop_map.product_shop_map_" + i.ParseToString().PadLeft(4, '0') + @" ( -// `id` int NOT NULL AUTO_INCREMENT, -// `up_secret_spu_id` varchar(50) NOT NULL COMMENT '加密源商品id信息,此字段为分表依据,对应商品货号字段', -// `up_spu_id` varchar(50) NOT NULL COMMENT '源商品id信息', -// `shop_id` varchar(50) NOT NULL COMMENT '上传到的店铺id', -// `add_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, -// PRIMARY KEY(`id`), -// KEY `index_add_time` (`add_time`) USING BTREE, -// KEY `index_up_secret_spu_id_shop_id` (`up_secret_spu_id`, `shop_id`) USING BTREE -//) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '记录微信商品上传到哪些店铺的信息'"; -// var rst = mySql.ExecuteNonQuery(sql); -// } -// mySql.Close(); + //string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + //MysqlUtils mySql = new MysqlUtils(conn); + //string sql = ""; + //for (int i = 0; i < 1024; i++) + //{ + // sql = @"drop table if exists wxxd_product_up_map.product_up_map_" + i.ParseToString().PadLeft(4, '0') + ";\r\n"; + // sql += @" + //CREATE TABLE wxxd_product_up_map.product_up_map_" + i.ParseToString().PadLeft(4, '0') + @" ( + // `id` int NOT NULL AUTO_INCREMENT, + // `up_secret_spu_id` varchar(50) NOT NULL COMMENT '加密源商品id信息,此字段为分表依据,对应商品货号字段', + // `up_spu_id` varchar(50) NOT NULL COMMENT '源商品id信息', + // `shop_id` varchar(50) NOT NULL COMMENT '上传到的店铺id', + // `price_min` int NOT NULL COMMENT '最低价', + // `price_max` int NOT NULL COMMENT '最高价', + // `add_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + // PRIMARY KEY(`id`), + // KEY `index_add_time` (`add_time`) USING BTREE, + // KEY `index_up_secret_spu_id_shop_id` (`up_secret_spu_id`, `shop_id`) USING BTREE + //) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '记录微信商品上传到哪些店铺的信息'"; + // var rst = mySql.ExecuteNonQuery(sql); + //} + //mySql.Close(); // string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; @@ -112,83 +114,83 @@ namespace KJD_Web.BLL //string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; //MysqlUtils mySql = new MysqlUtils(conn); //string sql = ""; -// for (int i = 1; i <= 12; i++) -// { + // for (int i = 1; i <= 12; i++) + // { -// //sql = @"drop table if exists kjd_order.order_code_" + i + ";\r\n"; -// sql = @"CREATE TABLE IF NOT EXISTS kjd_order.order_2026" + i.ToString("D2") + @" ( -// `id` int NOT NULL AUTO_INCREMENT, -// `supplierId` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '店铺Id', -// `supplierName` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '店铺名称', -// `originalPurchaseOrderSn` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '备母货单号', -// `subPurchaseOrderSn` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '备货单号', -// `productName` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, -// `category` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, -// `productId` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '商品编号', -// `upProductId` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '上家编号', -// `productSkcId` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, -// `productSkcPicture` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主图', -// `productSn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '货号', -// `status` int NOT NULL COMMENT '状态 1待发货 2已送货 7已入库 8已作废', -// `productSkuId` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, -// `extCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'sku货号', -// `className` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'sku规格', -// `currencyType` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, -// `supplierPrice` int NOT NULL COMMENT '申报价格', -// `costPrice` int DEFAULT NULL COMMENT '成本价', -// `deliveryFee` int DEFAULT NULL COMMENT '车队费', -// `markFee` int DEFAULT NULL COMMENT '贴标费', -// `purchaseQuantity` int NOT NULL COMMENT '备货件数', -// `deliverQuantity` int NOT NULL COMMENT '送货件数', -// `realReceiveAuthenticQuantity` int NOT NULL COMMENT '入库件数', -// `availableSaleDays` decimal(10, 0) DEFAULT NULL COMMENT '可售天数', -// `qcResult` int DEFAULT NULL COMMENT '抽检结果 1合格 2不合格', -// `thumbUrlList` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'sku图片', -// `purchaseTime` bigint NOT NULL COMMENT '备货单创建时间', -// `deliverTime` bigint DEFAULT NULL COMMENT '发货时间', -// `receiveTime` bigint DEFAULT NULL COMMENT '收货时间', -// `expectLatestDeliverTimeOrDefault` bigint NOT NULL COMMENT '最迟发货时间', -// `expectLatestArrivalTimeOrDefault` bigint NOT NULL COMMENT '最迟到货时间', -// `deliveryOrderSn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '发货单号', -// `receiveWarehouseId` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '实际收货仓库Id', -// `receiveWarehouseName` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '实际收货仓库', -// `warehouseGroupId` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '仓组Id', -// `jiaTongCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '佳同码', -// `barCodeMd5` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '商品条码MD5', -// `shippingMarkMd5` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '箱唛文件MD5', -// `notes` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注', -// `upLoadStatus` int NOT NULL DEFAULT '0' COMMENT '是否上传订单(上传后扣除用户授权金额,产生扣费记录)', -// `add_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, -// `mdy_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -// PRIMARY KEY (`id`), -// UNIQUE KEY `index_subPurchaseOrderSn` (`subPurchaseOrderSn`) USING BTREE -//) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '订单推送表'"; + // //sql = @"drop table if exists kjd_order.order_code_" + i + ";\r\n"; + // sql = @"CREATE TABLE IF NOT EXISTS kjd_order.order_2026" + i.ToString("D2") + @" ( + // `id` int NOT NULL AUTO_INCREMENT, + // `supplierId` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '店铺Id', + // `supplierName` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '店铺名称', + // `originalPurchaseOrderSn` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '备母货单号', + // `subPurchaseOrderSn` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '备货单号', + // `productName` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + // `category` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + // `productId` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '商品编号', + // `upProductId` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '上家编号', + // `productSkcId` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + // `productSkcPicture` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主图', + // `productSn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '货号', + // `status` int NOT NULL COMMENT '状态 1待发货 2已送货 7已入库 8已作废', + // `productSkuId` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + // `extCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'sku货号', + // `className` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT 'sku规格', + // `currencyType` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + // `supplierPrice` int NOT NULL COMMENT '申报价格', + // `costPrice` int DEFAULT NULL COMMENT '成本价', + // `deliveryFee` int DEFAULT NULL COMMENT '车队费', + // `markFee` int DEFAULT NULL COMMENT '贴标费', + // `purchaseQuantity` int NOT NULL COMMENT '备货件数', + // `deliverQuantity` int NOT NULL COMMENT '送货件数', + // `realReceiveAuthenticQuantity` int NOT NULL COMMENT '入库件数', + // `availableSaleDays` decimal(10, 0) DEFAULT NULL COMMENT '可售天数', + // `qcResult` int DEFAULT NULL COMMENT '抽检结果 1合格 2不合格', + // `thumbUrlList` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT 'sku图片', + // `purchaseTime` bigint NOT NULL COMMENT '备货单创建时间', + // `deliverTime` bigint DEFAULT NULL COMMENT '发货时间', + // `receiveTime` bigint DEFAULT NULL COMMENT '收货时间', + // `expectLatestDeliverTimeOrDefault` bigint NOT NULL COMMENT '最迟发货时间', + // `expectLatestArrivalTimeOrDefault` bigint NOT NULL COMMENT '最迟到货时间', + // `deliveryOrderSn` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '发货单号', + // `receiveWarehouseId` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '实际收货仓库Id', + // `receiveWarehouseName` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '实际收货仓库', + // `warehouseGroupId` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '仓组Id', + // `jiaTongCode` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '佳同码', + // `barCodeMd5` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '商品条码MD5', + // `shippingMarkMd5` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '箱唛文件MD5', + // `notes` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '备注', + // `upLoadStatus` int NOT NULL DEFAULT '0' COMMENT '是否上传订单(上传后扣除用户授权金额,产生扣费记录)', + // `add_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + // `mdy_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + // PRIMARY KEY (`id`), + // UNIQUE KEY `index_subPurchaseOrderSn` (`subPurchaseOrderSn`) USING BTREE + //) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '订单推送表'"; -// //sql = @"drop table if exists kjd_order.order_code_" + i + ";\r\n"; -// sql = @"CREATE TABLE IF NOT EXISTS kjd_order.order_code_2026" + i.ToString("D2") + @" ( -// `id` int unsigned NOT NULL AUTO_INCREMENT, -// `supplierId` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, -// `fileCodeMd5` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, -// `fileCodeBase64` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, -// `add_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, -// `mdy_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -// PRIMARY KEY (`id`), -// UNIQUE KEY `index_fileCodeMd5` (`fileCodeMd5`) USING BTREE -//) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci"; + // //sql = @"drop table if exists kjd_order.order_code_" + i + ";\r\n"; + // sql = @"CREATE TABLE IF NOT EXISTS kjd_order.order_code_2026" + i.ToString("D2") + @" ( + // `id` int unsigned NOT NULL AUTO_INCREMENT, + // `supplierId` varchar(25) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + // `fileCodeMd5` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + // `fileCodeBase64` longtext CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL, + // `add_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP, + // `mdy_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + // PRIMARY KEY (`id`), + // UNIQUE KEY `index_fileCodeMd5` (`fileCodeMd5`) USING BTREE + //) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE = utf8mb4_general_ci"; -// // sql = "ALTER TABLE\r\n kjd_order.order_" + i + "\r\nADD\r\n COLUMN `upLoadStatus` int NOT NULL DEFAULT 0 COMMENT '是否上传订单(上传后扣除用户授权金额,产生扣费记录)',\r\nMODIFY\r\n COLUMN `add_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP\r\nAFTER\r\n `upLoadStatus`,\r\nMODIFY\r\n COLUMN `mdy_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP\r\nAFTER\r\n `add_time`"; -// // sql = "ALTER TABLE\r\n kjd_order.order_" + i + "\r\nADD\r\n COLUMN `extCode` varchar (50) NOT NULL COMMENT 'sku货号',\r\nMODIFY\r\n COLUMN `className` varchar (100) NOT NULL COMMENT 'sku规格'\r\nAFTER\r\n `extCode`,\r\nMODIFY\r\n COLUMN `currencyType` varchar (10) NOT NULL\r\nAFTER\r\n `className`,\r\nMODIFY\r\n COLUMN `supplierPrice` int NOT NULL COMMENT '申报价格'\r\nAFTER\r\n `currencyType`,\r\nMODIFY\r\n COLUMN `purchaseQuantity` int NOT NULL COMMENT '备货件数'\r\nAFTER\r\n `supplierPrice`,\r\nMODIFY\r\n COLUMN `deliverQuantity` int NOT NULL COMMENT '送货件数'\r\nAFTER\r\n `purchaseQuantity`,\r\nMODIFY\r\n COLUMN `realReceiveAuthenticQuantity` int NOT NULL COMMENT '入库件数'\r\nAFTER\r\n `deliverQuantity`,\r\nMODIFY\r\n COLUMN `availableSaleDays` decimal (10, 0) NOT NULL COMMENT '可售天数'\r\nAFTER\r\n `realReceiveAuthenticQuantity`,\r\nMODIFY\r\n COLUMN `qcResult` int NULL COMMENT '抽检结果 1合格 2不合格'\r\nAFTER\r\n `availableSaleDays`,\r\nMODIFY\r\n COLUMN `thumbUrlList` varchar (500) NULL COMMENT 'sku图片'\r\nAFTER\r\n `qcResult`,\r\nMODIFY\r\n COLUMN `purchaseTime` bigint NOT NULL COMMENT '备货单创建时间'\r\nAFTER\r\n `thumbUrlList`,\r\nMODIFY\r\n COLUMN `deliverTime` bigint NULL COMMENT '发货时间'\r\nAFTER\r\n `purchaseTime`,\r\nMODIFY\r\n COLUMN `receiveTime` bigint NULL COMMENT '收货时间'\r\nAFTER\r\n `deliverTime`,\r\nMODIFY\r\n COLUMN `expectLatestDeliverTimeOrDefault` bigint NOT NULL COMMENT '最迟发货时间'\r\nAFTER\r\n `receiveTime`,\r\nMODIFY\r\n COLUMN `expectLatestArrivalTimeOrDefault` bigint NOT NULL COMMENT '最迟到货时间'\r\nAFTER\r\n `expectLatestDeliverTimeOrDefault`,\r\nMODIFY\r\n COLUMN `deliveryOrderSn` varchar (50) NULL COMMENT '发货单号'\r\nAFTER\r\n `expectLatestArrivalTimeOrDefault`,\r\nMODIFY\r\n COLUMN `receiveWarehouseId` varchar (25) NULL COMMENT '实际收货仓库Id'\r\nAFTER\r\n `deliveryOrderSn`,\r\nMODIFY\r\n COLUMN `receiveWarehouseName` varchar (50) NULL COMMENT '实际收货仓库'\r\nAFTER\r\n `receiveWarehouseId`,\r\nMODIFY\r\n COLUMN `warehouseGroupId` varchar (25) NULL COMMENT '仓组Id'\r\nAFTER\r\n `receiveWarehouseName`,\r\nMODIFY\r\n COLUMN `jiaTongCode` varchar (50) NULL COMMENT '佳同码'\r\nAFTER\r\n `warehouseGroupId`,\r\nMODIFY\r\n COLUMN `barCodeMd5` varchar (32) NULL COMMENT '商品条码MD5'\r\nAFTER\r\n `jiaTongCode`,\r\nMODIFY\r\n COLUMN `shippingMark​Md5` varchar (32) NULL COMMENT '箱唛文件MD5'\r\nAFTER\r\n `barCodeMd5`,\r\nMODIFY\r\n COLUMN `notes` varchar (50) NULL COMMENT '备注'\r\nAFTER\r\n `shippingMark​Md5`,\r\nMODIFY\r\n COLUMN `add_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP\r\nAFTER\r\n `notes`,\r\nMODIFY\r\n COLUMN `mdy_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP\r\nAFTER\r\n `add_time`"; -// // sql = "ALTER TABLE\r\n kjd_order.order_" + i + "\r\nMODIFY\r\n COLUMN `extCode` varchar (50) NOT NULL COMMENT 'sku货号'\r\nAFTER\r\n `productSkuId`,\r\nMODIFY\r\n COLUMN `className` varchar (100) NOT NULL COMMENT 'sku规格'\r\nAFTER\r\n `extCode`,\r\nMODIFY\r\n COLUMN `currencyType` varchar (10) NOT NULL\r\nAFTER\r\n `className`,\r\nMODIFY\r\n COLUMN `supplierPrice` int NOT NULL COMMENT '申报价格'\r\nAFTER\r\n `currencyType`,\r\nMODIFY\r\n COLUMN `purchaseQuantity` int NOT NULL COMMENT '备货件数'\r\nAFTER\r\n `supplierPrice`,\r\nMODIFY\r\n COLUMN `deliverQuantity` int NOT NULL COMMENT '送货件数'\r\nAFTER\r\n `purchaseQuantity`,\r\nMODIFY\r\n COLUMN `realReceiveAuthenticQuantity` int NOT NULL COMMENT '入库件数'\r\nAFTER\r\n `deliverQuantity`,\r\nMODIFY\r\n COLUMN `availableSaleDays` decimal (10, 0) NOT NULL COMMENT '可售天数'\r\nAFTER\r\n `realReceiveAuthenticQuantity`,\r\nMODIFY\r\n COLUMN `qcResult` int NULL COMMENT '抽检结果 1合格 2不合格'\r\nAFTER\r\n `availableSaleDays`,\r\nMODIFY\r\n COLUMN `thumbUrlList` varchar (500) NULL COMMENT 'sku图片'\r\nAFTER\r\n `qcResult`,\r\nMODIFY\r\n COLUMN `purchaseTime` bigint NOT NULL COMMENT '备货单创建时间'\r\nAFTER\r\n `thumbUrlList`,\r\nMODIFY\r\n COLUMN `deliverTime` bigint NULL COMMENT '发货时间'\r\nAFTER\r\n `purchaseTime`,\r\nMODIFY\r\n COLUMN `receiveTime` bigint NULL COMMENT '收货时间'\r\nAFTER\r\n `deliverTime`,\r\nMODIFY\r\n COLUMN `expectLatestDeliverTimeOrDefault` bigint NOT NULL COMMENT '最迟发货时间'\r\nAFTER\r\n `receiveTime`,\r\nMODIFY\r\n COLUMN `expectLatestArrivalTimeOrDefault` bigint NOT NULL COMMENT '最迟到货时间'\r\nAFTER\r\n `expectLatestDeliverTimeOrDefault`,\r\nMODIFY\r\n COLUMN `deliveryOrderSn` varchar (50) NULL COMMENT '发货单号'\r\nAFTER\r\n `expectLatestArrivalTimeOrDefault`,\r\nMODIFY\r\n COLUMN `receiveWarehouseId` varchar (25) NULL COMMENT '实际收货仓库Id'\r\nAFTER\r\n `deliveryOrderSn`,\r\nMODIFY\r\n COLUMN `receiveWarehouseName` varchar (50) NULL COMMENT '实际收货仓库'\r\nAFTER\r\n `receiveWarehouseId`,\r\nMODIFY\r\n COLUMN `warehouseGroupId` varchar (25) NULL COMMENT '仓组Id'\r\nAFTER\r\n `receiveWarehouseName`,\r\nMODIFY\r\n COLUMN `jiaTongCode` varchar (50) NULL COMMENT '佳同码'\r\nAFTER\r\n `warehouseGroupId`,\r\nMODIFY\r\n COLUMN `barCodeMd5` varchar (32) NULL COMMENT '商品条码MD5'\r\nAFTER\r\n `jiaTongCode`,\r\nMODIFY\r\n COLUMN `shippingMark​Md5` varchar (32) NULL COMMENT '箱唛文件MD5'\r\nAFTER\r\n `barCodeMd5`,\r\nMODIFY\r\n COLUMN `notes` varchar (50) NULL COMMENT '备注'\r\nAFTER\r\n `shippingMark​Md5`,\r\nMODIFY\r\n COLUMN `upLoadStatus` int NOT NULL DEFAULT '0' COMMENT '是否上传订单(上传后扣除用户授权金额,产生扣费记录)'\r\nAFTER\r\n `notes`"; -// // sql = "ALTER TABLE\r\n kjd_order.order_" + i + "\r\nADD\r\n COLUMN `costPrice` int NULL COMMENT '成本价',\r\nADD\r\n COLUMN `deliveryFee` int NULL COMMENT '车队费',\r\nADD\r\n COLUMN `markFee` int NULL COMMENT '贴标费',\r\nMODIFY\r\n COLUMN `purchaseQuantity` int NOT NULL COMMENT '备货件数'\r\nAFTER\r\n `markFee`,\r\nMODIFY\r\n COLUMN `deliverQuantity` int NOT NULL COMMENT '送货件数'\r\nAFTER\r\n `purchaseQuantity`,\r\nMODIFY\r\n COLUMN `realReceiveAuthenticQuantity` int NOT NULL COMMENT '入库件数'\r\nAFTER\r\n `deliverQuantity`,\r\nMODIFY\r\n COLUMN `availableSaleDays` decimal (10, 0) NOT NULL COMMENT '可售天数'\r\nAFTER\r\n `realReceiveAuthenticQuantity`,\r\nMODIFY\r\n COLUMN `qcResult` int NULL COMMENT '抽检结果 1合格 2不合格'\r\nAFTER\r\n `availableSaleDays`,\r\nMODIFY\r\n COLUMN `thumbUrlList` varchar (500) NULL COMMENT 'sku图片'\r\nAFTER\r\n `qcResult`,\r\nMODIFY\r\n COLUMN `purchaseTime` bigint NOT NULL COMMENT '备货单创建时间'\r\nAFTER\r\n `thumbUrlList`,\r\nMODIFY\r\n COLUMN `deliverTime` bigint NULL COMMENT '发货时间'\r\nAFTER\r\n `purchaseTime`,\r\nMODIFY\r\n COLUMN `receiveTime` bigint NULL COMMENT '收货时间'\r\nAFTER\r\n `deliverTime`,\r\nMODIFY\r\n COLUMN `expectLatestDeliverTimeOrDefault` bigint NOT NULL COMMENT '最迟发货时间'\r\nAFTER\r\n `receiveTime`,\r\nMODIFY\r\n COLUMN `expectLatestArrivalTimeOrDefault` bigint NOT NULL COMMENT '最迟到货时间'\r\nAFTER\r\n `expectLatestDeliverTimeOrDefault`,\r\nMODIFY\r\n COLUMN `deliveryOrderSn` varchar (50) NULL COMMENT '发货单号'\r\nAFTER\r\n `expectLatestArrivalTimeOrDefault`,\r\nMODIFY\r\n COLUMN `receiveWarehouseId` varchar (25) NULL COMMENT '实际收货仓库Id'\r\nAFTER\r\n `deliveryOrderSn`,\r\nMODIFY\r\n COLUMN `receiveWarehouseName` varchar (50) NULL COMMENT '实际收货仓库'\r\nAFTER\r\n `receiveWarehouseId`,\r\nMODIFY\r\n COLUMN `warehouseGroupId` varchar (25) NULL COMMENT '仓组Id'\r\nAFTER\r\n `receiveWarehouseName`,\r\nMODIFY\r\n COLUMN `jiaTongCode` varchar (50) NULL COMMENT '佳同码'\r\nAFTER\r\n `warehouseGroupId`,\r\nMODIFY\r\n COLUMN `barCodeMd5` varchar (32) NULL COMMENT '商品条码MD5'\r\nAFTER\r\n `jiaTongCode`,\r\nMODIFY\r\n COLUMN `shippingMark​Md5` varchar (32) NULL COMMENT '箱唛文件MD5'\r\nAFTER\r\n `barCodeMd5`,\r\nMODIFY\r\n COLUMN `notes` varchar (50) NULL COMMENT '备注'\r\nAFTER\r\n `shippingMark​Md5`,\r\nMODIFY\r\n COLUMN `upLoadStatus` int NOT NULL DEFAULT '0' COMMENT '是否上传订单(上传后扣除用户授权金额,产生扣费记录)'\r\nAFTER\r\n `notes`,\r\nMODIFY\r\n COLUMN `add_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP\r\nAFTER\r\n `upLoadStatus`,\r\nMODIFY\r\n COLUMN `mdy_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP\r\nAFTER\r\n `add_time`"; -// // sql = "ALTER TABLE\r\n kjd_order.order_" + i + "\r\nMODIFY\r\n COLUMN `originalPurchaseOrderSn` varchar (25) NOT NULL COMMENT '备母货单号'\r\nAFTER\r\n `supplierId`,\r\nMODIFY\r\n COLUMN `subPurchaseOrderSn` varchar (25) NOT NULL COMMENT '备货单号'\r\nAFTER\r\n `originalPurchaseOrderSn`"; -// // sql = "ALTER TABLE\r\n kjd_order.order_" + i + "\r\nMODIFY\r\n COLUMN `availableSaleDays` decimal (10, 0) NULL COMMENT '可售天数'\r\nAFTER\r\n `realReceiveAuthenticQuantity`"; -// // sql = "ALTER TABLE\r\n kjd_order.order_" + i + "\r\nADD\r\n COLUMN `upProductId` varchar (25) NOT NULL COMMENT '上家编号',\r\nMODIFY\r\n COLUMN `productSkcId` varchar (25) NOT NULL\r\nAFTER\r\n `upProductId`,\r\nMODIFY\r\n COLUMN `productSkcPicture` varchar (250) NOT NULL COMMENT '主图'\r\nAFTER\r\n `productSkcId`,\r\nMODIFY\r\n COLUMN `productSn` varchar (50) NULL COMMENT '货号'\r\nAFTER\r\n `productSkcPicture`,\r\nMODIFY\r\n COLUMN `status` int NOT NULL COMMENT '状态 1待发货 2已送货 7已入库 8已作废'\r\nAFTER\r\n `productSn`,\r\nMODIFY\r\n COLUMN `productSkuId` varchar (25) NOT NULL\r\nAFTER\r\n `status`,\r\nMODIFY\r\n COLUMN `extCode` varchar (50) NOT NULL COMMENT 'sku货号'\r\nAFTER\r\n `productSkuId`,\r\nMODIFY\r\n COLUMN `className` varchar (100) NOT NULL COMMENT 'sku规格'\r\nAFTER\r\n `extCode`,\r\nMODIFY\r\n COLUMN `currencyType` varchar (10) NOT NULL\r\nAFTER\r\n `className`,\r\nMODIFY\r\n COLUMN `supplierPrice` int NOT NULL COMMENT '申报价格'\r\nAFTER\r\n `currencyType`,\r\nMODIFY\r\n COLUMN `costPrice` int NULL COMMENT '成本价'\r\nAFTER\r\n `supplierPrice`,\r\nMODIFY\r\n COLUMN `deliveryFee` int NULL COMMENT '车队费'\r\nAFTER\r\n `costPrice`,\r\nMODIFY\r\n COLUMN `markFee` int NULL COMMENT '贴标费'\r\nAFTER\r\n `deliveryFee`,\r\nMODIFY\r\n COLUMN `purchaseQuantity` int NOT NULL COMMENT '备货件数'\r\nAFTER\r\n `markFee`,\r\nMODIFY\r\n COLUMN `deliverQuantity` int NOT NULL COMMENT '送货件数'\r\nAFTER\r\n `purchaseQuantity`,\r\nMODIFY\r\n COLUMN `realReceiveAuthenticQuantity` int NOT NULL COMMENT '入库件数'\r\nAFTER\r\n `deliverQuantity`,\r\nMODIFY\r\n COLUMN `availableSaleDays` decimal (10, 0) NULL COMMENT '可售天数'\r\nAFTER\r\n `realReceiveAuthenticQuantity`,\r\nMODIFY\r\n COLUMN `qcResult` int NULL COMMENT '抽检结果 1合格 2不合格'\r\nAFTER\r\n `availableSaleDays`,\r\nMODIFY\r\n COLUMN `thumbUrlList` varchar (500) NULL COMMENT 'sku图片'\r\nAFTER\r\n `qcResult`,\r\nMODIFY\r\n COLUMN `purchaseTime` bigint NOT NULL COMMENT '备货单创建时间'\r\nAFTER\r\n `thumbUrlList`,\r\nMODIFY\r\n COLUMN `deliverTime` bigint NULL COMMENT '发货时间'\r\nAFTER\r\n `purchaseTime`,\r\nMODIFY\r\n COLUMN `receiveTime` bigint NULL COMMENT '收货时间'\r\nAFTER\r\n `deliverTime`,\r\nMODIFY\r\n COLUMN `expectLatestDeliverTimeOrDefault` bigint NOT NULL COMMENT '最迟发货时间'\r\nAFTER\r\n `receiveTime`,\r\nMODIFY\r\n COLUMN `expectLatestArrivalTimeOrDefault` bigint NOT NULL COMMENT '最迟到货时间'\r\nAFTER\r\n `expectLatestDeliverTimeOrDefault`,\r\nMODIFY\r\n COLUMN `deliveryOrderSn` varchar (50) NULL COMMENT '发货单号'\r\nAFTER\r\n `expectLatestArrivalTimeOrDefault`,\r\nMODIFY\r\n COLUMN `receiveWarehouseId` varchar (25) NULL COMMENT '实际收货仓库Id'\r\nAFTER\r\n `deliveryOrderSn`,\r\nMODIFY\r\n COLUMN `receiveWarehouseName` varchar (50) NULL COMMENT '实际收货仓库'\r\nAFTER\r\n `receiveWarehouseId`,\r\nMODIFY\r\n COLUMN `warehouseGroupId` varchar (25) NULL COMMENT '仓组Id'\r\nAFTER\r\n `receiveWarehouseName`,\r\nMODIFY\r\n COLUMN `jiaTongCode` varchar (50) NULL COMMENT '佳同码'\r\nAFTER\r\n `warehouseGroupId`,\r\nMODIFY\r\n COLUMN `barCodeMd5` varchar (32) NULL COMMENT '商品条码MD5'\r\nAFTER\r\n `jiaTongCode`,\r\nMODIFY\r\n COLUMN `shippingMark​Md5` varchar (32) NULL COMMENT '箱唛文件MD5'\r\nAFTER\r\n `barCodeMd5`,\r\nMODIFY\r\n COLUMN `notes` varchar (50) NULL COMMENT '备注'\r\nAFTER\r\n `shippingMark​Md5`,\r\nMODIFY\r\n COLUMN `upLoadStatus` int NOT NULL DEFAULT '0' COMMENT '是否上传订单(上传后扣除用户授权金额,产生扣费记录)'\r\nAFTER\r\n `notes`,\r\nMODIFY\r\n COLUMN `add_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP\r\nAFTER\r\n `upLoadStatus`,\r\nMODIFY\r\n COLUMN `mdy_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP\r\nAFTER\r\n `add_time`"; -// // sql = "ALTER TABLE\r\n kjd_order.order_" + i + "\r\nMODIFY\r\n COLUMN `upProductId` varchar (25) NULL COMMENT '上家编号'\r\nAFTER\r\n `productId`"; -// // sql = "ALTER TABLE\r\n kjd_order.order_" + i + "\r\nADD\r\n COLUMN `supplierName` varchar (50) NOT NULL COMMENT '店铺名称',\r\nMODIFY\r\n COLUMN `originalPurchaseOrderSn` varchar (25) NOT NULL COMMENT '备母货单号'\r\nAFTER\r\n `supplierName`,\r\nMODIFY\r\n COLUMN `subPurchaseOrderSn` varchar (25) NOT NULL COMMENT '备货单号'\r\nAFTER\r\n `originalPurchaseOrderSn`,\r\nMODIFY\r\n COLUMN `productName` varchar (1000) NOT NULL\r\nAFTER\r\n `subPurchaseOrderSn`,\r\nMODIFY\r\n COLUMN `category` varchar (50) NOT NULL\r\nAFTER\r\n `productName`,\r\nMODIFY\r\n COLUMN `productId` varchar (25) NOT NULL COMMENT '商品编号'\r\nAFTER\r\n `category`,\r\nMODIFY\r\n COLUMN `upProductId` varchar (25) NULL COMMENT '上家编号'\r\nAFTER\r\n `productId`,\r\nMODIFY\r\n COLUMN `productSkcId` varchar (25) NOT NULL\r\nAFTER\r\n `upProductId`,\r\nMODIFY\r\n COLUMN `productSkcPicture` varchar (250) NOT NULL COMMENT '主图'\r\nAFTER\r\n `productSkcId`,\r\nMODIFY\r\n COLUMN `productSn` varchar (50) NULL COMMENT '货号'\r\nAFTER\r\n `productSkcPicture`,\r\nMODIFY\r\n COLUMN `status` int NOT NULL COMMENT '状态 1待发货 2已送货 7已入库 8已作废'\r\nAFTER\r\n `productSn`,\r\nMODIFY\r\n COLUMN `productSkuId` varchar (25) NOT NULL\r\nAFTER\r\n `status`,\r\nMODIFY\r\n COLUMN `extCode` varchar (50) NOT NULL COMMENT 'sku货号'\r\nAFTER\r\n `productSkuId`,\r\nMODIFY\r\n COLUMN `className` varchar (100) NOT NULL COMMENT 'sku规格'\r\nAFTER\r\n `extCode`,\r\nMODIFY\r\n COLUMN `currencyType` varchar (10) NOT NULL\r\nAFTER\r\n `className`,\r\nMODIFY\r\n COLUMN `supplierPrice` int NOT NULL COMMENT '申报价格'\r\nAFTER\r\n `currencyType`,\r\nMODIFY\r\n COLUMN `costPrice` int NULL COMMENT '成本价'\r\nAFTER\r\n `supplierPrice`,\r\nMODIFY\r\n COLUMN `deliveryFee` int NULL COMMENT '车队费'\r\nAFTER\r\n `costPrice`,\r\nMODIFY\r\n COLUMN `markFee` int NULL COMMENT '贴标费'\r\nAFTER\r\n `deliveryFee`,\r\nMODIFY\r\n COLUMN `purchaseQuantity` int NOT NULL COMMENT '备货件数'\r\nAFTER\r\n `markFee`,\r\nMODIFY\r\n COLUMN `deliverQuantity` int NOT NULL COMMENT '送货件数'\r\nAFTER\r\n `purchaseQuantity`,\r\nMODIFY\r\n COLUMN `realReceiveAuthenticQuantity` int NOT NULL COMMENT '入库件数'\r\nAFTER\r\n `deliverQuantity`,\r\nMODIFY\r\n COLUMN `availableSaleDays` decimal (10, 0) NULL COMMENT '可售天数'\r\nAFTER\r\n `realReceiveAuthenticQuantity`,\r\nMODIFY\r\n COLUMN `qcResult` int NULL COMMENT '抽检结果 1合格 2不合格'\r\nAFTER\r\n `availableSaleDays`,\r\nMODIFY\r\n COLUMN `thumbUrlList` varchar (500) NULL COMMENT 'sku图片'\r\nAFTER\r\n `qcResult`,\r\nMODIFY\r\n COLUMN `purchaseTime` bigint NOT NULL COMMENT '备货单创建时间'\r\nAFTER\r\n `thumbUrlList`,\r\nMODIFY\r\n COLUMN `deliverTime` bigint NULL COMMENT '发货时间'\r\nAFTER\r\n `purchaseTime`,\r\nMODIFY\r\n COLUMN `receiveTime` bigint NULL COMMENT '收货时间'\r\nAFTER\r\n `deliverTime`,\r\nMODIFY\r\n COLUMN `expectLatestDeliverTimeOrDefault` bigint NOT NULL COMMENT '最迟发货时间'\r\nAFTER\r\n `receiveTime`,\r\nMODIFY\r\n COLUMN `expectLatestArrivalTimeOrDefault` bigint NOT NULL COMMENT '最迟到货时间'\r\nAFTER\r\n `expectLatestDeliverTimeOrDefault`,\r\nMODIFY\r\n COLUMN `deliveryOrderSn` varchar (50) NULL COMMENT '发货单号'\r\nAFTER\r\n `expectLatestArrivalTimeOrDefault`,\r\nMODIFY\r\n COLUMN `receiveWarehouseId` varchar (25) NULL COMMENT '实际收货仓库Id'\r\nAFTER\r\n `deliveryOrderSn`,\r\nMODIFY\r\n COLUMN `receiveWarehouseName` varchar (50) NULL COMMENT '实际收货仓库'\r\nAFTER\r\n `receiveWarehouseId`,\r\nMODIFY\r\n COLUMN `warehouseGroupId` varchar (25) NULL COMMENT '仓组Id'\r\nAFTER\r\n `receiveWarehouseName`,\r\nMODIFY\r\n COLUMN `jiaTongCode` varchar (50) NULL COMMENT '佳同码'\r\nAFTER\r\n `warehouseGroupId`,\r\nMODIFY\r\n COLUMN `barCodeMd5` varchar (32) NULL COMMENT '商品条码MD5'\r\nAFTER\r\n `jiaTongCode`,\r\nMODIFY\r\n COLUMN `shippingMark​Md5` varchar (32) NULL COMMENT '箱唛文件MD5'\r\nAFTER\r\n `barCodeMd5`,\r\nMODIFY\r\n COLUMN `notes` varchar (50) NULL COMMENT '备注'\r\nAFTER\r\n `shippingMark​Md5`,\r\nMODIFY\r\n COLUMN `upLoadStatus` int NOT NULL DEFAULT '0' COMMENT '是否上传订单(上传后扣除用户授权金额,产生扣费记录)'\r\nAFTER\r\n `notes`,\r\nMODIFY\r\n COLUMN `add_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP\r\nAFTER\r\n `upLoadStatus`,\r\nMODIFY\r\n COLUMN `mdy_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP\r\nAFTER\r\n `add_time`"; + // // sql = "ALTER TABLE\r\n kjd_order.order_" + i + "\r\nADD\r\n COLUMN `upLoadStatus` int NOT NULL DEFAULT 0 COMMENT '是否上传订单(上传后扣除用户授权金额,产生扣费记录)',\r\nMODIFY\r\n COLUMN `add_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP\r\nAFTER\r\n `upLoadStatus`,\r\nMODIFY\r\n COLUMN `mdy_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP\r\nAFTER\r\n `add_time`"; + // // sql = "ALTER TABLE\r\n kjd_order.order_" + i + "\r\nADD\r\n COLUMN `extCode` varchar (50) NOT NULL COMMENT 'sku货号',\r\nMODIFY\r\n COLUMN `className` varchar (100) NOT NULL COMMENT 'sku规格'\r\nAFTER\r\n `extCode`,\r\nMODIFY\r\n COLUMN `currencyType` varchar (10) NOT NULL\r\nAFTER\r\n `className`,\r\nMODIFY\r\n COLUMN `supplierPrice` int NOT NULL COMMENT '申报价格'\r\nAFTER\r\n `currencyType`,\r\nMODIFY\r\n COLUMN `purchaseQuantity` int NOT NULL COMMENT '备货件数'\r\nAFTER\r\n `supplierPrice`,\r\nMODIFY\r\n COLUMN `deliverQuantity` int NOT NULL COMMENT '送货件数'\r\nAFTER\r\n `purchaseQuantity`,\r\nMODIFY\r\n COLUMN `realReceiveAuthenticQuantity` int NOT NULL COMMENT '入库件数'\r\nAFTER\r\n `deliverQuantity`,\r\nMODIFY\r\n COLUMN `availableSaleDays` decimal (10, 0) NOT NULL COMMENT '可售天数'\r\nAFTER\r\n `realReceiveAuthenticQuantity`,\r\nMODIFY\r\n COLUMN `qcResult` int NULL COMMENT '抽检结果 1合格 2不合格'\r\nAFTER\r\n `availableSaleDays`,\r\nMODIFY\r\n COLUMN `thumbUrlList` varchar (500) NULL COMMENT 'sku图片'\r\nAFTER\r\n `qcResult`,\r\nMODIFY\r\n COLUMN `purchaseTime` bigint NOT NULL COMMENT '备货单创建时间'\r\nAFTER\r\n `thumbUrlList`,\r\nMODIFY\r\n COLUMN `deliverTime` bigint NULL COMMENT '发货时间'\r\nAFTER\r\n `purchaseTime`,\r\nMODIFY\r\n COLUMN `receiveTime` bigint NULL COMMENT '收货时间'\r\nAFTER\r\n `deliverTime`,\r\nMODIFY\r\n COLUMN `expectLatestDeliverTimeOrDefault` bigint NOT NULL COMMENT '最迟发货时间'\r\nAFTER\r\n `receiveTime`,\r\nMODIFY\r\n COLUMN `expectLatestArrivalTimeOrDefault` bigint NOT NULL COMMENT '最迟到货时间'\r\nAFTER\r\n `expectLatestDeliverTimeOrDefault`,\r\nMODIFY\r\n COLUMN `deliveryOrderSn` varchar (50) NULL COMMENT '发货单号'\r\nAFTER\r\n `expectLatestArrivalTimeOrDefault`,\r\nMODIFY\r\n COLUMN `receiveWarehouseId` varchar (25) NULL COMMENT '实际收货仓库Id'\r\nAFTER\r\n `deliveryOrderSn`,\r\nMODIFY\r\n COLUMN `receiveWarehouseName` varchar (50) NULL COMMENT '实际收货仓库'\r\nAFTER\r\n `receiveWarehouseId`,\r\nMODIFY\r\n COLUMN `warehouseGroupId` varchar (25) NULL COMMENT '仓组Id'\r\nAFTER\r\n `receiveWarehouseName`,\r\nMODIFY\r\n COLUMN `jiaTongCode` varchar (50) NULL COMMENT '佳同码'\r\nAFTER\r\n `warehouseGroupId`,\r\nMODIFY\r\n COLUMN `barCodeMd5` varchar (32) NULL COMMENT '商品条码MD5'\r\nAFTER\r\n `jiaTongCode`,\r\nMODIFY\r\n COLUMN `shippingMark​Md5` varchar (32) NULL COMMENT '箱唛文件MD5'\r\nAFTER\r\n `barCodeMd5`,\r\nMODIFY\r\n COLUMN `notes` varchar (50) NULL COMMENT '备注'\r\nAFTER\r\n `shippingMark​Md5`,\r\nMODIFY\r\n COLUMN `add_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP\r\nAFTER\r\n `notes`,\r\nMODIFY\r\n COLUMN `mdy_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP\r\nAFTER\r\n `add_time`"; + // // sql = "ALTER TABLE\r\n kjd_order.order_" + i + "\r\nMODIFY\r\n COLUMN `extCode` varchar (50) NOT NULL COMMENT 'sku货号'\r\nAFTER\r\n `productSkuId`,\r\nMODIFY\r\n COLUMN `className` varchar (100) NOT NULL COMMENT 'sku规格'\r\nAFTER\r\n `extCode`,\r\nMODIFY\r\n COLUMN `currencyType` varchar (10) NOT NULL\r\nAFTER\r\n `className`,\r\nMODIFY\r\n COLUMN `supplierPrice` int NOT NULL COMMENT '申报价格'\r\nAFTER\r\n `currencyType`,\r\nMODIFY\r\n COLUMN `purchaseQuantity` int NOT NULL COMMENT '备货件数'\r\nAFTER\r\n `supplierPrice`,\r\nMODIFY\r\n COLUMN `deliverQuantity` int NOT NULL COMMENT '送货件数'\r\nAFTER\r\n `purchaseQuantity`,\r\nMODIFY\r\n COLUMN `realReceiveAuthenticQuantity` int NOT NULL COMMENT '入库件数'\r\nAFTER\r\n `deliverQuantity`,\r\nMODIFY\r\n COLUMN `availableSaleDays` decimal (10, 0) NOT NULL COMMENT '可售天数'\r\nAFTER\r\n `realReceiveAuthenticQuantity`,\r\nMODIFY\r\n COLUMN `qcResult` int NULL COMMENT '抽检结果 1合格 2不合格'\r\nAFTER\r\n `availableSaleDays`,\r\nMODIFY\r\n COLUMN `thumbUrlList` varchar (500) NULL COMMENT 'sku图片'\r\nAFTER\r\n `qcResult`,\r\nMODIFY\r\n COLUMN `purchaseTime` bigint NOT NULL COMMENT '备货单创建时间'\r\nAFTER\r\n `thumbUrlList`,\r\nMODIFY\r\n COLUMN `deliverTime` bigint NULL COMMENT '发货时间'\r\nAFTER\r\n `purchaseTime`,\r\nMODIFY\r\n COLUMN `receiveTime` bigint NULL COMMENT '收货时间'\r\nAFTER\r\n `deliverTime`,\r\nMODIFY\r\n COLUMN `expectLatestDeliverTimeOrDefault` bigint NOT NULL COMMENT '最迟发货时间'\r\nAFTER\r\n `receiveTime`,\r\nMODIFY\r\n COLUMN `expectLatestArrivalTimeOrDefault` bigint NOT NULL COMMENT '最迟到货时间'\r\nAFTER\r\n `expectLatestDeliverTimeOrDefault`,\r\nMODIFY\r\n COLUMN `deliveryOrderSn` varchar (50) NULL COMMENT '发货单号'\r\nAFTER\r\n `expectLatestArrivalTimeOrDefault`,\r\nMODIFY\r\n COLUMN `receiveWarehouseId` varchar (25) NULL COMMENT '实际收货仓库Id'\r\nAFTER\r\n `deliveryOrderSn`,\r\nMODIFY\r\n COLUMN `receiveWarehouseName` varchar (50) NULL COMMENT '实际收货仓库'\r\nAFTER\r\n `receiveWarehouseId`,\r\nMODIFY\r\n COLUMN `warehouseGroupId` varchar (25) NULL COMMENT '仓组Id'\r\nAFTER\r\n `receiveWarehouseName`,\r\nMODIFY\r\n COLUMN `jiaTongCode` varchar (50) NULL COMMENT '佳同码'\r\nAFTER\r\n `warehouseGroupId`,\r\nMODIFY\r\n COLUMN `barCodeMd5` varchar (32) NULL COMMENT '商品条码MD5'\r\nAFTER\r\n `jiaTongCode`,\r\nMODIFY\r\n COLUMN `shippingMark​Md5` varchar (32) NULL COMMENT '箱唛文件MD5'\r\nAFTER\r\n `barCodeMd5`,\r\nMODIFY\r\n COLUMN `notes` varchar (50) NULL COMMENT '备注'\r\nAFTER\r\n `shippingMark​Md5`,\r\nMODIFY\r\n COLUMN `upLoadStatus` int NOT NULL DEFAULT '0' COMMENT '是否上传订单(上传后扣除用户授权金额,产生扣费记录)'\r\nAFTER\r\n `notes`"; + // // sql = "ALTER TABLE\r\n kjd_order.order_" + i + "\r\nADD\r\n COLUMN `costPrice` int NULL COMMENT '成本价',\r\nADD\r\n COLUMN `deliveryFee` int NULL COMMENT '车队费',\r\nADD\r\n COLUMN `markFee` int NULL COMMENT '贴标费',\r\nMODIFY\r\n COLUMN `purchaseQuantity` int NOT NULL COMMENT '备货件数'\r\nAFTER\r\n `markFee`,\r\nMODIFY\r\n COLUMN `deliverQuantity` int NOT NULL COMMENT '送货件数'\r\nAFTER\r\n `purchaseQuantity`,\r\nMODIFY\r\n COLUMN `realReceiveAuthenticQuantity` int NOT NULL COMMENT '入库件数'\r\nAFTER\r\n `deliverQuantity`,\r\nMODIFY\r\n COLUMN `availableSaleDays` decimal (10, 0) NOT NULL COMMENT '可售天数'\r\nAFTER\r\n `realReceiveAuthenticQuantity`,\r\nMODIFY\r\n COLUMN `qcResult` int NULL COMMENT '抽检结果 1合格 2不合格'\r\nAFTER\r\n `availableSaleDays`,\r\nMODIFY\r\n COLUMN `thumbUrlList` varchar (500) NULL COMMENT 'sku图片'\r\nAFTER\r\n `qcResult`,\r\nMODIFY\r\n COLUMN `purchaseTime` bigint NOT NULL COMMENT '备货单创建时间'\r\nAFTER\r\n `thumbUrlList`,\r\nMODIFY\r\n COLUMN `deliverTime` bigint NULL COMMENT '发货时间'\r\nAFTER\r\n `purchaseTime`,\r\nMODIFY\r\n COLUMN `receiveTime` bigint NULL COMMENT '收货时间'\r\nAFTER\r\n `deliverTime`,\r\nMODIFY\r\n COLUMN `expectLatestDeliverTimeOrDefault` bigint NOT NULL COMMENT '最迟发货时间'\r\nAFTER\r\n `receiveTime`,\r\nMODIFY\r\n COLUMN `expectLatestArrivalTimeOrDefault` bigint NOT NULL COMMENT '最迟到货时间'\r\nAFTER\r\n `expectLatestDeliverTimeOrDefault`,\r\nMODIFY\r\n COLUMN `deliveryOrderSn` varchar (50) NULL COMMENT '发货单号'\r\nAFTER\r\n `expectLatestArrivalTimeOrDefault`,\r\nMODIFY\r\n COLUMN `receiveWarehouseId` varchar (25) NULL COMMENT '实际收货仓库Id'\r\nAFTER\r\n `deliveryOrderSn`,\r\nMODIFY\r\n COLUMN `receiveWarehouseName` varchar (50) NULL COMMENT '实际收货仓库'\r\nAFTER\r\n `receiveWarehouseId`,\r\nMODIFY\r\n COLUMN `warehouseGroupId` varchar (25) NULL COMMENT '仓组Id'\r\nAFTER\r\n `receiveWarehouseName`,\r\nMODIFY\r\n COLUMN `jiaTongCode` varchar (50) NULL COMMENT '佳同码'\r\nAFTER\r\n `warehouseGroupId`,\r\nMODIFY\r\n COLUMN `barCodeMd5` varchar (32) NULL COMMENT '商品条码MD5'\r\nAFTER\r\n `jiaTongCode`,\r\nMODIFY\r\n COLUMN `shippingMark​Md5` varchar (32) NULL COMMENT '箱唛文件MD5'\r\nAFTER\r\n `barCodeMd5`,\r\nMODIFY\r\n COLUMN `notes` varchar (50) NULL COMMENT '备注'\r\nAFTER\r\n `shippingMark​Md5`,\r\nMODIFY\r\n COLUMN `upLoadStatus` int NOT NULL DEFAULT '0' COMMENT '是否上传订单(上传后扣除用户授权金额,产生扣费记录)'\r\nAFTER\r\n `notes`,\r\nMODIFY\r\n COLUMN `add_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP\r\nAFTER\r\n `upLoadStatus`,\r\nMODIFY\r\n COLUMN `mdy_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP\r\nAFTER\r\n `add_time`"; + // // sql = "ALTER TABLE\r\n kjd_order.order_" + i + "\r\nMODIFY\r\n COLUMN `originalPurchaseOrderSn` varchar (25) NOT NULL COMMENT '备母货单号'\r\nAFTER\r\n `supplierId`,\r\nMODIFY\r\n COLUMN `subPurchaseOrderSn` varchar (25) NOT NULL COMMENT '备货单号'\r\nAFTER\r\n `originalPurchaseOrderSn`"; + // // sql = "ALTER TABLE\r\n kjd_order.order_" + i + "\r\nMODIFY\r\n COLUMN `availableSaleDays` decimal (10, 0) NULL COMMENT '可售天数'\r\nAFTER\r\n `realReceiveAuthenticQuantity`"; + // // sql = "ALTER TABLE\r\n kjd_order.order_" + i + "\r\nADD\r\n COLUMN `upProductId` varchar (25) NOT NULL COMMENT '上家编号',\r\nMODIFY\r\n COLUMN `productSkcId` varchar (25) NOT NULL\r\nAFTER\r\n `upProductId`,\r\nMODIFY\r\n COLUMN `productSkcPicture` varchar (250) NOT NULL COMMENT '主图'\r\nAFTER\r\n `productSkcId`,\r\nMODIFY\r\n COLUMN `productSn` varchar (50) NULL COMMENT '货号'\r\nAFTER\r\n `productSkcPicture`,\r\nMODIFY\r\n COLUMN `status` int NOT NULL COMMENT '状态 1待发货 2已送货 7已入库 8已作废'\r\nAFTER\r\n `productSn`,\r\nMODIFY\r\n COLUMN `productSkuId` varchar (25) NOT NULL\r\nAFTER\r\n `status`,\r\nMODIFY\r\n COLUMN `extCode` varchar (50) NOT NULL COMMENT 'sku货号'\r\nAFTER\r\n `productSkuId`,\r\nMODIFY\r\n COLUMN `className` varchar (100) NOT NULL COMMENT 'sku规格'\r\nAFTER\r\n `extCode`,\r\nMODIFY\r\n COLUMN `currencyType` varchar (10) NOT NULL\r\nAFTER\r\n `className`,\r\nMODIFY\r\n COLUMN `supplierPrice` int NOT NULL COMMENT '申报价格'\r\nAFTER\r\n `currencyType`,\r\nMODIFY\r\n COLUMN `costPrice` int NULL COMMENT '成本价'\r\nAFTER\r\n `supplierPrice`,\r\nMODIFY\r\n COLUMN `deliveryFee` int NULL COMMENT '车队费'\r\nAFTER\r\n `costPrice`,\r\nMODIFY\r\n COLUMN `markFee` int NULL COMMENT '贴标费'\r\nAFTER\r\n `deliveryFee`,\r\nMODIFY\r\n COLUMN `purchaseQuantity` int NOT NULL COMMENT '备货件数'\r\nAFTER\r\n `markFee`,\r\nMODIFY\r\n COLUMN `deliverQuantity` int NOT NULL COMMENT '送货件数'\r\nAFTER\r\n `purchaseQuantity`,\r\nMODIFY\r\n COLUMN `realReceiveAuthenticQuantity` int NOT NULL COMMENT '入库件数'\r\nAFTER\r\n `deliverQuantity`,\r\nMODIFY\r\n COLUMN `availableSaleDays` decimal (10, 0) NULL COMMENT '可售天数'\r\nAFTER\r\n `realReceiveAuthenticQuantity`,\r\nMODIFY\r\n COLUMN `qcResult` int NULL COMMENT '抽检结果 1合格 2不合格'\r\nAFTER\r\n `availableSaleDays`,\r\nMODIFY\r\n COLUMN `thumbUrlList` varchar (500) NULL COMMENT 'sku图片'\r\nAFTER\r\n `qcResult`,\r\nMODIFY\r\n COLUMN `purchaseTime` bigint NOT NULL COMMENT '备货单创建时间'\r\nAFTER\r\n `thumbUrlList`,\r\nMODIFY\r\n COLUMN `deliverTime` bigint NULL COMMENT '发货时间'\r\nAFTER\r\n `purchaseTime`,\r\nMODIFY\r\n COLUMN `receiveTime` bigint NULL COMMENT '收货时间'\r\nAFTER\r\n `deliverTime`,\r\nMODIFY\r\n COLUMN `expectLatestDeliverTimeOrDefault` bigint NOT NULL COMMENT '最迟发货时间'\r\nAFTER\r\n `receiveTime`,\r\nMODIFY\r\n COLUMN `expectLatestArrivalTimeOrDefault` bigint NOT NULL COMMENT '最迟到货时间'\r\nAFTER\r\n `expectLatestDeliverTimeOrDefault`,\r\nMODIFY\r\n COLUMN `deliveryOrderSn` varchar (50) NULL COMMENT '发货单号'\r\nAFTER\r\n `expectLatestArrivalTimeOrDefault`,\r\nMODIFY\r\n COLUMN `receiveWarehouseId` varchar (25) NULL COMMENT '实际收货仓库Id'\r\nAFTER\r\n `deliveryOrderSn`,\r\nMODIFY\r\n COLUMN `receiveWarehouseName` varchar (50) NULL COMMENT '实际收货仓库'\r\nAFTER\r\n `receiveWarehouseId`,\r\nMODIFY\r\n COLUMN `warehouseGroupId` varchar (25) NULL COMMENT '仓组Id'\r\nAFTER\r\n `receiveWarehouseName`,\r\nMODIFY\r\n COLUMN `jiaTongCode` varchar (50) NULL COMMENT '佳同码'\r\nAFTER\r\n `warehouseGroupId`,\r\nMODIFY\r\n COLUMN `barCodeMd5` varchar (32) NULL COMMENT '商品条码MD5'\r\nAFTER\r\n `jiaTongCode`,\r\nMODIFY\r\n COLUMN `shippingMark​Md5` varchar (32) NULL COMMENT '箱唛文件MD5'\r\nAFTER\r\n `barCodeMd5`,\r\nMODIFY\r\n COLUMN `notes` varchar (50) NULL COMMENT '备注'\r\nAFTER\r\n `shippingMark​Md5`,\r\nMODIFY\r\n COLUMN `upLoadStatus` int NOT NULL DEFAULT '0' COMMENT '是否上传订单(上传后扣除用户授权金额,产生扣费记录)'\r\nAFTER\r\n `notes`,\r\nMODIFY\r\n COLUMN `add_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP\r\nAFTER\r\n `upLoadStatus`,\r\nMODIFY\r\n COLUMN `mdy_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP\r\nAFTER\r\n `add_time`"; + // // sql = "ALTER TABLE\r\n kjd_order.order_" + i + "\r\nMODIFY\r\n COLUMN `upProductId` varchar (25) NULL COMMENT '上家编号'\r\nAFTER\r\n `productId`"; + // // sql = "ALTER TABLE\r\n kjd_order.order_" + i + "\r\nADD\r\n COLUMN `supplierName` varchar (50) NOT NULL COMMENT '店铺名称',\r\nMODIFY\r\n COLUMN `originalPurchaseOrderSn` varchar (25) NOT NULL COMMENT '备母货单号'\r\nAFTER\r\n `supplierName`,\r\nMODIFY\r\n COLUMN `subPurchaseOrderSn` varchar (25) NOT NULL COMMENT '备货单号'\r\nAFTER\r\n `originalPurchaseOrderSn`,\r\nMODIFY\r\n COLUMN `productName` varchar (1000) NOT NULL\r\nAFTER\r\n `subPurchaseOrderSn`,\r\nMODIFY\r\n COLUMN `category` varchar (50) NOT NULL\r\nAFTER\r\n `productName`,\r\nMODIFY\r\n COLUMN `productId` varchar (25) NOT NULL COMMENT '商品编号'\r\nAFTER\r\n `category`,\r\nMODIFY\r\n COLUMN `upProductId` varchar (25) NULL COMMENT '上家编号'\r\nAFTER\r\n `productId`,\r\nMODIFY\r\n COLUMN `productSkcId` varchar (25) NOT NULL\r\nAFTER\r\n `upProductId`,\r\nMODIFY\r\n COLUMN `productSkcPicture` varchar (250) NOT NULL COMMENT '主图'\r\nAFTER\r\n `productSkcId`,\r\nMODIFY\r\n COLUMN `productSn` varchar (50) NULL COMMENT '货号'\r\nAFTER\r\n `productSkcPicture`,\r\nMODIFY\r\n COLUMN `status` int NOT NULL COMMENT '状态 1待发货 2已送货 7已入库 8已作废'\r\nAFTER\r\n `productSn`,\r\nMODIFY\r\n COLUMN `productSkuId` varchar (25) NOT NULL\r\nAFTER\r\n `status`,\r\nMODIFY\r\n COLUMN `extCode` varchar (50) NOT NULL COMMENT 'sku货号'\r\nAFTER\r\n `productSkuId`,\r\nMODIFY\r\n COLUMN `className` varchar (100) NOT NULL COMMENT 'sku规格'\r\nAFTER\r\n `extCode`,\r\nMODIFY\r\n COLUMN `currencyType` varchar (10) NOT NULL\r\nAFTER\r\n `className`,\r\nMODIFY\r\n COLUMN `supplierPrice` int NOT NULL COMMENT '申报价格'\r\nAFTER\r\n `currencyType`,\r\nMODIFY\r\n COLUMN `costPrice` int NULL COMMENT '成本价'\r\nAFTER\r\n `supplierPrice`,\r\nMODIFY\r\n COLUMN `deliveryFee` int NULL COMMENT '车队费'\r\nAFTER\r\n `costPrice`,\r\nMODIFY\r\n COLUMN `markFee` int NULL COMMENT '贴标费'\r\nAFTER\r\n `deliveryFee`,\r\nMODIFY\r\n COLUMN `purchaseQuantity` int NOT NULL COMMENT '备货件数'\r\nAFTER\r\n `markFee`,\r\nMODIFY\r\n COLUMN `deliverQuantity` int NOT NULL COMMENT '送货件数'\r\nAFTER\r\n `purchaseQuantity`,\r\nMODIFY\r\n COLUMN `realReceiveAuthenticQuantity` int NOT NULL COMMENT '入库件数'\r\nAFTER\r\n `deliverQuantity`,\r\nMODIFY\r\n COLUMN `availableSaleDays` decimal (10, 0) NULL COMMENT '可售天数'\r\nAFTER\r\n `realReceiveAuthenticQuantity`,\r\nMODIFY\r\n COLUMN `qcResult` int NULL COMMENT '抽检结果 1合格 2不合格'\r\nAFTER\r\n `availableSaleDays`,\r\nMODIFY\r\n COLUMN `thumbUrlList` varchar (500) NULL COMMENT 'sku图片'\r\nAFTER\r\n `qcResult`,\r\nMODIFY\r\n COLUMN `purchaseTime` bigint NOT NULL COMMENT '备货单创建时间'\r\nAFTER\r\n `thumbUrlList`,\r\nMODIFY\r\n COLUMN `deliverTime` bigint NULL COMMENT '发货时间'\r\nAFTER\r\n `purchaseTime`,\r\nMODIFY\r\n COLUMN `receiveTime` bigint NULL COMMENT '收货时间'\r\nAFTER\r\n `deliverTime`,\r\nMODIFY\r\n COLUMN `expectLatestDeliverTimeOrDefault` bigint NOT NULL COMMENT '最迟发货时间'\r\nAFTER\r\n `receiveTime`,\r\nMODIFY\r\n COLUMN `expectLatestArrivalTimeOrDefault` bigint NOT NULL COMMENT '最迟到货时间'\r\nAFTER\r\n `expectLatestDeliverTimeOrDefault`,\r\nMODIFY\r\n COLUMN `deliveryOrderSn` varchar (50) NULL COMMENT '发货单号'\r\nAFTER\r\n `expectLatestArrivalTimeOrDefault`,\r\nMODIFY\r\n COLUMN `receiveWarehouseId` varchar (25) NULL COMMENT '实际收货仓库Id'\r\nAFTER\r\n `deliveryOrderSn`,\r\nMODIFY\r\n COLUMN `receiveWarehouseName` varchar (50) NULL COMMENT '实际收货仓库'\r\nAFTER\r\n `receiveWarehouseId`,\r\nMODIFY\r\n COLUMN `warehouseGroupId` varchar (25) NULL COMMENT '仓组Id'\r\nAFTER\r\n `receiveWarehouseName`,\r\nMODIFY\r\n COLUMN `jiaTongCode` varchar (50) NULL COMMENT '佳同码'\r\nAFTER\r\n `warehouseGroupId`,\r\nMODIFY\r\n COLUMN `barCodeMd5` varchar (32) NULL COMMENT '商品条码MD5'\r\nAFTER\r\n `jiaTongCode`,\r\nMODIFY\r\n COLUMN `shippingMark​Md5` varchar (32) NULL COMMENT '箱唛文件MD5'\r\nAFTER\r\n `barCodeMd5`,\r\nMODIFY\r\n COLUMN `notes` varchar (50) NULL COMMENT '备注'\r\nAFTER\r\n `shippingMark​Md5`,\r\nMODIFY\r\n COLUMN `upLoadStatus` int NOT NULL DEFAULT '0' COMMENT '是否上传订单(上传后扣除用户授权金额,产生扣费记录)'\r\nAFTER\r\n `notes`,\r\nMODIFY\r\n COLUMN `add_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP\r\nAFTER\r\n `upLoadStatus`,\r\nMODIFY\r\n COLUMN `mdy_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP\r\nAFTER\r\n `add_time`"; -// // sql = "ALTER TABLE\r\n kjd_order.order_" + i + " CHANGE COLUMN `shippingMark​Md5` `shippingMarkMd5` varchar (32) NULL COMMENT '箱唛文件MD5'"; -// // sql = "ALTER TABLE\r\n kjd_order.order_code_" + i + " DROP COLUMN `subPurchaseOrderSn`,\r\n DROP COLUMN `jiaTongCode`,\r\n DROP COLUMN `shippingMark​Md5`,\r\n DROP COLUMN `shippingMarkBase64`,\r\n CHANGE COLUMN `barCodeMd5` `fileCodeMd5` varchar (32) NOT NULL,\r\n CHANGE COLUMN `barCodeBase64` `fileCodeBase64` longtext NOT NULL,\r\nMODIFY\r\n COLUMN `add_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP\r\nAFTER\r\n `fileCodeBase64`,\r\nMODIFY\r\n COLUMN `mdy_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP\r\nAFTER\r\n `add_time`,\r\n DROP INDEX `index_subPurchaseOrderSn`,\r\nADD\r\n UNIQUE `index_fileCodeMd5` USING btree (`fileCodeMd5`)"; -// var rst = mySql.ExecuteNonQuery(sql); + // // sql = "ALTER TABLE\r\n kjd_order.order_" + i + " CHANGE COLUMN `shippingMark​Md5` `shippingMarkMd5` varchar (32) NULL COMMENT '箱唛文件MD5'"; + // // sql = "ALTER TABLE\r\n kjd_order.order_code_" + i + " DROP COLUMN `subPurchaseOrderSn`,\r\n DROP COLUMN `jiaTongCode`,\r\n DROP COLUMN `shippingMark​Md5`,\r\n DROP COLUMN `shippingMarkBase64`,\r\n CHANGE COLUMN `barCodeMd5` `fileCodeMd5` varchar (32) NOT NULL,\r\n CHANGE COLUMN `barCodeBase64` `fileCodeBase64` longtext NOT NULL,\r\nMODIFY\r\n COLUMN `add_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP\r\nAFTER\r\n `fileCodeBase64`,\r\nMODIFY\r\n COLUMN `mdy_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP\r\nAFTER\r\n `add_time`,\r\n DROP INDEX `index_subPurchaseOrderSn`,\r\nADD\r\n UNIQUE `index_fileCodeMd5` USING btree (`fileCodeMd5`)"; + // var rst = mySql.ExecuteNonQuery(sql); //} //mySql.Close(); } diff --git a/KJDService/KJD_WebService/BLL/WXXD/WXProductManage.cs b/KJDService/KJD_WebService/BLL/WXXD/WXProductManage.cs index d44d1c8..933e5f9 100644 --- a/KJDService/KJD_WebService/BLL/WXXD/WXProductManage.cs +++ b/KJDService/KJD_WebService/BLL/WXXD/WXProductManage.cs @@ -434,6 +434,64 @@ namespace KJD_Web.BLL.WXXD return "{\"code\":19999,\"msg\":\"输入为空\"}"; } + public string WXAddSecretIdUpMap(string inputData) + { + if (!string.IsNullOrEmpty(inputData)) + { + var time = RegexUtils.GetStringQuery(ref inputData, "time").ParseToInt(); + string time1 = RegexUtils.GetStringQuery(ref inputData, "code"); + if (time1 != EncrypUtil.Encryption(time)) + return "{\"code\":50000,\"msg\":\"校验失败\"}"; + + var up_secret_spu_id = RegexUtils.GetStringQuery(ref inputData, "up_secret_spu_id")?.Replace("'", "\\'"); + if (string.IsNullOrEmpty(up_secret_spu_id)) + { + return "{\"code\":500,\"msg\":\"缺少商品编号1\"}"; + } + var index = RegexUtils.GetStringQuery(ref inputData, "index").ParseToNullableLong(); + if (index == null) + index = Math.Abs(up_secret_spu_id.GetHashCode()) % 1024; + var up_spu_id = RegexUtils.GetStringQuery(ref inputData, "up_spu_id")?.Replace("'", "\\'"); + if (string.IsNullOrEmpty(up_spu_id)) + { + return "{\"code\":500,\"msg\":\"缺少商品编号2\"}"; + } + var shop_id = RegexUtils.GetStringQuery(ref inputData, "shop_id")?.Replace("'", "\\'"); + if (string.IsNullOrEmpty(shop_id)) + { + return "{\"code\":500,\"msg\":\"缺少店铺编号\"}"; + } + var price_max = RegexUtils.GetStringQuery(ref inputData, "price_max")?.Replace("'", "\\'"); + if (string.IsNullOrEmpty(price_max)) + { + return "{\"code\":500,\"msg\":\"缺少最高价格\"}"; + } + var price_min = RegexUtils.GetStringQuery(ref inputData, "price_min")?.Replace("'", "\\'"); + if (string.IsNullOrEmpty(price_min)) + { + return "{\"code\":500,\"msg\":\"缺少最低价格\"}"; + } + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + + string sql = "insert into wxxd_product_up_map.product_up_map_" + index.ParseToString().PadLeft(4, '0') + + " (up_secret_spu_id,up_spu_id,shop_id,price_min,price_max) " + + " values ('" + up_secret_spu_id + "','" + up_spu_id + "','" + shop_id + "'," + price_min + "," + price_max + ");"; + mySql.ExecuteNonQuery(sql); + mySql.Close(); + if (mySql.Message.IsNullOrEmpty()) + { + return "{\"code\":200,\"msg\":\"成功\"}"; + } + else + { + return "{\"code\":500,\"msg\":\"失败:" + mySql.Message + "\"}"; + } + } + return "{\"code\":19999,\"msg\":\"输入为空\"}"; + } + public string WXGetSecretSpuIdShopIdMapList(string inputData) { var timeCalc = DateTime.Now; diff --git a/KJDService/KJD_WebService/Model/DBProductResultParam.cs b/KJDService/KJD_WebService/Model/DBProductResultParam.cs index ca7c4ed..46df094 100644 --- a/KJDService/KJD_WebService/Model/DBProductResultParam.cs +++ b/KJDService/KJD_WebService/Model/DBProductResultParam.cs @@ -101,7 +101,7 @@ namespace KJD_Web.Model public string real_coid { get; set; } public string real_spu_id { get; set; } public string has_wx_format { get; set; } - public string standby3 { get; set; } + public string problem_prod_data { get; set; } } public class KJDDBProduct : DBProductResultParam diff --git a/KJDService/KJD_WebService/Upload/Prod/WXProd.aspx.cs b/KJDService/KJD_WebService/Upload/Prod/WXProd.aspx.cs index 33fcf95..e5ebc2e 100644 --- a/KJDService/KJD_WebService/Upload/Prod/WXProd.aspx.cs +++ b/KJDService/KJD_WebService/Upload/Prod/WXProd.aspx.cs @@ -19,7 +19,7 @@ namespace KJD_Web.Upload.Prod { public static string BuildPDDObjString(string file, bool IsLoginDef = false) { - string LoginApiUrl = "http://1.13.195.131:9000"; + string LoginApiUrl = "http://1.13.195.131:9001"; string MainPath = "kuajingda"; return LoginApiUrl + "/bxx_" + file + "?obj=" + MainPath + "/bxx_" + file; } diff --git a/KJDService/KJD_WebService/WXProductService.asmx.cs b/KJDService/KJD_WebService/WXProductService.asmx.cs index 07e1252..eee933a 100644 --- a/KJDService/KJD_WebService/WXProductService.asmx.cs +++ b/KJDService/KJD_WebService/WXProductService.asmx.cs @@ -169,6 +169,19 @@ namespace KJD_Web Context.Response.End(); } + //WXAddSecretIdUpMap + [WebMethod] + public void wx_add_secret_id_up_map() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new WXProductManage().WXAddSecretIdUpMap(jsontext); + + Context.Response.Write(result); + Context.Response.End(); + } + /// /// 根据聚水潭加密商品编号(货号)查询所有上传过的店铺id 260224 未测试 /// diff --git a/TEMUKJD/BLL/Pdd/PddApiHelper.cs b/TEMUKJD/BLL/Pdd/PddApiHelper.cs index 136107a..7210d4d 100644 --- a/TEMUKJD/BLL/Pdd/PddApiHelper.cs +++ b/TEMUKJD/BLL/Pdd/PddApiHelper.cs @@ -19,7 +19,7 @@ namespace TemuKJD.BLL.PddApi { string errStr = ""; var authInfo = PddApiHelper.GetE57ShopPddToken(shop, out errStr); - if (errStr.IsNullOrEmpty()) + if (errStr.IsNullOrEmpty() || (shop.AuthAddTime <= DateTime.Now.AddDays(-1) && shop.AuthExpiresTime <= DateTime.Now)) { shop.ApiAuthInfoList.RemoveAll(a => a.AppKey.IsNullOrEmpty() || a.AppKey == PddApi.clientId); shop.ApiAuthInfoList.Add(authInfo); diff --git a/TEMUKJD/KJD.csproj b/TEMUKJD/KJD.csproj index e57c3c5..1ccb298 100644 --- a/TEMUKJD/KJD.csproj +++ b/TEMUKJD/KJD.csproj @@ -154,6 +154,11 @@ PDDGetChanceProdByImgForm.cs + + True + True + Resources.resx + Form @@ -1008,11 +1013,6 @@ - - True - True - Resources.resx - Form @@ -1664,8 +1664,9 @@ - + + @@ -1771,7 +1772,9 @@ Work - + + + False diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditDetailForm.Designer.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditDetailForm.Designer.cs index 76280c3..c748f79 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditDetailForm.Designer.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditDetailForm.Designer.cs @@ -50,6 +50,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.ucPddSpecEdit2 = new TemuKJD.PDDForms.ProductSelectForms.UcPddSpecEdit(); this.panel4 = new System.Windows.Forms.Panel(); this.label3 = new System.Windows.Forms.Label(); + this.panel6 = new System.Windows.Forms.Panel(); this.flowLayoutPanel4 = new System.Windows.Forms.FlowLayoutPanel(); this.cmbSpec1 = new TemuKJD.UserComponent.UcComboBoxMutiSelect(); this.cmbSpec2 = new TemuKJD.UserComponent.UcComboBoxMutiSelect(); @@ -62,21 +63,21 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.txtMultiPrice = new System.Windows.Forms.TextBox(); this.label4 = new System.Windows.Forms.Label(); this.dgvDbProduct = new TemuKJD.UserComponent.DataGridViewEx(); + this.panel5 = new System.Windows.Forms.Panel(); + this.btnRestoreAll = new DevComponents.DotNetBar.PanelEx(); + this.btnCancel = new DevComponents.DotNetBar.PanelEx(); + this.btnSaveSkuLst = new DevComponents.DotNetBar.PanelEx(); this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); this.colSkuId = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colSpec1 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colSpec2 = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colMultiPrice = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colPrice = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colStock = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colSkuImgUrl = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colSkuImg = new System.Windows.Forms.DataGridViewImageColumn(); this.colEditSkuImg = new System.Windows.Forms.DataGridViewLinkColumn(); this.colSkuSn = new System.Windows.Forms.DataGridViewTextBoxColumn(); - this.panel5 = new System.Windows.Forms.Panel(); - this.btnRestoreAll = new DevComponents.DotNetBar.PanelEx(); - this.btnCancel = new DevComponents.DotNetBar.PanelEx(); - this.btnSaveSkuLst = new DevComponents.DotNetBar.PanelEx(); - this.panel6 = new System.Windows.Forms.Panel(); this.panel2.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); @@ -89,10 +90,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.pnlSpec2.SuspendLayout(); this.flowLayoutPanel2.SuspendLayout(); this.panel4.SuspendLayout(); + this.panel6.SuspendLayout(); this.flowLayoutPanel4.SuspendLayout(); this.panel3.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.dgvDbProduct)).BeginInit(); - this.panel6.SuspendLayout(); this.SuspendLayout(); // // panel2 @@ -324,6 +325,16 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.label3.TabIndex = 9; this.label3.Text = "SKU列表:"; // + // panel6 + // + this.panel6.Controls.Add(this.flowLayoutPanel4); + this.panel6.Location = new System.Drawing.Point(3, 203); + this.panel6.Margin = new System.Windows.Forms.Padding(3, 0, 3, 3); + this.panel6.MinimumSize = new System.Drawing.Size(1250, 10); + this.panel6.Name = "panel6"; + this.panel6.Size = new System.Drawing.Size(1250, 30); + this.panel6.TabIndex = 15; + // // flowLayoutPanel4 // this.flowLayoutPanel4.Controls.Add(this.cmbSpec1); @@ -483,6 +494,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.colSpec2, this.colMultiPrice, this.colPrice, + this.colStock, this.colSkuImgUrl, this.colSkuImg, this.colEditSkuImg, @@ -498,78 +510,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.dgvDbProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvDbProduct_CellContentClick); this.dgvDbProduct.CellValueChanged += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvDbProduct_CellValueChanged); // - // colSelect - // - this.colSelect.FillWeight = 26F; - this.colSelect.HeaderText = "选"; - this.colSelect.Name = "colSelect"; - this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; - this.colSelect.Visible = false; - // - // colSkuId - // - this.colSkuId.HeaderText = "sku编号"; - this.colSkuId.Name = "colSkuId"; - this.colSkuId.Visible = false; - // - // colSpec1 - // - this.colSpec1.HeaderText = "属性1"; - this.colSpec1.Name = "colSpec1"; - this.colSpec1.ReadOnly = true; - // - // colSpec2 - // - this.colSpec2.HeaderText = "属性2"; - this.colSpec2.Name = "colSpec2"; - this.colSpec2.ReadOnly = true; - // - // colMultiPrice - // - dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True; - this.colMultiPrice.DefaultCellStyle = dataGridViewCellStyle3; - this.colMultiPrice.HeaderText = "拼单价"; - this.colMultiPrice.Name = "colMultiPrice"; - this.colMultiPrice.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; - // - // colPrice - // - this.colPrice.HeaderText = "单买价"; - this.colPrice.Name = "colPrice"; - this.colPrice.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; - // - // colSkuImgUrl - // - this.colSkuImgUrl.HeaderText = "sku预览图路径"; - this.colSkuImgUrl.Name = "colSkuImgUrl"; - this.colSkuImgUrl.ReadOnly = true; - this.colSkuImgUrl.Visible = false; - // - // colSkuImg - // - this.colSkuImg.FillWeight = 35F; - this.colSkuImg.HeaderText = "sku预览图"; - this.colSkuImg.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom; - this.colSkuImg.Name = "colSkuImg"; - this.colSkuImg.ReadOnly = true; - this.colSkuImg.Resizable = System.Windows.Forms.DataGridViewTriState.True; - // - // colEditSkuImg - // - this.colEditSkuImg.FillWeight = 20F; - this.colEditSkuImg.HeaderText = "编辑"; - this.colEditSkuImg.Name = "colEditSkuImg"; - this.colEditSkuImg.ReadOnly = true; - this.colEditSkuImg.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.colEditSkuImg.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; - // - // colSkuSn - // - this.colSkuSn.HeaderText = "规格编码"; - this.colSkuSn.Name = "colSkuSn"; - this.colSkuSn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; - // // panel5 // this.panel5.Location = new System.Drawing.Point(3, 842); @@ -652,15 +592,83 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.btnSaveSkuLst.Text = "保存"; this.btnSaveSkuLst.Click += new System.EventHandler(this.btnSaveSkuLst_Click); // - // panel6 + // colSelect // - this.panel6.Controls.Add(this.flowLayoutPanel4); - this.panel6.Location = new System.Drawing.Point(3, 203); - this.panel6.Margin = new System.Windows.Forms.Padding(3, 0, 3, 3); - this.panel6.MinimumSize = new System.Drawing.Size(1250, 10); - this.panel6.Name = "panel6"; - this.panel6.Size = new System.Drawing.Size(1250, 30); - this.panel6.TabIndex = 15; + this.colSelect.FillWeight = 26F; + this.colSelect.HeaderText = "选"; + this.colSelect.Name = "colSelect"; + this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colSelect.Visible = false; + // + // colSkuId + // + this.colSkuId.HeaderText = "sku编号"; + this.colSkuId.Name = "colSkuId"; + this.colSkuId.Visible = false; + // + // colSpec1 + // + this.colSpec1.HeaderText = "属性1"; + this.colSpec1.Name = "colSpec1"; + this.colSpec1.ReadOnly = true; + // + // colSpec2 + // + this.colSpec2.HeaderText = "属性2"; + this.colSpec2.Name = "colSpec2"; + this.colSpec2.ReadOnly = true; + // + // colMultiPrice + // + dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colMultiPrice.DefaultCellStyle = dataGridViewCellStyle3; + this.colMultiPrice.HeaderText = "拼单价"; + this.colMultiPrice.Name = "colMultiPrice"; + this.colMultiPrice.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + // + // colPrice + // + this.colPrice.HeaderText = "单买价"; + this.colPrice.Name = "colPrice"; + this.colPrice.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + // + // colStock + // + this.colStock.FillWeight = 21F; + this.colStock.HeaderText = "库存"; + this.colStock.Name = "colStock"; + // + // colSkuImgUrl + // + this.colSkuImgUrl.HeaderText = "sku预览图路径"; + this.colSkuImgUrl.Name = "colSkuImgUrl"; + this.colSkuImgUrl.ReadOnly = true; + this.colSkuImgUrl.Visible = false; + // + // colSkuImg + // + this.colSkuImg.FillWeight = 36F; + this.colSkuImg.HeaderText = "sku预览图"; + this.colSkuImg.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom; + this.colSkuImg.Name = "colSkuImg"; + this.colSkuImg.ReadOnly = true; + this.colSkuImg.Resizable = System.Windows.Forms.DataGridViewTriState.True; + // + // colEditSkuImg + // + this.colEditSkuImg.FillWeight = 21F; + this.colEditSkuImg.HeaderText = "编辑"; + this.colEditSkuImg.Name = "colEditSkuImg"; + this.colEditSkuImg.ReadOnly = true; + this.colEditSkuImg.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colEditSkuImg.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + // + // colSkuSn + // + this.colSkuSn.HeaderText = "规格编码"; + this.colSkuSn.Name = "colSkuSn"; + this.colSkuSn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; // // PDDDBProdEditDetailForm // @@ -693,11 +701,11 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.flowLayoutPanel2.PerformLayout(); this.panel4.ResumeLayout(false); this.panel4.PerformLayout(); + this.panel6.ResumeLayout(false); this.flowLayoutPanel4.ResumeLayout(false); this.panel3.ResumeLayout(false); this.panel3.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.dgvDbProduct)).EndInit(); - this.panel6.ResumeLayout(false); this.ResumeLayout(false); } @@ -732,21 +740,22 @@ namespace TemuKJD.PDDForms.ProductSelectForms private System.Windows.Forms.Panel pnlSpec2; private DevComponents.DotNetBar.PanelEx btnAddSpec2; private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel4; - private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; - private System.Windows.Forms.DataGridViewTextBoxColumn colSkuId; - private System.Windows.Forms.DataGridViewTextBoxColumn colSpec1; - private System.Windows.Forms.DataGridViewTextBoxColumn colSpec2; - private System.Windows.Forms.DataGridViewTextBoxColumn colMultiPrice; - private System.Windows.Forms.DataGridViewTextBoxColumn colPrice; - private System.Windows.Forms.DataGridViewTextBoxColumn colSkuImgUrl; - private System.Windows.Forms.DataGridViewImageColumn colSkuImg; - private System.Windows.Forms.DataGridViewLinkColumn colEditSkuImg; - private System.Windows.Forms.DataGridViewTextBoxColumn colSkuSn; private System.Windows.Forms.Panel pnlCef; private System.Windows.Forms.Panel panel4; private System.Windows.Forms.Panel panel5; public DevComponents.DotNetBar.PanelEx btnSaveSkuLst; public DevComponents.DotNetBar.PanelEx btnRestoreAll; private System.Windows.Forms.Panel panel6; + private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; + private System.Windows.Forms.DataGridViewTextBoxColumn colSkuId; + private System.Windows.Forms.DataGridViewTextBoxColumn colSpec1; + private System.Windows.Forms.DataGridViewTextBoxColumn colSpec2; + private System.Windows.Forms.DataGridViewTextBoxColumn colMultiPrice; + private System.Windows.Forms.DataGridViewTextBoxColumn colPrice; + private System.Windows.Forms.DataGridViewTextBoxColumn colStock; + private System.Windows.Forms.DataGridViewTextBoxColumn colSkuImgUrl; + private System.Windows.Forms.DataGridViewImageColumn colSkuImg; + private System.Windows.Forms.DataGridViewLinkColumn colEditSkuImg; + private System.Windows.Forms.DataGridViewTextBoxColumn colSkuSn; } } \ No newline at end of file diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditDetailForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditDetailForm.cs index 5856eda..072266f 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditDetailForm.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditDetailForm.cs @@ -469,6 +469,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms skuEditItem.spec.Count > 1 ? skuEditItem.spec[1].spec_name : "", skuEditItem.multi_price * 0.01m, skuEditItem.price * 0.01m, + skuEditItem.quantity, skuEditItem.thumb_url, DataGridViewExtension.defaultBitmap, "编辑", diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditDetailForm.resx b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditDetailForm.resx index 322977f..d05d82f 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditDetailForm.resx +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditDetailForm.resx @@ -135,6 +135,9 @@ True + + True + True diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdImgListForm.Designer.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdImgListForm.Designer.cs index 6baba76..10e01ee 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdImgListForm.Designer.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdImgListForm.Designer.cs @@ -35,6 +35,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PDDDBProdImgListForm)); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.btnAdd = new DevComponents.DotNetBar.PanelEx(); this.chkUpdateTag = new TemuKJD.UserComponent.UcCheckBox(this.components); this.btnSearch = new DevComponents.DotNetBar.PanelEx(); this.pnlEmpty = new DevComponents.DotNetBar.PanelEx(); @@ -43,9 +44,20 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.cmbGroupFilter = new System.Windows.Forms.ComboBox(); this.lblGroupFilter = new System.Windows.Forms.Label(); this.splitContainer2 = new System.Windows.Forms.SplitContainer(); + this.panel3 = new System.Windows.Forms.Panel(); + this.btnCancel = new DevComponents.DotNetBar.PanelEx(); + this.btnAddEdit = new DevComponents.DotNetBar.PanelEx(); + this.txtEditType = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.cmbEditGroup = new System.Windows.Forms.ComboBox(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.txtEditUrl = new System.Windows.Forms.TextBox(); this.pbLoading = new System.Windows.Forms.PictureBox(); this.panel2 = new System.Windows.Forms.Panel(); this.dgvDbProduct = new TemuKJD.UserComponent.DataGridViewEx(); + this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage(); + this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); this.colDbId = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colImgMd5 = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -56,11 +68,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.col_notes = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colAddTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colMdyTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colUpdate = new System.Windows.Forms.DataGridViewLinkColumn(); this.colEdit = new System.Windows.Forms.DataGridViewLinkColumn(); this.colSelectImg = new System.Windows.Forms.DataGridViewLinkColumn(); this.col_delete = new System.Windows.Forms.DataGridViewLinkColumn(); - this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage(); - this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); @@ -69,6 +80,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.splitContainer2.Panel1.SuspendLayout(); this.splitContainer2.Panel2.SuspendLayout(); this.splitContainer2.SuspendLayout(); + this.panel3.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.dgvDbProduct)).BeginInit(); this.SuspendLayout(); @@ -84,6 +96,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // // splitContainer1.Panel1 // + this.splitContainer1.Panel1.Controls.Add(this.btnAdd); this.splitContainer1.Panel1.Controls.Add(this.chkUpdateTag); this.splitContainer1.Panel1.Controls.Add(this.btnSearch); this.splitContainer1.Panel1.Controls.Add(this.pnlEmpty); @@ -99,13 +112,38 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.splitContainer1.SplitterDistance = 53; this.splitContainer1.TabIndex = 3; // + // btnAdd + // + this.btnAdd.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnAdd.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnAdd.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnAdd.DisabledBackColor = System.Drawing.Color.Empty; + this.btnAdd.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnAdd.Location = new System.Drawing.Point(907, 15); + this.btnAdd.Name = "btnAdd"; + this.btnAdd.Size = new System.Drawing.Size(77, 25); + this.btnAdd.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnAdd.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnAdd.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnAdd.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnAdd.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnAdd.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnAdd.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnAdd.Style.GradientAngle = 90; + this.btnAdd.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnAdd.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnAdd.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnAdd.TabIndex = 681; + this.btnAdd.Text = "新增图片"; + this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click); + // // chkUpdateTag // this.chkUpdateTag.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.chkUpdateTag.AutoSize = true; this.chkUpdateTag.Checked = true; this.chkUpdateTag.CheckState = System.Windows.Forms.CheckState.Checked; - this.chkUpdateTag.Location = new System.Drawing.Point(870, 17); + this.chkUpdateTag.Location = new System.Drawing.Point(790, 17); this.chkUpdateTag.Name = "chkUpdateTag"; this.chkUpdateTag.Size = new System.Drawing.Size(111, 21); this.chkUpdateTag.TabIndex = 671; @@ -208,6 +246,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // // splitContainer2.Panel1 // + this.splitContainer2.Panel1.Controls.Add(this.panel3); this.splitContainer2.Panel1.Controls.Add(this.pbLoading); this.splitContainer2.Panel1.Controls.Add(this.panel2); this.splitContainer2.Panel1.Controls.Add(this.dgvDbProduct); @@ -221,6 +260,124 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.splitContainer2.SplitterDistance = 458; this.splitContainer2.TabIndex = 0; // + // panel3 + // + this.panel3.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.panel3.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.panel3.Controls.Add(this.btnCancel); + this.panel3.Controls.Add(this.btnAddEdit); + this.panel3.Controls.Add(this.txtEditType); + this.panel3.Controls.Add(this.label4); + this.panel3.Controls.Add(this.cmbEditGroup); + this.panel3.Controls.Add(this.label3); + this.panel3.Controls.Add(this.label2); + this.panel3.Controls.Add(this.txtEditUrl); + this.panel3.Location = new System.Drawing.Point(604, 55); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(336, 364); + this.panel3.TabIndex = 9; + this.panel3.Visible = false; + // + // btnCancel + // + this.btnCancel.CanvasColor = System.Drawing.SystemColors.Control; + this.btnCancel.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnCancel.DisabledBackColor = System.Drawing.Color.Empty; + this.btnCancel.Location = new System.Drawing.Point(179, 307); + this.btnCancel.Name = "btnCancel"; + this.btnCancel.Size = new System.Drawing.Size(48, 25); + this.btnCancel.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnCancel.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnCancel.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnCancel.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.btnCancel.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnCancel.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.btnCancel.Style.GradientAngle = 90; + this.btnCancel.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.btnCancel.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnCancel.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnCancel.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnCancel.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnCancel.TabIndex = 692; + this.btnCancel.Text = "取消"; + this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click); + // + // btnAddEdit + // + this.btnAddEdit.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnAddEdit.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnAddEdit.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnAddEdit.DisabledBackColor = System.Drawing.Color.Empty; + this.btnAddEdit.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnAddEdit.Location = new System.Drawing.Point(230, 307); + this.btnAddEdit.Name = "btnAddEdit"; + this.btnAddEdit.Size = new System.Drawing.Size(48, 25); + this.btnAddEdit.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnAddEdit.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnAddEdit.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnAddEdit.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnAddEdit.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnAddEdit.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnAddEdit.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnAddEdit.Style.GradientAngle = 90; + this.btnAddEdit.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnAddEdit.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnAddEdit.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnAddEdit.TabIndex = 685; + this.btnAddEdit.Text = "新增"; + this.btnAddEdit.Click += new System.EventHandler(this.btnAddEdit_Click); + // + // txtEditType + // + this.txtEditType.Location = new System.Drawing.Point(54, 257); + this.txtEditType.Name = "txtEditType"; + this.txtEditType.Size = new System.Drawing.Size(224, 23); + this.txtEditType.TabIndex = 656; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(51, 236); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(44, 17); + this.label4.TabIndex = 655; + this.label4.Text = "分类:"; + // + // cmbEditGroup + // + this.cmbEditGroup.FormattingEnabled = true; + this.cmbEditGroup.Location = new System.Drawing.Point(54, 184); + this.cmbEditGroup.Name = "cmbEditGroup"; + this.cmbEditGroup.Size = new System.Drawing.Size(224, 25); + this.cmbEditGroup.TabIndex = 654; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(51, 164); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(44, 17); + this.label3.TabIndex = 643; + this.label3.Text = "分组:"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(51, 27); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(68, 17); + this.label2.TabIndex = 642; + this.label2.Text = "图片路径:"; + this.label2.Visible = false; + // + // txtEditUrl + // + this.txtEditUrl.Location = new System.Drawing.Point(54, 47); + this.txtEditUrl.Multiline = true; + this.txtEditUrl.Name = "txtEditUrl"; + this.txtEditUrl.Size = new System.Drawing.Size(224, 88); + this.txtEditUrl.TabIndex = 0; + // // pbLoading // this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None; @@ -239,7 +396,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms | System.Windows.Forms.AnchorStyles.Right))); this.panel2.Location = new System.Drawing.Point(44, 55); this.panel2.Name = "panel2"; - this.panel2.Size = new System.Drawing.Size(921, 364); + this.panel2.Size = new System.Drawing.Size(273, 364); this.panel2.TabIndex = 8; // // dgvDbProduct @@ -248,6 +405,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.dgvDbProduct.AllowUserToDeleteRows = false; dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke; this.dgvDbProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; + this.dgvDbProduct.AutoRowNumber = true; this.dgvDbProduct.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill; this.dgvDbProduct.BackgroundColor = System.Drawing.Color.White; this.dgvDbProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); @@ -271,11 +429,13 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.col_notes, this.colAddTime, this.colMdyTime, + this.colUpdate, this.colEdit, this.colSelectImg, this.col_delete}); this.dgvDbProduct.Dock = System.Windows.Forms.DockStyle.Fill; this.dgvDbProduct.Location = new System.Drawing.Point(4, 0); + this.dgvDbProduct.MultiSelectCheckBox = true; this.dgvDbProduct.Name = "dgvDbProduct"; this.dgvDbProduct.ReadOnly = true; this.dgvDbProduct.RowTemplate.Height = 23; @@ -283,6 +443,31 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.dgvDbProduct.TabIndex = 6; this.dgvDbProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvDbProduct_CellContentClick); // + // ucSplitPage1 + // + this.ucSplitPage1.CurrentPage = 1; + this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right; + this.ucSplitPage1.IsShowPageSize = false; + this.ucSplitPage1.Location = new System.Drawing.Point(641, 0); + this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0); + this.ucSplitPage1.Name = "ucSplitPage1"; + this.ucSplitPage1.Padding = new System.Windows.Forms.Padding(0, 0, 1, 0); + this.ucSplitPage1.PageSize = 50; + this.ucSplitPage1.Size = new System.Drawing.Size(362, 25); + this.ucSplitPage1.TabIndex = 6; + this.ucSplitPage1.TotalPage = 1; + // + // statusBar + // + this.statusBar.BackColor = System.Drawing.Color.White; + this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill; + 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, 0); + this.statusBar.Margin = new System.Windows.Forms.Padding(0); + this.statusBar.Name = "statusBar"; + this.statusBar.Size = new System.Drawing.Size(1003, 25); + this.statusBar.TabIndex = 5; + // // colSelect // this.colSelect.FillWeight = 26F; @@ -360,14 +545,21 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.colMdyTime.Name = "colMdyTime"; this.colMdyTime.ReadOnly = true; // + // colUpdate + // + this.colUpdate.FillWeight = 60F; + this.colUpdate.HeaderText = "替换图片"; + this.colUpdate.Name = "colUpdate"; + this.colUpdate.ReadOnly = true; + this.colUpdate.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colUpdate.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + // // colEdit // this.colEdit.FillWeight = 60F; - this.colEdit.HeaderText = "更新图片"; + this.colEdit.HeaderText = "编辑链接"; this.colEdit.Name = "colEdit"; this.colEdit.ReadOnly = true; - this.colEdit.Resizable = System.Windows.Forms.DataGridViewTriState.True; - this.colEdit.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; // // colSelectImg // @@ -384,32 +576,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.col_delete.HeaderText = "删除"; this.col_delete.Name = "col_delete"; this.col_delete.ReadOnly = true; - this.col_delete.Visible = false; - // - // ucSplitPage1 - // - this.ucSplitPage1.CurrentPage = 1; - this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right; - this.ucSplitPage1.IsShowPageSize = false; - this.ucSplitPage1.Location = new System.Drawing.Point(641, 0); - this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0); - this.ucSplitPage1.Name = "ucSplitPage1"; - this.ucSplitPage1.Padding = new System.Windows.Forms.Padding(0, 0, 1, 0); - this.ucSplitPage1.PageSize = 50; - this.ucSplitPage1.Size = new System.Drawing.Size(362, 25); - this.ucSplitPage1.TabIndex = 6; - this.ucSplitPage1.TotalPage = 1; - // - // statusBar - // - this.statusBar.BackColor = System.Drawing.Color.White; - this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill; - 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, 0); - this.statusBar.Margin = new System.Windows.Forms.Padding(0); - this.statusBar.Name = "statusBar"; - this.statusBar.Size = new System.Drawing.Size(1003, 25); - this.statusBar.TabIndex = 5; // // PDDDBProdImgListForm // @@ -418,6 +584,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.Controls.Add(this.splitContainer1); this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.KeyPreview = true; this.Name = "PDDDBProdImgListForm"; this.Text = "商品替换sku图"; this.TitleText = "商品替换sku图"; @@ -433,6 +600,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.splitContainer2.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit(); this.splitContainer2.ResumeLayout(false); + this.panel3.ResumeLayout(false); + this.panel3.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.dgvDbProduct)).EndInit(); this.ResumeLayout(false); @@ -454,6 +623,17 @@ namespace TemuKJD.PDDForms.ProductSelectForms private UserControls.UcSplitPage ucSplitPage1; private UserControls.StatusBarUserControl statusBar; private System.Windows.Forms.Panel panel2; + private UserComponent.UcCheckBox chkUpdateTag; + private DevComponents.DotNetBar.PanelEx btnAdd; + private System.Windows.Forms.Panel panel3; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.ComboBox cmbEditGroup; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.TextBox txtEditUrl; + private System.Windows.Forms.TextBox txtEditType; + private DevComponents.DotNetBar.PanelEx btnAddEdit; + private DevComponents.DotNetBar.PanelEx btnCancel; private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; private System.Windows.Forms.DataGridViewTextBoxColumn colDbId; private System.Windows.Forms.DataGridViewTextBoxColumn colImgMd5; @@ -464,9 +644,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms private System.Windows.Forms.DataGridViewTextBoxColumn col_notes; private System.Windows.Forms.DataGridViewTextBoxColumn colAddTime; private System.Windows.Forms.DataGridViewTextBoxColumn colMdyTime; + private System.Windows.Forms.DataGridViewLinkColumn colUpdate; private System.Windows.Forms.DataGridViewLinkColumn colEdit; private System.Windows.Forms.DataGridViewLinkColumn colSelectImg; private System.Windows.Forms.DataGridViewLinkColumn col_delete; - private UserComponent.UcCheckBox chkUpdateTag; } } \ No newline at end of file diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdImgListForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdImgListForm.cs index 72546a9..c5e943a 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdImgListForm.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdImgListForm.cs @@ -32,7 +32,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms { InitializeComponent(); this.dgvDbProduct.Columns["colSelectImg"].Visible = false; + this.dgvDbProduct.Columns["colUpdate"].Visible = true; this.dgvDbProduct.Columns["colEdit"].Visible = true; + btnAdd.Visible = true; } public PDDDBProdImgListForm(string type = "manage") @@ -42,13 +44,17 @@ namespace TemuKJD.PDDForms.ProductSelectForms if (type == "manage") { this.dgvDbProduct.Columns["colSelectImg"].Visible = false; + this.dgvDbProduct.Columns["colUpdate"].Visible = true; this.dgvDbProduct.Columns["colEdit"].Visible = true; + btnAdd.Visible = true; chkUpdateTag.Visible = true; } else { this.dgvDbProduct.Columns["colSelectImg"].Visible = true; + this.dgvDbProduct.Columns["colUpdate"].Visible = false; this.dgvDbProduct.Columns["colEdit"].Visible = false; + btnAdd.Visible = false; chkUpdateTag.Visible = false; } } @@ -109,7 +115,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms skuImg.notes, skuImg.add_time.ToString("yy-MM-dd HH:mm"), skuImg.mdy_time.ToString("yy-MM-dd HH:mm"), - "更新图片", + "替换图片", + "编辑链接", "选择", "删除", "认领"); @@ -198,26 +205,30 @@ namespace TemuKJD.PDDForms.ProductSelectForms string headerText = dgvDbProduct.Columns[e.ColumnIndex].HeaderText; var dbId = dgvDbProduct.Rows[e.RowIndex].Cells["colDbId"].Value.ParseToString(); var dbProductImg = lstProdSkuImg.FirstOrDefault(p => p.id.ToString() == dbId); + var row = dgvDbProduct.Rows[e.RowIndex]; switch (headerText) { case "删除": - //if (BaseMsgForm.ShowConfirm("确定删除商品吗?删除后不可恢复!").DialogResult == DialogResult.Cancel) - // return; + if (BaseMsgForm.ShowConfirm("确定删除吗?删除后不可恢复!").DialogResult == DialogResult.Cancel) + return; //DeleteProduct(dbId); break; - case "编辑/详情": - //PDDDBProdEditNotesForm editForm = new PDDDBProdEditNotesForm(dbProduct); - //editForm.ShowDialog(); - //dgvDbProduct.Rows[e.RowIndex].Cells["col_notes"].Value = dbProduct.notes; - //dgvDbProduct.Rows[e.RowIndex].Cells["col_ext_code"].Value = dbProduct.ext_code; - //dgvDbProduct.Rows[e.RowIndex].Cells["colHeadWords"].Value = dbProduct.head_words; - //dgvDbProduct.Rows[e.RowIndex].Cells["colEndWords"].Value = dbProduct.end_words; - //dgvDbProduct.Rows[e.RowIndex].Cells["colFissionWords"].Value = dbProduct.fission_words; - //dgvDbProduct.Rows[e.RowIndex].Cells["col_product_name"].Value = dbProduct.product_name; + case "编辑图片": + case "编辑链接": + panel3.Visible = true; + panel3.Tag = dbProductImg; + txtEditUrl.Text = dbProductImg.img_url; + txtEditType.Text = dbProductImg.img_type; + cmbEditGroup.Text = dbProductImg.img_group; + btnAddEdit.Text = "编辑"; break; case "更新图片": + case "替换图片": + //if (row.Cells["colImgType"].Value.ParseToString() != "混淆图" && row.Cells["colGroup"].Value.ParseToString() != "混淆图") UploadImg(dbProductImg); + //else + // SaveImg(dbProductImg); break; case "选择图片": SelectDbImgId = dbId.ParseToInt(); @@ -236,6 +247,78 @@ namespace TemuKJD.PDDForms.ProductSelectForms } } + public void SaveImg(ProdSkuImg skuImg, bool isMdy = true) + { + pbLoading.Visible = true; + Task.Run(() => + { + try + { + var img_url = skuImg.img_url; + string getImgError; + if (!img_url.Contains("wst.wxapp.tc.qq.com")) + img_url = img_url.Replace("https://", "http://"); + var image = GetHtml.GetUrlImg(img_url, out getImgError); + + string imgBase64 = ""; + string imgMd5 = ""; + if (image != null) + { + + using (MemoryStream memoryStream = new MemoryStream()) + { + image.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg); + byte[] imageBytes = memoryStream.ToArray(); + imgBase64 = Convert.ToBase64String(imageBytes); + } + imgMd5 = BaseClass.GetMd5(imgBase64); + } + + var url = BaseClass.BuildObjString("product/add_sku_img_replace"); + if (isMdy) + url = BaseClass.BuildObjString("product/mdy_sku_img_replace"); + var data = UserLogin.GetSignaturex(); + if (isMdy) + data += "&db_id=" + skuImg.id; + data += "&img_base64=" + imgBase64; + data += "&img_md5=" + imgMd5; + data += "&img_url=" + img_url; + data += "&img_type=" + skuImg.img_type; + data += "&img_group=" + skuImg.img_group; + var html = GetHtml.PostUtf8(url, data); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + html = GetHtml.PostUtf8(url, data); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + html = GetHtml.PostUtf8(url, data); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + { + Invoke(new Action(() => + { + BaseMsgForm.ShowError("商品sku图片替换失败,请重试!" + BaseRegex.GetStringJson(ref html, "msg")); + pbLoading.Visible = false; + })); + return; + } + else + { + skuImg.img_base64 = imgBase64; + skuImg.img_md5 = imgMd5; + } + } + catch (Exception ex) + { + BaseMsgForm.ShowError("打开自定义图片失败 " + ex.Message); + return; + } + Invoke(new Action(() => + { + pbLoading.Visible = false; + panel3.Visible = false; + SearchDbSkuImg(this.ucSplitPage1.CurrentPage); + })); + }); + } + public void UploadImg(ProdSkuImg skuImg) { string text = ""; @@ -299,7 +382,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms } string img_md5 = BaseClass.GetMd5(imgBase64); string img_url = ""; - var img = UploadProdSkuImg(shop, imgBase64, chkUpdateTag.Checked? "mms-material-img" : "mms-goods-image"); + var img = UploadProdSkuImg(shop, imgBase64, chkUpdateTag.Checked ? "mms-material-img" : "mms-goods-image"); if (!img.Contains("\"url\":\"https:") && !img.Contains("\"success\":true")) { var error = BaseRegex.GetStringJson(ref img, "error_msg"); @@ -310,7 +393,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms BaseMsgForm.ShowError("上传sku图片失败 " + error); pbLoading.Visible = false; })); - return ; + return; } else { @@ -566,6 +649,42 @@ Content-Disposition: form-data; name=""pic_operations"" //{"success":true,"error_code":1000000,"error_msg":null,"result":{"id":81055859859,"url_id":0,"mall_id":248737110,"name":"微信图片_20250926210854_2100_1","extension":"jpeg","url":"https://img.pddpic.com/mms-goods-image/2025-10-13/b0cf6e00-77f8-4c1e-b620-ef05f602801c.jpeg.a.jpeg","size":76528,"create_time":1760320860,"update_time":1760320860,"file_type":"pic","extra_info":{"video_cover_url":null,"duration":null,"height":1000,"width":1000,"size":76528,"f20_url":null,"f30_url":null,"transcode_info_dtomap":null,"format":null,"audio_type":null,"transcode_f30_url":null,"md5":null,"vid":null},"is_deleted":0,"tool_source":null,"out_video_url":null,"fail_reason":null,"create_source":1,"check_status":1,"check_uid":null,"check_uname":null,"check_comment":null,"check_time":null,"mall_name":"球球小小店铺55","all_count":0,"used_count":0,"reject_count":0,"same_file_mall_info_list":null}} return result; } + + private void btnAdd_Click(object sender, EventArgs e) + { + panel3.Visible = true; + txtEditUrl.Text = ""; + txtEditType.Text = ""; + cmbEditGroup.Text = ""; + btnAddEdit.Text = "新增"; + } + + private void btnCancel_Click(object sender, EventArgs e) + { + panel3.Visible = false; + } + + private void btnAddEdit_Click(object sender, EventArgs e) + { + //add_sku_img_replace + + if (btnAddEdit.Text == "新增") + { + var skuImg = new ProdSkuImg() { img_group = cmbEditGroup.Text, img_url = txtEditUrl.Text.Trim(), img_type = txtEditType.Text.Trim() }; + SaveImg(skuImg, false); + } + else + { + var skuImg = panel3.Tag as ProdSkuImg; + if (skuImg != null) + { + skuImg.img_group = cmbEditGroup.Text; + skuImg.img_url = txtEditUrl.Text.Trim(); + skuImg.img_type = txtEditType.Text.Trim(); + SaveImg(skuImg); + } + } + } } public class ProdSkuImg diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdImgListForm.resx b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdImgListForm.resx index a924adc..4bad8ca 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdImgListForm.resx +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdImgListForm.resx @@ -147,6 +147,9 @@ True + + True + True diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs index 3a6ac66..9f3dc9a 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs @@ -405,13 +405,13 @@ namespace TemuKJD.PDDForms.ProductSelectForms if (cmbHasReturn.Text.Trim() == "是") - data += "&standby3=1"; + data += "&problem_prod_data=1"; else if (cmbHasReturn.Text.Trim() == "否") - data += "&standby3=is null"; + data += "&problem_prod_data=is null"; else if (cmbHasReturn.Text.Trim() == "回传未拉回") - data += "&standby3=2"; + data += "&problem_prod_data=2"; else if (!string.IsNullOrEmpty(cmbHasReturn.Text.Trim())) - data += "&standby3=" + cmbHasReturn.Text.Trim(); + data += "&problem_prod_data=" + cmbHasReturn.Text.Trim(); })); var html = GetHtml.PostUtf8(url, data); if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) @@ -1964,7 +1964,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms Invoke(new Action(() => { pbLoading.Visible = false; - BaseMsgForm.ShowInfo("操作完成!数据回传 " + prodList.Count() + " 条数据,成功 " + prodList.Where(p => p.standby3 == "2").Count() + " 条"); + BaseMsgForm.ShowInfo("操作完成!数据回传 " + prodList.Count() + " 条数据,成功 " + prodList.Where(p => p.problem_prod_data == "2").Count() + " 条"); })); }, cancellationTokenSource.Token); } @@ -1979,7 +1979,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms Invoke(new Action(() => { this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + 1); - this.statusBar.lblTaskStatus.Text = "正在回传 " + this.statusBar.pgbTaskProgress.Value + "/" + dbProdLst.Count + " 成功:" + dbProdLst.Where(p => p.standby3 == "2").Count(); + this.statusBar.lblTaskStatus.Text = "正在回传 " + this.statusBar.pgbTaskProgress.Value + "/" + dbProdLst.Count + " 成功:" + dbProdLst.Where(p => p.problem_prod_data == "2").Count(); })); var dbProd = PDDDBProdEditForm.GetPddProductDetail(prod.id.ParseToString()); @@ -2012,7 +2012,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms var url3 = BaseClass.BuildPDDObjString("product/mdy_product"); var data3 = Work.UserLogin.GetSignaturex() + "&spu_id=" + dbProd.spu_id + - "&standby3=" + 2; + "&problem_prod_data=" + 2; var html = GetHtml.PostUtf8(url3, data3); if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) html = GetHtml.PostUtf8(url3, data3); @@ -2022,8 +2022,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms } else { - prod.standby3 = "2"; - dbProd.standby3 = "2"; + prod.problem_prod_data = "2"; + dbProd.problem_prod_data = "2"; } } Thread.Sleep(100); @@ -2060,7 +2060,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms Invoke(new Action(() => { pbLoading.Visible = false; - BaseMsgForm.ShowInfo("操作完成!拉回数据回传 " + prodList.Count() + " 条数据,成功 " + prodList.Where(p => p.standby3 == "1").Count() + " 条"); + BaseMsgForm.ShowInfo("操作完成!拉回数据回传 " + prodList.Count() + " 条数据,成功 " + prodList.Where(p => p.problem_prod_data == "1").Count() + " 条"); })); }, cancellationTokenSource.Token); } @@ -2075,7 +2075,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms Invoke(new Action(() => { this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + 1); - this.statusBar.lblTaskStatus.Text = "正在拉回回传 " + this.statusBar.pgbTaskProgress.Value + "/" + dbProdLst.Count + " 成功:" + dbProdLst.Where(p => p.standby3 == "1").Count(); + this.statusBar.lblTaskStatus.Text = "正在拉回回传 " + this.statusBar.pgbTaskProgress.Value + "/" + dbProdLst.Count + " 成功:" + dbProdLst.Where(p => p.problem_prod_data == "1").Count(); })); var dbProd = PDDDBProdEditForm.GetPddProductDetail(prod.id.ParseToString()); var rst = new WxProdFormConverter().JstPddConvertToWxOutServer(dbProd); @@ -2090,7 +2090,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms continue; } - if (dbProd.standby3 != "2") + if (dbProd.problem_prod_data != "2") { //continue; } @@ -2191,11 +2191,11 @@ namespace TemuKJD.PDDForms.ProductSelectForms // var urlFail = BaseClass.BuildPDDObjString("product/mdy_product"); // var dataFail = Work.UserLogin.GetSignaturex() + // "&spu_id=" + dbProd.spu_id + - // "&standby3=" + 3; + // "&problem_prod_data=" + 3; // var htmlFail = GetHtml.PostUtf8(urlFail, dataFail); - // prod.standby3 = "1"; - // dbProd.standby3 = "1"; + // prod.problem_prod_data = "1"; + // dbProd.problem_prod_data = "1"; // continue; // } //} @@ -2206,7 +2206,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms var urlFail = BaseClass.BuildPDDObjString("product/mdy_product"); var dataFail = Work.UserLogin.GetSignaturex() + "&spu_id=" + dbProd.spu_id + - "&standby3=" + 5; + "&problem_prod_data=" + 5; var htmlFail = GetHtml.PostUtf8(urlFail, dataFail); continue; } @@ -2216,11 +2216,11 @@ namespace TemuKJD.PDDForms.ProductSelectForms var url3 = BaseClass.BuildPDDObjString("product/mdy_product"); var data3 = Work.UserLogin.GetSignaturex() + "&spu_id=" + dbProd.spu_id; - //if (dbProd.standby3 == "5" || dbProd.standby3 == "6") - // data3 += "&standby3=" + 6; + //if (dbProd.problem_prod_data == "5" || dbProd.problem_prod_data == "6") + // data3 += "&problem_prod_data=" + 6; //else - // data3 += "&standby3=" + 1; - data3 += "&standby3=" + 6; + // data3 += "&problem_prod_data=" + 1; + data3 += "&problem_prod_data=" + 6; var html = GetHtml.PostUtf8(url3, data3); if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) html = GetHtml.PostUtf8(url3, data3); @@ -2229,8 +2229,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms } else { - prod.standby3 = "1"; - dbProd.standby3 = "1"; + prod.problem_prod_data = "1"; + dbProd.problem_prod_data = "1"; } } catch diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.Designer.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.Designer.cs index 265efa6..e031194 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.Designer.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.Designer.cs @@ -39,7 +39,12 @@ namespace TemuKJD.PDDForms.ProductSelectForms System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.ucGroupBoxEx2 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.chk15996 = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.chk21365 = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.label21 = new System.Windows.Forms.Label(); + this.txtAlpha = new System.Windows.Forms.TextBox(); this.chkRandomCompanyProd = new TemuKJD.UserComponent.UcCheckBox(this.components); + this.label13 = new System.Windows.Forms.Label(); this.txtAddShippingFeeTimes = new System.Windows.Forms.TextBox(); this.label12 = new System.Windows.Forms.Label(); this.btnApiUpload = new DevComponents.DotNetBar.PanelEx(); @@ -56,8 +61,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.txtUpgradeVersionName = new System.Windows.Forms.TextBox(); this.chkUpgradeVersion = new TemuKJD.UserComponent.UcCheckBox(this.components); this.btnStop = new DevComponents.DotNetBar.PanelEx(); - this.chk15996 = new TemuKJD.UserComponent.UcCheckBox(this.components); - this.chk21365 = new TemuKJD.UserComponent.UcCheckBox(this.components); this.chk20981 = new TemuKJD.UserComponent.UcCheckBox(this.components); this.chk22347 = new TemuKJD.UserComponent.UcCheckBox(this.components); this.chkKeepChanceGoodsImg = new TemuKJD.UserComponent.UcCheckBox(this.components); @@ -92,6 +95,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.lblLowPriceSkuImg = new System.Windows.Forms.Label(); this.label15 = new System.Windows.Forms.Label(); this.label11 = new System.Windows.Forms.Label(); + this.line1 = new DevComponents.DotNetBar.Controls.Line(); + this.line2 = new DevComponents.DotNetBar.Controls.Line(); this.ucGroupBoxEx4 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); this.btnProdDb = new DevComponents.DotNetBar.PanelEx(); this.chkSkipQualification = new TemuKJD.UserComponent.UcCheckBox(this.components); @@ -219,7 +224,12 @@ namespace TemuKJD.PDDForms.ProductSelectForms | System.Windows.Forms.AnchorStyles.Right))); this.ucGroupBoxEx2.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); this.ucGroupBoxEx2.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND; + this.ucGroupBoxEx2.Controls.Add(this.chk15996); + this.ucGroupBoxEx2.Controls.Add(this.chk21365); + this.ucGroupBoxEx2.Controls.Add(this.label21); + this.ucGroupBoxEx2.Controls.Add(this.txtAlpha); this.ucGroupBoxEx2.Controls.Add(this.chkRandomCompanyProd); + this.ucGroupBoxEx2.Controls.Add(this.label13); this.ucGroupBoxEx2.Controls.Add(this.txtAddShippingFeeTimes); this.ucGroupBoxEx2.Controls.Add(this.label12); this.ucGroupBoxEx2.Controls.Add(this.btnApiUpload); @@ -236,8 +246,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.ucGroupBoxEx2.Controls.Add(this.txtUpgradeVersionName); this.ucGroupBoxEx2.Controls.Add(this.chkUpgradeVersion); this.ucGroupBoxEx2.Controls.Add(this.btnStop); - this.ucGroupBoxEx2.Controls.Add(this.chk15996); - this.ucGroupBoxEx2.Controls.Add(this.chk21365); this.ucGroupBoxEx2.Controls.Add(this.chk20981); this.ucGroupBoxEx2.Controls.Add(this.chk22347); this.ucGroupBoxEx2.Controls.Add(this.chkKeepChanceGoodsImg); @@ -268,6 +276,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.ucGroupBoxEx2.Controls.Add(this.lblLowPriceSkuImg); this.ucGroupBoxEx2.Controls.Add(this.label15); this.ucGroupBoxEx2.Controls.Add(this.label11); + this.ucGroupBoxEx2.Controls.Add(this.line1); + this.ucGroupBoxEx2.Controls.Add(this.line2); this.ucGroupBoxEx2.Location = new System.Drawing.Point(459, 2); this.ucGroupBoxEx2.Name = "ucGroupBoxEx2"; this.ucGroupBoxEx2.Size = new System.Drawing.Size(1110, 140); @@ -275,11 +285,52 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.ucGroupBoxEx2.TabStop = false; this.ucGroupBoxEx2.Text = "商品上传"; // + // chk15996 + // + this.chk15996.AutoSize = true; + this.chk15996.Location = new System.Drawing.Point(697, 62); + this.chk15996.Name = "chk15996"; + this.chk15996.Size = new System.Drawing.Size(62, 21); + this.chk15996.TabIndex = 682; + this.chk15996.Text = "15996"; + this.chk15996.UseVisualStyleBackColor = true; + this.chk15996.CheckedChanged += new System.EventHandler(this.chkActivityDetail_CheckedChanged); + // + // chk21365 + // + this.chk21365.AutoSize = true; + this.chk21365.Location = new System.Drawing.Point(642, 62); + this.chk21365.Name = "chk21365"; + this.chk21365.Size = new System.Drawing.Size(62, 21); + this.chk21365.TabIndex = 681; + this.chk21365.Text = "21365"; + this.chk21365.UseVisualStyleBackColor = true; + this.chk21365.CheckedChanged += new System.EventHandler(this.chkActivityDetail_CheckedChanged); + // + // label21 + // + this.label21.AutoSize = true; + this.label21.Location = new System.Drawing.Point(827, 40); + this.label21.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label21.Name = "label21"; + this.label21.Size = new System.Drawing.Size(19, 17); + this.label21.TabIndex = 823; + this.label21.Text = "%"; + // + // txtAlpha + // + this.txtAlpha.Location = new System.Drawing.Point(794, 37); + this.txtAlpha.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); + this.txtAlpha.Name = "txtAlpha"; + this.txtAlpha.Size = new System.Drawing.Size(33, 23); + this.txtAlpha.TabIndex = 822; + this.txtAlpha.Text = "2"; + // // chkRandomCompanyProd // this.chkRandomCompanyProd.Checked = true; this.chkRandomCompanyProd.CheckState = System.Windows.Forms.CheckState.Checked; - this.chkRandomCompanyProd.Location = new System.Drawing.Point(846, 111); + this.chkRandomCompanyProd.Location = new System.Drawing.Point(920, 11); this.chkRandomCompanyProd.Name = "chkRandomCompanyProd"; this.chkRandomCompanyProd.Size = new System.Drawing.Size(87, 21); this.chkRandomCompanyProd.TabIndex = 808; @@ -287,6 +338,16 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.chkRandomCompanyProd.UseVisualStyleBackColor = true; this.chkRandomCompanyProd.Visible = false; // + // label13 + // + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(703, 40); + this.label13.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(92, 17); + this.label13.TabIndex = 821; + this.label13.Text = "替换图不透明度"; + // // txtAddShippingFeeTimes // this.txtAddShippingFeeTimes.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); @@ -341,7 +402,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.btnUpload.Cursor = System.Windows.Forms.Cursors.Hand; this.btnUpload.DisabledBackColor = System.Drawing.Color.Empty; this.btnUpload.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnUpload.Location = new System.Drawing.Point(1031, 81); + this.btnUpload.Location = new System.Drawing.Point(1031, 71); this.btnUpload.Name = "btnUpload"; this.btnUpload.Size = new System.Drawing.Size(66, 23); this.btnUpload.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -363,7 +424,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.label7.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.label7.AutoSize = true; - this.label7.Location = new System.Drawing.Point(992, 43); + this.label7.Location = new System.Drawing.Point(1003, 61); this.label7.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.label7.Name = "label7"; this.label7.Size = new System.Drawing.Size(20, 17); @@ -373,7 +434,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // txtWaitSeconds // this.txtWaitSeconds.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.txtWaitSeconds.Location = new System.Drawing.Point(960, 40); + this.txtWaitSeconds.Location = new System.Drawing.Point(971, 58); this.txtWaitSeconds.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); this.txtWaitSeconds.Name = "txtWaitSeconds"; this.txtWaitSeconds.Size = new System.Drawing.Size(32, 23); @@ -385,7 +446,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.label6.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(906, 43); + this.label6.Location = new System.Drawing.Point(917, 61); this.label6.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.label6.Name = "label6"; this.label6.Size = new System.Drawing.Size(56, 17); @@ -397,7 +458,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.chkUseExtCodePrice.AutoSize = true; this.chkUseExtCodePrice.Checked = true; this.chkUseExtCodePrice.CheckState = System.Windows.Forms.CheckState.Checked; - this.chkUseExtCodePrice.Location = new System.Drawing.Point(780, 22); + this.chkUseExtCodePrice.Location = new System.Drawing.Point(776, 11); this.chkUseExtCodePrice.Name = "chkUseExtCodePrice"; this.chkUseExtCodePrice.Size = new System.Drawing.Size(147, 21); this.chkUseExtCodePrice.TabIndex = 717; @@ -408,7 +469,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // pbUpgradeVersion // this.pbUpgradeVersion.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.pbUpgradeVersion.Location = new System.Drawing.Point(853, 80); + this.pbUpgradeVersion.Location = new System.Drawing.Point(853, 86); this.pbUpgradeVersion.Name = "pbUpgradeVersion"; this.pbUpgradeVersion.Size = new System.Drawing.Size(25, 25); this.pbUpgradeVersion.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; @@ -421,7 +482,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.lblUpgradeVersion.AutoSize = true; this.lblUpgradeVersion.Cursor = System.Windows.Forms.Cursors.Hand; this.lblUpgradeVersion.ForeColor = System.Drawing.SystemColors.HotTrack; - this.lblUpgradeVersion.Location = new System.Drawing.Point(799, 84); + this.lblUpgradeVersion.Location = new System.Drawing.Point(799, 90); this.lblUpgradeVersion.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.lblUpgradeVersion.Name = "lblUpgradeVersion"; this.lblUpgradeVersion.Size = new System.Drawing.Size(56, 17); @@ -433,7 +494,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.label3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(782, 84); + this.label3.Location = new System.Drawing.Point(782, 90); this.label3.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.label3.Name = "label3"; this.label3.Size = new System.Drawing.Size(20, 17); @@ -443,7 +504,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // txtUpgradeVersionAddPrice // this.txtUpgradeVersionAddPrice.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.txtUpgradeVersionAddPrice.Location = new System.Drawing.Point(751, 81); + this.txtUpgradeVersionAddPrice.Location = new System.Drawing.Point(751, 87); this.txtUpgradeVersionAddPrice.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); this.txtUpgradeVersionAddPrice.Name = "txtUpgradeVersionAddPrice"; this.txtUpgradeVersionAddPrice.Size = new System.Drawing.Size(31, 23); @@ -455,7 +516,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.label5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.label5.AutoSize = true; - this.label5.Location = new System.Drawing.Point(695, 84); + this.label5.Location = new System.Drawing.Point(695, 90); this.label5.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.label5.Name = "label5"; this.label5.Size = new System.Drawing.Size(56, 17); @@ -465,7 +526,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // txtUpgradeVersionName // this.txtUpgradeVersionName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.txtUpgradeVersionName.Location = new System.Drawing.Point(607, 81); + this.txtUpgradeVersionName.Location = new System.Drawing.Point(607, 87); this.txtUpgradeVersionName.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); this.txtUpgradeVersionName.Name = "txtUpgradeVersionName"; this.txtUpgradeVersionName.Size = new System.Drawing.Size(88, 23); @@ -476,7 +537,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // chkUpgradeVersion // this.chkUpgradeVersion.AutoSize = true; - this.chkUpgradeVersion.Location = new System.Drawing.Point(531, 82); + this.chkUpgradeVersion.Location = new System.Drawing.Point(531, 88); this.chkUpgradeVersion.Name = "chkUpgradeVersion"; this.chkUpgradeVersion.Size = new System.Drawing.Size(83, 21); this.chkUpgradeVersion.TabIndex = 692; @@ -490,7 +551,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms 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(1031, 110); + this.btnStop.Location = new System.Drawing.Point(1031, 102); this.btnStop.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); this.btnStop.Name = "btnStop"; this.btnStop.Size = new System.Drawing.Size(66, 23); @@ -510,32 +571,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.btnStop.Text = "停止上传"; this.btnStop.Click += new System.EventHandler(this.btnStop_Click); // - // chk15996 - // - this.chk15996.AutoSize = true; - this.chk15996.Location = new System.Drawing.Point(870, 52); - this.chk15996.Name = "chk15996"; - this.chk15996.Size = new System.Drawing.Size(62, 21); - this.chk15996.TabIndex = 682; - this.chk15996.Text = "15996"; - this.chk15996.UseVisualStyleBackColor = true; - this.chk15996.CheckedChanged += new System.EventHandler(this.chkActivityDetail_CheckedChanged); - // - // chk21365 - // - this.chk21365.AutoSize = true; - this.chk21365.Location = new System.Drawing.Point(815, 52); - this.chk21365.Name = "chk21365"; - this.chk21365.Size = new System.Drawing.Size(62, 21); - this.chk21365.TabIndex = 681; - this.chk21365.Text = "21365"; - this.chk21365.UseVisualStyleBackColor = true; - this.chk21365.CheckedChanged += new System.EventHandler(this.chkActivityDetail_CheckedChanged); - // // chk20981 // this.chk20981.AutoSize = true; - this.chk20981.Location = new System.Drawing.Point(760, 52); + this.chk20981.Location = new System.Drawing.Point(587, 62); this.chk20981.Name = "chk20981"; this.chk20981.Size = new System.Drawing.Size(62, 21); this.chk20981.TabIndex = 680; @@ -546,7 +585,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // chk22347 // this.chk22347.AutoSize = true; - this.chk22347.Location = new System.Drawing.Point(705, 52); + this.chk22347.Location = new System.Drawing.Point(531, 62); this.chk22347.Name = "chk22347"; this.chk22347.Size = new System.Drawing.Size(62, 21); this.chk22347.TabIndex = 679; @@ -559,7 +598,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.chkKeepChanceGoodsImg.AutoSize = true; this.chkKeepChanceGoodsImg.Checked = true; this.chkKeepChanceGoodsImg.CheckState = System.Windows.Forms.CheckState.Checked; - this.chkKeepChanceGoodsImg.Location = new System.Drawing.Point(642, 22); + this.chkKeepChanceGoodsImg.Location = new System.Drawing.Point(640, 11); this.chkKeepChanceGoodsImg.Name = "chkKeepChanceGoodsImg"; this.chkKeepChanceGoodsImg.Size = new System.Drawing.Size(135, 21); this.chkKeepChanceGoodsImg.TabIndex = 669; @@ -570,7 +609,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // pbSkuImg // this.pbSkuImg.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.pbSkuImg.Location = new System.Drawing.Point(810, 109); + this.pbSkuImg.Location = new System.Drawing.Point(810, 111); this.pbSkuImg.Name = "pbSkuImg"; this.pbSkuImg.Size = new System.Drawing.Size(25, 25); this.pbSkuImg.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; @@ -582,7 +621,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.label19.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.label19.AutoSize = true; - this.label19.Location = new System.Drawing.Point(743, 113); + this.label19.Location = new System.Drawing.Point(743, 115); this.label19.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.label19.Name = "label19"; this.label19.Size = new System.Drawing.Size(20, 17); @@ -592,7 +631,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // txtLowPriceSkuPrice // this.txtLowPriceSkuPrice.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.txtLowPriceSkuPrice.Location = new System.Drawing.Point(711, 110); + this.txtLowPriceSkuPrice.Location = new System.Drawing.Point(711, 112); this.txtLowPriceSkuPrice.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); this.txtLowPriceSkuPrice.Name = "txtLowPriceSkuPrice"; this.txtLowPriceSkuPrice.Size = new System.Drawing.Size(32, 23); @@ -603,7 +642,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // txtLowPriceSkuName // this.txtLowPriceSkuName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.txtLowPriceSkuName.Location = new System.Drawing.Point(607, 110); + this.txtLowPriceSkuName.Location = new System.Drawing.Point(607, 112); this.txtLowPriceSkuName.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); this.txtLowPriceSkuName.Name = "txtLowPriceSkuName"; this.txtLowPriceSkuName.Size = new System.Drawing.Size(50, 23); @@ -615,7 +654,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.label18.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.label18.AutoSize = true; - this.label18.Location = new System.Drawing.Point(657, 113); + this.label18.Location = new System.Drawing.Point(657, 115); this.label18.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.label18.Name = "label18"; this.label18.Size = new System.Drawing.Size(56, 17); @@ -625,7 +664,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // txtAddTimesFake // this.txtAddTimesFake.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.txtAddTimesFake.Location = new System.Drawing.Point(658, 51); + this.txtAddTimesFake.Location = new System.Drawing.Point(658, 37); this.txtAddTimesFake.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); this.txtAddTimesFake.Name = "txtAddTimesFake"; this.txtAddTimesFake.Size = new System.Drawing.Size(26, 23); @@ -636,7 +675,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // chkActivity // this.chkActivity.AutoSize = true; - this.chkActivity.Location = new System.Drawing.Point(531, 52); + this.chkActivity.Location = new System.Drawing.Point(531, 38); this.chkActivity.Name = "chkActivity"; this.chkActivity.Size = new System.Drawing.Size(135, 21); this.chkActivity.TabIndex = 648; @@ -648,7 +687,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.label17.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.label17.AutoSize = true; - this.label17.Location = new System.Drawing.Point(684, 54); + this.label17.Location = new System.Drawing.Point(684, 40); this.label17.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.label17.Name = "label17"; this.label17.Size = new System.Drawing.Size(20, 17); @@ -660,7 +699,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.chkUpperSizeSpec.AutoSize = true; this.chkUpperSizeSpec.Checked = true; this.chkUpperSizeSpec.CheckState = System.Windows.Forms.CheckState.Checked; - this.chkUpperSizeSpec.Location = new System.Drawing.Point(531, 22); + this.chkUpperSizeSpec.Location = new System.Drawing.Point(531, 11); this.chkUpperSizeSpec.Name = "chkUpperSizeSpec"; this.chkUpperSizeSpec.Size = new System.Drawing.Size(111, 21); this.chkUpperSizeSpec.TabIndex = 635; @@ -685,7 +724,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.btnClearDgv.CanvasColor = System.Drawing.SystemColors.Control; this.btnClearDgv.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnClearDgv.DisabledBackColor = System.Drawing.Color.Empty; - this.btnClearDgv.Location = new System.Drawing.Point(944, 110); + this.btnClearDgv.Location = new System.Drawing.Point(944, 102); this.btnClearDgv.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); this.btnClearDgv.Name = "btnClearDgv"; this.btnClearDgv.Size = new System.Drawing.Size(84, 23); @@ -929,12 +968,11 @@ namespace TemuKJD.PDDForms.ProductSelectForms // chkChance // this.chkChance.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.chkChance.AutoSize = true; this.chkChance.Checked = true; this.chkChance.CheckState = System.Windows.Forms.CheckState.Checked; - this.chkChance.Location = new System.Drawing.Point(1020, 17); + this.chkChance.Location = new System.Drawing.Point(1024, 17); this.chkChance.Name = "chkChance"; - this.chkChance.Size = new System.Drawing.Size(87, 21); + this.chkChance.Size = new System.Drawing.Size(77, 21); this.chkChance.TabIndex = 556; this.chkChance.Text = "调用新接口"; this.chkChance.UseVisualStyleBackColor = true; @@ -943,7 +981,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // chkLowPriceSku // this.chkLowPriceSku.AutoSize = true; - this.chkLowPriceSku.Location = new System.Drawing.Point(531, 111); + this.chkLowPriceSku.Location = new System.Drawing.Point(531, 112); this.chkLowPriceSku.Name = "chkLowPriceSku"; this.chkLowPriceSku.Size = new System.Drawing.Size(83, 21); this.chkLowPriceSku.TabIndex = 660; @@ -956,7 +994,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.lblLowPriceSkuImg.AutoSize = true; this.lblLowPriceSkuImg.Cursor = System.Windows.Forms.Cursors.Hand; this.lblLowPriceSkuImg.ForeColor = System.Drawing.SystemColors.HotTrack; - this.lblLowPriceSkuImg.Location = new System.Drawing.Point(760, 113); + this.lblLowPriceSkuImg.Location = new System.Drawing.Point(760, 115); this.lblLowPriceSkuImg.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); this.lblLowPriceSkuImg.Name = "lblLowPriceSkuImg"; this.lblLowPriceSkuImg.Size = new System.Drawing.Size(52, 17); @@ -986,6 +1024,24 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.label11.TabIndex = 536; this.label11.Text = "元,单买加"; // + // line1 + // + this.line1.ForeColor = System.Drawing.SystemColors.ActiveCaption; + this.line1.Location = new System.Drawing.Point(530, 29); + this.line1.Name = "line1"; + this.line1.Size = new System.Drawing.Size(316, 10); + this.line1.TabIndex = 836; + this.line1.Text = "line1"; + // + // line2 + // + this.line2.ForeColor = System.Drawing.SystemColors.ActiveCaption; + this.line2.Location = new System.Drawing.Point(531, 79); + this.line2.Name = "line2"; + this.line2.Size = new System.Drawing.Size(315, 10); + this.line2.TabIndex = 837; + this.line2.Text = "line2"; + // // ucGroupBoxEx4 // this.ucGroupBoxEx4.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) @@ -2073,5 +2129,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms private System.Windows.Forms.PictureBox pbShopLoading; private DevComponents.DotNetBar.PanelEx btnProdDb; private UserComponent.UcCheckBox chkRandomCompanyProd; + private System.Windows.Forms.Label label21; + private System.Windows.Forms.TextBox txtAlpha; + private System.Windows.Forms.Label label13; + private DevComponents.DotNetBar.Controls.Line line1; + private DevComponents.DotNetBar.Controls.Line line2; } } \ No newline at end of file diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs index 292260d..a75fd66 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs @@ -28,6 +28,7 @@ using AllBase.Model.Param.PDDProdParam; using CefSharp; using TemuKJD.BLL.PddApi; using TemuKJD.WXForms.ProductForms; +using System.Drawing.Imaging; namespace TemuKJD.PDDForms.ProductSelectForms { @@ -6717,6 +6718,7 @@ Content-Type: image/jpeg }, cancellationTokenSource.Token); } + void GetShopAndUpProduct(CancellationToken token) { NaiBa.Util.ConcurrentList currentUpShopLst = new NaiBa.Util.ConcurrentList(); @@ -6996,6 +6998,41 @@ Content-Type: image/jpeg var pddApi = new PddApi(shop); + #region 获取sku替换图 + string fakeImgUrl; + Image fakeImg = null; + if (chkActivity.Checked) + { + var url = BaseClass.BuildObjString("product/get_sku_replace_img_list_random"); + var data = ""; + data = UserLogin.GetSignaturex() + + "&page=" + 1 + + "&page_size=" + 1; + data += "&in_img_type=混淆图"; + var html = GetHtml.PostUtf8(url, data); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + { + } + else + { + try + { + JObject jObj = JObject.Parse(html); + fakeImgUrl = jObj["data"].FirstOrDefault().ParseToString(); + + string getImgError = ""; + if (!fakeImgUrl.Contains("wst.wxapp.tc.qq.com")) + fakeImgUrl = fakeImgUrl.Replace("https://", "http://"); + fakeImg = GetHtml.GetUrlImg(fakeImgUrl, out getImgError); + } + catch + { + + } + } + } + #endregion + // 主图 int cnt = 0; string carousel_gallery = ""; @@ -7009,7 +7046,12 @@ Content-Type: image/jpeg })); string errMsg = ""; - var imgBase64 = WXForms.ProductForms.WXDBProdUploadForm.GetImgBase64ForApi(out errMsg, img.url, false, false); + var imgBase64 = ""; + float alpha = Math.Min(100, Math.Max(1, txtAlpha.Text.ParseToInt())) / 100f; + if (chkActivity.Checked) + imgBase64 = PddGetImgBase64ForApi(out errMsg, img.url, fakeImg, pbUpgradeVersion.Image, alpha); + else + imgBase64 = PddGetImgBase64ForApi(out errMsg, img.url, null); if (!string.IsNullOrEmpty(errMsg)) { return "主图初始化失败 " + errMsg; @@ -7026,6 +7068,8 @@ Content-Type: image/jpeg return "主图上传失败 " + errMsg; } carousel_gallery += "\"" + BaseRegex.GetStringJson(ref pddUpImgApiRst, "image_url") + "\","; + + //break; } pddApi.Data["carousel_gallery"] = "[" + carousel_gallery.Trim(',') + "]"; @@ -7070,7 +7114,13 @@ Content-Type: image/jpeg })); string errMsg = ""; - var imgBase64 = WXForms.ProductForms.WXDBProdUploadForm.GetImgBase64ForApi(out errMsg, img.url, false, false); + var imgBase64 = ""; + float alpha = Math.Min(100, Math.Max(1, txtAlpha.Text.ParseToInt())) / 100f; + if (chkActivity.Checked) + imgBase64 = PddGetImgBase64ForApi(out errMsg, img.url, fakeImg, null, alpha); + else + imgBase64 = PddGetImgBase64ForApi(out errMsg, img.url, null); + if (!string.IsNullOrEmpty(errMsg)) { return "详情图初始化失败 " + errMsg; @@ -7087,12 +7137,18 @@ Content-Type: image/jpeg return "详情图上传失败 " + errMsg; } detail_gallery += "\"" + BaseRegex.GetStringJson(ref pddUpImgApiRst, "image_url") + "\","; + + //break; } pddApi.Data["detail_gallery"] = "[" + detail_gallery.Trim(',') + "]"; if (!string.IsNullOrEmpty(prodInfo.detail.goods_desc)) pddApi.Data["goods_desc"] = prodInfo.detail.goods_desc; pddApi.Data["goods_name"] = prodInfo.detail.goods_name; + if (chkActivity.Checked) + { + //pddApi.Data["goods_name"] = new string(("精品家用好物很好的产品" + prodInfo.detail.goods_name).ToArray().OrderBy(x => Randomx.GetId(999999)).Take(30).ToArray()); + } Invoke(new Action(() => { @@ -7333,61 +7389,160 @@ Content-Type: image/jpeg } #endregion - #region 生成一组正常加价后的sku - var skuApiString = ""; - long? minPrice = 99999999; - long? maxPrice = 0; - int marketPrice = prodInfo.detail.market_price.ParseToInt(); - List addPriceSkuInfoLst = new List(); - foreach (var sku in prodInfo.detail.sku) + #region 生成一组高倍率加价后的sku + List addPriceFakeSkuInfoLst = new List(); + Dictionary skuFakeSpecNameDic1 = new Dictionary(); + Dictionary skuFakeSpecNameDic2 = new Dictionary(); + int marketPriceFake = prodInfo.detail.market_price.ParseToInt(); { - var skuInfo = JsonHelper.DeserializeJsonToObject(JsonHelper.SerializeObject(sku)); - skuInfo.is_onsale = skuInfo.is_onsale != null ? skuInfo.is_onsale : 1; - skuInfo.limit_quantity = 999; // 只入参999 - - // 厂商直采的上家缺货则保持缺货。 - if (skuInfo.quantity != 0) - skuInfo.quantity = txtStockNum.Text.Trim().ParseToInt(); - - var new_multi_price = sku.multi_price + (shipPrice * defaultAddPriceRule.AddShippingFeeTimes).ParseToInt(); - - skuInfo.multi_price = (new_multi_price * this.txtAddTimes.Text.Trim().ParseToDecimal() + this.txtAddMorePrice.Text.Trim().ParseToDecimal() * 100).ParseToInt(); - //skuInfo.price = (sku.price * this.txtAddTimes.Text.Trim().ParseToDecimal() + this.txtAddMorePrice.Text.Trim().ParseToDecimal() * 100).ParseToInt(); - if (isAddMorePriceFirst) // 先加后乘 - skuInfo.multi_price = ((new_multi_price + this.txtAddMorePrice.Text.Trim().ParseToDecimal() * 100) * this.txtAddTimes.Text.Trim().ParseToDecimal()).ParseToInt(); - skuInfo.price = skuInfo.multi_price + Math.Max(100, this.txtSinglePriceAdd.Text.Trim().ParseToDecimal() * 100).ParseToInt(); - - // 阶梯式加价,如果命中则按阶梯式加价进行 - if (isStepAddPrice) + var maxPrice1 = 0; + foreach (var sku in prodInfo.detail.sku) { - foreach (var addPrice in lstAddPriceRule) + var skuInfo = JsonHelper.DeserializeJsonToObject(JsonHelper.SerializeObject(sku)); + skuInfo.is_onsale = skuInfo.is_onsale != null ? skuInfo.is_onsale : 1; + skuInfo.limit_quantity = 999; // 只入参999 + + // 厂商直采的上家缺货则保持缺货。 + if (skuInfo.quantity != 0) + skuInfo.quantity = txtStockNum.Text.Trim().ParseToInt(); + + var new_multi_price = sku.multi_price + (shipPrice * defaultAddPriceRule.AddShippingFeeTimes).ParseToInt(); + + skuInfo.multi_price = (new_multi_price * this.txtAddTimesFake.Text.Trim().ParseToDecimal() + this.txtAddMorePrice.Text.Trim().ParseToDecimal() * 100).ParseToInt(); + //skuInfo.price = (sku.price * this.txtAddTimesFake.Text.Trim().ParseToDecimal() + this.txtAddMorePrice.Text.Trim().ParseToDecimal() * 100).ParseToInt(); + if (isAddMorePriceFirst) // 先加后乘 + skuInfo.multi_price = ((new_multi_price + this.txtAddMorePrice.Text.Trim().ParseToDecimal() * 100) * this.txtAddTimesFake.Text.Trim().ParseToDecimal()).ParseToInt(); + skuInfo.price = skuInfo.multi_price + Math.Max(100, this.txtSinglePriceAdd.Text.Trim().ParseToDecimal() * 100).ParseToInt(); + + if (marketPriceFake < skuInfo.price + 1000) { - if (new_multi_price > addPrice.MoreThanPrice * 100 && new_multi_price <= addPrice.LessThanPrice * 100) + marketPriceFake = skuInfo.price.ParseToInt() + 1000; + //pddApi.Data["market_price"] = marketPriceFake; + } + + //skuInfo.spec[0].spec_name = "黑色" + Randomx.GetId(1000); + //if (Randomx.GetId(3) == 1) + // skuInfo.spec[0].spec_name = "白色" + Randomx.GetId(1000); + //if (Randomx.GetId(3) == 2) + // skuInfo.spec[0].spec_name = "蓝色" + Randomx.GetId(1000); + + //if (skuInfo.spec.Count > 1) + // skuInfo.spec[1].spec_name = "" + (Math.Abs(skuInfo.spec[1].spec_name.GetHashCode()) % 251 + 50) + "个 人买过 " + + // (Math.Abs(BaseClass.GetMd5(skuInfo.spec[1].spec_name).GetHashCode()) % 9001 + 3000) + "件" + skuInfo.spec[1].spec_name; + //else + // skuInfo.spec[0].spec_name = "" + (Math.Abs(skuInfo.spec[0].spec_name.GetHashCode()) % 251 + 50) + "个 人买过 " + + // (Math.Abs(BaseClass.GetMd5(skuInfo.spec[0].spec_name).GetHashCode()) % 9001 + 3000) + "件" + skuInfo.spec[0].spec_name; + + if (skuInfo.spec.Count == 1) + { + if(skuInfo.spec[0].parent_name != "规格" ) + skuInfo.spec.Add(new spec_item() { parent_name = "规格", spec_name = "默认规格" }); + else + skuInfo.spec.Add(new spec_item() { parent_name = "款式", spec_name = "默认款式" }); + } + + if (skuInfo.spec.Count > 0) + { + if (skuFakeSpecNameDic1.Keys.Contains(skuInfo.spec[0].spec_name)) + skuInfo.spec[0].spec_name = skuFakeSpecNameDic1[skuInfo.spec[0].spec_name]; + else { - if (isAddMorePriceFirst) // 先加后乘 - skuInfo.multi_price = ((new_multi_price + addPrice.AddMorePrice * 100) * addPrice.AddPriceTimes).ParseToInt(); - else - skuInfo.multi_price = (new_multi_price * addPrice.AddPriceTimes + addPrice.AddMorePrice * 100).ParseToInt(); - skuInfo.price = skuInfo.multi_price + Math.Max(100, addPrice.SinglePriceAdd * 100).ParseToInt(); ; - break; + skuFakeSpecNameDic1[skuInfo.spec[0].spec_name] = skuInfo.spec[0].parent_name + (skuFakeSpecNameDic1.Keys.Count + 1); + skuInfo.spec[0].spec_name = skuFakeSpecNameDic1[skuInfo.spec[0].spec_name]; + } + } + if (skuInfo.spec.Count > 1) + { + if (skuFakeSpecNameDic2.Keys.Contains(skuInfo.spec[1].spec_name)) + skuInfo.spec[1].spec_name = skuFakeSpecNameDic2[skuInfo.spec[1].spec_name]; + else + { + skuFakeSpecNameDic2[skuInfo.spec[1].spec_name] = "" + Randomx.GetId(50, 301) + "个 人买过 " + Randomx.GetId(3000, 12001) + "件 " + + skuInfo.spec[1].parent_name + (skuFakeSpecNameDic2.Keys.Count + 1); + skuInfo.spec[1].spec_name = skuFakeSpecNameDic2[skuInfo.spec[1].spec_name]; } } - } - // 聚水潭商品 加邮费×倍率 放前面 - //skuInfo.multi_price += (shipPrice * defaultAddPriceRule.AddShippingFeeTimes).ParseToInt(); - //skuInfo.price += (shipPrice * defaultAddPriceRule.AddShippingFeeTimes).ParseToInt(); - if (marketPrice < skuInfo.price + 1000) + if (maxPrice1 < skuInfo.multi_price) + maxPrice1 = skuInfo.multi_price.ParseToInt(); + + addPriceFakeSkuInfoLst.Add(skuInfo); + + //break; + } + + foreach (var sk in addPriceFakeSkuInfoLst) { - marketPrice = skuInfo.price.ParseToInt() + 1000; - pddApi.Data["market_price"] = marketPrice; + sk.multi_price = maxPrice1; + sk.price = maxPrice1 + 100; } - - addPriceSkuInfoLst.Add(skuInfo); - } #endregion + #region 生成一组正常加价后的sku + List addPriceSkuInfoLst = new List(); + int marketPrice = prodInfo.detail.market_price.ParseToInt(); + { + foreach (var sku in prodInfo.detail.sku) + { + var skuInfo = JsonHelper.DeserializeJsonToObject(JsonHelper.SerializeObject(sku)); + skuInfo.is_onsale = skuInfo.is_onsale != null ? skuInfo.is_onsale : 1; + skuInfo.limit_quantity = 999; // 只入参999 + + // 厂商直采的上家缺货则保持缺货。 + if (skuInfo.quantity != 0) + skuInfo.quantity = txtStockNum.Text.Trim().ParseToInt(); + + var new_multi_price = sku.multi_price + (shipPrice * defaultAddPriceRule.AddShippingFeeTimes).ParseToInt(); + + skuInfo.multi_price = (new_multi_price * this.txtAddTimes.Text.Trim().ParseToDecimal() + this.txtAddMorePrice.Text.Trim().ParseToDecimal() * 100).ParseToInt(); + //skuInfo.price = (sku.price * this.txtAddTimes.Text.Trim().ParseToDecimal() + this.txtAddMorePrice.Text.Trim().ParseToDecimal() * 100).ParseToInt(); + if (isAddMorePriceFirst) // 先加后乘 + skuInfo.multi_price = ((new_multi_price + this.txtAddMorePrice.Text.Trim().ParseToDecimal() * 100) * this.txtAddTimes.Text.Trim().ParseToDecimal()).ParseToInt(); + skuInfo.price = skuInfo.multi_price + Math.Max(100, this.txtSinglePriceAdd.Text.Trim().ParseToDecimal() * 100).ParseToInt(); + + // 阶梯式加价,如果命中则按阶梯式加价进行 + if (isStepAddPrice) + { + foreach (var addPrice in lstAddPriceRule) + { + if (new_multi_price > addPrice.MoreThanPrice * 100 && new_multi_price <= addPrice.LessThanPrice * 100) + { + if (isAddMorePriceFirst) // 先加后乘 + skuInfo.multi_price = ((new_multi_price + addPrice.AddMorePrice * 100) * addPrice.AddPriceTimes).ParseToInt(); + else + skuInfo.multi_price = (new_multi_price * addPrice.AddPriceTimes + addPrice.AddMorePrice * 100).ParseToInt(); + skuInfo.price = skuInfo.multi_price + Math.Max(100, addPrice.SinglePriceAdd * 100).ParseToInt(); ; + break; + } + } + } + // 聚水潭商品 加邮费×倍率 放前面 + //skuInfo.multi_price += (shipPrice * defaultAddPriceRule.AddShippingFeeTimes).ParseToInt(); + //skuInfo.price += (shipPrice * defaultAddPriceRule.AddShippingFeeTimes).ParseToInt(); + + if (marketPrice < skuInfo.price + 1000) + { + marketPrice = skuInfo.price.ParseToInt() + 1000; + //pddApi.Data["market_price"] = marketPrice; + } + + addPriceSkuInfoLst.Add(skuInfo); + } + } + #endregion + + // 报活动加价 + if (chkActivity.Checked) + { + marketPrice = marketPriceFake; + addPriceSkuInfoLst = addPriceFakeSkuInfoLst; + } + + // 市场价 + pddApi.Data["market_price"] = marketPrice; + + // 生成属性规格id if (dbProd.product_get_type_text == "厂商直采") { PddApi PddGoodsSpecGetApi = new PddApi(shop); @@ -7432,7 +7587,10 @@ Content-Type: image/jpeg { } if (parent_id == 0) + { parent_id = specNameDic.ToList()[j].Key; + specInfo.parent_name = specNameDic.ToList()[j].Value; + } specInfo.parent_id = parent_id; if (specNameIdMapDic.Keys.Contains(specInfo.spec_name + specInfo.parent_name)) @@ -7459,6 +7617,9 @@ Content-Type: image/jpeg } } + var skuApiString = ""; + long? minPrice = 99999999; + long? maxPrice = 0; Dictionary skuImgDic = new Dictionary(); // 拼接sku,计算最高价格和最低价格 for (int i = 0; i < addPriceSkuInfoLst.Count; i++) @@ -7477,14 +7638,26 @@ Content-Type: image/jpeg spec = spec.Trim(','); string thumb_url = ""; - if (skuImgDic.ContainsKey(addPriceSkuInfoLst[i].thumb_url)) + if (!chkActivity.Checked && skuImgDic.ContainsKey(addPriceSkuInfoLst[i].thumb_url)) // 高价加商品每个sku规格写在图片上,各不相同 { thumb_url = skuImgDic[addPriceSkuInfoLst[i].thumb_url]; } else { string errMsg = ""; - var imgBase64 = WXForms.ProductForms.WXDBProdUploadForm.GetImgBase64ForApi(out errMsg, addPriceSkuInfoLst[i].thumb_url, false, false); + var imgBase64 = ""; + float alpha = Math.Min(100, Math.Max(1, txtAlpha.Text.ParseToInt())) / 100f; + if (chkActivity.Checked) + { + //skuFakeSpecNameDic1 + var text1 = skuFakeSpecNameDic1.FirstOrDefault(s => s.Value == addPriceSkuInfoLst[i].spec[0].spec_name).Key; + var text2 = skuFakeSpecNameDic2.FirstOrDefault(s => s.Value == addPriceSkuInfoLst[i].spec[1].spec_name).Key.Replace("无规格", "").Replace("默认规格", ""); + //imgBase64 = PddGetImgBase64ForApi(out errMsg, addPriceSkuInfoLst[i].thumb_url, fakeImg, pbUpgradeVersion.Image, alpha, "到手 " + text1 + " " + text2); + imgBase64 = PddGetImgBase64ForApi(out errMsg, addPriceSkuInfoLst[i].thumb_url, fakeImg, pbUpgradeVersion.Image, alpha, text1 + " " + text2); + //imgBase64 = PddGetImgBase64ForApi(out errMsg, addPriceSkuInfoLst[i].thumb_url, fakeImg, pbUpgradeVersion.Image, alpha); + } + else + imgBase64 = PddGetImgBase64ForApi(out errMsg, addPriceSkuInfoLst[i].thumb_url); if (!string.IsNullOrEmpty(errMsg)) { return "初始化Sku图片错误 " + errMsg; @@ -7847,6 +8020,168 @@ Content-Type: image/jpeg //foreach (var spec_prop in prodInfo.property.sku_properties) ... } + public static string PddGetImgBase64ForApi(out string errorMsg, string img_url, Image fakeImg = null, Image imgUp = null, float alpha = 0.05f, string text = "", int imgWidth = 0, int imgHeight = 0) + { + errorMsg = ""; + string imgBase64 = ""; + //------------------------------------------------------------------------------------------------------------------------------------- + //生成图片base64字符串 + string getImgError; + if (!img_url.Contains("wst.wxapp.tc.qq.com")) + img_url = img_url.Replace("https://", "http://"); + var image = GetHtml.GetUrlImg(img_url, out getImgError); + if (image == null) + image = new Bitmap(800, 800); + if (imgWidth == 0 || imgHeight == 0) + { + imgWidth = image.Width; + imgHeight = image.Height; + } + var imageBg = new Bitmap(imgWidth, imgHeight); + if (image == null || !string.IsNullOrEmpty(getImgError)) + { + errorMsg = "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"初始化图片上传失败 " + getImgError + "\"}"; + return ""; + } + try + { + using (Graphics g = Graphics.FromImage(imageBg)) + { + int x = 0; + int y = 0; + if (!string.IsNullOrEmpty(text)) + y = 60; + g.Clear(Color.White); + //if (fakeImg != null) + //{ + // x = 30; + // y = -30; + // g.RotateTransform((float)3); + //} + //x = (0.25 * imageBg.Width).ParseToInt(); + //y = (0.25 * imageBg.Height).ParseToInt(); + g.DrawImage(image, new Rectangle(x, y, (imageBg.Width * 1.0).ParseToInt(), (imageBg.Height * 1.0).ParseToInt()), 0, 0, image.Width, image.Height, GraphicsUnit.Pixel); + //if (fakeImg != null) + //{ + // g.RotateTransform((float)-3); + //} + if (fakeImg != null) + { + g.CompositingMode = System.Drawing.Drawing2D.CompositingMode.SourceOver; + ColorMatrix colorMatrix = new ColorMatrix(); + colorMatrix.Matrix33 = alpha; //0.05f; // 0到1之间,1为完全不透明,0为完全透明 + ImageAttributes attributes = new ImageAttributes(); + attributes.SetColorMatrix(colorMatrix, ColorMatrixFlag.Default, ColorAdjustType.Bitmap); + + g.DrawImage(fakeImg, new Rectangle(0, 0, imageBg.Width, imageBg.Height), 0, 0, fakeImg.Width, fakeImg.Height, GraphicsUnit.Pixel, attributes); + + if (imgUp != null) + // 将升级版图片绘制到sku图片上 + g.DrawImage(imgUp, new Rectangle(0, imageBg.Height / 2, imageBg.Width, imageBg.Height / 2), 0, 0, imgUp.Width, imgUp.Height, GraphicsUnit.Pixel); + + if (!string.IsNullOrEmpty(text)) + { + //var textBg = Properties.Resources.up_spec_text; + //g.DrawImage(textBg, new Rectangle(0, 0, imageBg.Width, imageBg.Height), 0, 0, textBg.Width, textBg.Height, GraphicsUnit.Pixel); + + //var text1 = ""; + //var deltaX = 80; + //var colors = new List { Color.Red, Color.Blue, Color.Green, Color.DarkBlue, Color.DarkOrange, Color.DarkRed}; + //foreach(var t in text) + //{ + // text1 = "" + t; + + // //Font font = new Font("宋体", 20f * imageBg.Height / 800, FontStyle.Regular); + // //Font font = new Font("华文琥珀", 22f * imageBg.Height / 800, FontStyle.Regular); + // int fontSize = Randomx.GetId(17, 25) * imageBg.Height / 800; + // Font font = new Font("微软雅黑", fontSize, FontStyle.Bold); + // SizeF textSize = g.MeasureString(text1, font); + + // Brush textBrush = Brushes.Black; + // //textBrush = new SolidBrush(Color.FromArgb(0, 0, 0)); + // textBrush = new SolidBrush(colors[Randomx.GetId(colors.Count)]); + // g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit; + // //RectangleF rectF = new RectangleF(90, imageBg.Height * 728 / 800, imageBg.Width - 80, imageBg.Height - 80); + // int yPos = imageBg.Height * 728 / 800 + Randomx.GetId(16) - 8; + // RectangleF rectF = new RectangleF(deltaX, yPos, deltaX + textSize.Width, yPos + textSize.Height); + // g.DrawString(text1.Trim(), font, textBrush, rectF); + + + // font = new Font("微软雅黑", fontSize, FontStyle.Regular); + // textBrush = new SolidBrush(colors[Randomx.GetId(colors.Count)]); + // rectF = new RectangleF(deltaX, yPos, deltaX + textSize.Width / 2, yPos + textSize.Height); + // g.DrawString(text1.Trim(), font, textBrush, rectF); + + // deltaX += textSize.Width.ParseToInt(); + //} + + var textBg = Properties.Resources.up_spec_text; + g.DrawImage(textBg, new Rectangle(0, 0, imageBg.Width, imageBg.Height), 0, 0, textBg.Width, textBg.Height, GraphicsUnit.Pixel); + + var text1 = ""; + var deltaX = 180 * imageBg.Width / 800; + var colors = new List { Color.Red, Color.Blue, Color.Green, Color.DarkBlue, Color.DarkOrange, Color.DarkRed }; + var line = 0; + var textCount = 0; + foreach (var t in text) + { + text1 = "" + t; + textCount++; + + //Font font = new Font("宋体", 20f * imageBg.Height / 800, FontStyle.Regular); + //Font font = new Font("华文琥珀", 22f * imageBg.Height / 800, FontStyle.Regular); + + int lineHeight = 76; + int fontSize = Randomx.GetId(45, 50) * imageBg.Height / 800; + if (text.Length >= 15) + { + fontSize = Randomx.GetId(30, 35) * imageBg.Height / 800; + lineHeight = 50; + } + Font font = new Font("微软雅黑", fontSize, FontStyle.Bold); + SizeF textSize = g.MeasureString(text1, font); + + + Brush textBrush = Brushes.Black; + //textBrush = new SolidBrush(Color.FromArgb(0, 0, 0)); + textBrush = new SolidBrush(colors[Randomx.GetId(colors.Count)]); + g.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAliasGridFit; + //RectangleF rectF = new RectangleF(90, imageBg.Height * 728 / 800, imageBg.Width - 80, imageBg.Height - 80); + int yPos = line * lineHeight * imageBg.Height / 800 + imageBg.Height * 8 / 800 + (Randomx.GetId(16) - 8) * imageBg.Height / 800; + RectangleF rectF = new RectangleF(deltaX, yPos, deltaX + textSize.Width, yPos + textSize.Height); + g.DrawString(text1.Trim(), font, textBrush, rectF); + + + font = new Font("微软雅黑", fontSize, FontStyle.Regular); + textBrush = new SolidBrush(colors[Randomx.GetId(colors.Count)]); + rectF = new RectangleF(deltaX, yPos, deltaX + textSize.Width / 2, yPos + textSize.Height); + g.DrawString(text1.Trim(), font, textBrush, rectF); + + deltaX += textSize.Width.ParseToInt(); + if (/*textCount == 2 ||*/ deltaX > imageBg.Width - 80 * imageBg.Width / 800) + { + deltaX = 180 * imageBg.Width / 800; + line++; + } + } + } + } + } + using (MemoryStream memoryStream = new MemoryStream()) + { + imageBg.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg); + byte[] imageBytes = memoryStream.ToArray(); + imgBase64 = Convert.ToBase64String(imageBytes); + return imgBase64; + } + } + catch (Exception ex) + { + errorMsg = "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"修改图片失败 " + ex.Message + "\"}"; + return imgBase64; + } + } + int WaitUploadTime = 10; private void txtWaitSeconds_TextChanged(object sender, EventArgs e) { diff --git a/TEMUKJD/Properties/Resources.Designer.cs b/TEMUKJD/Properties/Resources.Designer.cs index 9bed737..740c311 100644 --- a/TEMUKJD/Properties/Resources.Designer.cs +++ b/TEMUKJD/Properties/Resources.Designer.cs @@ -596,9 +596,9 @@ namespace TemuKJD.Properties { /// /// 查找 System.Drawing.Bitmap 类型的本地化资源。 /// - internal static System.Drawing.Bitmap qingxu { + internal static System.Drawing.Bitmap qingqu { get { - object obj = ResourceManager.GetObject("qingxu", resourceCulture); + object obj = ResourceManager.GetObject("qingqu", resourceCulture); return ((System.Drawing.Bitmap)(obj)); } } @@ -1103,6 +1103,16 @@ namespace TemuKJD.Properties { } } + /// + /// 查找 System.Drawing.Bitmap 类型的本地化资源。 + /// + internal static System.Drawing.Bitmap up_spec_text { + get { + object obj = ResourceManager.GetObject("up_spec_text", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// 查找 System.Drawing.Bitmap 类型的本地化资源。 /// diff --git a/TEMUKJD/Properties/Resources.resx b/TEMUKJD/Properties/Resources.resx index ab66cb5..9e4e806 100644 --- a/TEMUKJD/Properties/Resources.resx +++ b/TEMUKJD/Properties/Resources.resx @@ -268,8 +268,8 @@ ..\resources\pdf.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\resources\qingxu.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\resources\qingqu.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\qrcode.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -418,6 +418,9 @@ ..\Resources\tree_运费模板_select.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\resources\up_spec_text.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\resources\wang_wang_icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a diff --git a/TEMUKJD/Resources/qingxu.jpg b/TEMUKJD/Resources/qingqu.jpg similarity index 100% rename from TEMUKJD/Resources/qingxu.jpg rename to TEMUKJD/Resources/qingqu.jpg diff --git a/TEMUKJD/Resources/up_spec_text.png b/TEMUKJD/Resources/up_spec_text.png new file mode 100644 index 0000000000000000000000000000000000000000..2ba63654bb0630ad18bfda057b01c1660ab05a20 GIT binary patch literal 32469 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

^oGPo0xt%E5 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 - lstAddPriceRule = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_add_price_rules"); + lstAddPriceRule = NaiBa.Util.Helper.ConfigHelper.LoadConfig>("wx_add_price_rules"); if (lstAddPriceRule == null) { lstAddPriceRule = new NaiBa.Util.ConcurrentList(); @@ -824,88 +824,54 @@ namespace TemuKJD.WXForms.ProductForms int randomComProdInterval = Math.Max(1, BaseRegex.GetIntJson(ref html, "product_interval")); string randomComProdGroup = BaseRegex.GetStringJson(ref html, "product_group"); int waitCompanyProdCnt = 0; - List CompanyProdLst = new List(); + ConcurrentList CompanyProdLst = new ConcurrentList(); - NaiBa.Util.ConcurrentList currentShopList = new NaiBa.Util.ConcurrentList(); + ConcurrentList currentShopList = new ConcurrentList(); while (lstTemuDBProductSelect.Count > 0) { if (cancellationTokenSource.IsCancellationRequested) break; - Invoke(new Action(() => - { - shopIdLst = dgvShop.Rows.Cast().Where(row - => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); - })); - while (shopIdLst.Count <= 0) + shopIdLst = dgvShop.Rows.Cast().Where(row => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); + if (shopIdLst.Count <= 0) { Invoke(new Action(() => { this.statusBar.lblTaskStatus.Text = "请至少勾选一个店铺"; - shopIdLst = dgvShop.Rows.Cast().Where(row - => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); })); - Thread.Sleep(1000); - if (cancellationTokenSource.IsCancellationRequested) - break; + Thread.Sleep(500); + continue; } - var randomShopLst = new NaiBa.Util.ConcurrentList(); + var randomShopLst = new ConcurrentList(); randomShopLst.AddRange(GlobalConfig.ShopLoginList.Where(s => shopIdLst.Contains(s.ShopId) && s.LoginStatus == "登录成功")); - while (randomShopLst.Count <= 0) + if (randomShopLst.Count <= 0) { - Thread.Sleep(1000); - Invoke(new Action(() => - { - shopIdLst = dgvShop.Rows.Cast().Where(row - => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); - })); Invoke(new Action(() => { this.statusBar.lblTaskStatus.Text = "所有店铺都已掉线,请登录店铺"; - randomShopLst.Clear(); - randomShopLst.AddRange(GlobalConfig.ShopLoginList.Where(s => shopIdLst.Contains(s.ShopId) && s.LoginStatus == "登录成功")); })); - if (cancellationTokenSource.IsCancellationRequested) - break; - } - if (cancellationTokenSource.IsCancellationRequested) - break; - while (currentShopList.Count >= 20) // 最多20店同传 - { - Thread.Sleep(100); - } - if (cancellationTokenSource.IsCancellationRequested) - break; - - var randomShop = randomShopLst[Randomx.GetId(randomShopLst.Count)]; - while (currentShopList.Any(s => s.ShopId == randomShop.ShopId)) - { Thread.Sleep(500); - var randomShopTmpLst = randomShopLst.Where(s => !currentShopList.Contains(s)).ToList(); - if (randomShopTmpLst.Count == 0) - continue; - randomShop = randomShopTmpLst[Randomx.GetId(randomShopTmpLst.Count)]; - } - currentShopList.Add(randomShop); - if (cancellationTokenSource.IsCancellationRequested) - break; - - // 商品已全部上传,退出 - if (lstTemuDBProductSelect.Count <= 0) - { - currentShopList.Remove(randomShop); - break; - } - if (randomShop == null) - { - currentShopList.Remove(randomShop); continue; } + if (currentShopList.Count >= 20) // 最多20店同传 + { + Thread.Sleep(500); + continue; + } + + var randomShop = randomShopLst.Where(s => !currentShopList.Contains(s)).ToList().OrderBy(x => Randomx.GetId(999999)).FirstOrDefault(); + if (randomShop == null) + { + Thread.Sleep(500); + continue; + } + currentShopList.Add(randomShop); + if (cancellationTokenSource.IsCancellationRequested) break; // 每次挑选列表第一件商品 - var selectProd = lstTemuDBProductSelect[0]; + var selectProd = lstTemuDBProductSelect.FirstOrDefault(); selectProd.shop_id = randomShop.ShopId; selectProd.shop_account = randomShop.ShopAccount; @@ -935,7 +901,7 @@ namespace TemuKJD.WXForms.ProductForms } else { - lstTemuDBProductSelect.RemoveAt(0); + lstTemuDBProductSelect.Remove(selectProd); } NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_db_prod_upload_list", this.lstTemuDBProductSelect); @@ -963,16 +929,12 @@ namespace TemuKJD.WXForms.ProductForms // 过滤标题 var lstTitleReplaceText = new List(); - lstTitleReplaceText.Clear(); if (!txtReplaceText.Text.Trim().IsNullOrEmpty()) lstTitleReplaceText.AddRange(txtReplaceText.Text.Trim().Split(new string[] { ",", ",", " ", "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries)); // 过滤标题内指定词语 - if (lstTitleReplaceText.Count > 0) + foreach (var txt in lstTitleReplaceText) { - foreach (var txt in lstTitleReplaceText) - { - selectProd.product_name = selectProd.product_name.Replace(txt, ""); - } + selectProd.product_name = selectProd.product_name.Replace(txt, ""); } Invoke(new Action(() => @@ -1106,19 +1068,6 @@ namespace TemuKJD.WXForms.ProductForms result = UploadProduct(shop, kjdDbProdTmp, selectProd, row.Cells["colOpResult"], startTime); } - // 拼多多的虚拟图,微信不需要 - //Invoke(new Action(() => - //{ - // row.Cells["colSkuFakeImgUrl"].Value = kjdDbProd.sku_img_replace_url; - // if (row.Displayed) - // { - // string getImgError = ""; - // Image img = GetHtml.GetUrlImg(kjdDbProd.sku_img_replace_url.Replace("https://", "http://"), out getImgError); - // if (string.IsNullOrEmpty(getImgError)) - // row.Cells["colSkuFakeImg"].Value = img; - // } - //})); - if (!result.Contains("success")) { WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false); @@ -1387,7 +1336,7 @@ namespace TemuKJD.WXForms.ProductForms if (dbProd.product_get_type_text == "厂商直采" && dbProd.sku_secret_json != null && dbProd.sku_secret_json.Contains("goodsId")) { string convertRst = ""; - var ob = new PDDProdFormConverter().JstPddProdToPddConvert(out convertRst, dbProd); + var pInfo = new PDDProdFormConverter().JstPddProdToPddConvert(out convertRst, dbProd); if (!string.IsNullOrEmpty(convertRst)) return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"商品查询错误 " + convertRst + "\"}"; } @@ -1397,7 +1346,7 @@ namespace TemuKJD.WXForms.ProductForms if (dbProd.product_get_type_text == "微信店采") { string convertRst = ""; - var ob = new PDDProdFormConverter().WXProdToPddConvert(out convertRst, dbProd); + var pInfo = new PDDProdFormConverter().WXProdToPddConvert(out convertRst, dbProd); if (!string.IsNullOrEmpty(convertRst)) return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"商品查询错误 " + convertRst + "\"}"; } @@ -1407,7 +1356,7 @@ namespace TemuKJD.WXForms.ProductForms if (dbProd.product_get_type_text == "1688厂家") { string convertRst = ""; - var ob = new PDDProdFormConverter()._1688ClientToPddConvert(out convertRst, dbProd); + var pInfo = new PDDProdFormConverter()._1688ClientToPddConvert(out convertRst, dbProd); if (!string.IsNullOrEmpty(convertRst)) return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"商品查询错误 " + convertRst + "\"}"; } @@ -1417,7 +1366,7 @@ namespace TemuKJD.WXForms.ProductForms if (dbProd.product_get_type_text == "微信小店") { string convertRst = ""; - var ob = new PDDProdFormConverter().WXClientToPddConvert(out convertRst, dbProd); + var pInfo = new PDDProdFormConverter().WXClientToPddConvert(out convertRst, dbProd); if (!string.IsNullOrEmpty(convertRst)) return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"商品查询错误 " + convertRst + "\"}"; } @@ -1430,7 +1379,6 @@ namespace TemuKJD.WXForms.ProductForms prodJObj = JObject.Parse(dbProd.product_json); var lstTitleReplaceText = new List(); - lstTitleReplaceText.Clear(); if (!txtReplaceText.Text.Trim().IsNullOrEmpty()) lstTitleReplaceText.AddRange(txtReplaceText.Text.Trim().Split(new string[] { ",", ",", " ", "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries)); // 过滤标题敏感词 @@ -1690,12 +1638,12 @@ namespace TemuKJD.WXForms.ProductForms prodInfo.detail.cats.FirstOrDefault() == "书籍/杂志/报纸" || dbProd.main_cat_name == "图书" || dbProd.main_cat_name == "书籍/杂志/报纸"); { List galls = new List(); - foreach (var gall in prodInfo.detail.galleries.Where(g => g.type == 1)) + foreach (var gall in prodInfo.detail.galleries.Where(g => g.type == 1).ToList()) { if (!galls.Any(g => g.url == gall.url)/* && !prodInfo.detail.sku.Any(s => s.thumb_url == gall.url)*/) galls.Add(gall); } - foreach (var gall in prodInfo.detail.galleries.Where(g => g.type == 2)) + foreach (var gall in prodInfo.detail.galleries.Where(g => g.type == 2).ToList()) { if (!galls.Any(g => g.url == gall.url)/* && !prodInfo.detail.sku.Any(s => s.thumb_url == gall.url)*/) galls.Add(gall); @@ -1793,7 +1741,8 @@ namespace TemuKJD.WXForms.ProductForms })); } Thread.Sleep(Randomx.GetId(100, 300)); - foreach (var gallery_item in prodInfo.detail.galleries.Where(g => g.type == 1).Take(9)) // 9张主图 + var mainGalleries = prodInfo.detail.galleries.Where(g => g.type == 1).Take(9).ToList(); + foreach (var gallery_item in mainGalleries) // 9张主图 { try { @@ -2043,7 +1992,8 @@ namespace TemuKJD.WXForms.ProductForms List tempImgFullPathLst = new List(); //------------------------------------------------------------------------------------------------------------------------------------- // 生成ai识别类目所需图片 - foreach (var gallery_item in prodInfo.detail.galleries.Where(g => g.type == 1).Take(3)) // 9张主图 + var aiGalleries = prodInfo.detail.galleries.Where(g => g.type == 1).Take(3).ToList(); + foreach (var gallery_item in aiGalleries) // 9张主图 { string getImgError; var image = GetHtml.GetUrlImg(gallery_item.url.Replace("https://", "http://"), out getImgError); @@ -2522,6 +2472,7 @@ namespace TemuKJD.WXForms.ProductForms } catch (Exception ex) { + return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"运费模板解析失败 " + ex.Message + "\"}"; } } @@ -3825,7 +3776,7 @@ namespace TemuKJD.WXForms.ProductForms string prodName = (upProdParam.product.info.category.Count > 2 ? upProdParam.product.info.category[2].name : upProdParam.product.info.category.LastOrDefault()?.name); - var baseImg = TemuKJD.Properties.Resources.qingxu; + var baseImg = TemuKJD.Properties.Resources.qingqu; var newImg = new Bitmap(baseImg.Width, baseImg.Height); using (Graphics g = Graphics.FromImage(newImg)) { @@ -4078,7 +4029,7 @@ namespace TemuKJD.WXForms.ProductForms //add_secret_spu_id_shop_id_map //测试id "2017522348787531778" FC4C8B7F3C6E4B029AD2A12D4D323B41 if (!string.IsNullOrEmpty(dbProd.secret_spu_id)) { - var url = BaseClass.BuildObjString("product/add_secret_spu_id_shop_id_map"); + var url = BaseClass.BuildObjString("product/wx_add_secret_id_up_map"); var data = ""; Invoke(new Action(() => { @@ -4086,7 +4037,9 @@ namespace TemuKJD.WXForms.ProductForms data += "&up_secret_spu_id=" + dbProd.secret_spu_id; data += "&up_spu_id=" + dbProd.spu_id; data += "&shop_id=" + shop.ShopId; - data += "&index=" + dbProd.secret_spu_id.ParseToLong() % 1024; + data += "&index=" + Math.Abs(dbProd.secret_spu_id.GetHashCode()) % 1024; + data += "&price_max=" + upProdParam.product.productSkus.Max(s => s.productSkuInfo.salePrice); + data += "&price_min=" + upProdParam.product.productSkus.Min(s => s.productSkuInfo.salePrice); })); var html = GetHtml.PostUtf8(url, data); if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) @@ -4106,7 +4059,7 @@ namespace TemuKJD.WXForms.ProductForms dicShopUpload[shop.ShopId].DicDayUploadCount[day] = 0; dicShopUpload[shop.ShopId].DicDayUploadCount[day] += 1; // 删除45天前的记录 - var removeKeys = dicShopUpload[shop.ShopId].DicDayUploadCount.Keys.Where(s => s < DateTime.Now.AddDays(-45).ToString("yyyyMMdd").ParseToInt()); + var removeKeys = dicShopUpload[shop.ShopId].DicDayUploadCount.Keys.Where(s => s < DateTime.Now.AddDays(-45).ToString("yyyyMMdd").ParseToInt()).ToList(); foreach (var key in removeKeys) { dicShopUpload[shop.ShopId].DicDayUploadCount.Remove(key); diff --git a/TEMUKJD/WXForms/ProductForms/WXUserProdListForm.Designer.cs b/TEMUKJD/WXForms/ProductForms/WXUserProdListForm.Designer.cs index e1dc1ea..f64ae0e 100644 --- a/TEMUKJD/WXForms/ProductForms/WXUserProdListForm.Designer.cs +++ b/TEMUKJD/WXForms/ProductForms/WXUserProdListForm.Designer.cs @@ -71,6 +71,8 @@ namespace TemuKJD.WXForms.ProductForms this.label3 = new System.Windows.Forms.Label(); this.lblWxSafe = new System.Windows.Forms.Label(); this.cmbWxSafe = new System.Windows.Forms.ComboBox(); + this.lblGroup = new System.Windows.Forms.Label(); + this.cmbGroupFilter = new System.Windows.Forms.ComboBox(); this.cmbSourceType = new System.Windows.Forms.ComboBox(); this.lblSourceType = new System.Windows.Forms.Label(); this.splitContainer2 = new System.Windows.Forms.SplitContainer(); @@ -104,9 +106,7 @@ namespace TemuKJD.WXForms.ProductForms this.txtSecretStyleCode = new System.Windows.Forms.TextBox(); this.label1 = new System.Windows.Forms.Label(); this.chkWXComplateProd = new TemuKJD.UserComponent.UcCheckBox(this.components); - this.lblGroup = new System.Windows.Forms.Label(); this.lblNotes = new System.Windows.Forms.Label(); - this.cmbGroupFilter = new System.Windows.Forms.ComboBox(); this.label5 = new System.Windows.Forms.Label(); this.txtNotes = new System.Windows.Forms.TextBox(); this.label15 = new System.Windows.Forms.Label(); @@ -258,27 +258,25 @@ namespace TemuKJD.WXForms.ProductForms // this.tableLayoutPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.tableLayoutPanel1.ColumnCount = 10; + this.tableLayoutPanel1.ColumnCount = 12; this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25.00225F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20.0018F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25.00225F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20.0018F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 24.99475F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 19.99581F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 25.00074F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20.00059F)); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); + this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 20F)); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20F)); - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20F)); - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20F)); - this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 20F)); this.tableLayoutPanel1.Controls.Add(this.txtCatBoundLessThan, 5, 1); this.tableLayoutPanel1.Controls.Add(this.txtCatBoundMoreThan, 3, 1); this.tableLayoutPanel1.Controls.Add(this.chkCatBoundLessThan, 4, 1); this.tableLayoutPanel1.Controls.Add(this.chkCatBoundMoreThan, 2, 1); - this.tableLayoutPanel1.Controls.Add(this.btnSearch, 8, 0); - this.tableLayoutPanel1.Controls.Add(this.pnlEmpty, 9, 0); + this.tableLayoutPanel1.Controls.Add(this.btnSearch, 10, 0); + this.tableLayoutPanel1.Controls.Add(this.pnlEmpty, 11, 0); this.tableLayoutPanel1.Controls.Add(this.cmbCat3, 7, 0); this.tableLayoutPanel1.Controls.Add(this.label17, 6, 0); this.tableLayoutPanel1.Controls.Add(this.cmbCat2, 5, 0); @@ -289,6 +287,8 @@ namespace TemuKJD.WXForms.ProductForms this.tableLayoutPanel1.Controls.Add(this.label3, 0, 0); this.tableLayoutPanel1.Controls.Add(this.lblWxSafe, 0, 1); this.tableLayoutPanel1.Controls.Add(this.cmbWxSafe, 1, 1); + this.tableLayoutPanel1.Controls.Add(this.lblGroup, 8, 0); + this.tableLayoutPanel1.Controls.Add(this.cmbGroupFilter, 9, 0); this.tableLayoutPanel1.Controls.Add(this.cmbSourceType, 7, 1); this.tableLayoutPanel1.Controls.Add(this.lblSourceType, 6, 1); this.tableLayoutPanel1.Location = new System.Drawing.Point(4, 4); @@ -303,10 +303,10 @@ namespace TemuKJD.WXForms.ProductForms // txtCatBoundLessThan // this.txtCatBoundLessThan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtCatBoundLessThan.Location = new System.Drawing.Point(625, 41); + this.txtCatBoundLessThan.Location = new System.Drawing.Point(525, 41); this.txtCatBoundLessThan.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtCatBoundLessThan.Name = "txtCatBoundLessThan"; - this.txtCatBoundLessThan.Size = new System.Drawing.Size(201, 23); + this.txtCatBoundLessThan.Size = new System.Drawing.Size(151, 23); this.txtCatBoundLessThan.TabIndex = 883; this.txtCatBoundLessThan.Text = "100000"; this.txtCatBoundLessThan.Visible = false; @@ -314,10 +314,10 @@ namespace TemuKJD.WXForms.ProductForms // txtCatBoundMoreThan // this.txtCatBoundMoreThan.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.txtCatBoundMoreThan.Location = new System.Drawing.Point(348, 41); + this.txtCatBoundMoreThan.Location = new System.Drawing.Point(298, 41); this.txtCatBoundMoreThan.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtCatBoundMoreThan.Name = "txtCatBoundMoreThan"; - this.txtCatBoundMoreThan.Size = new System.Drawing.Size(201, 23); + this.txtCatBoundMoreThan.Size = new System.Drawing.Size(151, 23); this.txtCatBoundMoreThan.TabIndex = 882; this.txtCatBoundMoreThan.Text = "1000"; this.txtCatBoundMoreThan.Visible = false; @@ -325,7 +325,7 @@ namespace TemuKJD.WXForms.ProductForms // chkCatBoundLessThan // this.chkCatBoundLessThan.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.chkCatBoundLessThan.Location = new System.Drawing.Point(558, 42); + this.chkCatBoundLessThan.Location = new System.Drawing.Point(458, 42); this.chkCatBoundLessThan.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3); this.chkCatBoundLessThan.Name = "chkCatBoundLessThan"; this.chkCatBoundLessThan.Size = new System.Drawing.Size(64, 21); @@ -337,7 +337,7 @@ namespace TemuKJD.WXForms.ProductForms // chkCatBoundMoreThan // this.chkCatBoundMoreThan.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.chkCatBoundMoreThan.Location = new System.Drawing.Point(281, 42); + this.chkCatBoundMoreThan.Location = new System.Drawing.Point(231, 42); this.chkCatBoundMoreThan.Margin = new System.Windows.Forms.Padding(6, 3, 3, 3); this.chkCatBoundMoreThan.Name = "chkCatBoundMoreThan"; this.chkCatBoundMoreThan.Size = new System.Drawing.Size(64, 21); @@ -353,7 +353,7 @@ namespace TemuKJD.WXForms.ProductForms 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(1090, 5); + this.btnSearch.Location = new System.Drawing.Point(1091, 5); this.btnSearch.Name = "btnSearch"; this.btnSearch.Size = new System.Drawing.Size(46, 25); this.btnSearch.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -377,7 +377,7 @@ namespace TemuKJD.WXForms.ProductForms 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(1142, 5); + this.pnlEmpty.Location = new System.Drawing.Point(1143, 5); this.pnlEmpty.Name = "pnlEmpty"; this.pnlEmpty.Size = new System.Drawing.Size(46, 25); this.pnlEmpty.Style.Alignment = System.Drawing.StringAlignment.Center; @@ -404,10 +404,10 @@ namespace TemuKJD.WXForms.ProductForms this.cmbCat3.DropDownWidth = 1; this.cmbCat3.FormattingEnabled = true; this.cmbCat3.IntegralHeight = false; - this.cmbCat3.Location = new System.Drawing.Point(883, 7); + this.cmbCat3.Location = new System.Drawing.Point(733, 5); this.cmbCat3.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbCat3.Name = "cmbCat3"; - this.cmbCat3.Size = new System.Drawing.Size(201, 25); + this.cmbCat3.Size = new System.Drawing.Size(151, 25); this.cmbCat3.TabIndex = 811; this.cmbCat3.Text = "全部"; this.cmbCat3.SelectedIndexChanged += new System.EventHandler(this.cmbCat3_SelectedIndexChanged); @@ -417,7 +417,7 @@ namespace TemuKJD.WXForms.ProductForms // this.label17.Anchor = System.Windows.Forms.AnchorStyles.Right; this.label17.AutoSize = true; - this.label17.Location = new System.Drawing.Point(832, 9); + this.label17.Location = new System.Drawing.Point(682, 9); this.label17.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label17.Name = "label17"; this.label17.Size = new System.Drawing.Size(51, 17); @@ -432,10 +432,10 @@ namespace TemuKJD.WXForms.ProductForms this.cmbCat2.DropDownWidth = 1; this.cmbCat2.FormattingEnabled = true; this.cmbCat2.IntegralHeight = false; - this.cmbCat2.Location = new System.Drawing.Point(625, 7); + this.cmbCat2.Location = new System.Drawing.Point(525, 5); this.cmbCat2.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbCat2.Name = "cmbCat2"; - this.cmbCat2.Size = new System.Drawing.Size(201, 25); + this.cmbCat2.Size = new System.Drawing.Size(151, 25); this.cmbCat2.TabIndex = 804; this.cmbCat2.Text = "全部"; this.cmbCat2.SelectedIndexChanged += new System.EventHandler(this.cmbCat2_SelectedIndexChanged); @@ -445,7 +445,7 @@ namespace TemuKJD.WXForms.ProductForms // this.label14.Anchor = System.Windows.Forms.AnchorStyles.Right; this.label14.AutoSize = true; - this.label14.Location = new System.Drawing.Point(574, 9); + this.label14.Location = new System.Drawing.Point(474, 9); this.label14.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label14.Name = "label14"; this.label14.Size = new System.Drawing.Size(51, 17); @@ -460,10 +460,10 @@ namespace TemuKJD.WXForms.ProductForms this.cmbCat1.DropDownWidth = 1; this.cmbCat1.FormattingEnabled = true; this.cmbCat1.IntegralHeight = false; - this.cmbCat1.Location = new System.Drawing.Point(348, 7); + this.cmbCat1.Location = new System.Drawing.Point(298, 5); this.cmbCat1.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbCat1.Name = "cmbCat1"; - this.cmbCat1.Size = new System.Drawing.Size(201, 25); + this.cmbCat1.Size = new System.Drawing.Size(151, 25); this.cmbCat1.TabIndex = 805; this.cmbCat1.Text = "全部"; this.cmbCat1.SelectedIndexChanged += new System.EventHandler(this.cmbCat1_SelectedIndexChanged); @@ -473,7 +473,7 @@ namespace TemuKJD.WXForms.ProductForms // this.label2.Anchor = System.Windows.Forms.AnchorStyles.Right; this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(297, 9); + this.label2.Location = new System.Drawing.Point(247, 9); this.label2.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(51, 17); @@ -486,7 +486,7 @@ namespace TemuKJD.WXForms.ProductForms this.txtProdName.Location = new System.Drawing.Point(71, 6); this.txtProdName.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.txtProdName.Name = "txtProdName"; - this.txtProdName.Size = new System.Drawing.Size(201, 23); + this.txtProdName.Size = new System.Drawing.Size(151, 23); this.txtProdName.TabIndex = 427; // // label3 @@ -520,13 +520,36 @@ namespace TemuKJD.WXForms.ProductForms "安全+未校验", "安全商品", "未校验"}); - this.cmbWxSafe.Location = new System.Drawing.Point(71, 42); + this.cmbWxSafe.Location = new System.Drawing.Point(71, 40); this.cmbWxSafe.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbWxSafe.Name = "cmbWxSafe"; - this.cmbWxSafe.Size = new System.Drawing.Size(201, 25); + this.cmbWxSafe.Size = new System.Drawing.Size(151, 25); this.cmbWxSafe.TabIndex = 676; this.cmbWxSafe.Text = "安全+未校验"; // + // lblGroup + // + this.lblGroup.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.lblGroup.AutoSize = true; + this.lblGroup.Location = new System.Drawing.Point(890, 9); + this.lblGroup.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.lblGroup.Name = "lblGroup"; + this.lblGroup.Size = new System.Drawing.Size(44, 17); + this.lblGroup.TabIndex = 641; + this.lblGroup.Text = "分组:"; + this.lblGroup.Visible = false; + // + // cmbGroupFilter + // + this.cmbGroupFilter.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); + this.cmbGroupFilter.FormattingEnabled = true; + this.cmbGroupFilter.Location = new System.Drawing.Point(934, 7); + this.cmbGroupFilter.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); + this.cmbGroupFilter.Name = "cmbGroupFilter"; + this.cmbGroupFilter.Size = new System.Drawing.Size(151, 25); + this.cmbGroupFilter.TabIndex = 653; + this.cmbGroupFilter.Visible = false; + // // cmbSourceType // this.cmbSourceType.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); @@ -541,10 +564,10 @@ namespace TemuKJD.WXForms.ProductForms "机会商品", "以图搜品", "外部数据"}); - this.cmbSourceType.Location = new System.Drawing.Point(883, 42); + this.cmbSourceType.Location = new System.Drawing.Point(733, 40); this.cmbSourceType.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); this.cmbSourceType.Name = "cmbSourceType"; - this.cmbSourceType.Size = new System.Drawing.Size(201, 25); + this.cmbSourceType.Size = new System.Drawing.Size(151, 25); this.cmbSourceType.TabIndex = 654; this.cmbSourceType.Text = "厂商直采"; this.cmbSourceType.Visible = false; @@ -555,7 +578,7 @@ namespace TemuKJD.WXForms.ProductForms // this.lblSourceType.Anchor = System.Windows.Forms.AnchorStyles.Right; this.lblSourceType.AutoSize = true; - this.lblSourceType.Location = new System.Drawing.Point(839, 44); + this.lblSourceType.Location = new System.Drawing.Point(689, 44); this.lblSourceType.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); this.lblSourceType.Name = "lblSourceType"; this.lblSourceType.Size = new System.Drawing.Size(44, 17); @@ -586,9 +609,7 @@ namespace TemuKJD.WXForms.ProductForms this.splitContainer2.Panel1.Controls.Add(this.txtSecretStyleCode); this.splitContainer2.Panel1.Controls.Add(this.label1); this.splitContainer2.Panel1.Controls.Add(this.chkWXComplateProd); - this.splitContainer2.Panel1.Controls.Add(this.lblGroup); this.splitContainer2.Panel1.Controls.Add(this.lblNotes); - this.splitContainer2.Panel1.Controls.Add(this.cmbGroupFilter); this.splitContainer2.Panel1.Controls.Add(this.label5); this.splitContainer2.Panel1.Controls.Add(this.txtNotes); this.splitContainer2.Panel1.Controls.Add(this.label15); @@ -1013,18 +1034,6 @@ namespace TemuKJD.WXForms.ProductForms this.chkWXComplateProd.UseVisualStyleBackColor = true; this.chkWXComplateProd.Visible = false; // - // lblGroup - // - this.lblGroup.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.lblGroup.AutoSize = true; - this.lblGroup.Location = new System.Drawing.Point(44, 327); - this.lblGroup.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); - this.lblGroup.Name = "lblGroup"; - this.lblGroup.Size = new System.Drawing.Size(44, 17); - this.lblGroup.TabIndex = 641; - this.lblGroup.Text = "分组:"; - this.lblGroup.Visible = false; - // // lblNotes // this.lblNotes.Anchor = System.Windows.Forms.AnchorStyles.Right; @@ -1037,17 +1046,6 @@ namespace TemuKJD.WXForms.ProductForms this.lblNotes.Text = "备注:"; this.lblNotes.Visible = false; // - // cmbGroupFilter - // - this.cmbGroupFilter.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); - this.cmbGroupFilter.FormattingEnabled = true; - this.cmbGroupFilter.Location = new System.Drawing.Point(88, 325); - this.cmbGroupFilter.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3); - this.cmbGroupFilter.Name = "cmbGroupFilter"; - this.cmbGroupFilter.Size = new System.Drawing.Size(133, 25); - this.cmbGroupFilter.TabIndex = 653; - this.cmbGroupFilter.Visible = false; - // // label5 // this.label5.Anchor = System.Windows.Forms.AnchorStyles.Left; diff --git a/TEMUKJD/WXForms/ProductForms/WXUserProdListForm.cs b/TEMUKJD/WXForms/ProductForms/WXUserProdListForm.cs index f276143..77deaf0 100644 --- a/TEMUKJD/WXForms/ProductForms/WXUserProdListForm.cs +++ b/TEMUKJD/WXForms/ProductForms/WXUserProdListForm.cs @@ -118,6 +118,14 @@ namespace TemuKJD.WXForms.ProductForms { lblSourceType.Visible = true; cmbSourceType.Visible = true; + lblGroup.Visible = true; + cmbGroupFilter.Visible = true; + tableLayoutPanel1.ColumnStyles[9].SizeType = SizeType.Percent; + tableLayoutPanel1.ColumnStyles[9].Width = 20; + } + else + { + tableLayoutPanel1.ColumnStyles[9].SizeType = SizeType.AutoSize; } }