diff --git a/AllBase/AllBase.csproj b/AllBase/AllBase.csproj index a782e40..d438c36 100644 --- a/AllBase/AllBase.csproj +++ b/AllBase/AllBase.csproj @@ -192,6 +192,7 @@ + diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs index 0d0588a..d19050a 100644 --- a/AllBase/BaseClass.cs +++ b/AllBase/BaseClass.cs @@ -722,7 +722,7 @@ namespace AllBase //pdd相关操作 if (BaseClass.MainPath == "binxixi") { - return LoginApiUrl + "/bxx_" + file + "?obj=" + BaseClass.MainPath + "/" + file; + return LoginApiUrl + "/bxx_" + file + "?obj=" + BaseClass.MainPath + "/bxx_" + file; } return LoginApiUrl + "/" + file+ "?obj=" + BaseClass.MainPath + "/" + file; diff --git a/AllBase/Model/Result/PDDResult/PDDProductDetailInfo.cs b/AllBase/Model/Result/PDDResult/PDDProductDetailInfo.cs new file mode 100644 index 0000000..0b16bbc --- /dev/null +++ b/AllBase/Model/Result/PDDResult/PDDProductDetailInfo.cs @@ -0,0 +1,321 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AllBase.Model.Result.PDDResult +{ + public class PDDProductDetailInfo + { + public long? id { get; set; } + public long? goods_id { get; set; } + public int? check_status { get; set; } + public int? commit_deleted { get; set; } + public string owner { get; set; } + public int? is_shop { get; set; } + public string goods_sn { get; set; } + public string out_goods_sn { get; set; } + public int? is_folt { get; set; } + public string warm_tips { get; set; } + public object fabric { get; set; } + + + public object fabric_content { get; set; } + public long? cost_template_id { get; set; } + public int? cat_id { get; set; } + public long? mall_id { get; set; } + public string goods_name { get; set; } + public string tiny_name { get; set; } + public string goods_desc { get; set; } + public string share_desc { get; set; } + public List list_desc { get; set; } + + public int? market_price { get; set; } + public string thumb_url { get; set; } + public string image_url { get; set; } + public string hd_thumb_url { get; set; } + public List allowed_region { get; set; } + + + public int? region_limit { get; set; } + public int? goods_type { get; set; } + public object country { get; set; } + public int? country_id { get; set; } + public string goods_name_prefix { get; set; } + public int? origin_country_id { get; set; } + public string origin_country_name { get; set; } + public object size_spec_id { get; set; } + public object size_parent_spec_id { get; set; } + public string warehouse { get; set; } + public int? event_type { get; set; } + public int? is_app { get; set; } + public int? is_pre_sale { get; set; } + public int? pre_sale_time { get; set; } + public int? is_sku_pre_sale { get; set; } + public int? is_refundable { get; set; } + public int? is_customs { get; set; } + public int? is_wms { get; set; } + public string customs { get; set; } + public int? is_bangdan { get; set; } + public long? shipment_limit_second { get; set; } + public int? quick_refund { get; set; } + public groupsItem groups { get; set; } + public commit_extensionItem commit_extension { get; set; } + public List galleries { get; set; } + public List goods_commit_check { get; set; } + public mall_infoItem mall_info { get; set; } + public List sku { get; set; } + + + public object reject_status { get; set; } + public object reject_reason { get; set; } + public object paper_net_weight { get; set; } + public object paper_length { get; set; } + public object paper_width { get; set; } + public object paper_plies_num { get; set; } + public int? second_hand { get; set; } + public int? source { get; set; } + public bool is_card_secret { get; set; } + public bool is_only_for_remote_area { get; set; } + public int? invoice_status { get; set; } + public object invoice_mode { get; set; } + public object client_id { get; set; } + public int? quan_guo_lian_bao { get; set; } + public int? zhi_huan_bu_xiu { get; set; } + public object song_huo_ru_hu { get; set; } + public object shang_men_an_zhuang { get; set; } + public object song_huo_an_zhuang { get; set; } + public object mai_jia_zi_ti { get; set; } + public object sf_markup_template_sn { get; set; } + public int? min_group_price { get; set; } + public int? max_group_price { get; set; } + public int? must_check_type { get; set; } + public object goods_property_list { get; set; } + public object is_small_group { get; set; } + public int? submit_time { get; set; } + public int? oversea_type { get; set; } + public object oversea_goods { get; set; } + public int? is_general_trade { get; set; } + public int? bad_fruit_claim { get; set; } + public string bad_claim_text { get; set; } + public int? allergy_refund { get; set; } + public int? lack_of_weight_claim { get; set; } + public int? delivery_one_day { get; set; } + public object delivery_type { get; set; } + public int? goods_pattern { get; set; } + public int? customizable { get; set; } + public int? is_group_pre_sale { get; set; } + public object elec_goods_attributes { get; set; } + public schedule_saleItem schedule_sale { get; set; } + + public object goods_trade_attr { get; set; } + public object goods_travel_attr { get; set; } + public object sku_type { get; set; } + public int? is_goods_decoration { get; set; } + public List goods_srv_templates { get; set; } + + public object card_verification_list { get; set; } + public object transport_type_list { get; set; } + public object out_source_type { get; set; } + public object out_source_goods_id { get; set; } + public object is_all_weight_same { get; set; } + public object is_spring_festival_open_tag { get; set; } + public int? two_pieces_discount { get; set; } + + public instruction_voItem instruction_vo { get; set; } + public object local_service_id_list { get; set; } + public object shop_group_id { get; set; } + public object shop_group_name { get; set; } + public int? is_refundable_fifteen_day { get; set; } + public int? is_warranty_one_year { get; set; } + public long? created_at { get; set; } + public int? privacy_delivery { get; set; } + public object invoice_mode_sub_type { get; set; } + public bool? is_two_num_group { get; set; } + public extend_warranty_dtoItem extend_warranty_dto { get; set; } + public int? is_sku_shipment { get; set; } + public List qualification_id_list { get; set; } + public int? is_certificate_provide { get; set; } + public int? thawed_refund { get; set; } + public int? damage_claim { get; set; } + public int? is_wp_service { get; set; } + public int? is_size_change_casually { get; set; } + public string owner_name { get; set; } + public bool? show_activity_price { get; set; } + public object appeal_status { get; set; } + public object can_appeal { get; set; } + + public List cat_ids { get; set; } + public List cats { get; set; } + + public bool? is_draft { get; set; } + public int? third_type { get; set; } + public int? estimate_quantity { get; set; } + public int? last_commit_check_status { get; set; } + public bool? is_deposit { get; set; } + public object gold_price_template_id { get; set; } + public object gold_price_type { get; set; } + public object processing_charges { get; set; } + public object processing_charges_type { get; set; } + public object is_gold_price_matched { get; set; } + public object shoes_template_id { get; set; } + public object spu_id { get; set; } + public object spu_version { get; set; } + public object is_goods_copy { get; set; } + public int? promised_delivery_seconds { get; set; } + public int? community_group_buying { get; set; } + public int? purchase_info_supply { get; set; } + public int? same_city_template_id { get; set; } + public object goods_certificate { get; set; } + public int? is_customized { get; set; } + public string name_prefix { get; set; } + public object business_source_type { get; set; } + public object creator_name { get; set; } + public object reason { get; set; } + public object app_id { get; set; } + public object app_name { get; set; } + public int? user_source { get; set; } + public object check_type { get; set; } + } + + public class groupsItem + { + public int? single_price { get; set; } + public int? group_price { get; set; } + public object carnival_price { get; set; } + public int? customer_num { get; set; } + public int? buy_limit { get; set; } //999999 + public int? order_limit { get; set; } //999999 + public object regular_limit { get; set; } + public object regular_limit_duration { get; set; } + public object min_num_of_order { get; set; } + } + + + public class commit_extensionItem + { + public int? id { get; set; } + public int? goods_commit_id { get; set; } + public int? start_production_date { get; set; } + public int? end_production_date { get; set; } + public string production_license { get; set; } + public string production_standard_number { get; set; } + public int? shelf_life { get; set; } + public string out_goods_sn { get; set; } + public object created_at { get; set; } + public object updated_at { get; set; } + } + + public class galleryItem + { + public string url { get; set; } + public int? width { get; set; } + public int? height { get; set; } + public int? type { get; set; } + public object source { get; set; } + public object status { get; set; } + public object video_url { get; set; } + public object file_id { get; set; } + public object is_deleted { get; set; } + public object check_comment { get; set; } + public object origin_url { get; set; } + } + + public class mall_infoItem { + public string mall_name { get; set; } + } + + public class skuItem + { + public long? id { get; set; } + public long? sku_id { get; set; } + public object sku_sn { get; set; } + public int? carnival_price { get; set; } + public int? init_quantity { get; set; } + public int? is_onsale { get; set; } + public int? limit_quantity { get; set; } // 999999 max + public int? multi_price { get; set; } + public object multi_price_in_yuan { get; set; } + public int? price { get; set; } + public object price_in_yuan { get; set; } + public int? quantity { get; set; } + public int? reserve_quantity { get; set; } + public int? weight { get; set; } + public string thumb_url { get; set; } + public object thumb_url_file_id { get; set; } + public object thumb_url_status { get; set; } + public object thumb_url_is_deleted { get; set; } + public int? quantity_delta { get; set; } + public List spec { get; set; } + public string out_sku_sn { get; set; } + public object batch_id { get; set; } + public int? priority { get; set; } + public int? ware_id { get; set; } + public object advice_price { get; set; } + public object length { get; set; } + public oversea_skuItem oversea_sku { get; set; } + public object cspu_id { get; set; } + public object child_skus { get; set; } + public long? ref_sku_commit_id { get; set; } + public object start_time { get; set; } + public object end_time { get; set; } + public object sku_srv_templates { get; set; } + public object calendar_rule_id { get; set; } + public object hot_live_group { get; set; } + public int? pre_sale_time { get; set; } + public object out_source_sku_id { get; set; } + public object dd_grocery_sku_params { get; set; } + public object sku_extended_attribute_dtos { get; set; } + public object sku_basic_property_dtos { get; set; } + public object spec_note_map { get; set; } + public object delivery_schedule_dtos { get; set; } + public List shipment_limit_second_list { get; set; } + public string sku69_code { get; set; } + + } + + public class specItem + { + public int? parent_id { get; set; } + public string parent_name { get; set; } + public long? spec_id { get; set; } + public string spec_name { get; set; } + public object spec_note { get; set; } + public object bundle_spec_list { get; set; } + public object sku_combination { get; set; } + public object is_custom { get; set; } + } + + public class oversea_skuItem + { + public object specifications { get; set; } + public object measurement_code { get; set; } + public object measurement_unit { get; set; } + public object taxation { get; set; } + public object record_id_list { get; set; } + } + + public class schedule_saleItem + { + public int? sale_type { get; set; } + public object sale_time_fixed { get; set; } + public object sale_time { get; set; } + public object price_show { get; set; } + } + + public class instruction_voItem + { + public object template_id { get; set; } + public int? template_status { get; set; } + public object template_name { get; set; } + public object rejected_reason { get; set; } + } + + public class extend_warranty_dtoItem + { + public int? extend_warranty { get; set; } + public object extend_warranty_year { get; set; } + public object extend_warranty_range { get; set; } + } +} diff --git a/AllBase/Model/Result/ShopLoginInfo.cs b/AllBase/Model/Result/ShopLoginInfo.cs index aa9bfa6..3852897 100644 --- a/AllBase/Model/Result/ShopLoginInfo.cs +++ b/AllBase/Model/Result/ShopLoginInfo.cs @@ -30,6 +30,7 @@ namespace AllBase.Model.Result public string TouTiaoId { get; set; } public string Cookies { get; set; } = ""; public string Cookies2 { get; set; } = ""; + public List AntiContents { get; set; } = new List(); public Dictionary DictMultiCookies { get; set; } = new Dictionary(); public string LoginStatus { get; set; } public string LoginStatus2 { get; set; } @@ -248,6 +249,7 @@ namespace AllBase.Model.Result public string AccountId { get; set; } public string AccountName { get; set; } public string LoginStatus { get; set; } + public string AntiContent { get; set; } } public class ShopOrderStatisticsInfo diff --git a/AllBase/Model/Result/TemuDBProduct.cs b/AllBase/Model/Result/TemuDBProduct.cs index 9cdc9f5..992f379 100644 --- a/AllBase/Model/Result/TemuDBProduct.cs +++ b/AllBase/Model/Result/TemuDBProduct.cs @@ -12,6 +12,7 @@ namespace AllBase.Model.Result public class TemuDBProduct { public int id { get; set; } + public string from_shop_id { get; set; } public string spu_id { get; set; } public string skc_id { get; set; } public string cat_id { get; set; } diff --git a/AllBase/Model/Result/TemuDBProductSelect.cs b/AllBase/Model/Result/TemuDBProductSelect.cs index 6638992..422e757 100644 --- a/AllBase/Model/Result/TemuDBProductSelect.cs +++ b/AllBase/Model/Result/TemuDBProductSelect.cs @@ -35,7 +35,7 @@ namespace AllBase.Model.Result } #region 外键连接属性 - + public string from_shop_id { get; set; } public string cat_id { get; set; } public string cat_name { get; set; } public string change_cat_id { get; set; } diff --git a/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs b/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs index e373766..86af603 100644 --- a/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs +++ b/KJDService/KJD_WebService/BLL/BXX/BXXProductManage.cs @@ -24,6 +24,7 @@ namespace KJD_Web.BLL.BXX return "{\"code\":50000,\"msg\":\"校验失败\"}"; string user_name = RegexUtils.GetStringQuery(ref inputData, "user_name"); + string from_shop_id = RegexUtils.GetStringQuery(ref inputData, "from_shop_id"); string spu_id = RegexUtils.GetStringQuery(ref inputData, "spu_id"); string skc_id = RegexUtils.GetStringQuery(ref inputData, "skc_id"); string cat_id = RegexUtils.GetStringQuery(ref inputData, "cat_id"); @@ -44,8 +45,8 @@ namespace KJD_Web.BLL.BXX MysqlUtils mySql = new MysqlUtils(conn); string sql = ""; - sql = "insert into bxx.product (spu_id,skc_id,cat_id,cat_name,product_name,ext_code,main_img,product_json,size_json,notes,add_time,mdy_time) " + - "values ('" + spu_id + "','" + skc_id + "','" + cat_id + "','" + cat_name + "','" + product_name + "','" + + sql = "insert into bxx.product (from_shop_id,spu_id,skc_id,cat_id,cat_name,product_name,ext_code,main_img,product_json,size_json,notes,add_time,mdy_time) " + + "values ('" + from_shop_id + "','" + spu_id + "','" + skc_id + "','" + cat_id + "','" + cat_name + "','" + product_name + "','" + ext_code + "','" + main_img + "','" + product_json + "','" + size_json + "','" + notes + "','" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "');"; @@ -63,6 +64,74 @@ namespace KJD_Web.BLL.BXX return "{\"code\":19999,\"msg\":\"输入为空\"}"; } + public string MdyProduct(string inputData) + { + if (!string.IsNullOrEmpty(inputData)) + { + var time = 0; + int.TryParse(RegexUtils.GetStringQuery(ref inputData, "time"), out time); + string time1 = RegexUtils.GetStringQuery(ref inputData, "code"); + if (time1 != EncrypUtil.Encryption(time)) + return "{\"code\":50000,\"msg\":\"校验失败\"}"; + + string user_name = RegexUtils.GetStringQuery(ref inputData, "user_name"); + string from_shop_id = RegexUtils.GetStringQuery(ref inputData, "from_shop_id"); + string spu_id = RegexUtils.GetStringQuery(ref inputData, "spu_id"); + string skc_id = RegexUtils.GetStringQuery(ref inputData, "skc_id"); + string cat_id = RegexUtils.GetStringQuery(ref inputData, "cat_id"); + string cat_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "cat_name"))?.Replace("'", "\\'"); + string ext_code = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "ext_code"))?.Replace("'", "\\'"); + string product_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "product_name"))?.Replace("'", "\\'"); + string product_json = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "product_json"))?.Replace("'", "\\'"); + string size_json = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "size_json"))?.Replace("'", "\\'"); + string main_img = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "main_img"))?.Replace("'", "\\'"); + string notes = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "notes"))?.Replace("'", "\\'"); + + if (string.IsNullOrEmpty(user_name)) + { + return "{\"code\":500,\"msg\":\"没有用户名\"}"; + } + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + string sql = ""; + + sql = "update bxx.product set"; + if (from_shop_id != null) + sql += " from_shop_id='" + from_shop_id + "',"; + if (cat_id != null) + sql += " cat_id='" + cat_id + "',"; + if (cat_name != null) + sql += " cat_name='" + cat_name + "',"; + if (product_name != null) + sql += " product_name='" + product_name + "',"; + if (ext_code != null) + sql += " ext_code='" + ext_code + "',"; + if (main_img != null) + sql += " main_img='" + main_img + "',"; + if (product_json != null) + sql += " product_json='" + product_json + "',"; + if (size_json != null) + sql += " size_json='" + size_json + "',"; + if (notes != null) + sql += " notes='" + notes + "',"; + sql += " mdy_time='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',"; + sql = sql.TrimEnd(','); + sql += " where spu_id='" + spu_id + "';"; + var rst = mySql.ExecuteNonQuery(sql); + mySql.Close(); + if (rst) + { + return "{\"code\":200,\"msg\":\"success\"}"; + } + else + { + return "{\"code\":500,\"msg\":\"" + mySql.Message + "\"}"; + } + } + return "{\"code\":19999,\"msg\":\"输入为空\"}"; + } + public string GetProductList(string inputData, bool isDetail = false) { if (!string.IsNullOrEmpty(inputData)) @@ -122,10 +191,10 @@ namespace KJD_Web.BLL.BXX if (isDetail) sql = "select * from bxx.product p where 1=1"; else if (string.IsNullOrEmpty(get_select_count)) - sql = "select p.id,p.spu_id,p.skc_id,p.cat_id,p.cat_name,p.ext_code,p.product_name,p.main_img,p.notes," + + sql = "select p.id,p.from_shop_id,p.spu_id,p.skc_id,p.cat_id,p.cat_name,p.ext_code,p.product_name,p.main_img,p.notes," + "p.add_time,p.mdy_time,p.select_total_count,p.fission_words,p.head_words,p.end_words from bxx.product p where 1=1"; else - sql = "SELECT p.id,p.spu_id,p.skc_id,p.cat_id,p.cat_name,p.ext_code,p.product_name,p.main_img,p.notes," + + sql = "SELECT p.id,p.from_shop_id,p.spu_id,p.skc_id,p.cat_id,p.cat_name,p.ext_code,p.product_name,p.main_img,p.notes," + "p.add_time,p.mdy_time,p.select_total_count,p.fission_words,p.head_words,p.end_words,COUNT(s.id) AS select_count " + "FROM bxx.product p LEFT JOIN bxx.product_select s ON p.id=s.out_product_id AND s.shop_id='" + select_shop_id + "' " + "WHERE 1=1"; @@ -153,6 +222,7 @@ namespace KJD_Web.BLL.BXX DBProductResultParam prod = new DBProductResultParam { id = Convert.ToInt32(row["id"]), + from_shop_id = row["from_shop_id"].ToString(), skc_id = row["skc_id"].ToString(), spu_id = row["spu_id"].ToString(), cat_id = row["cat_id"].ToString(), @@ -363,9 +433,9 @@ namespace KJD_Web.BLL.BXX { add_product_remaining = add_product_remaining - 1; sql += "\r\n"; - sql += "update bxx.shop set add_product_remaining=" + add_product_remaining + " where shop_id=" + shop_id + ";"; + sql += "update bxx.shop set add_product_remaining=" + add_product_remaining + " where shop_id='" + shop_id + "';"; sql += "update bxx.product set select_total_count=select_total_count+1 where id=" + out_product_Id + ";"; - //sql += "update bxx.shop_add_prod_count set add_product_remaining=" + add_product_remaining + " where shop_id=" + shop_id + ";"; + //sql += "update bxx.shop_add_prod_count set add_product_remaining=" + add_product_remaining + " where shop_id='" + shop_id + "';"; sql += "INSERT INTO bxx.shop_add_prod_count(shop_id, add_product_remaining) VALUES('" + shop_id + "'," + add_product_remaining + ")" + "ON DUPLICATE KEY UPDATE add_product_remaining=VALUES(add_product_remaining)"; } @@ -557,7 +627,7 @@ namespace KJD_Web.BLL.BXX sql = "select s.id,s.out_product_id,s.shop_id,s.shop_account,s.user_name," + "s.sub_user_name,s.notes,s.user_notes,s.status,s.draft_id,s.add_times,s.add_time,s.mdy_time," + "s.fission_product_name,s.operate_sub_sa_name,s.add_sub_sa_time," + - "p.spu_id,p.skc_id,p.cat_id,p.cat_name,p.ext_code,p.product_name,p.main_img," + + "p.from_shop_id,p.spu_id,p.skc_id,p.cat_id,p.cat_name,p.ext_code,p.product_name,p.main_img," + "u.nick_name as operate_sub_sa_nick " + "from bxx.product_select s left join bxx.product p on s.out_product_id=p.id " + "left join bxx.user u on u.user_name=s.operate_sub_sa_name " + @@ -603,6 +673,7 @@ namespace KJD_Web.BLL.BXX operate_sub_sa_nick = row["operate_sub_sa_nick"].ToString(), fission_product_name = row["fission_product_name"].ToString(), user_notes = row["user_notes"].ToString(), + from_shop_id = row["from_shop_id"].ToString(), //product_json = row["product_json"].ToString(), //size_json = row["size_json"].ToString(), }; diff --git a/KJDService/KJD_WebService/BLL/BXX/BXXProductThirdManage.cs b/KJDService/KJD_WebService/BLL/BXX/BXXProductThirdManage.cs index ae1e9c0..5ea3fbd 100644 --- a/KJDService/KJD_WebService/BLL/BXX/BXXProductThirdManage.cs +++ b/KJDService/KJD_WebService/BLL/BXX/BXXProductThirdManage.cs @@ -7,6 +7,7 @@ using System; using System.Collections.Generic; using System.Data; using System.Linq; +using System.Text.RegularExpressions; using System.Web; using System.Web.Security; @@ -25,6 +26,7 @@ namespace KJD_Web.BLL.BXX return "{\"code\":50000,\"msg\":\"校验失败\"}"; string user_name = RegexUtils.GetStringQuery(ref inputData, "user_name"); + string from_shop_id = RegexUtils.GetStringQuery(ref inputData, "from_shop_id"); string spu_id = RegexUtils.GetStringQuery(ref inputData, "spu_id"); string skc_id = RegexUtils.GetStringQuery(ref inputData, "skc_id"); string cat_id = RegexUtils.GetStringQuery(ref inputData, "cat_id"); @@ -44,28 +46,33 @@ namespace KJD_Web.BLL.BXX string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; MysqlUtils mySql = new MysqlUtils(conn); string sql = ""; - var json_sign = RegexUtils.GetStringJson(ref product_json, "signedImageUrl"); // 取商品json数据里不同签名的部分 - var product_md5 = EncrypUtil.GetMd5(product_json?.Replace(json_sign, "") + size_json); - var product_md5_2 = EncrypUtil.GetMd5(product_json?.Replace("'", "\\'").Replace(json_sign, "") + size_json); - sql = "select id from bxx.third_product where product_md5='" + product_md5 + "' or product_md5='" + product_md5_2 + "';"; + var json_ids = RegexUtils.GetMatchRegex(ref product_json, "(\"id\":\\d{8,14})"); // 取商品json数据里不同签名的部分 + var product_json_replace = product_json; + foreach (Match json_id in json_ids) + { + product_json_replace = product_json_replace.Replace(json_id.Value, "\"id\":0"); + } + var product_md5 = EncrypUtil.GetMd5(product_json_replace + size_json); + sql = "select id from bxx.third_product where product_md5='" + product_md5 + "';"; var rst = mySql.ExecuteFirstInt(sql).ParseToLong(); if (rst <= 0) { - //sql = "insert into bxx.third_product (spu_id,skc_id,cat_id,cat_name,product_name,ext_code,main_img,product_json,size_json,notes,product_md5,add_time,mdy_time) " + - // "values ('" + spu_id + "','" + skc_id + "','" + cat_id + "','" + cat_name + "','" + product_name + "','" + + //sql = "insert into bxx.third_product (from_shop_id,spu_id,skc_id,cat_id,cat_name,product_name,ext_code,main_img,product_json,size_json,notes,product_md5,add_time,mdy_time) " + + // "values ('" + from_shop_id + "','" + spu_id + "','" + skc_id + "','" + cat_id + "','" + cat_name + "','" + product_name + "','" + // ext_code + "','" + main_img + "','" + product_json + "','" + size_json + "','" + notes + "','" + product_md5 + "','" + // DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','" + // DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "');"; //rst = mySql.ExecuteInsertId(sql); - sql = "insert into bxx.third_product (spu_id,skc_id,cat_id,cat_name,product_name," + + sql = "insert into bxx.third_product (from_shop_id,spu_id,skc_id,cat_id,cat_name,product_name," + "ext_code,main_img,product_json,size_json,notes,product_md5,add_time,mdy_time) " + - "values (@spu_id,@skc_id,@cat_id,@cat_name,@product_name," + + "values (@from_shop_id,@spu_id,@skc_id,@cat_id,@cat_name,@product_name," + "@ext_code,@main_img,@product_json,@size_json,@notes,@product_md5," + "@add_time,@mdy_time);"; string add_time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); string mdy_time = add_time; List paramLst = new List(); + paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@from_shop_id", Value = from_shop_id, }); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@spu_id", Value = spu_id, }); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@skc_id", Value = skc_id, }); paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@cat_id", Value = cat_id, }); @@ -105,6 +112,7 @@ namespace KJD_Web.BLL.BXX var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name")?.Replace("'","\\'"); var password = RegexUtils.GetStringQuery(ref inputData, "password")?.Replace("'", "\\'"); + var from_shop_id = RegexUtils.GetStringQuery(ref inputData, "from_shop_id")?.Replace("'", "\\'"); var search_spu = RegexUtils.GetStringQuery(ref inputData, "search_spu")?.Replace("'", "\\'"); var search_skc = RegexUtils.GetStringQuery(ref inputData, "search_skc")?.Replace("'", "\\'"); var search_cat = RegexUtils.GetStringQuery(ref inputData, "search_cat")?.Replace("'", "\\'"); @@ -150,7 +158,7 @@ namespace KJD_Web.BLL.BXX if (isDetail) sql = "select * from bxx.third_product where 1=1"; else - sql = "select id,spu_id,skc_id,cat_id,cat_name,change_cat_id,change_cat_name,ext_code,product_name,main_img,notes," + + sql = "select id,from_shop_id,spu_id,skc_id,cat_id,cat_name,change_cat_id,change_cat_name,ext_code,product_name,main_img,notes," + "add_time,mdy_time from bxx.third_product where 1=1"; sql += where; @@ -171,6 +179,7 @@ namespace KJD_Web.BLL.BXX DBProductResultParam prod = new DBProductResultParam { id = Convert.ToInt32(row["id"]), + from_shop_id = row["from_shop_id"].ToString(), skc_id = row["skc_id"].ToString(), spu_id = row["spu_id"].ToString(), cat_id = row["cat_id"].ToString(), @@ -361,7 +370,7 @@ namespace KJD_Web.BLL.BXX { add_product_remaining = add_product_remaining - 1; sql += "\r\n"; - sql += "update bxx.shop set add_product_remaining=" + add_product_remaining + " where shop_id=" + shop_id + ";"; + sql += "update bxx.shop set add_product_remaining=" + add_product_remaining + " where shop_id='" + shop_id + "';"; //sql += "update bxx.shop_add_prod_count set add_product_remaining=" + add_product_remaining + " where shop_id=" + shop_id + ";"; sql += "INSERT INTO bxx.shop_add_prod_count(shop_id, add_product_remaining) VALUES('" + shop_id + "'," + add_product_remaining + ")" + "ON DUPLICATE KEY UPDATE add_product_remaining=VALUES(add_product_remaining)"; @@ -558,7 +567,7 @@ namespace KJD_Web.BLL.BXX sql = "select s.id,s.out_product_id,s.shop_id,s.shop_account,s.user_name," + "s.sub_user_name,s.notes,s.user_notes,s.status,s.draft_id,s.add_times,s.add_time,s.mdy_time," + "s.fission_product_name,s.operate_sub_sa_name,s.add_sub_sa_time," + - "p.spu_id,p.skc_id,p.cat_id,p.cat_name,p.change_cat_id,p.change_cat_name,p.ext_code,p.product_name,p.main_img," + + "p.from_shop_id,p.spu_id,p.skc_id,p.cat_id,p.cat_name,p.change_cat_id,p.change_cat_name,p.ext_code,p.product_name,p.main_img," + "u.nick_name as operate_sub_sa_nick " + "from bxx.third_product_select s left join bxx.third_product p on s.out_product_id=p.id " + "left join bxx.user u on u.user_name=s.operate_sub_sa_name " + @@ -606,6 +615,7 @@ namespace KJD_Web.BLL.BXX operate_sub_sa_nick = row["operate_sub_sa_nick"].ToString(), fission_product_name = row["fission_product_name"].ToString(), user_notes = row["user_notes"].ToString(), + from_shop_id = row["from_shop_id"].ToString(), //product_json = row["product_json"].ToString(), //size_json = row["size_json"].ToString(), }; diff --git a/KJDService/KJD_WebService/BLL/BXX/BXXShopManage.cs b/KJDService/KJD_WebService/BLL/BXX/BXXShopManage.cs index b2794b6..e334b8e 100644 --- a/KJDService/KJD_WebService/BLL/BXX/BXXShopManage.cs +++ b/KJDService/KJD_WebService/BLL/BXX/BXXShopManage.cs @@ -94,7 +94,7 @@ namespace KJD_Web.BLL.BXX } else { - sql = "SELECT s.id,s.login_name,s.login_pass,s.cookie,s.cookie2,s.shop_id,s.shop_account,s.sub_user_name,s.user_name," + + sql = "SELECT s.id,s.login_name,s.login_pass,s.cookie,s.cookie2,s.anti_contents,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 bxx.shop s WHERE 1=1"; @@ -120,6 +120,7 @@ namespace KJD_Web.BLL.BXX 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(), @@ -272,7 +273,7 @@ namespace KJD_Web.BLL.BXX } else { - sql = "SELECT s.id,s.login_name,s.login_pass,s.cookie,s.cookie2,s.shop_id,s.shop_account,s.sub_user_name,s.user_name," + + sql = "SELECT s.id,s.login_name,s.login_pass,s.cookie,s.cookie2,s.anti_contents,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 bxx.shop s LEFT JOIN bxx.shop_add_prod_count c ON s.shop_id=c.shop_id WHERE 1=1"; @@ -297,6 +298,7 @@ namespace KJD_Web.BLL.BXX 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(), @@ -425,7 +427,7 @@ namespace KJD_Web.BLL.BXX string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; MysqlUtils mySql = new MysqlUtils(conn); - string sql = "select id,login_name,login_pass,cookie,cookie2,shop_id,shop_account,sub_user_name,user_name from bxx.shop where user_name='" + string sql = "select id,login_name,login_pass,cookie,cookie2,anti_contents,shop_id,shop_account,sub_user_name,user_name from bxx.shop where user_name='" + user_name + "' and login_name='" + login_name + "'"; var dt = mySql.ExecuteDataTable(sql); @@ -442,6 +444,7 @@ namespace KJD_Web.BLL.BXX 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(), @@ -473,7 +476,7 @@ namespace KJD_Web.BLL.BXX string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; MysqlUtils mySql = new MysqlUtils(conn); - string sql = "select id,login_name,login_pass,cookie,cookie2,shop_id,shop_account,sub_user_name,user_name from bxx.shop where user_name='" + string sql = "select id,login_name,login_pass,cookie,cookie2,anti_contents,shop_id,shop_account,sub_user_name,user_name from bxx.shop where user_name='" + user_name + "' and login_name='" + login_name + "' and shop_id='" + shop_id + "'"; var dt = mySql.ExecuteDataTable(sql); @@ -490,6 +493,7 @@ namespace KJD_Web.BLL.BXX 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(), @@ -519,6 +523,7 @@ namespace KJD_Web.BLL.BXX 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 shop_account = RegexUtils.GetStringQuery(ref inputData, "shop_account"); string group_name = RegexUtils.GetStringQuery(ref inputData, "group_name"); @@ -550,8 +555,8 @@ namespace KJD_Web.BLL.BXX return "{\"code\":500,\"msg\":\"店铺" + login_name +" " + shop_account + "已存在\"}"; } - sql = "insert into bxx.shop (login_name,login_pass,cookie,cookie2,shop_account,shop_id,sub_user_name,user_name,group_name,notes,add_time,mdy_time) " + - "values ('" + login_name + "','" + login_pass + "','" + cookie + "','" + cookie2 + "','" + shop_account + "','" + shop_id + "','" + + sql = "insert into bxx.shop (login_name,login_pass,cookie,cookie2,anti_contents,shop_account,shop_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 + "','" + 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") + "');"; @@ -577,6 +582,7 @@ namespace KJD_Web.BLL.BXX 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 shop_account = RegexUtils.GetStringQuery(ref inputData, "shop_account"); @@ -605,6 +611,8 @@ namespace KJD_Web.BLL.BXX 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 (shop_account != null) @@ -632,6 +640,40 @@ namespace KJD_Web.BLL.BXX return "{\"code\":19999,\"msg\":\"未知错误\"}"; } + public string MdyAntiContent(string inputData) + { + if (!string.IsNullOrEmpty(inputData)) + { + string login_name = RegexUtils.GetStringQuery(ref inputData, "login_name"); + string shop_id = RegexUtils.GetStringQuery(ref inputData, "shop_id"); + string anti_contents = RegexUtils.GetStringQuery(ref inputData, "anti_contents"); + + int r2 = 0; + int.TryParse(RegexUtils.GetStringQuery(ref inputData, "r2"), out r2); + + if (string.IsNullOrEmpty(login_name)) + { + return "{\"code\":500,\"msg\":\"店铺没有登录名\"}"; + } + + string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString; + MysqlUtils mySql = new MysqlUtils(conn); + string sql = "update bxx.shop set"; + if (anti_contents != null) + sql += " anti_contents='" + anti_contents + "',"; + sql = sql.TrimEnd(','); + sql += " where login_name='" + login_name + "' and shop_id='" + shop_id + "';"; + + var rst = mySql.ExecuteNonQuery(sql); + mySql.Close(); + if (rst) + { + return "{\"code\":200,\"msg\":\"success\"}"; + } + } + return "{\"code\":19999,\"msg\":\"未知错误\"}"; + } + public string MdyCookieAndLoginStatus(string inputData) { if (!string.IsNullOrEmpty(inputData)) diff --git a/KJDService/KJD_WebService/BLL/KJD/ProductManage.cs b/KJDService/KJD_WebService/BLL/KJD/ProductManage.cs index 98472ea..be2fead 100644 --- a/KJDService/KJD_WebService/BLL/KJD/ProductManage.cs +++ b/KJDService/KJD_WebService/BLL/KJD/ProductManage.cs @@ -363,7 +363,7 @@ namespace KJD_Web.BLL { add_product_remaining = add_product_remaining - 1; sql += "\r\n"; - sql += "update kjd.shop set add_product_remaining=" + add_product_remaining + " where shop_id=" + shop_id + ";"; + sql += "update kjd.shop set add_product_remaining=" + add_product_remaining + " where shop_id='" + shop_id + "';"; sql += "update kjd.product set select_total_count=select_total_count+1 where id=" + out_product_Id + ";"; //sql += "update kjd.shop_add_prod_count set add_product_remaining=" + add_product_remaining + " where shop_id=" + shop_id + ";"; sql += "INSERT INTO kjd.shop_add_prod_count(shop_id, add_product_remaining) VALUES('" + shop_id + "'," + add_product_remaining + ")" + diff --git a/KJDService/KJD_WebService/BLL/KJD/ProductThirdManage.cs b/KJDService/KJD_WebService/BLL/KJD/ProductThirdManage.cs index 2779a79..905f7c4 100644 --- a/KJDService/KJD_WebService/BLL/KJD/ProductThirdManage.cs +++ b/KJDService/KJD_WebService/BLL/KJD/ProductThirdManage.cs @@ -361,8 +361,8 @@ namespace KJD_Web.BLL { add_product_remaining = add_product_remaining - 1; sql += "\r\n"; - sql += "update kjd.shop set add_product_remaining=" + add_product_remaining + " where shop_id=" + shop_id + ";"; - //sql += "update kjd.shop_add_prod_count set add_product_remaining=" + add_product_remaining + " where shop_id=" + shop_id + ";"; + sql += "update kjd.shop set add_product_remaining=" + add_product_remaining + " where shop_id='" + shop_id + "';"; + //sql += "update kjd.shop_add_prod_count set add_product_remaining=" + add_product_remaining + " where shop_id='" + shop_id + "';"; sql += "INSERT INTO kjd.shop_add_prod_count(shop_id, add_product_remaining) VALUES('" + shop_id + "'," + add_product_remaining + ")" + "ON DUPLICATE KEY UPDATE add_product_remaining=VALUES(add_product_remaining)"; } diff --git a/KJDService/KJD_WebService/BXXProductService.asmx.cs b/KJDService/KJD_WebService/BXXProductService.asmx.cs index c199f76..18b90f1 100644 --- a/KJDService/KJD_WebService/BXXProductService.asmx.cs +++ b/KJDService/KJD_WebService/BXXProductService.asmx.cs @@ -84,6 +84,18 @@ namespace KJD_Web Context.Response.End(); } + [WebMethod] + public void mdy_product() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new BXXProductManage().MdyProduct(jsontext); + + Context.Response.Write(result); + Context.Response.End(); + } + [WebMethod] public void del_db_product() { diff --git a/KJDService/KJD_WebService/BXXShopService.asmx.cs b/KJDService/KJD_WebService/BXXShopService.asmx.cs index 3ad7ad9..3166fd9 100644 --- a/KJDService/KJD_WebService/BXXShopService.asmx.cs +++ b/KJDService/KJD_WebService/BXXShopService.asmx.cs @@ -108,6 +108,18 @@ namespace KJD_Web Context.Response.End(); } + [WebMethod] + public void mdy_anti_content() + { + string jsontext = GetRequestJsonString(); + + var result = jsontext; + result = new BXXShopManage().MdyAntiContent(jsontext); + + Context.Response.Write(result); + Context.Response.End(); + } + [WebMethod] public void mdy_shop_cookie_and_login_status() { diff --git a/KJDService/KJD_WebService/Model/DBProductResultParam.cs b/KJDService/KJD_WebService/Model/DBProductResultParam.cs index 3af1fdc..7f89550 100644 --- a/KJDService/KJD_WebService/Model/DBProductResultParam.cs +++ b/KJDService/KJD_WebService/Model/DBProductResultParam.cs @@ -11,6 +11,7 @@ namespace KJD_Web.Model public class DBProductResultParam { public int id { get; set; } + public string from_shop_id { get; set; } = ""; public string spu_id { get; set; } public string skc_id { get; set; } public string cat_id { get; set; } diff --git a/KJDService/KJD_WebService/Model/ProductSelectResultParam.cs b/KJDService/KJD_WebService/Model/ProductSelectResultParam.cs index 1d577fb..0cb963f 100644 --- a/KJDService/KJD_WebService/Model/ProductSelectResultParam.cs +++ b/KJDService/KJD_WebService/Model/ProductSelectResultParam.cs @@ -30,7 +30,7 @@ namespace KJD_Web.Model public string fission_product_name { get; set; } #region 外键连接属性 - + public string from_shop_id { get; set; } = ""; public string cat_id { get; set; } public string cat_name { get; set; } public string change_cat_id { get; set; } diff --git a/KJDService/KJD_WebService/Model/ShopModel/ShopParam.cs b/KJDService/KJD_WebService/Model/ShopModel/ShopParam.cs index 53b3a8e..3a5b888 100644 --- a/KJDService/KJD_WebService/Model/ShopModel/ShopParam.cs +++ b/KJDService/KJD_WebService/Model/ShopModel/ShopParam.cs @@ -12,6 +12,7 @@ namespace KJD_Web.Model.ShopModel public string login_pass { get; set; } public string cookie { get; set; } public string cookie2 { get; set; } + public string anti_contents { get; set; } public string shop_id { get; set; } public string shop_account { get; set; } public string sub_user_name { get; set; } diff --git a/TEMUKJD/KJDForms/ProductForms/ProductResponse/KJDHttpResponse.cs b/TEMUKJD/BLL/HttpResponseBLL.cs similarity index 79% rename from TEMUKJD/KJDForms/ProductForms/ProductResponse/KJDHttpResponse.cs rename to TEMUKJD/BLL/HttpResponseBLL.cs index 0a9cef6..912ff80 100644 --- a/TEMUKJD/KJDForms/ProductForms/ProductResponse/KJDHttpResponse.cs +++ b/TEMUKJD/BLL/HttpResponseBLL.cs @@ -9,9 +9,9 @@ using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; -namespace TemuKJD.KJDForms +namespace TemuKJD.BLL { - public class KJDHttpResponse + public class HttpResponseBLL { public static string PostResponse(ShopLoginInfo shop, string _url, string _data, string referer) { @@ -297,6 +297,84 @@ namespace TemuKJD.KJDForms result = GetProxyHtml.ReadResponse(response); return result; } + + + public static string PDDPostResponse(ShopLoginInfo shop, string _url, string _data, string referer, string AntiContent = null) + { + if (string.IsNullOrEmpty(AntiContent)) + AntiContent = "0apAfa5e-wCEXaTg0FNtNj4PklUKt0E_FNynruEIx9qGLdY6b5YUhnqi7QxYqQqi2Ugraphm85CrR0oU0XYn0dYX5dqXqXJnqg8npDTnpTJnpAaX9swaKE20Tbw_yKnoaXIXxHGB_IxWWlIXMnxghvniTodnXt2wcA7sxhbV_CEBcCez4H92maXI2d1qgoYswoG4Mf_ojlph0nGig8nqWzXqwTYh0j4W6jYs6PxHjXvJslpHyXjseoqZhfqdydn5_Jj0g2TPpCaGDgSgL1FT_lZPGmxIq9UXkPCQpBhPtTZaqGAq06gXkNxXZPrXO0gQ4SHl0bZSZth9LG_j0dKS54JX1PCPZM4XObhaxYjH0oMqm06oiXHYmpnOkTbo-z4QlrCxT43eEBgmrk8AvVbKI3FKz-FAL4pwdFveGf5c1JO_csO50lnqQNy9909u6zLUrFMiTy"; + string rckk = "Z07QGtUzw1cgd58IPWnC1OAGCW9xcH1m"; + string cookies = ""; + try + { + var cookieLst = JsonHelper.DeserializeJsonToList(shop.Cookies); + foreach (var cook in cookieLst) + { + cookies += cook.Name + "=" + cook.Value + ";"; + } + var rckkCookie = cookieLst.FirstOrDefault(c => c.Name == "rckk"); + if (rckkCookie != null) + rckk = rckkCookie.Value; + } + catch { } + + + HttpWebResponse response = null; + string result; + try + { + string url = _url; + HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); + + request.KeepAlive = true; + request.Headers.Set(HttpRequestHeader.CacheControl, "max-age=0"); + request.Headers.Add("Anti-Content", AntiContent); + request.Headers.Add("sec-ch-ua-platform", @"""Windows"""); + request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"; + request.Headers.Add("ETag", rckk); + request.Headers.Add("sec-ch-ua", @"""Not;A=Brand"";v=""99"", ""Google Chrome"";v=""139"", ""Chromium"";v=""139"""); + request.ContentType = "application/json"; + request.Headers.Add("sec-ch-ua-mobile", @"?0"); + request.Accept = "*/*"; + request.Headers.Add("Origin", @"https://mms.pinduoduo.com"); + request.Headers.Add("Sec-Fetch-Site", @"same-origin"); + request.Headers.Add("Sec-Fetch-Mode", @"cors"); + request.Headers.Add("Sec-Fetch-Dest", @"empty"); + request.Referer = referer; + request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate, br, zstd"); + request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9"); + request.Headers.Set(HttpRequestHeader.Cookie, cookies); + + request.Method = "POST"; + request.ServicePoint.Expect100Continue = false; + + string body = _data; + byte[] postBytes = System.Text.Encoding.UTF8.GetBytes(body); + request.ContentLength = postBytes.Length; + Stream stream = request.GetRequestStream(); + stream.Write(postBytes, 0, postBytes.Length); + stream.Close(); + + response = (HttpWebResponse)request.GetResponse(); + } + catch (WebException ex) + { + if (ex.Status == WebExceptionStatus.ProtocolError) + { + response = (HttpWebResponse)ex.Response; + result = GetProxyHtml.ReadResponse(response); + return result; + } + else return ex.Message; + } + catch (Exception e) + { + if (response != null) response.Close(); + return e.Message; + } + result = GetProxyHtml.ReadResponse(response); + return result; + } } diff --git a/TEMUKJD/BLL/ProductSelectBLL.cs b/TEMUKJD/BLL/ProductSelectBLL.cs new file mode 100644 index 0000000..85ba1df --- /dev/null +++ b/TEMUKJD/BLL/ProductSelectBLL.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace TemuKJD.BLL +{ + public enum SetProductSelectNotesType + { + DbProduct, + ThirdProduct, + } + public class ProductSelectBLL + { + } +} diff --git a/TEMUKJD/BLL/ShopBLL.cs b/TEMUKJD/BLL/ShopBLL.cs index 8dc1127..12696be 100644 --- a/TEMUKJD/BLL/ShopBLL.cs +++ b/TEMUKJD/BLL/ShopBLL.cs @@ -156,10 +156,13 @@ namespace TemuKJD.BLL shop.UserName = BaseRegex.GetStringJson(ref shopStr, "user_name"); shop.SubUserName = BaseRegex.GetStringJson(ref shopStr, "sub_user_name"); shop.GroupName = BaseRegex.GetStringJson(ref shopStr, "shop_group"); - shop.Cookies = BaseRegex.GetStringJson(ref shopStr, "cookie"); + //shop.Cookies = BaseRegex.GetStringJson(ref shopStr, "cookie"); + shop.Cookies = jObj["cookie"].IsNullOrEmpty() ? "[]" : jObj["cookie"].ToString(); shop.Cookies = shop.Cookies.Replace("&", "&").Replace("%", "%").Replace("+", "+"); - shop.Cookies2 = BaseRegex.GetStringJson(ref shopStr, "cookie2").ParseToString(); + //shop.Cookies2 = BaseRegex.GetStringJson(ref shopStr, "cookie2").ParseToString(); + shop.Cookies2 = jObj["cookie2"].ToString(); shop.Cookies2 = shop.Cookies2.Replace("&", "&").Replace("%", "%").Replace("+", "+"); + shop.AntiContents = JsonHelper.DeserializeJsonToList(jObj["anti_contents"].IsNullOrEmpty() ? "[]" : jObj["anti_contents"].ToString()); shop.CompanyName = BaseRegex.GetStringJson(ref shopStr, "company_name"); shop.Notes = BaseRegex.GetStringJson(ref shopStr, "notes"); shop.LoginStatus = BaseRegex.GetStringJson(ref shopStr, "login_status"); diff --git a/TEMUKJD/KJD.csproj b/TEMUKJD/KJD.csproj index bbe021f..ee2f14d 100644 --- a/TEMUKJD/KJD.csproj +++ b/TEMUKJD/KJD.csproj @@ -92,6 +92,7 @@ + Form @@ -237,7 +238,7 @@ ProductForm.cs - + Form @@ -418,6 +419,42 @@ SystemRemoveRestrictionsForm.cs + + Form + + + PDDProductForm.cs + + + Form + + + PDDDBProdUserSelectEditNotesForm.cs + + + Form + + + PDDDBProdUserSelectForm.cs + + + Form + + + PDDDBProdListForm.cs + + + Form + + + PDDDBProdEditNotesForm.cs + + + Form + + + PDDThirdProdSelectAddShopForm.cs + Form @@ -835,6 +872,24 @@ SystemRemoveRestrictionsForm.cs + + PDDProductForm.cs + + + PDDDBProdUserSelectEditNotesForm.cs + + + PDDDBProdUserSelectForm.cs + + + PDDDBProdListForm.cs + + + PDDDBProdEditNotesForm.cs + + + PDDThirdProdSelectAddShopForm.cs + CefForm.cs @@ -1063,7 +1118,9 @@ Work - + + + diff --git a/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.cs b/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.cs index bf46110..490a185 100644 --- a/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.cs +++ b/TEMUKJD/KJDForms/AdminForms/AdminProductPriceCheckForm.cs @@ -797,7 +797,7 @@ namespace TemuKJD.KJDForms.AdminForms // body = @"{""pageSize"":100,""pageNum"":" + page + @",""secondarySelectStatusList"":[10],""supplierTodoTypeList"":[],""productSkcIdList"":[" + prodSkcIds + "]}"; //} string referer = "https://agentseller.temu.com/newon/product-select"; - return KJDHttpResponse.PostResponse2(shop, url, body, referer); + return HttpResponseBLL.PostResponse2(shop, url, body, referer); } private string GetCheckPrice(ShopLoginInfo shop, string orderId) @@ -805,7 +805,7 @@ namespace TemuKJD.KJDForms.AdminForms string url = "https://agentseller.temu.com/api/kiana/mms/magneto/api/price-review-order/no-bom/reject-remark"; string body = @"{""orderId"":" + orderId + "}"; string referer = "https://agentseller.temu.com/newon/product-select"; - return KJDHttpResponse.PostResponse2(shop, url, body, referer); + return HttpResponseBLL.PostResponse2(shop, url, body, referer); } private string applyPrice(ShopLoginInfo shop, string orderId, string data) @@ -813,7 +813,7 @@ namespace TemuKJD.KJDForms.AdminForms string url = "https://agentseller.temu.com/api/kiana/mms/magneto/price/bargain-no-bom"; string body = data; string referer = "https://agentseller.temu.com/newon/product-select"; - return KJDHttpResponse.PostResponse2(shop, url, body, referer); + return HttpResponseBLL.PostResponse2(shop, url, body, referer); } private string rePrice(ShopLoginInfo shop, string orderId, string data) @@ -821,7 +821,7 @@ namespace TemuKJD.KJDForms.AdminForms string url = "https://agentseller.temu.com/api/kiana/mms/magneto/price/bargain-no-bom"; string body = data; string referer = "https://agentseller.temu.com/newon/product-select"; - return KJDHttpResponse.PostResponse2(shop, url, body, referer); + return HttpResponseBLL.PostResponse2(shop, url, body, referer); } private string cancelPrice(ShopLoginInfo shop, string orderId) @@ -829,7 +829,7 @@ namespace TemuKJD.KJDForms.AdminForms string url = "https://agentseller.temu.com/api/kiana/mms/magneto/api/price-review-order/no-bom/review"; string body = @"{""priceOrderId"":" + orderId + "}"; string referer = "https://agentseller.temu.com/newon/product-select"; - return KJDHttpResponse.PostResponse2(shop, url, body, referer); + return HttpResponseBLL.PostResponse2(shop, url, body, referer); } private string priceAdjust(ShopLoginInfo shop, string data) @@ -837,7 +837,7 @@ namespace TemuKJD.KJDForms.AdminForms string url = "https://agentseller.temu.com/api/kiana/mms/gmp/bg/magneto/api/price/priceAdjust/gmpProductBatchAdjustPrice"; string body = data; string referer = "https://agentseller.temu.com/newon/product-select"; - return KJDHttpResponse.PostResponse2(shop, url, body, referer); + return HttpResponseBLL.PostResponse2(shop, url, body, referer); } /// @@ -851,7 +851,7 @@ namespace TemuKJD.KJDForms.AdminForms string url = "https://agentseller.temu.com/lich-mms/audit/edit/task/product/batchAdd"; string body = @"{""bizIdType"":1,""bizIds"":["+ productId + @"],""productEditItems"":[{""editItem"":1,""editAdvice"":""优化""}]}"; string referer = "https://agentseller.temu.com/goods/list?productId=" + productId; - return KJDHttpResponse.PostResponse2(shop, url, body, referer); + return HttpResponseBLL.PostResponse2(shop, url, body, referer); } private string editPriceProductName(ShopLoginInfo shop, string taskUid, string productId, string productNewName) @@ -860,7 +860,7 @@ namespace TemuKJD.KJDForms.AdminForms //string body = @"{""productId"":4432690492,""taskUid"":""8de73095-733e-4cdf-8fbd-3ddd8d9dff18"",""taskVersion"":0,""refuseEdit"":false,""productName"":""男士轻便 EVA 拖鞋,带钩环后跟带 ,舒适的露趾拖鞋,适合室内和室外使用,家居拖鞋,易于使用的魔鬼毡扣带扣,洞洞鞋,家居拖鞋,带钩环扣件,适合室内和室外使用,带扣凉鞋,后厨工专用鞋简约款两用,适合室内/室外使用,春夏凉鞋,EVA 拖鞋,适合19个不同的搭配风格""}"; string body = @"{""productId"":" + productId + @",""taskUid"":""" + taskUid + @""",""taskVersion"":0,""refuseEdit"":false,""productName"":""" + productNewName + @"""}"; string referer = "https://agentseller.temu.com/goods/edit?from=platform&productId=" + productId + "&taskUid=" + taskUid; - return KJDHttpResponse.PostResponse2(shop, url, body, referer); + return HttpResponseBLL.PostResponse2(shop, url, body, referer); } //申请修改 SKU分类和包装清单 体积与重量 商品名称 @@ -880,7 +880,7 @@ namespace TemuKJD.KJDForms.AdminForms string url = "https://agentseller.temu.com/lich-mms/audit/edit/task/product/batchAdd"; string body = @"{""bizIdType"":1,""bizIds"":[" + productId + @"],""productEditItems"":[{""editItem"":4,""editAdvice"":""优化""},{""editItem"":8,""editAdvice"":""优化""}]}"; string referer = "https://agentseller.temu.com/goods/list?productId=" + productId; - return KJDHttpResponse.PostResponse2(shop, url, body, referer); + return HttpResponseBLL.PostResponse2(shop, url, body, referer); } private string editPriceProductSizeAndNumberTaskQuery(ShopLoginInfo shop, string productId) @@ -888,7 +888,7 @@ namespace TemuKJD.KJDForms.AdminForms string url = "https://agentseller.temu.com/lich-mms/audit/edit/task/product/pageQuery"; string body = @"{""page"":1,""pageSize"":10,""editTaskAggStatuses"":[1],""productIdList"":[" + productId + "]}"; string referer = "https://agentseller.temu.com/goods/list"; - return KJDHttpResponse.PostResponse2(shop, url, body, referer); + return HttpResponseBLL.PostResponse2(shop, url, body, referer); } private string editPriceProductQuery(ShopLoginInfo shop, string prodId, string taskUid) @@ -896,7 +896,7 @@ namespace TemuKJD.KJDForms.AdminForms string url = "https://agentseller.temu.com/visage-agent-seller/product/query"; string body = @"{""productId"":" + prodId + @",""productEditTaskUid"":""" + taskUid + @"""}"; string refere = "https://agentseller.temu.com/goods/edit?from=platform&productId=" + prodId + "&taskUid=" + taskUid; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } private string editPriceProductSizeAndNumber(ShopLoginInfo shop, string taskUid, string productId, string data) @@ -906,7 +906,7 @@ namespace TemuKJD.KJDForms.AdminForms string body = ""; //@"{""productId"":" + productId + @",""taskUid"":""" + taskUid + @""",""taskVersion"":0,""refuseEdit"":false,""productName"":""" + productNewName + @"""}"; body = data; string referer = "https://agentseller.temu.com/goods/edit?from=platform&productId=" + productId + "&taskUid=" + taskUid; - return KJDHttpResponse.PostResponse2(shop, url, body, referer); + return HttpResponseBLL.PostResponse2(shop, url, body, referer); } Bitmap defaultBitmap = new Bitmap(80, 80); diff --git a/TEMUKJD/KJDForms/AdminForms/AdminShopListForm.cs b/TEMUKJD/KJDForms/AdminForms/AdminShopListForm.cs index 8b0a7f0..6b0a066 100644 --- a/TEMUKJD/KJDForms/AdminForms/AdminShopListForm.cs +++ b/TEMUKJD/KJDForms/AdminForms/AdminShopListForm.cs @@ -886,7 +886,7 @@ namespace TemuKJD.KJDForms.AdminForms string url = "https://seller.kuajingmaihuo.com/bg-visage-mms/product/draft/add"; string refere = "https://seller.kuajingmaihuo.com/goods/product-create/category?from=productList"; string body = @"{""catId"":" + catId + "}"; - return KJDHttpResponse.PostResponse(shop, url, body, refere); + return HttpResponseBLL.PostResponse(shop, url, body, refere); } private string SaveDraft(ShopLoginInfo shop, string draftId, TemuProductParam prodParam) @@ -895,7 +895,7 @@ namespace TemuKJD.KJDForms.AdminForms string body = JsonHelper.SerializeObject(prodParam); string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" + draftId + "&from=productDraftList"; - return KJDHttpResponse.PostResponse(shop, url, body, refere); + return HttpResponseBLL.PostResponse(shop, url, body, refere); } @@ -905,7 +905,7 @@ namespace TemuKJD.KJDForms.AdminForms string body = JsonHelper.SerializeObject(prodParam); string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" + draftId + "&from=productDraftList"; - return KJDHttpResponse.PostResponse(shop, url, body, refere); + return HttpResponseBLL.PostResponse(shop, url, body, refere); } #endregion diff --git a/TEMUKJD/KJDForms/AdminForms/ShopBrowserObject.cs b/TEMUKJD/KJDForms/AdminForms/ShopBrowserObject.cs index 9680d0a..30c48ef 100644 --- a/TEMUKJD/KJDForms/AdminForms/ShopBrowserObject.cs +++ b/TEMUKJD/KJDForms/AdminForms/ShopBrowserObject.cs @@ -10,6 +10,7 @@ using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using TemuKJD.BaseForms; +using TemuKJD.BLL; using TemuKJD.KJDForms.ProductThirdSelectForms; using TemuKJD.KJDForms.ShopForms; using Work; @@ -304,7 +305,7 @@ namespace TemuKJD.KJDForms.AdminForms string url = "https://seller.kuajingmaihuo.com/bg-visage-mms/product/query"; string body = @"{""productId"":" + prodId + @",""productEditTaskUid"":""""}"; string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?from=productList&productId=" + prodId; - return KJDHttpResponse.PostResponse(shop, url, body, refere); + return HttpResponseBLL.PostResponse(shop, url, body, refere); } private string SizeSpecQuery(ShopLoginInfo shop, string prodId, string sizeSpecId) @@ -312,7 +313,7 @@ namespace TemuKJD.KJDForms.AdminForms string url = "https://seller.kuajingmaihuo.com/bg-anniston-mms/sizespec/query"; string body = @"{""businessId"":" + sizeSpecId + @",""reusable"":false}"; string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?from=productList&productId=" + prodId; - return KJDHttpResponse.PostResponse(shop, url, body, refere); + return HttpResponseBLL.PostResponse(shop, url, body, refere); } } } diff --git a/TEMUKJD/KJDForms/ProductForms/PriceManageForm.cs b/TEMUKJD/KJDForms/ProductForms/PriceManageForm.cs index 8bd4fab..a460290 100644 --- a/TEMUKJD/KJDForms/ProductForms/PriceManageForm.cs +++ b/TEMUKJD/KJDForms/ProductForms/PriceManageForm.cs @@ -17,6 +17,7 @@ using System.Windows.Forms; using TemuKJD.Extension; using TemuKJD.BaseForms; using TemuKJD.KJDForms.ShopForms; +using TemuKJD.BLL; namespace TemuKJD.KJDForms.ProductForms { @@ -423,8 +424,8 @@ namespace TemuKJD.KJDForms.ProductForms //string refere = "https://seller.kuajingmaihuo.com/main/price-manage/price-adjustment"; string refere = "https://agentseller.temu.com/main/adjust-price-manage/order-price"; - //return KJDHttpResponse.PostResponse(shop, url, body, refere); - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + //return HttpResponseBLL.PostResponse(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } private void panelEx1_Click(object sender, EventArgs e) @@ -602,7 +603,7 @@ namespace TemuKJD.KJDForms.ProductForms //string refere = "https://seller.kuajingmaihuo.com/main/price-manage/price-adjustment"; string refere = "https://agentseller.temu.com/main/adjust-price-manage/order-price"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } private void dgvStock_CellContentClick(object sender, DataGridViewCellEventArgs e) diff --git a/TEMUKJD/KJDForms/ProductForms/PurchasePriceForm.cs b/TEMUKJD/KJDForms/ProductForms/PurchasePriceForm.cs index 9b8a69a..eb068e5 100644 --- a/TEMUKJD/KJDForms/ProductForms/PurchasePriceForm.cs +++ b/TEMUKJD/KJDForms/ProductForms/PurchasePriceForm.cs @@ -17,6 +17,7 @@ using TemuKJD.Extension; using TemuKJD.BaseForms; using TemuKJD.KJDForms.ShopForms; using Work; +using TemuKJD.BLL; namespace TemuKJD.KJDForms.ProductForms { @@ -188,7 +189,7 @@ namespace TemuKJD.KJDForms.ProductForms string refere = "https://agentseller.temu.com/goods/list"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } private void btnSearchPrice_Click(object sender, EventArgs e) diff --git a/TEMUKJD/KJDForms/ProductForms/SaleStockUpForm.cs b/TEMUKJD/KJDForms/ProductForms/SaleStockUpForm.cs index 3e7665d..5734a03 100644 --- a/TEMUKJD/KJDForms/ProductForms/SaleStockUpForm.cs +++ b/TEMUKJD/KJDForms/ProductForms/SaleStockUpForm.cs @@ -19,6 +19,7 @@ using System.Windows.Forms; using TemuKJD.Extension; using TemuKJD.BaseForms; using TemuKJD.KJDForms.ShopForms; +using TemuKJD.BLL; namespace TemuKJD.KJDForms.ProductForms { @@ -383,7 +384,7 @@ namespace TemuKJD.KJDForms.ProductForms string refere = "https://seller.kuajingmaihuo.com/main/order-manage"; - return KJDHttpResponse.PostResponse(shop, url, body,refere); + return HttpResponseBLL.PostResponse(shop, url, body,refere); } private string GetShopStockList2(ShopLoginInfo shop, int page = 1, string type = "待创建") @@ -398,7 +399,7 @@ namespace TemuKJD.KJDForms.ProductForms string refere = "https://agentseller.temu.com/stock/fully-mgt/order-manage-urgency"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } /// @@ -416,7 +417,7 @@ namespace TemuKJD.KJDForms.ProductForms string body = "{\"subPurchaseOrderSnList\":[\"" + subPurchaseOrderSn + "\"]}"; string refere = "https://seller.kuajingmaihuo.com/main/order-manage"; - return KJDHttpResponse.PostResponse(shop, url, body, refere); + return HttpResponseBLL.PostResponse(shop, url, body, refere); } private string CancelSubPurchaseOrder2(ShopLoginInfo shop, string subPurchaseOrderSn) @@ -425,7 +426,7 @@ namespace TemuKJD.KJDForms.ProductForms string body = "{\"subPurchaseOrderSnList\":[\"" + subPurchaseOrderSn + "\"]}"; string refere = "https://agentseller.temu.com/stock/fully-mgt/order-manage"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } /// @@ -444,7 +445,7 @@ namespace TemuKJD.KJDForms.ProductForms string body = @"{""pageNo"":" + page + @",""pageSize"":40,""isLack"":0,""selectStatusList"":[12],""priceAdjustRecentDays"":7}"; string refere = "https://seller.kuajingmaihuo.com/main/sale-manage/main"; - return KJDHttpResponse.PostResponse(shop, url, body, refere); + return HttpResponseBLL.PostResponse(shop, url, body, refere); } private string GetWarehouseList2(ShopLoginInfo shop, int page = 1) @@ -454,7 +455,7 @@ namespace TemuKJD.KJDForms.ProductForms string body = @"{""pageNo"":" + page + @",""pageSize"":10,""isLack"":0,""selectStatusList"":[12],""priceAdjustRecentDays"":7}"; string refere = "https://agentseller.temu.com/stock/fully-mgt/sale-manage/main"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } /// @@ -472,7 +473,7 @@ namespace TemuKJD.KJDForms.ProductForms string body = "{\"productSkcId\":" + subOrderInfo.productSkcId + ",\"warehouseGroupId\":" + subOrderInfo.warehouseGroupIdList.FirstOrDefault() + "}"; string refere = "https://seller.kuajingmaihuo.com/main/sale-manage/main"; - return KJDHttpResponse.PostResponse(shop, url, body, refere); + return HttpResponseBLL.PostResponse(shop, url, body, refere); } private string QueryStockBaseInfo2(ShopLoginInfo shop, WarehouseProductSubOrderInfo subOrderInfo) @@ -481,7 +482,7 @@ namespace TemuKJD.KJDForms.ProductForms string body = "{\"productSkcId\":" + subOrderInfo.productSkcId + ",\"warehouseGroupId\":" + subOrderInfo.warehouseGroupIdList.FirstOrDefault() + "}"; string refere = "https://agentseller.temu.com/stock/fully-mgt/sale-manage/main"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } /// @@ -507,7 +508,7 @@ namespace TemuKJD.KJDForms.ProductForms body += "],\"warehouseGroupId\":" + subOrderInfo.warehouseGroupIdList.FirstOrDefault() + "}"; string refere = "https://seller.kuajingmaihuo.com/main/sale-manage/main"; - return KJDHttpResponse.PostResponse(shop, url, body, refere); + return HttpResponseBLL.PostResponse(shop, url, body, refere); } private string CreateStockOrder2(ShopLoginInfo shop, WarehouseProductSubOrderInfo subOrderInfo) { @@ -523,7 +524,7 @@ namespace TemuKJD.KJDForms.ProductForms body += "],\"warehouseGroupId\":" + subOrderInfo.warehouseGroupIdList.FirstOrDefault() + "}"; string refere = "https://agentseller.temu.com/stock/fully-mgt/sale-manage/main"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } /// @@ -537,7 +538,7 @@ namespace TemuKJD.KJDForms.ProductForms string url = "https://agentseller.temu.com/bg-luna-agent-seller/goods/quality/supplyChain/qualityMetrics/pageQuery"; string body = @"{""page"":1,""pageSize"":40,""qualityScoreEnum"":" + qualityScoreEnum + @",""productIds"":[" + productIds + "]}"; string refere = "https://agentseller.temu.com/main/quality/dashboard"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } private void dgvShop_CellContentClick(object sender, DataGridViewCellEventArgs e) diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductCategorySearch.cs b/TEMUKJD/KJDForms/ProductSelectForms/DbProductCategorySearch.cs index 261c0da..e436062 100644 --- a/TEMUKJD/KJDForms/ProductSelectForms/DbProductCategorySearch.cs +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductCategorySearch.cs @@ -12,6 +12,7 @@ using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using TemuKJD.BaseForms; +using TemuKJD.BLL; using Work; namespace TemuKJD.KJDForms.ProductSelectForms @@ -162,7 +163,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms string body = @"{""searchText"":""" + searchStr + @"""}"; string refere = "https://agentseller.temu.com/goods/create/category"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } private void listBox1_SelectedIndexChanged(object sender, EventArgs e) diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectEditNotesForm.cs b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectEditNotesForm.cs index aaef91d..cb113d0 100644 --- a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectEditNotesForm.cs +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectEditNotesForm.cs @@ -12,14 +12,10 @@ using System.Threading.Tasks; using System.Windows.Forms; using AllBase; using Work; +using TemuKJD.BLL; namespace TemuKJD.KJDForms.ProductSelectForms { - public enum SetProductSelectNotesType - { - DbProduct, - ThirdProduct, - } public partial class DbProductSelectEditNotesForm : LRBaseForm { TemuDBProductSelect dbProdSelect = null; diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs index f2b221b..1681e19 100644 --- a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs @@ -1741,7 +1741,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms //string refere = "https://seller.kuajingmaihuo.com/goods/product-create/category?from=productList"; string refere = "https://agentseller.temu.com/goods/create/category"; string body = @"{""catId"":" + catId + "}"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } private string CreateSizeSpec(ShopLoginInfo shop, string draftId, TemuSizeSpecParam sizeParam) @@ -1752,7 +1752,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms //string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId="+ // draftId + "&from=productDraftList"; string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=productDraftList"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } private string SaveDraft(ShopLoginInfo shop, string draftId, TemuProductParam prodParam) @@ -1763,7 +1763,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms //string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" + // draftId + "&from=productDraftList"; string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=productDraftList"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } @@ -1775,7 +1775,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms //string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" + // draftId + "&from=productDraftList"; string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=productDraftList"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } private string EditProduct(ShopLoginInfo shop, string productId, TemuProductParam prodParam) @@ -1783,7 +1783,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms string url = "https://agentseller.temu.com/visage-agent-seller/product/edit"; string body = JsonHelper.SerializeObject(prodParam).Replace("productDraftId", "productId"); string refere = "https://agentseller.temu.com/goods/edit?from=productList&productId=" + productId; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } private string QueryOrAddSpec(ShopLoginInfo shop, string draftId, string parentSpecId, string specName) @@ -1792,7 +1792,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms string body = @"{""parentSpecId"":" + parentSpecId + @",""specName"":""" + specName + @"""}"; string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=productDraftList"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } private string QueryCategoryTemplate(ShopLoginInfo shop, string draftId, string catId) @@ -1801,7 +1801,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms string body = @"{""catId"":" + catId + @",""langList"":[""en""]}"; string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=productDraftList"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } private string CheckImgMd5(ShopLoginInfo shop, string draftId, string parentSpecId, string fileMd5) @@ -1811,7 +1811,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=menu&st_time=" + BaseClass.DateTimeToTimestampSeconds(DateTime.Now); - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); //https://img.kwcdn.com/product/fancy/8dc012c8-fa6d-4625-b2bb-efd32f44f889.jpg //"materialName":"8dc012c8-fa6d-4625-b2bb-efd32f44f889" @@ -1828,7 +1828,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=menu&st_time=" + BaseClass.DateTimeToTimestampSeconds(DateTime.Now); - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } private string GetImgUpSign(ShopLoginInfo shop, string draftId) @@ -1838,7 +1838,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=menu&st_time=" + BaseClass.DateTimeToTimestampSeconds(DateTime.Now); - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } private string UploadImage(ShopLoginInfo shop, string draftId, string fileFullName, string uploadSign) @@ -1866,7 +1866,7 @@ Content-Disposition: form-data; name=""upload_sign"" string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=menu&st_time=" + BaseClass.DateTimeToTimestampSeconds(DateTime.Now); - return KJDHttpResponse.PostResponseUpload(shop, url, body, refere, boundary); + return HttpResponseBLL.PostResponseUpload(shop, url, body, refere, boundary); } diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductUserSelectEditNotesForm.cs b/TEMUKJD/KJDForms/ProductSelectForms/DbProductUserSelectEditNotesForm.cs index 5a0bad3..80f3b0b 100644 --- a/TEMUKJD/KJDForms/ProductSelectForms/DbProductUserSelectEditNotesForm.cs +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductUserSelectEditNotesForm.cs @@ -12,6 +12,7 @@ using System.Threading.Tasks; using System.Windows.Forms; using AllBase; using Work; +using TemuKJD.BLL; namespace TemuKJD.KJDForms.ProductSelectForms { diff --git a/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.Designer.cs b/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.Designer.cs index 398817d..c05aa08 100644 --- a/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.Designer.cs +++ b/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.Designer.cs @@ -784,7 +784,7 @@ "全部", "重上", "已买"}); - this.cmbUserNotes.Location = new System.Drawing.Point(1044, 5); + this.cmbUserNotes.Location = new System.Drawing.Point(1044, 8); this.cmbUserNotes.Margin = new System.Windows.Forms.Padding(0); this.cmbUserNotes.Name = "cmbUserNotes"; this.cmbUserNotes.Size = new System.Drawing.Size(65, 25); @@ -801,7 +801,7 @@ "核价成功", "核价成功(重复)", "重复"}); - this.cmbNotes.Location = new System.Drawing.Point(917, 5); + this.cmbNotes.Location = new System.Drawing.Point(917, 8); this.cmbNotes.Margin = new System.Windows.Forms.Padding(0); this.cmbNotes.Name = "cmbNotes"; this.cmbNotes.Size = new System.Drawing.Size(65, 25); @@ -828,7 +828,7 @@ "已上传", "草稿箱", "全部"}); - this.cmbStatus.Location = new System.Drawing.Point(814, 5); + this.cmbStatus.Location = new System.Drawing.Point(814, 8); this.cmbStatus.Margin = new System.Windows.Forms.Padding(0); this.cmbStatus.Name = "cmbStatus"; this.cmbStatus.Size = new System.Drawing.Size(65, 25); diff --git a/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.cs b/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.cs index 7ad75ae..e20c4ea 100644 --- a/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.cs +++ b/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.cs @@ -1507,7 +1507,7 @@ namespace TemuKJD.KJDForms.ProductThirdSelectForms //string refere = "https://seller.kuajingmaihuo.com/goods/product-create/category?from=productList"; string refere = "https://agentseller.temu.com/goods/create/category"; string body = @"{""catId"":" + catId + "}"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } private string CreateSizeSpec(ShopLoginInfo shop, string draftId, TemuSizeSpecParam sizeParam) @@ -1518,7 +1518,7 @@ namespace TemuKJD.KJDForms.ProductThirdSelectForms //string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId="+ // draftId + "&from=productDraftList"; string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=productDraftList"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } private string SaveDraft(ShopLoginInfo shop, string draftId, TemuProductParam prodParam) @@ -1529,7 +1529,7 @@ namespace TemuKJD.KJDForms.ProductThirdSelectForms //string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" + // draftId + "&from=productDraftList"; string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=productDraftList"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } private string AddProduct(ShopLoginInfo shop, string draftId, TemuProductParam prodParam) @@ -1540,7 +1540,7 @@ namespace TemuKJD.KJDForms.ProductThirdSelectForms //string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" + // draftId + "&from=productDraftList"; string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=productDraftList"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } private string QueryOrAddSpec(ShopLoginInfo shop, string draftId, string parentSpecId, string specName) @@ -1549,7 +1549,7 @@ namespace TemuKJD.KJDForms.ProductThirdSelectForms string body = @"{""parentSpecId"":" + parentSpecId + @",""specName"":""" + specName + @"""}"; string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=productDraftList"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } private string SearchCategory(ShopLoginInfo shop, string searchStr) @@ -1558,7 +1558,7 @@ namespace TemuKJD.KJDForms.ProductThirdSelectForms string body = @"{""searchText"":""" + searchStr + @"""}"; string refere = "https://agentseller.temu.com/goods/create/category"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } private void btnSetSubSa_Click(object sender, EventArgs e) diff --git a/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdUserSelectForm.cs b/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdUserSelectForm.cs index 39021f7..19aad4b 100644 --- a/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdUserSelectForm.cs +++ b/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdUserSelectForm.cs @@ -19,9 +19,9 @@ using TemuKJD.Extension; using TemuKJD.BaseForms; using TemuKJD.KJDForms.ProductSelectForms; using TemuKJD.KJDForms.ShopForms; -using TemuKJD.KJDForms.ToolForms; using TemuKJD.ToolForms; using Work; +using TemuKJD.BLL; namespace TemuKJD.KJDForms.ProductThirdSelectForms { diff --git a/TEMUKJD/KJDForms/SalesCenterForms/MarketingActivityForm.cs b/TEMUKJD/KJDForms/SalesCenterForms/MarketingActivityForm.cs index cd419fa..0e3d514 100644 --- a/TEMUKJD/KJDForms/SalesCenterForms/MarketingActivityForm.cs +++ b/TEMUKJD/KJDForms/SalesCenterForms/MarketingActivityForm.cs @@ -17,6 +17,7 @@ using System.Windows.Forms; using TemuKJD.Extension; using TemuKJD.BaseForms; using TemuKJD.KJDForms.ShopForms; +using TemuKJD.BLL; namespace TemuKJD.KJDForms.SalesCenterForms { @@ -1104,7 +1105,7 @@ namespace TemuKJD.KJDForms.SalesCenterForms string body; body = @"{""needCanEnrollCnt"":true}"; string refere = "https://agentseller.temu.com/activity/marketing-activity"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } /// @@ -1132,7 +1133,7 @@ namespace TemuKJD.KJDForms.SalesCenterForms string refere = "https://agentseller.temu.com/activity/marketing-activity/detail-new?type=" + activityType; if (thematicId != activityType) refere += "&thematicId=" + thematicId; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } /// @@ -1150,7 +1151,7 @@ namespace TemuKJD.KJDForms.SalesCenterForms string refere = "https://agentseller.temu.com/activity/marketing-activity/detail-new?type=" + activityType; if (thematicId != activityType) refere += "&thematicId=" + thematicId; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } /// @@ -1171,7 +1172,7 @@ namespace TemuKJD.KJDForms.SalesCenterForms body = @"{""pageNo"":" + page + @",""pageSize"":40,""isLack"":0,""selectStatusList"":[12],""priceAdjustRecentDays"":7, ""thirtyDaysSaleVolumMin"":0, ""thirtyDaysSaleVolumMax"":" + saleCount + @",""onSalesDurationOfflineGte"":" + onSalesDays + @",""onSalesDurationOfflineLte"":"+ onSalesDays2 + "}"; string refere = "https://agentseller.temu.com/stock/fully-mgt/sale-manage/main"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } } } diff --git a/TEMUKJD/KJDForms/ShopForms/ReturnPackageDetailForm.cs b/TEMUKJD/KJDForms/ShopForms/ReturnPackageDetailForm.cs index 6f08916..34ab3ac 100644 --- a/TEMUKJD/KJDForms/ShopForms/ReturnPackageDetailForm.cs +++ b/TEMUKJD/KJDForms/ShopForms/ReturnPackageDetailForm.cs @@ -15,6 +15,7 @@ using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; using TemuKJD.BaseForms; +using TemuKJD.BLL; namespace TemuKJD.KJDForms.ShopForms { @@ -571,8 +572,8 @@ namespace TemuKJD.KJDForms.ShopForms string refere = "https://seller.kuajingmaihuo.com/wms/stock-mgt/return-package-detail"; - return KJDHttpResponse.PostResponse(shop, url, body, refere); - //return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse(shop, url, body, refere); + //return HttpResponseBLL.PostResponse2(shop, url, body, refere); } private string GetProductList(ShopLoginInfo shop, string skcIds, int page = 1) @@ -584,8 +585,8 @@ namespace TemuKJD.KJDForms.ShopForms string refere = "https://agentseller.temu.com/goods/list"; - //return KJDHttpResponse.PostResponse(shop, url, body, refere); - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + //return HttpResponseBLL.PostResponse(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } public static string ReturnPackagePostResponse(ShopLoginInfo shop, string _url, string _data, string referer, string timeStamp, string sign) diff --git a/TEMUKJD/KJDForms/ShopForms/ShopListForm.cs b/TEMUKJD/KJDForms/ShopForms/ShopListForm.cs index b3623c4..1c56636 100644 --- a/TEMUKJD/KJDForms/ShopForms/ShopListForm.cs +++ b/TEMUKJD/KJDForms/ShopForms/ShopListForm.cs @@ -694,7 +694,7 @@ namespace TemuKJD.KJDForms.ShopForms string url = "https://seller.kuajingmaihuo.com/bg/quiet/api/mms/userInfo"; string refere = "https://seller.kuajingmaihuo.com/"; string body = @"{}"; - return KJDHttpResponse.PostResponse(shop, url, body, refere); + return HttpResponseBLL.PostResponse(shop, url, body, refere); } /// @@ -707,7 +707,7 @@ namespace TemuKJD.KJDForms.ShopForms string url = "https://agentseller.temu.com/api/seller/auth/userInfo"; string refere = "https://agentseller.temu.com/"; string body = @"{}"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } public static string GetShopLogin2Code(ShopLoginInfo shop) @@ -715,7 +715,7 @@ namespace TemuKJD.KJDForms.ShopForms string url = "https://seller.kuajingmaihuo.com/bg/quiet/api/auth/obtainCode"; string refere = "https://seller.kuajingmaihuo.com/settle/seller-login?redirectUrl=https%3A%2F%2Fagentseller.temu.com%2F®ion=1&source=https%3A%2F%2Fagentseller.temu.com%2Fmain%2Fauthentication%3FredirectUrl%3Dhttps%253A%252F%252Fagentseller.temu.com%252F"; string body = @"{""redirectUrl"":""https://agentseller.temu.com/main/authentication""}"; - return KJDHttpResponse.PostResponse(shop, url, body, refere); + return HttpResponseBLL.PostResponse(shop, url, body, refere); } private void ShopListForm_VisibleChanged(object sender, EventArgs e) diff --git a/TEMUKJD/KJDForms/ShopForms/ShopLoginForm.cs b/TEMUKJD/KJDForms/ShopForms/ShopLoginForm.cs index 737dba9..7b49fad 100644 --- a/TEMUKJD/KJDForms/ShopForms/ShopLoginForm.cs +++ b/TEMUKJD/KJDForms/ShopForms/ShopLoginForm.cs @@ -570,7 +570,10 @@ namespace TemuKJD.KJDForms.ShopForms if (this.shop != null && data.Contains("\"success\":true")) { var maskMobile = BaseRegex.GetStringJson(ref data, "maskOwnerMobile"); - if (shop.LoginName.EndsWith(maskMobile)) + var maskMobile2 = "||||" + BaseRegex.GetStringJson(ref data, "maskMobile").ParseToString(); + if (maskMobile2.Contains("*")) + maskMobile2 = maskMobile2.Substring(maskMobile2.LastIndexOf("*")).Trim('*'); + if (shop.LoginName.EndsWith(maskMobile) || shop.LoginName.EndsWith(maskMobile2)) { lstShopCompany.Clear(); var jObj = JObject.Parse(data); diff --git a/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsForm.cs b/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsForm.cs index 83b1a44..9b3d3ae 100644 --- a/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsForm.cs +++ b/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsForm.cs @@ -17,6 +17,7 @@ using TemuKJD.Extension; using TemuKJD.BaseForms; using TemuKJD.UserComponent; using Work; +using TemuKJD.BLL; namespace TemuKJD.KJDForms.ShopForms.Statistics { @@ -677,7 +678,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics string body = @"{}"; string refere = "https://agentseller.temu.com/"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } private string GetFundDaily(ShopLoginInfo shop, DateTime date) @@ -686,7 +687,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics string body = @"{""month"":""" + date.ToString("yyyy-MM") + @"""}"; string refere = "https://seller.kuajingmaihuo.com/labor/bill"; - return KJDHttpResponse.PostResponse(shop, url, body, refere); + return HttpResponseBLL.PostResponse(shop, url, body, refere); } private string GetFundMonthly(ShopLoginInfo shop, DateTime date) @@ -695,7 +696,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics string body = @"{""year"":""" + date.ToString("yyyy") + @"""}"; string refere = "https://seller.kuajingmaihuo.com/labor/bill"; - return KJDHttpResponse.PostResponse(shop, url, body, refere); + return HttpResponseBLL.PostResponse(shop, url, body, refere); } /// @@ -709,7 +710,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics string body = @"{}"; string refere = "https://seller.kuajingmaihuo.com/labor/account"; - return KJDHttpResponse.PostResponse(shop, url, body, refere); + return HttpResponseBLL.PostResponse(shop, url, body, refere); } /// /// 提现记录 @@ -722,7 +723,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics string body = @"{""page"":" + page + @",""pageSize"":100}"; string refere = "https://seller.kuajingmaihuo.com/labor/account"; - return KJDHttpResponse.PostResponse(shop, url, body, refere); + return HttpResponseBLL.PostResponse(shop, url, body, refere); } private string GetWarehouseList2(ShopLoginInfo shop, int page = 1, int pageSize=40) @@ -732,7 +733,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics string body = @"{""pageNo"":" + page + @",""pageSize"":" + pageSize + @",""isLack"":0,""selectStatusList"":[12],""priceAdjustRecentDays"":7}"; string refere = "https://agentseller.temu.com/stock/fully-mgt/sale-manage/main"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } /// @@ -746,7 +747,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics string url = "https://agentseller.temu.com/bg-luna-agent-seller/goods/quality/supplyChain/qualityMetrics/pageQuery"; string body = @"{""page"":1,""pageSize"":40,""qualityScoreEnum"":" + qualityScoreEnum + @",""productIds"":[" + productIds + "]}"; string refere = "https://agentseller.temu.com/main/quality/dashboard"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } private void dgvShop_CellContentClick(object sender, DataGridViewCellEventArgs e) diff --git a/TEMUKJD/KJDForms/ShopForms/Statistics/ShopWorkStatisticsForm.cs b/TEMUKJD/KJDForms/ShopForms/Statistics/ShopWorkStatisticsForm.cs index 83bc1b9..b6e27c2 100644 --- a/TEMUKJD/KJDForms/ShopForms/Statistics/ShopWorkStatisticsForm.cs +++ b/TEMUKJD/KJDForms/ShopForms/Statistics/ShopWorkStatisticsForm.cs @@ -12,6 +12,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; +using TemuKJD.BLL; using TemuKJD.Extension; namespace TemuKJD.KJDForms.ShopForms.Statistics @@ -287,7 +288,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics string body = @"{""pageNo"":" + page + @",""pageSize"":10,""isLack"":0,""selectStatusList"":[12],""priceAdjustRecentDays"":7}"; string refere = "https://agentseller.temu.com/stock/fully-mgt/sale-manage/main"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } private string GetShopStockList(ShopLoginInfo shop, int page = 1) @@ -299,7 +300,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics string refere = "https://agentseller.temu.com/stock/fully-mgt/order-manage"; - return KJDHttpResponse.PostResponse2(shop, url, body, refere); + return HttpResponseBLL.PostResponse2(shop, url, body, refere); } private void dgvShop_CellContentClick(object sender, DataGridViewCellEventArgs e) diff --git a/TEMUKJD/MainForm.cs b/TEMUKJD/MainForm.cs index 818441a..3c0c83e 100644 --- a/TEMUKJD/MainForm.cs +++ b/TEMUKJD/MainForm.cs @@ -18,6 +18,7 @@ using TemuKJD.KJDForms.ToolForms; using System.Reflection; using System.Net; using System.Collections; +using TemuKJD.KJDForms.AdminForms; using TemuKJD.KJDForms.ShopForms; using TemuKJD.KJDForms.ProductForms; using TemuKJD.KJDForms.OrderForms; @@ -38,8 +39,9 @@ using NaiBa.Util; using AllBase.Model.Param.ProductManage; using TemuKJD.KJDForms.SalesCenterForms; using NaiBa.CefHelper.Handler; -using TemuKJD.KJDForms.AdminForms; +using TemuKJD.PDDForms.AdminForms; using TemuKJD.PDDForms.ShopForms; +using TemuKJD.PDDForms.ProductForms; namespace TemuKJD { @@ -656,24 +658,46 @@ namespace TemuKJD } } - private AdminForm adminForm; + private object adminForm; private void pnlSA_Click(object sender, EventArgs e) { - if (adminForm == null) + if (BaseClass.MainPath == "kuajingda") { - adminForm = new AdminForm(); + if (adminForm == null) + { + adminForm = new AdminForm(); + } + ShowMainPanel(adminForm as AdminForm, sender as Panel); + } + else + { + if (adminForm == null) + { + adminForm = new PDDAdminForm(); + } + ShowMainPanel(adminForm as PDDAdminForm, sender as Panel); } - ShowMainPanel(adminForm, sender as Panel); } - private ProductForm uploadForm; + private object uploadForm; public void pnlUpload_Click(object sender, EventArgs e) { - if (uploadForm == null) + if (BaseClass.MainPath == "kuajingda") { - uploadForm = new ProductForm(); + if (uploadForm == null) + { + uploadForm = new ProductForm(); + } + ShowMainPanel(uploadForm as ProductForm, sender as Panel); + } + else + { + if (uploadForm == null) + { + uploadForm = new PDDProductForm(); + } + ShowMainPanel(uploadForm as PDDProductForm, sender as Panel); } - ShowMainPanel(uploadForm, sender as Panel); } //private CollectForm collectForm; diff --git a/TEMUKJD/PDDForms/AdminForms/PDDAdminForm.Designer.cs b/TEMUKJD/PDDForms/AdminForms/PDDAdminForm.Designer.cs index 0fd2c64..51c1a7f 100644 --- a/TEMUKJD/PDDForms/AdminForms/PDDAdminForm.Designer.cs +++ b/TEMUKJD/PDDForms/AdminForms/PDDAdminForm.Designer.cs @@ -30,7 +30,7 @@ { System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("超级店铺管理"); System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("超级用户管理"); - System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("选品数据库"); + System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("产品数据库"); System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("选品加价管理"); System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("认领待上传"); System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("库存上传"); @@ -137,8 +137,8 @@ treeNode1.Text = "超级店铺管理"; treeNode2.Name = "超级用户管理"; treeNode2.Text = "超级用户管理"; - treeNode3.Name = "选品数据库"; - treeNode3.Text = "选品数据库"; + treeNode3.Name = "产品数据库"; + treeNode3.Text = "产品数据库"; treeNode4.Name = "选品加价管理"; treeNode4.Text = "选品加价管理"; treeNode5.Name = "认领待上传"; @@ -156,14 +156,14 @@ this.tv.TabIndex = 1; this.tv.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.tv_AfterSelect); // - // AdminForm + // PDDAdminForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; this.ClientSize = new System.Drawing.Size(933, 446); this.Controls.Add(this.splitContainer1); this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); - this.Name = "AdminForm"; + this.Name = "PDDAdminForm"; this.Text = "AdminForm"; this.Load += new System.EventHandler(this.ShopForm_Load); this.panel1.ResumeLayout(false); diff --git a/TEMUKJD/PDDForms/AdminForms/PDDAdminForm.cs b/TEMUKJD/PDDForms/AdminForms/PDDAdminForm.cs index 2324bba..b4163f5 100644 --- a/TEMUKJD/PDDForms/AdminForms/PDDAdminForm.cs +++ b/TEMUKJD/PDDForms/AdminForms/PDDAdminForm.cs @@ -10,6 +10,7 @@ using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; using TemuKJD.BaseForms; +using TemuKJD.PDDForms.ProductSelectForms; //using TemuKJD.KJDForms.ProductSelectForms; //using TemuKJD.KJDForms.ProductThirdSelectForms; @@ -19,7 +20,7 @@ namespace TemuKJD.PDDForms.AdminForms { public Lazy adminAccountForm = new Lazy(); public Lazy adminShopForm = new Lazy(); - //public Lazy dbProductListForm = new Lazy(); + public Lazy dbProdListForm = new Lazy(); //public Lazy dbPriceMarkUpForm = new Lazy(); //public Lazy dbProductSelectListManageForm = new Lazy(); //public Lazy productThirdSelectListManageForm = new Lazy(); @@ -34,7 +35,7 @@ namespace TemuKJD.PDDForms.AdminForms tv.SelectedNode = tv.Nodes[0].Nodes[0]; tv.ExpandGroup(tv.Nodes[0].Name); - List hideName = new List() { "超级用户管理", "超级店铺管理", "选品数据库", "选品加价管理", "认领待上传", "库存上传", "商品核价" }; + List hideName = new List() { "超级用户管理", "超级店铺管理", "产品数据库", "选品加价管理", "认领待上传", "库存上传", "商品核价" }; if (BaseClass.GroupId == 3) { @@ -43,18 +44,18 @@ namespace TemuKJD.PDDForms.AdminForms { hideName.Remove("超级用户管理"); hideName.Remove("超级店铺管理"); - hideName.Remove("选品数据库"); - hideName.Remove("选品加价管理"); - hideName.Remove("认领待上传"); - hideName.Remove("库存上传"); - hideName.Remove("商品核价"); + hideName.Remove("产品数据库"); + //hideName.Remove("选品加价管理"); + //hideName.Remove("认领待上传"); + //hideName.Remove("库存上传"); + //hideName.Remove("商品核价"); } if (BaseClass.SaLevel==2) { hideName.Remove("超级店铺管理"); - hideName.Remove("认领待上传"); - hideName.Remove("库存上传"); - hideName.Remove("商品核价"); + //hideName.Remove("认领待上传"); + //hideName.Remove("库存上传"); + //hideName.Remove("商品核价"); } } @@ -87,9 +88,9 @@ namespace TemuKJD.PDDForms.AdminForms case "超级店铺管理": SetForm(adminShopForm.Value); break; - //case "选品数据库": - // SetForm(dbProductListForm.Value); - // break; + case "产品数据库": + SetForm(dbProdListForm.Value); + break; //case "选品加价管理": // SetForm(dbPriceMarkUpForm.Value); // break; diff --git a/TEMUKJD/PDDForms/AdminForms/PDDAdminShopListForm.Designer.cs b/TEMUKJD/PDDForms/AdminForms/PDDAdminShopListForm.Designer.cs index ff543b3..a7690ec 100644 --- a/TEMUKJD/PDDForms/AdminForms/PDDAdminShopListForm.Designer.cs +++ b/TEMUKJD/PDDForms/AdminForms/PDDAdminShopListForm.Designer.cs @@ -29,11 +29,11 @@ namespace TemuKJD.PDDForms.AdminForms /// private void InitializeComponent() { - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle(); - System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel(); this.panel5 = new System.Windows.Forms.Panel(); @@ -57,12 +57,16 @@ namespace TemuKJD.PDDForms.AdminForms this.splitContainer2 = new System.Windows.Forms.SplitContainer(); this.pbLoading = new System.Windows.Forms.PictureBox(); this.pnlAddProdRemaining = new System.Windows.Forms.Panel(); + this.lblShopId = new System.Windows.Forms.Label(); this.panel2 = new System.Windows.Forms.Panel(); this.pnlCancel = new DevComponents.DotNetBar.PanelEx(); this.numAddRemaining = new System.Windows.Forms.NumericUpDown(); this.btnRemainOK = new DevComponents.DotNetBar.PanelEx(); this.lblAddProdRemaining = new System.Windows.Forms.Label(); this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx(); + this.chkAutoDrag = new System.Windows.Forms.CheckBox(); + this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage(); + this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); this.colLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn(); @@ -92,10 +96,6 @@ namespace TemuKJD.PDDForms.AdminForms this.colSubSa = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colEdit = new System.Windows.Forms.DataGridViewLinkColumn(); this.colDelete = new System.Windows.Forms.DataGridViewLinkColumn(); - this.chkAutoDrag = new System.Windows.Forms.CheckBox(); - this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage(); - this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); - this.lblShopId = new System.Windows.Forms.Label(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); @@ -413,6 +413,16 @@ namespace TemuKJD.PDDForms.AdminForms this.pnlAddProdRemaining.TabIndex = 7; this.pnlAddProdRemaining.Visible = false; // + // lblShopId + // + this.lblShopId.AutoSize = true; + this.lblShopId.Location = new System.Drawing.Point(20, 19); + this.lblShopId.Name = "lblShopId"; + this.lblShopId.Size = new System.Drawing.Size(50, 17); + this.lblShopId.TabIndex = 455; + this.lblShopId.Text = "ShopId"; + this.lblShopId.Visible = false; + // // panel2 // this.panel2.Anchor = System.Windows.Forms.AnchorStyles.Top; @@ -497,19 +507,19 @@ namespace TemuKJD.PDDForms.AdminForms // this.dgvShop.AllowUserToAddRows = false; this.dgvShop.AllowUserToDeleteRows = false; - dataGridViewCellStyle6.BackColor = System.Drawing.Color.WhiteSmoke; - this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle6; + dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; this.dgvShop.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill; this.dgvShop.BackgroundColor = System.Drawing.Color.White; this.dgvShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); - dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; - dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Control; - dataGridViewCellStyle7.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.WindowText; - dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight; - dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.HighlightText; - dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False; - this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle7; + dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.colSelect, @@ -552,6 +562,43 @@ namespace TemuKJD.PDDForms.AdminForms this.dgvShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick); this.dgvShop.CellMouseDown += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.dgvShop_CellMouseDown); // + // chkAutoDrag + // + this.chkAutoDrag.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.chkAutoDrag.AutoSize = true; + this.chkAutoDrag.BackColor = System.Drawing.Color.White; + this.chkAutoDrag.Location = new System.Drawing.Point(597, 0); + this.chkAutoDrag.Name = "chkAutoDrag"; + this.chkAutoDrag.Size = new System.Drawing.Size(159, 21); + this.chkAutoDrag.TabIndex = 3; + this.chkAutoDrag.Text = "登录时自动滑动拼图验证"; + this.chkAutoDrag.UseVisualStyleBackColor = false; + this.chkAutoDrag.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(911, 0); + this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0); + this.ucSplitPage1.Name = "ucSplitPage1"; + this.ucSplitPage1.PageSize = 50; + this.ucSplitPage1.Size = new System.Drawing.Size(362, 25); + this.ucSplitPage1.TabIndex = 4; + 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(1273, 25); + this.statusBar.TabIndex = 1; + // // colSelect // this.colSelect.FillWeight = 26F; @@ -589,8 +636,8 @@ namespace TemuKJD.PDDForms.AdminForms // // colMinus // - dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - this.colMinus.DefaultCellStyle = dataGridViewCellStyle8; + dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + this.colMinus.DefaultCellStyle = dataGridViewCellStyle3; this.colMinus.FillWeight = 15F; this.colMinus.HeaderText = "-"; this.colMinus.Name = "colMinus"; @@ -599,8 +646,8 @@ namespace TemuKJD.PDDForms.AdminForms // // colProductRemaining // - dataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - this.colProductRemaining.DefaultCellStyle = dataGridViewCellStyle9; + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + this.colProductRemaining.DefaultCellStyle = dataGridViewCellStyle4; this.colProductRemaining.FillWeight = 30F; this.colProductRemaining.HeaderText = "选品限额"; this.colProductRemaining.Name = "colProductRemaining"; @@ -608,8 +655,8 @@ namespace TemuKJD.PDDForms.AdminForms // // colPlus // - dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; - this.colPlus.DefaultCellStyle = dataGridViewCellStyle10; + dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter; + this.colPlus.DefaultCellStyle = dataGridViewCellStyle5; this.colPlus.FillWeight = 15F; this.colPlus.HeaderText = "+"; this.colPlus.Name = "colPlus"; @@ -709,6 +756,7 @@ namespace TemuKJD.PDDForms.AdminForms this.colRelogin2.HeaderText = "国际版状态"; this.colRelogin2.Name = "colRelogin2"; this.colRelogin2.ReadOnly = true; + this.colRelogin2.Visible = false; // // colMultiLogin // @@ -793,60 +841,13 @@ namespace TemuKJD.PDDForms.AdminForms this.colDelete.ReadOnly = true; this.colDelete.Visible = false; // - // chkAutoDrag - // - this.chkAutoDrag.Anchor = System.Windows.Forms.AnchorStyles.Right; - this.chkAutoDrag.AutoSize = true; - this.chkAutoDrag.BackColor = System.Drawing.Color.White; - this.chkAutoDrag.Location = new System.Drawing.Point(597, 0); - this.chkAutoDrag.Name = "chkAutoDrag"; - this.chkAutoDrag.Size = new System.Drawing.Size(159, 21); - this.chkAutoDrag.TabIndex = 3; - this.chkAutoDrag.Text = "登录时自动滑动拼图验证"; - this.chkAutoDrag.UseVisualStyleBackColor = false; - this.chkAutoDrag.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(911, 0); - this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0); - this.ucSplitPage1.Name = "ucSplitPage1"; - this.ucSplitPage1.PageSize = 50; - this.ucSplitPage1.Size = new System.Drawing.Size(362, 25); - this.ucSplitPage1.TabIndex = 4; - 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(1273, 25); - this.statusBar.TabIndex = 1; - // - // lblShopId - // - this.lblShopId.AutoSize = true; - this.lblShopId.Location = new System.Drawing.Point(20, 19); - this.lblShopId.Name = "lblShopId"; - this.lblShopId.Size = new System.Drawing.Size(50, 17); - this.lblShopId.TabIndex = 455; - this.lblShopId.Text = "ShopId"; - this.lblShopId.Visible = false; - // - // AdminShopListForm + // PDDAdminShopListForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; this.ClientSize = new System.Drawing.Size(1273, 610); this.Controls.Add(this.splitContainer1); this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.Name = "AdminShopListForm"; + this.Name = "PDDAdminShopListForm"; this.Text = "AdminShopForm"; this.Load += new System.EventHandler(this.AdminShopForm_Load); this.VisibleChanged += new System.EventHandler(this.AdminShopForm_VisibleChanged); @@ -902,6 +903,13 @@ namespace TemuKJD.PDDForms.AdminForms private System.Windows.Forms.Label label5; private System.Windows.Forms.CheckBox chkShowDelete; private UserControls.ButtonEx btnSetSubSa; + private System.Windows.Forms.Panel pnlAddProdRemaining; + private System.Windows.Forms.Label lblAddProdRemaining; + private System.Windows.Forms.NumericUpDown numAddRemaining; + private System.Windows.Forms.Panel panel2; + private DevComponents.DotNetBar.PanelEx btnRemainOK; + private DevComponents.DotNetBar.PanelEx pnlCancel; + private System.Windows.Forms.Label lblShopId; private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; private System.Windows.Forms.DataGridViewTextBoxColumn colLoginName; private System.Windows.Forms.DataGridViewTextBoxColumn colShopId; @@ -931,12 +939,5 @@ namespace TemuKJD.PDDForms.AdminForms private System.Windows.Forms.DataGridViewTextBoxColumn colSubSa; private System.Windows.Forms.DataGridViewLinkColumn colEdit; private System.Windows.Forms.DataGridViewLinkColumn colDelete; - private System.Windows.Forms.Panel pnlAddProdRemaining; - private System.Windows.Forms.Label lblAddProdRemaining; - private System.Windows.Forms.NumericUpDown numAddRemaining; - private System.Windows.Forms.Panel panel2; - private DevComponents.DotNetBar.PanelEx btnRemainOK; - private DevComponents.DotNetBar.PanelEx pnlCancel; - private System.Windows.Forms.Label lblShopId; } } \ No newline at end of file diff --git a/TEMUKJD/PDDForms/AdminForms/PDDAdminShopListForm.cs b/TEMUKJD/PDDForms/AdminForms/PDDAdminShopListForm.cs index 5093bf5..3117bfc 100644 --- a/TEMUKJD/PDDForms/AdminForms/PDDAdminShopListForm.cs +++ b/TEMUKJD/PDDForms/AdminForms/PDDAdminShopListForm.cs @@ -226,57 +226,58 @@ namespace TemuKJD.PDDForms.AdminForms PDDAdminShopLoginForm adminLoginForm = new PDDAdminShopLoginForm(shop); adminLoginForm.openType = EnumOpenType.manage; adminLoginForm.WindowState = FormWindowState.Maximized; - adminLoginForm.InitUrl = "https://agentseller.temu.com"; + adminLoginForm.InitUrl = "https://mms.pinduoduo.com/home/"; adminLoginForm.Show(); } IsOperate = false; break; case "复制Cookie": - string cook = shop.Cookies; + List cooks = null; + try { cooks = JsonHelper.DeserializeJsonToList(shop.Cookies); } catch (Exception ex) { } + if (cooks == null) + cooks = new List(); + string cookJs = ""; - var keys = new string[] { "a42", "_bee", "_f77", "_nano_fp", "api_uid", "rckk", "ru1k", "ru2k", "SUB_PASS_ID" }; - //var keys2 = new string[] { "_bee", "_nano_fp", "api_uid", "dilx", "hfsc", "mallid", "njrpl", "seller_temp" }; - var keys2 = new string[] { "_bee", "_nano_fp", "api_uid", "dilx", "hfsc", "njrpl", "seller_temp" }; - foreach (var shopCook in shop.Cookies.Split(';')) + var keys = new string[] { "_a42", "_bee", "_f77", "_nano_fp", "api_uid", "JSESSIONID", "mms_b84d1838", "rckk", "ru1k", "ru2k", "PASS_ID", "webp", "x-visit-time" }; + var keys2 = new string[] { /*"_bee", "_nano_fp", "api_uid", "dilx", "hfsc", "njrpl", "seller_temp"*/ }; + foreach (var shopCook in cooks) { - var cookie = shopCook.Trim(); - if (!keys.Any(k=>cookie.StartsWith(k))) - continue; - cookJs += "\r\ndocument.cookie='" + cookie.Substring(0, Math.Max(0, cookie.IndexOf("="))) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';"; - } - foreach (var shopCook in shop.Cookies2.Split(';')) - { - var cookie = shopCook.Trim(); - cookJs += "\r\ndocument.cookie='" + cookie.Substring(0, Math.Max(0, cookie.IndexOf("="))) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';"; - } - foreach (var shopCook in shop.Cookies.Split(';')) - { - var cookie = shopCook.Trim(); + var cookie = shopCook.Name + "=" + shopCook.Value; if (!keys.Any(k => cookie.StartsWith(k))) continue; - if (!cookie.StartsWith("SUB_PASS_ID") && !cookie.StartsWith("_nano_fp")) - cookJs += "\r\ndocument.cookie='" + cookie + "; domain=.kuajingmaihuo.com;';"; + cookJs += "\r\ndocument.cookie='" + cookie.Substring(0, Math.Max(0, cookie.IndexOf("="))) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';"; + } + foreach (var shopCook in cooks) + { + var cookie = shopCook.Name + "=" + shopCook.Value; + if (!keys.Any(k => cookie.StartsWith(k))) + continue; + if (!cookie.StartsWith("PASS_ID") && !cookie.StartsWith("_nano_fp") && !cookie.StartsWith("JSESSIONID") && + !cookie.StartsWith("mms_b84d1838") && !cookie.StartsWith("webp") && !cookie.StartsWith("x-visit-time")) + cookJs += "\r\ndocument.cookie='" + cookie + "; domain=.pinduoduo.com;expires=" + + DateTime.Now.AddMonths(1).ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss 'UTC'", new DateTimeFormatInfo()) + "; path=/';"; else - cookJs += "\r\ndocument.cookie='" + cookie + "; domain=seller.kuajingmaihuo.com;';"; + cookJs += "\r\ndocument.cookie='" + cookie + "; domain=mms.pinduoduo.com; expires=" + + DateTime.Now.AddMonths(1).ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss 'UTC'", new DateTimeFormatInfo()) + "; path=/';"; } // 全球站cookie - foreach (var shopCook in shop.Cookies2.Split(';')) - { - var cookie = shopCook.Trim(); - if (cookie.StartsWith("mallid")) - cookie = "mallid=" + shop.ShopId; - if (!keys2.Any(k => cookie.StartsWith(k))) - continue; - if (!cookie.StartsWith("seller_temp") && !cookie.StartsWith("_nano_fp") && !cookie.StartsWith("mallid")) - cookJs += "\r\ndocument.cookie='" + cookie + "; domain=.temu.com; expires=" + - DateTime.Now.AddDays(1).ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss 'UTC'", new DateTimeFormatInfo()) + "; path=/';"; - else - cookJs += "\r\ndocument.cookie='" + cookie + "; domain=agentseller.temu.com; expires=" + - DateTime.Now.AddDays(1).ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss 'UTC'", new DateTimeFormatInfo()) + "; path=/';"; - } - cookJs += "\r\nwindow.localStorage.setItem('" + "mall-info-id" + "', '" + shop.ShopId + "');"; - cookJs += "\r\nwindow.localStorage.setItem('" + "agentseller-mall-info-id" + "', '" + shop.ShopId + "');"; - cookJs += "\r\nsetTimeout(() => { window.location.href='https://agentseller.temu.com'; }, 200)"; + //foreach (var shopCook in shop.Cookies2.Split(';')) + //{ + // var cookie = shopCook.Trim(); + // if (cookie.StartsWith("mallid")) + // cookie = "mallid=" + shop.ShopId; + // if (!keys2.Any(k => cookie.StartsWith(k))) + // continue; + // if (!cookie.StartsWith("seller_temp") && !cookie.StartsWith("_nano_fp") && !cookie.StartsWith("mallid")) + // cookJs += "\r\ndocument.cookie='" + cookie + "; domain=.temu.com; expires=" + + // DateTime.Now.AddDays(1).ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss 'UTC'", new DateTimeFormatInfo()) + "; path=/';"; + // else + // cookJs += "\r\ndocument.cookie='" + cookie + "; domain=agentseller.temu.com; expires=" + + // DateTime.Now.AddDays(1).ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss 'UTC'", new DateTimeFormatInfo()) + "; path=/';"; + //} + //cookJs += "\r\nwindow.localStorage.setItem('" + "mall-info-id" + "', '" + shop.ShopId + "');"; + //cookJs += "\r\nwindow.localStorage.setItem('" + "agentseller-mall-info-id" + "', '" + shop.ShopId + "');"; + cookJs += "\r\nsetTimeout(() => { window.location.href='https://mms.pinduoduo.com/home'; }, 200)"; Clipboard.SetDataObject(cookJs); BaseMsgForm.ShowInfo("复制成功"); break; @@ -410,10 +411,10 @@ namespace TemuKJD.PDDForms.AdminForms if (BaseClass.SaLevel > 1) data += "&operate_sub_sa_name=" + BaseClass.UserName; 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")) + // html = GetHtml.PostUtf8(url, data); + //if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + // html = GetHtml.PostUtf8(url, data); if (string.IsNullOrEmpty(html) || !html.Contains("shop_id") || !html.Contains("shop_account") || !html.Contains("login_pass")) { diff --git a/TEMUKJD/PDDForms/AdminForms/PDDAdminShopLoginForm.Designer.cs b/TEMUKJD/PDDForms/AdminForms/PDDAdminShopLoginForm.Designer.cs index 99d00f6..7806090 100644 --- a/TEMUKJD/PDDForms/AdminForms/PDDAdminShopLoginForm.Designer.cs +++ b/TEMUKJD/PDDForms/AdminForms/PDDAdminShopLoginForm.Designer.cs @@ -83,7 +83,7 @@ this.splitContainer1.Panel2.Controls.Add(this.btnReload); this.splitContainer1.Panel2.Controls.Add(this.chkCloseAfterLogin); this.splitContainer1.Size = new System.Drawing.Size(1438, 736); - this.splitContainer1.SplitterDistance = 674; + this.splitContainer1.SplitterDistance = 675; this.splitContainer1.SplitterWidth = 3; this.splitContainer1.TabIndex = 4; // @@ -338,7 +338,7 @@ // // txtAddress // - this.txtAddress.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + this.txtAddress.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.txtAddress.Location = new System.Drawing.Point(3, 3); this.txtAddress.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); @@ -347,14 +347,14 @@ this.txtAddress.TabIndex = 7; this.txtAddress.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtAddress_KeyDown); // - // AdminShopLoginForm + // PDDAdminShopLoginForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; this.ClientSize = new System.Drawing.Size(1440, 800); this.Controls.Add(this.splitContainer2); 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.Name = "AdminShopLoginForm"; + this.Name = "PDDAdminShopLoginForm"; this.ShowMaximizeBox = true; this.Text = "店铺登录"; this.TitleText = "店铺登录"; diff --git a/TEMUKJD/PDDForms/AdminForms/PDDAdminShopLoginForm.cs b/TEMUKJD/PDDForms/AdminForms/PDDAdminShopLoginForm.cs index f4c554b..c7b1864 100644 --- a/TEMUKJD/PDDForms/AdminForms/PDDAdminShopLoginForm.cs +++ b/TEMUKJD/PDDForms/AdminForms/PDDAdminShopLoginForm.cs @@ -37,11 +37,10 @@ namespace TemuKJD.PDDForms.AdminForms public bool isMultiLogin = false; public string MultiLoginCookieName = ""; public string InitUrl = ""; - private string shopCookieHead = "kuajingmaihuo.com"; + private string shopCookieHead = "pinduoduo.com"; private string shopCookieHead2 = "temu.com"; - private string shopLoginUrl = "http://seller.kuajingmaihuo.com/login"; - private string shopMainUrl = "https://seller.kuajingmaihuo.com"; - private string shopMainUrl2 = "https://agentseller.temu.com"; + private string shopLoginUrl = "https://mms.pinduoduo.com/login"; + private string shopMainUrl = "https://mms.pinduoduo.com/home"; private ChromiumWebBrowser cefWebBrowser = null; private ShopLoginInfo shop = null; private List lstShopCompany = new List(); @@ -125,7 +124,8 @@ namespace TemuKJD.PDDForms.AdminForms string cookies = ""; //List cookieList = CEFBrowser.GetCookieList(shopCookieHead, cefWebBrowser.RequestContext.GetCookieManager(null)); // cef138 List cookieList = CEFBrowser.GetCookieList(shopCookieHead, cefWebBrowser.GetCookieManager(null)); - var keys = new string[] { "a42", "_bee", "_f77", "_nano_fp", "api_uid", "rckk", "ru1k", "ru2k", "SUB_PASS_ID" }; + List cookieListNew = new List(); + var keys = new string[] { "_a42", "_bee", "_f77", "_nano_fp", "api_uid", "JSESSIONID", "mms_b84d1838", "rckk", "ru1k", "ru2k", "PASS_ID", "webp", "x-visit-time" }; if (cookieList != null && cookieList.Count > 0) { @@ -134,14 +134,16 @@ namespace TemuKJD.PDDForms.AdminForms if (!keys.Contains(cookie.Name)) continue; - //SUB_PASS_ID同时出现两个,domain是seller.kuajingmaihuo.com才是能登录店铺后台的 - if (cookie.Name == "SUB_PASS_ID" && cookie.Domain != "seller.kuajingmaihuo.com" - && cookieList.Any(c=>c.Name== "SUB_PASS_ID" && c.Domain == "seller.kuajingmaihuo.com")) + //PASS_ID同时出现两个,domain是mms.pinduoduo.com才是能登录店铺后台的 + if (cookie.Name == "PASS_ID" && cookie.Domain != "mms.pinduoduo.com" + && cookieList.Any(c => c.Name == "PASS_ID" && c.Domain == "mms.pinduoduo.com")) continue; cookies += cookie.Name + "=" + cookie.Value + "; "; + cookieListNew.Add(cookie); } - cookies = cookies.Trim().TrimEnd(';'); + //cookies = cookies.Trim().TrimEnd(';'); + cookies = JsonHelper.SerializeObject(cookieListNew); } if (!string.IsNullOrEmpty(cookies) @@ -164,6 +166,7 @@ namespace TemuKJD.PDDForms.AdminForms UserName = shop.UserName, Notes = shop.Notes, Cookies = cookies, + AntiContents = new List { sc.AntiContent }, }; if (string.IsNullOrEmpty(shop.Cookies)) // 有cookie的认为是已登录过的 @@ -174,6 +177,15 @@ namespace TemuKJD.PDDForms.AdminForms if (!html.Contains("\"code\":200")) isSuccess = false; } + else + { + var urlAddress = BaseClass.BuildObjString("shop/mdy_anti_content"); + var data = UserLogin.GetSignaturex() + + "&login_name=" + shop.LoginName + + "&shop_id=" + shop.ShopId + + "&anti_contents=" + JsonHelper.SerializeObject(shop.AntiContents); + var result = GetHtml.PostUtf8(urlAddress, data); + } } shop.Cookies = cookies; if (isSuccess) @@ -181,105 +193,7 @@ namespace TemuKJD.PDDForms.AdminForms shop.LoginStatus = "登录成功"; PDDShopListForm.UpdateServerShopCookies(shop); // 店铺cookie写入服务端,多店共用一个登录账号一组cookie } - //OnSaveComplete(shop); - //if (this.Created && this.chkCloseAfterLogin.Checked) - //{ - // Invoke(new Action(() => { this.Close(); })); - //} - //else - // break; - } - //cefWebBrowser.Load(shopMainUrl2); - var shopStatusRst = PDDShopListForm.GetShopStatus2(shop); - if (!shopStatusRst.Contains("\"success\":true")) - { - //https://agentseller.temu.com/main/authentication?redirectUrl=https%3A%2F%2Fagentseller.temu.com&mallId=634418217169109&asCode=7PaagItuW7ZD1xw2IXNU198596bf60a24327b02d32da6d43f9bcbc40a4b925d0b2ba8c28bd - var codeRst = PDDShopListForm.GetShopLogin2Code(shop); - if (codeRst.Contains("\"success\":true")) - { - string code = BaseRegex.GetStringJson(ref codeRst, "code"); - cefWebBrowser.Load("https://agentseller.temu.com/main/authentication" + - "?redirectUrl=https%3A%2F%2Fagentseller.temu.com&mallId=" + shop.ShopId + - "&asCode=" + code); - } - else - { - //cefWebBrowser.Load("https://agentseller.temu.com"); - BaseMsgForm.ShowInfo("获取国际版跳转链接失败,请手动跳转并等待Cookie获取结束!"); - } - } - else - { - var cookie2 = shop.Cookies2; - //var t = CEFBrowser.SetCookieAsync(shopCookieHead2, cookie2, cefWebBrowser.RequestContext.GetCookieManager(null)); // cef138 - var t = CEFBrowser.SetCookieAsync(shopCookieHead2, cookie2, cefWebBrowser.GetCookieManager(null)); - t.Wait(5000); - cefWebBrowser.Load("https://agentseller.temu.com"); - } - } - if (1 == 1 && this.shop != null && currentUrl.TrimEnd('/') == shopMainUrl2) - { - //https://agentseller.temu.com - if (!cefWebBrowser.GetBrowser().MainFrame.IsValid) - continue; - - if (openType != EnumOpenType.login) - continue; - - if (!lstShopCompany.Any(c => c.LoginName == shop.LoginName)) - continue; - - string cookies2 = ""; - //List cookieList2 = CEFBrowser.GetCookieList(shopCookieHead2, cefWebBrowser.RequestContext.GetCookieManager(null)); - List cookieList2 = CEFBrowser.GetCookieList(shopCookieHead2, cefWebBrowser.GetCookieManager(null)); // cef138 - if (cookieList2 != null && cookieList2.Count > 0) - { - for(int i =0; i < cookieList2.Count; i++) - { - var cookie = cookieList2[i]; - cookies2 += cookie.Name + "=" + cookie.Value + "; "; - } - cookies2 = cookies2.Trim().TrimEnd(';'); - } - - if (!string.IsNullOrEmpty(cookies2) - && lstShopCompany.Any(c => c.LoginName == shop.LoginName)) - { - var lstShopCompanyCopy = lstShopCompany.ToList(); - lstShopCompanyCopy = lstShopCompanyCopy.Where(l => l.LoginName == shop.LoginName).ToList(); - bool isSuccess = true; - - foreach (ShopCompany sc in lstShopCompanyCopy) - { - ShopLoginInfo newShop = new ShopLoginInfo() - { - LoginName = shop.LoginName, - Password = shop.Password, - GroupName = shop.GroupName, - ShopAccount = sc.AccountName, - ShopId = sc.AccountId, - SubUserName = shop.SubUserName, - UserName = shop.UserName, - Notes = shop.Notes, - Cookies2 = cookies2, - }; - - if (string.IsNullOrEmpty(shop.Cookies)) // 有cookie的认为是已登录过的 - { - newShop.LoginStatus2 = "国际版在线"; - newShop.LastRefreshDate = DateTime.Now.ToString("yyyyMMdd"); - var html = ShopBLL.AdminAddServerShop(newShop); // 店铺写入到服务端 - if (!html.Contains("\"code\":200")) - isSuccess = false; - } - } - shop.Cookies2 = cookies2; - if (isSuccess) - { - shop.LoginStatus2 = "国际版在线"; - PDDShopListForm.UpdateServerShopCookies(shop); // 店铺cookie写入服务端,多店共用一个登录账号一组cookie - } OnSaveComplete(shop); if (this.Created && this.chkCloseAfterLogin.Checked) { @@ -409,9 +323,19 @@ namespace TemuKJD.PDDForms.AdminForms if (shop.Cookies2 == null) shop.Cookies2 = ""; - var cookie = shop.Cookies; - if (isMultiLogin) - cookie = shop.DictMultiCookies.Keys.Contains(MultiLoginCookieName) ? shop.DictMultiCookies[MultiLoginCookieName] : ""; + //var cookie = shop.Cookies; + //if (isMultiLogin) + // cookie = shop.DictMultiCookies.Keys.Contains(MultiLoginCookieName) ? shop.DictMultiCookies[MultiLoginCookieName] : ""; + List cookieLst = new List(); + try + { + cookieLst = JsonHelper.DeserializeJsonToList(shop.Cookies); + if (cookieLst == null) + cookieLst = new List(); + } + catch + { + } Task.Run(() => { @@ -424,9 +348,17 @@ namespace TemuKJD.PDDForms.AdminForms Thread.Sleep(20); CEFBrowser.DeleteCookie(cefWebBrowser.GetCookieManager(null)); - //var t = CEFBrowser.SetCookieAsync(shopCookieHead, cookie, cefWebBrowser.RequestContext.GetCookieManager(null)); // cef138 - var t = CEFBrowser.SetCookieAsync(shopCookieHead, cookie, cefWebBrowser.GetCookieManager(null)); - t.Wait(5000); + //cef 138 如果没有设置RequestContext 可能为空,直接getCookieManager + //if (this.openType != EnumOpenType.login) + { + //var t = CEFBrowser.SetCookieAsync(shopCookieHead, cookie, cefWebBrowser.RequestContext.GetCookieManager(null)); // cef138 + //var t = CEFBrowser.SetCookieAsync(shopCookieHead, cookie, cefWebBrowser.GetCookieManager(null)); + foreach (var cook in cookieLst) + { + var t = CEFBrowser.SetCookieAsync(cook.Domain, cook.Name + "=" + cook.Value + ";", cefWebBrowser.GetCookieManager(null)); + t.Wait(5000); + } + } if (this.openType != EnumOpenType.login) { @@ -439,17 +371,22 @@ namespace TemuKJD.PDDForms.AdminForms //根据登录的具体店铺设置local storage if (!string.IsNullOrEmpty(shop.ShopId)) { - while (!cefWebBrowser.IsBrowserInitialized || !cefWebBrowser.GetBrowser().MainFrame.IsValid) - Thread.Sleep(20); + //while (!cefWebBrowser.IsBrowserInitialized || !cefWebBrowser.GetBrowser().MainFrame.IsValid) + // Thread.Sleep(20); - var storageJsCode = "window.localStorage.setItem('" + "mall-info-id" + "', '" + shop.ShopId + "');\r\n"; - cefWebBrowser.GetBrowser().MainFrame.ExecuteJavaScriptAsync(storageJsCode); + //var storageJsCode = "window.localStorage.setItem('" + "mall-info-id" + "', '" + shop.ShopId + "');\r\n"; + //cefWebBrowser.GetBrowser().MainFrame.ExecuteJavaScriptAsync(storageJsCode); - //agentseller-mall-info-id - storageJsCode = "window.localStorage.setItem('" + "agentseller-mall-info-id" + "', '" + shop.ShopId + "');\r\n"; - cefWebBrowser.GetBrowser().MainFrame.ExecuteJavaScriptAsync(storageJsCode); + ////agentseller-mall-info-id + //storageJsCode = "window.localStorage.setItem('" + "agentseller-mall-info-id" + "', '" + shop.ShopId + "');\r\n"; + //cefWebBrowser.GetBrowser().MainFrame.ExecuteJavaScriptAsync(storageJsCode); } + if (!string.IsNullOrEmpty(InitUrl)) + cefWebBrowser.Load(InitUrl); + else + cefWebBrowser.Load(shopMainUrl); + //不是登录的话就此返回 if (openType != EnumOpenType.login) { @@ -468,27 +405,17 @@ namespace TemuKJD.PDDForms.AdminForms } Thread.Sleep(Randomx.GetId(1500, 2000)); - //设置 local storage - //if (GlobalConfig.dicLocalStorage != null) - //{ - // Thread.Sleep(500); - // string jsCode = "function setStorage() {"; - // foreach (var item in GlobalConfig.dicLocalStorage) - // { - // if (item.Key == "$TCC_CONFIG" || item.Key == "$TCC_CONFIG_operate_config" || item.Key == "menuStyleStr") - // continue; - - // jsCode += "window.localStorage.setItem('" + item.Key + "', '" + item.Value + "');\r\n"; - // } - // jsCode += "}"; - // jsCode += "setStorage();"; - // if (cefWebBrowser.GetBrowser().MainFrame.IsValid) - // cefWebBrowser.GetBrowser().MainFrame.ExecuteJavaScriptAsync(jsCode); - //} - if (!this.Created) return; + while (!cefWebBrowser.Address.StartsWith(shopLoginUrl)) + { + Thread.Sleep(1000); + if (!this.Created) + return; + } + + CEFBrowser.DeleteCookie(cefWebBrowser.GetCookieManager(null)); InputUserNameAndPassword(cefWebBrowser, shop.LoginName, DataOpenSSL.DecryptString(shop.Password)); }); } @@ -558,86 +485,81 @@ namespace TemuKJD.PDDForms.AdminForms cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(sb.ToString()); } + int GetAntiContentsTimes = 0; private void RequestHandler_ResourceLoadComplete(object sender, string url, string postData, string responseData, IRequest request) { + var antiContent = request.Headers.AllKeys.Contains("Anti-Content") ? request.Headers["Anti-Content"] : ""; + if (shop != null && !url.StartsWith("https://mms.pinduoduo.com/janus/api/userinfo") && !string.IsNullOrEmpty(antiContent)) + { + GetAntiContentsTimes++; + shop.AntiContents.Add(antiContent); + while (shop.AntiContents.Count > 10) + shop.AntiContents.RemoveAt(0); + if (!string.IsNullOrEmpty(shop.ShopId) && GetAntiContentsTimes > 5) + { + GetAntiContentsTimes = 0; + var antis = shop.AntiContents; + Task.Run(() => + { + var urlAddress = BaseClass.BuildObjString("shop/mdy_anti_content"); + var data = UserLogin.GetSignaturex() + + "&login_name=" + shop.LoginName + + "&shop_id=" + shop.ShopId + + "&anti_contents=" + JsonHelper.SerializeObject(antis); + var result = GetHtml.PostUtf8(urlAddress, data); + }); + } + } Task.Run(() => { - var data = responseData; - if (data.Contains("supplierId") && data.Contains("\"success\":true")) - { - var supplierIds = BaseRegex.GetMatchRegex(ref data, "\"supplierId\":\\d{5,20}"); - if(supplierIds.Count > 0 && supplierIds[0].Groups.Count > 0) - { - var supplierId = supplierIds[0].Groups[0].Value.Replace("\"supplierId\":", "").ParseToLong(); - if (supplierId > 0) - this.currentSupplierId = supplierId; - } - } + //var data = responseData; + //if (data.Contains("supplierId") && data.Contains("\"success\":true")) + //{ + // var supplierIds = BaseRegex.GetMatchRegex(ref data, "\"supplierId\":\\d{5,20}"); + // if(supplierIds.Count > 0 && supplierIds[0].Groups.Count > 0) + // { + // var supplierId = supplierIds[0].Groups[0].Value.Replace("\"supplierId\":", "").ParseToLong(); + // if (supplierId > 0) + // this.currentSupplierId = supplierId; + // } + //} }); - if (url.StartsWith("https://seller.kuajingmaihuo.com/settle/site-main")) - { - cefWebBrowser.Load(shopMainUrl); - } //if (url == shopMainUrl) - if (url == "https://seller.kuajingmaihuo.com/bg/quiet/api/mms/userInfo") + if (url == "https://mms.pinduoduo.com/janus/api/userinfo") { Task.Run(() => { var data = responseData; if (this.shop != null && data.Contains("\"success\":true")) { - var maskMobile = BaseRegex.GetStringJson(ref data, "maskOwnerMobile"); - var maskMobile2 = "||||" + BaseRegex.GetStringJson(ref data, "maskMobile").ParseToString(); - if (maskMobile2.Contains("*")) - maskMobile2 = maskMobile2.Substring(maskMobile2.LastIndexOf("*")).Trim('*'); - if (shop.LoginName.EndsWith(maskMobile) || shop.LoginName.EndsWith(maskMobile2)) + var maskMobile = BaseRegex.GetStringJson(ref data, "mobile"); + maskMobile = maskMobile.Split('*').Last(); + if (!string.IsNullOrEmpty(maskMobile) && shop.LoginName.EndsWith(maskMobile)) { lstShopCompany.Clear(); var jObj = JObject.Parse(data); - var jArr = jObj["result"]?["companyList"]?[0]?["malInfoList"] as JArray; + var jArr = jObj["result"] as JArray; if (jArr == null) jArr = new JArray(); Thread.Sleep(500); - foreach (var productObj in jArr) + + ShopCompany sc = new ShopCompany() { - var prod = JsonHelper.SerializeObject(productObj); - ShopCompany sc = new ShopCompany() - { - AccountId = BaseRegex.GetStringJson(ref prod, "mallId"), - AccountName = BaseRegex.GetStringJson(ref prod, "mallName"), - LoginName = shop.LoginName, - UserName = BaseClass.UserName, - LoginStatus = "登录成功", - }; - this.lstShopCompany.Add(sc); - } + //AccountId = BaseRegex.GetStringJson(ref data, "mallId"), + AccountId = BaseRegex.GetStringJson(ref data, "username"), + AccountName = BaseRegex.GetStringJson(ref data, "mall_name"), + LoginName = shop.LoginName, + UserName = BaseClass.UserName, + LoginStatus = "登录成功", + AntiContent = antiContent, + }; + this.lstShopCompany.Add(sc); } } }); } - //if (url.Contains("_signature")) - //{ - // var re = request; - // if ((re.Headers != null && re.Headers.AllKeys.Contains("x-secsdk-csrf-token"))) - // { - // } - // Task.Run(() => - // { - // var _url = url; - // var data = responseData; - // var signature = url.Substring(url.IndexOf("_signature=") + "_signature=".Length).Split('&')[0]; - // if (shop != null) - // { - // shop.Signature = signature; - // } - // if (url.Contains("x-secsdk-csrf-token") || postData.Contains("x-secsdk-csrf-token") || data.Contains("x-secsdk-csrf-token")) - // { - // } - // }); - //} - if (currentUrl.StartsWith("https://seller.kuajingmaihuo.com/goods/product/list") || - currentUrl.StartsWith("https://agentseller.temu.com/goods/list")) + if (currentUrl.StartsWith("https://mms.pinduoduo.com/goods/goods_list")) { Task.Run(() => { string sAddInputJs = @" @@ -663,11 +585,13 @@ namespace TemuKJD.PDDForms.AdminForms addGetProdButton(); function addGetProdButton() { - var productLst = document.getElementsByClassName('product-info_idContent__iDukx'); + var productLst = document.getElementsByClassName('goods-id'); for(i=0; i= 0) { - var sSpuId = productLst[i].innerText.replace('\r','').replace('\n','').replace('SPU ID:', ''); - productLst[i].innerHTML = productLst[i].innerHTML.replace("">"", "">""); + var addBtnItem = productLst[i].parentElement.parentElement; + if (addBtnItem.parentElement.innerHTML.indexOf('提取商品') < 0 && addBtnItem.parentElement.innerHTML.indexOf('ID:') >= 0) { + var sSpuId = addBtnItem.innerText.replace('\r','').replace('\n','').replace('ID: ', ''); + addBtnItem.outerHTML = addBtnItem.outerHTML.replace(""
"",""
"") + .replace(""
"", ""
""); } } }"; @@ -684,6 +608,13 @@ namespace TemuKJD.PDDForms.AdminForms /// private void InputUserNameAndPassword(ChromiumWebBrowser webBrowser, string _account, string _password) { + webBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(sGetElementWithText); + + var jsStr0 = "var clickBox1 = getElementWithText('账号登录'); clickBox1.click()"; + var response0 = webBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(jsStr0); + response0.Wait(1000); + Thread.Sleep(Randomx.GetId(500, 1000)); + string jsStr1 = "function getInputItem () {var usernameId = document.getElementById('usernameId'); if (usernameId) return 'true';} getInputItem();"; Task response1 = null; while (response1?.Result?.Result == null || !response1.Result.Result.ParseToString().Contains("true")) @@ -700,7 +631,6 @@ namespace TemuKJD.PDDForms.AdminForms } webBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(sInputValueChange2); - webBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(sGetElementWithText); jsStr1 = "var usernameId = document.getElementById('usernameId'); " + "changeReactInputValue(usernameId,'" + _account + "');"; @@ -708,7 +638,7 @@ namespace TemuKJD.PDDForms.AdminForms response1.Wait(1000); Thread.Sleep(Randomx.GetId(500, 1000)); - string jsStr = "var passwordId = document.getElementById('passwordId'); "+ + string jsStr = "var passwordId = document.getElementById('passwordId'); " + "changeReactInputValue(passwordId,'" + _password + "');"; var response = webBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(jsStr); response.Wait(1000); diff --git a/TEMUKJD/PDDForms/ProductForms/PDDProductForm.Designer.cs b/TEMUKJD/PDDForms/ProductForms/PDDProductForm.Designer.cs new file mode 100644 index 0000000..aa2ed5c --- /dev/null +++ b/TEMUKJD/PDDForms/ProductForms/PDDProductForm.Designer.cs @@ -0,0 +1,185 @@ +namespace TemuKJD.PDDForms.ProductForms +{ + partial class PDDProductForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("商品认领"); + System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("备货管理"); + System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("调价管理"); + System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("活动报名"); + System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("库存上传"); + System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("设置进货价"); + System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("商品管理", new System.Windows.Forms.TreeNode[] { + treeNode1, + treeNode2, + treeNode3, + treeNode4, + treeNode5, + treeNode6}); + this.panel1 = new System.Windows.Forms.Panel(); + this.panel3 = new System.Windows.Forms.Panel(); + this.panel2 = new System.Windows.Forms.Panel(); + this.lblName = new System.Windows.Forms.Label(); + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.tv = new TemuKJD.UserComponent.UcTreeView(); + this.panel1.SuspendLayout(); + this.panel2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); + this.splitContainer1.Panel1.SuspendLayout(); + this.splitContainer1.Panel2.SuspendLayout(); + this.splitContainer1.SuspendLayout(); + this.SuspendLayout(); + // + // panel1 + // + this.panel1.BackColor = System.Drawing.Color.White; + this.panel1.Controls.Add(this.panel3); + this.panel1.Controls.Add(this.panel2); + this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel1.Location = new System.Drawing.Point(0, 0); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(793, 521); + this.panel1.TabIndex = 2; + // + // panel3 + // + this.panel3.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel3.Location = new System.Drawing.Point(0, 28); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(793, 493); + this.panel3.TabIndex = 1; + // + // panel2 + // + this.panel2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244))))); + this.panel2.Controls.Add(this.lblName); + this.panel2.Dock = System.Windows.Forms.DockStyle.Top; + this.panel2.Location = new System.Drawing.Point(0, 0); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(793, 28); + this.panel2.TabIndex = 0; + // + // lblName + // + this.lblName.AutoSize = true; + this.lblName.Location = new System.Drawing.Point(5, 6); + this.lblName.Name = "lblName"; + this.lblName.Size = new System.Drawing.Size(57, 17); + this.lblName.TabIndex = 0; + this.lblName.Text = "lblName"; + // + // splitContainer1 + // + this.splitContainer1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; + this.splitContainer1.Location = new System.Drawing.Point(0, 0); + this.splitContainer1.Name = "splitContainer1"; + // + // splitContainer1.Panel1 + // + this.splitContainer1.Panel1.Controls.Add(this.tv); + // + // splitContainer1.Panel2 + // + this.splitContainer1.Panel2.Controls.Add(this.panel1); + this.splitContainer1.Size = new System.Drawing.Size(934, 521); + this.splitContainer1.SplitterDistance = 140; + this.splitContainer1.SplitterWidth = 1; + this.splitContainer1.TabIndex = 3; + // + // tv + // + this.tv.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(251)))), ((int)(((byte)(251)))), ((int)(((byte)(251))))); + this.tv.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.tv.ChildNodeSelectedBgColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.tv.Cursor = System.Windows.Forms.Cursors.Hand; + this.tv.Dock = System.Windows.Forms.DockStyle.Fill; + this.tv.DrawMode = System.Windows.Forms.TreeViewDrawMode.OwnerDrawAll; + this.tv.ExpandButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255))))); + this.tv.FullRowSelect = true; + this.tv.GroupBgColor = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(249)))), ((int)(((byte)(249))))); + this.tv.GroupFont = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.tv.GroupTitleColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80))))); + this.tv.HideCollapsedGroup = false; + this.tv.ItemHeight = 32; + this.tv.Location = new System.Drawing.Point(0, 0); + this.tv.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + this.tv.Name = "tv"; + treeNode1.Name = "商品认领"; + treeNode1.Text = "商品认领"; + treeNode2.Name = "备货管理"; + treeNode2.Text = "备货管理"; + treeNode3.Name = "调价管理"; + treeNode3.Text = "调价管理"; + treeNode4.Name = "活动报名"; + treeNode4.Text = "活动报名"; + treeNode5.Name = "库存上传"; + treeNode5.Text = "库存上传"; + treeNode6.Name = "设置进货价"; + treeNode6.Text = "设置进货价"; + treeNode7.Name = "商品管理"; + treeNode7.Text = "商品管理"; + this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] { + treeNode7}); + this.tv.OverForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235))))); + this.tv.Size = new System.Drawing.Size(140, 521); + this.tv.TabIndex = 1; + this.tv.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.tv_AfterSelect); + // + // ProductForm + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.ClientSize = new System.Drawing.Size(934, 521); + this.Controls.Add(this.splitContainer1); + this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4); + this.Name = "ProductForm"; + this.Text = "UploadForms"; + this.Load += new System.EventHandler(this.ShopForm_Load); + this.panel1.ResumeLayout(false); + this.panel2.ResumeLayout(false); + this.panel2.PerformLayout(); + this.splitContainer1.Panel1.ResumeLayout(false); + this.splitContainer1.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); + this.splitContainer1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private UserComponent.UcTreeView tv; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.Label lblName; + private System.Windows.Forms.Panel panel3; + private System.Windows.Forms.SplitContainer splitContainer1; + } +} \ No newline at end of file diff --git a/TEMUKJD/PDDForms/ProductForms/PDDProductForm.cs b/TEMUKJD/PDDForms/ProductForms/PDDProductForm.cs new file mode 100644 index 0000000..b66943d --- /dev/null +++ b/TEMUKJD/PDDForms/ProductForms/PDDProductForm.cs @@ -0,0 +1,181 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; +using TemuKJD.BaseForms; +using AllBase; +using TemuKJD.PDDForms.ProductSelectForms; + +namespace TemuKJD.PDDForms.ProductForms +{ + public partial class PDDProductForm : BaseForm + { + public static PDDProductForm instance; + //public Lazy saleStockUpForm = new Lazy(); + //public Lazy priceManageForm = new Lazy(); + public Lazy userSelectDbProductForm = new Lazy(); + //public Lazy userSelectThirdProductForm = new Lazy(); + //public Lazy marketingActivityForm = new Lazy(); + //public Lazy purchasePriceForm = new Lazy(); + + public PDDProductForm() + { + InitializeComponent(); + + try + { + tv.SelectedNode = tv.Nodes[0].Nodes[0]; + tv.ExpandGroup(tv.Nodes[0].Name); + + List hideName = new List() { "备货管理", "调价管理", "活动报名", "库存上传", "设置进货价" }; + + if (BaseClass.GroupId == 3) + { + //hideName.Remove("设置进货价"); + if (BaseClass.SaLevel == 1) + { + } + if (BaseClass.SaLevel == 2) + { + } + } + + foreach (var item in hideName) + { + var n = tv.Nodes[0].Nodes.Find(item, true); + if (n.Count() > 0) + n[0].Remove(); + } + } + catch { } + } + + private void tv_AfterSelect(object sender, TreeViewEventArgs e) + { + instance = this; + + MainForm.sCurrentModule = e.Node.Name; + this.lblName.Text = e.Node.Text; + + //如果是一级菜单,不做任何动作 + if (e.Node.Parent == null) return; + new Thread(() => + { + Thread.Sleep(200); + Invoke(new Action(() => + { + switch (e.Node.Name) + { + //case "备货管理": + // SetForm(saleStockUpForm.Value); + // break; + //case "调价管理": + // SetForm(priceManageForm.Value); + // break; + //case "活动报名": + // SetForm(marketingActivityForm.Value); + // break; + //case "设置进货价": + // SetForm(purchasePriceForm.Value); + // break; + case "商品认领": + SetForm(userSelectDbProductForm.Value); + break; + //case "库存上传": + // SetForm(userSelectThirdProductForm.Value); + // break; + } + })); + }).Start(); + } + + public void SetTvSelect(string name) + { + var n = tv.Nodes[0].Nodes.Find(name, true); + if (n.Count() > 0) + tv.SelectedNode = n[0]; + } + + /// + /// 显示隐藏层 + /// + /// + private void SetForm(Form f) + { + if (f == null) + { + foreach (Control form in panel3.Controls) + { + form.Visible = false; + if (form is Form) + { + panel3.Controls.Remove(form); + } + } + return; + } + + bool had = false; + string sCurrentFormName = f.Name; + for (int i = 0; i < panel3.Controls.Count; i++) + { + if (sCurrentFormName == panel3.Controls[i].Name) + { + had = true; + panel3.Controls[i].Visible = true; + } + else + { + panel3.Controls[i].Visible = false; + } + } + if (had) + { + f = null; + return; + } + f.TopLevel = false; + f.Left = 0; + f.Top = 0; + f.FormBorderStyle = FormBorderStyle.None; + panel3.Controls.Add(f); + f.AutoSize = true; + f.Dock = DockStyle.Fill; + f.Show(); + } + + private void ShopForm_Load(object sender, EventArgs e) + { + try + { + tv.SelectedNode = tv.Nodes[0].Nodes[0]; + tv.ExpandGroup(tv.Nodes[0].Name); + + //List hideName = new List() { "特殊延迟发货", /*"清理无流量"*/ }; + //if (AllBase.BaseClass.UserName != "18888888888") + // hideName.Add("上传错误列表"); + + List hideName = new List() { "佣金设置", "商品发布", + "净化数据","产品数据库","商品上下架","清理无流量","库存管理","特殊延迟发货","云违规排查","上传错误列表","跳转上家" }; + //if (AllBase.BaseClass.UserName != "15266666666" && AllBase.BaseClass.UserName != "15266666660") + //{ + // hideName.Add("商品认领"); + //} + + foreach (var item in hideName) + { + var n = tv.Nodes[0].Nodes.Find(item, true); + if (n.Count() > 0) + n[0].Remove(); + } + } + catch { } + } + } +} diff --git a/TEMUKJD/PDDForms/ProductForms/PDDProductForm.resx b/TEMUKJD/PDDForms/ProductForms/PDDProductForm.resx new file mode 100644 index 0000000..1af7de1 --- /dev/null +++ b/TEMUKJD/PDDForms/ProductForms/PDDProductForm.resx @@ -0,0 +1,120 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditNotesForm.Designer.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditNotesForm.Designer.cs new file mode 100644 index 0000000..c9b71cf --- /dev/null +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditNotesForm.Designer.cs @@ -0,0 +1,322 @@ +namespace TemuKJD.PDDForms.ProductSelectForms +{ + partial class PDDDBProdEditNotesForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PDDDBProdEditNotesForm)); + this.panel2 = new System.Windows.Forms.Panel(); + this.label7 = new System.Windows.Forms.Label(); + this.txtFissionWords = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.txtEndWords = new System.Windows.Forms.TextBox(); + this.label6 = new System.Windows.Forms.Label(); + this.txtHeadWords = new System.Windows.Forms.TextBox(); + this.label5 = new System.Windows.Forms.Label(); + this.txtProductName = new System.Windows.Forms.TextBox(); + this.txtSkcId = new System.Windows.Forms.TextBox(); + this.txtSpuId = new System.Windows.Forms.TextBox(); + this.txtExtCode = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.label8 = new System.Windows.Forms.Label(); + this.txtNotes = new DevComponents.DotNetBar.Controls.TextBoxX(); + this.btnOk = new TemuKJD.UserControls.ButtonEx(); + this.panel2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.SuspendLayout(); + // + // panel2 + // + this.panel2.BackColor = System.Drawing.Color.White; + this.panel2.Controls.Add(this.label7); + this.panel2.Controls.Add(this.txtFissionWords); + this.panel2.Controls.Add(this.txtEndWords); + this.panel2.Controls.Add(this.label6); + this.panel2.Controls.Add(this.txtHeadWords); + this.panel2.Controls.Add(this.label5); + this.panel2.Controls.Add(this.txtProductName); + this.panel2.Controls.Add(this.txtSkcId); + this.panel2.Controls.Add(this.txtSpuId); + this.panel2.Controls.Add(this.txtExtCode); + this.panel2.Controls.Add(this.label4); + this.panel2.Controls.Add(this.label3); + this.panel2.Controls.Add(this.label2); + this.panel2.Controls.Add(this.label1); + this.panel2.Controls.Add(this.pictureBox1); + this.panel2.Controls.Add(this.label8); + this.panel2.Controls.Add(this.txtNotes); + this.panel2.Controls.Add(this.btnOk); + this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel2.Location = new System.Drawing.Point(1, 33); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(464, 686); + this.panel2.TabIndex = 1; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(31, 391); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(56, 17); + this.label7.TabIndex = 403; + this.label7.Text = "裂变分词"; + // + // txtFissionWords + // + this.txtFissionWords.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + // + // + // + this.txtFissionWords.Border.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.txtFissionWords.Border.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.txtFissionWords.Border.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.txtFissionWords.Border.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.txtFissionWords.Border.Class = "CrumbBarBackgroundKey"; + this.txtFissionWords.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.txtFissionWords.Border.PaddingBottom = 2; + this.txtFissionWords.Border.PaddingLeft = 2; + this.txtFissionWords.Border.PaddingRight = 2; + this.txtFissionWords.Border.PaddingTop = 2; + this.txtFissionWords.Location = new System.Drawing.Point(90, 391); + this.txtFissionWords.Multiline = true; + this.txtFissionWords.Name = "txtFissionWords"; + this.txtFissionWords.Size = new System.Drawing.Size(337, 238); + this.txtFissionWords.TabIndex = 402; + this.txtFissionWords.WatermarkText = "一行一个"; + // + // txtEndWords + // + this.txtEndWords.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtEndWords.Location = new System.Drawing.Point(291, 353); + this.txtEndWords.Name = "txtEndWords"; + this.txtEndWords.Size = new System.Drawing.Size(136, 23); + this.txtEndWords.TabIndex = 401; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(233, 356); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(56, 17); + this.label6.TabIndex = 400; + this.label6.Text = "标题后缀"; + // + // txtHeadWords + // + this.txtHeadWords.Location = new System.Drawing.Point(90, 353); + this.txtHeadWords.Name = "txtHeadWords"; + this.txtHeadWords.Size = new System.Drawing.Size(136, 23); + this.txtHeadWords.TabIndex = 399; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(31, 356); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(56, 17); + this.label5.TabIndex = 398; + this.label5.Text = "标题前缀"; + // + // txtProductName + // + this.txtProductName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtProductName.Location = new System.Drawing.Point(90, 205); + this.txtProductName.Multiline = true; + this.txtProductName.Name = "txtProductName"; + this.txtProductName.Size = new System.Drawing.Size(337, 46); + this.txtProductName.TabIndex = 397; + // + // txtSkcId + // + this.txtSkcId.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtSkcId.Location = new System.Drawing.Point(291, 171); + this.txtSkcId.Name = "txtSkcId"; + this.txtSkcId.ReadOnly = true; + this.txtSkcId.Size = new System.Drawing.Size(136, 23); + this.txtSkcId.TabIndex = 396; + // + // txtSpuId + // + this.txtSpuId.Location = new System.Drawing.Point(90, 171); + this.txtSpuId.Name = "txtSpuId"; + this.txtSpuId.ReadOnly = true; + this.txtSpuId.Size = new System.Drawing.Size(136, 23); + this.txtSpuId.TabIndex = 395; + // + // txtExtCode + // + this.txtExtCode.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtExtCode.Location = new System.Drawing.Point(90, 262); + this.txtExtCode.Name = "txtExtCode"; + this.txtExtCode.Size = new System.Drawing.Size(337, 23); + this.txtExtCode.TabIndex = 394; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(31, 265); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(56, 17); + this.label4.TabIndex = 393; + this.label4.Text = "商品货号"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(31, 209); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(56, 17); + this.label3.TabIndex = 392; + this.label3.Text = "商品标题"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(233, 174); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(56, 17); + this.label2.TabIndex = 391; + this.label2.Text = " SKC ID"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(31, 174); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(56, 17); + this.label1.TabIndex = 390; + this.label1.Text = " SPU ID"; + // + // pictureBox1 + // + this.pictureBox1.Anchor = System.Windows.Forms.AnchorStyles.Top; + this.pictureBox1.Location = new System.Drawing.Point(165, 18); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(136, 136); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBox1.TabIndex = 389; + this.pictureBox1.TabStop = false; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(31, 296); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(56, 17); + this.label8.TabIndex = 386; + this.label8.Text = " 备注"; + // + // txtNotes + // + this.txtNotes.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + // + // + // + this.txtNotes.Border.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.txtNotes.Border.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.txtNotes.Border.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.txtNotes.Border.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid; + this.txtNotes.Border.Class = "CrumbBarBackgroundKey"; + this.txtNotes.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square; + this.txtNotes.Border.PaddingBottom = 2; + this.txtNotes.Border.PaddingLeft = 2; + this.txtNotes.Border.PaddingRight = 2; + this.txtNotes.Border.PaddingTop = 2; + this.txtNotes.Location = new System.Drawing.Point(90, 296); + this.txtNotes.Multiline = true; + this.txtNotes.Name = "txtNotes"; + this.txtNotes.Size = new System.Drawing.Size(337, 47); + this.txtNotes.TabIndex = 385; + // + // btnOk + // + this.btnOk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnOk.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnOk.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnOk.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnOk.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnOk.ForeColor = System.Drawing.Color.White; + this.btnOk.Location = new System.Drawing.Point(372, 640); + this.btnOk.Margin = new System.Windows.Forms.Padding(2); + this.btnOk.Name = "btnOk"; + this.btnOk.Size = new System.Drawing.Size(55, 26); + this.btnOk.TabIndex = 372; + this.btnOk.Text = "提交"; + this.btnOk.UseVisualStyleBackColor = false; + this.btnOk.Click += new System.EventHandler(this.btnOk_Click); + // + // DbProductEditNotesForm + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.ClientSize = new System.Drawing.Size(466, 720); + this.Controls.Add(this.panel2); + 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.Name = "DbProductEditNotesForm"; + this.Text = "编辑商品备注/货号"; + this.TitleText = "编辑商品备注/货号"; + this.Load += new System.EventHandler(this.ProductSelectListForm_Load); + this.Controls.SetChildIndex(this.panel2, 0); + this.panel2.ResumeLayout(false); + this.panel2.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel panel2; + private UserControls.ButtonEx btnOk; + private System.Windows.Forms.Label label8; + private DevComponents.DotNetBar.Controls.TextBoxX txtNotes; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.TextBox txtExtCode; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.TextBox txtSpuId; + private System.Windows.Forms.TextBox txtSkcId; + private System.Windows.Forms.TextBox txtProductName; + private System.Windows.Forms.Label label7; + private DevComponents.DotNetBar.Controls.TextBoxX txtFissionWords; + private System.Windows.Forms.TextBox txtEndWords; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.TextBox txtHeadWords; + private System.Windows.Forms.Label label5; + } +} \ No newline at end of file diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditNotesForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditNotesForm.cs new file mode 100644 index 0000000..d71a1f8 --- /dev/null +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditNotesForm.cs @@ -0,0 +1,77 @@ +using AllBase.Helper; +using AllBase.Model.Result; +using TemuKJD.BaseForms; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using AllBase; +using Work; + +namespace TemuKJD.PDDForms.ProductSelectForms +{ + public partial class PDDDBProdEditNotesForm : LRBaseForm + { + TemuDBProduct dbProd = null; + + public PDDDBProdEditNotesForm(TemuDBProduct prod) + { + InitializeComponent(); + + dbProd = prod; + } + + private void ProductSelectListForm_Load(object sender, EventArgs e) + { + if (dbProd != null) + { + txtProductName.Text = dbProd.product_name; + txtSkcId.Text = dbProd.skc_id; + txtSpuId.Text = dbProd.spu_id; + this.pictureBox1.ImageLocation = dbProd.main_img.Replace("https", "http"); + this.txtNotes.Text = dbProd.notes; + this.txtExtCode.Text = dbProd.ext_code; + this.txtFissionWords.Text = dbProd.fission_words; + this.txtHeadWords.Text = string.IsNullOrWhiteSpace(dbProd.head_words) ? "5-99个" : dbProd.head_words; + this.txtEndWords.Text = string.IsNullOrWhiteSpace(dbProd.end_words) ? "适合不同的搭配风格" : dbProd.end_words; + } + } + + private void btnOk_Click(object sender, EventArgs e) + { + //var url = BaseClass.BuildObjString("product/mdy_product_notes"); + var url = BaseClass.BuildObjString("product/mdy_db_product"); + var data = UserLogin.GetSignaturex() + + "&db_id=" + dbProd.id + "¬es=" + this.txtNotes.Text.Trim(); + data += "&product_name=" + this.txtProductName.Text.Trim(); + data += "&ext_code=" + this.txtExtCode.Text.Trim(); + data += "&fission_words=" + this.txtFissionWords.Text.Trim(); + data += "&head_words=" + this.txtHeadWords.Text.Trim(); + data += "&end_words=" + this.txtEndWords.Text.Trim(); + 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")) + { + BaseMsgForm.ShowError("商品备注编辑失败,请重试!" + BaseRegex.GetStringJson(ref html, "msg")); + } + else + { + dbProd.notes = this.txtNotes.Text.Trim(); + dbProd.ext_code = this.txtExtCode.Text.Trim(); + dbProd.head_words = this.txtHeadWords.Text.Trim(); + dbProd.end_words = this.txtEndWords.Text.Trim(); + dbProd.fission_words = this.txtFissionWords.Text.Trim(); + dbProd.product_name = this.txtProductName.Text.Trim(); + this.Close(); + } + } + } +} diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditNotesForm.resx b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditNotesForm.resx new file mode 100644 index 0000000..c963c3c --- /dev/null +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditNotesForm.resx @@ -0,0 +1,298 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAEAgIAQYAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAABEZmbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZmZkQAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAZszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMxmAAAAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMxkAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzGQAAAAAAAAAAAAAAAAAAAbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMYAAAAAAAAAAAAAAAAARszMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAABszMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAAAAbMzMzMzMzMzMzMzMzM + zMzMzMzMzMx3d4iIiIiIiIh3fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAABszMzMzMzMzMzM + zMzMzMzMzMzHeIiIiIj/////////iIiIiId8zMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAGzMzMzMzM + zMzMzMzMzMzMzMeIiI/////////////////////4iIh8zMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAATMzM + zMzMzMzMzMzMzMzMzHiI////////////////////////////iIfMzMzMzMzMzMzMzMzMzMzMxAAAAAAA + AGzMzMzMzMzMzMzMzMzMx3iP///////////////////////////////4iHzMzMzMzMzMzMzMzMzMzMYA + AAAAAAbMzMzMzMzMzMzMzMzMx3iP//////////////////////////////////+IfMzMzMzMzMzMzMzM + zMzMYAAAAABMzMzMzMzMzMzMzMzMx3iP/////////////////////////////////////4h8zMzMzMzM + zMzMzMzMzMQAAAAAbMzMzMzMzMzMzMzMzHiP////////////////////////////////////////h3zM + zMzMzMzMzMzMzMzGAAAABMzMzMzMzMzMzMzMzHiP//////////////////////////////////////// + //iHzMzMzMzMzMzMzMzMzEAAAAbMzMzMzMzMzMzMzMeI//////////////////////////////////// + ////////+IfMzMzMzMzMzMzMzMxgAABMzMzMzMzMzMzMzMx4//////////////////////////////// + //////////////+IfMzMzMzMzMzMzMzMxAAAbMzMzMzMzMzMzMzHj/////////////////////////// + /////////////////////4fMzMzMzMzMzMzMzMYAAMzMzMzMzMzMzMzMeP////////////////////// + ///////////////////////////4fMzMzMzMzMzMzMzMAAbMzMzMzMzMzMzMx4////////////////// + /////////////////////////////////4fMzMzMzMzMzMzMzGAGzMzMzMzMzMzMzHj///////////// + ///////////////////////////////////////4fMzMzMzMzMzMzMxgDMzMzMzMzMzMzMyI//////// + /////////////////////////////////////////////4zMzMzMzMzMzMzMwEzMzMzMzMzMzMzHj/// + //////////////////////////////////////////////////+HzMzMzMzMzMzMzMRszMzMzMzMzMzM + eP//////////////////////////////////////////////////////+HzMzMzMzMzMzMzGbMzMzMzM + zMzMzHj///////////////////////////////////////////////////////+MzMzMzMzMzMzMxmzM + zMzMzMzMzMyP////+IiP////////////////////////////////////////+I//////h8zMzMzMzMzM + zMZszMzMzMzMzMzHj////4iIiI//////////////////////////////////////+IiIj/////jMzMzM + zMzMzMzGbMzMzMzMzMzMyP////iIiIiI/////////////////////////////////////4iIiIj////4 + fMzMzMzMzMzMxszMzMzMzMzMzHj////4iIiIiP////////////////////////////////////+IiIiI + j////4zMzMzMzMzMzMbMzMzMzMzMzMx4////iIiIiIj////////////////////////////////////4 + iIiIiI////+HzMzMzMzMzMzMzMzMzMzMzMzMj////4iIiIiI//////////////+IiP//iI////////// + ////+IiIiIiP////h8zMzMzMzMzMzMzMzMzMzMzMzI/////4iIiIiP/////////////4d3eIiIeIj/// + //////////+IiIiIj/////jMzMzMzMzMzMzMzMzMzMzMzMyP////+IiIiIj/////////////iIiId3eI + iI//////////////iIiIiI/////4zMzMzMzMzMzMzMzMzMzMzMzHj/////+IiIiP/////////////4// + /4d4j/+P//////////////iIiIj/////+MzMzMzMzMzMzMzMzMzMzMzMx4//////+IiP//////////// + ///////4j///////////////////iIiP//////jMzMzMzMzMzMzMzMzMzMzMzMeP//////////+IiIj/ + ///////////////////////////////////////////4fMzMzMzMzMzMzMzMzMzMzMzH//////////+H + fMx8eP//////////////////////////iId3iP//////////+HzMzMzMzMzMzMzMzMzMzMzMyP////// + ///4fMzHh8eP////////////////////////+MzMzMd4//////////h8zMzMzMzMzMzMzMzMzMzMzMf/ + ////////+MzMePjMeP///////////////////////4zMzMeHx4/////////4fMzMzMzMzMzMzMzMzMzM + zMzH/////////4fMd3eHzMeP//////////////////////iMzMzIiHx4////////+HzMzMzMzMzMzMzM + zMzMzMzMx/////////+Hx4iIfMzMj//////////////////////4h3d8x4h8yP////////jMzMzMzMzM + zMzMzMzMzMzMzMeP////////+HiP+IfMzI//////////////////////+HiIiHd3zHj////////4zMzM + zMzMzMzMzMzMzMzMzMzHj/////////h4//+HzMeP//////////////////////h4//h8zMyP//////// + +MzMzMzMzMzMzMzMzMzMzMzMzI/////////4iP//h8x4///////////////////////4j//4fMzHj/// + //////jMzMzMzMzMzMzMzMzMzMzMzMyP///////4iIiP+IfHj///////////////////////+Ij/+HzM + eP/////////4zMzMzMzMzMzMzMzMzMzMzMzMj///////iIiIiIh3eP////////////////////////+I + j4h8x3iI////////h8zMzMzMzMzMzMzMzMzMzMzMzH//////+Hj///iIiI////////////////////// + /////4iId4iIiIj//////4zMzMzMzMzMzMzMzMzMzMzMzMx4//////iP////iP////////////////// + /////////////4iP//iI//////+MzMzMzMzMzMzMzMzMzMzMzMzMyP//////////+I////////////// + ///////////////////4eP//iP//////jMzMzMzMzMzMzMzMzMzMzMzMzMj///////////iP//////// + /////////////////////////4j/////////+HzMzMzMzMzMzMzMzMzMzMzMzMzHj/////////////// + //////////////////////////////+I//////////jMzMzMzMzMzMzMzMzMzMzMzMzMzI////////// + //////////////////////////////////////////////+HzMzMzMzMzMzMzMzMzMzMzMzMzMyP//// + ////////////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzM + eP///////////////////////////////////////////////////////4zMzMzMzMzMzMzMzMzMzMzM + zMzMzMj///////////////////////////////////////////////////////h8zMzMzMzMzMzMzMzM + zMzMzMzMzMzHj//////////////////////////////////////////////////////4zMzMzMzMzMzM + zMzMzMzMzMzMzMzMzI//////////////////////////////////////////////////////h8zMzMzM + zMzMzMzMzMzMzMzMzMzMzMx4////////////////////////////////////////////////////+HzM + zMzMzMzMzMzMzMzMzMzMzMzMzMzMyI////+I//////////////////////////////////////////// + //h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////+Ij///////////////////////////////////// + //////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////+IiIiIj//////////////////////////4 + ////iI/////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMiP/////4iIiP////////////////////// + ////+IiIiIj/////iHzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP////////////////////////// + ///////////4iIj//////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP//////////////////// + //////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP////////////// + //////////////////////////////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHj///////// + ///////////////////////////////////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP//// + ////////////////////////////////////////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzI + j/////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMeP//////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMx4////////+I//////////////////////////////////////jMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMeP///////4iIj///////////////////////////iP///////4fMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMx4////////iIiIiP///////////////////////4iIiP///////4zMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiI////////////////////+IiIiIj///////+HzMzM + zMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIj////////////////////4iIiIiIj/////// + +MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiI////////////////////+IiIiIiI// + //////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIiP////////////////////iIiI + iIiI///////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiIj/////iIiIiIiIj///// + /4iIiIiIiP///////4zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIiI/////4zMzMzMzM + j/////+IiIiIiIiP//////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP//////+IiIiIiIj/////+MzM + zMzMzI//////+IiIiIiIj///////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzI////////iIiIiIiI//// + //jMzMzMzMyP//////iIiIiIiIj///////jMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP///////4iIiIiI + iP/////4zMzMzMzMj//////4iIiIiIiI///////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzI////////iI + iIiIiI//////+MzMzMzMzI//////+IiIiIiIiP///////4zMzMzMzMzMzMzMzMzMzMzMzMzMzMyP//// + ///4iIiIiIiP//////fMzMzMzMyP//////+IiIiIiIj///////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzH + j///////+IiIiIiI//////+HzMzMzMzMeP//////iIiIiIiIj///////jMzMzMzMzMzMzMzMzMzMzMzM + zMzMyP////////iIiIiIiP//////jMzMzMzMzHj///////iIiIiIiI///////4fMzMzMzMzMzMzMzMzM + zMzMzMzMzMj///////+IiIiIiI///////4zMzMzMzMzI///////4iIiIiIiI///////3zMzMzMzMzMzM + zMzMzMzMzMzMzMzI////////iIiIiIiP//////+MzMzMzMzMyP//////+IiIiIiIiP//////+MzMzMzM + zMzMzMzMzMzMzMzMzMzMeP///////4iIiIiIj///////jMzMzMzMzMj///////+IiIiIiIj///////jM + zMzMzMzMzMzMzMzMzMzMzMzMzI////////+IiIiIiP//////+HzMzMzMzMzHj///////iIiIiIiI//// + ///4zMzMzMzMzMzMzMzMzMzMzMzMzMyP////////iIiIiI////////jMzMzMzMzMzI///////4iIiIiI + iI//////+MzMzMzMzMzMzMzMzMzMzMzMzMzMj////////4iIiIiP///////4zMzMzMzMzMyP///////4 + iIiIiIiP//////jMzMzMzMzMzMzMzMzMzMzMzMzMzI////////+IiIiI////////h8zMzMzMzMzMeP// + /////4iIiIiIj//////4fMzMzMzMzMzMzMzMzMzMzMzMzMyP////////iIiIj////////4fMzMzMzMzM + zHj///////+IiIiIiI//////+HzMzMzMzMzMzMzMzMzMzMzMzMzHj/////////iIiP////////+MzMzM + zMzMzMzI////////+IiIiIiP//////h8zMzMzMzMzMzMxmzMzMzMzMzMx4/////////4iP/////////4 + fMzMzMzMzMzMx4////////+IiIiIj//////4fMzMzMzMzMzMzMZszMzMzMzMzMeP//////////////// + ////+MzMzMzMzMzMzMyP////////iIiIiP//////+HzMzMzMzMzMzMzGbMzMzMzMzMzH//////////// + //////////fMzMzMzMzMzMzMeP////////iIiIj///////98zMzMzMzMzMzMxmzMzMzMzMzMyP////// + //////////////+HzMzMzMzMzMzMzHj/////////+IiP////////jMzMzMzMzMzMzMZszMzMzMzMzMj/ + ////////////////////jMzMzMzMzMzMzMzIj////////////////////4zMzMzMzMzMzMzGTMzMzMzM + zMzH////////////////////+HzMzMzMzMzMzMzMx4////////////////////+MzMzMzMzMzMzMxAzM + zMzMzMzMx/////////////////////jMzMzMzMzMzMzMzMyI///////////////////4fMzMzMzMzMzM + zMAGzMzMzMzMzMeP//////////////////+HzMzMzMzMzMzMzMzMeP//////////////////+HzMzMzM + zMzMzMxgBszMzMzMzMzHj//////////////////4fMzMzMzMzMzMzMzMzMeP//////////////////h8 + zMzMzMzMzMzMYADMzMzMzMzMzI//////////////////+HzMzMzMzMzMzMzMzMzHj/////////////// + ///4zMzMzMzMzMzMzAAAbMzMzMzMzMyP/////////////////4fMzMzMzMzMzMzMzMzMzHj///////// + ////////+MzMzMzMzMzMzMYAAEzMzMzMzMzMj/////////////////+MzMzMzMzMzMzMzMzMzMzIj/// + /////////////4fMzMzMzMzMzMzEAAAGzMzMzMzMzHj////////////////4fMzMzMzMzMzMzMzMzMzM + x4////////////////+MzMzMzMzMzMzMYAAABMzMzMzMzMx4////////////////h8zMzMzMzMzMzMzM + zMzMzMx4///////////////4fMzMzMzMzMzMzEAAAABszMzMzMzMx4//////////////+HzMzMzMzMzM + zMzMzMzMzMzMx4//////////////+MzMzMzMzMzMzMYAAAAATMzMzMzMzMyP/////////////4fMzMzM + zMzMzMzMzMzMzMzMzMeI/////////////4fMzMzMzMzMzMzEAAAAAAbMzMzMzMzMeP////////////h8 + zMzMzMzMzMzMzMzMzMzMzMzMeI////////////h8zMzMzMzMzMzMYAAAAAAAbMzMzMzMzMeP//////// + //iHzMzMzMzMzMzMzMzMzMzMzMzMzMyI//////////+HzMzMzMzMzMzMxgAAAAAAAEzMzMzMzMzMeP// + //////iHfMzMzMzMzMzMzMzMzMzMzMzMzMzMx4/////////4fMzMzMzMzMzMzMQAAAAAAAAGzMzMzMzM + zMeI//////iHfMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4j//////4h8zMzMzMzMzMzMxgAAAAAAAAAGzM + zMzMzMzMx4iIiIiHzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiIj/+Ih3zMzMzMzMzMzMzGAAAAAAAA + AAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx3iId8zMzMzMzMzMzMzMYAAA + AAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + xgAAAAAAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzGAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzGQAAAAAAAAAAAAAAAAAbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMYAAAAAAAAAAAAAAAAAAARszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAABGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAAAABmzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzMzMzMzGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARGZmzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZmZEAAAAAAAAAAAAAAAAD////+AAAAAAAAAAD/////////AAAA + AAAAAAAAAP//////+AAAAAAAAAAAAAAf/////+AAAAAAAAAAAAAAB/////+AAAAAAAAAAAAAAAH////+ + AAAAAAAAAAAAAAAAf////AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAAP///gAAAAAAAAAAAAAAAA + B///wAAAAAAAAAAAAAAAAAP//4AAAAAAAAAAAAAAAAAB//8AAAAAAAAAAAAAAAAAAP/+AAAAAAAAAAAA + AAAAAAB//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAAAAAAAAAf+AAAAAAA + AAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAB+AA + AAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAA + AAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABAAAAAAAA + AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAADwAAAAAAA + AAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AA + AAAAAAAAAAAAAAAAAA/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAA + AD/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAP//gAAAAAAAAAAA + AAAAAAH//8AAAAAAAAAAAAAAAAAD///gAAAAAAAAAAAAAAAAB///8AAAAAAAAAAAAAAAAA////wAAAAA + AAAAAAAAAAA////+AAAAAAAAAAAAAAAAf////4AAAAAAAAAAAAAAAf/////gAAAAAAAAAAAAAAf///// + +AAAAAAAAAAAAAAf//////8AAAAAAAAAAAAA/////////gAAAAAAAAAAf////w== + + + \ No newline at end of file diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.Designer.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.Designer.cs new file mode 100644 index 0000000..cc5b666 --- /dev/null +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.Designer.cs @@ -0,0 +1,628 @@ + +namespace TemuKJD.PDDForms.ProductSelectForms +{ + partial class PDDDBProdListForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PDDDBProdListForm)); + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.cmbSort = new System.Windows.Forms.ComboBox(); + this.btnSelect = new TemuKJD.UserControls.ButtonEx(); + this.txtNotes = new System.Windows.Forms.TextBox(); + this.lblNotes = new System.Windows.Forms.Label(); + this.txtSPU = new System.Windows.Forms.TextBox(); + this.label5 = new System.Windows.Forms.Label(); + this.txtSKC = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.pnlEmpty = new DevComponents.DotNetBar.PanelEx(); + this.btnSearch = new TemuKJD.UserControls.ButtonEx(); + this.txtExtCode = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.txtProdName = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.txtCat = new System.Windows.Forms.TextBox(); + this.label2 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.splitContainer2 = new System.Windows.Forms.SplitContainer(); + this.pbLoading = new System.Windows.Forms.PictureBox(); + 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.col_db_id = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.col_product_name = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colImgUrl = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colMainImg = new System.Windows.Forms.DataGridViewImageColumn(); + this.col_spu_id = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.col_skc_id = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.col_cat_name = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.col_ext_code = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colAddTimes = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSelectTotalCount = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.col_notes = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colHeadWords = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colEndWords = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colFissionWords = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colAddTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.col_edit = new System.Windows.Forms.DataGridViewLinkColumn(); + this.col_delete = new System.Windows.Forms.DataGridViewLinkColumn(); + this.col_select_product = new System.Windows.Forms.DataGridViewLinkColumn(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); + this.splitContainer1.Panel1.SuspendLayout(); + this.splitContainer1.Panel2.SuspendLayout(); + this.splitContainer1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit(); + this.splitContainer2.Panel1.SuspendLayout(); + this.splitContainer2.Panel2.SuspendLayout(); + this.splitContainer2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvDbProduct)).BeginInit(); + this.SuspendLayout(); + // + // splitContainer1 + // + this.splitContainer1.BackColor = System.Drawing.Color.White; + this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; + this.splitContainer1.Location = new System.Drawing.Point(1, 33); + this.splitContainer1.Name = "splitContainer1"; + this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer1.Panel1 + // + this.splitContainer1.Panel1.Controls.Add(this.cmbSort); + this.splitContainer1.Panel1.Controls.Add(this.btnSelect); + this.splitContainer1.Panel1.Controls.Add(this.txtNotes); + this.splitContainer1.Panel1.Controls.Add(this.lblNotes); + this.splitContainer1.Panel1.Controls.Add(this.txtSPU); + this.splitContainer1.Panel1.Controls.Add(this.label5); + this.splitContainer1.Panel1.Controls.Add(this.txtSKC); + this.splitContainer1.Panel1.Controls.Add(this.label1); + this.splitContainer1.Panel1.Controls.Add(this.pnlEmpty); + this.splitContainer1.Panel1.Controls.Add(this.btnSearch); + this.splitContainer1.Panel1.Controls.Add(this.txtExtCode); + this.splitContainer1.Panel1.Controls.Add(this.label4); + this.splitContainer1.Panel1.Controls.Add(this.txtProdName); + this.splitContainer1.Panel1.Controls.Add(this.label3); + this.splitContainer1.Panel1.Controls.Add(this.txtCat); + this.splitContainer1.Panel1.Controls.Add(this.label2); + this.splitContainer1.Panel1.Controls.Add(this.label6); + // + // splitContainer1.Panel2 + // + this.splitContainer1.Panel2.Controls.Add(this.splitContainer2); + this.splitContainer1.Size = new System.Drawing.Size(1278, 686); + this.splitContainer1.SplitterDistance = 53; + this.splitContainer1.TabIndex = 1; + // + // cmbSort + // + this.cmbSort.FormattingEnabled = true; + this.cmbSort.Items.AddRange(new object[] { + "入库时间", + "认领总数"}); + this.cmbSort.Location = new System.Drawing.Point(1001, 15); + this.cmbSort.Name = "cmbSort"; + this.cmbSort.Size = new System.Drawing.Size(79, 25); + this.cmbSort.TabIndex = 448; + this.cmbSort.Text = "入库时间"; + // + // btnSelect + // + this.btnSelect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnSelect.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSelect.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSelect.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSelect.ForeColor = System.Drawing.Color.White; + this.btnSelect.Location = new System.Drawing.Point(1171, 14); + this.btnSelect.Margin = new System.Windows.Forms.Padding(2); + this.btnSelect.Name = "btnSelect"; + this.btnSelect.Size = new System.Drawing.Size(91, 26); + this.btnSelect.TabIndex = 444; + this.btnSelect.Text = "认领选中商品"; + this.btnSelect.UseVisualStyleBackColor = false; + this.btnSelect.Visible = false; + this.btnSelect.Click += new System.EventHandler(this.btnSelect_Click); + // + // txtNotes + // + this.txtNotes.Location = new System.Drawing.Point(683, 16); + this.txtNotes.Name = "txtNotes"; + this.txtNotes.Size = new System.Drawing.Size(90, 23); + this.txtNotes.TabIndex = 439; + // + // lblNotes + // + this.lblNotes.AutoSize = true; + this.lblNotes.Location = new System.Drawing.Point(649, 19); + this.lblNotes.Name = "lblNotes"; + this.lblNotes.Size = new System.Drawing.Size(44, 17); + this.lblNotes.TabIndex = 440; + this.lblNotes.Text = "备注:"; + // + // txtSPU + // + this.txtSPU.Location = new System.Drawing.Point(44, 16); + this.txtSPU.Name = "txtSPU"; + this.txtSPU.Size = new System.Drawing.Size(90, 23); + this.txtSPU.TabIndex = 434; + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(11, 19); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(43, 17); + this.label5.TabIndex = 435; + this.label5.Text = "SPU:"; + // + // txtSKC + // + this.txtSKC.Location = new System.Drawing.Point(171, 16); + this.txtSKC.Name = "txtSKC"; + this.txtSKC.Size = new System.Drawing.Size(90, 23); + this.txtSKC.TabIndex = 432; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(138, 19); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(43, 17); + this.label1.TabIndex = 433; + this.label1.Text = "SKC:"; + // + // pnlEmpty + // + 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(843, 14); + this.pnlEmpty.Name = "pnlEmpty"; + this.pnlEmpty.Size = new System.Drawing.Size(56, 26); + this.pnlEmpty.Style.Alignment = System.Drawing.StringAlignment.Center; + this.pnlEmpty.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.pnlEmpty.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.pnlEmpty.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.pnlEmpty.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.pnlEmpty.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.pnlEmpty.Style.GradientAngle = 90; + this.pnlEmpty.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.pnlEmpty.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.pnlEmpty.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.pnlEmpty.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.pnlEmpty.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.pnlEmpty.TabIndex = 431; + this.pnlEmpty.Text = "清空条件"; + this.pnlEmpty.Click += new System.EventHandler(this.pnlEmpty_Click); + // + // btnSearch + // + this.btnSearch.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSearch.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSearch.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSearch.ForeColor = System.Drawing.Color.White; + this.btnSearch.Location = new System.Drawing.Point(782, 14); + this.btnSearch.Margin = new System.Windows.Forms.Padding(2); + this.btnSearch.Name = "btnSearch"; + this.btnSearch.Size = new System.Drawing.Size(56, 26); + this.btnSearch.TabIndex = 424; + this.btnSearch.Text = "搜索"; + this.btnSearch.UseVisualStyleBackColor = false; + this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click); + // + // txtExtCode + // + this.txtExtCode.Location = new System.Drawing.Point(555, 16); + this.txtExtCode.Name = "txtExtCode"; + this.txtExtCode.Size = new System.Drawing.Size(90, 23); + this.txtExtCode.TabIndex = 429; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(521, 19); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(44, 17); + this.label4.TabIndex = 430; + this.label4.Text = "货号:"; + // + // txtProdName + // + this.txtProdName.Location = new System.Drawing.Point(427, 16); + this.txtProdName.Name = "txtProdName"; + this.txtProdName.Size = new System.Drawing.Size(90, 23); + this.txtProdName.TabIndex = 427; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(393, 19); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(44, 17); + this.label3.TabIndex = 428; + this.label3.Text = "标题:"; + // + // txtCat + // + this.txtCat.Location = new System.Drawing.Point(299, 16); + this.txtCat.Name = "txtCat"; + this.txtCat.Size = new System.Drawing.Size(90, 23); + this.txtCat.TabIndex = 425; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(265, 19); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(44, 17); + this.label2.TabIndex = 426; + this.label2.Text = "类目:"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(944, 19); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(68, 17); + this.label6.TabIndex = 449; + this.label6.Text = "排序方式:"; + // + // splitContainer2 + // + this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel2; + this.splitContainer2.Location = new System.Drawing.Point(0, 0); + this.splitContainer2.Name = "splitContainer2"; + this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer2.Panel1 + // + this.splitContainer2.Panel1.Controls.Add(this.pbLoading); + this.splitContainer2.Panel1.Controls.Add(this.dgvDbProduct); + this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 4, 0); + // + // splitContainer2.Panel2 + // + this.splitContainer2.Panel2.Controls.Add(this.ucSplitPage1); + this.splitContainer2.Panel2.Controls.Add(this.statusBar); + this.splitContainer2.Size = new System.Drawing.Size(1278, 629); + this.splitContainer2.SplitterDistance = 600; + this.splitContainer2.TabIndex = 0; + // + // pbLoading + // + this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None; + this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue; + this.pbLoading.Location = new System.Drawing.Point(614, 275); + this.pbLoading.Name = "pbLoading"; + this.pbLoading.Size = new System.Drawing.Size(50, 50); + this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pbLoading.TabIndex = 7; + this.pbLoading.TabStop = false; + // + // dgvDbProduct + // + this.dgvDbProduct.AllowUserToAddRows = false; + this.dgvDbProduct.AllowUserToDeleteRows = false; + dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvDbProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; + 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))))); + dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dgvDbProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; + this.dgvDbProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgvDbProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.colSelect, + this.col_db_id, + this.col_product_name, + this.colImgUrl, + this.colMainImg, + this.col_spu_id, + this.col_skc_id, + this.col_cat_name, + this.col_ext_code, + this.colAddTimes, + this.colSelectTotalCount, + this.col_notes, + this.colHeadWords, + this.colEndWords, + this.colFissionWords, + this.colAddTime, + this.col_edit, + this.col_delete, + this.col_select_product}); + this.dgvDbProduct.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvDbProduct.Location = new System.Drawing.Point(4, 0); + this.dgvDbProduct.Name = "dgvDbProduct"; + this.dgvDbProduct.ReadOnly = true; + this.dgvDbProduct.RowTemplate.Height = 23; + this.dgvDbProduct.Size = new System.Drawing.Size(1270, 600); + this.dgvDbProduct.TabIndex = 6; + this.dgvDbProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvDbProduct_CellContentClick); + this.dgvDbProduct.Scroll += new System.Windows.Forms.ScrollEventHandler(this.dgvDbProduct_Scroll); + // + // ucSplitPage1 + // + this.ucSplitPage1.CurrentPage = 1; + this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right; + this.ucSplitPage1.Location = new System.Drawing.Point(916, 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.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(1278, 25); + this.statusBar.TabIndex = 5; + // + // colSelect + // + this.colSelect.FillWeight = 26F; + this.colSelect.HeaderText = "选"; + this.colSelect.Name = "colSelect"; + this.colSelect.ReadOnly = true; + this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + // + // col_db_id + // + this.col_db_id.HeaderText = "数据库Id"; + this.col_db_id.Name = "col_db_id"; + this.col_db_id.ReadOnly = true; + this.col_db_id.Visible = false; + // + // col_product_name + // + dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.col_product_name.DefaultCellStyle = dataGridViewCellStyle3; + this.col_product_name.FillWeight = 200F; + this.col_product_name.HeaderText = "标题"; + this.col_product_name.Name = "col_product_name"; + this.col_product_name.ReadOnly = true; + // + // colImgUrl + // + this.colImgUrl.HeaderText = "主图路径"; + this.colImgUrl.Name = "colImgUrl"; + this.colImgUrl.ReadOnly = true; + this.colImgUrl.Visible = false; + // + // colMainImg + // + this.colMainImg.FillWeight = 50F; + this.colMainImg.HeaderText = "主图"; + this.colMainImg.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom; + this.colMainImg.Name = "colMainImg"; + this.colMainImg.ReadOnly = true; + this.colMainImg.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colMainImg.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + // + // col_spu_id + // + this.col_spu_id.HeaderText = "SPU Id"; + this.col_spu_id.Name = "col_spu_id"; + this.col_spu_id.ReadOnly = true; + // + // col_skc_id + // + this.col_skc_id.HeaderText = "SKC Id"; + this.col_skc_id.Name = "col_skc_id"; + this.col_skc_id.ReadOnly = true; + // + // col_cat_name + // + this.col_cat_name.HeaderText = "类目"; + this.col_cat_name.Name = "col_cat_name"; + this.col_cat_name.ReadOnly = true; + // + // col_ext_code + // + this.col_ext_code.HeaderText = "货号"; + this.col_ext_code.Name = "col_ext_code"; + this.col_ext_code.ReadOnly = true; + // + // colAddTimes + // + this.colAddTimes.FillWeight = 52F; + this.colAddTimes.HeaderText = "单店认领次数"; + this.colAddTimes.Name = "colAddTimes"; + this.colAddTimes.ReadOnly = true; + // + // colSelectTotalCount + // + this.colSelectTotalCount.FillWeight = 52F; + this.colSelectTotalCount.HeaderText = "认领总数"; + this.colSelectTotalCount.Name = "colSelectTotalCount"; + this.colSelectTotalCount.ReadOnly = true; + // + // col_notes + // + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.col_notes.DefaultCellStyle = dataGridViewCellStyle4; + this.col_notes.HeaderText = "备注"; + this.col_notes.Name = "col_notes"; + this.col_notes.ReadOnly = true; + // + // colHeadWords + // + dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colHeadWords.DefaultCellStyle = dataGridViewCellStyle5; + this.colHeadWords.HeaderText = "标题前缀"; + this.colHeadWords.Name = "colHeadWords"; + this.colHeadWords.ReadOnly = true; + this.colHeadWords.Visible = false; + // + // colEndWords + // + dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colEndWords.DefaultCellStyle = dataGridViewCellStyle6; + this.colEndWords.HeaderText = "标题后缀"; + this.colEndWords.Name = "colEndWords"; + this.colEndWords.ReadOnly = true; + this.colEndWords.Visible = false; + // + // colFissionWords + // + dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colFissionWords.DefaultCellStyle = dataGridViewCellStyle7; + this.colFissionWords.HeaderText = "裂变词"; + this.colFissionWords.Name = "colFissionWords"; + this.colFissionWords.ReadOnly = true; + this.colFissionWords.Visible = false; + // + // colAddTime + // + this.colAddTime.HeaderText = "入库时间"; + this.colAddTime.Name = "colAddTime"; + this.colAddTime.ReadOnly = true; + // + // col_edit + // + this.col_edit.FillWeight = 60F; + this.col_edit.HeaderText = "编辑/详情"; + this.col_edit.Name = "col_edit"; + this.col_edit.ReadOnly = true; + this.col_edit.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.col_edit.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + // + // col_delete + // + this.col_delete.FillWeight = 40F; + this.col_delete.HeaderText = "删除"; + this.col_delete.Name = "col_delete"; + this.col_delete.ReadOnly = true; + // + // col_select_product + // + this.col_select_product.FillWeight = 40F; + this.col_select_product.HeaderText = "认领"; + this.col_select_product.Name = "col_select_product"; + this.col_select_product.ReadOnly = true; + this.col_select_product.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.col_select_product.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + // + // DbProductListForm + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.ClientSize = new System.Drawing.Size(1280, 720); + 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.Name = "DbProductListForm"; + this.Text = "产品数据库"; + this.TitleText = "产品数据库"; + this.Load += new System.EventHandler(this.ProductListForm_Load); + this.VisibleChanged += new System.EventHandler(this.ProductListForm_VisibleChanged); + this.Controls.SetChildIndex(this.splitContainer1, 0); + this.splitContainer1.Panel1.ResumeLayout(false); + this.splitContainer1.Panel1.PerformLayout(); + this.splitContainer1.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); + this.splitContainer1.ResumeLayout(false); + this.splitContainer2.Panel1.ResumeLayout(false); + this.splitContainer2.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit(); + this.splitContainer2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvDbProduct)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.SplitContainer splitContainer1; + private System.Windows.Forms.SplitContainer splitContainer2; + private UserControls.UcSplitPage ucSplitPage1; + private UserControls.StatusBarUserControl statusBar; + private System.Windows.Forms.TextBox txtSPU; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.TextBox txtSKC; + private System.Windows.Forms.Label label1; + private DevComponents.DotNetBar.PanelEx pnlEmpty; + private UserControls.ButtonEx btnSearch; + private System.Windows.Forms.TextBox txtExtCode; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.TextBox txtProdName; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.TextBox txtCat; + private System.Windows.Forms.Label label2; + private UserComponent.DataGridViewEx dgvDbProduct; + private System.Windows.Forms.PictureBox pbLoading; + private System.Windows.Forms.TextBox txtNotes; + private System.Windows.Forms.Label lblNotes; + private UserControls.ButtonEx btnSelect; + private System.Windows.Forms.ComboBox cmbSort; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; + private System.Windows.Forms.DataGridViewTextBoxColumn col_db_id; + private System.Windows.Forms.DataGridViewTextBoxColumn col_product_name; + private System.Windows.Forms.DataGridViewTextBoxColumn colImgUrl; + private System.Windows.Forms.DataGridViewImageColumn colMainImg; + private System.Windows.Forms.DataGridViewTextBoxColumn col_spu_id; + private System.Windows.Forms.DataGridViewTextBoxColumn col_skc_id; + private System.Windows.Forms.DataGridViewTextBoxColumn col_cat_name; + private System.Windows.Forms.DataGridViewTextBoxColumn col_ext_code; + private System.Windows.Forms.DataGridViewTextBoxColumn colAddTimes; + private System.Windows.Forms.DataGridViewTextBoxColumn colSelectTotalCount; + private System.Windows.Forms.DataGridViewTextBoxColumn col_notes; + private System.Windows.Forms.DataGridViewTextBoxColumn colHeadWords; + private System.Windows.Forms.DataGridViewTextBoxColumn colEndWords; + private System.Windows.Forms.DataGridViewTextBoxColumn colFissionWords; + private System.Windows.Forms.DataGridViewTextBoxColumn colAddTime; + private System.Windows.Forms.DataGridViewLinkColumn col_edit; + private System.Windows.Forms.DataGridViewLinkColumn col_delete; + private System.Windows.Forms.DataGridViewLinkColumn col_select_product; + } +} \ No newline at end of file diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs new file mode 100644 index 0000000..586fba3 --- /dev/null +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs @@ -0,0 +1,540 @@ +using AllBase; +using AllBase.Model.Result; +using NaiBa.Util.Extension; +using NaiBa.Util.Winform.Extension; +using Newtonsoft.Json.Linq; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Net; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using System.Windows.Forms; +using TemuKJD.BaseForms; +using TemuKJD.ToolForms; +using Work; + +namespace TemuKJD.PDDForms.ProductSelectForms +{ + public partial class PDDDBProdListForm : LRBaseForm + { + ShopLoginInfo shop = null; + + List lstTemuDbProduct = new List(); + + public PDDDBProdListForm() + { + InitializeComponent(); + } + + public PDDDBProdListForm(ShopLoginInfo _shop) + { + InitializeComponent(); + shop = _shop; + } + + private void ProductListForm_Load(object sender, EventArgs e) + { + if (BaseClass.SaLevel == 1 && shop == null) // 一级管理员且不是选品状态 + { + this.dgvDbProduct.Columns["col_delete"].Visible = true; + this.dgvDbProduct.Columns["col_edit"].Visible = true; + this.dgvDbProduct.Columns["colHeadWords"].Visible = true; + this.dgvDbProduct.Columns["colEndWords"].Visible = true; + this.dgvDbProduct.Columns["colFissionWords"].Visible = true; + //this.dgvDbProduct.Columns["col_notes"].Visible = true; + //this.lblNotes.Visible = true; + //this.txtNotes.Visible = true; + } + else + { + this.dgvDbProduct.Columns["col_delete"].Visible = false; + this.dgvDbProduct.Columns["col_edit"].Visible = false; + this.dgvDbProduct.Columns["colHeadWords"].Visible = false; + this.dgvDbProduct.Columns["colEndWords"].Visible = false; + this.dgvDbProduct.Columns["colFissionWords"].Visible = false; + //this.dgvDbProduct.Columns["col_notes"].Visible = false; + //this.lblNotes.Visible = false; + //this.txtNotes.Visible = false; + } + + btnSelect.Visible = false; + this.dgvDbProduct.Columns["col_select_product"].Visible = false; + this.dgvDbProduct.Columns["colAddTimes"].Visible = false; + if (shop != null) + { + btnSelect.Visible = true; + this.dgvDbProduct.Columns["col_select_product"].Visible = true; + this.dgvDbProduct.Columns["colAddTimes"].Visible = true; + } + + this.ucSplitPage1.PageChange += UcSplitPage1_PageChange; + this.dgvDbProduct.AddSelectorColumn("colSelect"); + } + + private void btnSearch_Click(object sender, EventArgs e) + { + if (this.ucSplitPage1.CurrentPage != 1) + this.ucSplitPage1.CurrentPage = 1; + else + SearchDbProd(1); + } + + public void SearchDbProd(int page) + { + if (InvokeRequired) + { + Invoke(new Action(() => + { + this.pbLoading.Visible = true; + this.dgvDbProduct.Rows.Clear(); + lstTemuDbProduct.Clear(); + })); + } + else + { + this.pbLoading.Visible = true; + this.dgvDbProduct.Rows.Clear(); + lstTemuDbProduct.Clear(); + } + Task.Run(() => + { + int pageCount; + var list = GetProductList(out pageCount, page); + lstTemuDbProduct.AddRange(list); + this.ucSplitPage1.TotalPage = pageCount; + + if (defaultBitmap == null) + defaultBitmap = new Bitmap(80, 80); + // 获取Bitmap的Graphics对象 + using (Graphics g = Graphics.FromImage(defaultBitmap)) + { + // 清除整个Bitmap为蓝色 + g.Clear(Color.White); + } + foreach (var prod in lstTemuDbProduct) + { + Invoke(new Action(() => + { + int rowIndex = this.dgvDbProduct.Rows.Add( + false, + prod.id, + prod.product_name, + prod?.main_img?.Replace("https", "http"), + defaultBitmap, // prod.main_img, + prod.spu_id, + prod.skc_id, + prod.cat_name, + prod.ext_code, + prod.select_count, + prod.select_total_count, + prod.notes, + prod.head_words, + prod.end_words, + prod.fission_words, + prod.add_time, + "编辑", + "删除", + "认领"); + + dgvDbProduct.Rows[rowIndex].Height = dgvDbProduct.Columns["colMainImg"].Width; + })); + } + + Invoke(new Action(() => + { + ShowDgvImg(); + this.pbLoading.Visible = false; + })); + }); + } + + Bitmap defaultBitmap = null; + void ShowDgvImg() + { + Task.Run(() => + { + foreach (DataGridViewRow row in this.dgvDbProduct.Rows) + { + if (row.Index > 0 && row.Cells["colMainImg"].Displayed == false) + { + try + { + Invoke(new Action(() => + { + row.Cells["colMainImg"].Value = defaultBitmap; + })); + } + catch + { + } + continue; + } + + if (row.Cells["colMainImg"].Value != null && row.Cells["colMainImg"].Value != defaultBitmap) + continue; + + Image image = null; + string imgUrl = row.Cells["colImgUrl"]?.Value.ParseToString(); + string getImgError = ""; + if (!string.IsNullOrWhiteSpace(imgUrl)) + image = GetHtml.GetUrlImg(imgUrl, out getImgError); + if (!string.IsNullOrEmpty(getImgError)) + //BaseMsgForm.ShowError("图片加载失败 " + getImgError); + image = TemuKJD.Properties.Resources.errpic; + + try + { + Invoke(new Action(() => + { + row.Cells["colMainImg"].Value = image; + })); + } + catch + { + } + } + }); + } + + public List GetProductList(out int pageCount, int page = 1, int pageSize = 200) + { + List list = new List(); + pageCount = 1; + + var url = BaseClass.BuildObjString("product/get_product_list"); + if(shop!=null && shop.DbId.ParseToInt()!=0 ) + url = BaseClass.BuildObjString("product/get_product_list"); + var data = ""; + + Invoke(new Action(() => + { + data = UserLogin.GetSignaturex() + + "&page=" + page + + "&page_size=" + pageSize + + "&search_spu=" + txtSPU.Text.Trim() + + "&search_skc=" + txtSKC.Text.Trim() + + "&search_notes=" + txtNotes.Text.Trim() + + "&search_cat=" + txtCat.Text.Trim() + + "&search_ext_code=" + txtExtCode.Text.Trim() + + "&search_prod_name=" + txtProdName.Text.Trim(); + if (shop != null && !string.IsNullOrEmpty(shop.ShopId)) + { + data += "&get_select_count=true"; + data += "&select_shop_id=" + shop.ShopId; + } + if (this.cmbSort.Text == "认领总数") + { + data += "&sort_field=select_total_count"; + } + + })); + 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("获取商品列表失败,请重试!" + BaseRegex.GetStringJson(ref html, "msg")); + })); + return list; + } + + int count = BaseRegex.GetIntJson(ref html, "count"); + pageCount = Math.Ceiling(1.0 * count / pageSize).ParseToInt(); + pageCount = Math.Max(pageCount, 1); + + var jArr = JObject.Parse(html)["data"]; + if (jArr.Count() == 0) + return list; + var sProd = JsonHelper.SerializeObject(jArr); + + try + { + list = JsonHelper.DeserializeJsonToList(sProd); + return list; + } + catch (Exception ex) + { + return new List(); + } + } + + private void ProductListForm_VisibleChanged(object sender, EventArgs e) + { + if (this.Visible == true) + { + this.pbLoading.Visible = true; + SearchDbProd(this.ucSplitPage1.CurrentPage); + } + } + + private void UcSplitPage1_PageChange(object obj) + { + SearchDbProd(this.ucSplitPage1.CurrentPage); + } + + private void pnlEmpty_Click(object sender, EventArgs e) + { + this.txtCat.Text = ""; + this.txtExtCode.Text = ""; + this.txtProdName.Text = ""; + this.txtSKC.Text = ""; + this.txtSPU.Text = ""; + this.txtNotes.Text = ""; + } + + private void dgvDbProduct_CellContentClick(object sender, DataGridViewCellEventArgs e) + { + if (e.ColumnIndex < 0 || e.RowIndex < 0) + return; + string headerText = dgvDbProduct.Columns[e.ColumnIndex].HeaderText; + var dbId = dgvDbProduct.Rows[e.RowIndex].Cells["col_db_id"].Value.ParseToString(); + var dbProduct = lstTemuDbProduct.FirstOrDefault(p => p.id.ToString() == dbId); + + switch (headerText) + { + case "删除": + 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; + break; + case "主图": + ShowImgForm imgFrom = new ShowImgForm(dgvDbProduct.Rows[e.RowIndex].Cells["colImgUrl"].Value.ParseToString()); + imgFrom.ShowDialog(); + break; + case "认领": + Task.Run(() => { SelectProduct(new TemuDBProduct[] { dbProduct }); }); + break; + case "": + dgvDbProduct.Rows[e.RowIndex].Cells["colSelect"].Value = !(bool)dgvDbProduct.Rows[e.RowIndex].Cells["colSelect"].Value; + break; + default: + break; + } + } + + private void SelectProduct(TemuDBProduct[] prods) + { + if (shop == null) + { + BaseMsgForm.ShowError("店铺不能为空!"); + return; + } + if (prods == null || prods.Count() == 0) + { + BaseMsgForm.ShowError("认领商品不能为空!"); + return; + } + + Invoke(new Action(() => + { + this.pbLoading.Visible = true; + this.statusBar.lblTaskStatus.Text = "正在认领..."; + this.statusBar.pgbTaskProgress.Maximum = prods.Length; + this.statusBar.UpdateProgressBar(0); + })); + + string errorMsg = ""; + + foreach (var prod in prods) + { + Invoke(new Action(() => + { + this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + 1); + })); + + if (prod == null) + { + errorMsg += "prod null; "; + continue; + } + + if (shop.AddProductRemaining <=0) + { + if (!errorMsg.Contains("本月商品认领限额已用完")) + errorMsg += " 本月商品认领限额已用完,请下个月再操作!"; + continue; + } + + try + { + var fissionProductName = GetFissionProductName(prod); + + var url = BaseClass.BuildObjString("product/add_user_select_product"); + var data = UserLogin.GetSignaturex() + + "&out_product_id=" + prod.id + + "&shop_id=" + shop.ShopId + + "&shop_account=" + shop.ShopAccount + + "&main_user_name=" + shop.UserName + + "&sub_user_name=" + shop.SubUserName + + "&add_product_remaining=" + shop.AddProductRemaining + + "&add_fission_product_name=" + GetHtml.UrlEncodeUtf8(fissionProductName) + + "&status=待上传"; + 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")) + { + errorMsg += prod.spu_id + " " + BaseRegex.GetStringJson(ref html, "msg") + "; "; + } + else + { + prod.select_count++; + prod.select_total_count++; + Invoke(new Action(() => + { + var row = this.dgvDbProduct.Rows.Cast().FirstOrDefault(r => r.Cells["col_db_id"].Value.ParseToInt() == prod.id); + if (row != null) + { + row.Cells["colAddTimes"].Value = prod.select_count; + row.Cells["colSelectTotalCount"].Value = prod.select_total_count; + } + })); + shop.AddProductRemaining = shop.AddProductRemaining - 1; + } + } + catch (Exception ex) { + errorMsg += ex.Message + "; "; + } + } + if (!string.IsNullOrEmpty(errorMsg)) + { + Invoke(new Action(() => + { + BaseMsgForm.ShowError("认领商品失败,请重试!\r\n" + errorMsg.Trim()); + })); + } + else + { + Invoke(new Action(() => + { + BaseMsgForm.ShowInfo("认领商品成功!"); + })); + } + Invoke(new Action(() => + { + this.pbLoading.Visible = false; + this.statusBar.lblTaskStatus.Text = "认领完成"; + this.statusBar.UpdateProgressBar(prods.Length); + })); + } + + public static string GetFissionProductName(TemuDBProduct prod) + { + + string headWords = ""; + if (!string.IsNullOrWhiteSpace(prod.head_words)) + { + var numberRegex = BaseRegex.GetMatchRegex(prod.head_words.Trim(), "\\d{1,9}"); + var numbers = numberRegex.Cast().Select(m => m.Value.ParseToInt()).ToList(); + //var numbers = prod.head_words.Split(new string[] { "-", "个" }, StringSplitOptions.RemoveEmptyEntries).Select(w => w.ParseToInt()).ToList(); + int minNum = 5; + int maxNum = 19; + if (numbers.Count > 0 && numbers[0] > 0) + { + minNum = numbers[0]; + if (numbers.Count > 1 && numbers[1] > 0) + { + maxNum = numbers[1]; + } + if (maxNum < minNum) + { + maxNum = minNum; + } + headWords += Randomx.GetId(minNum, maxNum + 1) + prod.head_words.Trim().Replace(minNum + "-" + maxNum, ""); + } + } + + //string endWords = string.IsNullOrEmpty(prod.end_words) ? "适合不同的搭配风格" : prod.end_words; + string endWords = string.IsNullOrWhiteSpace(prod.end_words) ? "" : prod.end_words; + + List fissionLst = new List(); + fissionLst.AddRange(prod.fission_words.ParseToString().Split(new string[] { "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries)); + string centerWords = ","; + while (fissionLst.Count > 0) + { + int id = Randomx.GetId(fissionLst.Count); + var fissionTxt = fissionLst[id]; + fissionLst.RemoveAt(id); + var allTxt = headWords + prod.product_name + centerWords + fissionTxt + "," + endWords; + byte[] bytes = Encoding.GetEncoding("gb2312").GetBytes(allTxt); + if (bytes.Length > 250) + { + break; + } + centerWords += fissionTxt + ","; + } + return (headWords + prod.product_name + centerWords + endWords).Trim(','); + } + + private void DeleteProduct(string dbId) + { + var url = BaseClass.BuildObjString("product/del_db_product"); + var data = UserLogin.GetSignaturex() + + "&db_id=" + dbId; + 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")) + { + BaseMsgForm.ShowError("删除商品失败,请重试!" + BaseRegex.GetStringJson(ref html, "msg")); + return; + } + else + { + SearchDbProd(this.ucSplitPage1.CurrentPage); + } + } + + private void btnSelect_Click(object sender, EventArgs e) + { + var lstProdId = dgvDbProduct.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["col_spu_id"]?.Value.ToString()).ToList(); + var prodList = this.lstTemuDbProduct.Where(p => lstProdId.Contains(p.spu_id)).ToArray(); + + if (prodList.Count() > 0) + { + this.btnSelect.Enabled = false; + Task.Run(() => { + SelectProduct(prodList); + Invoke(new Action(() => + { + this.btnSelect.Enabled = true; + })); + }); + } + else + { + BaseMsgForm.ShowError("请选择商品!"); + } + } + + private void dgvDbProduct_Scroll(object sender, ScrollEventArgs e) + { + ShowDgvImg(); + } + } +} diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.resx b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.resx new file mode 100644 index 0000000..bcab5c3 --- /dev/null +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.resx @@ -0,0 +1,355 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + + + AAABAAEAgIAQAAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMQ + AAAAAAAAAAAAAAAAAAAAAAAAABM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZkzEAAAAAAAAAAAAAAAAAAAAAADOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZMwAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZkzAAAAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmTEAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAA5mZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAADmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAGZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAJmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZAAAAAA + OZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmT + AAAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmRAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZkwAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZkwAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZMAAJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZEAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwCZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZOZmZOZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmP+JmZmZmZmZj/////// + ///4OZmZj/eZmZmZmZmZmPg5OZmZmZuI//iIuZmZmZmZmZmZmZM5mZmZmZmZmZmZmb//+JmZmZmZmP// + //////////OZmP//uZmZmZmZmY//+ZmZOZf///////h5k5mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ + mZ/////////////4mZ///4mZmZmZmZP///uZmZmP////////+JmZmZmZmZmZkzmZmZmZmZmZmZmZj//4 + mZmZmZmf////////////+Jmf//+JmZmZmZmb///4mZmY//////////+JmZmZmZmZmZM5mZmZmZmZmZmZ + mY//+JmZmZmZn/////////////mZmP//iZmZmZmZk///+5mZj/////iP////+JmZmZmZmZmTOZmZmZmZ + mZmZmZmP//iZmZmZmZ////iIiIiIiIiZOZj//4mZmZmZmZP///uZmf////eZmT////+ZmZmZmZmZkzmZ + mZmZmZmZmZmZj//4mZmZmZmf//+JmZmZmZmZk5mY//+JmZmZmZmT///7mZj///+ZmZmZj///uZmZmZmZ + mZM5mZmZmZmZmZmZmY//+JmZmZmZn///iZmZmZmZmZmZmP//iZmZN5k5k///+5mY///zk5mZOT///4mZ + mZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///4mZmZmZmZmZmZj//4mZmP/5k5P///uZmP//+ZmZmZmY + //+JmZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf///4iIiIiIg5mZmY//+JOb//+JmT///7mZj//4mZ + mZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////85mZmP//iZn///+Jk///+5mf + //+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ////////////+ZmZj//4mY////85v/ + //uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf////////////mZmY//+Jv/// + //+Z///7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////+JmZmP// + if//////if//+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///////////4mZ + mZj//4j///////j///uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf//+JMzMz + MzOZOZmY//////+D///////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn/// + iZmZmZmZmZmZmP//////mY//////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ + mZ///4mZmZmZmZmZmZj/////+5mf//////uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZMzM5j//4 + kzMzmZmf//+JMzMzMzM5mZmY/////4mTk//////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmP// + /////////4mZn////////////4mZmP////+ZmZmP////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZ + mY/////////////4mZ/////////////7mZj////7mZmZn/////uZmP//iZmZmZmY///5mZmZmZmZkzmZ + mZmZmZn//////////////5mf////////////+Jmf////iZmZk5P////4mZ///4mZmZmZmP//+ZmZmZmZ + mZM5mZmZmZmZj/////////////iZn/////////////iZmP///5mZmZmZj///+5mY//+JmZmZmZj//4mZ + mZmZmZmTOZmZmZmZmZ/////////////zmZP///////////+JmZP///uTmZmZmZj//4mZm///mZmZmZmZ + //85mZmZmZmZkzmZmZmZmZOZiIiIiIiIiIiImTmZOIiIiIiIiIiImTmZOIi5mZmZmZOZiIuZmZk4iZOZ + mZmZOZiDmZmZmZmZmZM5mZmZmZmZOZmZmZmZmZmZmZOZmZmZmZmZmZmZmZOZmZmZmZmZmZmZOZmZmZmZ + mZk5mZmZmZOZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmTuIiIiIs5mZmZmZmZ + mTu4i7mZmZmZmZmZmTMzmZOZmZkzOZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmTmbj///////+HmT + mZmZk4j/////iJmZmZk4iP////iZOZmZj/mZOZOIiIiIiIiIiDmZmZmZmZmZkzmZmZmZmZmZj/////// + ///4mZk5k4///4iI///4OZOY////////iZOZmb/5mZmP///////////4mZmZmZmZmZM5mZmZmZmZn/// + //////////mZmY///5mZmZP///iZmP////////+ZOZk/iZmY/////////////4mZmZmZmZmTOZmZmZmZ + mZ/////////////5mZ////+JmZmY////iZl/////////+ZmZP4mZP//////////////7mZmZmZmZkzmZ + mZmZmZmb////////////uZP/j///+HM3j/////+ZmYj///////iZmT+JmY//////////////+JmZmZmZ + mZM5mZmZmZmZmY//////////+JmT+Jv///////////iPmTmZOI/4mP//uTk/iZmP//////////////iZ + mZmZmZmTOZmZmZmZmZmf//////////mZmZmZ///////////5mZmZmZmTOZk///mZP4mZj/////////// + ///4mZmZmZmZkzmZmZmZmZmTmP////////+JOZmZOY//////////iZmZmZmZmZk5mf/4mT+JmY////// + ////////+JmZmZmZmZM5mZmZmZmZmZn/////////mZmZmZk//////////zmZmZmZmZmZmTmP/zm/iZmP + //////////////iZmZmZmZmTOZmZmZmZmZk5v///////85OZmZkzmP////////iZmZmZmZmZmZmZn//4 + /4mZj/////hzN4/////4mZmZmZmZkzmZmZmZmZmZmZj//////4mZmTmY/4j////////4mZmZmZmZmZmZ + mZj///+JmY////+JmZmY////+JmZmZmZmZM5mZmZmZmZmZmZ//////+ZmZmZj////////////4mZmZmZ + mZmZmZmb////+ZmP///4mZu5mY////iZmZmZmZmTOZmZmZmZmZmZOb/////4k5mZmP/////////////7 + mZmZmZmZmZmZk/////OZv///+ZmP+Jmf///4mZmZmZmZkzmZmZmZmZmZmZmf////+ZmZmZj////////4 + eI//+JmZmZmZmZmZmZP////4mb///4mY//+JmP//+5mZmZmZmZM5mZmZmZmZmZk5v/////uTmZmb//// + ///4mZmX//iZmZmZmZmZmZmZ////+Jmf//95n///+Zj///OZmZmZmZmTOZmZmZmZmZmZmf//////mZmZ + mY//////+ZOZmZiJmZmZmZmZmZmZmY////+ZmP//+I////iP//+JmZmZmZmZkzmZmZmZmZmZmZj///// + /4mZmZmf/////5k5mZOZmTmZmZmZmZmZmZmP///4mZP/////////////OZmZmZmZmZM5mZmZmZmZmZk/ + ///////zmZmZm/////iZmZmZmZmZmZmZmZmZmZmZj///85mZj///////////+JmZmZmZmZmTOZmZmZmZ + mZmZv///////+5mZmZmP///5mZmZmZmZmZmZmZmZmZmZmZ///3mZmZj//////////4mZmZmZmZmZkzmZ + mZmZmZmZmb///4j///uZmZmZmP//mTmZmZmZmZmZmZmZmZmZmZmY/4OZmZmZeP///////4eZmZmZmZmZ + mZM5mZmZmZmZmZmY/4OZOP+JmZmZmZmIiZOZmZmZmZmZmZmZmZmZmZmZmYiZmZmZmZk4iIiIiIOZmZmZ + mZmZmZmTOZmZmZmZmZmZmTOZmZkzmZmZmZmZmZk5mZmZmZmZmZmZmZmZmZmZmZmZk5mZmZmZmZmZmZmZ + mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmTGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZkwmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZkwA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZMACZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAABmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAJmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRAAAAA5mZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAACZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAAAAAGZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAOZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwAAAAAA + AAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAA + AAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZkwAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmTAAAAAAAAAAAAAAGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZEAAAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAAAAAATmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAAAAAAzmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTMAAAAAAAAAAAAAAAAAAAAAAAAAAAEzMzMzMzMzMzMzMzMzMz + MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxAAAAAAAAAAAAAAD////////////////////////4AAAA + AAAAAAAAAB//////wAAAAAAAAAAAAAAD/////wAAAAAAAAAAAAAAAP////wAAAAAAAAAAAAAAAA////w + AAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAAf//8AAAAAAAAAAAAAAAAAD//+AAAAAAAAAAAAAAAAA + Af//AAAAAAAAAAAAAAAAAAD//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAA + AAAAAAAf+AAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAA + AAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AA + AAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAAAAAA+AA + AAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAA + AA/4AAAAAAAAAAAAAAAAAAAf/AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAA + AAAAAAB//wAAAAAAAAAAAAAAAAAA//+AAAAAAAAAAAAAAAAAAf//wAAAAAAAAAAAAAAAAAP//+AAAAAA + AAAAAAAAAAAH///4AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAD////8AAAAAAAAAAAAAAAD///// + wAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAH////////////////////////w== + + + \ No newline at end of file diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectEditNotesForm.Designer.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectEditNotesForm.Designer.cs new file mode 100644 index 0000000..50e2f1d --- /dev/null +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectEditNotesForm.Designer.cs @@ -0,0 +1,247 @@ +namespace TemuKJD.PDDForms.ProductSelectForms +{ + partial class PDDDBProdUserSelectEditNotesForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PDDDBProdUserSelectEditNotesForm)); + this.panel2 = new System.Windows.Forms.Panel(); + this.cmbUserNotes = new System.Windows.Forms.ComboBox(); + this.lblTextCount = new System.Windows.Forms.Label(); + this.txtSkc = new System.Windows.Forms.TextBox(); + this.txtSpu = new System.Windows.Forms.TextBox(); + this.txtProdName = new System.Windows.Forms.TextBox(); + this.txtShopName = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.pictureBox1 = new System.Windows.Forms.PictureBox(); + this.label8 = new System.Windows.Forms.Label(); + this.btnOk = new TemuKJD.UserControls.ButtonEx(); + this.panel2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); + this.SuspendLayout(); + // + // panel2 + // + this.panel2.BackColor = System.Drawing.Color.White; + this.panel2.Controls.Add(this.cmbUserNotes); + this.panel2.Controls.Add(this.lblTextCount); + this.panel2.Controls.Add(this.txtSkc); + this.panel2.Controls.Add(this.txtSpu); + this.panel2.Controls.Add(this.txtProdName); + this.panel2.Controls.Add(this.txtShopName); + this.panel2.Controls.Add(this.label4); + this.panel2.Controls.Add(this.label3); + this.panel2.Controls.Add(this.label2); + this.panel2.Controls.Add(this.label1); + this.panel2.Controls.Add(this.pictureBox1); + this.panel2.Controls.Add(this.label8); + this.panel2.Controls.Add(this.btnOk); + this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel2.Location = new System.Drawing.Point(1, 33); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(391, 546); + this.panel2.TabIndex = 1; + // + // cmbUserNotes + // + this.cmbUserNotes.FormattingEnabled = true; + this.cmbUserNotes.Items.AddRange(new object[] { + "", + "已买", + "重上"}); + this.cmbUserNotes.Location = new System.Drawing.Point(90, 431); + this.cmbUserNotes.Name = "cmbUserNotes"; + this.cmbUserNotes.Size = new System.Drawing.Size(265, 25); + this.cmbUserNotes.TabIndex = 400; + this.cmbUserNotes.Text = "已买"; + // + // lblTextCount + // + this.lblTextCount.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.lblTextCount.Location = new System.Drawing.Point(247, 160); + this.lblTextCount.Name = "lblTextCount"; + this.lblTextCount.Size = new System.Drawing.Size(106, 17); + this.lblTextCount.TabIndex = 399; + this.lblTextCount.Text = "label5"; + this.lblTextCount.TextAlign = System.Drawing.ContentAlignment.MiddleRight; + this.lblTextCount.Visible = false; + // + // txtSkc + // + this.txtSkc.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtSkc.Location = new System.Drawing.Point(90, 365); + this.txtSkc.Name = "txtSkc"; + this.txtSkc.ReadOnly = true; + this.txtSkc.Size = new System.Drawing.Size(265, 23); + this.txtSkc.TabIndex = 398; + // + // txtSpu + // + this.txtSpu.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtSpu.Location = new System.Drawing.Point(90, 332); + this.txtSpu.Name = "txtSpu"; + this.txtSpu.ReadOnly = true; + this.txtSpu.Size = new System.Drawing.Size(265, 23); + this.txtSpu.TabIndex = 397; + // + // txtProdName + // + this.txtProdName.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtProdName.Location = new System.Drawing.Point(90, 180); + this.txtProdName.Multiline = true; + this.txtProdName.Name = "txtProdName"; + this.txtProdName.ReadOnly = true; + this.txtProdName.Size = new System.Drawing.Size(265, 142); + this.txtProdName.TabIndex = 396; + this.txtProdName.TextChanged += new System.EventHandler(this.txtProdName_TextChanged); + // + // txtShopName + // + this.txtShopName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.txtShopName.Location = new System.Drawing.Point(90, 398); + this.txtShopName.Name = "txtShopName"; + this.txtShopName.ReadOnly = true; + this.txtShopName.Size = new System.Drawing.Size(265, 23); + this.txtShopName.TabIndex = 395; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(27, 401); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(56, 17); + this.label4.TabIndex = 394; + this.label4.Text = "上传店铺"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(27, 183); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(56, 17); + this.label3.TabIndex = 392; + this.label3.Text = "商品标题"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(27, 368); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(56, 17); + this.label2.TabIndex = 391; + this.label2.Text = " SKC ID"; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(27, 335); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(56, 17); + this.label1.TabIndex = 390; + this.label1.Text = " SPU ID"; + // + // pictureBox1 + // + this.pictureBox1.Anchor = System.Windows.Forms.AnchorStyles.Top; + this.pictureBox1.Location = new System.Drawing.Point(128, 22); + this.pictureBox1.Name = "pictureBox1"; + this.pictureBox1.Size = new System.Drawing.Size(136, 136); + this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pictureBox1.TabIndex = 389; + this.pictureBox1.TabStop = false; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(28, 434); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(61, 17); + this.label8.TabIndex = 386; + this.label8.Text = "重上/已买"; + // + // btnOk + // + this.btnOk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnOk.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnOk.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnOk.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnOk.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnOk.ForeColor = System.Drawing.Color.White; + this.btnOk.Location = new System.Drawing.Point(300, 483); + this.btnOk.Margin = new System.Windows.Forms.Padding(2); + this.btnOk.Name = "btnOk"; + this.btnOk.Size = new System.Drawing.Size(55, 26); + this.btnOk.TabIndex = 372; + this.btnOk.Text = "提交"; + this.btnOk.UseVisualStyleBackColor = false; + this.btnOk.Click += new System.EventHandler(this.btnOk_Click); + // + // DbProductUserSelectEditNotesForm + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.ClientSize = new System.Drawing.Size(393, 580); + this.Controls.Add(this.panel2); + 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.Name = "DbProductUserSelectEditNotesForm"; + this.Text = "编辑上传备注"; + this.TitleText = "编辑上传备注"; + this.Load += new System.EventHandler(this.ProductSelectListForm_Load); + this.Controls.SetChildIndex(this.panel2, 0); + this.panel2.ResumeLayout(false); + this.panel2.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel panel2; + private UserControls.ButtonEx btnOk; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.PictureBox pictureBox1; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.TextBox txtSkc; + private System.Windows.Forms.TextBox txtSpu; + private System.Windows.Forms.TextBox txtProdName; + private System.Windows.Forms.TextBox txtShopName; + private System.Windows.Forms.Label lblTextCount; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.ComboBox cmbUserNotes; + } +} \ No newline at end of file diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectEditNotesForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectEditNotesForm.cs new file mode 100644 index 0000000..31e5ee3 --- /dev/null +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectEditNotesForm.cs @@ -0,0 +1,104 @@ +using AllBase.Helper; +using AllBase.Model.Result; +using TemuKJD.BaseForms; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using AllBase; +using Work; +using TemuKJD.BLL; + +namespace TemuKJD.PDDForms.ProductSelectForms +{ + public partial class PDDDBProdUserSelectEditNotesForm : LRBaseForm + { + TemuDBProductSelect dbProdSelect = null; + SetProductSelectNotesType selectNotesType; + + public PDDDBProdUserSelectEditNotesForm(TemuDBProductSelect prod, SetProductSelectNotesType notesType= SetProductSelectNotesType.DbProduct) + { + InitializeComponent(); + + dbProdSelect = prod; + selectNotesType = notesType; + } + + private void ProductSelectListForm_Load(object sender, EventArgs e) + { + if (dbProdSelect != null) + { + txtProdName.Text = dbProdSelect.product_name; + txtSkc.Text = dbProdSelect.skc_id; + txtSpu.Text = dbProdSelect.spu_id; + txtShopName.Text = dbProdSelect.shop_account; + this.pictureBox1.ImageLocation = dbProdSelect.main_img.Replace("https", "http"); + this.cmbUserNotes.Text = dbProdSelect.user_notes; + } + + if (selectNotesType == SetProductSelectNotesType.DbProduct) + { + this.txtProdName.ReadOnly = true; + this.lblTextCount.Visible = false; + } + else + { + this.txtProdName.ReadOnly = true; + this.lblTextCount.Visible = false; + } + } + + private void btnOk_Click(object sender, EventArgs e) + { + if (!string.IsNullOrWhiteSpace(this.cmbUserNotes.Text) && this.cmbUserNotes.Text.Trim() != "重上") + this.cmbUserNotes.Text = "已买"; + + var url = ""; + if (selectNotesType == SetProductSelectNotesType.DbProduct) + url = BaseClass.BuildObjString("product/mdy_product_select_notes"); + else + url = BaseClass.BuildObjString("product_third/mdy_product_select_notes"); + var data = UserLogin.GetSignaturex() + + "&db_id=" + dbProdSelect.id + "&user_notes=" + this.cmbUserNotes.Text.Trim(); + + 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")) + { + BaseMsgForm.ShowError("重上/已买备注编辑失败,请重试!" + BaseRegex.GetStringJson(ref html, "msg")); + } + else + { + dbProdSelect.user_notes = this.cmbUserNotes.Text.Trim(); + if (selectNotesType == SetProductSelectNotesType.DbProduct) + { + dbProdSelect.fission_product_name = this.txtProdName.Text.Trim(); + } + this.Close(); + } + } + + private void lblSPUId_Click(object sender, EventArgs e) + { + + } + + private void txtProdName_TextChanged(object sender, EventArgs e) + { + var textNumber = Encoding.GetEncoding("gb2312").GetBytes(txtProdName.Text.Trim()).Length; + lblTextCount.Text = "" + textNumber + "/250"; + if (textNumber > 250) + lblTextCount.ForeColor = Color.Red; + else + lblTextCount.ForeColor = Color.Gray; + } + } +} diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectEditNotesForm.resx b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectEditNotesForm.resx new file mode 100644 index 0000000..c963c3c --- /dev/null +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectEditNotesForm.resx @@ -0,0 +1,298 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + AAABAAEAgIAQYAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAABEZmbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZmZkQAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAZszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMxmAAAAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMxkAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzGQAAAAAAAAAAAAAAAAAAAbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMYAAAAAAAAAAAAAAAAARszMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAABszMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAAAAbMzMzMzMzMzMzMzMzM + zMzMzMzMzMx3d4iIiIiIiIh3fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAABszMzMzMzMzMzM + zMzMzMzMzMzHeIiIiIj/////////iIiIiId8zMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAGzMzMzMzM + zMzMzMzMzMzMzMeIiI/////////////////////4iIh8zMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAATMzM + zMzMzMzMzMzMzMzMzHiI////////////////////////////iIfMzMzMzMzMzMzMzMzMzMzMxAAAAAAA + AGzMzMzMzMzMzMzMzMzMx3iP///////////////////////////////4iHzMzMzMzMzMzMzMzMzMzMYA + AAAAAAbMzMzMzMzMzMzMzMzMx3iP//////////////////////////////////+IfMzMzMzMzMzMzMzM + zMzMYAAAAABMzMzMzMzMzMzMzMzMx3iP/////////////////////////////////////4h8zMzMzMzM + zMzMzMzMzMQAAAAAbMzMzMzMzMzMzMzMzHiP////////////////////////////////////////h3zM + zMzMzMzMzMzMzMzGAAAABMzMzMzMzMzMzMzMzHiP//////////////////////////////////////// + //iHzMzMzMzMzMzMzMzMzEAAAAbMzMzMzMzMzMzMzMeI//////////////////////////////////// + ////////+IfMzMzMzMzMzMzMzMxgAABMzMzMzMzMzMzMzMx4//////////////////////////////// + //////////////+IfMzMzMzMzMzMzMzMxAAAbMzMzMzMzMzMzMzHj/////////////////////////// + /////////////////////4fMzMzMzMzMzMzMzMYAAMzMzMzMzMzMzMzMeP////////////////////// + ///////////////////////////4fMzMzMzMzMzMzMzMAAbMzMzMzMzMzMzMx4////////////////// + /////////////////////////////////4fMzMzMzMzMzMzMzGAGzMzMzMzMzMzMzHj///////////// + ///////////////////////////////////////4fMzMzMzMzMzMzMxgDMzMzMzMzMzMzMyI//////// + /////////////////////////////////////////////4zMzMzMzMzMzMzMwEzMzMzMzMzMzMzHj/// + //////////////////////////////////////////////////+HzMzMzMzMzMzMzMRszMzMzMzMzMzM + eP//////////////////////////////////////////////////////+HzMzMzMzMzMzMzGbMzMzMzM + zMzMzHj///////////////////////////////////////////////////////+MzMzMzMzMzMzMxmzM + zMzMzMzMzMyP////+IiP////////////////////////////////////////+I//////h8zMzMzMzMzM + zMZszMzMzMzMzMzHj////4iIiI//////////////////////////////////////+IiIj/////jMzMzM + zMzMzMzGbMzMzMzMzMzMyP////iIiIiI/////////////////////////////////////4iIiIj////4 + fMzMzMzMzMzMxszMzMzMzMzMzHj////4iIiIiP////////////////////////////////////+IiIiI + j////4zMzMzMzMzMzMbMzMzMzMzMzMx4////iIiIiIj////////////////////////////////////4 + iIiIiI////+HzMzMzMzMzMzMzMzMzMzMzMzMj////4iIiIiI//////////////+IiP//iI////////// + ////+IiIiIiP////h8zMzMzMzMzMzMzMzMzMzMzMzI/////4iIiIiP/////////////4d3eIiIeIj/// + //////////+IiIiIj/////jMzMzMzMzMzMzMzMzMzMzMzMyP////+IiIiIj/////////////iIiId3eI + iI//////////////iIiIiI/////4zMzMzMzMzMzMzMzMzMzMzMzHj/////+IiIiP/////////////4// + /4d4j/+P//////////////iIiIj/////+MzMzMzMzMzMzMzMzMzMzMzMx4//////+IiP//////////// + ///////4j///////////////////iIiP//////jMzMzMzMzMzMzMzMzMzMzMzMeP//////////+IiIj/ + ///////////////////////////////////////////4fMzMzMzMzMzMzMzMzMzMzMzH//////////+H + fMx8eP//////////////////////////iId3iP//////////+HzMzMzMzMzMzMzMzMzMzMzMyP////// + ///4fMzHh8eP////////////////////////+MzMzMd4//////////h8zMzMzMzMzMzMzMzMzMzMzMf/ + ////////+MzMePjMeP///////////////////////4zMzMeHx4/////////4fMzMzMzMzMzMzMzMzMzM + zMzH/////////4fMd3eHzMeP//////////////////////iMzMzIiHx4////////+HzMzMzMzMzMzMzM + zMzMzMzMx/////////+Hx4iIfMzMj//////////////////////4h3d8x4h8yP////////jMzMzMzMzM + zMzMzMzMzMzMzMeP////////+HiP+IfMzI//////////////////////+HiIiHd3zHj////////4zMzM + zMzMzMzMzMzMzMzMzMzHj/////////h4//+HzMeP//////////////////////h4//h8zMyP//////// + +MzMzMzMzMzMzMzMzMzMzMzMzI/////////4iP//h8x4///////////////////////4j//4fMzHj/// + //////jMzMzMzMzMzMzMzMzMzMzMzMyP///////4iIiP+IfHj///////////////////////+Ij/+HzM + eP/////////4zMzMzMzMzMzMzMzMzMzMzMzMj///////iIiIiIh3eP////////////////////////+I + j4h8x3iI////////h8zMzMzMzMzMzMzMzMzMzMzMzH//////+Hj///iIiI////////////////////// + /////4iId4iIiIj//////4zMzMzMzMzMzMzMzMzMzMzMzMx4//////iP////iP////////////////// + /////////////4iP//iI//////+MzMzMzMzMzMzMzMzMzMzMzMzMyP//////////+I////////////// + ///////////////////4eP//iP//////jMzMzMzMzMzMzMzMzMzMzMzMzMj///////////iP//////// + /////////////////////////4j/////////+HzMzMzMzMzMzMzMzMzMzMzMzMzHj/////////////// + //////////////////////////////+I//////////jMzMzMzMzMzMzMzMzMzMzMzMzMzI////////// + //////////////////////////////////////////////+HzMzMzMzMzMzMzMzMzMzMzMzMzMyP//// + ////////////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzM + eP///////////////////////////////////////////////////////4zMzMzMzMzMzMzMzMzMzMzM + zMzMzMj///////////////////////////////////////////////////////h8zMzMzMzMzMzMzMzM + zMzMzMzMzMzHj//////////////////////////////////////////////////////4zMzMzMzMzMzM + zMzMzMzMzMzMzMzMzI//////////////////////////////////////////////////////h8zMzMzM + zMzMzMzMzMzMzMzMzMzMzMx4////////////////////////////////////////////////////+HzM + zMzMzMzMzMzMzMzMzMzMzMzMzMzMyI////+I//////////////////////////////////////////// + //h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////+Ij///////////////////////////////////// + //////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////+IiIiIj//////////////////////////4 + ////iI/////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMiP/////4iIiP////////////////////// + ////+IiIiIj/////iHzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP////////////////////////// + ///////////4iIj//////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP//////////////////// + //////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP////////////// + //////////////////////////////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHj///////// + ///////////////////////////////////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP//// + ////////////////////////////////////////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzI + j/////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMeP//////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMx4////////+I//////////////////////////////////////jMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMeP///////4iIj///////////////////////////iP///////4fMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMx4////////iIiIiP///////////////////////4iIiP///////4zMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiI////////////////////+IiIiIj///////+HzMzM + zMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIj////////////////////4iIiIiIj/////// + +MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiI////////////////////+IiIiIiI// + //////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIiP////////////////////iIiI + iIiI///////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiIj/////iIiIiIiIj///// + /4iIiIiIiP///////4zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIiI/////4zMzMzMzM + j/////+IiIiIiIiP//////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP//////+IiIiIiIj/////+MzM + zMzMzI//////+IiIiIiIj///////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzI////////iIiIiIiI//// + //jMzMzMzMyP//////iIiIiIiIj///////jMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP///////4iIiIiI + iP/////4zMzMzMzMj//////4iIiIiIiI///////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzI////////iI + iIiIiI//////+MzMzMzMzI//////+IiIiIiIiP///////4zMzMzMzMzMzMzMzMzMzMzMzMzMzMyP//// + ///4iIiIiIiP//////fMzMzMzMyP//////+IiIiIiIj///////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzH + j///////+IiIiIiI//////+HzMzMzMzMeP//////iIiIiIiIj///////jMzMzMzMzMzMzMzMzMzMzMzM + zMzMyP////////iIiIiIiP//////jMzMzMzMzHj///////iIiIiIiI///////4fMzMzMzMzMzMzMzMzM + zMzMzMzMzMj///////+IiIiIiI///////4zMzMzMzMzI///////4iIiIiIiI///////3zMzMzMzMzMzM + zMzMzMzMzMzMzMzI////////iIiIiIiP//////+MzMzMzMzMyP//////+IiIiIiIiP//////+MzMzMzM + zMzMzMzMzMzMzMzMzMzMeP///////4iIiIiIj///////jMzMzMzMzMj///////+IiIiIiIj///////jM + zMzMzMzMzMzMzMzMzMzMzMzMzI////////+IiIiIiP//////+HzMzMzMzMzHj///////iIiIiIiI//// + ///4zMzMzMzMzMzMzMzMzMzMzMzMzMyP////////iIiIiI////////jMzMzMzMzMzI///////4iIiIiI + iI//////+MzMzMzMzMzMzMzMzMzMzMzMzMzMj////////4iIiIiP///////4zMzMzMzMzMyP///////4 + iIiIiIiP//////jMzMzMzMzMzMzMzMzMzMzMzMzMzI////////+IiIiI////////h8zMzMzMzMzMeP// + /////4iIiIiIj//////4fMzMzMzMzMzMzMzMzMzMzMzMzMyP////////iIiIj////////4fMzMzMzMzM + zHj///////+IiIiIiI//////+HzMzMzMzMzMzMzMzMzMzMzMzMzHj/////////iIiP////////+MzMzM + zMzMzMzI////////+IiIiIiP//////h8zMzMzMzMzMzMxmzMzMzMzMzMx4/////////4iP/////////4 + fMzMzMzMzMzMx4////////+IiIiIj//////4fMzMzMzMzMzMzMZszMzMzMzMzMeP//////////////// + ////+MzMzMzMzMzMzMyP////////iIiIiP//////+HzMzMzMzMzMzMzGbMzMzMzMzMzH//////////// + //////////fMzMzMzMzMzMzMeP////////iIiIj///////98zMzMzMzMzMzMxmzMzMzMzMzMyP////// + //////////////+HzMzMzMzMzMzMzHj/////////+IiP////////jMzMzMzMzMzMzMZszMzMzMzMzMj/ + ////////////////////jMzMzMzMzMzMzMzIj////////////////////4zMzMzMzMzMzMzGTMzMzMzM + zMzH////////////////////+HzMzMzMzMzMzMzMx4////////////////////+MzMzMzMzMzMzMxAzM + zMzMzMzMx/////////////////////jMzMzMzMzMzMzMzMyI///////////////////4fMzMzMzMzMzM + zMAGzMzMzMzMzMeP//////////////////+HzMzMzMzMzMzMzMzMeP//////////////////+HzMzMzM + zMzMzMxgBszMzMzMzMzHj//////////////////4fMzMzMzMzMzMzMzMzMeP//////////////////h8 + zMzMzMzMzMzMYADMzMzMzMzMzI//////////////////+HzMzMzMzMzMzMzMzMzHj/////////////// + ///4zMzMzMzMzMzMzAAAbMzMzMzMzMyP/////////////////4fMzMzMzMzMzMzMzMzMzHj///////// + ////////+MzMzMzMzMzMzMYAAEzMzMzMzMzMj/////////////////+MzMzMzMzMzMzMzMzMzMzIj/// + /////////////4fMzMzMzMzMzMzEAAAGzMzMzMzMzHj////////////////4fMzMzMzMzMzMzMzMzMzM + x4////////////////+MzMzMzMzMzMzMYAAABMzMzMzMzMx4////////////////h8zMzMzMzMzMzMzM + zMzMzMx4///////////////4fMzMzMzMzMzMzEAAAABszMzMzMzMx4//////////////+HzMzMzMzMzM + zMzMzMzMzMzMx4//////////////+MzMzMzMzMzMzMYAAAAATMzMzMzMzMyP/////////////4fMzMzM + zMzMzMzMzMzMzMzMzMeI/////////////4fMzMzMzMzMzMzEAAAAAAbMzMzMzMzMeP////////////h8 + zMzMzMzMzMzMzMzMzMzMzMzMeI////////////h8zMzMzMzMzMzMYAAAAAAAbMzMzMzMzMeP//////// + //iHzMzMzMzMzMzMzMzMzMzMzMzMzMyI//////////+HzMzMzMzMzMzMxgAAAAAAAEzMzMzMzMzMeP// + //////iHfMzMzMzMzMzMzMzMzMzMzMzMzMzMx4/////////4fMzMzMzMzMzMzMQAAAAAAAAGzMzMzMzM + zMeI//////iHfMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4j//////4h8zMzMzMzMzMzMxgAAAAAAAAAGzM + zMzMzMzMx4iIiIiHzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiIj/+Ih3zMzMzMzMzMzMzGAAAAAAAA + AAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx3iId8zMzMzMzMzMzMzMYAAA + AAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + xgAAAAAAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzGAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzGQAAAAAAAAAAAAAAAAAbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMYAAAAAAAAAAAAAAAAAAARszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAABGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAAAABmzMzMzMzMzMzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzMzMzMzGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARGZmzMzMzMzMzMzMzM + zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZmZEAAAAAAAAAAAAAAAAD////+AAAAAAAAAAD/////////AAAA + AAAAAAAAAP//////+AAAAAAAAAAAAAAf/////+AAAAAAAAAAAAAAB/////+AAAAAAAAAAAAAAAH////+ + AAAAAAAAAAAAAAAAf////AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAAP///gAAAAAAAAAAAAAAAA + B///wAAAAAAAAAAAAAAAAAP//4AAAAAAAAAAAAAAAAAB//8AAAAAAAAAAAAAAAAAAP/+AAAAAAAAAAAA + AAAAAAB//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAAAAAAAAAf+AAAAAAA + AAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAB+AA + AAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAA + AAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABAAAAAAAA + AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAADwAAAAAAA + AAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AA + AAAAAAAAAAAAAAAAAA/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAA + AD/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAP//gAAAAAAAAAAA + AAAAAAH//8AAAAAAAAAAAAAAAAAD///gAAAAAAAAAAAAAAAAB///8AAAAAAAAAAAAAAAAA////wAAAAA + AAAAAAAAAAA////+AAAAAAAAAAAAAAAAf////4AAAAAAAAAAAAAAAf/////gAAAAAAAAAAAAAAf///// + +AAAAAAAAAAAAAAf//////8AAAAAAAAAAAAA/////////gAAAAAAAAAAf////w== + + + \ No newline at end of file diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.Designer.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.Designer.cs new file mode 100644 index 0000000..4541ab0 --- /dev/null +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.Designer.cs @@ -0,0 +1,1029 @@ + +namespace TemuKJD.PDDForms.ProductSelectForms +{ + partial class PDDDBProdUserSelectForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle(); + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.ucGroupBoxEx4 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.pnlEmpty = new DevComponents.DotNetBar.PanelEx(); + this.label5 = new System.Windows.Forms.Label(); + this.txtSKC = new System.Windows.Forms.TextBox(); + this.txtSPU = new System.Windows.Forms.TextBox(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.txtExtCode = new System.Windows.Forms.TextBox(); + this.label13 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.cmbNotes = new System.Windows.Forms.ComboBox(); + this.txtShopId = new System.Windows.Forms.TextBox(); + this.label7 = new System.Windows.Forms.Label(); + this.txtShopName = new System.Windows.Forms.TextBox(); + this.label3 = new System.Windows.Forms.Label(); + this.txtProdName = new System.Windows.Forms.TextBox(); + this.cmbUserNotes = new System.Windows.Forms.ComboBox(); + this.label12 = new System.Windows.Forms.Label(); + this.btnDelSelect = new DevComponents.DotNetBar.PanelEx(); + this.cmbStatus = new System.Windows.Forms.ComboBox(); + this.label8 = new System.Windows.Forms.Label(); + this.btnSearch = new DevComponents.DotNetBar.PanelEx(); + this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.btnRefreshShop = new DevComponents.DotNetBar.PanelEx(); + this.splitContainer3 = new System.Windows.Forms.SplitContainer(); + this.splitContainer2 = new System.Windows.Forms.SplitContainer(); + this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx(); + this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colShopLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopNotes = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSelectProduct = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colLoginStatus = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colCanUse = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colRemaining = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.pbLoading = new System.Windows.Forms.PictureBox(); + this.dgvSelectProduct = new TemuKJD.UserComponent.DataGridViewEx(); + this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colSelectId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSupplierId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSupplierName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colInShop = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colLogin = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colSpuId = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colSkcId = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colImgUrl = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colProductSkcPic = new System.Windows.Forms.DataGridViewImageColumn(); + this.colProductName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colProductCat = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colExtCode = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colMsg = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colDraftId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colNotes = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colUserNotes = new System.Windows.Forms.DataGridViewLinkColumn(); + this.ColDelete = new System.Windows.Forms.DataGridViewLinkColumn(); + this.splitContainer4 = new System.Windows.Forms.SplitContainer(); + this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); + this.btnClear = new DevComponents.DotNetBar.PanelEx(); + this.panelEx1 = new DevComponents.DotNetBar.PanelEx(); + this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); + this.splitContainer1.Panel1.SuspendLayout(); + this.splitContainer1.Panel2.SuspendLayout(); + this.splitContainer1.SuspendLayout(); + this.ucGroupBoxEx4.SuspendLayout(); + this.ucGroupBoxEx1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).BeginInit(); + this.splitContainer3.Panel1.SuspendLayout(); + this.splitContainer3.Panel2.SuspendLayout(); + this.splitContainer3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit(); + this.splitContainer2.Panel1.SuspendLayout(); + this.splitContainer2.Panel2.SuspendLayout(); + this.splitContainer2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgvShop)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvSelectProduct)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer4)).BeginInit(); + this.splitContainer4.Panel1.SuspendLayout(); + this.splitContainer4.Panel2.SuspendLayout(); + this.splitContainer4.SuspendLayout(); + this.SuspendLayout(); + // + // splitContainer1 + // + this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; + this.splitContainer1.Location = new System.Drawing.Point(0, 0); + this.splitContainer1.Name = "splitContainer1"; + this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer1.Panel1 + // + this.splitContainer1.Panel1.Controls.Add(this.ucGroupBoxEx4); + this.splitContainer1.Panel1.Controls.Add(this.ucGroupBoxEx1); + // + // splitContainer1.Panel2 + // + this.splitContainer1.Panel2.Controls.Add(this.splitContainer3); + this.splitContainer1.Size = new System.Drawing.Size(1284, 546); + this.splitContainer1.SplitterDistance = 120; + this.splitContainer1.TabIndex = 11; + // + // ucGroupBoxEx4 + // + this.ucGroupBoxEx4.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.ucGroupBoxEx4.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.ucGroupBoxEx4.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND; + this.ucGroupBoxEx4.Controls.Add(this.pnlEmpty); + this.ucGroupBoxEx4.Controls.Add(this.label5); + this.ucGroupBoxEx4.Controls.Add(this.txtSKC); + this.ucGroupBoxEx4.Controls.Add(this.txtSPU); + this.ucGroupBoxEx4.Controls.Add(this.label1); + this.ucGroupBoxEx4.Controls.Add(this.label2); + this.ucGroupBoxEx4.Controls.Add(this.txtExtCode); + this.ucGroupBoxEx4.Controls.Add(this.label13); + this.ucGroupBoxEx4.Controls.Add(this.label6); + this.ucGroupBoxEx4.Controls.Add(this.cmbNotes); + this.ucGroupBoxEx4.Controls.Add(this.txtShopId); + this.ucGroupBoxEx4.Controls.Add(this.label7); + this.ucGroupBoxEx4.Controls.Add(this.txtShopName); + this.ucGroupBoxEx4.Controls.Add(this.label3); + this.ucGroupBoxEx4.Controls.Add(this.txtProdName); + this.ucGroupBoxEx4.Controls.Add(this.cmbUserNotes); + this.ucGroupBoxEx4.Controls.Add(this.label12); + this.ucGroupBoxEx4.Controls.Add(this.btnDelSelect); + this.ucGroupBoxEx4.Controls.Add(this.cmbStatus); + this.ucGroupBoxEx4.Controls.Add(this.label8); + this.ucGroupBoxEx4.Controls.Add(this.btnSearch); + this.ucGroupBoxEx4.Location = new System.Drawing.Point(147, 2); + this.ucGroupBoxEx4.Name = "ucGroupBoxEx4"; + this.ucGroupBoxEx4.Size = new System.Drawing.Size(1135, 120); + this.ucGroupBoxEx4.TabIndex = 666; + this.ucGroupBoxEx4.TabStop = false; + this.ucGroupBoxEx4.Text = "认领商品查询"; + // + // pnlEmpty + // + 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(705, 32); + this.pnlEmpty.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); + this.pnlEmpty.Name = "pnlEmpty"; + this.pnlEmpty.Size = new System.Drawing.Size(56, 23); + this.pnlEmpty.Style.Alignment = System.Drawing.StringAlignment.Center; + this.pnlEmpty.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.pnlEmpty.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.pnlEmpty.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.pnlEmpty.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.pnlEmpty.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.pnlEmpty.Style.GradientAngle = 90; + this.pnlEmpty.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.pnlEmpty.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.pnlEmpty.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.pnlEmpty.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.pnlEmpty.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.pnlEmpty.TabIndex = 504; + this.pnlEmpty.Text = "清空条件"; + this.pnlEmpty.Click += new System.EventHandler(this.pnlEmpty_Click); + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(319, 35); + this.label5.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(31, 17); + this.label5.TabIndex = 500; + this.label5.Text = "SPU"; + // + // txtSKC + // + this.txtSKC.Location = new System.Drawing.Point(473, 32); + this.txtSKC.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); + this.txtSKC.Name = "txtSKC"; + this.txtSKC.Size = new System.Drawing.Size(86, 23); + this.txtSKC.TabIndex = 497; + // + // txtSPU + // + this.txtSPU.Location = new System.Drawing.Point(351, 32); + this.txtSPU.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); + this.txtSPU.Name = "txtSPU"; + this.txtSPU.Size = new System.Drawing.Size(86, 23); + this.txtSPU.TabIndex = 499; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(442, 35); + this.label1.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(31, 17); + this.label1.TabIndex = 498; + this.label1.Text = "SKC"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(563, 76); + this.label2.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(32, 17); + this.label2.TabIndex = 490; + this.label2.Text = "货号"; + this.label2.Visible = false; + // + // txtExtCode + // + this.txtExtCode.Location = new System.Drawing.Point(595, 73); + this.txtExtCode.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); + this.txtExtCode.Name = "txtExtCode"; + this.txtExtCode.Size = new System.Drawing.Size(86, 23); + this.txtExtCode.TabIndex = 489; + this.txtExtCode.Visible = false; + // + // label13 + // + this.label13.AutoSize = true; + this.label13.Location = new System.Drawing.Point(172, 76); + this.label13.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(56, 17); + this.label13.TabIndex = 487; + this.label13.Text = "上传备注"; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Location = new System.Drawing.Point(39, 35); + this.label6.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(44, 17); + this.label6.TabIndex = 482; + this.label6.Text = "店铺Id"; + // + // cmbNotes + // + this.cmbNotes.FormattingEnabled = true; + this.cmbNotes.Items.AddRange(new object[] { + "全部", + "无备注", + "核价成功", + "核价成功(重复)", + "重复"}); + this.cmbNotes.Location = new System.Drawing.Point(229, 72); + this.cmbNotes.Margin = new System.Windows.Forms.Padding(0); + this.cmbNotes.Name = "cmbNotes"; + this.cmbNotes.Size = new System.Drawing.Size(85, 25); + this.cmbNotes.TabIndex = 488; + this.cmbNotes.Text = "全部"; + // + // txtShopId + // + this.txtShopId.Location = new System.Drawing.Point(83, 32); + this.txtShopId.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); + this.txtShopId.Name = "txtShopId"; + this.txtShopId.Size = new System.Drawing.Size(85, 23); + this.txtShopId.TabIndex = 481; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Location = new System.Drawing.Point(172, 35); + this.label7.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(56, 17); + this.label7.TabIndex = 484; + this.label7.Text = "店铺名称"; + // + // txtShopName + // + this.txtShopName.Location = new System.Drawing.Point(228, 32); + this.txtShopName.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); + this.txtShopName.Name = "txtShopName"; + this.txtShopName.Size = new System.Drawing.Size(86, 23); + this.txtShopName.TabIndex = 483; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(441, 76); + this.label3.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(32, 17); + this.label3.TabIndex = 476; + this.label3.Text = "标题"; + // + // txtProdName + // + this.txtProdName.Location = new System.Drawing.Point(473, 73); + this.txtProdName.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); + this.txtProdName.Name = "txtProdName"; + this.txtProdName.Size = new System.Drawing.Size(86, 23); + this.txtProdName.TabIndex = 475; + // + // cmbUserNotes + // + this.cmbUserNotes.FormattingEnabled = true; + this.cmbUserNotes.Items.AddRange(new object[] { + "全部", + "重上", + "已买"}); + this.cmbUserNotes.Location = new System.Drawing.Point(351, 72); + this.cmbUserNotes.Margin = new System.Windows.Forms.Padding(0); + this.cmbUserNotes.Name = "cmbUserNotes"; + this.cmbUserNotes.Size = new System.Drawing.Size(85, 25); + this.cmbUserNotes.TabIndex = 486; + this.cmbUserNotes.Text = "全部"; + // + // label12 + // + this.label12.AutoSize = true; + this.label12.Location = new System.Drawing.Point(318, 76); + this.label12.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label12.Name = "label12"; + this.label12.Size = new System.Drawing.Size(32, 17); + this.label12.TabIndex = 485; + this.label12.Text = "备注"; + // + // btnDelSelect + // + this.btnDelSelect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnDelSelect.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnDelSelect.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnDelSelect.DisabledBackColor = System.Drawing.Color.Empty; + this.btnDelSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnDelSelect.Location = new System.Drawing.Point(982, 32); + this.btnDelSelect.Name = "btnDelSelect"; + this.btnDelSelect.Size = new System.Drawing.Size(126, 23); + this.btnDelSelect.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnDelSelect.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnDelSelect.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnDelSelect.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnDelSelect.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnDelSelect.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnDelSelect.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnDelSelect.Style.GradientAngle = 90; + this.btnDelSelect.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnDelSelect.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnDelSelect.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnDelSelect.TabIndex = 468; + this.btnDelSelect.Text = "删除选中记录"; + this.btnDelSelect.Click += new System.EventHandler(this.btnDelSelect_Click); + // + // cmbStatus + // + this.cmbStatus.FormattingEnabled = true; + this.cmbStatus.Items.AddRange(new object[] { + "待上传", + "已上传", + "草稿箱", + "全部"}); + this.cmbStatus.Location = new System.Drawing.Point(83, 72); + this.cmbStatus.Name = "cmbStatus"; + this.cmbStatus.Size = new System.Drawing.Size(85, 25); + this.cmbStatus.TabIndex = 461; + this.cmbStatus.Text = "待上传"; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(26, 76); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(56, 17); + this.label8.TabIndex = 460; + this.label8.Text = "认领状态"; + // + // btnSearch + // + this.btnSearch.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnSearch.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnSearch.DisabledBackColor = System.Drawing.Color.Empty; + this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnSearch.Location = new System.Drawing.Point(572, 32); + this.btnSearch.Name = "btnSearch"; + this.btnSearch.Size = new System.Drawing.Size(126, 23); + this.btnSearch.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnSearch.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSearch.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnSearch.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnSearch.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnSearch.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnSearch.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnSearch.Style.GradientAngle = 90; + this.btnSearch.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnSearch.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSearch.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnSearch.TabIndex = 427; + this.btnSearch.Text = "认领商品查询"; + this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click); + // + // ucGroupBoxEx1 + // + this.ucGroupBoxEx1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left))); + this.ucGroupBoxEx1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.ucGroupBoxEx1.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND; + this.ucGroupBoxEx1.Controls.Add(this.btnRefreshShop); + this.ucGroupBoxEx1.Location = new System.Drawing.Point(3, 2); + this.ucGroupBoxEx1.Name = "ucGroupBoxEx1"; + this.ucGroupBoxEx1.Size = new System.Drawing.Size(144, 120); + this.ucGroupBoxEx1.TabIndex = 399; + this.ucGroupBoxEx1.TabStop = false; + this.ucGroupBoxEx1.Text = "基础"; + // + // btnRefreshShop + // + this.btnRefreshShop.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnRefreshShop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnRefreshShop.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnRefreshShop.DisabledBackColor = System.Drawing.Color.Empty; + this.btnRefreshShop.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnRefreshShop.Location = new System.Drawing.Point(17, 31); + this.btnRefreshShop.Name = "btnRefreshShop"; + this.btnRefreshShop.Size = new System.Drawing.Size(110, 24); + this.btnRefreshShop.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnRefreshShop.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshShop.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnRefreshShop.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnRefreshShop.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnRefreshShop.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnRefreshShop.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnRefreshShop.Style.GradientAngle = 90; + this.btnRefreshShop.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnRefreshShop.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnRefreshShop.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnRefreshShop.TabIndex = 431; + this.btnRefreshShop.Text = "刷新店铺"; + this.btnRefreshShop.Click += new System.EventHandler(this.btnRefreshShop_Click); + // + // splitContainer3 + // + this.splitContainer3.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer3.FixedPanel = System.Windows.Forms.FixedPanel.Panel2; + this.splitContainer3.Location = new System.Drawing.Point(0, 0); + this.splitContainer3.Name = "splitContainer3"; + this.splitContainer3.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer3.Panel1 + // + this.splitContainer3.Panel1.Controls.Add(this.splitContainer2); + // + // splitContainer3.Panel2 + // + this.splitContainer3.Panel2.Controls.Add(this.splitContainer4); + this.splitContainer3.Size = new System.Drawing.Size(1284, 422); + this.splitContainer3.SplitterDistance = 392; + this.splitContainer3.TabIndex = 1; + // + // splitContainer2 + // + this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel1; + this.splitContainer2.Location = new System.Drawing.Point(0, 0); + this.splitContainer2.Name = "splitContainer2"; + // + // splitContainer2.Panel1 + // + this.splitContainer2.Panel1.Controls.Add(this.dgvShop); + this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 0, 0); + // + // splitContainer2.Panel2 + // + this.splitContainer2.Panel2.Controls.Add(this.pbLoading); + this.splitContainer2.Panel2.Controls.Add(this.dgvSelectProduct); + this.splitContainer2.Panel2.Padding = new System.Windows.Forms.Padding(0, 0, 4, 0); + this.splitContainer2.Size = new System.Drawing.Size(1284, 392); + this.splitContainer2.SplitterDistance = 300; + this.splitContainer2.TabIndex = 0; + // + // dgvShop + // + this.dgvShop.AllowUserToAddRows = false; + this.dgvShop.AllowUserToDeleteRows = false; + dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; + this.dgvShop.BackgroundColor = System.Drawing.Color.White; + this.dgvShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; + this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.colSelect, + this.colShopLoginName, + this.colShopId, + this.colShopName, + this.colShopNotes, + this.colSelectProduct, + this.colLoginStatus, + this.colCanUse, + this.colRemaining, + this.colMessage}); + this.dgvShop.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvShop.Location = new System.Drawing.Point(4, 0); + this.dgvShop.Name = "dgvShop"; + this.dgvShop.ReadOnly = true; + this.dgvShop.RowHeadersWidth = 25; + this.dgvShop.RowTemplate.Height = 23; + this.dgvShop.Size = new System.Drawing.Size(296, 392); + this.dgvShop.TabIndex = 6; + this.dgvShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick); + // + // colSelect + // + this.colSelect.HeaderText = "全选"; + this.colSelect.Name = "colSelect"; + this.colSelect.ReadOnly = true; + this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colSelect.Width = 28; + // + // colShopLoginName + // + this.colShopLoginName.HeaderText = "店铺登录名"; + this.colShopLoginName.Name = "colShopLoginName"; + this.colShopLoginName.ReadOnly = true; + this.colShopLoginName.Visible = false; + // + // colShopId + // + this.colShopId.HeaderText = "店铺Id"; + this.colShopId.Name = "colShopId"; + this.colShopId.ReadOnly = true; + this.colShopId.Visible = false; + this.colShopId.Width = 55; + // + // colShopName + // + this.colShopName.FillWeight = 150F; + this.colShopName.HeaderText = "店铺名称"; + this.colShopName.Name = "colShopName"; + this.colShopName.ReadOnly = true; + this.colShopName.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colShopName.Width = 70; + // + // colShopNotes + // + this.colShopNotes.HeaderText = "分组"; + this.colShopNotes.Name = "colShopNotes"; + this.colShopNotes.ReadOnly = true; + this.colShopNotes.Width = 70; + // + // colSelectProduct + // + this.colSelectProduct.HeaderText = "认领商品"; + this.colSelectProduct.Name = "colSelectProduct"; + this.colSelectProduct.ReadOnly = true; + this.colSelectProduct.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSelectProduct.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colSelectProduct.Width = 62; + // + // colLoginStatus + // + this.colLoginStatus.HeaderText = "登录状态"; + this.colLoginStatus.Name = "colLoginStatus"; + this.colLoginStatus.ReadOnly = true; + this.colLoginStatus.Visible = false; + // + // colCanUse + // + this.colCanUse.HeaderText = "可用"; + this.colCanUse.Name = "colCanUse"; + this.colCanUse.ReadOnly = true; + this.colCanUse.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colCanUse.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colCanUse.Visible = false; + this.colCanUse.Width = 28; + // + // colRemaining + // + this.colRemaining.HeaderText = "月限额"; + this.colRemaining.Name = "colRemaining"; + this.colRemaining.ReadOnly = true; + // + // colMessage + // + this.colMessage.HeaderText = "消息"; + this.colMessage.Name = "colMessage"; + this.colMessage.ReadOnly = true; + // + // pbLoading + // + this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None; + this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue; + this.pbLoading.Location = new System.Drawing.Point(465, 171); + this.pbLoading.Name = "pbLoading"; + this.pbLoading.Size = new System.Drawing.Size(50, 50); + this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; + this.pbLoading.TabIndex = 188; + this.pbLoading.TabStop = false; + this.pbLoading.Visible = false; + // + // dgvSelectProduct + // + this.dgvSelectProduct.AllowUserToAddRows = false; + this.dgvSelectProduct.AllowUserToDeleteRows = false; + dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3; + this.dgvSelectProduct.BackgroundColor = System.Drawing.Color.White; + this.dgvSelectProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4; + this.dgvSelectProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgvSelectProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.colCheck, + this.colSelectId, + this.colSupplierId, + this.colSupplierName, + this.colInShop, + this.colLogin, + this.colSpuId, + this.colSkcId, + this.colImgUrl, + this.colProductSkcPic, + this.colProductName, + this.colProductCat, + this.colExtCode, + this.colMsg, + this.colDraftId, + this.colNotes, + this.colUserNotes, + this.ColDelete}); + this.dgvSelectProduct.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvSelectProduct.Location = new System.Drawing.Point(0, 0); + this.dgvSelectProduct.Name = "dgvSelectProduct"; + this.dgvSelectProduct.ReadOnly = true; + this.dgvSelectProduct.RowTemplate.Height = 23; + this.dgvSelectProduct.Size = new System.Drawing.Size(976, 392); + this.dgvSelectProduct.TabIndex = 187; + this.dgvSelectProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSelectProduct_CellContentClick); + this.dgvSelectProduct.Scroll += new System.Windows.Forms.ScrollEventHandler(this.dgvSelectProduct_Scroll); + // + // colCheck + // + this.colCheck.Frozen = true; + this.colCheck.HeaderText = "选择"; + this.colCheck.Name = "colCheck"; + this.colCheck.ReadOnly = true; + this.colCheck.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colCheck.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colCheck.Width = 30; + // + // colSelectId + // + this.colSelectId.HeaderText = "认领Id"; + this.colSelectId.Name = "colSelectId"; + this.colSelectId.ReadOnly = true; + this.colSelectId.Visible = false; + // + // colSupplierId + // + this.colSupplierId.Frozen = true; + this.colSupplierId.HeaderText = "店铺Id"; + this.colSupplierId.Name = "colSupplierId"; + this.colSupplierId.ReadOnly = true; + // + // colSupplierName + // + this.colSupplierName.Frozen = true; + this.colSupplierName.HeaderText = "店铺名称"; + this.colSupplierName.Name = "colSupplierName"; + this.colSupplierName.ReadOnly = true; + this.colSupplierName.Width = 110; + // + // colInShop + // + this.colInShop.Frozen = true; + this.colInShop.HeaderText = "进店"; + this.colInShop.Name = "colInShop"; + this.colInShop.ReadOnly = true; + this.colInShop.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colInShop.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colInShop.Width = 45; + // + // colLogin + // + this.colLogin.HeaderText = "登录"; + this.colLogin.Name = "colLogin"; + this.colLogin.ReadOnly = true; + this.colLogin.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colLogin.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colLogin.Visible = false; + this.colLogin.Width = 45; + // + // colSpuId + // + this.colSpuId.HeaderText = "商品SPU"; + this.colSpuId.Name = "colSpuId"; + this.colSpuId.ReadOnly = true; + this.colSpuId.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSpuId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colSpuId.Width = 80; + // + // colSkcId + // + this.colSkcId.FillWeight = 150F; + this.colSkcId.HeaderText = "商品SKC"; + this.colSkcId.Name = "colSkcId"; + this.colSkcId.ReadOnly = true; + this.colSkcId.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSkcId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colSkcId.Width = 80; + // + // colImgUrl + // + this.colImgUrl.HeaderText = "图片地址"; + this.colImgUrl.Name = "colImgUrl"; + this.colImgUrl.ReadOnly = true; + this.colImgUrl.Visible = false; + // + // colProductSkcPic + // + this.colProductSkcPic.HeaderText = "图片"; + this.colProductSkcPic.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom; + this.colProductSkcPic.Name = "colProductSkcPic"; + this.colProductSkcPic.ReadOnly = true; + this.colProductSkcPic.Width = 60; + // + // colProductName + // + dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True; + this.colProductName.DefaultCellStyle = dataGridViewCellStyle5; + this.colProductName.HeaderText = "商品标题"; + this.colProductName.Name = "colProductName"; + this.colProductName.ReadOnly = true; + this.colProductName.Width = 200; + // + // colProductCat + // + this.colProductCat.HeaderText = "商品类目"; + this.colProductCat.Name = "colProductCat"; + this.colProductCat.ReadOnly = true; + this.colProductCat.Width = 90; + // + // colExtCode + // + this.colExtCode.HeaderText = "商品货号"; + this.colExtCode.Name = "colExtCode"; + this.colExtCode.ReadOnly = true; + // + // colMsg + // + this.colMsg.HeaderText = "状态"; + this.colMsg.Name = "colMsg"; + this.colMsg.ReadOnly = true; + // + // colDraftId + // + this.colDraftId.HeaderText = "上传商品Id"; + this.colDraftId.Name = "colDraftId"; + this.colDraftId.ReadOnly = true; + this.colDraftId.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colDraftId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable; + this.colDraftId.Width = 80; + // + // colNotes + // + this.colNotes.HeaderText = "上传备注"; + this.colNotes.Name = "colNotes"; + this.colNotes.ReadOnly = true; + // + // colUserNotes + // + this.colUserNotes.HeaderText = "重上/已买"; + this.colUserNotes.Name = "colUserNotes"; + this.colUserNotes.ReadOnly = true; + this.colUserNotes.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colUserNotes.Width = 75; + // + // ColDelete + // + this.ColDelete.HeaderText = "删除"; + this.ColDelete.Name = "ColDelete"; + this.ColDelete.ReadOnly = true; + this.ColDelete.Width = 75; + // + // splitContainer4 + // + this.splitContainer4.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer4.FixedPanel = System.Windows.Forms.FixedPanel.Panel2; + this.splitContainer4.Location = new System.Drawing.Point(0, 0); + this.splitContainer4.Name = "splitContainer4"; + // + // splitContainer4.Panel1 + // + this.splitContainer4.Panel1.Controls.Add(this.statusBar); + // + // splitContainer4.Panel2 + // + this.splitContainer4.Panel2.Controls.Add(this.btnClear); + this.splitContainer4.Panel2.Controls.Add(this.panelEx1); + this.splitContainer4.Panel2.Controls.Add(this.ucSplitPage1); + this.splitContainer4.Size = new System.Drawing.Size(1284, 26); + this.splitContainer4.SplitterDistance = 593; + this.splitContainer4.TabIndex = 3; + // + // 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(593, 26); + this.statusBar.TabIndex = 2; + // + // btnClear + // + this.btnClear.Anchor = System.Windows.Forms.AnchorStyles.Right; + this.btnClear.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnClear.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnClear.DisabledBackColor = System.Drawing.Color.Empty; + this.btnClear.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnClear.Location = new System.Drawing.Point(4, 2); + this.btnClear.Name = "btnClear"; + this.btnClear.Size = new System.Drawing.Size(90, 21); + this.btnClear.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnClear.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnClear.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnClear.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnClear.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnClear.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnClear.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnClear.Style.GradientAngle = 90; + this.btnClear.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnClear.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnClear.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnClear.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnClear.TabIndex = 440; + this.btnClear.Text = "清空结果"; + this.btnClear.Visible = false; + // + // panelEx1 + // + this.panelEx1.CanvasColor = System.Drawing.SystemColors.Control; + this.panelEx1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.panelEx1.DisabledBackColor = System.Drawing.Color.Empty; + this.panelEx1.Location = new System.Drawing.Point(97, 2); + this.panelEx1.Name = "panelEx1"; + this.panelEx1.Size = new System.Drawing.Size(115, 21); + this.panelEx1.Style.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx1.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.panelEx1.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.panelEx1.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.panelEx1.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.panelEx1.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.panelEx1.Style.GradientAngle = 90; + this.panelEx1.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx1.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.panelEx1.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.panelEx1.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.panelEx1.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.panelEx1.TabIndex = 668; + this.panelEx1.Text = "停止当前操作"; + this.panelEx1.Visible = false; + // + // ucSplitPage1 + // + this.ucSplitPage1.CurrentPage = 1; + this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right; + this.ucSplitPage1.Location = new System.Drawing.Point(114, 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.Size = new System.Drawing.Size(573, 26); + this.ucSplitPage1.TabIndex = 675; + this.ucSplitPage1.TotalPage = 1; + // + // DbProductUserSelectForm + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.BackColor = System.Drawing.Color.White; + this.ClientSize = new System.Drawing.Size(1284, 546); + this.Controls.Add(this.splitContainer1); + this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.Name = "DbProductUserSelectForm"; + this.Text = "UserSelectDbProductForm"; + this.Load += new System.EventHandler(this.UserSelectDbProductForm_Load); + this.VisibleChanged += new System.EventHandler(this.UserSelectDbProductForm_VisibleChanged); + this.splitContainer1.Panel1.ResumeLayout(false); + this.splitContainer1.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); + this.splitContainer1.ResumeLayout(false); + this.ucGroupBoxEx4.ResumeLayout(false); + this.ucGroupBoxEx4.PerformLayout(); + this.ucGroupBoxEx1.ResumeLayout(false); + this.splitContainer3.Panel1.ResumeLayout(false); + this.splitContainer3.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).EndInit(); + this.splitContainer3.ResumeLayout(false); + this.splitContainer2.Panel1.ResumeLayout(false); + this.splitContainer2.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit(); + this.splitContainer2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgvShop)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.dgvSelectProduct)).EndInit(); + this.splitContainer4.Panel1.ResumeLayout(false); + this.splitContainer4.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer4)).EndInit(); + this.splitContainer4.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.SplitContainer splitContainer1; + private UserComponent.UcGroupBoxEx ucGroupBoxEx4; + private DevComponents.DotNetBar.PanelEx btnSearch; + private UserComponent.UcGroupBoxEx ucGroupBoxEx1; + private DevComponents.DotNetBar.PanelEx btnRefreshShop; + private System.Windows.Forms.SplitContainer splitContainer3; + private System.Windows.Forms.SplitContainer splitContainer2; + private UserComponent.DataGridViewEx dgvShop; + private UserComponent.DataGridViewEx dgvSelectProduct; + private System.Windows.Forms.SplitContainer splitContainer4; + private UserControls.StatusBarUserControl statusBar; + private DevComponents.DotNetBar.PanelEx panelEx1; + private DevComponents.DotNetBar.PanelEx btnClear; + private System.Windows.Forms.PictureBox pbLoading; + private UserControls.UcSplitPage ucSplitPage1; + private System.Windows.Forms.ComboBox cmbStatus; + private System.Windows.Forms.Label label8; + private DevComponents.DotNetBar.PanelEx btnDelSelect; + private System.Windows.Forms.Label label13; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.ComboBox cmbNotes; + private System.Windows.Forms.TextBox txtShopId; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.TextBox txtShopName; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.TextBox txtProdName; + private System.Windows.Forms.ComboBox cmbUserNotes; + private System.Windows.Forms.Label label12; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.TextBox txtExtCode; + private System.Windows.Forms.Label label5; + private System.Windows.Forms.TextBox txtSKC; + private System.Windows.Forms.TextBox txtSPU; + private System.Windows.Forms.Label label1; + private DevComponents.DotNetBar.PanelEx pnlEmpty; + private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck; + private System.Windows.Forms.DataGridViewTextBoxColumn colSelectId; + private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierId; + private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierName; + private System.Windows.Forms.DataGridViewLinkColumn colInShop; + private System.Windows.Forms.DataGridViewLinkColumn colLogin; + private System.Windows.Forms.DataGridViewLinkColumn colSpuId; + private System.Windows.Forms.DataGridViewLinkColumn colSkcId; + private System.Windows.Forms.DataGridViewTextBoxColumn colImgUrl; + private System.Windows.Forms.DataGridViewImageColumn colProductSkcPic; + private System.Windows.Forms.DataGridViewTextBoxColumn colProductName; + private System.Windows.Forms.DataGridViewTextBoxColumn colProductCat; + private System.Windows.Forms.DataGridViewTextBoxColumn colExtCode; + private System.Windows.Forms.DataGridViewTextBoxColumn colMsg; + private System.Windows.Forms.DataGridViewTextBoxColumn colDraftId; + private System.Windows.Forms.DataGridViewTextBoxColumn colNotes; + private System.Windows.Forms.DataGridViewLinkColumn colUserNotes; + private System.Windows.Forms.DataGridViewLinkColumn ColDelete; + private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopLoginName; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopId; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopName; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopNotes; + private System.Windows.Forms.DataGridViewLinkColumn colSelectProduct; + private System.Windows.Forms.DataGridViewTextBoxColumn colLoginStatus; + private System.Windows.Forms.DataGridViewCheckBoxColumn colCanUse; + private System.Windows.Forms.DataGridViewTextBoxColumn colRemaining; + private System.Windows.Forms.DataGridViewTextBoxColumn colMessage; + } +} \ No newline at end of file diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs new file mode 100644 index 0000000..8219ca5 --- /dev/null +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs @@ -0,0 +1,531 @@ +using AllBase; +using AllBase.Helper; +using AllBase.Model.Result; +using NaiBa.Util.Extension; +using Newtonsoft.Json.Linq; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Net; +using System.Net.Http; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; +using TemuKJD.Extension; +using TemuKJD.BaseForms; +using TemuKJD.ToolForms; +using Work; +using TemuKJD.PDDForms.ShopForms; + +namespace TemuKJD.PDDForms.ProductSelectForms +{ + public partial class PDDDBProdUserSelectForm : BaseForm + { + bool isInit = false; + CheckBox chkSelectAll = null; + List lstTemuDBProductSelect = new List(); + public PDDDBProdUserSelectForm() + { + InitializeComponent(); + } + + private void UserSelectDbProductForm_Load(object sender, EventArgs e) + { + chkSelectAll = dgvShop.Columns["colSelect"].AddHeaderCheckBox(HorizontalAlignment.Center, 0, 0, null, null, false); + dgvShop.Columns["colSelect"].HeaderText = ""; + chkSelectAll.Width = chkSelectAll.Height = 13; + chkSelectAll.CheckedChanged += chkSelectAll_CheckedChanged; + chkSelectAll.Checked = true; + + this.dgvSelectProduct.AddSelectorColumn("colCheck"); + this.ucSplitPage1.PageChange += UcSplitPage1_PageChange; + } + + private void UcSplitPage1_PageChange(object obj) + { + SearchDbProdSelect(this.ucSplitPage1.CurrentPage); + } + + private void chkSelectAll_CheckedChanged(object sender, EventArgs e) + { + if (!chkSelectAll.Checked) + { + foreach (DataGridViewRow row in dgvShop.Rows) + { + row.Cells["colSelect"].Value = false; + } + } + else + { + //var list = GlobalConfig.ShopLoginList.Where(s => s.LoginStatus == "登录成功").Select(ss => ss.ShopId); + foreach (DataGridViewRow row in dgvShop.Rows) + { + //if (list.Any(l => l == row.Cells["colShopId"]?.Value?.ToString())) + row.Cells["colSelect"].Value = true; + } + } + } + + private void btnRefreshShop_Click(object sender, EventArgs e) + { + RefreshShop(); + } + + private void UserSelectDbProductForm_VisibleChanged(object sender, EventArgs e) + { + if (Visible == true) + { + RefreshShop(); + + if (dgvSelectProduct.Rows.Count == 0) + SearchDbProdSelect(1); + } + } + + private void RefreshShop() + { + // 店铺Id + var selectIds = dgvShop.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); + // 获取被删除的店铺 + List dgvRowList = dgvShop.Rows.Cast().Where(row + => !GlobalConfig.ShopLoginList.Any(s => s.ShopId == row.Cells["colShopId"]?.Value?.ToString())).ToList(); + // 更新被删除的店铺列表 + foreach (var row in dgvRowList) + { + dgvShop.Rows.Remove(row); + } + // 绑定其他店铺(含新导入的店铺) + foreach (ShopLoginInfo shopEntity in GlobalConfig.ShopLoginList) + { + if (!string.IsNullOrEmpty(shopEntity.ShopId)) + BindShop(shopEntity, selectIds); + } + } + + private void BindShop(ShopLoginInfo shopEntity, List selectShopId = null) + { + if (shopEntity == null) + return; + if (selectShopId == null) + selectShopId = new List(); + + bool canUse = shopEntity.LoginStatus == "登录成功"; + canUse = true; // 内部库不需要校验登录状态 + var row = dgvShop.Rows.Cast().FirstOrDefault(p => p.Cells.GetCellValueFromColumnName("colShopId").ParseToString() == shopEntity.ShopId); + if (row == null) + { + this.dgvShop.Rows.Add( + !isInit || (selectShopId.Contains(shopEntity.ShopId) && canUse), + shopEntity.LoginName, + shopEntity.ShopId, + shopEntity.ShopAccount, + shopEntity.Notes, + "选择商品", + canUse ? "在线" : "掉线", + canUse, + shopEntity.AddProductRemaining, + string.Empty + ); + } + else + { + row.Cells["colSelect"].Value = !isInit || (selectShopId.Contains(shopEntity.ShopId) && canUse); + row.Cells["colShopLoginName"].Value = shopEntity.LoginName; + row.Cells["colShopName"].Value = shopEntity.ShopAccount; + row.Cells["colShopNotes"].Value = shopEntity.Notes; + row.Cells["colLoginStatus"].Value = canUse ? "在线" : "掉线"; + row.Cells["colLoginStatus"].Style.ForeColor = canUse ? Color.Green : Color.Red; + row.Cells["colCanUse"].Value = canUse; + row.Cells["colRemaining"].Value = shopEntity.AddProductRemaining; + } + isInit = false; + } + + private void dgvShop_CellContentClick(object sender, DataGridViewCellEventArgs e) + { + if (e.ColumnIndex < 0 || e.RowIndex < 0) + return; + string headerText = dgvShop.Columns[e.ColumnIndex].HeaderText; + string columnName = dgvShop.Columns[e.ColumnIndex].Name; + string shopId = dgvShop.Rows[e.RowIndex].Cells["colShopId"].Value.ParseToString(); + string shopAccount = dgvShop.Rows[e.RowIndex].Cells["colShopName"].Value.ToString(); + var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId.ToString()); + var row = dgvShop.Rows[e.RowIndex]; + switch (columnName) + { + case "colSelect": + //if (row.Cells["colCanUse"].Value.ParseToBool()) + { + row.Cells["colSelect"].Value = !row.Cells["colSelect"].Value.ParseToBool(); + + chkSelectAll.CheckedChanged -= chkSelectAll_CheckedChanged; + if (dgvShop.Rows.Cast().All(r => r.Cells["colSelect"].Value.ParseToBool())) + chkSelectAll.Checked = true; + else + chkSelectAll.Checked = false; + chkSelectAll.CheckedChanged += chkSelectAll_CheckedChanged; + } + //else + { + //BaseMsgForm.ShowInfo("店铺未登录!"); + } + break; + + case "colSelectProduct": // 认领商品 + PDDDBProdListForm dbProductForm = new PDDDBProdListForm(shop); + dbProductForm.ShowDialog(); + this.RefreshShop(); + break; + } + } + + private void btnSearch_Click(object sender, EventArgs e) + { + var lstShopId = dgvShop.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); + if (lstShopId.Count == 0) + { + BaseMsgForm.ShowInfo("请选择店铺!"); + return; + } + + if (this.ucSplitPage1.CurrentPage != 1) + this.ucSplitPage1.CurrentPage = 1; + else + SearchDbProdSelect(1); + } + + public void SearchDbProdSelect(int page) + { + if (InvokeRequired) + { + Invoke(new Action(() => + { + this.pbLoading.Visible = true; + this.dgvSelectProduct.Rows.Clear(); + lstTemuDBProductSelect.Clear(); + })); + } + else + { + this.pbLoading.Visible = true; + this.dgvSelectProduct.Rows.Clear(); + lstTemuDBProductSelect.Clear(); + } + Task.Run(() => + { + int pageCount; + var list = GetSelectProductList(out pageCount, page, 200); + lstTemuDBProductSelect.AddRange(list); + this.ucSplitPage1.TotalPage = pageCount; + + foreach (var prodSelect in lstTemuDBProductSelect) + { + //Image image = null; + //string imgUrl = prodSelect?.main_img?.Replace("https", "http"); + //string rst = ""; + //if (!string.IsNullOrWhiteSpace(imgUrl)) + // image = GetHtml.GetUrlImg(imgUrl, out rst); + //if (!string.IsNullOrEmpty(rst)) + // BaseMsgForm.ShowError(rst); + + Invoke(new Action(() => + { + int rowIndex = this.dgvSelectProduct.Rows.Add( + false, + prodSelect.id, + prodSelect.shop_id, + prodSelect.shop_account, + "进店", + "登录", + prodSelect.spu_id, + prodSelect.skc_id, + prodSelect.main_img, + defaultBitmap, + prodSelect.product_name, // 用户端显示商品原名 + prodSelect.cat_name, + prodSelect.ext_code, + prodSelect.status, + prodSelect.draft_id, + prodSelect.notes, + (prodSelect.user_notes + " 编辑").Trim(), + "删除"); + + dgvSelectProduct.Rows[rowIndex].Height = 60; + })); + } + + Invoke(new Action(() => + { + ShowDgvImg(); + this.pbLoading.Visible = false; + })); + }); + } + + public List GetSelectProductList(out int pageCount, int page = 1, int pageSize = 50) + { + var lstShopId = dgvShop.Rows.Cast().Where(row + => row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList(); + + List list = new List(); + pageCount = 1; + + var url = BaseClass.BuildObjString("product/get_user_select_product_list"); + var data = ""; + Invoke(new Action(() => + { + data = UserLogin.GetSignaturex() + + "&page=" + page + + "&page_size=" + pageSize + + //"&out_product_id=" + dbId + + //"&main_user_name=" + shop.UserName + + //"&sub_user_name=" + shop.SubUserName + + "&search_spu=" + txtSPU.Text + + "&search_skc=" + txtSKC.Text + + "&search_ext_code=" + txtExtCode.Text + + "&search_prod_name=" + txtProdName.Text + + "&search_shop_id=" + txtShopId.Text + + "&search_shop_account=" + txtShopName.Text + + "&search_notes=" + (cmbNotes.Text == "全部" ? "" : cmbNotes.Text) + + "&search_user_notes=" + (cmbUserNotes.Text == "全部" ? "" : cmbUserNotes.Text) + + "&status=" + (cmbStatus.Text == "全部" ? "" : cmbStatus.Text) + + "&shop_ids=\"" + string.Join("\",\"", lstShopId) + "\""; + })); + 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("认领商品查询失败,请重试!" + BaseRegex.GetStringJson(ref html, "msg")); + })); + return new List(); + } + + int count = BaseRegex.GetIntJson(ref html, "count"); + pageCount = Math.Ceiling(1.0 * count / pageSize).ParseToInt(); + pageCount = Math.Max(pageCount, 1); + + var jArr = JObject.Parse(html)["data"]; + if (jArr.Count() == 0) + return list; + var sProd = JsonHelper.SerializeObject(jArr); + + try + { + list = JsonHelper.DeserializeJsonToList(sProd); + return list; + } + catch (Exception ex) + { + return new List(); + } + } + + private void dgvSelectProduct_CellContentClick(object sender, DataGridViewCellEventArgs e) + { + if (e.ColumnIndex < 0 || e.RowIndex < 0) + return; + string headerText = dgvSelectProduct.Columns[e.ColumnIndex].HeaderText; + var dbId = dgvSelectProduct.Rows[e.RowIndex].Cells["colSelectId"].Value.ParseToString(); + var dbProduct = lstTemuDBProductSelect.FirstOrDefault(p => p.id.ToString() == dbId); + var shopId = dgvSelectProduct.Rows[e.RowIndex].Cells["colSupplierId"].Value.ParseToString(); + var draftId = dgvSelectProduct.Rows[e.RowIndex].Cells["colDraftId"].Value.ParseToString(); + var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId); + + switch (headerText) + { + case "删除": + if (BaseMsgForm.ShowConfirm("确定删除商品吗?删除后不可恢复!").DialogResult == DialogResult.Cancel) + return; + var rst = DeleteProduct(dbId); + if (rst) + { + SearchDbProdSelect(this.ucSplitPage1.CurrentPage); + } + break; + case "进店": + { + PDDShopLoginForm shopLoginForm = new PDDShopLoginForm(shop); + //shopLoginForm.InitUrl = "https://seller.kuajingmaihuo.com/goods/product/draft"; + shopLoginForm.InitUrl = "https://agentseller.temu.com/goods/draft"; + shopLoginForm.InitUrl = "https://agentseller.temu.com"; + shopLoginForm.openType = EnumOpenType.manage; + shopLoginForm.WindowState = FormWindowState.Maximized; + shopLoginForm.ShowDialog(); + } + break; + case "重上/已买": + { + PDDDBProdUserSelectEditNotesForm userNotesForm = new PDDDBProdUserSelectEditNotesForm(dbProduct); + userNotesForm.ShowDialog(); + dgvSelectProduct.Rows[e.RowIndex].Cells["colUserNotes"].Value = (dbProduct.user_notes + " 编辑").Trim(); + } + break; + case "上传商品Id": + //if (!string.IsNullOrEmpty(draftId) && shop != null) + //{ + // ShopLoginForm shopLoginForm = new ShopLoginForm(shop); + // shopLoginForm.InitUrl = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" + + // draftId + "&from=productDraftList"; + // shopLoginForm.openType = EnumOpenType.manage; + // shopLoginForm.WindowState = FormWindowState.Maximized; + // shopLoginForm.ShowDialog(); + //} + break; + case "图片": + ShowImgForm imgFrom = new ShowImgForm(dgvSelectProduct.Rows[e.RowIndex].Cells["colImgUrl"].Value.ParseToString()); + imgFrom.ShowDialog(); + break; + case "": + dgvSelectProduct.Rows[e.RowIndex].Cells["colCheck"].Value = !(bool)dgvSelectProduct.Rows[e.RowIndex].Cells["colCheck"].Value; + break; + default: + break; + } + } + + private bool DeleteProduct(string dbId) + { + var url = BaseClass.BuildObjString("product/del_select_product"); + var data = UserLogin.GetSignaturex() + + "&db_id=" + dbId; + 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")) + { + BaseMsgForm.ShowError("删除商品失败,请重试!" + BaseRegex.GetStringJson(ref html, "msg")); + return false; + } + return true; + } + + private void btnDelSelect_Click(object sender, EventArgs e) + { + if (BaseMsgForm.ShowConfirm("确定删除选中商品吗?删除后不可恢复!").DialogResult == DialogResult.Cancel) + return; + + var DbIdLst = dgvSelectProduct.Rows.Cast().Where(row + => row.Cells["colCheck"]?.Value.ParseToBool() == true).Select(r => r.Cells["colSelectId"]?.Value.ToString()).ToList(); + + this.pbLoading.Visible = true; + this.statusBar.lblTaskStatus.Text = "正在删除..."; + this.statusBar.pgbTaskProgress.Value = 0; + this.statusBar.pgbTaskProgress.Maximum = DbIdLst.Count; + this.statusBar.pgbTaskProgress.Text = "0" + "/" + DbIdLst.Count; + Task.Run(() => + { + foreach (var dbId in DbIdLst) + { + try + { + DeleteProduct(dbId); + Thread.Sleep(20); + } + catch (Exception ex) + { + Invoke(new Action(() => + { + BaseMsgForm.ShowInfo(ex.Message); + })); + } + Invoke(new Action(() => + { + this.statusBar.pgbTaskProgress.Value++; + this.statusBar.pgbTaskProgress.Text = this.statusBar.pgbTaskProgress.Value.ToString() + "/" + DbIdLst.Count; + })); + } + Invoke(new Action(() => + { + this.statusBar.pgbTaskProgress.Value = DbIdLst.Count; + this.statusBar.lblTaskStatus.Text = "删除完成"; + this.pbLoading.Visible = false; + BaseMsgForm.ShowInfo("删除完成!"); + + SearchDbProdSelect(this.ucSplitPage1.CurrentPage); + })); + }); + + } + + private void pnlEmpty_Click(object sender, EventArgs e) + { + //this.txtCat.Text = ""; + this.txtExtCode.Text = ""; + this.txtProdName.Text = ""; + this.txtShopId.Text = ""; + this.txtShopName.Text = ""; + this.txtSKC.Text = ""; + this.txtSPU.Text = ""; + this.cmbStatus.Text = "待上传"; + this.cmbNotes.Text = "全部"; + this.cmbUserNotes.Text = "全部"; + } + + Bitmap defaultBitmap = new Bitmap(80, 80); + void ShowDgvImg() + { + Task.Run(() => + { + foreach (DataGridViewRow row in this.dgvSelectProduct.Rows) + { + if (row.Index > 0 && row.Cells["colProductSkcPic"].Displayed == false) + { + try + { + Invoke(new Action(() => + { + row.Cells["colProductSkcPic"].Value = defaultBitmap; + })); + } + catch + { + } + continue; + } + + if (row.Cells["colProductSkcPic"].Value != null && row.Cells["colProductSkcPic"].Value != defaultBitmap) + continue; + + Image image = null; + string imgUrl = row.Cells["colImgUrl"]?.Value.ParseToString(); + string getImgError = ""; + if (!string.IsNullOrWhiteSpace(imgUrl)) + image = GetHtml.GetUrlImg(imgUrl, out getImgError); + if (!string.IsNullOrEmpty(getImgError)) + //BaseMsgForm.ShowError("图片加载失败 " + getImgError); + image = TemuKJD.Properties.Resources.errpic; + + try + { + Invoke(new Action(() => + { + row.Cells["colProductSkcPic"].Value = image; + })); + } + catch + { + } + } + }); + } + + private void dgvSelectProduct_Scroll(object sender, ScrollEventArgs e) + { + ShowDgvImg(); + } + } +} diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.resx b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.resx new file mode 100644 index 0000000..c758dca --- /dev/null +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.resx @@ -0,0 +1,198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + + True + + \ No newline at end of file diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDThirdProdSelectAddShopForm.Designer.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDThirdProdSelectAddShopForm.Designer.cs new file mode 100644 index 0000000..3ee50fb --- /dev/null +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDThirdProdSelectAddShopForm.Designer.cs @@ -0,0 +1,213 @@ + +namespace TemuKJD.PDDForms.ProductThirdSelectForms +{ + partial class PDDThirdProdSelectAddShopForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle(); + System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PDDThirdProdSelectAddShopForm)); + this.panel2 = new System.Windows.Forms.Panel(); + this.splitContainer1 = new System.Windows.Forms.SplitContainer(); + this.dgvSelectShop = new TemuKJD.UserComponent.DataGridViewEx(); + this.btnOk = new TemuKJD.UserControls.ButtonEx(); + this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); + this.colUserName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colSubUserName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopName = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.colShopNotes = new System.Windows.Forms.DataGridViewTextBoxColumn(); + this.panel2.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); + this.splitContainer1.Panel1.SuspendLayout(); + this.splitContainer1.Panel2.SuspendLayout(); + this.splitContainer1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.dgvSelectShop)).BeginInit(); + this.SuspendLayout(); + // + // panel2 + // + this.panel2.BackColor = System.Drawing.Color.White; + this.panel2.Controls.Add(this.splitContainer1); + this.panel2.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel2.Location = new System.Drawing.Point(1, 33); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(391, 506); + this.panel2.TabIndex = 1; + // + // splitContainer1 + // + this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill; + this.splitContainer1.Location = new System.Drawing.Point(0, 0); + this.splitContainer1.Name = "splitContainer1"; + this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal; + // + // splitContainer1.Panel1 + // + this.splitContainer1.Panel1.Controls.Add(this.dgvSelectShop); + this.splitContainer1.Panel1.Padding = new System.Windows.Forms.Padding(4); + // + // splitContainer1.Panel2 + // + this.splitContainer1.Panel2.Controls.Add(this.btnOk); + this.splitContainer1.Size = new System.Drawing.Size(391, 506); + this.splitContainer1.SplitterDistance = 464; + this.splitContainer1.TabIndex = 190; + // + // dgvSelectShop + // + this.dgvSelectShop.AllowUserToAddRows = false; + this.dgvSelectShop.AllowUserToDeleteRows = false; + dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke; + this.dgvSelectShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1; + this.dgvSelectShop.BackgroundColor = System.Drawing.Color.White; + this.dgvSelectShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft; + dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control; + dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText; + dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight; + dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText; + dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False; + this.dgvSelectShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2; + this.dgvSelectShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; + this.dgvSelectShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { + this.colSelect, + this.colUserName, + this.colSubUserName, + this.colShopId, + this.colShopName, + this.colShopNotes}); + this.dgvSelectShop.Dock = System.Windows.Forms.DockStyle.Fill; + this.dgvSelectShop.Location = new System.Drawing.Point(4, 4); + this.dgvSelectShop.Name = "dgvSelectShop"; + this.dgvSelectShop.ReadOnly = true; + this.dgvSelectShop.RowHeadersWidth = 51; + this.dgvSelectShop.RowTemplate.Height = 23; + this.dgvSelectShop.Size = new System.Drawing.Size(383, 456); + this.dgvSelectShop.TabIndex = 189; + this.dgvSelectShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSaUser_CellContentClick); + // + // btnOk + // + this.btnOk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.btnOk.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnOk.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnOk.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnOk.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnOk.ForeColor = System.Drawing.Color.White; + this.btnOk.Location = new System.Drawing.Point(321, 1); + this.btnOk.Margin = new System.Windows.Forms.Padding(2); + this.btnOk.Name = "btnOk"; + this.btnOk.Size = new System.Drawing.Size(66, 26); + this.btnOk.TabIndex = 374; + this.btnOk.Text = "确定"; + this.btnOk.UseVisualStyleBackColor = false; + this.btnOk.Click += new System.EventHandler(this.btnOk_Click); + // + // colSelect + // + this.colSelect.HeaderText = "选择"; + this.colSelect.MinimumWidth = 6; + this.colSelect.Name = "colSelect"; + this.colSelect.ReadOnly = true; + this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colSelect.Width = 30; + // + // colUserName + // + this.colUserName.HeaderText = "用户名称"; + this.colUserName.MinimumWidth = 6; + this.colUserName.Name = "colUserName"; + this.colUserName.ReadOnly = true; + this.colUserName.Visible = false; + this.colUserName.Width = 125; + // + // colSubUserName + // + this.colSubUserName.HeaderText = "子账户名称"; + this.colSubUserName.Name = "colSubUserName"; + this.colSubUserName.ReadOnly = true; + this.colSubUserName.Visible = false; + this.colSubUserName.Width = 150; + // + // colShopId + // + this.colShopId.HeaderText = "店铺Id"; + this.colShopId.Name = "colShopId"; + this.colShopId.ReadOnly = true; + // + // colShopName + // + this.colShopName.HeaderText = "店铺名称"; + this.colShopName.Name = "colShopName"; + this.colShopName.ReadOnly = true; + // + // colShopNotes + // + this.colShopNotes.HeaderText = "店铺备注"; + this.colShopNotes.Name = "colShopNotes"; + this.colShopNotes.ReadOnly = true; + // + // ProductSelectAddShopForm + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(393, 540); + this.Controls.Add(this.panel2); + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "ProductSelectAddShopForm"; + this.Text = "选择目标店铺"; + this.TitleText = "选择目标店铺"; + this.Load += new System.EventHandler(this.ProductSelectAddShopForm_Load); + this.Controls.SetChildIndex(this.panel2, 0); + this.panel2.ResumeLayout(false); + this.splitContainer1.Panel1.ResumeLayout(false); + this.splitContainer1.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); + this.splitContainer1.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.dgvSelectShop)).EndInit(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.Panel panel2; + private UserComponent.DataGridViewEx dgvSelectShop; + private System.Windows.Forms.SplitContainer splitContainer1; + private UserControls.ButtonEx btnOk; + private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; + private System.Windows.Forms.DataGridViewTextBoxColumn colUserName; + private System.Windows.Forms.DataGridViewTextBoxColumn colSubUserName; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopId; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopName; + private System.Windows.Forms.DataGridViewTextBoxColumn colShopNotes; + } +} \ No newline at end of file diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDThirdProdSelectAddShopForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDThirdProdSelectAddShopForm.cs new file mode 100644 index 0000000..9333658 --- /dev/null +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDThirdProdSelectAddShopForm.cs @@ -0,0 +1,90 @@ +using AllBase; +using AllBase.Model.Result; +using NaiBa.Util.Extension; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using TemuKJD.BaseForms; +using TemuKJD.KJDForms.ShopForms; +using Work; + +/// +/// 第三方库存上传选择上传店铺 +/// +namespace TemuKJD.PDDForms.ProductThirdSelectForms +{ + public partial class PDDThirdProdSelectAddShopForm : LRBaseForm + { + public List lstSelectShop = new List(); + List lstShop = new List(); + public PDDThirdProdSelectAddShopForm() + { + InitializeComponent(); + } + + private void btnOk_Click(object sender, EventArgs e) + { + var shopIds = this.dgvSelectShop.Rows.Cast() + .Where(r => r.Cells["colSelect"].Value.ParseToBool() == true) + .Select(r => r.Cells["colShopId"].Value.ToString()).ToList(); + + var shops = lstShop.Where(s => shopIds.Contains(s.ShopId)).ToList(); + + if (shopIds.Count == 0 || shops.Count == 0) + { + BaseMsgForm.ShowError("请选择要上传的店铺!"); + return; + } + + lstSelectShop.Clear(); + lstSelectShop.AddRange(shops); + + OnSaveComplete(shops); + this.Close(); + } + + private void ProductSelectAddShopForm_Load(object sender, EventArgs e) + { + dgvSelectShop.Rows.Clear(); + lstShop.Clear(); + + lstShop = ShopListForm.GetServerShop().Where(s=>!string.IsNullOrEmpty(s.ShopId)).ToList(); + foreach (var shop in lstShop) + { + dgvSelectShop.Rows.Add( + false, + shop.UserName, + shop.SubUserName, + shop.ShopId, + shop.ShopAccount, + shop.Notes); + } + } + + private void dgvSaUser_CellContentClick(object sender, DataGridViewCellEventArgs e) + { + + if (e.ColumnIndex < 0 || e.RowIndex < 0) + return; + + //string columnName = dgvSaUser.Columns[e.ColumnIndex].Name; + //switch (columnName) + //{ + // case "colSelect": + var value = dgvSelectShop.Rows[e.RowIndex].Cells["colSelect"].Value; + //foreach (DataGridViewRow row in this.dgvSelectShop.Rows) + // row.Cells["colSelect"].Value = false; + dgvSelectShop.Rows[e.RowIndex].Cells["colSelect"].Value = !(bool)value; + // break; + // default: + // break; + //} + } + } +} diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDThirdProdSelectAddShopForm.resx b/TEMUKJD/PDDForms/ProductSelectForms/PDDThirdProdSelectAddShopForm.resx new file mode 100644 index 0000000..49398b0 --- /dev/null +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDThirdProdSelectAddShopForm.resx @@ -0,0 +1,316 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + True + + + True + + + True + + + True + + + True + + + True + + + + + AAABAAEAgIAQAAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA + AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP// + AAD///8AAAAAAAAAAAAAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMQ + AAAAAAAAAAAAAAAAAAAAAAAAABM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZkzEAAAAAAAAAAAAAAAAAAAAAADOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZMwAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZkzAAAAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmTEAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAA5mZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAADmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAGZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAJmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZAAAAAA + OZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmT + AAAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmRAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZkwAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZkwAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZMAAJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZEAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwCZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZOZmZOZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmP+JmZmZmZmZj/////// + ///4OZmZj/eZmZmZmZmZmPg5OZmZmZuI//iIuZmZmZmZmZmZmZM5mZmZmZmZmZmZmb//+JmZmZmZmP// + //////////OZmP//uZmZmZmZmY//+ZmZOZf///////h5k5mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ + mZ/////////////4mZ///4mZmZmZmZP///uZmZmP////////+JmZmZmZmZmZkzmZmZmZmZmZmZmZj//4 + mZmZmZmf////////////+Jmf//+JmZmZmZmb///4mZmY//////////+JmZmZmZmZmZM5mZmZmZmZmZmZ + mY//+JmZmZmZn/////////////mZmP//iZmZmZmZk///+5mZj/////iP////+JmZmZmZmZmTOZmZmZmZ + mZmZmZmP//iZmZmZmZ////iIiIiIiIiZOZj//4mZmZmZmZP///uZmf////eZmT////+ZmZmZmZmZkzmZ + mZmZmZmZmZmZj//4mZmZmZmf//+JmZmZmZmZk5mY//+JmZmZmZmT///7mZj///+ZmZmZj///uZmZmZmZ + mZM5mZmZmZmZmZmZmY//+JmZmZmZn///iZmZmZmZmZmZmP//iZmZN5k5k///+5mY///zk5mZOT///4mZ + mZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///4mZmZmZmZmZmZj//4mZmP/5k5P///uZmP//+ZmZmZmY + //+JmZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf///4iIiIiIg5mZmY//+JOb//+JmT///7mZj//4mZ + mZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////85mZmP//iZn///+Jk///+5mf + //+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ////////////+ZmZj//4mY////85v/ + //uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf////////////mZmY//+Jv/// + //+Z///7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////+JmZmP// + if//////if//+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///////////4mZ + mZj//4j///////j///uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf//+JMzMz + MzOZOZmY//////+D///////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn/// + iZmZmZmZmZmZmP//////mY//////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ + mZ///4mZmZmZmZmZmZj/////+5mf//////uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZMzM5j//4 + kzMzmZmf//+JMzMzMzM5mZmY/////4mTk//////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmP// + /////////4mZn////////////4mZmP////+ZmZmP////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZ + mY/////////////4mZ/////////////7mZj////7mZmZn/////uZmP//iZmZmZmY///5mZmZmZmZkzmZ + mZmZmZn//////////////5mf////////////+Jmf////iZmZk5P////4mZ///4mZmZmZmP//+ZmZmZmZ + mZM5mZmZmZmZj/////////////iZn/////////////iZmP///5mZmZmZj///+5mY//+JmZmZmZj//4mZ + mZmZmZmTOZmZmZmZmZ/////////////zmZP///////////+JmZP///uTmZmZmZj//4mZm///mZmZmZmZ + //85mZmZmZmZkzmZmZmZmZOZiIiIiIiIiIiImTmZOIiIiIiIiIiImTmZOIi5mZmZmZOZiIuZmZk4iZOZ + mZmZOZiDmZmZmZmZmZM5mZmZmZmZOZmZmZmZmZmZmZOZmZmZmZmZmZmZmZOZmZmZmZmZmZmZOZmZmZmZ + mZk5mZmZmZOZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmTuIiIiIs5mZmZmZmZ + mTu4i7mZmZmZmZmZmTMzmZOZmZkzOZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmTmbj///////+HmT + mZmZk4j/////iJmZmZk4iP////iZOZmZj/mZOZOIiIiIiIiIiDmZmZmZmZmZkzmZmZmZmZmZj/////// + ///4mZk5k4///4iI///4OZOY////////iZOZmb/5mZmP///////////4mZmZmZmZmZM5mZmZmZmZn/// + //////////mZmY///5mZmZP///iZmP////////+ZOZk/iZmY/////////////4mZmZmZmZmTOZmZmZmZ + mZ/////////////5mZ////+JmZmY////iZl/////////+ZmZP4mZP//////////////7mZmZmZmZkzmZ + mZmZmZmb////////////uZP/j///+HM3j/////+ZmYj///////iZmT+JmY//////////////+JmZmZmZ + mZM5mZmZmZmZmY//////////+JmT+Jv///////////iPmTmZOI/4mP//uTk/iZmP//////////////iZ + mZmZmZmTOZmZmZmZmZmf//////////mZmZmZ///////////5mZmZmZmTOZk///mZP4mZj/////////// + ///4mZmZmZmZkzmZmZmZmZmTmP////////+JOZmZOY//////////iZmZmZmZmZk5mf/4mT+JmY////// + ////////+JmZmZmZmZM5mZmZmZmZmZn/////////mZmZmZk//////////zmZmZmZmZmZmTmP/zm/iZmP + //////////////iZmZmZmZmTOZmZmZmZmZk5v///////85OZmZkzmP////////iZmZmZmZmZmZmZn//4 + /4mZj/////hzN4/////4mZmZmZmZkzmZmZmZmZmZmZj//////4mZmTmY/4j////////4mZmZmZmZmZmZ + mZj///+JmY////+JmZmY////+JmZmZmZmZM5mZmZmZmZmZmZ//////+ZmZmZj////////////4mZmZmZ + mZmZmZmb////+ZmP///4mZu5mY////iZmZmZmZmTOZmZmZmZmZmZOb/////4k5mZmP/////////////7 + mZmZmZmZmZmZk/////OZv///+ZmP+Jmf///4mZmZmZmZkzmZmZmZmZmZmZmf////+ZmZmZj////////4 + eI//+JmZmZmZmZmZmZP////4mb///4mY//+JmP//+5mZmZmZmZM5mZmZmZmZmZk5v/////uTmZmb//// + ///4mZmX//iZmZmZmZmZmZmZ////+Jmf//95n///+Zj///OZmZmZmZmTOZmZmZmZmZmZmf//////mZmZ + mY//////+ZOZmZiJmZmZmZmZmZmZmY////+ZmP//+I////iP//+JmZmZmZmZkzmZmZmZmZmZmZj///// + /4mZmZmf/////5k5mZOZmTmZmZmZmZmZmZmP///4mZP/////////////OZmZmZmZmZM5mZmZmZmZmZk/ + ///////zmZmZm/////iZmZmZmZmZmZmZmZmZmZmZj///85mZj///////////+JmZmZmZmZmTOZmZmZmZ + mZmZv///////+5mZmZmP///5mZmZmZmZmZmZmZmZmZmZmZ///3mZmZj//////////4mZmZmZmZmZkzmZ + mZmZmZmZmb///4j///uZmZmZmP//mTmZmZmZmZmZmZmZmZmZmZmY/4OZmZmZeP///////4eZmZmZmZmZ + mZM5mZmZmZmZmZmY/4OZOP+JmZmZmZmIiZOZmZmZmZmZmZmZmZmZmZmZmYiZmZmZmZk4iIiIiIOZmZmZ + mZmZmZmTOZmZmZmZmZmZmTOZmZkzmZmZmZmZmZk5mZmZmZmZmZmZmZmZmZmZmZmZk5mZmZmZmZmZmZmZ + mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmTGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZkwmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZkwA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZMACZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAABmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAJmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRAAAAA5mZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAACZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAAAAAGZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAOZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwAAAAAA + AAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAA + AAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZkwAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmTAAAAAAAAAAAAAAGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZEAAAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAAAAAATmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAAAAAAzmZmZmZmZmZmZmZmZmZmZmZmZmZ + mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTMAAAAAAAAAAAAAAAAAAAAAAAAAAAEzMzMzMzMzMzMzMzMzMz + MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxAAAAAAAAAAAAAAD////////////////////////4AAAA + AAAAAAAAAB//////wAAAAAAAAAAAAAAD/////wAAAAAAAAAAAAAAAP////wAAAAAAAAAAAAAAAA////w + AAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAAf//8AAAAAAAAAAAAAAAAAD//+AAAAAAAAAAAAAAAAA + Af//AAAAAAAAAAAAAAAAAAD//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAA + AAAAAAAf+AAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAA + AAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AA + AAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA + AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA + AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA + AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA + AAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAAAAAA+AA + AAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAA + AA/4AAAAAAAAAAAAAAAAAAAf/AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAA + AAAAAAB//wAAAAAAAAAAAAAAAAAA//+AAAAAAAAAAAAAAAAAAf//wAAAAAAAAAAAAAAAAAP//+AAAAAA + AAAAAAAAAAAH///4AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAD////8AAAAAAAAAAAAAAAD///// + wAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAH////////////////////////w== + + + \ No newline at end of file diff --git a/TEMUKJD/PDDForms/ShopForms/PDDShopBrowserObject.cs b/TEMUKJD/PDDForms/ShopForms/PDDShopBrowserObject.cs index f28bff3..67e2cca 100644 --- a/TEMUKJD/PDDForms/ShopForms/PDDShopBrowserObject.cs +++ b/TEMUKJD/PDDForms/ShopForms/PDDShopBrowserObject.cs @@ -1,15 +1,20 @@ using AllBase; using AllBase.Helper; using AllBase.Model.Result; +using AllBase.Model.Result.PDDResult; using NaiBa.Util.Extension; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Linq; using System.Text; +using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; using TemuKJD.BaseForms; +using TemuKJD.BLL; +using TemuKJD.PDDForms.AdminForms; +using TemuKJD.PDDForms.ProductThirdSelectForms; using Work; namespace TemuKJD.PDDForms.ShopForms @@ -19,15 +24,16 @@ namespace TemuKJD.PDDForms.ShopForms public delegate void InfoReceivedHandler(string information); public event InfoReceivedHandler OnInfoReceived; - public string getProduct(ShopLoginInfo shop, string productId) + public string getProduct(string sProdId, string supplierId) { - var prodId = productId.ParseToLong(); + var prodId = sProdId.ParseToLong(); if (prodId <= 0) { BaseMsgForm.ShowError("商品Id不存在!"); return "failed"; } - if (shop == null) + var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == supplierId.ParseToString()); + if (string.IsNullOrEmpty(supplierId) || shop == null) { BaseMsgForm.ShowError("店铺不存在!"); return "failed"; @@ -37,51 +43,101 @@ namespace TemuKJD.PDDForms.ShopForms { try { - var shop1 = shop; - var prodId1 = prodId; + var sourceShop = shop; + var sourceProdId = prodId; string success_err_msg = ""; - var html = ProductQuery(shop1, prodId1.ToString()); - - var testHtml1 = GetHtml.UrlEncodeUtf8(html); - var testHtml2 = GetHtml.UrlDecode(testHtml1); - testHtml1 = HttpUtility.UrlEncode(html, Encoding.UTF8); - testHtml2 = HttpUtility.UrlDecode(testHtml1); + string errorMsg = ""; + var html = GetProdCommitId(sourceShop, sourceProdId.ToString()); if (!html.Contains("\"success\":true") || !html.Contains("\"result\"")) { - OnInfoReceived("商品获取失败!" + BaseRegex.GetStringJson(ref html, "errorMsg")); + var errMsg = BaseRegex.GetStringJson(ref html, "error_msg"); + if (string.IsNullOrEmpty(errMsg)) + errMsg = html; + OnInfoReceived("商品获取失败!" + errMsg); return; } + var commitId = BaseRegex.GetStringJson(ref html, "goods_commit_id"); + if (string.IsNullOrEmpty(commitId)) + { + OnInfoReceived("商品获取失败!商品提交编号获取失败!"); + return; + } + html = GetPddProduct(sourceShop, sourceProdId.ToString(), commitId); JObject obj = JObject.Parse(html); var result = JsonHelper.SerializeObject(obj["result"]); var sizeRst = ""; - TemuDetailProductInfo product = JsonHelper.DeserializeJsonToObject(result); - - if (product.sizeTemplateId > 0) + PDDProductDetailInfo product = JsonHelper.DeserializeJsonToObject(result); + if (product == null) { - html = SizeSpecQuery(shop1, prodId1.ToString(), product.sizeTemplateId.ToString()); - if(!html.Contains("\"success\":true")) - { - success_err_msg += " 尺码表获取失败!" + BaseRegex.GetStringJson(ref html, "errorMsg"); - } - else - { - obj = JObject.Parse(html); - sizeRst = JsonHelper.SerializeObject(obj["result"]); - } + OnInfoReceived("商品获取失败!商品数据格式获取失败!"); + return; } + //尺码表注释 + //if (product.sizeTemplateId > 0) + //{ + // html = SizeSpecQuery(shop1, prodId1.ToString(), product.sizeTemplateId.ToString()); + // if(!html.Contains("\"success\":true")) + // { + // success_err_msg += " 尺码表获取失败!" + BaseRegex.GetStringJson(ref html, "errorMsg"); + // } + // else + // { + // obj = JObject.Parse(html); + // sizeRst = JsonHelper.SerializeObject(obj["result"]); + // } + //} + + bool isExist = false; + var existUrl = BaseClass.BuildObjString("product/get_product_list"); + string existData = UserLogin.GetSignaturex() + "&search_spu=" + product.goods_id; + html = GetHtml.PostUtf8(existUrl, existData); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + html = GetHtml.PostUtf8(existUrl, existData); + if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) + html = GetHtml.PostUtf8(existUrl, existData); + if (!string.IsNullOrEmpty(html) && html.Contains("\"code\":200")) + { + if (html.Contains("\"data\":[") && !html.Contains("\"data\":[]")) + isExist = true; + } + + var main_img = product.image_url; + if (string.IsNullOrEmpty(main_img)) + main_img = product.hd_thumb_url; + if (string.IsNullOrEmpty(main_img)) + main_img = product.thumb_url; + if (string.IsNullOrEmpty(main_img)) + main_img = (product.galleries?.FirstOrDefault()?.url).ParseToString().Replace("https://", "http://"); var url = BaseClass.BuildObjString("product/add_product"); + if (isExist) + { + bool isCover = false; + MainForm.instance.Invoke(new Action(() => + { + var ok = BaseMsgForm.ShowConfirm("产品库内已存在相同id商品,是否更新?").DialogResult; + if (ok == DialogResult.OK) + isCover = true; + })); + if (isCover) + url = BaseClass.BuildObjString("product/mdy_product"); + else + return; + } + var data = Work.UserLogin.GetSignaturex() + - "&spu_id=" + product?.productId + - "&skc_id=" + product?.productSkcList?.FirstOrDefault()?.productSkcId + - "&cat_id=" + GetCat(product).catId + - "&cat_name=" + HttpUtility.UrlEncode(GetCat(product).catName, Encoding.UTF8) + - "&ext_code=" + HttpUtility.UrlEncode(product?.productSkcList?.FirstOrDefault()?.extCode, Encoding.UTF8) + - "&product_name=" + HttpUtility.UrlEncode(product?.productName, Encoding.UTF8) + + "&from_shop_id=" + shop.ShopId + + "&spu_id=" + product.goods_id.ParseToString() + + "&skc_id=" + product.goods_id.ParseToString() + + "&cat_id=" + (product.cat_id).ParseToString() + + "&cat_name=" + HttpUtility.UrlEncode((product.cats?.LastOrDefault(c => !string.IsNullOrEmpty(c))).ParseToString(), Encoding.UTF8) + + "&ext_code=" + HttpUtility.UrlEncode(product.out_goods_sn, Encoding.UTF8) + + "&product_name=" + HttpUtility.UrlEncode(product.goods_name, Encoding.UTF8) + "&product_json=" + HttpUtility.UrlEncode(result, Encoding.UTF8) + "&size_json=" + HttpUtility.UrlEncode(sizeRst, Encoding.UTF8) + - "&main_img=" + HttpUtility.UrlEncode(product?.carouselImageUrls?.FirstOrDefault(), Encoding.UTF8); + "&main_img=" + HttpUtility.UrlEncode(main_img, Encoding.UTF8); + html = GetHtml.PostUtf8(url, data); if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) html = GetHtml.PostUtf8(url, data); @@ -89,7 +145,7 @@ namespace TemuKJD.PDDForms.ShopForms html = GetHtml.PostUtf8(url, data); if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) { - string msg = "选品商品保存失败!请检查网络连接:" + + string msg = "选品商品保存失败!请检查网络连接:" + BaseRegex.GetStringJson(ref html, "msg"); OnInfoReceived(msg); } @@ -98,7 +154,6 @@ namespace TemuKJD.PDDForms.ShopForms OnInfoReceived("选品商品保存成功!" + success_err_msg); } - //// 创建 SaveFileDialog 的实例 //SaveFileDialog saveFileDialog = new SaveFileDialog(); @@ -140,7 +195,7 @@ namespace TemuKJD.PDDForms.ShopForms /// /// /// - public string getThirdProduct(string sProdId, long supplierId) + public string getThirdProduct(string sProdId, string supplierId) { var prodId = sProdId.ParseToLong(); if (prodId <= 0) @@ -148,8 +203,8 @@ namespace TemuKJD.PDDForms.ShopForms BaseMsgForm.ShowError("商品Id不存在!"); return "failed"; } - var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == supplierId.ToString()); - if (supplierId <= 0 || shop == null) + var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == supplierId.ParseToString()); + if (string.IsNullOrEmpty(supplierId) || shop == null) { BaseMsgForm.ShowError("店铺不存在!"); return "failed"; @@ -163,61 +218,89 @@ namespace TemuKJD.PDDForms.ShopForms var sourceProdId = prodId; string success_err_msg = ""; string errorMsg = ""; - var html = ProductQuery(sourceShop, sourceProdId.ToString()); + var html = GetProdCommitId(sourceShop, sourceProdId.ToString()); if (!html.Contains("\"success\":true") || !html.Contains("\"result\"")) { - OnInfoReceived("商品获取失败!" + BaseRegex.GetStringJson(ref html, "errorMsg")); + var errMsg = BaseRegex.GetStringJson(ref html, "error_msg"); + if (string.IsNullOrEmpty(errMsg)) + errMsg = html; + OnInfoReceived("商品获取失败!" + errMsg); return; } + var commitId = BaseRegex.GetStringJson(ref html, "goods_commit_id"); + if (string.IsNullOrEmpty(commitId)) + { + OnInfoReceived("商品获取失败!商品提交编号获取失败!"); + return; + } + html = GetPddProduct(sourceShop, sourceProdId.ToString(), commitId); JObject obj = JObject.Parse(html); var result = JsonHelper.SerializeObject(obj["result"]); var sizeRst = ""; - TemuDetailProductInfo product = JsonHelper.DeserializeJsonToObject(result); - - if (product.sizeTemplateId > 0) + PDDProductDetailInfo product = JsonHelper.DeserializeJsonToObject(result); + if (product == null) { - html = SizeSpecQuery(sourceShop, sourceProdId.ToString(), product.sizeTemplateId.ToString()); - if (!html.Contains("\"success\":true")) - { - success_err_msg += " 尺码表获取失败!" + BaseRegex.GetStringJson(ref html, "errorMsg"); - } - else - { - obj = JObject.Parse(html); - sizeRst = JsonHelper.SerializeObject(obj["result"]); - } + OnInfoReceived("商品获取失败!商品数据格式获取失败!"); + return; } + //拼多多暂时注释 + //if (product.sizeTemplateId > 0) + //{ + // html = SizeSpecQuery(sourceShop, sourceProdId.ToString(), product.sizeTemplateId.ToString()); + // if (!html.Contains("\"success\":true")) + // { + // success_err_msg += " 尺码表获取失败!" + BaseRegex.GetStringJson(ref html, "errorMsg"); + // } + // else + // { + // obj = JObject.Parse(html); + // sizeRst = JsonHelper.SerializeObject(obj["result"]); + // } + //} + List shopLst = new List(); PDDShopListForm.Instance.Invoke(new Action(() => { - //todo: - //ProductThirdSelectAddShopForm shopForm = new ProductThirdSelectAddShopForm(); - //shopForm.ShowDialog(); - //shopLst.AddRange(shopForm.lstSelectShop); + PDDThirdProdSelectAddShopForm shopForm = new PDDThirdProdSelectAddShopForm(); + shopForm.ShowDialog(); + shopLst.AddRange(shopForm.lstSelectShop); })); + if (shopLst.Count == 0) + { + OnInfoReceived("库存上传操作取消或未选择上传店铺!"); + return; + } + var main_img = product.image_url; + if (string.IsNullOrEmpty(main_img)) + main_img = product.hd_thumb_url; + if (string.IsNullOrEmpty(main_img)) + main_img = product.thumb_url; + if (string.IsNullOrEmpty(main_img)) + main_img = (product.galleries?.FirstOrDefault()?.url).ParseToString().Replace("https://", "http://"); var url = BaseClass.BuildObjString("product_third/add_product"); var data = UserLogin.GetSignaturex() + - "&spu_id=" + product?.productId + - "&skc_id=" + product?.productSkcList?.FirstOrDefault()?.productSkcId + - "&cat_id=" + GetCat(product).catId + - "&cat_name=" + HttpUtility.UrlEncode(GetCat(product).catName, Encoding.UTF8) + - "&ext_code=" + HttpUtility.UrlEncode(product?.productSkcList?.FirstOrDefault()?.extCode, Encoding.UTF8) + - "&product_name=" + HttpUtility.UrlEncode(product?.productName, Encoding.UTF8) + + "&from_shop_id=" + shop.ShopId + + "&spu_id=" + product.goods_id.ParseToString() + + "&skc_id=" + product.goods_id.ParseToString() + + "&cat_id=" + (product.cat_id).ParseToString() + + "&cat_name=" + HttpUtility.UrlEncode((product.cats?.LastOrDefault(c => !string.IsNullOrEmpty(c))).ParseToString(), Encoding.UTF8) + + "&ext_code=" + HttpUtility.UrlEncode(product.out_goods_sn, Encoding.UTF8) + + "&product_name=" + HttpUtility.UrlEncode(product.goods_name, Encoding.UTF8) + "&product_json=" + HttpUtility.UrlEncode(result, Encoding.UTF8) + "&size_json=" + HttpUtility.UrlEncode(sizeRst, Encoding.UTF8) + - "&main_img=" + HttpUtility.UrlEncode(product?.carouselImageUrls?.FirstOrDefault(), Encoding.UTF8); + "&main_img=" + HttpUtility.UrlEncode(main_img, Encoding.UTF8); 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")) + // 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")) { - errorMsg = "选品商品保存失败!请检查网络连接:" + - BaseRegex.GetStringJson(ref html, "msg").Replace("'", "\\'").Replace("\"", "\\\""); + errorMsg = "库存商品保存失败!请检查网络连接:" + + BaseRegex.GetStringJson(ref html, "msg").ParseToString().Replace("'", "\\'").Replace("\"", "\\\""); } var id = BaseRegex.GetLongJson(ref html, "id"); if (id == 0) @@ -241,7 +324,7 @@ namespace TemuKJD.PDDForms.ShopForms html = GetHtml.PostUtf8(url, data); if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) { - errorMsg += product?.productId + " " + BaseRegex.GetStringJson(ref html, "msg") + "; "; + errorMsg += product?.goods_id + " " + BaseRegex.GetStringJson(ref html, "msg") + "; "; } else { @@ -297,14 +380,35 @@ namespace TemuKJD.PDDForms.ShopForms - private string ProductQuery(ShopLoginInfo shop, string prodId) + private string GetProdCommitId(ShopLoginInfo shop, string prodId) { - //string url = "https://seller.kuajingmaihuo.com/bg-visage-mms/product/query"; - //string body = @"{""productId"":" + prodId + @",""productEditTaskUid"":""""}"; - //string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?from=productList&productId=" + prodId; - //return KJDHttpResponse.PostResponse(shop, url, body, refere); - - return ""; + string url = "https://mms.pinduoduo.com/glide/v2/mms/edit/commit/create_by_sn"; + string body = @"{""goods_id"":" + prodId + "}"; + string refere = "https://mms.pinduoduo.com/goods/goods_list?msfrom=mms_sidenav"; + var result = HttpResponseBLL.PDDPostResponse(shop, url, body, refere, shop.AntiContents.LastOrDefault().ParseToString()); + return result; + } + private string GetPddProduct(ShopLoginInfo shop, string prodId, string commitId) + { + var anti = shop.AntiContents.LastOrDefault().ParseToString(); + if (shop.AntiContents.Count > 0) + anti = shop.AntiContents[Randomx.GetId(shop.AntiContents.Count)]; + string url = "https://mms.pinduoduo.com/glide/v2/mms/query/commit/detail"; + string body = @"{""goods_commit_id"":""" + commitId + @""",""goods_id"":""" + prodId + @"""}"; + string refere = "https://mms.pinduoduo.com/goods/goods_add/index?id=" + commitId + "&goods_id=" + prodId + "&type=edit"; + var result = HttpResponseBLL.PDDPostResponse(shop, url, body, refere, anti); + for (int i = 0; i < 2 && result.Contains("网络繁忙,请不要频繁操作"); i++) + { + shop.AntiContents.Remove(anti); + anti = shop.AntiContents.LastOrDefault().ParseToString(); + if (shop.AntiContents.Count > 0) + { + Thread.Sleep(Randomx.GetId(300, 500)); + anti = shop.AntiContents[Randomx.GetId(shop.AntiContents.Count)]; + result = HttpResponseBLL.PDDPostResponse(shop, url, body, refere, anti); + } + } + return result; } private string SizeSpecQuery(ShopLoginInfo shop, string prodId, string sizeSpecId) @@ -312,7 +416,7 @@ namespace TemuKJD.PDDForms.ShopForms //string url = "https://seller.kuajingmaihuo.com/bg-anniston-mms/sizespec/query"; //string body = @"{""businessId"":" + sizeSpecId + @",""reusable"":false}"; //string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?from=productList&productId=" + prodId; - //return KJDHttpResponse.PostResponse(shop, url, body, refere); + //return HttpResponseBLL.PostResponse(shop, url, body, refere); return ""; } diff --git a/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.cs b/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.cs index 57ed8b3..3245c0d 100644 --- a/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.cs +++ b/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.cs @@ -33,7 +33,7 @@ namespace TemuKJD.PDDForms.ShopForms private bool isLoading { get; set; } = false; #region 服务端店铺管理 - public static string AddServerDouShop(ShopLoginInfo _shop) + public static string AddServerPddShop(ShopLoginInfo _shop) { var url = BaseClass.BuildObjString("shop/add_shop"); var data = UserLogin.GetSignaturex() @@ -43,6 +43,7 @@ namespace TemuKJD.PDDForms.ShopForms + "&shop_account=" + _shop.ShopAccount + "&cookie=" + _shop.Cookies + "&cookie2=" + _shop.Cookies2 + + "&anti_contents=" + JsonHelper.SerializeObject(_shop.AntiContents) + "&shop_group=" + GetHtml.UrlEncodeUtf8(_shop.GroupName) + "&sub_user_name=" + GetHtml.UrlEncodeUtf8(_shop.SubUserName) + "¬es=" + GetHtml.UrlEncodeUtf8(_shop.Notes) @@ -63,12 +64,14 @@ namespace TemuKJD.PDDForms.ShopForms return result; } - public static string MdyServerDouShop(ShopLoginInfo _shop) + public static string MdyServerPddShop(ShopLoginInfo _shop) { var url = BaseClass.BuildObjString("shop/mdy_shop"); var data = UserLogin.GetSignaturex() + "&login_name=" + _shop.LoginName + "&login_pass=" + GetHtml.UrlEncodeUtf8(_shop.Password) + + "&shop_id=" + _shop.ShopId + + "&shop_account=" + _shop.ShopAccount + "&shop_group=" + GetHtml.UrlEncodeUtf8(_shop.GroupName) + "&sub_user_name=" + _shop.SubUserName + "¬es=" + GetHtml.UrlEncodeUtf8(_shop.Notes); @@ -123,6 +126,7 @@ namespace TemuKJD.PDDForms.ShopForms localShop.Notes = serverShop.Notes; localShop.LoginStatus = serverShop.LoginStatus; localShop.LoginStatus2 = serverShop.LoginStatus2; + localShop.AntiContents = serverShop.AntiContents; localShop.AddProductRemaining = serverShop.AddProductRemaining; localShop.OperateSubSaName = serverShop.OperateSubSaName; if (localShop.TrialUploadCount < 0) @@ -316,13 +320,13 @@ namespace TemuKJD.PDDForms.ShopForms } else { - PDDShopListForm.AddServerDouShop(shopInfo); + PDDShopListForm.AddServerPddShop(shopInfo); btnRefreshCookie_Click(null, null); } } else { - PDDShopListForm.MdyServerDouShop(shopInfo); + PDDShopListForm.MdyServerPddShop(shopInfo); btnRefreshCookie_Click(null, null); } } @@ -406,7 +410,7 @@ namespace TemuKJD.PDDForms.ShopForms else GlobalConfig.ShopLoginList.Add(shop); StartUp.SaveLocalShopLoginInfo(); - PDDShopListForm.AddServerDouShop(shop); + PDDShopListForm.AddServerPddShop(shop); } } } @@ -680,11 +684,10 @@ namespace TemuKJD.PDDForms.ShopForms public static string GetShopStatus(ShopLoginInfo shop) { - //string url = "https://seller.kuajingmaihuo.com/bg/quiet/api/mms/userInfo"; - //string refere = "https://seller.kuajingmaihuo.com/"; - //string body = @"{}"; - //return KJDHttpResponse.PostResponse(shop, url, body, refere); - return ""; + string url = "https://mms.pinduoduo.com/janus/api/userinfo"; + string refere = "https://mms.pinduoduo.com/login/"; + string body = @"{}"; + return HttpResponseBLL.PDDPostResponse(shop, url, body, refere); } /// @@ -697,7 +700,7 @@ namespace TemuKJD.PDDForms.ShopForms //string url = "https://agentseller.temu.com/api/seller/auth/userInfo"; //string refere = "https://agentseller.temu.com/"; //string body = @"{}"; - //return KJDHttpResponse.PostResponse2(shop, url, body, refere); + //return HttpResponseBLL.PDDPostResponse2(shop, url, body, refere); return ""; } @@ -706,7 +709,7 @@ namespace TemuKJD.PDDForms.ShopForms //string url = "https://seller.kuajingmaihuo.com/bg/quiet/api/auth/obtainCode"; //string refere = "https://seller.kuajingmaihuo.com/settle/seller-login?redirectUrl=https%3A%2F%2Fagentseller.temu.com%2F®ion=1&source=https%3A%2F%2Fagentseller.temu.com%2Fmain%2Fauthentication%3FredirectUrl%3Dhttps%253A%252F%252Fagentseller.temu.com%252F"; //string body = @"{""redirectUrl"":""https://agentseller.temu.com/main/authentication""}"; - //return KJDHttpResponse.PostResponse(shop, url, body, refere); + //return HttpResponseBLL.PostResponse(shop, url, body, refere); return ""; } @@ -789,52 +792,52 @@ namespace TemuKJD.PDDForms.ShopForms } break; case "复制Cookie": - string cook = shop.Cookies; + List cooks = null; + try { cooks = JsonHelper.DeserializeJsonToList(shop.Cookies); } catch (Exception ex) { } + if (cooks == null) + cooks = new List(); string cookJs = ""; - var keys = new string[] { "a42", "_bee", "_f77", "_nano_fp", "api_uid", "rckk", "ru1k", "ru2k", "SUB_PASS_ID" }; - //var keys2 = new string[] { "_bee", "_nano_fp", "api_uid", "dilx", "hfsc", "mallid", "njrpl", "seller_temp" }; - var keys2 = new string[] { "_bee", "_nano_fp", "api_uid", "dilx", "hfsc", "njrpl", "seller_temp" }; - foreach (var shopCook in shop.Cookies.Split(';')) + var keys = new string[] { "_a42", "_bee", "_f77", "_nano_fp", "api_uid", "JSESSIONID", "mms_b84d1838", "rckk", "ru1k", "ru2k", "PASS_ID", "webp", "x-visit-time" }; + var keys2 = new string[] { /*"_bee", "_nano_fp", "api_uid", "dilx", "hfsc", "njrpl", "seller_temp"*/ }; + foreach (var shopCook in cooks) { - var cookie = shopCook.Trim(); + var cookie = shopCook.Name + "=" + shopCook.Value; if (!keys.Any(k=>cookie.StartsWith(k))) continue; cookJs += "\r\ndocument.cookie='" + cookie.Substring(0, Math.Max(0, cookie.IndexOf("="))) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';"; } - foreach (var shopCook in shop.Cookies2.Split(';')) + foreach (var shopCook in cooks) { - var cookie = shopCook.Trim(); - cookJs += "\r\ndocument.cookie='" + cookie.Substring(0, Math.Max(0, cookie.IndexOf("="))) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';"; - } - foreach (var shopCook in shop.Cookies.Split(';')) - { - var cookie = shopCook.Trim(); + var cookie = shopCook.Name + "=" + shopCook.Value; if (!keys.Any(k => cookie.StartsWith(k))) continue; - if (!cookie.StartsWith("SUB_PASS_ID") && !cookie.StartsWith("_nano_fp")) - cookJs += "\r\ndocument.cookie='" + cookie + "; domain=.kuajingmaihuo.com;';"; + if (!cookie.StartsWith("PASS_ID") && !cookie.StartsWith("_nano_fp") && !cookie.StartsWith("JSESSIONID") && + !cookie.StartsWith("mms_b84d1838") && !cookie.StartsWith("webp") && !cookie.StartsWith("x-visit-time")) + cookJs += "\r\ndocument.cookie='" + cookie + "; domain=.pinduoduo.com;expires=" + + DateTime.Now.AddMonths(1).ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss 'UTC'", new DateTimeFormatInfo()) + "; path=/';"; else - cookJs += "\r\ndocument.cookie='" + cookie + "; domain=seller.kuajingmaihuo.com;';"; + cookJs += "\r\ndocument.cookie='" + cookie + "; domain=mms.pinduoduo.com; expires=" + + DateTime.Now.AddMonths(1).ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss 'UTC'", new DateTimeFormatInfo()) + "; path=/';"; } // 全球站cookie - foreach (var shopCook in shop.Cookies2.Split(';')) - { - var cookie = shopCook.Trim(); - if (cookie.StartsWith("mallid")) - cookie = "mallid=" + shop.ShopId; - if (!keys2.Any(k => cookie.StartsWith(k))) - continue; - if (!cookie.StartsWith("seller_temp") && !cookie.StartsWith("_nano_fp") && !cookie.StartsWith("mallid")) - cookJs += "\r\ndocument.cookie='" + cookie + "; domain=.temu.com; expires=" + - DateTime.Now.AddDays(1).ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss 'UTC'", new DateTimeFormatInfo()) + "; path=/';"; - else - cookJs += "\r\ndocument.cookie='" + cookie + "; domain=agentseller.temu.com; expires=" + - DateTime.Now.AddDays(1).ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss 'UTC'", new DateTimeFormatInfo()) + "; path=/';"; - } - cookJs += "\r\nwindow.localStorage.setItem('" + "mall-info-id" + "', '" + shop.ShopId + "');"; - cookJs += "\r\nwindow.localStorage.setItem('" + "agentseller-mall-info-id" + "', '" + shop.ShopId + "');"; - cookJs += "\r\nsetTimeout(() => { window.location.href='https://agentseller.temu.com'; }, 200)"; + //foreach (var shopCook in shop.Cookies2.Split(';')) + //{ + // var cookie = shopCook.Trim(); + // if (cookie.StartsWith("mallid")) + // cookie = "mallid=" + shop.ShopId; + // if (!keys2.Any(k => cookie.StartsWith(k))) + // continue; + // if (!cookie.StartsWith("seller_temp") && !cookie.StartsWith("_nano_fp") && !cookie.StartsWith("mallid")) + // cookJs += "\r\ndocument.cookie='" + cookie + "; domain=.temu.com; expires=" + + // DateTime.Now.AddDays(1).ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss 'UTC'", new DateTimeFormatInfo()) + "; path=/';"; + // else + // cookJs += "\r\ndocument.cookie='" + cookie + "; domain=agentseller.temu.com; expires=" + + // DateTime.Now.AddDays(1).ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss 'UTC'", new DateTimeFormatInfo()) + "; path=/';"; + //} + //cookJs += "\r\nwindow.localStorage.setItem('" + "mall-info-id" + "', '" + shop.ShopId + "');"; + //cookJs += "\r\nwindow.localStorage.setItem('" + "agentseller-mall-info-id" + "', '" + shop.ShopId + "');"; + cookJs += "\r\nsetTimeout(() => { window.location.href='https://mms.pinduoduo.com/home'; }, 200)"; Clipboard.SetDataObject(cookJs); BaseMsgForm.ShowInfo("复制成功"); break; diff --git a/TEMUKJD/PDDForms/ShopForms/PDDShopLoginForm.cs b/TEMUKJD/PDDForms/ShopForms/PDDShopLoginForm.cs index 4942cb2..d640c15 100644 --- a/TEMUKJD/PDDForms/ShopForms/PDDShopLoginForm.cs +++ b/TEMUKJD/PDDForms/ShopForms/PDDShopLoginForm.cs @@ -70,12 +70,6 @@ namespace TemuKJD.PDDForms.ShopForms { //this.splitContainer1.SplitterDistance = 674; - if (openType == EnumOpenType.login) - { - //this.shop.ShopId = ""; - //this.shop.ShopAccount = ""; - } - if (isMultiLogin && shop != null) { this.pnlMultiLogin.Visible = true; @@ -98,7 +92,7 @@ namespace TemuKJD.PDDForms.ShopForms AutoLogin(); CheckAndSaveShop(); //判断登录是否成功,成功则保存店铺信息和店铺cookie - //ClosePopWindow(); //自动关闭弹窗 + //ClosePopWindow(); //自动关闭弹窗 } /// @@ -112,7 +106,7 @@ namespace TemuKJD.PDDForms.ShopForms while (this.Created) { Thread.Sleep(3000); - //continue; + if (!this.Created) break; @@ -129,18 +123,21 @@ namespace TemuKJD.PDDForms.ShopForms string cookies = ""; List cookieList = CEFBrowser.GetCookieList(shopCookieHead, cefWebBrowser.GetCookieManager(null)); + List cookieListNew = new List(); if (cookieList != null && cookieList.Count > 0) { foreach (var cookie in cookieList) { - //SUB_PASS_ID同时出现两个,domain是seller.kuajingmaihuo.com才是能登录店铺后台的 + //PASS_ID同时出现两个,domain是mms.pinduoduo.com才是能登录店铺后台的 if (cookie.Name == "PASS_ID" && cookie.Domain != "mms.pinduoduo.com" - && cookieList.Any(c=>c.Name== "PASS_ID" && c.Domain == "mms.pinduoduo.com")) + && cookieList.Any(c => c.Name == "PASS_ID" && c.Domain == "mms.pinduoduo.com")) continue; cookies += cookie.Name + "=" + cookie.Value + "; "; + cookieListNew.Add(cookie); } - cookies = cookies.Trim().TrimEnd(';'); + //cookies = cookies.Trim().TrimEnd(';'); + cookies = JsonHelper.SerializeObject(cookieListNew); } if (!string.IsNullOrEmpty(cookies) @@ -160,6 +157,7 @@ namespace TemuKJD.PDDForms.ShopForms ShopId = sc.AccountId, SubUserName = shop.SubUserName, Notes = shop.Notes, + AntiContents = new List { sc.AntiContent }, }; var oldShop = GlobalConfig.ShopLoginList.FirstOrDefault(l => @@ -167,7 +165,7 @@ namespace TemuKJD.PDDForms.ShopForms if (oldShop == null) { GlobalConfig.ShopLoginList.Add(newShop); - PDDShopListForm.AddServerDouShop(newShop); // 店铺写入到服务端 + PDDShopListForm.AddServerPddShop(newShop); // 店铺写入到服务端 } else { @@ -178,6 +176,24 @@ namespace TemuKJD.PDDForms.ShopForms oldShop.ShopId = newShop.ShopId; oldShop.SubUserName = newShop.SubUserName; oldShop.Notes = newShop.Notes; + oldShop.AntiContents.AddRange(newShop.AntiContents); + while (oldShop.AntiContents.Count > 10) + oldShop.AntiContents.RemoveAt(0); + + // 店铺更新写入到服务端 + var url = BaseClass.BuildObjString("shop/mdy_shop"); + var data = UserLogin.GetSignaturex() + + "&login_name=" + oldShop.LoginName + + "&new_shop_id=" + oldShop.ShopId + + "&shop_account=" + oldShop.ShopAccount; + var result = GetHtml.PostUtf8(url, data); + + var urlAddress = BaseClass.BuildObjString("shop/mdy_anti_content"); + data = UserLogin.GetSignaturex() + + "&login_name=" + shop.LoginName + + "&shop_id=" + shop.ShopId + + "&anti_contents=" + JsonHelper.SerializeObject(shop.AntiContents); + result = GetHtml.PostUtf8(urlAddress, data); } } var lstShop = GlobalConfig.ShopLoginList.Where(l => l.LoginName == shop.LoginName).ToList(); @@ -306,10 +322,19 @@ namespace TemuKJD.PDDForms.ShopForms if (shop.Cookies2 == null) shop.Cookies2 = ""; - var cookie = shop.Cookies; - if (isMultiLogin) - cookie = shop.DictMultiCookies.Keys.Contains(MultiLoginCookieName) ? shop.DictMultiCookies[MultiLoginCookieName] : ""; - + //var cookie = shop.Cookies; + //if (isMultiLogin) + // cookie = shop.DictMultiCookies.Keys.Contains(MultiLoginCookieName) ? shop.DictMultiCookies[MultiLoginCookieName] : ""; + List cookieLst = new List(); + try + { + cookieLst = JsonHelper.DeserializeJsonToList(shop.Cookies); + if (cookieLst == null) + cookieLst = new List(); + } + catch + { + } Task.Run(() => { @@ -324,8 +349,15 @@ namespace TemuKJD.PDDForms.ShopForms CEFBrowser.DeleteCookie(cefWebBrowser.GetCookieManager(null)); //cef 138 如果没有设置RequestContext 可能为空,直接getCookieManager - var t = CEFBrowser.SetCookieAsync(shopCookieHead, cookie, cefWebBrowser.GetCookieManager(null)); - t.Wait(5000); + //if (this.openType != EnumOpenType.login) + { + //var t = CEFBrowser.SetCookieAsync(JsonHelper.SerializeObject(cookieLst), cefWebBrowser.GetCookieManager(null)); + foreach(var cook in cookieLst) + { + var t = CEFBrowser.SetCookieAsync(cook.Domain, cook.Name + "=" + cook.Value + ";", cefWebBrowser.GetCookieManager(null)); + t.Wait(5000); + } + } if (this.openType != EnumOpenType.login) { @@ -346,6 +378,8 @@ namespace TemuKJD.PDDForms.ShopForms if (!string.IsNullOrEmpty(InitUrl)) cefWebBrowser.Load(InitUrl); + else + cefWebBrowser.Load(shopMainUrl); //不是登录的话就此返回 if (openType != EnumOpenType.login) @@ -365,27 +399,17 @@ namespace TemuKJD.PDDForms.ShopForms } Thread.Sleep(Randomx.GetId(1500,2000)); - //设置 local storage - //if (GlobalConfig.dicLocalStorage != null) - //{ - // Thread.Sleep(500); - // string jsCode = "function setStorage() {"; - // foreach (var item in GlobalConfig.dicLocalStorage) - // { - // if (item.Key == "$TCC_CONFIG" || item.Key == "$TCC_CONFIG_operate_config" || item.Key == "menuStyleStr") - // continue; - - // jsCode += "window.localStorage.setItem('" + item.Key + "', '" + item.Value + "');\r\n"; - // } - // jsCode += "}"; - // jsCode += "setStorage();"; - // if (cefWebBrowser.GetBrowser().MainFrame.IsValid) - // cefWebBrowser.GetBrowser().MainFrame.ExecuteJavaScriptAsync(jsCode); - //} - if (!this.Created) return; + + while (!cefWebBrowser.Address.StartsWith(shopLoginUrl)) + { + Thread.Sleep(1000); + if (!this.Created) + return; + } + CEFBrowser.DeleteCookie(cefWebBrowser.GetCookieManager(null)); InputUserNameAndPassword(cefWebBrowser, shop.LoginName, DataOpenSSL.DecryptString(shop.Password)); }); } @@ -436,32 +460,45 @@ namespace TemuKJD.PDDForms.ShopForms cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(sb.ToString()); } + int GetAntiContentsTimes = 0; private void RequestHandler_ResourceLoadComplete(object sender, string url, string postData, string responseData, IRequest request) { + var antiContent = request.Headers.AllKeys.Contains("Anti-Content") ? request.Headers["Anti-Content"] : ""; + if (shop != null && !url.StartsWith("https://mms.pinduoduo.com/janus/api/userinfo") && !string.IsNullOrEmpty(antiContent)) + { + GetAntiContentsTimes++; + shop.AntiContents.Add(antiContent); + while (shop.AntiContents.Count > 10) + shop.AntiContents.RemoveAt(0); + if (!string.IsNullOrEmpty(shop.ShopId) && GetAntiContentsTimes > 5) + { + GetAntiContentsTimes = 0; + var antis = shop.AntiContents; + Task.Run(() => + { + var urlAddress = BaseClass.BuildObjString("shop/mdy_anti_content"); + var data = UserLogin.GetSignaturex() + + "&login_name=" + shop.LoginName + + "&shop_id=" + shop.ShopId + + "&anti_contents=" + JsonHelper.SerializeObject(antis); + var result = GetHtml.PostUtf8(urlAddress, data); + }); + } + } Task.Run(() => { - var data = responseData; - var uri = url; - if (data.Contains("球球小小")) - { - - } - if (data.Contains("supplierId") && data.Contains("\"success\":true")) - { - var supplierIds = BaseRegex.GetMatchRegex(ref data, "\"supplierId\":\\d{5,20}"); - if (supplierIds.Count > 0 && supplierIds[0].Groups.Count > 0) - { - var supplierId = supplierIds[0].Groups[0].Value.Replace("\"supplierId\":", "").ParseToLong(); - if (supplierId > 0) - this.currentSupplierId = supplierId; - } - } + //var data = responseData; + //if (data.Contains("supplierId") && data.Contains("\"success\":true")) + //{ + // var supplierIds = BaseRegex.GetMatchRegex(ref data, "\"supplierId\":\\d{5,20}"); + // if (supplierIds.Count > 0 && supplierIds[0].Groups.Count > 0) + // { + // var supplierId = supplierIds[0].Groups[0].Value.Replace("\"supplierId\":", "").ParseToLong(); + // if (supplierId > 0) + // this.currentSupplierId = supplierId; + // } + //} }); - if (url.StartsWith("https://seller.kuajingmaihuo.com/settle/site-main")) - { - cefWebBrowser.Load(shopMainUrl); - } - //if (url == shopMainUrl) if (url == "https://mms.pinduoduo.com/janus/api/userinfo") { Task.Run(() => @@ -471,7 +508,7 @@ namespace TemuKJD.PDDForms.ShopForms { var maskMobile = BaseRegex.GetStringJson(ref data, "mobile"); maskMobile = maskMobile.Split('*').Last(); - if (shop.LoginName.EndsWith(maskMobile)) + if (!string.IsNullOrEmpty(maskMobile) && shop.LoginName.EndsWith(maskMobile)) { lstShopCompany.Clear(); var jObj = JObject.Parse(data); @@ -480,19 +517,6 @@ namespace TemuKJD.PDDForms.ShopForms jArr = new JArray(); Thread.Sleep(500); - //foreach (var productObj in jArr) - //{ - // var prod = JsonHelper.SerializeObject(productObj); - // ShopCompany sc = new ShopCompany() - // { - // AccountId = BaseRegex.GetStringJson(ref prod, "mallId"), - // AccountName = BaseRegex.GetStringJson(ref prod, "mallName"), - // LoginName = shop.LoginName, - // UserName = BaseClass.UserName, - // LoginStatus = "登录成功", - // }; - // this.lstShopCompany.Add(sc); - //} ShopCompany sc = new ShopCompany() { @@ -502,35 +526,15 @@ namespace TemuKJD.PDDForms.ShopForms LoginName = shop.LoginName, UserName = BaseClass.UserName, LoginStatus = "登录成功", + AntiContent = antiContent, }; this.lstShopCompany.Add(sc); } } }); } - //if (url.Contains("_signature")) - //{ - // var re = request; - // if ((re.Headers != null && re.Headers.AllKeys.Contains("x-secsdk-csrf-token"))) - // { - // } - // Task.Run(() => - // { - // var _url = url; - // var data = responseData; - // var signature = url.Substring(url.IndexOf("_signature=") + "_signature=".Length).Split('&')[0]; - // if (shop != null) - // { - // shop.Signature = signature; - // } - // if (url.Contains("x-secsdk-csrf-token") || postData.Contains("x-secsdk-csrf-token") || data.Contains("x-secsdk-csrf-token")) - // { - // } - // }); - //} // 库存上传按钮 - if (currentUrl.StartsWith("https://seller.kuajingmaihuo.com/goods/product/list") || - currentUrl.StartsWith("https://agentseller.temu.com/goods/list")) + if (1 == 1 && currentUrl.StartsWith("https://mms.pinduoduo.com/goods/goods_list")) { Task.Run(() => { string sAddInputJs = @" @@ -556,11 +560,13 @@ namespace TemuKJD.PDDForms.ShopForms addGetProdButton(); function addGetProdButton() { - var productLst = document.getElementsByClassName('product-info_idContent__iDukx'); + var productLst = document.getElementsByClassName('goods-id'); for(i=0; i= 0) { - var sSpuId = productLst[i].innerText.replace('\r','').replace('\n','').replace('SPU ID:', ''); - productLst[i].innerHTML = productLst[i].innerHTML.replace("">"", "">""); + var addBtnItem = productLst[i].parentElement.parentElement; + if (addBtnItem.parentElement.innerHTML.indexOf('库存上传') < 0 && addBtnItem.parentElement.innerHTML.indexOf('ID:') >= 0) { + var sSpuId = addBtnItem.innerText.replace('\r','').replace('\n','').replace('ID: ', ''); + addBtnItem.outerHTML = addBtnItem.outerHTML.replace(""
"",""
"") + .replace(""
"", ""
""); } } }"; diff --git a/TEMUKJD/PDDForms/ShopForms/PDDShopUpdateCookieForm.cs b/TEMUKJD/PDDForms/ShopForms/PDDShopUpdateCookieForm.cs index b0711ef..3b9a707 100644 --- a/TEMUKJD/PDDForms/ShopForms/PDDShopUpdateCookieForm.cs +++ b/TEMUKJD/PDDForms/ShopForms/PDDShopUpdateCookieForm.cs @@ -312,7 +312,7 @@ namespace TemuKJD.PDDForms.ShopForms if (updateFrom != SetCookieFromEnum.normal_user) ShopBLL.AdminAddServerShop(newShop); // 店铺写入到服务端 else - PDDShopListForm.AddServerDouShop(newShop); // 店铺写入到服务端 + PDDShopListForm.AddServerPddShop(newShop); // 店铺写入到服务端 } } }