From 65092332089131a0dc2c2656a4a6f8074c30162d Mon Sep 17 00:00:00 2001 From: wule Date: Mon, 15 Sep 2025 10:36:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A8=A1=E6=8B=9F=E6=8F=90=E4=BA=A4=E5=95=86?= =?UTF-8?q?=E5=93=81=EF=BC=8C=E6=B5=8B=E8=AF=95=E6=9C=80=E5=A4=9A=E8=83=BD?= =?UTF-8?q?=E4=BC=A050=E4=BB=B6=E5=B7=A6=E5=8F=B3=E5=B0=B1=E4=BC=9A?= =?UTF-8?q?=E5=87=BA=E9=99=90=E5=88=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AllBase/AllBase.csproj | 8 +- AllBase/BaseClass.cs | 4 +- AllBase/GetHtml.cs | 26 + .../PDDProdDecorationCommitParam.cs | 41 + .../PDDProdParam/PDDProductUploadParam.cs | 259 +++++ .../{TemuDBProduct.cs => KJDDBProduct.cs} | 2 +- .../PDDResult/PDDProductDecorationInfo.cs | 65 ++ .../Result/PDDResult/PDDProductDetailInfo.cs | 47 +- .../Model/Result/PDDResult/PDDProductInfo.cs | 15 + .../PDDResult/PDDProductPropertyInfo.cs | 28 + .../PDDResult/PDDProductTemplateInfo.cs | 117 ++ AllBase/Model/Result/ShopLoginInfo.cs | 3 +- .../Result/TemuDBProductPurchasePriceInfo.cs | 3 + TEMUKJD/BLL/HttpResponseBLL.cs | 66 ++ TEMUKJD/BLL/ShopBLL.cs | 3 +- TEMUKJD/InitForm.Designer.cs | 1 + TEMUKJD/InitForm.cs | 14 + .../DbProductEditNotesForm.cs | 4 +- .../ProductSelectForms/DbProductListForm.cs | 16 +- .../DbProductSelectListManageForm.Designer.cs | 6 +- .../DbProductSelectListManageForm.cs | 12 +- .../ProductThirdSelectListManageForm.cs | 14 +- .../ShopOrderStatisticsForm.Designer.cs | 494 +++++---- .../Statistics/ShopOrderStatisticsForm.cs | 23 + .../PDDAdminShopListForm.Designer.cs | 1 + .../PDDAdminShopLoginForm.Designer.cs | 7 +- .../AdminForms/PDDAdminShopLoginForm.cs | 33 +- .../PDDDBProdEditNotesForm.cs | 4 +- .../PDDDBProdListForm.Designer.cs | 89 +- .../ProductSelectForms/PDDDBProdListForm.cs | 49 +- .../PDDDBProdUserSelectForm.Designer.cs | 294 +++++- .../PDDDBProdUserSelectForm.cs | 998 +++++++++++++++++- .../PDDDBProdUserSelectForm.resx | 7 +- .../ShopForms/PDDShopBrowserObject.cs | 217 +++- .../ShopForms/PDDShopListForm.Designer.cs | 1 + TEMUKJD/PDDForms/ShopForms/PDDShopListForm.cs | 37 +- .../PDDForms/ShopForms/PDDShopLoginForm.cs | 18 +- 37 files changed, 2576 insertions(+), 450 deletions(-) create mode 100644 AllBase/Model/Param/PDDProdParam/PDDProdDecorationCommitParam.cs create mode 100644 AllBase/Model/Param/PDDProdParam/PDDProductUploadParam.cs rename AllBase/Model/Result/{TemuDBProduct.cs => KJDDBProduct.cs} (97%) create mode 100644 AllBase/Model/Result/PDDResult/PDDProductDecorationInfo.cs create mode 100644 AllBase/Model/Result/PDDResult/PDDProductInfo.cs create mode 100644 AllBase/Model/Result/PDDResult/PDDProductPropertyInfo.cs create mode 100644 AllBase/Model/Result/PDDResult/PDDProductTemplateInfo.cs diff --git a/AllBase/AllBase.csproj b/AllBase/AllBase.csproj index d438c36..d154b98 100644 --- a/AllBase/AllBase.csproj +++ b/AllBase/AllBase.csproj @@ -187,12 +187,18 @@ + + + + + + @@ -205,7 +211,7 @@ - + diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs index d19050a..186ca40 100644 --- a/AllBase/BaseClass.cs +++ b/AllBase/BaseClass.cs @@ -27,8 +27,8 @@ namespace AllBase /// /// 版本ID /// - public static int VersionCount = 585; - //public static int VersionCount = 585; + public static int VersionCount = 587; + //public static int VersionCount = 587; /// /// 版本号 diff --git a/AllBase/GetHtml.cs b/AllBase/GetHtml.cs index 59dcb77..b952e17 100644 --- a/AllBase/GetHtml.cs +++ b/AllBase/GetHtml.cs @@ -2001,5 +2001,31 @@ Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrom } } } + + /// + /// 字符串转Unicode + /// + /// 源字符串 + /// Unicode编码后的字符串 + public static string String2Unicode(string source) + { + var bytes = Encoding.Unicode.GetBytes(source); + var stringBuilder = new StringBuilder(); + for (var i = 0; i < bytes.Length; i += 2) + { + stringBuilder.AppendFormat("\\u{0}{1}", bytes[i + 1].ToString("x").PadLeft(2, '0'), bytes[i].ToString("x").PadLeft(2, '0')); + } + return stringBuilder.ToString(); + } + + /// + /// Unicode转字符串 + /// + /// 经过Unicode编码的字符串 + /// 正常字符串 + public static string Unicode2String(string source) + { + return new Regex(@"\\u([0-9A-F]{4})", RegexOptions.IgnoreCase | RegexOptions.Compiled).Replace(source, x => Convert.ToChar(Convert.ToUInt16(x.Result("$1"), 16)).ToString()); + } } } diff --git a/AllBase/Model/Param/PDDProdParam/PDDProdDecorationCommitParam.cs b/AllBase/Model/Param/PDDProdParam/PDDProdDecorationCommitParam.cs new file mode 100644 index 0000000..ca044f8 --- /dev/null +++ b/AllBase/Model/Param/PDDProdParam/PDDProdDecorationCommitParam.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AllBase.Model.Param.PDDProdParam +{ + public class PDDProdDecorationCommitParam + { + public long? goods_id { get; set; } + public long? goods_commit_id { get; set; } + public List decoration_floor_list { get; set; } + public string preview_key { get; set; } + } + + public class decoration_floor_param + { + public string type { get; set; } + public long? floor_id { get; set; } = null; + public List content_list { get; set; } + } + + public class decoration_content_param + { + public string text { get; set; } + public string img_url { get; set; } + public int? height { get; set; } + public int? width { get; set; } + public text_module_detail_param text_module_details { get; set; } + public object file_id { get; set; } + } + public class text_module_detail_param + { + public int? font_size { get; set; } + public int font_family { get; set; } + public string align { get; set; } + public string background_color { get; set; } + public string font_color { get; set; } + } +} diff --git a/AllBase/Model/Param/PDDProdParam/PDDProductUploadParam.cs b/AllBase/Model/Param/PDDProdParam/PDDProductUploadParam.cs new file mode 100644 index 0000000..be11317 --- /dev/null +++ b/AllBase/Model/Param/PDDProdParam/PDDProductUploadParam.cs @@ -0,0 +1,259 @@ +using AllBase.Model.Result.PDDResult; +using NaiBa.Util.Extension; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AllBase.Model.Param.PDDProdParam +{ + public class PDDProductUploadParam + { + public long? goods_id { get; set; } + public string goods_commit_id { get; set; } + public List goods_commit_check { get; set; } = new List(); + public List reject_reason { get; set; } = new List(); + public string reject_status { get; set; } = ""; + public int? check_status { get; set; } = 9; + public string goods_name { get; set; } + public List carousel_video { get; set; } = new List(); + public List detail_video { get; set; } = new List(); + public string goods_desc { get; set; } + public string warm_tips { get; set; } = ""; + public int? cat_id { get; set; } + public List cats { get; set; } + public string image_url { get; set; } = ""; + public object oversea_goods { get; set; } = new object(); + public object spu { get; set; } = new object(); + public isbn_properties_related_param isbn_properties_related { get; set; } + public List propertys_standard { get; set; } + /// + /// 是否草稿 + /// + public bool? is_draft { get; set; } = false; + public string goods_name_prefix { get; set; } = ""; + public string name_prefix { get; set; } = ""; + public object size_spec_id { get; set; } + public object is_gold_price_matched { get; set; } + public bool hasBatchEnter { get; set; } = false; + public instruction_vo_item instruction_vo { get; set; } + + public List ai_carousel_gallery { get; set; } = new List(); + public List explanation_video { get; set; } = new List(); + public List tag_price_gallery { get; set; } = new List(); + public List ingredient_gallery { get; set; } = new List(); + public List nutrition_gallery { get; set; } = new List(); + public List ai_goods_video { get; set; } = new List(); + public int? third_type { get; set; } = 0; + public List cat_ids { get; set; } + public int? bad_fruit_claim { get; set; } = 0; + public List booking_notes { get; set; } = new List(); + + public object instruction_template_id { get; set; } + public bool? first_upload_carousel { get; set; } = true; + public int? propertys_tid { get; set; } // 手套 27715 获取接口Get方法:https://mms.pinduoduo.com/draco-ms/mms/template/mall?catId=17031&goodsCommitId=168372796489&goodsId=816294785499 + public bool? propertys_edit_search_spu { get; set; } = false; + public long? service_time { get; set; } + public int? electric_status { get; set; } = 0; + public bool? isGoodsLock { get; set; } = false; + public bool? imageEnhanceGray { get; set; } = false; + public bool? materialModalAbGray { get; set; } = true; + public bool? uploadDragAB { get; set; } = false; + public bool? materialReplaceTagGray { get; set; } = true; + public bool? hide_apply { get; set; } = false; + public bool? showGoodsInstruction { get; set; } = true; + public bool? decorationCanEdit { get; set; } = true; + public bool? must_have_spu { get; set; } = false; + public bool? can_not_change_cat { get; set; } = false; + public bool? can_not_change_spu { get; set; } = false; + public bool? is_transfer_spu { get; set; } = false; + public List title_keywords { get; set; } + public object title_recommend { get; set; } + public string prefillWhitePic { get; set; } + public string tiny_name { get; set; } + + public List decorationDetail { get; set; } + public string decorationPreview { get; set; } + public object size_parent_spec_id { get; set; } + public int? is_shop { get; set; } = 0; + public int? goods_type { get; set; } = 1; + public int? invoice_status { get; set; } = 0; + public int? privacy_delivery { get; set; } = 0; + public object invoice_mode { get; set; } + public int? zhi_huan_bu_xiu { get; set; } = 0; + public int? quan_guo_lian_bao { get; set; } = 0; + public int? second_hand { get; set; } = 0; + public bool? is_two_num_group { get; set; } = false; + public int? is_pre_sale { get; set; } = 0; + public string pre_sale_time { get; set; } + public string country_id { get; set; } = "0"; + public int? origin_country_id { get; set; } = 0; + public string warehouse { get; set; } + public string customs { get; set; } + public int? is_customs { get; set; } = 0; + public long? shipment_limit_second { get; set; } = 172800; + public object delivery_type { get; set; } + public long? cost_template_id { get; set; } //136204643207510; + public string weight { get; set; } = ""; + public bool? is_all_weight_same { get; set; } = true; + + public group_item groups { get; set; } + + public int? is_folt { get; set; } = 0; + public int? is_refundable { get; set; } = 1; + public int? thawed_refund { get; set; } = 0; + public int? damage_claim { get; set; } = 0; + public int? lack_of_weight_claim { get; set; } = 0; + public int? goods_certificate { get; set; } = 0; + public int? goods_pattern { get; set; } = 8; + public int? customizable { get; set; } = 0; + public object local_service_id_list { get; set; } + public int? shop_group_id { get; set; } = 0; + + public schedule_sale_param schedule_sale { get; set; } + public List card_verification_list { get; set; } = new List(); + public bool? is_spring_festival_open_tag { get; set; } = false; + public List transport_type_list { get; set; } = new List(); + + public int? is_refundable_fifteen_day { get; set; } = 0; + public int? is_warranty_one_year { get; set; } = 0; + public extend_warranty_dto_param extend_warranty_dto { get; set; } + + public string home_delivery_template_name { get; set; } = ""; + public object invoice_mode_sub_type { get; set; } + public int? is_certificate_provide { get; set; } = 0; + public bool? isAddLocalCityGoods { get; set; } = false; + public int? is_customized { get; set; } = 0; + public bool? isCoupon { get; set; } = false; + public bool? allow_purchase_info_supply { get; set; } = false; + public int? effect_logistics_weight_limit { get; set; } = 20000; + public int? same_city_template_id { get; set; } = 0; + public int? is_default_template_id { get; set; } = 1; + public object cost_template_error { get; set; } = ""; + public int? allergy_refund { get; set; } = 0; + public int? is_wp_service { get; set; } = 0; + public int? is_size_change_casually { get; set; } = 0; + public int? origin_is_pre_sale { get; set; } = 0; + public List goods_srv_templates { get; set; } = new List(); + + public bool? is_only_for_remote_area { get; set; } = false; + public bool? default_template_gray { get; set; } = true; + public int? shipment_limit_second_origin_value { get; set; } = 0; + public object elec_goods_attributes { get; set; } + public int? delivery_one_day { get; set; } = 0; + public int? is_sku_shipment { get; set; } = 0; + public object mai_jia_zi_ti { get; set; } + public object shang_men_an_zhuang { get; set; } + public object song_huo_an_zhuang { get; set; } + public object song_huo_ru_hu { get; set; } + public List qualification_id_list { get; set; } = new List(); + + public List skus { get; set; } + + public string market_price_in_yuan { get; set; } + public int? market_price { get; set; } + public string out_goods_sn { get; set; } = ""; + public int? dead_line_seconds { get; set; } = 86399; + public int? two_pieces_discount { get; set; } = 95; + public int? gold_price_template_id { get; set; } = 0; + public int? processing_charges { get; set; } = 0; + public string processing_charges_in_yuan { get; set; } = "0"; + public int? processing_charges_type { get; set; } = 0; + public List gallery { get; set; } + public int? is_sku_pre_sale { get; set; } = 0; + public int? is_group_pre_sale { get; set; } = 0; + + public List goods_properties { get; set; } + public object is_goods_copy { get; set; } + public bool? is_auto_save { get; set; } = false; + public string validate_message { get; set; } + public string validate_message_v2 { get; set; } + /// + /// anti-content + /// + public string crawlerInfo { get; set; } + } + + public class goods_property_param + { + public long? template_pid { get; set; } + public long? template_module_id { get; set; } + public int? ref_pid { get; set; } + public int? pid { get; set; } + public int? vid { get; set; } + public string value { get; set; } + public string value_unit { get; set; } + public string content { get; set; } + } + + public class gallery_param + { + public string url { get; set; } + public int? type { get; set; } + public object file_id { get; set; } + } + + public class extend_warranty_dto_param + { + public int? extend_warranty { get; set; } = 0; + } + + public class schedule_sale_param + { + public int? sale_type { get; set; } = 0; + } + + public class title_keyword_param + { + public string keyword { get; set; } + public string source { get; set; } + public bool? hot { get; set; } + public object rk { get; set; } + public object bad_keyword { get; set; } + public object good_tag_desc { get; set; } + public object bad_tag_desc { get; set; } + + } + public class isbn_properties_related_param + { + public bool? isInit { get; set; } = true; + } + + public class sku_param + { + public long? id { get; set; } + public int? limit_quantity { get; set; } + public string out_sku_sn { get; set; } + public int? is_onsale { get; set; } + public string multi_price_in_yuan + { + get { return (multi_price.ParseToInt() * 0.01).ParseToString(); } + set { } + } + public string price_in_yuan + { + get { return (price.ParseToInt() * 0.01).ParseToString(); } + set { } + } + public int? multi_price { get; set; } + public int? price { get; set; } + public int? quantity_delta { get; set; } + public string thumb_url { get; set; } + public int? weight { get; set; } + public List spec { get; set; } + public object oversea_sku { get; set; } + public string sku_srv_templates { get; set; } + public List shipment_limit_second_list { get; set; } + public string sku69_code { get; set; } + } + + public class spec_param + { + public long? parent_id { get; set; } + public string parent_name { get; set; } + public long? spec_id { get; set; } + public string spec_name { get; set; } + public object is_custom { get; set; } + } +} diff --git a/AllBase/Model/Result/TemuDBProduct.cs b/AllBase/Model/Result/KJDDBProduct.cs similarity index 97% rename from AllBase/Model/Result/TemuDBProduct.cs rename to AllBase/Model/Result/KJDDBProduct.cs index 992f379..88fc845 100644 --- a/AllBase/Model/Result/TemuDBProduct.cs +++ b/AllBase/Model/Result/KJDDBProduct.cs @@ -9,7 +9,7 @@ namespace AllBase.Model.Result /// /// 选品数据库商品类 /// - public class TemuDBProduct + public class KJDDBProduct { public int id { get; set; } public string from_shop_id { get; set; } diff --git a/AllBase/Model/Result/PDDResult/PDDProductDecorationInfo.cs b/AllBase/Model/Result/PDDResult/PDDProductDecorationInfo.cs new file mode 100644 index 0000000..92929a2 --- /dev/null +++ b/AllBase/Model/Result/PDDResult/PDDProductDecorationInfo.cs @@ -0,0 +1,65 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AllBase.Model.Result.PDDResult +{ + public class PDDProductDecorationInfo + { + public long? goods_id { get; set; } + public long? goods_commit_id { get; set; } + public long? mall_id { get; set; } + public List floor_list { get; set; } = new List(); + public long? create_time { get; set; } + public long? update_time { get; set; } + } + + public class PDDProdfloorItem + { + public long? floor_id { get; set; } + public string key { get; set; } + public string type { get; set; } + public int? priority { get; set; } + public List content_list { get; set; } + public object check_status { get; set; } + public object check_id { get; set; } + public object check_name { get; set; } + public object comment { get; set; } + public object if_have_template { get; set; } + public object floor_status { get; set; } + public object template_id { get; set; } + public object template_type { get; set; } + public object template_json { get; set; } + } + + public class PDDProdContentItem + { + public string img_url { get; set; } + public long? file_id { get; set; } + public int? height { get; set; } + public int? width { get; set; } + public int? file_status { get; set; } + public object goods_id { get; set; } + public object goods_name { get; set; } + public object show_price { get; set; } + public object status { get; set; } + public object min_on_sale_group_price { get; set; } + public string text { get; set; } + public object hot_zone_list { get; set; } + public text_module_detail_item text_module_details { get; set; } + public object activity_sn { get; set; } + public object combine_buy_element_dtolist { get; set; } + + } + + public class text_module_detail_item + { + public int? font_size { get; set; } + public string font_color { get; set; } + public int font_family { get; set; } + public string align { get; set; } + public string background_color { get; set; } + } +} diff --git a/AllBase/Model/Result/PDDResult/PDDProductDetailInfo.cs b/AllBase/Model/Result/PDDResult/PDDProductDetailInfo.cs index 0b16bbc..bccf320 100644 --- a/AllBase/Model/Result/PDDResult/PDDProductDetailInfo.cs +++ b/AllBase/Model/Result/PDDResult/PDDProductDetailInfo.cs @@ -60,12 +60,12 @@ namespace AllBase.Model.Result.PDDResult 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 group_item groups { get; set; } + public commit_extension_item 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 mall_info_item mall_info { get; set; } + public List sku { get; set; } public object reject_status { get; set; } @@ -107,7 +107,7 @@ namespace AllBase.Model.Result.PDDResult 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 schedule_sale_item schedule_sale { get; set; } public object goods_trade_attr { get; set; } public object goods_travel_attr { get; set; } @@ -120,10 +120,10 @@ namespace AllBase.Model.Result.PDDResult 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 bool? is_spring_festival_open_tag { get; set; } public int? two_pieces_discount { get; set; } - public instruction_voItem instruction_vo { get; set; } + public instruction_vo_item 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; } @@ -133,7 +133,7 @@ namespace AllBase.Model.Result.PDDResult 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 extend_warranty_dto_item 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; } @@ -156,7 +156,7 @@ namespace AllBase.Model.Result.PDDResult 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 int? 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; } @@ -179,7 +179,7 @@ namespace AllBase.Model.Result.PDDResult public object check_type { get; set; } } - public class groupsItem + public class group_item { public int? single_price { get; set; } public int? group_price { get; set; } @@ -187,13 +187,14 @@ namespace AllBase.Model.Result.PDDResult 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 string regular_limit { get; set; } public object regular_limit_duration { get; set; } public object min_num_of_order { get; set; } + public int? community_group_buying { get; set; } = 0; } - public class commit_extensionItem + public class commit_extension_item { public int? id { get; set; } public int? goods_commit_id { get; set; } @@ -207,7 +208,7 @@ namespace AllBase.Model.Result.PDDResult public object updated_at { get; set; } } - public class galleryItem + public class gallery_item { public string url { get; set; } public int? width { get; set; } @@ -222,11 +223,11 @@ namespace AllBase.Model.Result.PDDResult public object origin_url { get; set; } } - public class mall_infoItem { + public class mall_info_item { public string mall_name { get; set; } } - public class skuItem + public class sku_item { public long? id { get; set; } public long? sku_id { get; set; } @@ -247,14 +248,14 @@ namespace AllBase.Model.Result.PDDResult 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 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 oversea_sku_item oversea_sku { get; set; } public object cspu_id { get; set; } public object child_skus { get; set; } public long? ref_sku_commit_id { get; set; } @@ -275,7 +276,7 @@ namespace AllBase.Model.Result.PDDResult } - public class specItem + public class spec_item { public int? parent_id { get; set; } public string parent_name { get; set; } @@ -287,7 +288,7 @@ namespace AllBase.Model.Result.PDDResult public object is_custom { get; set; } } - public class oversea_skuItem + public class oversea_sku_item { public object specifications { get; set; } public object measurement_code { get; set; } @@ -296,7 +297,7 @@ namespace AllBase.Model.Result.PDDResult public object record_id_list { get; set; } } - public class schedule_saleItem + public class schedule_sale_item { public int? sale_type { get; set; } public object sale_time_fixed { get; set; } @@ -304,7 +305,7 @@ namespace AllBase.Model.Result.PDDResult public object price_show { get; set; } } - public class instruction_voItem + public class instruction_vo_item { public object template_id { get; set; } public int? template_status { get; set; } @@ -312,7 +313,7 @@ namespace AllBase.Model.Result.PDDResult public object rejected_reason { get; set; } } - public class extend_warranty_dtoItem + public class extend_warranty_dto_item { public int? extend_warranty { get; set; } public object extend_warranty_year { get; set; } diff --git a/AllBase/Model/Result/PDDResult/PDDProductInfo.cs b/AllBase/Model/Result/PDDResult/PDDProductInfo.cs new file mode 100644 index 0000000..96d09ca --- /dev/null +++ b/AllBase/Model/Result/PDDResult/PDDProductInfo.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AllBase.Model.Result.PDDResult +{ + public class PDDProductInfo + { + public PDDProductDetailInfo detail { get; set; } + public PDDProductDecorationInfo decoration { get; set; } + public PDDProductPropertyInfo property { get; set; } + } +} diff --git a/AllBase/Model/Result/PDDResult/PDDProductPropertyInfo.cs b/AllBase/Model/Result/PDDResult/PDDProductPropertyInfo.cs new file mode 100644 index 0000000..65d578e --- /dev/null +++ b/AllBase/Model/Result/PDDResult/PDDProductPropertyInfo.cs @@ -0,0 +1,28 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AllBase.Model.Result.PDDResult +{ + public class PDDProductPropertyInfo + { + public List goods_properties { get; set; } + public object sku_properties { get; set; } + } + + public class goods_propertie_item + { + public string name { get; set; } + public int? ref_pid { get; set; } + public List values { get; set; } + } + public class value_item + { + public int? vid { get; set; } + public string value { get; set; } + public string unit { get; set; } + public string raw_value { get; set; } + } +} diff --git a/AllBase/Model/Result/PDDResult/PDDProductTemplateInfo.cs b/AllBase/Model/Result/PDDResult/PDDProductTemplateInfo.cs new file mode 100644 index 0000000..bccf011 --- /dev/null +++ b/AllBase/Model/Result/PDDResult/PDDProductTemplateInfo.cs @@ -0,0 +1,117 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace AllBase.Model.Result.PDDResult +{ + public class PDDProductTemplateInfo + { + public int? id { get; set; } + public int? source_template_id { get; set; } + public string name { get; set; } + public List cat_ids { get; set; } + public List cats { get; set; } + + public int? dark_launch_type { get; set; } + public string dark_launch_rule { get; set; } + public int? dark_launch_rate { get; set; } + public List dark_launch_option { get; set; } + public int? sort_order { get; set; } + public int? status { get; set; } + public int? input_max_spec_num { get; set; } + public bool choose_all_qualify_spec { get; set; } + public int? single_spec_value_num { get; set; } + public string spec_tip { get; set; } + public bool is_single_item { get; set; } + public int? channel { get; set; } + public int? type { get; set; } + public List modules { get; set; } + public object spec_module { get; set; } + public bool? is_spec { get; set; } + public int? max_sku_num { get; set; } + public bool? custom_upload_pic { get; set; } + } + + public class pdd_module_item + { + public int? id { get; set; } + public int? module_id { get; set; } + public int? sort_order { get; set; } + public int? status { get; set; } + public List propertys { get; set; } + public int? type { get; set; } + } + + public class pdd_property_item + { + public int? id { get; set; } + public string name_alias { get; set; } + public int? pid { get; set; } + public string value_unit { get; set; } + public int? value_precision { get; set; } + public string max_value{ get; set; } + public string min_value { get; set; } + public string top_tip { get; set; } + public string bottom_tip { get; set; } + public int? sort_order { get; set; } + public bool required { get; set; } + public int? required_type { get; set; } + public int? required_rule_type { get; set; } + public int? status { get; set; } + public int? show_type { get; set; } + public pdd_property_value_item values { get; set; } + public List value_ids { get; set; } + public int? control_type { get; set; } + public int? value_type { get; set; } + public int? choose_max_num { get; set; } + public int? parent_template_pid { get; set; } + public int? ref_pid { get; set; } + public object rule { get; set; } + + public int? auto_compute_type { get; set; } + public bool? is_key { get; set; } + public bool? is_important { get; set; } + public int? value_source { get; set; } + public int? rule_property_type { get; set; } + public bool? is_editable { get; set; } + public bool? value_can_sort { get; set; } + public bool? show_feedback { get; set; } + public int? entity_type { get; set; } + public int? mask_rule_type { get; set; } + public bool? is_ref_only { get; set; } + } + + public class pdd_property_value_item + { + public List content { get; set; } + public int? total { get; set; } + public pdd_property_value_pageable_item pageable { get; set; } + public int? total_pages { get; set; } + public bool? first_page { get; set; } + public bool last_page { get; set; } + public int? size { get; set; } + public int? number { get; set; } + } + + public class pdd_property_value_pageable_item + { + public int? page_number { get; set; } + public int? page_size { get; set; } + public int? offset { get; set; } + public bool? need_count { get; set; } + + } + public class pdd_property_value_content_item + { + public int? vid { get; set; } + public string value { get; set; } + } + + public class cat_item + { + public int? cat_id { get; set; } + public string cat_name { get; set; } + } +} diff --git a/AllBase/Model/Result/ShopLoginInfo.cs b/AllBase/Model/Result/ShopLoginInfo.cs index 3852897..ae8fd91 100644 --- a/AllBase/Model/Result/ShopLoginInfo.cs +++ b/AllBase/Model/Result/ShopLoginInfo.cs @@ -1,5 +1,6 @@ using AllBase.Model.Param.FissionManage; using CefSharp.WinForms; +using NaiBa.Util; using NaiBa.Util.Extension; using Newtonsoft.Json; using System; @@ -30,7 +31,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 ConcurrentList AntiContents { get; set; } = new ConcurrentList(); public Dictionary DictMultiCookies { get; set; } = new Dictionary(); public string LoginStatus { get; set; } public string LoginStatus2 { get; set; } diff --git a/AllBase/Model/Result/TemuDBProductPurchasePriceInfo.cs b/AllBase/Model/Result/TemuDBProductPurchasePriceInfo.cs index a896897..dada444 100644 --- a/AllBase/Model/Result/TemuDBProductPurchasePriceInfo.cs +++ b/AllBase/Model/Result/TemuDBProductPurchasePriceInfo.cs @@ -6,6 +6,9 @@ using System.Threading.Tasks; namespace AllBase.Model.Result { + /// + /// 数据库商品成进价 + /// public class TemuDBProductPurchasePriceInfo { public int id { get; set; } diff --git a/TEMUKJD/BLL/HttpResponseBLL.cs b/TEMUKJD/BLL/HttpResponseBLL.cs index 912ff80..ea6c3c1 100644 --- a/TEMUKJD/BLL/HttpResponseBLL.cs +++ b/TEMUKJD/BLL/HttpResponseBLL.cs @@ -375,6 +375,72 @@ namespace TemuKJD.BLL result = GetProxyHtml.ReadResponse(response); return result; } + + + public static string PDDGetResponse(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.Headers.Add("sec-ch-ua-mobile", @"?0"); + request.Accept = "*/*"; + 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); + + 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/ShopBLL.cs b/TEMUKJD/BLL/ShopBLL.cs index 12696be..8ffead1 100644 --- a/TEMUKJD/BLL/ShopBLL.cs +++ b/TEMUKJD/BLL/ShopBLL.cs @@ -162,7 +162,8 @@ namespace TemuKJD.BLL //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.AntiContents.Clear(); + shop.AntiContents.AddRange(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/InitForm.Designer.cs b/TEMUKJD/InitForm.Designer.cs index b254d07..8cac6d5 100644 --- a/TEMUKJD/InitForm.Designer.cs +++ b/TEMUKJD/InitForm.Designer.cs @@ -91,6 +91,7 @@ this.btnOK.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); this.btnOK.TabIndex = 753; this.btnOK.Text = "确 定"; + this.btnOK.Visible = false; this.btnOK.Click += new System.EventHandler(this.btnOK_Click); // // chkRemember diff --git a/TEMUKJD/InitForm.cs b/TEMUKJD/InitForm.cs index c8b4830..1b376bd 100644 --- a/TEMUKJD/InitForm.cs +++ b/TEMUKJD/InitForm.cs @@ -12,6 +12,7 @@ using System.Threading.Tasks; using System.Windows.Forms; using AllBase.Helper; using NaiBa.Util.Helper; +using System.IO; namespace TemuKJD { @@ -27,6 +28,11 @@ namespace TemuKJD private void InitForm_Load(object sender, EventArgs e) { + if (File.Exists(System.Environment.CurrentDirectory + "\\YkdChoice.dll")) + { + this.panel3.Location = new Point(4, 4); + this.panel4.Visible = true; + } #if DEBUG this.panel3.Location = new Point(4, 4); this.panel4.Visible=true; @@ -52,6 +58,14 @@ namespace TemuKJD if (this.progressBarX1.Value >= 50) Thread.Sleep(300); } + Invoke(new Action(() => + { + btnOK.Visible = true; + })); + if (File.Exists(System.Environment.CurrentDirectory + "\\YkdChoice.dll")) + { + Thread.Sleep(2500); + } if (initFormSettings.Remember) Thread.Sleep(500); Invoke(new Action(() => diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductEditNotesForm.cs b/TEMUKJD/KJDForms/ProductSelectForms/DbProductEditNotesForm.cs index ec5eaa0..1327586 100644 --- a/TEMUKJD/KJDForms/ProductSelectForms/DbProductEditNotesForm.cs +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductEditNotesForm.cs @@ -17,9 +17,9 @@ namespace TemuKJD.KJDForms.ProductSelectForms { public partial class DbProductEditNotesForm : LRBaseForm { - TemuDBProduct dbProd = null; + KJDDBProduct dbProd = null; - public DbProductEditNotesForm(TemuDBProduct prod) + public DbProductEditNotesForm(KJDDBProduct prod) { InitializeComponent(); diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductListForm.cs b/TEMUKJD/KJDForms/ProductSelectForms/DbProductListForm.cs index d868e76..18a88a7 100644 --- a/TEMUKJD/KJDForms/ProductSelectForms/DbProductListForm.cs +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductListForm.cs @@ -26,7 +26,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms { ShopLoginInfo shop = null; - List lstTemuDbProduct = new List(); + List lstTemuDbProduct = new List(); public DbProductListForm() { @@ -203,9 +203,9 @@ namespace TemuKJD.KJDForms.ProductSelectForms }); } - public List GetProductList(out int pageCount, int page = 1, int pageSize = 200) + public List GetProductList(out int pageCount, int page = 1, int pageSize = 200) { - List list = new List(); + List list = new List(); pageCount = 1; var url = BaseClass.BuildObjString("product/get_product_list"); @@ -260,12 +260,12 @@ namespace TemuKJD.KJDForms.ProductSelectForms try { - list = JsonHelper.DeserializeJsonToList(sProd); + list = JsonHelper.DeserializeJsonToList(sProd); return list; } catch (Exception ex) { - return new List(); + return new List(); } } @@ -323,7 +323,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms imgFrom.ShowDialog(); break; case "认领": - Task.Run(() => { SelectProduct(new TemuDBProduct[] { dbProduct }); }); + Task.Run(() => { SelectProduct(new KJDDBProduct[] { dbProduct }); }); break; case "": dgvDbProduct.Rows[e.RowIndex].Cells["colSelect"].Value = !(bool)dgvDbProduct.Rows[e.RowIndex].Cells["colSelect"].Value; @@ -333,7 +333,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms } } - private void SelectProduct(TemuDBProduct[] prods) + private void SelectProduct(KJDDBProduct[] prods) { if (shop == null) { @@ -441,7 +441,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms })); } - public static string GetFissionProductName(TemuDBProduct prod) + public static string GetFissionProductName(KJDDBProduct prod) { string headWords = ""; diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.Designer.cs b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.Designer.cs index bbbe481..bb50575 100644 --- a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.Designer.cs +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.Designer.cs @@ -872,7 +872,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); @@ -897,7 +897,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); @@ -1251,7 +1251,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); diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs index 1681e19..3693686 100644 --- a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs @@ -795,12 +795,12 @@ namespace TemuKJD.KJDForms.ProductSelectForms return list.FirstOrDefault(); } - public static TemuDBProduct GetProductDetail(string prodDbId) + public static KJDDBProduct GetProductDetail(string prodDbId) { if (string.IsNullOrEmpty(prodDbId)) - return new TemuDBProduct(); + return new KJDDBProduct(); - List list = new List(); + List list = new List(); var url = BaseClass.BuildObjString("product/get_product_detail_list"); var data = ""; @@ -824,10 +824,10 @@ namespace TemuKJD.KJDForms.ProductSelectForms try { - list = JsonHelper.DeserializeJsonToList(sProd); + list = JsonHelper.DeserializeJsonToList(sProd); var item = list.FirstOrDefault(); if (item == null) - item = new TemuDBProduct(); + item = new KJDDBProduct(); return item; } catch (Exception ex) @@ -836,7 +836,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms } } - string UploadProduct(ShopLoginInfo shop, TemuDBProduct dbProd, TemuDBProductSelect selectProd, DataGridViewCell cell) + string UploadProduct(ShopLoginInfo shop, KJDDBProduct dbProd, TemuDBProductSelect selectProd, DataGridViewCell cell) { if (shop == null || string.IsNullOrEmpty(shop.ShopId) || shop.LoginStatus != "登录成功" || shop.LoginStatus2 != "国际版在线") { diff --git a/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.cs b/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.cs index e20c4ea..879ad08 100644 --- a/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.cs +++ b/TEMUKJD/KJDForms/ProductThirdSelectForms/ProductThirdSelectListManageForm.cs @@ -759,12 +759,12 @@ namespace TemuKJD.KJDForms.ProductThirdSelectForms return list.FirstOrDefault(); } - public TemuDBProduct GetProductDetail(string prodDbId) + public KJDDBProduct GetProductDetail(string prodDbId) { if (string.IsNullOrEmpty(prodDbId)) - return new TemuDBProduct(); + return new KJDDBProduct(); - List list = new List(); + List list = new List(); var url = BaseClass.BuildObjString("product_third/get_product_detail_list"); var data = ""; @@ -788,10 +788,10 @@ namespace TemuKJD.KJDForms.ProductThirdSelectForms try { - list = JsonHelper.DeserializeJsonToList(sProd); + list = JsonHelper.DeserializeJsonToList(sProd); var item = list.FirstOrDefault(); if (item == null) - item = new TemuDBProduct(); + item = new KJDDBProduct(); return item; } catch (Exception ex) @@ -800,7 +800,7 @@ namespace TemuKJD.KJDForms.ProductThirdSelectForms } } - string UploadProduct(ShopLoginInfo shop, TemuDBProduct dbProd, TemuDBProductSelect selectProd, DataGridViewCell cell) + string UploadProduct(ShopLoginInfo shop, KJDDBProduct dbProd, TemuDBProductSelect selectProd, DataGridViewCell cell) { if (shop == null || string.IsNullOrEmpty(shop.ShopId) || shop.LoginStatus != "登录成功" || shop.LoginStatus2 != "国际版在线") { @@ -1772,7 +1772,7 @@ namespace TemuKJD.KJDForms.ProductThirdSelectForms })); } - public string GetFissionThirdProductName(TemuDBProduct prod) + public string GetFissionThirdProductName(KJDDBProduct prod) { string headWords = ""; if (!string.IsNullOrWhiteSpace(GlobalConfig.ProductWords.HeadWords)) diff --git a/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsForm.Designer.cs b/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsForm.Designer.cs index 758a88a..969a965 100644 --- a/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsForm.Designer.cs +++ b/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsForm.Designer.cs @@ -34,35 +34,42 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle(); this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.ucGroupBoxEx3 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.pnlClear = new DevComponents.DotNetBar.PanelEx(); + this.pnlFliter = new DevComponents.DotNetBar.PanelEx(); + this.textBox1 = new System.Windows.Forms.TextBox(); this.btnSetColumn = new DevComponents.DotNetBar.PanelEx(); this.btnGetNotGet = new DevComponents.DotNetBar.PanelEx(); this.btnGetSelect = new DevComponents.DotNetBar.PanelEx(); this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel(); + this.lblGoodsCost = new System.Windows.Forms.Label(); this.lblThirtyDaysSaleVolume = new System.Windows.Forms.Label(); this.label12 = new System.Windows.Forms.Label(); this.lblSevenDaysSaleVolume = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label(); this.lblSaleVolume = new System.Windows.Forms.Label(); - this.label8 = new System.Windows.Forms.Label(); - this.lblWithdrawCashAmount = new System.Windows.Forms.Label(); - this.label7 = new System.Windows.Forms.Label(); - this.lblAvailableBalance = new System.Windows.Forms.Label(); - this.label6 = new System.Windows.Forms.Label(); - this.lblMallDepositLimitAmount = new System.Windows.Forms.Label(); - this.label5 = new System.Windows.Forms.Label(); - this.lblLastMonthIncomeAmount = new System.Windows.Forms.Label(); - this.label4 = new System.Windows.Forms.Label(); - this.lblThisMonthIncomeAmount = new System.Windows.Forms.Label(); - this.label3 = new System.Windows.Forms.Label(); - this.lblYesterdayIncomeAmount = new System.Windows.Forms.Label(); this.lblThirtyDaysProfit = new System.Windows.Forms.Label(); this.label10 = new System.Windows.Forms.Label(); this.lblSevenDaysProfit = new System.Windows.Forms.Label(); this.label9 = new System.Windows.Forms.Label(); this.lblTodayProfit = new System.Windows.Forms.Label(); this.label11 = new System.Windows.Forms.Label(); + this.label8 = new System.Windows.Forms.Label(); + this.lblWithdrawCashAmount = new System.Windows.Forms.Label(); + this.lblAvailableBalance = new System.Windows.Forms.Label(); + this.label7 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.lblMallDepositLimitAmount = new System.Windows.Forms.Label(); + this.label5 = new System.Windows.Forms.Label(); + this.lblLastMonthIncomeAmount = new System.Windows.Forms.Label(); + this.lblThisMonthIncomeAmount = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.lblYesterdayIncomeAmount = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.label13 = new System.Windows.Forms.Label(); + this.label14 = new System.Windows.Forms.Label(); + this.lblGoodsValue = new System.Windows.Forms.Label(); this.splitContainer2 = new System.Windows.Forms.SplitContainer(); this.pbLoading = new System.Windows.Forms.PictureBox(); this.panel1 = new System.Windows.Forms.Panel(); @@ -95,10 +102,6 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics this.colMallDepositLimitAmount = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colWithdrawCashAmount = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); - this.label13 = new System.Windows.Forms.Label(); - this.label14 = new System.Windows.Forms.Label(); - this.lblGoodsValue = new System.Windows.Forms.Label(); - this.lblGoodsCost = new System.Windows.Forms.Label(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); @@ -143,24 +146,87 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics | System.Windows.Forms.AnchorStyles.Right))); this.ucGroupBoxEx3.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); this.ucGroupBoxEx3.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND; + this.ucGroupBoxEx3.Controls.Add(this.pnlClear); + this.ucGroupBoxEx3.Controls.Add(this.pnlFliter); + this.ucGroupBoxEx3.Controls.Add(this.textBox1); this.ucGroupBoxEx3.Controls.Add(this.btnSetColumn); this.ucGroupBoxEx3.Controls.Add(this.btnGetNotGet); this.ucGroupBoxEx3.Controls.Add(this.btnGetSelect); - this.ucGroupBoxEx3.Location = new System.Drawing.Point(1210, 2); + this.ucGroupBoxEx3.Location = new System.Drawing.Point(1117, 2); this.ucGroupBoxEx3.Name = "ucGroupBoxEx3"; - this.ucGroupBoxEx3.Size = new System.Drawing.Size(137, 140); + this.ucGroupBoxEx3.Size = new System.Drawing.Size(230, 140); this.ucGroupBoxEx3.TabIndex = 668; this.ucGroupBoxEx3.TabStop = false; this.ucGroupBoxEx3.Text = "统计查询"; // + // pnlClear + // + this.pnlClear.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.pnlClear.CanvasColor = System.Drawing.SystemColors.Control; + this.pnlClear.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.pnlClear.DisabledBackColor = System.Drawing.Color.Empty; + this.pnlClear.Location = new System.Drawing.Point(180, 31); + this.pnlClear.Name = "pnlClear"; + this.pnlClear.Size = new System.Drawing.Size(35, 23); + this.pnlClear.Style.Alignment = System.Drawing.StringAlignment.Center; + this.pnlClear.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.pnlClear.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.pnlClear.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.pnlClear.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.pnlClear.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.pnlClear.Style.GradientAngle = 90; + this.pnlClear.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.pnlClear.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.pnlClear.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.pnlClear.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.pnlClear.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.pnlClear.TabIndex = 815; + this.pnlClear.Text = "还原"; + this.pnlClear.Click += new System.EventHandler(this.pnlClear_Click); + // + // pnlFliter + // + this.pnlFliter.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.pnlFliter.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.pnlFliter.Cursor = System.Windows.Forms.Cursors.Hand; + this.pnlFliter.DisabledBackColor = System.Drawing.Color.Empty; + this.pnlFliter.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.pnlFliter.Location = new System.Drawing.Point(142, 31); + this.pnlFliter.Name = "pnlFliter"; + this.pnlFliter.Size = new System.Drawing.Size(35, 23); + this.pnlFliter.Style.Alignment = System.Drawing.StringAlignment.Center; + this.pnlFliter.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.pnlFliter.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.pnlFliter.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.pnlFliter.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.pnlFliter.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.pnlFliter.Style.ForeColor.Color = System.Drawing.Color.White; + this.pnlFliter.Style.GradientAngle = 90; + this.pnlFliter.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.pnlFliter.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.pnlFliter.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.pnlFliter.TabIndex = 435; + this.pnlFliter.Text = "过滤"; + this.pnlFliter.Click += new System.EventHandler(this.pnlFliter_Click); + // + // textBox1 + // + this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); + this.textBox1.Location = new System.Drawing.Point(21, 31); + this.textBox1.Name = "textBox1"; + this.textBox1.Size = new System.Drawing.Size(118, 23); + this.textBox1.TabIndex = 811; + // // btnSetColumn // + this.btnSetColumn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.btnSetColumn.CanvasColor = System.Drawing.SystemColors.Control; this.btnSetColumn.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; this.btnSetColumn.DisabledBackColor = System.Drawing.Color.Empty; - this.btnSetColumn.Location = new System.Drawing.Point(32, 31); + this.btnSetColumn.Location = new System.Drawing.Point(21, 97); this.btnSetColumn.Name = "btnSetColumn"; - this.btnSetColumn.Size = new System.Drawing.Size(80, 23); + this.btnSetColumn.Size = new System.Drawing.Size(74, 23); this.btnSetColumn.Style.Alignment = System.Drawing.StringAlignment.Center; this.btnSetColumn.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); this.btnSetColumn.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); @@ -184,9 +250,9 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics this.btnGetNotGet.Cursor = System.Windows.Forms.Cursors.Hand; this.btnGetNotGet.DisabledBackColor = System.Drawing.Color.Empty; this.btnGetNotGet.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnGetNotGet.Location = new System.Drawing.Point(32, 64); + this.btnGetNotGet.Location = new System.Drawing.Point(142, 66); this.btnGetNotGet.Name = "btnGetNotGet"; - this.btnGetNotGet.Size = new System.Drawing.Size(80, 23); + this.btnGetNotGet.Size = new System.Drawing.Size(74, 23); this.btnGetNotGet.Style.Alignment = System.Drawing.StringAlignment.Center; this.btnGetNotGet.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); this.btnGetNotGet.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); @@ -209,9 +275,9 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics this.btnGetSelect.Cursor = System.Windows.Forms.Cursors.Hand; this.btnGetSelect.DisabledBackColor = System.Drawing.Color.Empty; this.btnGetSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); - this.btnGetSelect.Location = new System.Drawing.Point(32, 97); + this.btnGetSelect.Location = new System.Drawing.Point(142, 97); this.btnGetSelect.Name = "btnGetSelect"; - this.btnGetSelect.Size = new System.Drawing.Size(80, 23); + this.btnGetSelect.Size = new System.Drawing.Size(74, 23); this.btnGetSelect.Style.Alignment = System.Drawing.StringAlignment.Center; this.btnGetSelect.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); this.btnGetSelect.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); @@ -237,7 +303,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics this.ucGroupBoxEx1.Controls.Add(this.tableLayoutPanel1); this.ucGroupBoxEx1.Location = new System.Drawing.Point(2, 2); this.ucGroupBoxEx1.Name = "ucGroupBoxEx1"; - this.ucGroupBoxEx1.Size = new System.Drawing.Size(1208, 140); + this.ucGroupBoxEx1.Size = new System.Drawing.Size(1115, 140); this.ucGroupBoxEx1.TabIndex = 667; this.ucGroupBoxEx1.TabStop = false; this.ucGroupBoxEx1.Text = "统计汇总"; @@ -290,15 +356,26 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 30F)); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 20F)); this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 30F)); - this.tableLayoutPanel1.Size = new System.Drawing.Size(1165, 115); + this.tableLayoutPanel1.Size = new System.Drawing.Size(1072, 115); this.tableLayoutPanel1.TabIndex = 435; // + // lblGoodsCost + // + this.lblGoodsCost.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.lblGoodsCost.AutoSize = true; + this.lblGoodsCost.Font = new System.Drawing.Font("微软雅黑", 11F); + this.lblGoodsCost.Location = new System.Drawing.Point(3, 87); + this.lblGoodsCost.Name = "lblGoodsCost"; + this.lblGoodsCost.Size = new System.Drawing.Size(18, 20); + this.lblGoodsCost.TabIndex = 22; + this.lblGoodsCost.Text = "0"; + // // lblThirtyDaysSaleVolume // this.lblThirtyDaysSaleVolume.Anchor = System.Windows.Forms.AnchorStyles.Left; this.lblThirtyDaysSaleVolume.AutoSize = true; this.lblThirtyDaysSaleVolume.Font = new System.Drawing.Font("微软雅黑", 11F); - this.lblThirtyDaysSaleVolume.Location = new System.Drawing.Point(335, 30); + this.lblThirtyDaysSaleVolume.Location = new System.Drawing.Point(309, 30); this.lblThirtyDaysSaleVolume.Name = "lblThirtyDaysSaleVolume"; this.lblThirtyDaysSaleVolume.Size = new System.Drawing.Size(18, 20); this.lblThirtyDaysSaleVolume.TabIndex = 16; @@ -309,7 +386,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics this.label12.Anchor = System.Windows.Forms.AnchorStyles.Left; this.label12.AutoSize = true; this.label12.ForeColor = System.Drawing.SystemColors.ControlDarkDark; - this.label12.Location = new System.Drawing.Point(833, 3); + this.label12.Location = new System.Drawing.Point(768, 3); this.label12.Name = "label12"; this.label12.Size = new System.Drawing.Size(70, 17); this.label12.TabIndex = 8; @@ -320,7 +397,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics this.lblSevenDaysSaleVolume.Anchor = System.Windows.Forms.AnchorStyles.Left; this.lblSevenDaysSaleVolume.AutoSize = true; this.lblSevenDaysSaleVolume.Font = new System.Drawing.Font("微软雅黑", 11F); - this.lblSevenDaysSaleVolume.Location = new System.Drawing.Point(169, 30); + this.lblSevenDaysSaleVolume.Location = new System.Drawing.Point(156, 30); this.lblSevenDaysSaleVolume.Name = "lblSevenDaysSaleVolume"; this.lblSevenDaysSaleVolume.Size = new System.Drawing.Size(18, 20); this.lblSevenDaysSaleVolume.TabIndex = 15; @@ -331,7 +408,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics this.label2.Anchor = System.Windows.Forms.AnchorStyles.Left; this.label2.AutoSize = true; this.label2.ForeColor = System.Drawing.SystemColors.ControlDarkDark; - this.label2.Location = new System.Drawing.Point(169, 3); + this.label2.Location = new System.Drawing.Point(156, 3); this.label2.Name = "label2"; this.label2.Size = new System.Drawing.Size(63, 17); this.label2.TabIndex = 7; @@ -359,144 +436,12 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics this.lblSaleVolume.TabIndex = 14; this.lblSaleVolume.Text = "0"; // - // label8 - // - this.label8.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.label8.AutoSize = true; - this.label8.ForeColor = System.Drawing.SystemColors.ControlDarkDark; - this.label8.Location = new System.Drawing.Point(999, 60); - this.label8.Name = "label8"; - this.label8.Size = new System.Drawing.Size(80, 17); - this.label8.TabIndex = 13; - this.label8.Text = "提现金额总和"; - // - // lblWithdrawCashAmount - // - this.lblWithdrawCashAmount.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.lblWithdrawCashAmount.AutoSize = true; - this.lblWithdrawCashAmount.Font = new System.Drawing.Font("微软雅黑", 11F); - this.lblWithdrawCashAmount.Location = new System.Drawing.Point(999, 87); - this.lblWithdrawCashAmount.Name = "lblWithdrawCashAmount"; - this.lblWithdrawCashAmount.Size = new System.Drawing.Size(18, 20); - this.lblWithdrawCashAmount.TabIndex = 15; - this.lblWithdrawCashAmount.Text = "0"; - // - // label7 - // - this.label7.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.label7.AutoSize = true; - this.label7.ForeColor = System.Drawing.SystemColors.ControlDarkDark; - this.label7.Location = new System.Drawing.Point(833, 60); - this.label7.Name = "label7"; - this.label7.Size = new System.Drawing.Size(92, 17); - this.label7.TabIndex = 12; - this.label7.Text = "可提现金额总和"; - // - // lblAvailableBalance - // - this.lblAvailableBalance.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.lblAvailableBalance.AutoSize = true; - this.lblAvailableBalance.Font = new System.Drawing.Font("微软雅黑", 11F); - this.lblAvailableBalance.Location = new System.Drawing.Point(833, 87); - this.lblAvailableBalance.Name = "lblAvailableBalance"; - this.lblAvailableBalance.Size = new System.Drawing.Size(18, 20); - this.lblAvailableBalance.TabIndex = 15; - this.lblAvailableBalance.Text = "0"; - // - // label6 - // - this.label6.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.label6.AutoSize = true; - this.label6.ForeColor = System.Drawing.SystemColors.ControlDarkDark; - this.label6.Location = new System.Drawing.Point(667, 60); - this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(92, 17); - this.label6.TabIndex = 11; - this.label6.Text = "保证金金额总和"; - // - // lblMallDepositLimitAmount - // - this.lblMallDepositLimitAmount.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.lblMallDepositLimitAmount.AutoSize = true; - this.lblMallDepositLimitAmount.Font = new System.Drawing.Font("微软雅黑", 11F); - this.lblMallDepositLimitAmount.Location = new System.Drawing.Point(667, 87); - this.lblMallDepositLimitAmount.Name = "lblMallDepositLimitAmount"; - this.lblMallDepositLimitAmount.Size = new System.Drawing.Size(18, 20); - this.lblMallDepositLimitAmount.TabIndex = 15; - this.lblMallDepositLimitAmount.Text = "0"; - // - // label5 - // - this.label5.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.label5.AutoSize = true; - this.label5.ForeColor = System.Drawing.SystemColors.ControlDarkDark; - this.label5.Location = new System.Drawing.Point(501, 60); - this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(104, 17); - this.label5.TabIndex = 10; - this.label5.Text = "上月到账金额总和"; - // - // lblLastMonthIncomeAmount - // - this.lblLastMonthIncomeAmount.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.lblLastMonthIncomeAmount.AutoSize = true; - this.lblLastMonthIncomeAmount.Font = new System.Drawing.Font("微软雅黑", 11F); - this.lblLastMonthIncomeAmount.Location = new System.Drawing.Point(501, 87); - this.lblLastMonthIncomeAmount.Name = "lblLastMonthIncomeAmount"; - this.lblLastMonthIncomeAmount.Size = new System.Drawing.Size(18, 20); - this.lblLastMonthIncomeAmount.TabIndex = 15; - this.lblLastMonthIncomeAmount.Text = "0"; - // - // label4 - // - this.label4.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.label4.AutoSize = true; - this.label4.ForeColor = System.Drawing.SystemColors.ControlDarkDark; - this.label4.Location = new System.Drawing.Point(335, 60); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(104, 17); - this.label4.TabIndex = 9; - this.label4.Text = "本月到账金额总和"; - // - // lblThisMonthIncomeAmount - // - this.lblThisMonthIncomeAmount.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.lblThisMonthIncomeAmount.AutoSize = true; - this.lblThisMonthIncomeAmount.Font = new System.Drawing.Font("微软雅黑", 11F); - this.lblThisMonthIncomeAmount.Location = new System.Drawing.Point(335, 87); - this.lblThisMonthIncomeAmount.Name = "lblThisMonthIncomeAmount"; - this.lblThisMonthIncomeAmount.Size = new System.Drawing.Size(18, 20); - this.lblThisMonthIncomeAmount.TabIndex = 15; - this.lblThisMonthIncomeAmount.Text = "0"; - // - // label3 - // - this.label3.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.label3.AutoSize = true; - this.label3.ForeColor = System.Drawing.SystemColors.ControlDarkDark; - this.label3.Location = new System.Drawing.Point(169, 60); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(104, 17); - this.label3.TabIndex = 8; - this.label3.Text = "昨日到账金额总和"; - // - // lblYesterdayIncomeAmount - // - this.lblYesterdayIncomeAmount.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.lblYesterdayIncomeAmount.AutoSize = true; - this.lblYesterdayIncomeAmount.Font = new System.Drawing.Font("微软雅黑", 11F); - this.lblYesterdayIncomeAmount.Location = new System.Drawing.Point(169, 87); - this.lblYesterdayIncomeAmount.Name = "lblYesterdayIncomeAmount"; - this.lblYesterdayIncomeAmount.Size = new System.Drawing.Size(18, 20); - this.lblYesterdayIncomeAmount.TabIndex = 15; - this.lblYesterdayIncomeAmount.Text = "0"; - // // lblThirtyDaysProfit // this.lblThirtyDaysProfit.Anchor = System.Windows.Forms.AnchorStyles.Left; this.lblThirtyDaysProfit.AutoSize = true; this.lblThirtyDaysProfit.Font = new System.Drawing.Font("微软雅黑", 11F); - this.lblThirtyDaysProfit.Location = new System.Drawing.Point(833, 30); + this.lblThirtyDaysProfit.Location = new System.Drawing.Point(768, 30); this.lblThirtyDaysProfit.Name = "lblThirtyDaysProfit"; this.lblThirtyDaysProfit.Size = new System.Drawing.Size(18, 20); this.lblThirtyDaysProfit.TabIndex = 18; @@ -507,7 +452,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics this.label10.Anchor = System.Windows.Forms.AnchorStyles.Left; this.label10.AutoSize = true; this.label10.ForeColor = System.Drawing.SystemColors.ControlDarkDark; - this.label10.Location = new System.Drawing.Point(667, 3); + this.label10.Location = new System.Drawing.Point(615, 3); this.label10.Name = "label10"; this.label10.Size = new System.Drawing.Size(63, 17); this.label10.TabIndex = 13; @@ -518,7 +463,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics this.lblSevenDaysProfit.Anchor = System.Windows.Forms.AnchorStyles.Left; this.lblSevenDaysProfit.AutoSize = true; this.lblSevenDaysProfit.Font = new System.Drawing.Font("微软雅黑", 11F); - this.lblSevenDaysProfit.Location = new System.Drawing.Point(667, 30); + this.lblSevenDaysProfit.Location = new System.Drawing.Point(615, 30); this.lblSevenDaysProfit.Name = "lblSevenDaysProfit"; this.lblSevenDaysProfit.Size = new System.Drawing.Size(18, 20); this.lblSevenDaysProfit.TabIndex = 17; @@ -529,7 +474,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics this.label9.Anchor = System.Windows.Forms.AnchorStyles.Left; this.label9.AutoSize = true; this.label9.ForeColor = System.Drawing.SystemColors.ControlDarkDark; - this.label9.Location = new System.Drawing.Point(501, 3); + this.label9.Location = new System.Drawing.Point(462, 3); this.label9.Name = "label9"; this.label9.Size = new System.Drawing.Size(56, 17); this.label9.TabIndex = 14; @@ -540,7 +485,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics this.lblTodayProfit.Anchor = System.Windows.Forms.AnchorStyles.Left; this.lblTodayProfit.AutoSize = true; this.lblTodayProfit.Font = new System.Drawing.Font("微软雅黑", 11F); - this.lblTodayProfit.Location = new System.Drawing.Point(501, 30); + this.lblTodayProfit.Location = new System.Drawing.Point(462, 30); this.lblTodayProfit.Name = "lblTodayProfit"; this.lblTodayProfit.Size = new System.Drawing.Size(18, 20); this.lblTodayProfit.TabIndex = 16; @@ -551,12 +496,177 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics this.label11.Anchor = System.Windows.Forms.AnchorStyles.Left; this.label11.AutoSize = true; this.label11.ForeColor = System.Drawing.SystemColors.ControlDarkDark; - this.label11.Location = new System.Drawing.Point(335, 3); + this.label11.Location = new System.Drawing.Point(309, 3); this.label11.Name = "label11"; this.label11.Size = new System.Drawing.Size(70, 17); this.label11.TabIndex = 14; this.label11.Text = "近30日销量"; // + // label8 + // + this.label8.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.label8.AutoSize = true; + this.label8.ForeColor = System.Drawing.SystemColors.ControlDarkDark; + this.label8.Location = new System.Drawing.Point(921, 60); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(80, 17); + this.label8.TabIndex = 13; + this.label8.Text = "提现金额总和"; + // + // lblWithdrawCashAmount + // + this.lblWithdrawCashAmount.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.lblWithdrawCashAmount.AutoSize = true; + this.lblWithdrawCashAmount.Font = new System.Drawing.Font("微软雅黑", 11F); + this.lblWithdrawCashAmount.Location = new System.Drawing.Point(921, 87); + this.lblWithdrawCashAmount.Name = "lblWithdrawCashAmount"; + this.lblWithdrawCashAmount.Size = new System.Drawing.Size(18, 20); + this.lblWithdrawCashAmount.TabIndex = 15; + this.lblWithdrawCashAmount.Text = "0"; + // + // lblAvailableBalance + // + this.lblAvailableBalance.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.lblAvailableBalance.AutoSize = true; + this.lblAvailableBalance.Font = new System.Drawing.Font("微软雅黑", 11F); + this.lblAvailableBalance.Location = new System.Drawing.Point(768, 87); + this.lblAvailableBalance.Name = "lblAvailableBalance"; + this.lblAvailableBalance.Size = new System.Drawing.Size(18, 20); + this.lblAvailableBalance.TabIndex = 15; + this.lblAvailableBalance.Text = "0"; + // + // label7 + // + this.label7.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.label7.AutoSize = true; + this.label7.ForeColor = System.Drawing.SystemColors.ControlDarkDark; + this.label7.Location = new System.Drawing.Point(768, 60); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(92, 17); + this.label7.TabIndex = 12; + this.label7.Text = "可提现金额总和"; + // + // label6 + // + this.label6.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.label6.AutoSize = true; + this.label6.ForeColor = System.Drawing.SystemColors.ControlDarkDark; + this.label6.Location = new System.Drawing.Point(615, 60); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(92, 17); + this.label6.TabIndex = 11; + this.label6.Text = "保证金金额总和"; + // + // lblMallDepositLimitAmount + // + this.lblMallDepositLimitAmount.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.lblMallDepositLimitAmount.AutoSize = true; + this.lblMallDepositLimitAmount.Font = new System.Drawing.Font("微软雅黑", 11F); + this.lblMallDepositLimitAmount.Location = new System.Drawing.Point(615, 87); + this.lblMallDepositLimitAmount.Name = "lblMallDepositLimitAmount"; + this.lblMallDepositLimitAmount.Size = new System.Drawing.Size(18, 20); + this.lblMallDepositLimitAmount.TabIndex = 15; + this.lblMallDepositLimitAmount.Text = "0"; + // + // label5 + // + this.label5.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.label5.AutoSize = true; + this.label5.ForeColor = System.Drawing.SystemColors.ControlDarkDark; + this.label5.Location = new System.Drawing.Point(462, 60); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(104, 17); + this.label5.TabIndex = 10; + this.label5.Text = "上月到账金额总和"; + // + // lblLastMonthIncomeAmount + // + this.lblLastMonthIncomeAmount.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.lblLastMonthIncomeAmount.AutoSize = true; + this.lblLastMonthIncomeAmount.Font = new System.Drawing.Font("微软雅黑", 11F); + this.lblLastMonthIncomeAmount.Location = new System.Drawing.Point(462, 87); + this.lblLastMonthIncomeAmount.Name = "lblLastMonthIncomeAmount"; + this.lblLastMonthIncomeAmount.Size = new System.Drawing.Size(18, 20); + this.lblLastMonthIncomeAmount.TabIndex = 15; + this.lblLastMonthIncomeAmount.Text = "0"; + // + // lblThisMonthIncomeAmount + // + this.lblThisMonthIncomeAmount.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.lblThisMonthIncomeAmount.AutoSize = true; + this.lblThisMonthIncomeAmount.Font = new System.Drawing.Font("微软雅黑", 11F); + this.lblThisMonthIncomeAmount.Location = new System.Drawing.Point(309, 87); + this.lblThisMonthIncomeAmount.Name = "lblThisMonthIncomeAmount"; + this.lblThisMonthIncomeAmount.Size = new System.Drawing.Size(18, 20); + this.lblThisMonthIncomeAmount.TabIndex = 15; + this.lblThisMonthIncomeAmount.Text = "0"; + // + // label4 + // + this.label4.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.label4.AutoSize = true; + this.label4.ForeColor = System.Drawing.SystemColors.ControlDarkDark; + this.label4.Location = new System.Drawing.Point(309, 60); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(104, 17); + this.label4.TabIndex = 9; + this.label4.Text = "本月到账金额总和"; + // + // lblYesterdayIncomeAmount + // + this.lblYesterdayIncomeAmount.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.lblYesterdayIncomeAmount.AutoSize = true; + this.lblYesterdayIncomeAmount.Font = new System.Drawing.Font("微软雅黑", 11F); + this.lblYesterdayIncomeAmount.Location = new System.Drawing.Point(156, 87); + this.lblYesterdayIncomeAmount.Name = "lblYesterdayIncomeAmount"; + this.lblYesterdayIncomeAmount.Size = new System.Drawing.Size(18, 20); + this.lblYesterdayIncomeAmount.TabIndex = 15; + this.lblYesterdayIncomeAmount.Text = "0"; + // + // label3 + // + this.label3.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.label3.AutoSize = true; + this.label3.ForeColor = System.Drawing.SystemColors.ControlDarkDark; + this.label3.Location = new System.Drawing.Point(156, 60); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(104, 17); + this.label3.TabIndex = 8; + this.label3.Text = "昨日到账金额总和"; + // + // label13 + // + this.label13.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.label13.AutoSize = true; + this.label13.ForeColor = System.Drawing.SystemColors.ControlDarkDark; + this.label13.Location = new System.Drawing.Point(921, 3); + this.label13.Name = "label13"; + this.label13.Size = new System.Drawing.Size(80, 17); + this.label13.TabIndex = 19; + this.label13.Text = "预估销售货值"; + // + // label14 + // + this.label14.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.label14.AutoSize = true; + this.label14.ForeColor = System.Drawing.SystemColors.ControlDarkDark; + this.label14.Location = new System.Drawing.Point(3, 60); + this.label14.Name = "label14"; + this.label14.Size = new System.Drawing.Size(80, 17); + this.label14.TabIndex = 20; + this.label14.Text = "库存成本货值"; + // + // lblGoodsValue + // + this.lblGoodsValue.Anchor = System.Windows.Forms.AnchorStyles.Left; + this.lblGoodsValue.AutoSize = true; + this.lblGoodsValue.Font = new System.Drawing.Font("微软雅黑", 11F); + this.lblGoodsValue.Location = new System.Drawing.Point(921, 30); + this.lblGoodsValue.Name = "lblGoodsValue"; + this.lblGoodsValue.Size = new System.Drawing.Size(18, 20); + this.lblGoodsValue.TabIndex = 21; + this.lblGoodsValue.Text = "0"; + // // splitContainer2 // this.splitContainer2.BackColor = System.Drawing.Color.White; @@ -884,50 +994,6 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics this.statusBar.Size = new System.Drawing.Size(1350, 26); this.statusBar.TabIndex = 1; // - // label13 - // - this.label13.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.label13.AutoSize = true; - this.label13.ForeColor = System.Drawing.SystemColors.ControlDarkDark; - this.label13.Location = new System.Drawing.Point(999, 3); - this.label13.Name = "label13"; - this.label13.Size = new System.Drawing.Size(80, 17); - this.label13.TabIndex = 19; - this.label13.Text = "预估销售货值"; - // - // label14 - // - this.label14.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.label14.AutoSize = true; - this.label14.ForeColor = System.Drawing.SystemColors.ControlDarkDark; - this.label14.Location = new System.Drawing.Point(3, 60); - this.label14.Name = "label14"; - this.label14.Size = new System.Drawing.Size(80, 17); - this.label14.TabIndex = 20; - this.label14.Text = "库存成本货值"; - // - // lblGoodsValue - // - this.lblGoodsValue.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.lblGoodsValue.AutoSize = true; - this.lblGoodsValue.Font = new System.Drawing.Font("微软雅黑", 11F); - this.lblGoodsValue.Location = new System.Drawing.Point(999, 30); - this.lblGoodsValue.Name = "lblGoodsValue"; - this.lblGoodsValue.Size = new System.Drawing.Size(18, 20); - this.lblGoodsValue.TabIndex = 21; - this.lblGoodsValue.Text = "0"; - // - // lblGoodsCost - // - this.lblGoodsCost.Anchor = System.Windows.Forms.AnchorStyles.Left; - this.lblGoodsCost.AutoSize = true; - this.lblGoodsCost.Font = new System.Drawing.Font("微软雅黑", 11F); - this.lblGoodsCost.Location = new System.Drawing.Point(3, 87); - this.lblGoodsCost.Name = "lblGoodsCost"; - this.lblGoodsCost.Size = new System.Drawing.Size(18, 20); - this.lblGoodsCost.TabIndex = 22; - this.lblGoodsCost.Text = "0"; - // // ShopOrderStatisticsForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; @@ -943,6 +1009,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); this.splitContainer1.ResumeLayout(false); this.ucGroupBoxEx3.ResumeLayout(false); + this.ucGroupBoxEx3.PerformLayout(); this.ucGroupBoxEx1.ResumeLayout(false); this.tableLayoutPanel1.ResumeLayout(false); this.tableLayoutPanel1.PerformLayout(); @@ -1026,5 +1093,8 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics private System.Windows.Forms.Label label13; private System.Windows.Forms.Label label14; private System.Windows.Forms.Label lblGoodsValue; + private DevComponents.DotNetBar.PanelEx pnlClear; + private DevComponents.DotNetBar.PanelEx pnlFliter; + private System.Windows.Forms.TextBox textBox1; } } \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsForm.cs b/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsForm.cs index 9b3d3ae..47e5c3d 100644 --- a/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsForm.cs +++ b/TEMUKJD/KJDForms/ShopForms/Statistics/ShopOrderStatisticsForm.cs @@ -886,5 +886,28 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics { this.panel1.Visible = false; } + + private void pnlClear_Click(object sender, EventArgs e) + { + textBox1.Text = ""; + foreach (DataGridViewRow row in this.dgvShop.Rows) + { + row.Visible = true; + } + } + + private void pnlFliter_Click(object sender, EventArgs e) + { + foreach (DataGridViewRow row in this.dgvShop.Rows) + { + if (row.Cells["colShopLoginName"].Value.ParseToString().Contains(textBox1.Text.Trim()) || + row.Cells["colShopId"].Value.ParseToString().Contains(textBox1.Text.Trim()) || + row.Cells["colShopAccount"].Value.ParseToString().Contains(textBox1.Text.Trim()) || + row.Cells["colNotes"].Value.ParseToString().Contains(textBox1.Text.Trim())) + row.Visible = true; + else + row.Visible = false; + } + } } } diff --git a/TEMUKJD/PDDForms/AdminForms/PDDAdminShopListForm.Designer.cs b/TEMUKJD/PDDForms/AdminForms/PDDAdminShopListForm.Designer.cs index a7690ec..fd667cc 100644 --- a/TEMUKJD/PDDForms/AdminForms/PDDAdminShopListForm.Designer.cs +++ b/TEMUKJD/PDDForms/AdminForms/PDDAdminShopListForm.Designer.cs @@ -796,6 +796,7 @@ namespace TemuKJD.PDDForms.AdminForms this.colImportCookies.ReadOnly = true; this.colImportCookies.Resizable = System.Windows.Forms.DataGridViewTriState.True; this.colImportCookies.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colImportCookies.Visible = false; // // colCopyCookies // diff --git a/TEMUKJD/PDDForms/AdminForms/PDDAdminShopLoginForm.Designer.cs b/TEMUKJD/PDDForms/AdminForms/PDDAdminShopLoginForm.Designer.cs index 7806090..da650fc 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 = 675; + this.splitContainer1.SplitterDistance = 676; this.splitContainer1.SplitterWidth = 3; this.splitContainer1.TabIndex = 4; // @@ -102,6 +102,7 @@ this.btnReturnPackage.TabIndex = 463; this.btnReturnPackage.Text = "提交退货到库存管理"; this.btnReturnPackage.UseVisualStyleBackColor = false; + this.btnReturnPackage.Visible = false; this.btnReturnPackage.Click += new System.EventHandler(this.btnReturnPackage_Click); // // btnLoginAgain @@ -356,8 +357,8 @@ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Name = "PDDAdminShopLoginForm"; this.ShowMaximizeBox = true; - this.Text = "店铺登录"; - this.TitleText = "店铺登录"; + this.Text = "店铺登录 - 管理员"; + this.TitleText = "店铺登录 - 管理员"; this.FormClosed += new System.Windows.Forms.FormClosedEventHandler(this.ShopLoginForm_FormClosed); this.Load += new System.EventHandler(this.ShopLoginForm_Load); this.Controls.SetChildIndex(this.splitContainer2, 0); diff --git a/TEMUKJD/PDDForms/AdminForms/PDDAdminShopLoginForm.cs b/TEMUKJD/PDDForms/AdminForms/PDDAdminShopLoginForm.cs index c7b1864..5950799 100644 --- a/TEMUKJD/PDDForms/AdminForms/PDDAdminShopLoginForm.cs +++ b/TEMUKJD/PDDForms/AdminForms/PDDAdminShopLoginForm.cs @@ -166,7 +166,7 @@ namespace TemuKJD.PDDForms.AdminForms UserName = shop.UserName, Notes = shop.Notes, Cookies = cookies, - AntiContents = new List { sc.AntiContent }, + AntiContents = new NaiBa.Util.ConcurrentList { sc.AntiContent }, }; if (string.IsNullOrEmpty(shop.Cookies)) // 有cookie的认为是已登录过的 @@ -179,11 +179,12 @@ namespace TemuKJD.PDDForms.AdminForms } else { + shop.AntiContents = newShop.AntiContents; 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); + + "&anti_contents=" + JsonHelper.SerializeObject(newShop.AntiContents); var result = GetHtml.PostUtf8(urlAddress, data); } } @@ -485,7 +486,7 @@ namespace TemuKJD.PDDForms.AdminForms cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(sb.ToString()); } - int GetAntiContentsTimes = 0; + int GetAntiContentsTimes = 40; 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"] : ""; @@ -493,9 +494,9 @@ namespace TemuKJD.PDDForms.AdminForms { GetAntiContentsTimes++; shop.AntiContents.Add(antiContent); - while (shop.AntiContents.Count > 10) + while (shop.AntiContents.Count > 50) shop.AntiContents.RemoveAt(0); - if (!string.IsNullOrEmpty(shop.ShopId) && GetAntiContentsTimes > 5) + if (!string.IsNullOrEmpty(shop.ShopId) && GetAntiContentsTimes > 50) { GetAntiContentsTimes = 0; var antis = shop.AntiContents; @@ -512,7 +513,23 @@ namespace TemuKJD.PDDForms.AdminForms } Task.Run(() => { - //var data = responseData; + var data = responseData; + if (data.Contains("\"validate_message\"")) + { + + } + if (data.Contains("out_goods_sn")) + { + + } + if (data.Contains("手指涂胶手套") || data.Contains("\\u624b\\u5957")) + { + + } + if (data.Contains("劳保手套橡胶手套防护手套工地防护工地手套")) + { + + } //if (data.Contains("supplierId") && data.Contains("\"success\":true")) //{ // var supplierIds = BaseRegex.GetMatchRegex(ref data, "\"supplierId\":\\d{5,20}"); @@ -561,7 +578,7 @@ namespace TemuKJD.PDDForms.AdminForms } if (currentUrl.StartsWith("https://mms.pinduoduo.com/goods/goods_list")) { - Task.Run(() => { + //Task.Run(() => { string sAddInputJs = @" document.addEventListener('wheel', function(event) { // 检查滚动方向 @@ -596,7 +613,7 @@ namespace TemuKJD.PDDForms.AdminForms } }"; cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(sAddInputJs); - }); + //}); } } diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditNotesForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditNotesForm.cs index d71a1f8..ae8120b 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditNotesForm.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdEditNotesForm.cs @@ -17,9 +17,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms { public partial class PDDDBProdEditNotesForm : LRBaseForm { - TemuDBProduct dbProd = null; + KJDDBProduct dbProd = null; - public PDDDBProdEditNotesForm(TemuDBProduct prod) + public PDDDBProdEditNotesForm(KJDDBProduct prod) { InitializeComponent(); diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.Designer.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.Designer.cs index cc5b666..c72c577 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.Designer.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.Designer.cs @@ -38,6 +38,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms 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.btnDelSelect = new TemuKJD.UserControls.ButtonEx(); this.cmbSort = new System.Windows.Forms.ComboBox(); this.btnSelect = new TemuKJD.UserControls.ButtonEx(); this.txtNotes = new System.Windows.Forms.TextBox(); @@ -58,8 +59,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms 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(); @@ -79,6 +78,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms 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(); + this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage(); + this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); @@ -102,6 +103,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // // splitContainer1.Panel1 // + this.splitContainer1.Panel1.Controls.Add(this.btnDelSelect); this.splitContainer1.Panel1.Controls.Add(this.cmbSort); this.splitContainer1.Panel1.Controls.Add(this.btnSelect); this.splitContainer1.Panel1.Controls.Add(this.txtNotes); @@ -123,10 +125,28 @@ namespace TemuKJD.PDDForms.ProductSelectForms // splitContainer1.Panel2 // this.splitContainer1.Panel2.Controls.Add(this.splitContainer2); - this.splitContainer1.Size = new System.Drawing.Size(1278, 686); + this.splitContainer1.Size = new System.Drawing.Size(1358, 686); this.splitContainer1.SplitterDistance = 53; this.splitContainer1.TabIndex = 1; // + // btnDelSelect + // + this.btnDelSelect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnDelSelect.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnDelSelect.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnDelSelect.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.btnDelSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnDelSelect.ForeColor = System.Drawing.Color.White; + this.btnDelSelect.Location = new System.Drawing.Point(1156, 14); + this.btnDelSelect.Margin = new System.Windows.Forms.Padding(2); + this.btnDelSelect.Name = "btnDelSelect"; + this.btnDelSelect.Size = new System.Drawing.Size(91, 26); + this.btnDelSelect.TabIndex = 452; + this.btnDelSelect.Text = "删除选中商品"; + this.btnDelSelect.UseVisualStyleBackColor = false; + this.btnDelSelect.Visible = false; + this.btnDelSelect.Click += new System.EventHandler(this.btnDelSelect_Click); + // // cmbSort // this.cmbSort.FormattingEnabled = true; @@ -147,7 +167,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms 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.Location = new System.Drawing.Point(1251, 14); this.btnSelect.Margin = new System.Windows.Forms.Padding(2); this.btnSelect.Name = "btnSelect"; this.btnSelect.Size = new System.Drawing.Size(91, 26); @@ -320,7 +340,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // 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.Size = new System.Drawing.Size(1358, 629); this.splitContainer2.SplitterDistance = 600; this.splitContainer2.TabIndex = 0; // @@ -328,7 +348,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // 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.Location = new System.Drawing.Point(654, 275); this.pbLoading.Name = "pbLoading"; this.pbLoading.Size = new System.Drawing.Size(50, 50); this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; @@ -378,34 +398,11 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.dgvDbProduct.Name = "dgvDbProduct"; this.dgvDbProduct.ReadOnly = true; this.dgvDbProduct.RowTemplate.Height = 23; - this.dgvDbProduct.Size = new System.Drawing.Size(1270, 600); + this.dgvDbProduct.Size = new System.Drawing.Size(1350, 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; @@ -552,14 +549,39 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.col_select_product.Resizable = System.Windows.Forms.DataGridViewTriState.True; this.col_select_product.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; // - // DbProductListForm + // ucSplitPage1 + // + this.ucSplitPage1.CurrentPage = 1; + this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right; + this.ucSplitPage1.IsShowPageSize = false; + this.ucSplitPage1.Location = new System.Drawing.Point(996, 0); + this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0); + this.ucSplitPage1.Name = "ucSplitPage1"; + this.ucSplitPage1.Padding = new System.Windows.Forms.Padding(0, 0, 1, 0); + this.ucSplitPage1.PageSize = 50; + this.ucSplitPage1.Size = new System.Drawing.Size(362, 25); + this.ucSplitPage1.TabIndex = 6; + this.ucSplitPage1.TotalPage = 1; + // + // statusBar + // + this.statusBar.BackColor = System.Drawing.Color.White; + this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill; + this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.statusBar.Location = new System.Drawing.Point(0, 0); + this.statusBar.Margin = new System.Windows.Forms.Padding(0); + this.statusBar.Name = "statusBar"; + this.statusBar.Size = new System.Drawing.Size(1358, 25); + this.statusBar.TabIndex = 5; + // + // PDDDBProdListForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.ClientSize = new System.Drawing.Size(1280, 720); + this.ClientSize = new System.Drawing.Size(1360, 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.Name = "PDDDBProdListForm"; this.Text = "产品数据库"; this.TitleText = "产品数据库"; this.Load += new System.EventHandler(this.ProductListForm_Load); @@ -624,5 +646,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms private System.Windows.Forms.DataGridViewLinkColumn col_edit; private System.Windows.Forms.DataGridViewLinkColumn col_delete; private System.Windows.Forms.DataGridViewLinkColumn col_select_product; + private UserControls.ButtonEx btnDelSelect; } } \ No newline at end of file diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs index 586fba3..55912e3 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdListForm.cs @@ -25,7 +25,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms { ShopLoginInfo shop = null; - List lstTemuDbProduct = new List(); + List lstTemuDbProduct = new List(); public PDDDBProdListForm() { @@ -50,6 +50,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms //this.dgvDbProduct.Columns["col_notes"].Visible = true; //this.lblNotes.Visible = true; //this.txtNotes.Visible = true; + + btnDelSelect.Visible = true; } else { @@ -61,6 +63,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms //this.dgvDbProduct.Columns["col_notes"].Visible = false; //this.lblNotes.Visible = false; //this.txtNotes.Visible = false; + + btnDelSelect.Visible = false; } btnSelect.Visible = false; @@ -202,9 +206,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms }); } - public List GetProductList(out int pageCount, int page = 1, int pageSize = 200) + public List GetProductList(out int pageCount, int page = 1, int pageSize = 200) { - List list = new List(); + List list = new List(); pageCount = 1; var url = BaseClass.BuildObjString("product/get_product_list"); @@ -259,12 +263,12 @@ namespace TemuKJD.PDDForms.ProductSelectForms try { - list = JsonHelper.DeserializeJsonToList(sProd); + list = JsonHelper.DeserializeJsonToList(sProd); return list; } catch (Exception ex) { - return new List(); + return new List(); } } @@ -322,7 +326,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms imgFrom.ShowDialog(); break; case "认领": - Task.Run(() => { SelectProduct(new TemuDBProduct[] { dbProduct }); }); + Task.Run(() => { SelectProduct(new KJDDBProduct[] { dbProduct }); }); break; case "": dgvDbProduct.Rows[e.RowIndex].Cells["colSelect"].Value = !(bool)dgvDbProduct.Rows[e.RowIndex].Cells["colSelect"].Value; @@ -332,7 +336,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms } } - private void SelectProduct(TemuDBProduct[] prods) + private void SelectProduct(KJDDBProduct[] prods) { if (shop == null) { @@ -440,7 +444,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms })); } - public static string GetFissionProductName(TemuDBProduct prod) + public static string GetFissionProductName(KJDDBProduct prod) { string headWords = ""; @@ -488,7 +492,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms return (headWords + prod.product_name + centerWords + endWords).Trim(','); } - private void DeleteProduct(string dbId) + private void DeleteProduct(string dbId, bool isUpdate = true) { var url = BaseClass.BuildObjString("product/del_db_product"); var data = UserLogin.GetSignaturex() + @@ -505,7 +509,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms } else { - SearchDbProd(this.ucSplitPage1.CurrentPage); + if (isUpdate) + SearchDbProd(this.ucSplitPage1.CurrentPage); } } @@ -536,5 +541,29 @@ namespace TemuKJD.PDDForms.ProductSelectForms { ShowDgvImg(); } + + private void btnDelSelect_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 (BaseMsgForm.ShowConfirm("确定删除商品吗?删除后不可恢复!").DialogResult == DialogResult.Cancel) + return; + this.pbLoading.Visible = true; + Task.Run(() => + { + foreach (var prod in prodList) + { + DeleteProduct(prod.id.ToString(), false); + } + SearchDbProd(this.ucSplitPage1.CurrentPage); + Invoke(new Action(() => + { + pbLoading.Visible = false; + BaseMsgForm.ShowInfo("删除完成!"); + })); + }); + } } } diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.Designer.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.Designer.cs index 4541ab0..b84b8bf 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.Designer.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.Designer.cs @@ -36,6 +36,17 @@ namespace TemuKJD.PDDForms.ProductSelectForms 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.ucGroupBoxEx2 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); + this.btnStop = new DevComponents.DotNetBar.PanelEx(); + this.label11 = new System.Windows.Forms.Label(); + this.txtAddMorePrice = new System.Windows.Forms.TextBox(); + this.label10 = new System.Windows.Forms.Label(); + this.txtAddTimes = new System.Windows.Forms.TextBox(); + this.label9 = new System.Windows.Forms.Label(); + this.btnUpload = new DevComponents.DotNetBar.PanelEx(); + this.txtStockNum = new System.Windows.Forms.TextBox(); + this.label4 = new System.Windows.Forms.Label(); + this.btnDelSelect = new DevComponents.DotNetBar.PanelEx(); this.ucGroupBoxEx4 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); this.pnlEmpty = new DevComponents.DotNetBar.PanelEx(); this.label5 = new System.Windows.Forms.Label(); @@ -54,7 +65,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms 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(); @@ -74,13 +84,14 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.colRemaining = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.pbLoading = new System.Windows.Forms.PictureBox(); + this.panel1 = new System.Windows.Forms.Panel(); 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.colInShop = 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(); @@ -93,6 +104,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.colNotes = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colUserNotes = new System.Windows.Forms.DataGridViewLinkColumn(); this.ColDelete = new System.Windows.Forms.DataGridViewLinkColumn(); + this.colOpResult = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.splitContainer4 = new System.Windows.Forms.SplitContainer(); this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); this.btnClear = new DevComponents.DotNetBar.PanelEx(); @@ -102,6 +114,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.SuspendLayout(); + this.ucGroupBoxEx2.SuspendLayout(); this.ucGroupBoxEx4.SuspendLayout(); this.ucGroupBoxEx1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).BeginInit(); @@ -131,6 +144,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // // splitContainer1.Panel1 // + this.splitContainer1.Panel1.Controls.Add(this.ucGroupBoxEx2); this.splitContainer1.Panel1.Controls.Add(this.ucGroupBoxEx4); this.splitContainer1.Panel1.Controls.Add(this.ucGroupBoxEx1); // @@ -141,11 +155,177 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.splitContainer1.SplitterDistance = 120; this.splitContainer1.TabIndex = 11; // - // ucGroupBoxEx4 + // ucGroupBoxEx2 // - this.ucGroupBoxEx4.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + this.ucGroupBoxEx2.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.ucGroupBoxEx2.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.ucGroupBoxEx2.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND; + this.ucGroupBoxEx2.Controls.Add(this.btnStop); + this.ucGroupBoxEx2.Controls.Add(this.label11); + this.ucGroupBoxEx2.Controls.Add(this.txtAddMorePrice); + this.ucGroupBoxEx2.Controls.Add(this.label10); + this.ucGroupBoxEx2.Controls.Add(this.txtAddTimes); + this.ucGroupBoxEx2.Controls.Add(this.label9); + this.ucGroupBoxEx2.Controls.Add(this.btnUpload); + this.ucGroupBoxEx2.Controls.Add(this.txtStockNum); + this.ucGroupBoxEx2.Controls.Add(this.label4); + this.ucGroupBoxEx2.Controls.Add(this.btnDelSelect); + this.ucGroupBoxEx2.Location = new System.Drawing.Point(884, 2); + this.ucGroupBoxEx2.Name = "ucGroupBoxEx2"; + this.ucGroupBoxEx2.Size = new System.Drawing.Size(398, 120); + this.ucGroupBoxEx2.TabIndex = 667; + this.ucGroupBoxEx2.TabStop = false; + this.ucGroupBoxEx2.Text = "商品上传"; + // + // btnStop + // + this.btnStop.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnStop.CanvasColor = System.Drawing.SystemColors.Control; + this.btnStop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnStop.DisabledBackColor = System.Drawing.Color.Empty; + this.btnStop.Location = new System.Drawing.Point(317, 70); + this.btnStop.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2); + this.btnStop.Name = "btnStop"; + this.btnStop.Size = new System.Drawing.Size(56, 23); + this.btnStop.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnStop.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnStop.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255))))); + this.btnStop.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine; + this.btnStop.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnStop.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText; + this.btnStop.Style.GradientAngle = 90; + this.btnStop.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center; + this.btnStop.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnStop.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnStop.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnStop.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White; + this.btnStop.TabIndex = 546; + this.btnStop.Text = "停止上传"; + this.btnStop.Click += new System.EventHandler(this.btnStop_Click); + // + // label11 + // + this.label11.AutoSize = true; + this.label11.Location = new System.Drawing.Point(188, 35); + this.label11.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label11.Name = "label11"; + this.label11.Size = new System.Drawing.Size(20, 17); + this.label11.TabIndex = 536; + this.label11.Text = "元"; + // + // txtAddMorePrice + // + this.txtAddMorePrice.Location = new System.Drawing.Point(157, 32); + this.txtAddMorePrice.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); + this.txtAddMorePrice.Name = "txtAddMorePrice"; + this.txtAddMorePrice.Size = new System.Drawing.Size(31, 23); + this.txtAddMorePrice.TabIndex = 535; + this.txtAddMorePrice.Text = "5"; + // + // label10 + // + this.label10.AutoSize = true; + this.label10.Location = new System.Drawing.Point(114, 35); + this.label10.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label10.Name = "label10"; + this.label10.Size = new System.Drawing.Size(44, 17); + this.label10.TabIndex = 534; + this.label10.Text = "倍再加"; + // + // txtAddTimes + // + this.txtAddTimes.Location = new System.Drawing.Point(83, 32); + this.txtAddTimes.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); + this.txtAddTimes.Name = "txtAddTimes"; + this.txtAddTimes.Size = new System.Drawing.Size(31, 23); + this.txtAddTimes.TabIndex = 532; + this.txtAddTimes.Text = "2"; + // + // label9 + // + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(28, 35); + this.label9.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(56, 17); + this.label9.TabIndex = 533; + this.label9.Text = "加价金额"; + // + // btnUpload + // + this.btnUpload.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.btnUpload.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled; + this.btnUpload.Cursor = System.Windows.Forms.Cursors.Hand; + this.btnUpload.DisabledBackColor = System.Drawing.Color.Empty; + this.btnUpload.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); + this.btnUpload.Location = new System.Drawing.Point(226, 70); + this.btnUpload.Name = "btnUpload"; + this.btnUpload.Size = new System.Drawing.Size(89, 23); + this.btnUpload.Style.Alignment = System.Drawing.StringAlignment.Center; + this.btnUpload.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnUpload.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255))))); + this.btnUpload.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder; + this.btnUpload.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash; + this.btnUpload.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None; + this.btnUpload.Style.ForeColor.Color = System.Drawing.Color.White; + this.btnUpload.Style.GradientAngle = 90; + this.btnUpload.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; + this.btnUpload.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnUpload.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255))))); + this.btnUpload.TabIndex = 517; + this.btnUpload.Text = "批量上传选中"; + this.btnUpload.Click += new System.EventHandler(this.btnUpload_Click); + // + // txtStockNum + // + this.txtStockNum.Location = new System.Drawing.Point(83, 67); + this.txtStockNum.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2); + this.txtStockNum.Name = "txtStockNum"; + this.txtStockNum.Size = new System.Drawing.Size(31, 23); + this.txtStockNum.TabIndex = 530; + this.txtStockNum.Text = "99"; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(28, 70); + this.label4.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(56, 17); + this.label4.TabIndex = 531; + this.label4.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(226, 32); + this.btnDelSelect.Name = "btnDelSelect"; + this.btnDelSelect.Size = new System.Drawing.Size(147, 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); + // + // ucGroupBoxEx4 + // + this.ucGroupBoxEx4.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) + | System.Windows.Forms.AnchorStyles.Left))); 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); @@ -165,23 +345,22 @@ namespace TemuKJD.PDDForms.ProductSelectForms 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.Size = new System.Drawing.Size(737, 120); this.ucGroupBoxEx4.TabIndex = 666; this.ucGroupBoxEx4.TabStop = false; - this.ucGroupBoxEx4.Text = "认领商品查询"; + 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.Location = new System.Drawing.Point(664, 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); @@ -361,31 +540,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms 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; @@ -417,7 +571,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms 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.Size = new System.Drawing.Size(90, 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))))); @@ -430,7 +584,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms 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.Text = "待传商品查询"; this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click); // // ucGroupBoxEx1 @@ -506,6 +660,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // splitContainer2.Panel2 // this.splitContainer2.Panel2.Controls.Add(this.pbLoading); + this.splitContainer2.Panel2.Controls.Add(this.panel1); 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); @@ -592,7 +747,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms // // colSelectProduct // - this.colSelectProduct.HeaderText = "认领商品"; + this.colSelectProduct.HeaderText = "选择商品"; this.colSelectProduct.Name = "colSelectProduct"; this.colSelectProduct.ReadOnly = true; this.colSelectProduct.Resizable = System.Windows.Forms.DataGridViewTriState.True; @@ -640,6 +795,17 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.pbLoading.TabStop = false; this.pbLoading.Visible = false; // + // panel1 + // + this.panel1.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.panel1.Location = new System.Drawing.Point(36, 53); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(906, 306); + this.panel1.TabIndex = 189; + this.panel1.Paint += new System.Windows.Forms.PaintEventHandler(this.panel1_Paint); + // // dgvSelectProduct // this.dgvSelectProduct.AllowUserToAddRows = false; @@ -662,8 +828,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.colSelectId, this.colSupplierId, this.colSupplierName, - this.colInShop, this.colLogin, + this.colInShop, this.colSpuId, this.colSkcId, this.colImgUrl, @@ -675,7 +841,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.colDraftId, this.colNotes, this.colUserNotes, - this.ColDelete}); + this.ColDelete, + this.colOpResult}); this.dgvSelectProduct.Dock = System.Windows.Forms.DockStyle.Fill; this.dgvSelectProduct.Location = new System.Drawing.Point(0, 0); this.dgvSelectProduct.Name = "dgvSelectProduct"; @@ -718,16 +885,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms 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 = "登录"; @@ -735,9 +892,17 @@ namespace TemuKJD.PDDForms.ProductSelectForms 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; // + // colInShop + // + 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; + // // colSpuId // this.colSpuId.HeaderText = "商品SPU"; @@ -779,7 +944,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.colProductName.HeaderText = "商品标题"; this.colProductName.Name = "colProductName"; this.colProductName.ReadOnly = true; - this.colProductName.Width = 200; + this.colProductName.Width = 120; // // colProductCat // @@ -821,6 +986,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.colUserNotes.Name = "colUserNotes"; this.colUserNotes.ReadOnly = true; this.colUserNotes.Resizable = System.Windows.Forms.DataGridViewTriState.True; + this.colUserNotes.Visible = false; this.colUserNotes.Width = 75; // // ColDelete @@ -830,6 +996,12 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.ColDelete.ReadOnly = true; this.ColDelete.Width = 75; // + // colOpResult + // + this.colOpResult.HeaderText = "操作结果"; + this.colOpResult.Name = "colOpResult"; + this.colOpResult.ReadOnly = true; + // // splitContainer4 // this.splitContainer4.Dock = System.Windows.Forms.DockStyle.Fill; @@ -915,22 +1087,24 @@ namespace TemuKJD.PDDForms.ProductSelectForms // this.ucSplitPage1.CurrentPage = 1; this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right; + this.ucSplitPage1.IsShowPageSize = false; 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.PageSize = 50; this.ucSplitPage1.Size = new System.Drawing.Size(573, 26); this.ucSplitPage1.TabIndex = 675; this.ucSplitPage1.TotalPage = 1; // - // DbProductUserSelectForm + // PDDDBProdUserSelectForm // 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.Name = "PDDDBProdUserSelectForm"; this.Text = "UserSelectDbProductForm"; this.Load += new System.EventHandler(this.UserSelectDbProductForm_Load); this.VisibleChanged += new System.EventHandler(this.UserSelectDbProductForm_VisibleChanged); @@ -938,6 +1112,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms this.splitContainer1.Panel2.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit(); this.splitContainer1.ResumeLayout(false); + this.ucGroupBoxEx2.ResumeLayout(false); + this.ucGroupBoxEx2.PerformLayout(); this.ucGroupBoxEx4.ResumeLayout(false); this.ucGroupBoxEx4.PerformLayout(); this.ucGroupBoxEx1.ResumeLayout(false); @@ -997,12 +1173,13 @@ namespace TemuKJD.PDDForms.ProductSelectForms private System.Windows.Forms.TextBox txtSPU; private System.Windows.Forms.Label label1; private DevComponents.DotNetBar.PanelEx pnlEmpty; + private DevComponents.DotNetBar.PanelEx btnUpload; 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 colInShop; private System.Windows.Forms.DataGridViewLinkColumn colSpuId; private System.Windows.Forms.DataGridViewLinkColumn colSkcId; private System.Windows.Forms.DataGridViewTextBoxColumn colImgUrl; @@ -1015,6 +1192,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms private System.Windows.Forms.DataGridViewTextBoxColumn colNotes; private System.Windows.Forms.DataGridViewLinkColumn colUserNotes; private System.Windows.Forms.DataGridViewLinkColumn ColDelete; + private System.Windows.Forms.DataGridViewTextBoxColumn colOpResult; + private System.Windows.Forms.Panel panel1; private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; private System.Windows.Forms.DataGridViewTextBoxColumn colShopLoginName; private System.Windows.Forms.DataGridViewTextBoxColumn colShopId; @@ -1025,5 +1204,14 @@ namespace TemuKJD.PDDForms.ProductSelectForms private System.Windows.Forms.DataGridViewCheckBoxColumn colCanUse; private System.Windows.Forms.DataGridViewTextBoxColumn colRemaining; private System.Windows.Forms.DataGridViewTextBoxColumn colMessage; + private UserComponent.UcGroupBoxEx ucGroupBoxEx2; + private System.Windows.Forms.Label label11; + private System.Windows.Forms.TextBox txtAddMorePrice; + private System.Windows.Forms.Label label10; + private System.Windows.Forms.TextBox txtAddTimes; + private System.Windows.Forms.Label label9; + private System.Windows.Forms.TextBox txtStockNum; + private System.Windows.Forms.Label label4; + private DevComponents.DotNetBar.PanelEx btnStop; } } \ No newline at end of file diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs index 8219ca5..fe82b00 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs @@ -21,11 +21,16 @@ using TemuKJD.BaseForms; using TemuKJD.ToolForms; using Work; using TemuKJD.PDDForms.ShopForms; +using TemuKJD.BLL; +using System.Text.RegularExpressions; +using AllBase.Model.Result.PDDResult; +using AllBase.Model.Param.PDDProdParam; namespace TemuKJD.PDDForms.ProductSelectForms { public partial class PDDDBProdUserSelectForm : BaseForm { + public CancellationTokenSource cancellationTokenSource { get; set; } = null; bool isInit = false; CheckBox chkSelectAll = null; List lstTemuDBProductSelect = new List(); @@ -36,6 +41,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms private void UserSelectDbProductForm_Load(object sender, EventArgs e) { + this.panel1.SendToBack(); chkSelectAll = dgvShop.Columns["colSelect"].AddHeaderCheckBox(HorizontalAlignment.Center, 0, 0, null, null, false); dgvShop.Columns["colSelect"].HeaderText = ""; chkSelectAll.Width = chkSelectAll.Height = 13; @@ -227,14 +233,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms 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( @@ -242,8 +240,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms prodSelect.id, prodSelect.shop_id, prodSelect.shop_account, - "进店", "登录", + "进店", prodSelect.spu_id, prodSelect.skc_id, prodSelect.main_img, @@ -354,15 +352,20 @@ namespace TemuKJD.PDDForms.ProductSelectForms SearchDbProdSelect(this.ucSplitPage1.CurrentPage); } break; + case "登录": + PDDShopLoginForm shopLoginForm = new PDDShopLoginForm(shop); + shopLoginForm.openType = EnumOpenType.login; + //shopLoginForm.SaveComplete += shopLoginForm_SaveComplete; + shopLoginForm.ShowDialog(); + //btnRefreshCookie_Click(null, null); + 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(); + PDDShopLoginForm loginForm = new PDDShopLoginForm(shop); + loginForm.openType = EnumOpenType.manage; + loginForm.WindowState = FormWindowState.Maximized; + loginForm.InitUrl = "https://mms.pinduoduo.com/home/"; + loginForm.Show(); } break; case "重上/已买": @@ -527,5 +530,968 @@ namespace TemuKJD.PDDForms.ProductSelectForms { ShowDgvImg(); } + + private void btnUpload_Click(object sender, EventArgs e) + { + var DbIdLst = dgvSelectProduct.Rows.Cast().Where(row + => row.Cells["colCheck"]?.Value.ParseToBool() == true).Select(r => r.Cells["colSelectId"]?.Value.ToString()).ToList(); + var prodList = this.lstTemuDBProductSelect.Where(p => DbIdLst.Contains(p.id.ParseToString())).ToArray(); + + if (prodList.Count() > 0) + { + this.btnUpload.Enabled = false; + cancellationTokenSource = new CancellationTokenSource(); + Task.Run(() => + { + AddProductArr(prodList); + Invoke(new Action(() => + { + this.btnUpload.Enabled = true; + })); + }, cancellationTokenSource.Token); + } + else + { + BaseMsgForm.ShowError("请选择要上传的商品!"); + } + } + + void AddProductArr(TemuDBProductSelect[] prodSelect) + { + Invoke(new Action(() => + { + this.pbLoading.Visible = true; + this.statusBar.lblTaskStatus.Text = "正在上传..."; + this.statusBar.pgbTaskProgress.Maximum = prodSelect.Length; + this.statusBar.UpdateProgressBar(0); + })); + + int upCount = 0; + ShopLoginInfo oldShop = null; + foreach (var prod in prodSelect) + { + if (cancellationTokenSource.IsCancellationRequested) + break; + + Invoke(new Action(() => + { + this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + 1); + })); + + if (prod == null) + { + Invoke(new Action(() => + { + BaseMsgForm.ShowError("商品为空,将为您跳过该商品!"); + })); + continue; + } + + var row = dgvSelectProduct.Rows.Cast().FirstOrDefault(r => + r.Cells["colSelectId"]?.Value.ToString() == prod.id.ToString()); + if (row == null) + { + Invoke(new Action(() => + { + BaseMsgForm.ShowError("商品已被清除,将为您跳过该商品!"); + })); + continue; + } + + var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == prod.shop_id); + if (shop == null) + continue; + + var kjdDbProd = GetProductDetail(prod.out_product_Id.ToString()); + if (kjdDbProd == null || kjdDbProd.id == 0) + { + if (kjdDbProd?.id == 0) + { + prod.status = "已清除"; + var empty_url = BaseClass.BuildObjString("product/mdy_user_select_product_status"); + var empty_data = UserLogin.GetSignaturex() + + "&db_id=" + prod.id + + "&status=已清除"; + GetHtml.PostUtf8(empty_url, empty_data); + } + + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = "选品数据库商品已被清除"; + if (kjdDbProd?.id == 0) + row.Cells["colStatus"].Value = "已清除"; + })); + continue; + } + + var result = ""; + try + { + upCount++; + if (oldShop != shop || upCount > 5) + { + oldShop = shop; + upCount = 0; + + Invoke(new Action(() => + { + this.panel1.BringToFront(); + PDDShopLoginForm loginForm = new PDDShopLoginForm(shop); + loginForm.TopLevel = false; + loginForm.openType = EnumOpenType.manage; + loginForm.WindowState = FormWindowState.Maximized; + loginForm.InitUrl = "https://mms.pinduoduo.com/home/"; + loginForm.Dock = DockStyle.Fill; + this.panel1.Controls.Add(loginForm); + loginForm.Show(); + this.panel1.SendToBack(); + })); + Thread.Sleep(1000); + } + + //var prodDetailJson = GetHtml.UrlDecode(kjdDbProd.product_json); + result = UploadProduct(shop, kjdDbProd, prod, row.Cells["colOpResult"]); //将商品上传至草稿箱或直接上传到未发布 + + if (result.Contains("会话已过期")) + { + if (PDDShopListForm.Instance == null) + { + PDDShopListForm.Instance = new PDDShopListForm(); + } + PDDShopListForm.Instance.CheckShopLogin(new string[] { shop.LoginName }, false); + } + } + catch (Exception ex) + { + result = "{\"success\":false,\"status\":\"未上传\",\"errMsg\":\"" + ex.Message + "\"}"; + } + Thread.Sleep(200); + + var error = BaseRegex.GetStringJson(ref result, "errMsg"); + if (!result.Contains("\"success\":true") && !result.Contains("上传成功")) + { + if (string.IsNullOrWhiteSpace(error)) + error = result; + Invoke(new Action(() => + { + row.Cells["colOpResult"].Value = error; + })); + continue; + } + + prod.status = BaseRegex.GetStringJson(ref result, "status"); + if (string.IsNullOrWhiteSpace(prod.status)) + prod.status = "待上传"; + var productDraftId = BaseRegex.GetStringJson(ref result, "draftId"); + var url = BaseClass.BuildObjString("product/mdy_user_select_product_status"); + var data = UserLogin.GetSignaturex() + + "&db_id=" + prod.id + + "&draft_id=" + productDraftId + // draft_id即商品spuid + "&up_spu_id=" + prod.spu_id + + "&shop_id=" + prod.shop_id + + "&status=" + prod.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")) + { + Invoke(new Action(() => + { + string opRst = prod.status == "已上传" ? "已成功上传" : "已上传草稿箱"; + row.Cells["colOpResult"].Value = opRst + "但保存到服务端失败:" + BaseRegex.GetStringJson(ref html, "msg") + (" " + error).Trim(' '); + row.Cells["colStatus"].Value = prod.status; + })); + } + else + { + Invoke(new Action(() => + { + row.Cells["colDraftId"].Value = productDraftId; // 草稿箱id + row.Cells["colOpResult"].Value = prod.status == "已上传" ? "已成功上传" : "已上传草稿箱" + (" " + error).TrimEnd(' '); + row.Cells["colMsg"].Value = prod.status; + })); + } + } + Invoke(new Action(() => + { + if (cancellationTokenSource.IsCancellationRequested) + BaseMsgForm.ShowInfo("上传停止!"); + else + BaseMsgForm.ShowInfo("上传完成!"); + })); + + Invoke(new Action(() => + { + this.pbLoading.Visible = false; + if (cancellationTokenSource.IsCancellationRequested) + this.statusBar.lblTaskStatus.Text = "上传停止"; + else + this.statusBar.lblTaskStatus.Text = "上传完成"; + this.statusBar.UpdateProgressBar(prodSelect.Length); + })); + } + + string UploadProduct(ShopLoginInfo shop, KJDDBProduct dbProd, TemuDBProductSelect selectProd, DataGridViewCell cell) + { + if (shop == null || string.IsNullOrEmpty(shop.ShopId) || shop.LoginStatus != "登录成功") + { + return "店铺为空或未登录!"; + } + if (cell != null) + { + Invoke(new Action(() => + { + cell.Value = "正在初始化上传"; + })); + } + + var prodInfo = JsonHelper.DeserializeJsonToObject(dbProd.product_json); + var prodParam = new PDDProductUploadParam(); + + // 发起新建商品 + string create_new_html = CreatePddProdCommitId(shop); + if (create_new_html.Contains("\"success\":true")) + { + prodParam.goods_id = BaseRegex.GetLongJson(ref create_new_html, "goods_id"); + prodParam.goods_commit_id = BaseRegex.GetLongJson(ref create_new_html, "goods_commit_id").ParseToString(); + } + else + { + var error = BaseRegex.GetStringJson(ref create_new_html, "error_msg"); + if (string.IsNullOrEmpty(error)) + error = create_new_html; + return "上传失败 " + error; + } + if (prodParam.goods_id <= 0 || prodParam.goods_commit_id.ParseToLong() <= 0) + { + return "上传失败 " + create_new_html; + } + + PDDProductTemplateInfo prodTemplateInfo = null; + string prop_template_html = GetPddCatPropTemplate(shop, prodInfo.detail.cat_id.ParseToString(), prodParam.goods_id.ToString(), prodParam.goods_commit_id); + if (prop_template_html.Contains("\"success\":true")) + { + try + { + prop_template_html = GetHtml.Unicode2String(prop_template_html); + JObject prop_template_obj = JObject.Parse(prop_template_html); + string prop_temp_json = JsonHelper.SerializeObject(prop_template_obj["result"]); + prodTemplateInfo = JsonHelper.DeserializeJsonToObject(prop_temp_json); + if (prodTemplateInfo == null) + { + return "商品获取失败!商品属性格式模板获取失败!"; + } + } + catch (Exception ex) { + return "上传失败 " + ex.Message; + } + } + else + { + var error = BaseRegex.GetStringJson(ref prop_template_html, "error_msg"); + if (string.IsNullOrEmpty(error)) + error = prop_template_html; + return "上传失败 " + error; + } + + string decoration_preview_html = GetPddDecorationPreview(shop, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id); + if (decoration_preview_html.Contains("\"success\":true")) + { + prodParam.decorationPreview = BaseRegex.GetStringJson(ref decoration_preview_html, "preview_url"); + } + else + { + var error = BaseRegex.GetStringJson(ref decoration_preview_html, "error_msg"); + if (string.IsNullOrEmpty(error)) + error = decoration_preview_html; + return "上传失败 " + error; + } + + string cost_template_html = GetPddCostTemplate(shop, prodInfo.detail.cat_ids, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id); + if (cost_template_html.Contains("\"success\":true")) + { + prodParam.cost_template_id = BaseRegex.GetStringJson(ref cost_template_html, "costTemplateId").ParseToLong(); + } + else + { + var error = BaseRegex.GetStringJson(ref cost_template_html, "error_msg"); + if (string.IsNullOrEmpty(error)) + error = cost_template_html; + return "上传失败 " + error; + } + + prodParam.ai_goods_video = new List(); + prodParam.ai_goods_video = new List(); + prodParam.allergy_refund = prodInfo.detail.allergy_refund; + prodParam.allow_purchase_info_supply = false; + prodParam.bad_fruit_claim = prodInfo.detail.bad_fruit_claim; + prodParam.booking_notes = new List(); + prodParam.can_not_change_cat = false; + prodParam.can_not_change_spu = false; + prodParam.card_verification_list = prodInfo.detail.card_verification_list == null ? new List() : prodInfo.detail.card_verification_list as List; + prodParam.carousel_video = new List(); + prodParam.cats = prodInfo.detail.cats; + prodParam.cat_id = prodInfo.detail.cat_id; + prodParam.cat_ids = prodInfo.detail.cat_ids; + prodParam.check_status = prodInfo.detail.check_status; + prodParam.cost_template_error = ""; + //prodParam.cost_template_id = 0; // 运费模板,上面已经查询店铺运费模板列表获取 + prodParam.country_id = prodInfo.detail.country_id.ParseToString(); + prodParam.customizable = prodInfo.detail.customizable; + prodParam.customs = prodInfo.detail.customs; + prodParam.damage_claim = prodInfo.detail.damage_claim; + prodParam.dead_line_seconds = 86399; // 1天? + prodParam.decorationCanEdit = true; + prodParam.decorationDetail = prodInfo.decoration.floor_list; + //prodParam.decorationPreview = ""; // 商品详情图,通过接口获取 + prodParam.default_template_gray = true; + prodParam.delivery_one_day = 0; + prodParam.delivery_type = null; + prodParam.detail_video = new List(); + prodParam.effect_logistics_weight_limit = 20000; + prodParam.electric_status = 0; + prodParam.elec_goods_attributes = prodInfo.detail.elec_goods_attributes; + prodParam.explanation_video = new List(); + prodParam.extend_warranty_dto = JsonHelper.DeserializeJsonToObject(JsonHelper.SerializeObject(prodInfo.detail.extend_warranty_dto)); + prodParam.first_upload_carousel = true; + prodParam.gallery = JsonHelper.DeserializeJsonToList(JsonHelper.SerializeObject(prodInfo.detail.galleries)); + prodParam.gold_price_template_id = prodInfo.detail.gold_price_template_id.ParseToInt(); + prodParam.goods_certificate = prodInfo.detail.goods_certificate.ParseToInt(); + prodParam.goods_commit_check = prodInfo.detail.goods_commit_check; + //prodParam.goods_commit_id = prodParam.goods_commit_id; + prodParam.goods_desc = prodInfo.detail.goods_desc; + //prodParam.goods_id = prodParam.goods_id; + prodParam.goods_name = prodInfo.detail.goods_name; + prodParam.goods_name_prefix = prodInfo.detail.goods_name_prefix; + prodParam.goods_pattern = prodInfo.detail.goods_pattern; + prodParam.goods_properties = new List(); // 商品属性,通过接口获取商品模板并做匹配 + //step1(共3个step)通过商品属性获取二级必填属性 + foreach (var propInfo in prodInfo.property.goods_properties) + { + var propTemp = prodTemplateInfo.modules.FirstOrDefault()?.propertys.FirstOrDefault(p => p.ref_pid == propInfo.ref_pid); + if (propTemp == null) + continue; + + var prop = new goods_property_param() + { + template_pid = propTemp.id, + template_module_id = prodTemplateInfo.modules.FirstOrDefault().id, + ref_pid = propInfo.ref_pid, + pid = propTemp.pid, + vid = (propInfo.values.FirstOrDefault()?.vid).ParseToInt(), + value = "", + value_unit = "", + content = (propInfo.values.FirstOrDefault()?.value).ParseToString(), + }; + + string prop_sub_template_html = GetPddSubCatPropTemplate(shop, prodInfo.detail.cat_id.ParseToString(), + prop.template_pid.ParseToString(), prop.vid.ParseToString(), prodParam.goods_id.ToString(), prodParam.goods_commit_id); + if (prop_sub_template_html.Contains("\"success\":true")) + { + //template_module_vos + try + { + Thread.Sleep(Randomx.GetId(1000, 1500)); + prop_sub_template_html = GetHtml.Unicode2String(prop_sub_template_html); + JObject prop_sub_template_obj = JObject.Parse(prop_sub_template_html); + string prop_sub_template_json = JsonHelper.SerializeObject(prop_sub_template_obj["result"]["template_module_vos"]); + var subTempLst = JsonHelper.DeserializeJsonToList(prop_sub_template_json); + if (subTempLst.Count > 0) + prodTemplateInfo.modules.FirstOrDefault()?.propertys.AddRange(subTempLst.FirstOrDefault()?.propertys); + //if (subTempLst == null) + //{ + // return "商品获取失败!商品属性格式模板获取失败!"; + //} + } + catch (Exception ex) + { + //转换失败也不要取消,会上传到草稿箱 + //return "上传失败 " + ex.Message; + } + } + } + //step2(共3个step)通过商品属性填写新建商品属性 + foreach (var propInfo in prodInfo.property.goods_properties) + { + var propTemp = prodTemplateInfo.modules.FirstOrDefault()?.propertys.FirstOrDefault(p => p.ref_pid == propInfo.ref_pid); + if (propTemp == null) + continue; + + var prop = new goods_property_param() + { + template_pid = propTemp.id, + template_module_id = prodTemplateInfo.modules.FirstOrDefault().id, + ref_pid = propInfo.ref_pid, + pid = propTemp.pid, + vid = (propInfo.values.FirstOrDefault()?.vid).ParseToInt(), + value = "", + value_unit = "", + content = (propInfo.values.FirstOrDefault()?.value).ParseToString(), + }; + prodParam.goods_properties.Add(prop); + } + //step3(共3个step)如果有遗漏的必填(required)商品属性,按默认值填写 + foreach (var propTemp in prodTemplateInfo.modules.FirstOrDefault()?.propertys) + { + if (propTemp.required && !prodParam.goods_properties.Any(p=>p.ref_pid == propTemp.ref_pid)) + { + var contentOther = propTemp.values.content.FirstOrDefault(c => c.value == "其他"); + if (contentOther != null) + { + var prop = new goods_property_param() + { + template_pid = propTemp.id, + template_module_id = prodTemplateInfo.modules.FirstOrDefault().id, + ref_pid = propTemp.ref_pid, + pid = propTemp.pid, + vid = contentOther.vid, + value = "", + value_unit = "", + content = contentOther.value, + }; + prodParam.goods_properties.Add(prop); + } + } + } + + prodParam.goods_srv_templates = prodInfo.detail.goods_srv_templates; + prodParam.goods_type = prodInfo.detail.goods_type; + prodParam.groups = prodInfo.detail.groups; + prodParam.hasBatchEnter = false; + prodParam.hide_apply = false; + prodParam.home_delivery_template_name = ""; + prodParam.imageEnhanceGray = false; + prodParam.image_url = prodInfo.detail.image_url; + prodParam.ingredient_gallery = new List(); + prodParam.instruction_template_id = prodInfo.detail.instruction_vo?.template_id; + prodParam.instruction_vo = prodInfo.detail.instruction_vo; + prodParam.invoice_mode = null; + prodParam.invoice_mode_sub_type = null; + prodParam.invoice_status = 0; + prodParam.isAddLocalCityGoods = false; + prodParam.isbn_properties_related = new isbn_properties_related_param(); + prodParam.isCoupon = false; + prodParam.isGoodsLock = false; + prodParam.is_all_weight_same = true; + prodParam.is_auto_save = false; + prodParam.is_certificate_provide = prodInfo.detail.is_certificate_provide; + prodParam.is_customized = prodInfo.detail.is_customized; + prodParam.is_customs = prodInfo.detail.is_customs; + prodParam.is_default_template_id = 0; // ? + prodParam.is_draft = false; // prodInfo.detail.is_draft; + prodParam.is_folt = prodInfo.detail.is_folt; + prodParam.is_gold_price_matched = prodInfo.detail.is_gold_price_matched; + prodParam.is_goods_copy = prodInfo.detail.is_goods_copy; + prodParam.is_group_pre_sale = prodInfo.detail.is_group_pre_sale; + prodParam.is_only_for_remote_area = prodInfo.detail.is_only_for_remote_area; + prodParam.is_pre_sale = prodInfo.detail.is_pre_sale; + prodParam.is_refundable = prodInfo.detail.is_refundable; + prodParam.is_refundable_fifteen_day = prodInfo.detail.is_refundable_fifteen_day; + prodParam.is_shop = 0; // 是否上架? prodInfo.detail.is_shop; + prodParam.is_size_change_casually = prodInfo.detail.is_size_change_casually; + prodParam.is_sku_pre_sale = prodInfo.detail.is_sku_pre_sale; + prodParam.is_sku_shipment = prodInfo.detail.is_sku_shipment; + prodParam.is_spring_festival_open_tag = prodInfo.detail.is_spring_festival_open_tag; + prodParam.is_transfer_spu = false; + prodParam.is_two_num_group = prodInfo.detail.is_two_num_group; + prodParam.is_warranty_one_year = prodInfo.detail.is_warranty_one_year; + prodParam.is_wp_service = prodInfo.detail.is_wp_service; + prodParam.lack_of_weight_claim = prodInfo.detail.lack_of_weight_claim; + prodParam.local_service_id_list = prodInfo.detail.local_service_id_list; + prodParam.mai_jia_zi_ti = prodInfo.detail.mai_jia_zi_ti; + prodParam.market_price = prodInfo.detail.market_price; + prodParam.market_price_in_yuan = (prodInfo.detail.market_price * 0.01).ParseToString(); + prodParam.materialModalAbGray = true; + prodParam.materialReplaceTagGray = true; + prodParam.must_have_spu = false; + prodParam.name_prefix = prodInfo.detail.name_prefix; + prodParam.nutrition_gallery = new List(); + prodParam.origin_country_id = prodInfo.detail.origin_country_id; + prodParam.origin_is_pre_sale = 0; + prodParam.out_goods_sn = prodInfo.detail.out_goods_sn; + prodParam.oversea_goods = prodInfo.detail.oversea_goods == null ? new object() : prodInfo.detail.oversea_goods; + prodParam.prefillWhitePic = ""; // 白底图,需要研究如何获取 + prodParam.pre_sale_time = prodInfo.detail.pre_sale_time.ParseToString(); + prodParam.privacy_delivery = prodInfo.detail.privacy_delivery; + prodParam.processing_charges = prodInfo.detail.processing_charges.ParseToInt(); + prodParam.processing_charges_in_yuan = (prodParam.processing_charges * 0.01).ParseToString(); + prodParam.processing_charges_type = prodInfo.detail.processing_charges_type.ParseToInt(); + prodParam.propertys_edit_search_spu = false; + prodParam.propertys_standard = new List(); + prodParam.propertys_tid = prodTemplateInfo.id; // 属性模板id,通过接口获取 + prodParam.qualification_id_list = prodInfo.detail.qualification_id_list; + prodParam.quan_guo_lian_bao = prodInfo.detail.quan_guo_lian_bao; + prodParam.reject_reason = new List(); //prodInfo.detail.reject_reason as List; + prodParam.reject_status = prodInfo.detail.reject_status.ParseToString(); + prodParam.same_city_template_id = prodInfo.detail.same_city_template_id; + prodParam.schedule_sale = JsonHelper.DeserializeJsonToObject(JsonHelper.SerializeObject(prodInfo.detail.schedule_sale)); + prodParam.second_hand = prodInfo.detail.second_hand; + prodParam.service_time = BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now); // 尝试使用当前系统时间提交 + prodParam.shang_men_an_zhuang = prodInfo.detail.shang_men_an_zhuang; + prodParam.shipment_limit_second = prodInfo.detail.shipment_limit_second; + prodParam.shipment_limit_second_origin_value = 0; + prodParam.shop_group_id = prodInfo.detail.shop_group_id.ParseToInt(); + prodParam.showGoodsInstruction = true; + prodParam.size_parent_spec_id = prodInfo.detail.size_parent_spec_id; //尝试使用上家的尺码表,不行则下面再修改 + prodParam.size_spec_id = prodInfo.detail.size_spec_id; //尝试使用上家的尺码表,不行则下面再修改 + prodParam.skus = new List(); + foreach (var skuInfo in prodInfo.detail.sku) + { + var skuParam = new sku_param() + { + id = skuInfo.id, + is_onsale = skuInfo.is_onsale, + limit_quantity = skuInfo.limit_quantity, + multi_price = (skuInfo.multi_price * this.txtAddTimes.Text.Trim().ParseToDecimal() + this.txtAddMorePrice.Text.Trim().ParseToDecimal() * 100).ParseToInt(), + out_sku_sn = skuInfo.out_sku_sn, + oversea_sku = skuInfo.oversea_sku, + price = (skuInfo.price * this.txtAddTimes.Text.Trim().ParseToDecimal() + this.txtAddMorePrice.Text.Trim().ParseToDecimal() * 100).ParseToInt(), + quantity_delta = txtStockNum.Text.Trim().ParseToInt(), //skuInfo.quantity, + shipment_limit_second_list = skuInfo.shipment_limit_second_list, + sku69_code = skuInfo.sku69_code, + sku_srv_templates = skuInfo.sku_srv_templates.ParseToString(), + spec = JsonHelper.DeserializeJsonToList(JsonHelper.SerializeObject(skuInfo.spec)), + thumb_url = skuInfo.thumb_url, + weight = skuInfo.weight, + }; + skuParam.price = skuParam.multi_price + 100; + if (prodParam.market_price < skuParam.price + 1000) + { + prodParam.market_price = skuParam.price + 1000; + prodParam.market_price_in_yuan = (prodParam.market_price * 0.01).ParseToString(); + } + prodParam.skus.Add(skuParam); + } + prodParam.song_huo_an_zhuang = prodInfo.detail.song_huo_an_zhuang; + prodParam.song_huo_ru_hu = prodInfo.detail.song_huo_ru_hu; + prodParam.spu = new object(); + prodParam.tag_price_gallery = new List(); + prodParam.thawed_refund = prodInfo.detail.thawed_refund; + prodParam.third_type = prodInfo.detail.third_type; + prodParam.tiny_name = prodInfo.detail.tiny_name; + prodParam.title_keywords = new List(); //关键字,后面尝试使用模拟接口 + prodParam.title_recommend = null; + prodParam.transport_type_list = prodInfo.detail.transport_type_list == null ? new List() : prodInfo.detail.transport_type_list as List; + prodParam.two_pieces_discount = prodInfo.detail.two_pieces_discount == null ? 99 : prodInfo.detail.two_pieces_discount; + prodParam.uploadDragAB = false; + prodParam.warehouse = prodInfo.detail.warehouse; + prodParam.warm_tips = prodInfo.detail.warm_tips; + prodParam.weight = ""; + prodParam.zhi_huan_bu_xiu = prodInfo.detail.zhi_huan_bu_xiu; + + prodParam.validate_message = "dd3837f48ccafb7c9b410fc4a650d20a8d0c7bf4602a7d808b757f4642be0647";//加密信息,暂时写死不影响上传 + prodParam.validate_message = BaseClass.GetMd5(Randomx.GetId(0, 1000000).ParseToString() + DateTime.Now.ToString()).ToLower(); + prodParam.validate_message += BaseClass.GetMd5(Randomx.GetId(0, 1000000).ParseToString() + DateTime.Now.ToString()).ToLower(); + prodParam.validate_message_v2 = "1c280f57816a9291d31a5533b9679fafd57f9a2e0a1ee9888ef875330c1faa1f";//加密信息,暂时写死不影响上传 + prodParam.validate_message_v2 = BaseClass.GetMd5(Randomx.GetId(0, 1000000).ParseToString() + DateTime.Now.ToString()).ToLower(); + prodParam.validate_message_v2 += BaseClass.GetMd5(Randomx.GetId(0, 1000000).ParseToString() + DateTime.Now.ToString()).ToLower(); + //prodParam.validate_message = ""; + //prodParam.validate_message_v2 = ""; + prodParam.crawlerInfo = "0asAntiContent"; //加密信息,上传时替换 + + string preview_key = BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now).ParseToString(); + PDDProdDecorationCommitParam decorationParam = new PDDProdDecorationCommitParam(); + decorationParam.goods_id = prodParam.goods_id; + decorationParam.goods_commit_id = prodParam.goods_commit_id.ParseToLong(); + decorationParam.preview_key = preview_key; + decorationParam.decoration_floor_list = new List(); + foreach(var floorItem in prodInfo.decoration.floor_list) + { + var floor_param = new decoration_floor_param(); + floor_param.floor_id = 0; // floorItem.floor_id; + floor_param.type = floorItem.type; + floor_param.content_list = new List(); + foreach (var c in floorItem.content_list) + { + var decorationContentParam = new decoration_content_param() + { + file_id = c.file_id, + img_url = c.img_url, + height = c.height, + text = c.text, + text_module_details = null, + width = c.width, + }; + try { decorationContentParam.text_module_details = JsonHelper.DeserializeJsonToObject(JsonHelper.SerializeObject(c.text_module_details)); } + catch (Exception ex) { } + floor_param.content_list.Add(decorationContentParam); + } + decorationParam.decoration_floor_list.Add(floor_param); + } + Thread.Sleep(Randomx.GetId(1500, 5500)); + + //var rst = GetChanceGoods(shop); + //var draftId = BaseRegex.GetStringJson(ref rst, "draft_id"); + //var goods_id = BaseRegex.GetLongJson(ref rst, "goods_id"); + + //prodParam.goods_commit_id = draftId; + //prodParam.goods_id = goods_id; + //rst = GetPddCatPropTemplate(shop, prodInfo.detail.cat_id.ParseToString(), prodParam.goods_id.ToString(), prodParam.goods_commit_id); + //rst = GetPddDecorationPreview(shop, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id); + //rst = GetPddCostTemplate(shop, prodInfo.detail.cat_ids, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id); + + var decorationRst = SavePddDecoration(shop, decorationParam, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id); + if (!decorationRst.Contains("\"success\":true")) + { + var error = BaseRegex.GetStringJson(ref decorationRst, "error_msg"); + if (string.IsNullOrEmpty(error)) + error = decorationRst; + return "上传失败 " + error; + } + + decoration_preview_html = GetPddDecorationPreview(shop, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id, preview_key); + //decoration_preview_html = GetPddDecorationPreview(shop, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id); + if (decoration_preview_html.Contains("\"success\":true")) + { + prodParam.decorationPreview = BaseRegex.GetStringJson(ref decoration_preview_html, "preview_url"); + } + else + { + var error = BaseRegex.GetStringJson(ref decoration_preview_html, "error_msg"); + if (string.IsNullOrEmpty(error)) + error = decoration_preview_html; + return "上传失败 " + error; + } + + var saveProdRst = SavePddProduct(shop, prodParam, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id); + if (!saveProdRst.Contains("\"success\":true")) + { + var error = BaseRegex.GetStringJson(ref saveProdRst, "error_msg"); + if (string.IsNullOrEmpty(error)) + error = saveProdRst; + return "上传失败 " + error; + } + + //var str = JsonHelper.SerializeObject(prodParam); + var result = SubmitPddProduct(shop, prodParam, prodParam.goods_id.ParseToString(), prodParam.goods_commit_id); + if (!result.Contains("\"success\":true")) + { + var error = BaseRegex.GetStringJson(ref result, "error_msg"); + if (string.IsNullOrEmpty(error)) + error = result; + return "上传失败 " + error; + } + + return "{\"success\":true,\"draftId\":" + prodParam.goods_id + ",\"status\":\"已上传\"\"msg\":\"上传成功\"}"; + } + + public KJDDBProduct GetProductDetail(string prodDbId) + { + if (string.IsNullOrEmpty(prodDbId)) + return new KJDDBProduct(); + + List list = new List(); + + var url = BaseClass.BuildObjString("product/get_product_detail_list"); + var data = ""; + + data = UserLogin.GetSignaturex() + "&search_db_ids=" + prodDbId; + + 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")) + { + return null; + } + + var jArr = JObject.Parse(html)["data"]; + if (jArr.Count() == 0) + return null; + var sProd = JsonHelper.SerializeObject(jArr); + + try + { + list = JsonHelper.DeserializeJsonToList(sProd); + var item = list.FirstOrDefault(); + if (item == null) + item = new KJDDBProduct(); + return item; + } + catch (Exception ex) + { + return null; + } + } + + private string CreatePddProdCommitId(ShopLoginInfo shop) + { + 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/edit/commit/create_new"; + string body = @"{}"; + string refere = "https://mms.pinduoduo.com/goods/goods_list?msfrom=mms_sidenav"; + var result = HttpResponseBLL.PDDPostResponse(shop, url, body, refere, anti); + for (int i = 0; i < 5 && 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 GetPddCatPropTemplate(ShopLoginInfo shop, string catId, 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/draco-ms/mms/template/mall?catId=" + catId + + "&goodsCommitId=" + commitId + "&goodsId=" + prodId; + string body = @""; + string refere = "https://mms.pinduoduo.com/goods/goods_add/index?type=add&from=category&id=" + commitId + + "&goods_id=" + prodId + "&sourcePage=goodsList"; + var result = HttpResponseBLL.PDDGetResponse(shop, url, body, refere, anti); + for (int i = 0; i < 5 && (result.Contains("操作太过频繁") || 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.PDDGetResponse(shop, url, body, refere, anti); + } + } + return result; + } + + private string GetPddSubCatPropTemplate(ShopLoginInfo shop, string catId, string template_pid, string vid, 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/draco-ms/mms/template/property/sub-property/v4"; + string body = @"{""cat_id"":" + catId + @",""template_pid"":" + template_pid + @",""vid"":" + vid + @"}"; + string refere = "https://mms.pinduoduo.com/goods/goods_add/index?type=add&from=category&id=" + commitId + + "&goods_id=" + prodId + "&sourcePage=goodsList"; + var result = HttpResponseBLL.PDDPostResponse(shop, url, body, refere, anti); + for (int i = 0; i < 5 && (result.Contains("操作太过频繁") || 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 GetPddProdCommitId(ShopLoginInfo shop, string prodId) + { + 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/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, anti); + for (int i = 0; i < 5 && result.Contains("网络繁忙,请不要频繁操作"); i++) + { + shop.AntiContents.Remove(anti); + anti = shop.AntiContents.FirstOrDefault().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 GetPddDecorationPreview(ShopLoginInfo shop, string prodId, string commitId, string prevewKey = "") + { + 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/gorse/mms/goods/decoration/preview"; + string body = @"{""goods_commit_id"":" + commitId + @",""goods_id"":" + prodId + @"}"; + if (!string.IsNullOrWhiteSpace(prevewKey)) + body = @"{""goods_commit_id"":" + commitId + @",""goods_id"":" + prodId + @",""preview_key"":" + prevewKey + @"}"; + string refere = "https://mms.pinduoduo.com/goods/goods_add/index?type=add&from=category&id=" + commitId + + "&goods_id=" + prodId + "&sourcePage=goodsList"; + var result = HttpResponseBLL.PDDPostResponse(shop, url, body, refere, anti); + for (int i = 0; i < 5 && result.Contains("网络繁忙,请不要频繁操作"); i++) + { + shop.AntiContents.Remove(anti); + anti = shop.AntiContents.FirstOrDefault().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 GetPddCostTemplate(ShopLoginInfo shop, List catList, string prodId, string commitId) + { + if (catList == null) + catList = new List(); + while (catList.Count < 4) + catList.Add(0); + + 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/express_inf/cost_template/get_list"; + string body = @"{""goodsCatIdInfo"":{""catId1"":" + catList[0] + @",""catId2"":" +catList[1] + + @",""catId3"":" + catList[2] + @",""catId4"":" + catList[3] + @"},""costTemplateId"":null,""sourceKey"":""BAPP_MMS_GOODS_PUBLISH"",""showSimpleList"":true,""pageSize"":2000,""goodsOptionSet"":null,""needReturnCurrentCostTemplate"":1}"; + string referer = "https://mms.pinduoduo.com/goods/goods_list?msfrom=mms_sidenav"; + referer = "https://mms.pinduoduo.com/goods/goods_add/index?type=add&from=category&id="+ commitId + + "&goods_id=" + prodId + "&sourcePage=goodsList"; + + var result = HttpResponseBLL.PDDPostResponse(shop, url, body, referer, anti); + for (int i = 0; i < 5 && result.Contains("网络繁忙,请不要频繁操作"); i++) + { + shop.AntiContents.Remove(anti); + anti = shop.AntiContents.FirstOrDefault().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, referer, anti); + } + } + return result; + } + + private string SavePddDecoration(ShopLoginInfo shop,PDDProdDecorationCommitParam decoration, 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/gorse/mms/goods/decoration/commit/save"; + string body = @"{""goods_id"":" + prodId + "}"; + body = JsonHelper.SerializeObject(decoration); + string refere = "https://mms.pinduoduo.com/goods/goods_add/index?type=add&from=category&id=" + commitId + + "&goods_id=" + prodId + "&sourcePage=goodsList"; + var result = HttpResponseBLL.PDDPostResponse(shop, url, body, refere, anti); + for (int i = 0; i < 5 && result.Contains("网络繁忙,请不要频繁操作"); i++) + { + shop.AntiContents.Remove(anti); + anti = shop.AntiContents.FirstOrDefault().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 SavePddProduct(ShopLoginInfo shop, PDDProductUploadParam prod, 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/mms/goodsCommit/action/edit"; + string body = JsonHelper.SerializeObject(prod); + string refere = "https://mms.pinduoduo.com/goods/goods_add/index?type=add&from=category&id=" + commitId + + "&goods_id=" + prodId + "&sourcePage=goodsList"; + + refere = "https://mms.pinduoduo.com/goods/goods_add/index?type=add&from=chance&id=" + commitId + @"&goods_id=" + prodId + @"&chance_tab=hot_theme&sourcePage=goodsListTopButton_CHANCE"; + + var result = HttpResponseBLL.PDDPostResponse(shop, url, body.Replace("0asAntiContent", anti), refere, anti); + for (int i = 0; i < 5 && result.Contains("网络繁忙,请不要频繁操作"); i++) + { + shop.AntiContents.Remove(anti); + anti = shop.AntiContents.FirstOrDefault().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.Replace("0asAntiContent", anti), refere, anti); + } + } + return result; + } + + private string SubmitPddProduct(ShopLoginInfo shop, PDDProductUploadParam prod, 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/edit/commit/submit"; + string body = @"{""goods_commit_id"":""" + commitId + @""",""goods_id"":" + prodId + + @",""is_onsale"":true,""third_type"":0,""if_allow_submit_mall_checking"":true,""crawlerInfo"":""" + anti + @"""}"; + + string refere = "https://mms.pinduoduo.com/goods/goods_add/index?type=add&from=category&id=" + commitId + + "&goods_id=" + prodId + "&sourcePage=goodsList"; + var result = HttpResponseBLL.PDDPostResponse(shop, url, body.Replace("0asAntiContent", anti), refere, anti); + for (int i = 0; i < 5 && (result.Contains("网络繁忙,请不要频繁操作") || result.Contains("您的店铺操作过于频繁,请稍后操作")); i++) + { + shop.AntiContents.Remove(anti); + anti = shop.AntiContents.FirstOrDefault().ParseToString(); + if (shop.AntiContents.Count > 0) + { + Thread.Sleep(Randomx.GetId(300, 500)); + anti = shop.AntiContents[Randomx.GetId(shop.AntiContents.Count)]; + body = @"{""goods_commit_id"":""" + commitId + @""",""goods_id"":" + prodId + + @",""is_onsale"":true,""third_type"":0,""if_allow_submit_mall_checking"":true,""crawlerInfo"":""" + anti + @"""}"; + result = HttpResponseBLL.PDDPostResponse(shop, url, body.Replace("0asAntiContent", anti), refere, anti); + } + } + return result; + } + + //https://mms.pinduoduo.com/opportunity-goods/chance-goods/quick_releas + private string GetChanceGoods(ShopLoginInfo shop) + { + 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/opportunity-goods/chance-goods/quick_release"; + string body = @"{""chance_id"":""87b2e74a242229e1dbd1e73ecff82e74""}"; + string refere = "https://mms.pinduoduo.com/goods/goods_list/chance/chance_list?search_word=%E5%A4%B4%E5%8F%91%E7%BB%B3&sourcePage=goodsListTopButton"; + var result = HttpResponseBLL.PDDPostResponse(shop, url, body.Replace("0asAntiContent", anti), refere, anti); + for (int i = 0; i < 5 && result.Contains("网络繁忙,请不要频繁操作"); i++) + { + shop.AntiContents.Remove(anti); + anti = shop.AntiContents.FirstOrDefault().ParseToString(); + if (shop.AntiContents.Count > 0) + { + Thread.Sleep(Randomx.GetId(300, 500)); + anti = shop.AntiContents[Randomx.GetId(shop.AntiContents.Count)]; + body = @"{""chance_id"":""fff84ef8fc1b2919a9c3383d350f44cc""}"; + result = HttpResponseBLL.PDDPostResponse(shop, url, body.Replace("0asAntiContent", anti), refere, anti); + } + } + return result; + } + + private void panel1_Paint(object sender, PaintEventArgs e) + { + + } + + private void btnStop_Click(object sender, EventArgs e) + { + if (this.cancellationTokenSource != null) + this.cancellationTokenSource.Cancel(); + } } } diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.resx b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.resx index c758dca..ba1b70d 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.resx +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.resx @@ -156,10 +156,10 @@ True - + True - + True @@ -195,4 +195,7 @@ True + + True + \ No newline at end of file diff --git a/TEMUKJD/PDDForms/ShopForms/PDDShopBrowserObject.cs b/TEMUKJD/PDDForms/ShopForms/PDDShopBrowserObject.cs index 67e2cca..494981f 100644 --- a/TEMUKJD/PDDForms/ShopForms/PDDShopBrowserObject.cs +++ b/TEMUKJD/PDDForms/ShopForms/PDDShopBrowserObject.cs @@ -46,35 +46,104 @@ namespace TemuKJD.PDDForms.ShopForms var sourceShop = shop; var sourceProdId = prodId; string success_err_msg = ""; - string errorMsg = ""; - var html = GetProdCommitId(sourceShop, sourceProdId.ToString()); - if (!html.Contains("\"success\":true") || !html.Contains("\"result\"")) + //string errorMsg = ""; + var commit_id_rst = GetPddProdCommitId(sourceShop, sourceProdId.ToString()); + if (!commit_id_rst.Contains("\"success\":true") || !commit_id_rst.Contains("\"result\"")) { - var errMsg = BaseRegex.GetStringJson(ref html, "error_msg"); + var errMsg = BaseRegex.GetStringJson(ref commit_id_rst, "error_msg"); if (string.IsNullOrEmpty(errMsg)) - errMsg = html; + errMsg = commit_id_rst; OnInfoReceived("商品获取失败!" + errMsg); return; } - var commitId = BaseRegex.GetStringJson(ref html, "goods_commit_id"); + var commitId = BaseRegex.GetStringJson(ref commit_id_rst, "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 = ""; - PDDProductDetailInfo product = JsonHelper.DeserializeJsonToObject(result); - if (product == null) + var detail_json = "{}"; + PDDProductDetailInfo product = null; + try { - OnInfoReceived("商品获取失败!商品数据格式获取失败!"); + var prod_detail_rst = GetPddProdDetail(sourceShop, sourceProdId.ToString(), commitId); + JObject prod_detail_obj = JObject.Parse(prod_detail_rst); + detail_json = JsonHelper.SerializeObject(prod_detail_obj["result"]); + product = JsonHelper.DeserializeJsonToObject(detail_json); + if (product == null) + { + OnInfoReceived("商品获取失败!商品数据格式获取失败!"); + return; + } + } + catch (Exception ex) { } + + var property_json = "{}"; + PDDProductPropertyInfo property = null; + try + { + var prod_property_rst = GetPddProdProperty(sourceShop, sourceProdId.ToString(), commitId); + prod_property_rst = GetHtml.Unicode2String(prod_property_rst); + JObject prod_property_obj = JObject.Parse(prod_property_rst); + property_json = JsonHelper.SerializeObject(prod_property_obj["result"]); + property = JsonHelper.DeserializeJsonToObject(property_json); + } + catch (Exception ex) { } + if (property == null) + { + OnInfoReceived("商品获取失败!商品属性获取失败!"); return; } - //尺码表注释 + var decoration_json = "{}"; + PDDProductDecorationInfo decoration = null; + try + { + var prod_decoration_rst = GetPddProdDecoration(sourceShop, sourceProdId.ToString(), commitId); + if (!prod_decoration_rst.Contains("\"success\":true")) + { + var errMsg = BaseRegex.GetStringJson(ref prod_decoration_rst, "error_msg"); + if (string.IsNullOrEmpty(errMsg)) + errMsg = commit_id_rst; + OnInfoReceived("商品获取失败!商品详情图获取失败!" + errMsg); + return; + } + JObject prod_decoration_obj = JObject.Parse(prod_decoration_rst); + if (!prod_decoration_obj["result"].IsNullOrEmpty()) + decoration_json = JsonHelper.SerializeObject(prod_decoration_obj["result"]); + decoration = JsonHelper.DeserializeJsonToObject(decoration_json); + } + catch (Exception ex) + { + OnInfoReceived("商品获取失败!商品详情图获取失败!" + ex.Message); + return; + } + if (decoration == null) + { + OnInfoReceived("商品获取失败!商品详情图获取失败!"); + return; + } + + // 属性模板暂时注释 + //var prop_template_json = "{}"; + //PDDProductTemplateInfo templateInfo = null; + //try + //{ + // var prop_template_rst = GetPddCatPropTemplate(sourceShop, product.cat_id.ParseToString(), sourceProdId.ToString(), commitId); + // JObject prop_template_obj = JObject.Parse(prop_template_rst); + // prop_template_json = JsonHelper.SerializeObject(prop_template_obj["result"]); + // templateInfo = JsonHelper.DeserializeJsonToObject(prop_template_json); + //} + //catch (Exception ex) { } + //if (templateInfo == null) + //{ + // OnInfoReceived("商品获取失败!商品属性模板获取失败!"); + // return; + //} + + var sizeRst = ""; + //尺码表暂时注释 //if (product.sizeTemplateId > 0) //{ // html = SizeSpecQuery(shop1, prodId1.ToString(), product.sizeTemplateId.ToString()); @@ -92,7 +161,7 @@ namespace TemuKJD.PDDForms.ShopForms 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); + string 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")) @@ -103,7 +172,8 @@ namespace TemuKJD.PDDForms.ShopForms isExist = true; } - var main_img = product.image_url; + string product_json = "{\"detail\":" + detail_json + ",\"decoration\":" + decoration_json + ",\"property\":" + property_json + "}"; + string main_img = product.image_url; if (string.IsNullOrEmpty(main_img)) main_img = product.hd_thumb_url; if (string.IsNullOrEmpty(main_img)) @@ -134,7 +204,7 @@ namespace TemuKJD.PDDForms.ShopForms "&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) + + "&product_json=" + HttpUtility.UrlEncode(product_json, Encoding.UTF8) + "&size_json=" + HttpUtility.UrlEncode(sizeRst, Encoding.UTF8) + "&main_img=" + HttpUtility.UrlEncode(main_img, Encoding.UTF8); @@ -218,7 +288,7 @@ namespace TemuKJD.PDDForms.ShopForms var sourceProdId = prodId; string success_err_msg = ""; string errorMsg = ""; - var html = GetProdCommitId(sourceShop, sourceProdId.ToString()); + var html = GetPddProdCommitId(sourceShop, sourceProdId.ToString()); if (!html.Contains("\"success\":true") || !html.Contains("\"result\"")) { var errMsg = BaseRegex.GetStringJson(ref html, "error_msg"); @@ -233,7 +303,7 @@ namespace TemuKJD.PDDForms.ShopForms OnInfoReceived("商品获取失败!商品提交编号获取失败!"); return; } - html = GetPddProduct(sourceShop, sourceProdId.ToString(), commitId); + html = GetPddProdDetail(sourceShop, sourceProdId.ToString(), commitId); JObject obj = JObject.Parse(html); var result = JsonHelper.SerializeObject(obj["result"]); @@ -245,7 +315,7 @@ namespace TemuKJD.PDDForms.ShopForms return; } - //拼多多暂时注释 + //拼多多暂时注释尺码 //if (product.sizeTemplateId > 0) //{ // html = SizeSpecQuery(sourceShop, sourceProdId.ToString(), product.sizeTemplateId.ToString()); @@ -380,24 +450,109 @@ namespace TemuKJD.PDDForms.ShopForms - private string GetProdCommitId(ShopLoginInfo shop, string prodId) - { - 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) + private string GetPddProdCommitId(ShopLoginInfo shop, string prodId) { 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/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, anti); + for (int i = 0; i < 5 && result.Contains("网络繁忙,请不要频繁操作"); i++) + { + shop.AntiContents.Remove(anti); + anti = shop.AntiContents.FirstOrDefault().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 GetPddProdDetail(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/on_shop/detail"; //on_shop获取到的结构不对 string url = "https://mms.pinduoduo.com/glide/v2/mms/query/commit/detail"; + //string body = @"{""goods_id"":" + prodId + "}"; 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++) + for (int i = 0; i < 5 && result.Contains("网络繁忙,请不要频繁操作"); i++) + { + shop.AntiContents.Remove(anti); + anti = shop.AntiContents.FirstOrDefault().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 GetPddProdProperty(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/draco-ms/mms/query-goods-property"; + string body = @"{""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 < 5 && result.Contains("网络繁忙,请不要频繁操作"); i++) + { + shop.AntiContents.Remove(anti); + anti = shop.AntiContents.FirstOrDefault().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 GetPddProdDecoration(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/gorse/mms/goods/decoration/commit/query/V2"; + 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 < 5 && result.Contains("网络繁忙,请不要频繁操作"); i++) + { + shop.AntiContents.Remove(anti); + anti = shop.AntiContents.FirstOrDefault().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 GetPddCatPropTemplate(ShopLoginInfo shop, string catId, 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/draco-ms/mms/template/mall?catId=" + catId + + "&goodsCommitId=" + commitId + "&goodsId=" + prodId; + string body = @""; + string refere = "https://mms.pinduoduo.com/goods/goods_add/index?type=add&from=category&id=" + commitId + + "&goods_id=" + prodId + "&sourcePage=goodsList"; + var result = HttpResponseBLL.PDDGetResponse(shop, url, body, refere, anti); + for (int i = 0; i < 5 && (result.Contains("操作太过频繁") || result.Contains("网络繁忙,请不要频繁操作")); i++) { shop.AntiContents.Remove(anti); anti = shop.AntiContents.LastOrDefault().ParseToString(); @@ -405,7 +560,7 @@ namespace TemuKJD.PDDForms.ShopForms { Thread.Sleep(Randomx.GetId(300, 500)); anti = shop.AntiContents[Randomx.GetId(shop.AntiContents.Count)]; - result = HttpResponseBLL.PDDPostResponse(shop, url, body, refere, anti); + result = HttpResponseBLL.PDDGetResponse(shop, url, body, refere, anti); } } return result; diff --git a/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.Designer.cs b/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.Designer.cs index c529034..a8a8f45 100644 --- a/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.Designer.cs +++ b/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.Designer.cs @@ -625,6 +625,7 @@ this.colUpdateCookies.ReadOnly = true; this.colUpdateCookies.Resizable = System.Windows.Forms.DataGridViewTriState.True; this.colUpdateCookies.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; + this.colUpdateCookies.Visible = false; // // colCopyCookies // diff --git a/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.cs b/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.cs index 3245c0d..8fe0183 100644 --- a/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.cs +++ b/TEMUKJD/PDDForms/ShopForms/PDDShopListForm.cs @@ -647,24 +647,24 @@ namespace TemuKJD.PDDForms.ShopForms sc.LastRefreshDate = DateTime.Now.ToString("yyyyMMdd"); } } - loginResult = PDDShopListForm.GetShopStatus2(shop); - if (!loginResult.Contains("\"success\":true")) - { - shop.Cookies2 = "empty=true;"; - foreach (var sc in campanys) - { - sc.LoginStatus2 = "国际版未登录"; - sc.Cookies2 = "empty=true;"; - } - } - else - { - foreach (var sc in campanys) - { - sc.LoginStatus2 = "国际版在线"; - sc.LastRefreshDate = DateTime.Now.ToString("yyyyMMdd"); - } - } + //loginResult = PDDShopListForm.GetShopStatus2(shop); + //if (!loginResult.Contains("\"success\":true")) + //{ + // shop.Cookies2 = "empty=true;"; + // foreach (var sc in campanys) + // { + // sc.LoginStatus2 = "国际版未登录"; + // sc.Cookies2 = "empty=true;"; + // } + //} + //else + //{ + // foreach (var sc in campanys) + // { + // sc.LoginStatus2 = "国际版在线"; + // sc.LastRefreshDate = DateTime.Now.ToString("yyyyMMdd"); + // } + //} //if (!string.IsNullOrEmpty(loginResult)) // shop.LastRefreshDate = DateTime.Now.ToString("yyyyMMdd"); UpdateServerShopCookies(shop); // 店铺cookie写入服务端,多店共用一个登录账号一组cookie @@ -686,6 +686,7 @@ namespace TemuKJD.PDDForms.ShopForms { string url = "https://mms.pinduoduo.com/janus/api/userinfo"; string refere = "https://mms.pinduoduo.com/login/"; + refere = "https://mms.pinduoduo.com/home"; string body = @"{}"; return HttpResponseBLL.PDDPostResponse(shop, url, body, refere); } diff --git a/TEMUKJD/PDDForms/ShopForms/PDDShopLoginForm.cs b/TEMUKJD/PDDForms/ShopForms/PDDShopLoginForm.cs index d640c15..ac01bc3 100644 --- a/TEMUKJD/PDDForms/ShopForms/PDDShopLoginForm.cs +++ b/TEMUKJD/PDDForms/ShopForms/PDDShopLoginForm.cs @@ -157,7 +157,7 @@ namespace TemuKJD.PDDForms.ShopForms ShopId = sc.AccountId, SubUserName = shop.SubUserName, Notes = shop.Notes, - AntiContents = new List { sc.AntiContent }, + AntiContents = new NaiBa.Util.ConcurrentList { sc.AntiContent }, }; var oldShop = GlobalConfig.ShopLoginList.FirstOrDefault(l => @@ -177,7 +177,7 @@ namespace TemuKJD.PDDForms.ShopForms oldShop.SubUserName = newShop.SubUserName; oldShop.Notes = newShop.Notes; oldShop.AntiContents.AddRange(newShop.AntiContents); - while (oldShop.AntiContents.Count > 10) + while (oldShop.AntiContents.Count > 50) oldShop.AntiContents.RemoveAt(0); // 店铺更新写入到服务端 @@ -460,7 +460,7 @@ namespace TemuKJD.PDDForms.ShopForms cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(sb.ToString()); } - int GetAntiContentsTimes = 0; + int GetAntiContentsTimes = 40; 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"] : ""; @@ -468,9 +468,9 @@ namespace TemuKJD.PDDForms.ShopForms { GetAntiContentsTimes++; shop.AntiContents.Add(antiContent); - while (shop.AntiContents.Count > 10) + while (shop.AntiContents.Count > 50) shop.AntiContents.RemoveAt(0); - if (!string.IsNullOrEmpty(shop.ShopId) && GetAntiContentsTimes > 5) + if (!string.IsNullOrEmpty(shop.ShopId) && GetAntiContentsTimes > 50) { GetAntiContentsTimes = 0; var antis = shop.AntiContents; @@ -487,7 +487,11 @@ namespace TemuKJD.PDDForms.ShopForms } Task.Run(() => { - //var data = responseData; + var data = responseData; + if (data.Contains("\"validate_message\"")) + { + + } //if (data.Contains("supplierId") && data.Contains("\"success\":true")) //{ // var supplierIds = BaseRegex.GetMatchRegex(ref data, "\"supplierId\":\\d{5,20}"); @@ -560,7 +564,7 @@ namespace TemuKJD.PDDForms.ShopForms addGetProdButton(); function addGetProdButton() { - var productLst = document.getElementsByClassName('goods-id'); + var productLst = document.getElementsByClassName('goods-id0000000000'); for(i=0; i= 0) {