拼多多商品获取逻辑
This commit is contained in:
1 parent
840636d5c9
commit
6639224771
68 files changed
+7132
-692
No files matched your search
@@ -192,6 +192,7 @@
|
||||
<Compile Include="Model\Param\ShopManage\DouShopSettingParam.cs" />
|
||||
<Compile Include="Model\Param\TemuProductManage\TemuProductWords.cs" />
|
||||
<Compile Include="Model\Param\TemuProductManage\TemuSizeSpecParam.cs" />
|
||||
<Compile Include="Model\Result\PDDResult\PDDProductDetailInfo.cs" />
|
||||
<Compile Include="Model\Result\TemuActivityInfo.cs" />
|
||||
<Compile Include="Model\Result\TemuActivityMatchProductInfo.cs" />
|
||||
<Compile Include="Model\Result\TemuCategoryTemplateInfo.cs" />
|
||||
|
||||
@@ -722,7 +722,7 @@ namespace AllBase
|
||||
//pdd相关操作
|
||||
if (BaseClass.MainPath == "binxixi")
|
||||
{
|
||||
return LoginApiUrl + "/bxx_" + file + "?obj=" + BaseClass.MainPath + "/" + file;
|
||||
return LoginApiUrl + "/bxx_" + file + "?obj=" + BaseClass.MainPath + "/bxx_" + file;
|
||||
}
|
||||
|
||||
return LoginApiUrl + "/" + file+ "?obj=" + BaseClass.MainPath + "/" + file;
|
||||
|
||||
@@ -0,0 +1,321 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace AllBase.Model.Result.PDDResult
|
||||
{
|
||||
public class PDDProductDetailInfo
|
||||
{
|
||||
public long? id { get; set; }
|
||||
public long? goods_id { get; set; }
|
||||
public int? check_status { get; set; }
|
||||
public int? commit_deleted { get; set; }
|
||||
public string owner { get; set; }
|
||||
public int? is_shop { get; set; }
|
||||
public string goods_sn { get; set; }
|
||||
public string out_goods_sn { get; set; }
|
||||
public int? is_folt { get; set; }
|
||||
public string warm_tips { get; set; }
|
||||
public object fabric { get; set; }
|
||||
|
||||
|
||||
public object fabric_content { get; set; }
|
||||
public long? cost_template_id { get; set; }
|
||||
public int? cat_id { get; set; }
|
||||
public long? mall_id { get; set; }
|
||||
public string goods_name { get; set; }
|
||||
public string tiny_name { get; set; }
|
||||
public string goods_desc { get; set; }
|
||||
public string share_desc { get; set; }
|
||||
public List<object> list_desc { get; set; }
|
||||
|
||||
public int? market_price { get; set; }
|
||||
public string thumb_url { get; set; }
|
||||
public string image_url { get; set; }
|
||||
public string hd_thumb_url { get; set; }
|
||||
public List<object> allowed_region { get; set; }
|
||||
|
||||
|
||||
public int? region_limit { get; set; }
|
||||
public int? goods_type { get; set; }
|
||||
public object country { get; set; }
|
||||
public int? country_id { get; set; }
|
||||
public string goods_name_prefix { get; set; }
|
||||
public int? origin_country_id { get; set; }
|
||||
public string origin_country_name { get; set; }
|
||||
public object size_spec_id { get; set; }
|
||||
public object size_parent_spec_id { get; set; }
|
||||
public string warehouse { get; set; }
|
||||
public int? event_type { get; set; }
|
||||
public int? is_app { get; set; }
|
||||
public int? is_pre_sale { get; set; }
|
||||
public int? pre_sale_time { get; set; }
|
||||
public int? is_sku_pre_sale { get; set; }
|
||||
public int? is_refundable { get; set; }
|
||||
public int? is_customs { get; set; }
|
||||
public int? is_wms { get; set; }
|
||||
public string customs { get; set; }
|
||||
public int? is_bangdan { get; set; }
|
||||
public long? shipment_limit_second { get; set; }
|
||||
public int? quick_refund { get; set; }
|
||||
public groupsItem groups { get; set; }
|
||||
public commit_extensionItem commit_extension { get; set; }
|
||||
public List<galleryItem> galleries { get; set; }
|
||||
public List<object> goods_commit_check { get; set; }
|
||||
public mall_infoItem mall_info { get; set; }
|
||||
public List<skuItem> sku { get; set; }
|
||||
|
||||
|
||||
public object reject_status { get; set; }
|
||||
public object reject_reason { get; set; }
|
||||
public object paper_net_weight { get; set; }
|
||||
public object paper_length { get; set; }
|
||||
public object paper_width { get; set; }
|
||||
public object paper_plies_num { get; set; }
|
||||
public int? second_hand { get; set; }
|
||||
public int? source { get; set; }
|
||||
public bool is_card_secret { get; set; }
|
||||
public bool is_only_for_remote_area { get; set; }
|
||||
public int? invoice_status { get; set; }
|
||||
public object invoice_mode { get; set; }
|
||||
public object client_id { get; set; }
|
||||
public int? quan_guo_lian_bao { get; set; }
|
||||
public int? zhi_huan_bu_xiu { get; set; }
|
||||
public object song_huo_ru_hu { get; set; }
|
||||
public object shang_men_an_zhuang { get; set; }
|
||||
public object song_huo_an_zhuang { get; set; }
|
||||
public object mai_jia_zi_ti { get; set; }
|
||||
public object sf_markup_template_sn { get; set; }
|
||||
public int? min_group_price { get; set; }
|
||||
public int? max_group_price { get; set; }
|
||||
public int? must_check_type { get; set; }
|
||||
public object goods_property_list { get; set; }
|
||||
public object is_small_group { get; set; }
|
||||
public int? submit_time { get; set; }
|
||||
public int? oversea_type { get; set; }
|
||||
public object oversea_goods { get; set; }
|
||||
public int? is_general_trade { get; set; }
|
||||
public int? bad_fruit_claim { get; set; }
|
||||
public string bad_claim_text { get; set; }
|
||||
public int? allergy_refund { get; set; }
|
||||
public int? lack_of_weight_claim { get; set; }
|
||||
public int? delivery_one_day { get; set; }
|
||||
public object delivery_type { get; set; }
|
||||
public int? goods_pattern { get; set; }
|
||||
public int? customizable { get; set; }
|
||||
public int? is_group_pre_sale { get; set; }
|
||||
public object elec_goods_attributes { get; set; }
|
||||
public schedule_saleItem schedule_sale { get; set; }
|
||||
|
||||
public object goods_trade_attr { get; set; }
|
||||
public object goods_travel_attr { get; set; }
|
||||
public object sku_type { get; set; }
|
||||
public int? is_goods_decoration { get; set; }
|
||||
public List<object> goods_srv_templates { get; set; }
|
||||
|
||||
public object card_verification_list { get; set; }
|
||||
public object transport_type_list { get; set; }
|
||||
public object out_source_type { get; set; }
|
||||
public object out_source_goods_id { get; set; }
|
||||
public object is_all_weight_same { get; set; }
|
||||
public object is_spring_festival_open_tag { get; set; }
|
||||
public int? two_pieces_discount { get; set; }
|
||||
|
||||
public instruction_voItem instruction_vo { get; set; }
|
||||
public object local_service_id_list { get; set; }
|
||||
public object shop_group_id { get; set; }
|
||||
public object shop_group_name { get; set; }
|
||||
public int? is_refundable_fifteen_day { get; set; }
|
||||
public int? is_warranty_one_year { get; set; }
|
||||
public long? created_at { get; set; }
|
||||
public int? privacy_delivery { get; set; }
|
||||
public object invoice_mode_sub_type { get; set; }
|
||||
public bool? is_two_num_group { get; set; }
|
||||
public extend_warranty_dtoItem extend_warranty_dto { get; set; }
|
||||
public int? is_sku_shipment { get; set; }
|
||||
public List<object> qualification_id_list { get; set; }
|
||||
public int? is_certificate_provide { get; set; }
|
||||
public int? thawed_refund { get; set; }
|
||||
public int? damage_claim { get; set; }
|
||||
public int? is_wp_service { get; set; }
|
||||
public int? is_size_change_casually { get; set; }
|
||||
public string owner_name { get; set; }
|
||||
public bool? show_activity_price { get; set; }
|
||||
public object appeal_status { get; set; }
|
||||
public object can_appeal { get; set; }
|
||||
|
||||
public List<int?> cat_ids { get; set; }
|
||||
public List<string> cats { get; set; }
|
||||
|
||||
public bool? is_draft { get; set; }
|
||||
public int? third_type { get; set; }
|
||||
public int? estimate_quantity { get; set; }
|
||||
public int? last_commit_check_status { get; set; }
|
||||
public bool? is_deposit { get; set; }
|
||||
public object gold_price_template_id { get; set; }
|
||||
public object gold_price_type { get; set; }
|
||||
public object processing_charges { get; set; }
|
||||
public object processing_charges_type { get; set; }
|
||||
public object is_gold_price_matched { get; set; }
|
||||
public object shoes_template_id { get; set; }
|
||||
public object spu_id { get; set; }
|
||||
public object spu_version { get; set; }
|
||||
public object is_goods_copy { get; set; }
|
||||
public int? promised_delivery_seconds { get; set; }
|
||||
public int? community_group_buying { get; set; }
|
||||
public int? purchase_info_supply { get; set; }
|
||||
public int? same_city_template_id { get; set; }
|
||||
public object goods_certificate { get; set; }
|
||||
public int? is_customized { get; set; }
|
||||
public string name_prefix { get; set; }
|
||||
public object business_source_type { get; set; }
|
||||
public object creator_name { get; set; }
|
||||
public object reason { get; set; }
|
||||
public object app_id { get; set; }
|
||||
public object app_name { get; set; }
|
||||
public int? user_source { get; set; }
|
||||
public object check_type { get; set; }
|
||||
}
|
||||
|
||||
public class groupsItem
|
||||
{
|
||||
public int? single_price { get; set; }
|
||||
public int? group_price { get; set; }
|
||||
public object carnival_price { get; set; }
|
||||
public int? customer_num { get; set; }
|
||||
public int? buy_limit { get; set; } //999999
|
||||
public int? order_limit { get; set; } //999999
|
||||
public object regular_limit { get; set; }
|
||||
public object regular_limit_duration { get; set; }
|
||||
public object min_num_of_order { get; set; }
|
||||
}
|
||||
|
||||
|
||||
public class commit_extensionItem
|
||||
{
|
||||
public int? id { get; set; }
|
||||
public int? goods_commit_id { get; set; }
|
||||
public int? start_production_date { get; set; }
|
||||
public int? end_production_date { get; set; }
|
||||
public string production_license { get; set; }
|
||||
public string production_standard_number { get; set; }
|
||||
public int? shelf_life { get; set; }
|
||||
public string out_goods_sn { get; set; }
|
||||
public object created_at { get; set; }
|
||||
public object updated_at { get; set; }
|
||||
}
|
||||
|
||||
public class galleryItem
|
||||
{
|
||||
public string url { get; set; }
|
||||
public int? width { get; set; }
|
||||
public int? height { get; set; }
|
||||
public int? type { get; set; }
|
||||
public object source { get; set; }
|
||||
public object status { get; set; }
|
||||
public object video_url { get; set; }
|
||||
public object file_id { get; set; }
|
||||
public object is_deleted { get; set; }
|
||||
public object check_comment { get; set; }
|
||||
public object origin_url { get; set; }
|
||||
}
|
||||
|
||||
public class mall_infoItem {
|
||||
public string mall_name { get; set; }
|
||||
}
|
||||
|
||||
public class skuItem
|
||||
{
|
||||
public long? id { get; set; }
|
||||
public long? sku_id { get; set; }
|
||||
public object sku_sn { get; set; }
|
||||
public int? carnival_price { get; set; }
|
||||
public int? init_quantity { get; set; }
|
||||
public int? is_onsale { get; set; }
|
||||
public int? limit_quantity { get; set; } // 999999 max
|
||||
public int? multi_price { get; set; }
|
||||
public object multi_price_in_yuan { get; set; }
|
||||
public int? price { get; set; }
|
||||
public object price_in_yuan { get; set; }
|
||||
public int? quantity { get; set; }
|
||||
public int? reserve_quantity { get; set; }
|
||||
public int? weight { get; set; }
|
||||
public string thumb_url { get; set; }
|
||||
public object thumb_url_file_id { get; set; }
|
||||
public object thumb_url_status { get; set; }
|
||||
public object thumb_url_is_deleted { get; set; }
|
||||
public int? quantity_delta { get; set; }
|
||||
public List<specItem> spec { get; set; }
|
||||
public string out_sku_sn { get; set; }
|
||||
public object batch_id { get; set; }
|
||||
public int? priority { get; set; }
|
||||
public int? ware_id { get; set; }
|
||||
public object advice_price { get; set; }
|
||||
public object length { get; set; }
|
||||
public oversea_skuItem oversea_sku { get; set; }
|
||||
public object cspu_id { get; set; }
|
||||
public object child_skus { get; set; }
|
||||
public long? ref_sku_commit_id { get; set; }
|
||||
public object start_time { get; set; }
|
||||
public object end_time { get; set; }
|
||||
public object sku_srv_templates { get; set; }
|
||||
public object calendar_rule_id { get; set; }
|
||||
public object hot_live_group { get; set; }
|
||||
public int? pre_sale_time { get; set; }
|
||||
public object out_source_sku_id { get; set; }
|
||||
public object dd_grocery_sku_params { get; set; }
|
||||
public object sku_extended_attribute_dtos { get; set; }
|
||||
public object sku_basic_property_dtos { get; set; }
|
||||
public object spec_note_map { get; set; }
|
||||
public object delivery_schedule_dtos { get; set; }
|
||||
public List<object> shipment_limit_second_list { get; set; }
|
||||
public string sku69_code { get; set; }
|
||||
|
||||
}
|
||||
|
||||
public class specItem
|
||||
{
|
||||
public int? parent_id { get; set; }
|
||||
public string parent_name { get; set; }
|
||||
public long? spec_id { get; set; }
|
||||
public string spec_name { get; set; }
|
||||
public object spec_note { get; set; }
|
||||
public object bundle_spec_list { get; set; }
|
||||
public object sku_combination { get; set; }
|
||||
public object is_custom { get; set; }
|
||||
}
|
||||
|
||||
public class oversea_skuItem
|
||||
{
|
||||
public object specifications { get; set; }
|
||||
public object measurement_code { get; set; }
|
||||
public object measurement_unit { get; set; }
|
||||
public object taxation { get; set; }
|
||||
public object record_id_list { get; set; }
|
||||
}
|
||||
|
||||
public class schedule_saleItem
|
||||
{
|
||||
public int? sale_type { get; set; }
|
||||
public object sale_time_fixed { get; set; }
|
||||
public object sale_time { get; set; }
|
||||
public object price_show { get; set; }
|
||||
}
|
||||
|
||||
public class instruction_voItem
|
||||
{
|
||||
public object template_id { get; set; }
|
||||
public int? template_status { get; set; }
|
||||
public object template_name { get; set; }
|
||||
public object rejected_reason { get; set; }
|
||||
}
|
||||
|
||||
public class extend_warranty_dtoItem
|
||||
{
|
||||
public int? extend_warranty { get; set; }
|
||||
public object extend_warranty_year { get; set; }
|
||||
public object extend_warranty_range { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -30,6 +30,7 @@ namespace AllBase.Model.Result
|
||||
public string TouTiaoId { get; set; }
|
||||
public string Cookies { get; set; } = "";
|
||||
public string Cookies2 { get; set; } = "";
|
||||
public List<string> AntiContents { get; set; } = new List<string>();
|
||||
public Dictionary<string, string> DictMultiCookies { get; set; } = new Dictionary<string, string>();
|
||||
public string LoginStatus { get; set; }
|
||||
public string LoginStatus2 { get; set; }
|
||||
@@ -248,6 +249,7 @@ namespace AllBase.Model.Result
|
||||
public string AccountId { get; set; }
|
||||
public string AccountName { get; set; }
|
||||
public string LoginStatus { get; set; }
|
||||
public string AntiContent { get; set; }
|
||||
}
|
||||
|
||||
public class ShopOrderStatisticsInfo
|
||||
|
||||
@@ -12,6 +12,7 @@ namespace AllBase.Model.Result
|
||||
public class TemuDBProduct
|
||||
{
|
||||
public int id { get; set; }
|
||||
public string from_shop_id { get; set; }
|
||||
public string spu_id { get; set; }
|
||||
public string skc_id { get; set; }
|
||||
public string cat_id { get; set; }
|
||||
|
||||
@@ -35,7 +35,7 @@ namespace AllBase.Model.Result
|
||||
}
|
||||
|
||||
#region 外键连接属性
|
||||
|
||||
public string from_shop_id { get; set; }
|
||||
public string cat_id { get; set; }
|
||||
public string cat_name { get; set; }
|
||||
public string change_cat_id { get; set; }
|
||||
|
||||
@@ -24,6 +24,7 @@ namespace KJD_Web.BLL.BXX
|
||||
return "{\"code\":50000,\"msg\":\"校验失败\"}";
|
||||
|
||||
string user_name = RegexUtils.GetStringQuery(ref inputData, "user_name");
|
||||
string from_shop_id = RegexUtils.GetStringQuery(ref inputData, "from_shop_id");
|
||||
string spu_id = RegexUtils.GetStringQuery(ref inputData, "spu_id");
|
||||
string skc_id = RegexUtils.GetStringQuery(ref inputData, "skc_id");
|
||||
string cat_id = RegexUtils.GetStringQuery(ref inputData, "cat_id");
|
||||
@@ -44,8 +45,8 @@ namespace KJD_Web.BLL.BXX
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
string sql = "";
|
||||
|
||||
sql = "insert into bxx.product (spu_id,skc_id,cat_id,cat_name,product_name,ext_code,main_img,product_json,size_json,notes,add_time,mdy_time) " +
|
||||
"values ('" + spu_id + "','" + skc_id + "','" + cat_id + "','" + cat_name + "','" + product_name + "','" +
|
||||
sql = "insert into bxx.product (from_shop_id,spu_id,skc_id,cat_id,cat_name,product_name,ext_code,main_img,product_json,size_json,notes,add_time,mdy_time) " +
|
||||
"values ('" + from_shop_id + "','" + spu_id + "','" + skc_id + "','" + cat_id + "','" + cat_name + "','" + product_name + "','" +
|
||||
ext_code + "','" + main_img + "','" + product_json + "','" + size_json + "','" + notes + "','" +
|
||||
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','" +
|
||||
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "');";
|
||||
@@ -63,6 +64,74 @@ namespace KJD_Web.BLL.BXX
|
||||
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
||||
}
|
||||
|
||||
public string MdyProduct(string inputData)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(inputData))
|
||||
{
|
||||
var time = 0;
|
||||
int.TryParse(RegexUtils.GetStringQuery(ref inputData, "time"), out time);
|
||||
string time1 = RegexUtils.GetStringQuery(ref inputData, "code");
|
||||
if (time1 != EncrypUtil.Encryption(time))
|
||||
return "{\"code\":50000,\"msg\":\"校验失败\"}";
|
||||
|
||||
string user_name = RegexUtils.GetStringQuery(ref inputData, "user_name");
|
||||
string from_shop_id = RegexUtils.GetStringQuery(ref inputData, "from_shop_id");
|
||||
string spu_id = RegexUtils.GetStringQuery(ref inputData, "spu_id");
|
||||
string skc_id = RegexUtils.GetStringQuery(ref inputData, "skc_id");
|
||||
string cat_id = RegexUtils.GetStringQuery(ref inputData, "cat_id");
|
||||
string cat_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "cat_name"))?.Replace("'", "\\'");
|
||||
string ext_code = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "ext_code"))?.Replace("'", "\\'");
|
||||
string product_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "product_name"))?.Replace("'", "\\'");
|
||||
string product_json = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "product_json"))?.Replace("'", "\\'");
|
||||
string size_json = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "size_json"))?.Replace("'", "\\'");
|
||||
string main_img = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "main_img"))?.Replace("'", "\\'");
|
||||
string notes = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "notes"))?.Replace("'", "\\'");
|
||||
|
||||
if (string.IsNullOrEmpty(user_name))
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"没有用户名\"}";
|
||||
}
|
||||
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
string sql = "";
|
||||
|
||||
sql = "update bxx.product set";
|
||||
if (from_shop_id != null)
|
||||
sql += " from_shop_id='" + from_shop_id + "',";
|
||||
if (cat_id != null)
|
||||
sql += " cat_id='" + cat_id + "',";
|
||||
if (cat_name != null)
|
||||
sql += " cat_name='" + cat_name + "',";
|
||||
if (product_name != null)
|
||||
sql += " product_name='" + product_name + "',";
|
||||
if (ext_code != null)
|
||||
sql += " ext_code='" + ext_code + "',";
|
||||
if (main_img != null)
|
||||
sql += " main_img='" + main_img + "',";
|
||||
if (product_json != null)
|
||||
sql += " product_json='" + product_json + "',";
|
||||
if (size_json != null)
|
||||
sql += " size_json='" + size_json + "',";
|
||||
if (notes != null)
|
||||
sql += " notes='" + notes + "',";
|
||||
sql += " mdy_time='" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "',";
|
||||
sql = sql.TrimEnd(',');
|
||||
sql += " where spu_id='" + spu_id + "';";
|
||||
var rst = mySql.ExecuteNonQuery(sql);
|
||||
mySql.Close();
|
||||
if (rst)
|
||||
{
|
||||
return "{\"code\":200,\"msg\":\"success\"}";
|
||||
}
|
||||
else
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"" + mySql.Message + "\"}";
|
||||
}
|
||||
}
|
||||
return "{\"code\":19999,\"msg\":\"输入为空\"}";
|
||||
}
|
||||
|
||||
public string GetProductList(string inputData, bool isDetail = false)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(inputData))
|
||||
@@ -122,10 +191,10 @@ namespace KJD_Web.BLL.BXX
|
||||
if (isDetail)
|
||||
sql = "select * from bxx.product p where 1=1";
|
||||
else if (string.IsNullOrEmpty(get_select_count))
|
||||
sql = "select p.id,p.spu_id,p.skc_id,p.cat_id,p.cat_name,p.ext_code,p.product_name,p.main_img,p.notes," +
|
||||
sql = "select p.id,p.from_shop_id,p.spu_id,p.skc_id,p.cat_id,p.cat_name,p.ext_code,p.product_name,p.main_img,p.notes," +
|
||||
"p.add_time,p.mdy_time,p.select_total_count,p.fission_words,p.head_words,p.end_words from bxx.product p where 1=1";
|
||||
else
|
||||
sql = "SELECT p.id,p.spu_id,p.skc_id,p.cat_id,p.cat_name,p.ext_code,p.product_name,p.main_img,p.notes," +
|
||||
sql = "SELECT p.id,p.from_shop_id,p.spu_id,p.skc_id,p.cat_id,p.cat_name,p.ext_code,p.product_name,p.main_img,p.notes," +
|
||||
"p.add_time,p.mdy_time,p.select_total_count,p.fission_words,p.head_words,p.end_words,COUNT(s.id) AS select_count " +
|
||||
"FROM bxx.product p LEFT JOIN bxx.product_select s ON p.id=s.out_product_id AND s.shop_id='" + select_shop_id + "' " +
|
||||
"WHERE 1=1";
|
||||
@@ -153,6 +222,7 @@ namespace KJD_Web.BLL.BXX
|
||||
DBProductResultParam prod = new DBProductResultParam
|
||||
{
|
||||
id = Convert.ToInt32(row["id"]),
|
||||
from_shop_id = row["from_shop_id"].ToString(),
|
||||
skc_id = row["skc_id"].ToString(),
|
||||
spu_id = row["spu_id"].ToString(),
|
||||
cat_id = row["cat_id"].ToString(),
|
||||
@@ -363,9 +433,9 @@ namespace KJD_Web.BLL.BXX
|
||||
{
|
||||
add_product_remaining = add_product_remaining - 1;
|
||||
sql += "\r\n";
|
||||
sql += "update bxx.shop set add_product_remaining=" + add_product_remaining + " where shop_id=" + shop_id + ";";
|
||||
sql += "update bxx.shop set add_product_remaining=" + add_product_remaining + " where shop_id='" + shop_id + "';";
|
||||
sql += "update bxx.product set select_total_count=select_total_count+1 where id=" + out_product_Id + ";";
|
||||
//sql += "update bxx.shop_add_prod_count set add_product_remaining=" + add_product_remaining + " where shop_id=" + shop_id + ";";
|
||||
//sql += "update bxx.shop_add_prod_count set add_product_remaining=" + add_product_remaining + " where shop_id='" + shop_id + "';";
|
||||
sql += "INSERT INTO bxx.shop_add_prod_count(shop_id, add_product_remaining) VALUES('" + shop_id + "'," + add_product_remaining + ")" +
|
||||
"ON DUPLICATE KEY UPDATE add_product_remaining=VALUES(add_product_remaining)";
|
||||
}
|
||||
@@ -557,7 +627,7 @@ namespace KJD_Web.BLL.BXX
|
||||
sql = "select s.id,s.out_product_id,s.shop_id,s.shop_account,s.user_name," +
|
||||
"s.sub_user_name,s.notes,s.user_notes,s.status,s.draft_id,s.add_times,s.add_time,s.mdy_time," +
|
||||
"s.fission_product_name,s.operate_sub_sa_name,s.add_sub_sa_time," +
|
||||
"p.spu_id,p.skc_id,p.cat_id,p.cat_name,p.ext_code,p.product_name,p.main_img," +
|
||||
"p.from_shop_id,p.spu_id,p.skc_id,p.cat_id,p.cat_name,p.ext_code,p.product_name,p.main_img," +
|
||||
"u.nick_name as operate_sub_sa_nick " +
|
||||
"from bxx.product_select s left join bxx.product p on s.out_product_id=p.id " +
|
||||
"left join bxx.user u on u.user_name=s.operate_sub_sa_name " +
|
||||
@@ -603,6 +673,7 @@ namespace KJD_Web.BLL.BXX
|
||||
operate_sub_sa_nick = row["operate_sub_sa_nick"].ToString(),
|
||||
fission_product_name = row["fission_product_name"].ToString(),
|
||||
user_notes = row["user_notes"].ToString(),
|
||||
from_shop_id = row["from_shop_id"].ToString(),
|
||||
//product_json = row["product_json"].ToString(),
|
||||
//size_json = row["size_json"].ToString(),
|
||||
};
|
||||
|
||||
@@ -7,6 +7,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Web;
|
||||
using System.Web.Security;
|
||||
|
||||
@@ -25,6 +26,7 @@ namespace KJD_Web.BLL.BXX
|
||||
return "{\"code\":50000,\"msg\":\"校验失败\"}";
|
||||
|
||||
string user_name = RegexUtils.GetStringQuery(ref inputData, "user_name");
|
||||
string from_shop_id = RegexUtils.GetStringQuery(ref inputData, "from_shop_id");
|
||||
string spu_id = RegexUtils.GetStringQuery(ref inputData, "spu_id");
|
||||
string skc_id = RegexUtils.GetStringQuery(ref inputData, "skc_id");
|
||||
string cat_id = RegexUtils.GetStringQuery(ref inputData, "cat_id");
|
||||
@@ -44,28 +46,33 @@ namespace KJD_Web.BLL.BXX
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
string sql = "";
|
||||
var json_sign = RegexUtils.GetStringJson(ref product_json, "signedImageUrl"); // 取商品json数据里不同签名的部分
|
||||
var product_md5 = EncrypUtil.GetMd5(product_json?.Replace(json_sign, "") + size_json);
|
||||
var product_md5_2 = EncrypUtil.GetMd5(product_json?.Replace("'", "\\'").Replace(json_sign, "") + size_json);
|
||||
sql = "select id from bxx.third_product where product_md5='" + product_md5 + "' or product_md5='" + product_md5_2 + "';";
|
||||
var json_ids = RegexUtils.GetMatchRegex(ref product_json, "(\"id\":\\d{8,14})"); // 取商品json数据里不同签名的部分
|
||||
var product_json_replace = product_json;
|
||||
foreach (Match json_id in json_ids)
|
||||
{
|
||||
product_json_replace = product_json_replace.Replace(json_id.Value, "\"id\":0");
|
||||
}
|
||||
var product_md5 = EncrypUtil.GetMd5(product_json_replace + size_json);
|
||||
sql = "select id from bxx.third_product where product_md5='" + product_md5 + "';";
|
||||
var rst = mySql.ExecuteFirstInt(sql).ParseToLong();
|
||||
if (rst <= 0)
|
||||
{
|
||||
//sql = "insert into bxx.third_product (spu_id,skc_id,cat_id,cat_name,product_name,ext_code,main_img,product_json,size_json,notes,product_md5,add_time,mdy_time) " +
|
||||
// "values ('" + spu_id + "','" + skc_id + "','" + cat_id + "','" + cat_name + "','" + product_name + "','" +
|
||||
//sql = "insert into bxx.third_product (from_shop_id,spu_id,skc_id,cat_id,cat_name,product_name,ext_code,main_img,product_json,size_json,notes,product_md5,add_time,mdy_time) " +
|
||||
// "values ('" + from_shop_id + "','" + spu_id + "','" + skc_id + "','" + cat_id + "','" + cat_name + "','" + product_name + "','" +
|
||||
// ext_code + "','" + main_img + "','" + product_json + "','" + size_json + "','" + notes + "','" + product_md5 + "','" +
|
||||
// DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','" +
|
||||
// DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "');";
|
||||
//rst = mySql.ExecuteInsertId(sql);
|
||||
|
||||
sql = "insert into bxx.third_product (spu_id,skc_id,cat_id,cat_name,product_name," +
|
||||
sql = "insert into bxx.third_product (from_shop_id,spu_id,skc_id,cat_id,cat_name,product_name," +
|
||||
"ext_code,main_img,product_json,size_json,notes,product_md5,add_time,mdy_time) " +
|
||||
"values (@spu_id,@skc_id,@cat_id,@cat_name,@product_name," +
|
||||
"values (@from_shop_id,@spu_id,@skc_id,@cat_id,@cat_name,@product_name," +
|
||||
"@ext_code,@main_img,@product_json,@size_json,@notes,@product_md5," +
|
||||
"@add_time,@mdy_time);";
|
||||
string add_time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
string mdy_time = add_time;
|
||||
List<MySqlParameter> paramLst = new List<MySqlParameter>();
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@from_shop_id", Value = from_shop_id, });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@spu_id", Value = spu_id, });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@skc_id", Value = skc_id, });
|
||||
paramLst.Add(new MySqlParameter() { DbType = DbType.String, ParameterName = "@cat_id", Value = cat_id, });
|
||||
@@ -105,6 +112,7 @@ namespace KJD_Web.BLL.BXX
|
||||
|
||||
var user_name = RegexUtils.GetStringQuery(ref inputData, "user_name")?.Replace("'","\\'");
|
||||
var password = RegexUtils.GetStringQuery(ref inputData, "password")?.Replace("'", "\\'");
|
||||
var from_shop_id = RegexUtils.GetStringQuery(ref inputData, "from_shop_id")?.Replace("'", "\\'");
|
||||
var search_spu = RegexUtils.GetStringQuery(ref inputData, "search_spu")?.Replace("'", "\\'");
|
||||
var search_skc = RegexUtils.GetStringQuery(ref inputData, "search_skc")?.Replace("'", "\\'");
|
||||
var search_cat = RegexUtils.GetStringQuery(ref inputData, "search_cat")?.Replace("'", "\\'");
|
||||
@@ -150,7 +158,7 @@ namespace KJD_Web.BLL.BXX
|
||||
if (isDetail)
|
||||
sql = "select * from bxx.third_product where 1=1";
|
||||
else
|
||||
sql = "select id,spu_id,skc_id,cat_id,cat_name,change_cat_id,change_cat_name,ext_code,product_name,main_img,notes," +
|
||||
sql = "select id,from_shop_id,spu_id,skc_id,cat_id,cat_name,change_cat_id,change_cat_name,ext_code,product_name,main_img,notes," +
|
||||
"add_time,mdy_time from bxx.third_product where 1=1";
|
||||
|
||||
sql += where;
|
||||
@@ -171,6 +179,7 @@ namespace KJD_Web.BLL.BXX
|
||||
DBProductResultParam prod = new DBProductResultParam
|
||||
{
|
||||
id = Convert.ToInt32(row["id"]),
|
||||
from_shop_id = row["from_shop_id"].ToString(),
|
||||
skc_id = row["skc_id"].ToString(),
|
||||
spu_id = row["spu_id"].ToString(),
|
||||
cat_id = row["cat_id"].ToString(),
|
||||
@@ -361,7 +370,7 @@ namespace KJD_Web.BLL.BXX
|
||||
{
|
||||
add_product_remaining = add_product_remaining - 1;
|
||||
sql += "\r\n";
|
||||
sql += "update bxx.shop set add_product_remaining=" + add_product_remaining + " where shop_id=" + shop_id + ";";
|
||||
sql += "update bxx.shop set add_product_remaining=" + add_product_remaining + " where shop_id='" + shop_id + "';";
|
||||
//sql += "update bxx.shop_add_prod_count set add_product_remaining=" + add_product_remaining + " where shop_id=" + shop_id + ";";
|
||||
sql += "INSERT INTO bxx.shop_add_prod_count(shop_id, add_product_remaining) VALUES('" + shop_id + "'," + add_product_remaining + ")" +
|
||||
"ON DUPLICATE KEY UPDATE add_product_remaining=VALUES(add_product_remaining)";
|
||||
@@ -558,7 +567,7 @@ namespace KJD_Web.BLL.BXX
|
||||
sql = "select s.id,s.out_product_id,s.shop_id,s.shop_account,s.user_name," +
|
||||
"s.sub_user_name,s.notes,s.user_notes,s.status,s.draft_id,s.add_times,s.add_time,s.mdy_time," +
|
||||
"s.fission_product_name,s.operate_sub_sa_name,s.add_sub_sa_time," +
|
||||
"p.spu_id,p.skc_id,p.cat_id,p.cat_name,p.change_cat_id,p.change_cat_name,p.ext_code,p.product_name,p.main_img," +
|
||||
"p.from_shop_id,p.spu_id,p.skc_id,p.cat_id,p.cat_name,p.change_cat_id,p.change_cat_name,p.ext_code,p.product_name,p.main_img," +
|
||||
"u.nick_name as operate_sub_sa_nick " +
|
||||
"from bxx.third_product_select s left join bxx.third_product p on s.out_product_id=p.id " +
|
||||
"left join bxx.user u on u.user_name=s.operate_sub_sa_name " +
|
||||
@@ -606,6 +615,7 @@ namespace KJD_Web.BLL.BXX
|
||||
operate_sub_sa_nick = row["operate_sub_sa_nick"].ToString(),
|
||||
fission_product_name = row["fission_product_name"].ToString(),
|
||||
user_notes = row["user_notes"].ToString(),
|
||||
from_shop_id = row["from_shop_id"].ToString(),
|
||||
//product_json = row["product_json"].ToString(),
|
||||
//size_json = row["size_json"].ToString(),
|
||||
};
|
||||
|
||||
@@ -94,7 +94,7 @@ namespace KJD_Web.BLL.BXX
|
||||
}
|
||||
else
|
||||
{
|
||||
sql = "SELECT s.id,s.login_name,s.login_pass,s.cookie,s.cookie2,s.shop_id,s.shop_account,s.sub_user_name,s.user_name," +
|
||||
sql = "SELECT s.id,s.login_name,s.login_pass,s.cookie,s.cookie2,s.anti_contents,s.shop_id,s.shop_account,s.sub_user_name,s.user_name," +
|
||||
"s.company_name,s.notes,s.login_status,s.login_status2,c.add_product_remaining,c.add_product_month,s.add_time,s.mdy_time," +
|
||||
"s.add_sub_sa_time,s.operate_sub_sa_name";
|
||||
//sql += " FROM bxx.shop s WHERE 1=1";
|
||||
@@ -120,6 +120,7 @@ namespace KJD_Web.BLL.BXX
|
||||
login_pass = row["login_pass"].ToString(),
|
||||
cookie = row["cookie"].ToString(),
|
||||
cookie2 = row["cookie2"].ToString(),
|
||||
anti_contents = row["anti_contents"].ToString(),
|
||||
shop_id = row["shop_id"].ToString(),
|
||||
shop_account = row["shop_account"].ToString(),
|
||||
sub_user_name = row["sub_user_name"].ToString(),
|
||||
@@ -272,7 +273,7 @@ namespace KJD_Web.BLL.BXX
|
||||
}
|
||||
else
|
||||
{
|
||||
sql = "SELECT s.id,s.login_name,s.login_pass,s.cookie,s.cookie2,s.shop_id,s.shop_account,s.sub_user_name,s.user_name," +
|
||||
sql = "SELECT s.id,s.login_name,s.login_pass,s.cookie,s.cookie2,s.anti_contents,s.shop_id,s.shop_account,s.sub_user_name,s.user_name," +
|
||||
"s.company_name,s.notes,s.login_status,s.login_status2,c.add_product_remaining,c.add_product_month,s.add_time,s.mdy_time," +
|
||||
"s.add_sub_sa_time,s.operate_sub_sa_name";
|
||||
sql += " FROM bxx.shop s LEFT JOIN bxx.shop_add_prod_count c ON s.shop_id=c.shop_id WHERE 1=1";
|
||||
@@ -297,6 +298,7 @@ namespace KJD_Web.BLL.BXX
|
||||
login_pass = row["login_pass"].ToString(),
|
||||
cookie = row["cookie"].ToString(),
|
||||
cookie2 = row["cookie2"].ToString(),
|
||||
anti_contents = row["anti_contents"].ToString(),
|
||||
shop_id = row["shop_id"].ToString(),
|
||||
shop_account = row["shop_account"].ToString(),
|
||||
sub_user_name = row["sub_user_name"].ToString(),
|
||||
@@ -425,7 +427,7 @@ namespace KJD_Web.BLL.BXX
|
||||
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
string sql = "select id,login_name,login_pass,cookie,cookie2,shop_id,shop_account,sub_user_name,user_name from bxx.shop where user_name='"
|
||||
string sql = "select id,login_name,login_pass,cookie,cookie2,anti_contents,shop_id,shop_account,sub_user_name,user_name from bxx.shop where user_name='"
|
||||
+ user_name + "' and login_name='" + login_name + "'";
|
||||
|
||||
var dt = mySql.ExecuteDataTable(sql);
|
||||
@@ -442,6 +444,7 @@ namespace KJD_Web.BLL.BXX
|
||||
login_pass = row["login_pass"].ToString(),
|
||||
cookie = row["cookie"].ToString(),
|
||||
cookie2 = row["cookie2"].ToString(),
|
||||
anti_contents = row["anti_contents"].ToString(),
|
||||
shop_id = row["shop_id"].ToString(),
|
||||
shop_account = row["shop_account"].ToString(),
|
||||
sub_user_name = row["sub_user_name"].ToString(),
|
||||
@@ -473,7 +476,7 @@ namespace KJD_Web.BLL.BXX
|
||||
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
string sql = "select id,login_name,login_pass,cookie,cookie2,shop_id,shop_account,sub_user_name,user_name from bxx.shop where user_name='"
|
||||
string sql = "select id,login_name,login_pass,cookie,cookie2,anti_contents,shop_id,shop_account,sub_user_name,user_name from bxx.shop where user_name='"
|
||||
+ user_name + "' and login_name='" + login_name + "' and shop_id='" + shop_id + "'";
|
||||
|
||||
var dt = mySql.ExecuteDataTable(sql);
|
||||
@@ -490,6 +493,7 @@ namespace KJD_Web.BLL.BXX
|
||||
login_pass = row["login_pass"].ToString(),
|
||||
cookie = row["cookie"].ToString(),
|
||||
cookie2 = row["cookie2"].ToString(),
|
||||
anti_contents = row["anti_contents"].ToString(),
|
||||
shop_id = row["shop_id"].ToString(),
|
||||
shop_account = row["shop_account"].ToString(),
|
||||
sub_user_name = row["sub_user_name"].ToString(),
|
||||
@@ -519,6 +523,7 @@ namespace KJD_Web.BLL.BXX
|
||||
string sub_user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sub_user_name"));
|
||||
string cookie = RegexUtils.GetStringQuery(ref inputData, "cookie");
|
||||
string cookie2 = RegexUtils.GetStringQuery(ref inputData, "cookie2");
|
||||
string anti_contents = RegexUtils.GetStringQuery(ref inputData, "anti_contents");
|
||||
string shop_id = RegexUtils.GetStringQuery(ref inputData, "shop_id");
|
||||
string shop_account = RegexUtils.GetStringQuery(ref inputData, "shop_account");
|
||||
string group_name = RegexUtils.GetStringQuery(ref inputData, "group_name");
|
||||
@@ -550,8 +555,8 @@ namespace KJD_Web.BLL.BXX
|
||||
return "{\"code\":500,\"msg\":\"店铺" + login_name +" " + shop_account + "已存在\"}";
|
||||
}
|
||||
|
||||
sql = "insert into bxx.shop (login_name,login_pass,cookie,cookie2,shop_account,shop_id,sub_user_name,user_name,group_name,notes,add_time,mdy_time) " +
|
||||
"values ('" + login_name + "','" + login_pass + "','" + cookie + "','" + cookie2 + "','" + shop_account + "','" + shop_id + "','" +
|
||||
sql = "insert into bxx.shop (login_name,login_pass,cookie,cookie2,anti_contents,shop_account,shop_id,sub_user_name,user_name,group_name,notes,add_time,mdy_time) " +
|
||||
"values ('" + login_name + "','" + login_pass + "','" + cookie + "','" + cookie2 + "','" + anti_contents + "','" + shop_account + "','" + shop_id + "','" +
|
||||
sub_user_name + "','" + user_name + "','" + group_name + "','" + notes + "','" +
|
||||
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','" +
|
||||
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "');";
|
||||
@@ -577,6 +582,7 @@ namespace KJD_Web.BLL.BXX
|
||||
string sub_user_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "sub_user_name"));
|
||||
string cookie = RegexUtils.GetStringQuery(ref inputData, "cookie");
|
||||
string cookie2 = RegexUtils.GetStringQuery(ref inputData, "cookie2");
|
||||
string anti_contents = RegexUtils.GetStringQuery(ref inputData, "anti_contents");
|
||||
string new_shop_id = RegexUtils.GetStringQuery(ref inputData, "new_shop_id");
|
||||
string old_shop_id = RegexUtils.GetStringQuery(ref inputData, "shop_id");
|
||||
string shop_account = RegexUtils.GetStringQuery(ref inputData, "shop_account");
|
||||
@@ -605,6 +611,8 @@ namespace KJD_Web.BLL.BXX
|
||||
sql += " cookie='" + cookie + "',";
|
||||
if (cookie2 != null)
|
||||
sql += " cookie2='" + cookie2 + "',";
|
||||
if (anti_contents != null)
|
||||
sql += " anti_contents='" + anti_contents + "',";
|
||||
if (new_shop_id != null)
|
||||
sql += " shop_id='" + new_shop_id + "',";
|
||||
if (shop_account != null)
|
||||
@@ -632,6 +640,40 @@ namespace KJD_Web.BLL.BXX
|
||||
return "{\"code\":19999,\"msg\":\"未知错误\"}";
|
||||
}
|
||||
|
||||
public string MdyAntiContent(string inputData)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(inputData))
|
||||
{
|
||||
string login_name = RegexUtils.GetStringQuery(ref inputData, "login_name");
|
||||
string shop_id = RegexUtils.GetStringQuery(ref inputData, "shop_id");
|
||||
string anti_contents = RegexUtils.GetStringQuery(ref inputData, "anti_contents");
|
||||
|
||||
int r2 = 0;
|
||||
int.TryParse(RegexUtils.GetStringQuery(ref inputData, "r2"), out r2);
|
||||
|
||||
if (string.IsNullOrEmpty(login_name))
|
||||
{
|
||||
return "{\"code\":500,\"msg\":\"店铺没有登录名\"}";
|
||||
}
|
||||
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
string sql = "update bxx.shop set";
|
||||
if (anti_contents != null)
|
||||
sql += " anti_contents='" + anti_contents + "',";
|
||||
sql = sql.TrimEnd(',');
|
||||
sql += " where login_name='" + login_name + "' and shop_id='" + shop_id + "';";
|
||||
|
||||
var rst = mySql.ExecuteNonQuery(sql);
|
||||
mySql.Close();
|
||||
if (rst)
|
||||
{
|
||||
return "{\"code\":200,\"msg\":\"success\"}";
|
||||
}
|
||||
}
|
||||
return "{\"code\":19999,\"msg\":\"未知错误\"}";
|
||||
}
|
||||
|
||||
public string MdyCookieAndLoginStatus(string inputData)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(inputData))
|
||||
|
||||
@@ -363,7 +363,7 @@ namespace KJD_Web.BLL
|
||||
{
|
||||
add_product_remaining = add_product_remaining - 1;
|
||||
sql += "\r\n";
|
||||
sql += "update kjd.shop set add_product_remaining=" + add_product_remaining + " where shop_id=" + shop_id + ";";
|
||||
sql += "update kjd.shop set add_product_remaining=" + add_product_remaining + " where shop_id='" + shop_id + "';";
|
||||
sql += "update kjd.product set select_total_count=select_total_count+1 where id=" + out_product_Id + ";";
|
||||
//sql += "update kjd.shop_add_prod_count set add_product_remaining=" + add_product_remaining + " where shop_id=" + shop_id + ";";
|
||||
sql += "INSERT INTO kjd.shop_add_prod_count(shop_id, add_product_remaining) VALUES('" + shop_id + "'," + add_product_remaining + ")" +
|
||||
|
||||
@@ -361,8 +361,8 @@ namespace KJD_Web.BLL
|
||||
{
|
||||
add_product_remaining = add_product_remaining - 1;
|
||||
sql += "\r\n";
|
||||
sql += "update kjd.shop set add_product_remaining=" + add_product_remaining + " where shop_id=" + shop_id + ";";
|
||||
//sql += "update kjd.shop_add_prod_count set add_product_remaining=" + add_product_remaining + " where shop_id=" + shop_id + ";";
|
||||
sql += "update kjd.shop set add_product_remaining=" + add_product_remaining + " where shop_id='" + shop_id + "';";
|
||||
//sql += "update kjd.shop_add_prod_count set add_product_remaining=" + add_product_remaining + " where shop_id='" + shop_id + "';";
|
||||
sql += "INSERT INTO kjd.shop_add_prod_count(shop_id, add_product_remaining) VALUES('" + shop_id + "'," + add_product_remaining + ")" +
|
||||
"ON DUPLICATE KEY UPDATE add_product_remaining=VALUES(add_product_remaining)";
|
||||
}
|
||||
|
||||
@@ -84,6 +84,18 @@ namespace KJD_Web
|
||||
Context.Response.End();
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public void mdy_product()
|
||||
{
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new BXXProductManage().MdyProduct(jsontext);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public void del_db_product()
|
||||
{
|
||||
|
||||
@@ -108,6 +108,18 @@ namespace KJD_Web
|
||||
Context.Response.End();
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public void mdy_anti_content()
|
||||
{
|
||||
string jsontext = GetRequestJsonString();
|
||||
|
||||
var result = jsontext;
|
||||
result = new BXXShopManage().MdyAntiContent(jsontext);
|
||||
|
||||
Context.Response.Write(result);
|
||||
Context.Response.End();
|
||||
}
|
||||
|
||||
[WebMethod]
|
||||
public void mdy_shop_cookie_and_login_status()
|
||||
{
|
||||
|
||||
@@ -11,6 +11,7 @@ namespace KJD_Web.Model
|
||||
public class DBProductResultParam
|
||||
{
|
||||
public int id { get; set; }
|
||||
public string from_shop_id { get; set; } = "";
|
||||
public string spu_id { get; set; }
|
||||
public string skc_id { get; set; }
|
||||
public string cat_id { get; set; }
|
||||
|
||||
@@ -30,7 +30,7 @@ namespace KJD_Web.Model
|
||||
public string fission_product_name { get; set; }
|
||||
|
||||
#region 外键连接属性
|
||||
|
||||
public string from_shop_id { get; set; } = "";
|
||||
public string cat_id { get; set; }
|
||||
public string cat_name { get; set; }
|
||||
public string change_cat_id { get; set; }
|
||||
|
||||
@@ -12,6 +12,7 @@ namespace KJD_Web.Model.ShopModel
|
||||
public string login_pass { get; set; }
|
||||
public string cookie { get; set; }
|
||||
public string cookie2 { get; set; }
|
||||
public string anti_contents { get; set; }
|
||||
public string shop_id { get; set; }
|
||||
public string shop_account { get; set; }
|
||||
public string sub_user_name { get; set; }
|
||||
|
||||
+80
-2
@@ -9,9 +9,9 @@ using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace TemuKJD.KJDForms
|
||||
namespace TemuKJD.BLL
|
||||
{
|
||||
public class KJDHttpResponse
|
||||
public class HttpResponseBLL
|
||||
{
|
||||
public static string PostResponse(ShopLoginInfo shop, string _url, string _data, string referer)
|
||||
{
|
||||
@@ -297,6 +297,84 @@ namespace TemuKJD.KJDForms
|
||||
result = GetProxyHtml.ReadResponse(response);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
public static string PDDPostResponse(ShopLoginInfo shop, string _url, string _data, string referer, string AntiContent = null)
|
||||
{
|
||||
if (string.IsNullOrEmpty(AntiContent))
|
||||
AntiContent = "0apAfa5e-wCEXaTg0FNtNj4PklUKt0E_FNynruEIx9qGLdY6b5YUhnqi7QxYqQqi2Ugraphm85CrR0oU0XYn0dYX5dqXqXJnqg8npDTnpTJnpAaX9swaKE20Tbw_yKnoaXIXxHGB_IxWWlIXMnxghvniTodnXt2wcA7sxhbV_CEBcCez4H92maXI2d1qgoYswoG4Mf_ojlph0nGig8nqWzXqwTYh0j4W6jYs6PxHjXvJslpHyXjseoqZhfqdydn5_Jj0g2TPpCaGDgSgL1FT_lZPGmxIq9UXkPCQpBhPtTZaqGAq06gXkNxXZPrXO0gQ4SHl0bZSZth9LG_j0dKS54JX1PCPZM4XObhaxYjH0oMqm06oiXHYmpnOkTbo-z4QlrCxT43eEBgmrk8AvVbKI3FKz-FAL4pwdFveGf5c1JO_csO50lnqQNy9909u6zLUrFMiTy";
|
||||
string rckk = "Z07QGtUzw1cgd58IPWnC1OAGCW9xcH1m";
|
||||
string cookies = "";
|
||||
try
|
||||
{
|
||||
var cookieLst = JsonHelper.DeserializeJsonToList<CefSharp.Cookie>(shop.Cookies);
|
||||
foreach (var cook in cookieLst)
|
||||
{
|
||||
cookies += cook.Name + "=" + cook.Value + ";";
|
||||
}
|
||||
var rckkCookie = cookieLst.FirstOrDefault(c => c.Name == "rckk");
|
||||
if (rckkCookie != null)
|
||||
rckk = rckkCookie.Value;
|
||||
}
|
||||
catch { }
|
||||
|
||||
|
||||
HttpWebResponse response = null;
|
||||
string result;
|
||||
try
|
||||
{
|
||||
string url = _url;
|
||||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
|
||||
|
||||
request.KeepAlive = true;
|
||||
request.Headers.Set(HttpRequestHeader.CacheControl, "max-age=0");
|
||||
request.Headers.Add("Anti-Content", AntiContent);
|
||||
request.Headers.Add("sec-ch-ua-platform", @"""Windows""");
|
||||
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36";
|
||||
request.Headers.Add("ETag", rckk);
|
||||
request.Headers.Add("sec-ch-ua", @"""Not;A=Brand"";v=""99"", ""Google Chrome"";v=""139"", ""Chromium"";v=""139""");
|
||||
request.ContentType = "application/json";
|
||||
request.Headers.Add("sec-ch-ua-mobile", @"?0");
|
||||
request.Accept = "*/*";
|
||||
request.Headers.Add("Origin", @"https://mms.pinduoduo.com");
|
||||
request.Headers.Add("Sec-Fetch-Site", @"same-origin");
|
||||
request.Headers.Add("Sec-Fetch-Mode", @"cors");
|
||||
request.Headers.Add("Sec-Fetch-Dest", @"empty");
|
||||
request.Referer = referer;
|
||||
request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate, br, zstd");
|
||||
request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9");
|
||||
request.Headers.Set(HttpRequestHeader.Cookie, cookies);
|
||||
|
||||
request.Method = "POST";
|
||||
request.ServicePoint.Expect100Continue = false;
|
||||
|
||||
string body = _data;
|
||||
byte[] postBytes = System.Text.Encoding.UTF8.GetBytes(body);
|
||||
request.ContentLength = postBytes.Length;
|
||||
Stream stream = request.GetRequestStream();
|
||||
stream.Write(postBytes, 0, postBytes.Length);
|
||||
stream.Close();
|
||||
|
||||
response = (HttpWebResponse)request.GetResponse();
|
||||
}
|
||||
catch (WebException ex)
|
||||
{
|
||||
if (ex.Status == WebExceptionStatus.ProtocolError)
|
||||
{
|
||||
response = (HttpWebResponse)ex.Response;
|
||||
result = GetProxyHtml.ReadResponse(response);
|
||||
return result;
|
||||
}
|
||||
else return ex.Message;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
if (response != null) response.Close();
|
||||
return e.Message;
|
||||
}
|
||||
result = GetProxyHtml.ReadResponse(response);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace TemuKJD.BLL
|
||||
{
|
||||
public enum SetProductSelectNotesType
|
||||
{
|
||||
DbProduct,
|
||||
ThirdProduct,
|
||||
}
|
||||
public class ProductSelectBLL
|
||||
{
|
||||
}
|
||||
}
|
||||
@@ -156,10 +156,13 @@ namespace TemuKJD.BLL
|
||||
shop.UserName = BaseRegex.GetStringJson(ref shopStr, "user_name");
|
||||
shop.SubUserName = BaseRegex.GetStringJson(ref shopStr, "sub_user_name");
|
||||
shop.GroupName = BaseRegex.GetStringJson(ref shopStr, "shop_group");
|
||||
shop.Cookies = BaseRegex.GetStringJson(ref shopStr, "cookie");
|
||||
//shop.Cookies = BaseRegex.GetStringJson(ref shopStr, "cookie");
|
||||
shop.Cookies = jObj["cookie"].IsNullOrEmpty() ? "[]" : jObj["cookie"].ToString();
|
||||
shop.Cookies = shop.Cookies.Replace("&", "&").Replace("%", "%").Replace("+", "+");
|
||||
shop.Cookies2 = BaseRegex.GetStringJson(ref shopStr, "cookie2").ParseToString();
|
||||
//shop.Cookies2 = BaseRegex.GetStringJson(ref shopStr, "cookie2").ParseToString();
|
||||
shop.Cookies2 = jObj["cookie2"].ToString();
|
||||
shop.Cookies2 = shop.Cookies2.Replace("&", "&").Replace("%", "%").Replace("+", "+");
|
||||
shop.AntiContents = JsonHelper.DeserializeJsonToList<string>(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");
|
||||
|
||||
+59
-2
@@ -92,6 +92,7 @@
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="BLL\ProductSelectBLL.cs" />
|
||||
<Compile Include="BoundObject.cs" />
|
||||
<Compile Include="ChangeForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
@@ -237,7 +238,7 @@
|
||||
<Compile Include="KJDForms\ProductForms\ProductForm.Designer.cs">
|
||||
<DependentUpon>ProductForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="KJDForms\ProductForms\ProductResponse\KJDHttpResponse.cs" />
|
||||
<Compile Include="BLL\HttpResponseBLL.cs" />
|
||||
<Compile Include="KJDForms\ProductForms\SaleStockUpForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -418,6 +419,42 @@
|
||||
<Compile Include="KJDForms\SystemForms\SystemRemoveRestrictionsForm.Designer.cs">
|
||||
<DependentUpon>SystemRemoveRestrictionsForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="PDDForms\ProductForms\PDDProductForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="PDDForms\ProductForms\PDDProductForm.Designer.cs">
|
||||
<DependentUpon>PDDProductForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="PDDForms\ProductSelectForms\PDDDBProdUserSelectEditNotesForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="PDDForms\ProductSelectForms\PDDDBProdUserSelectEditNotesForm.Designer.cs">
|
||||
<DependentUpon>PDDDBProdUserSelectEditNotesForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="PDDForms\ProductSelectForms\PDDDBProdUserSelectForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="PDDForms\ProductSelectForms\PDDDBProdUserSelectForm.Designer.cs">
|
||||
<DependentUpon>PDDDBProdUserSelectForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="PDDForms\ProductSelectForms\PDDDBProdListForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="PDDForms\ProductSelectForms\PDDDBProdListForm.Designer.cs">
|
||||
<DependentUpon>PDDDBProdListForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="PDDForms\ProductSelectForms\PDDDBProdEditNotesForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="PDDForms\ProductSelectForms\PDDDBProdEditNotesForm.Designer.cs">
|
||||
<DependentUpon>PDDDBProdEditNotesForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="PDDForms\ProductSelectForms\PDDThirdProdSelectAddShopForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="PDDForms\ProductSelectForms\PDDThirdProdSelectAddShopForm.Designer.cs">
|
||||
<DependentUpon>PDDThirdProdSelectAddShopForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ToolForms\CefForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -835,6 +872,24 @@
|
||||
<EmbeddedResource Include="KJDForms\SystemForms\SystemRemoveRestrictionsForm.resx">
|
||||
<DependentUpon>SystemRemoveRestrictionsForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="PDDForms\ProductForms\PDDProductForm.resx">
|
||||
<DependentUpon>PDDProductForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="PDDForms\ProductSelectForms\PDDDBProdUserSelectEditNotesForm.resx">
|
||||
<DependentUpon>PDDDBProdUserSelectEditNotesForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="PDDForms\ProductSelectForms\PDDDBProdUserSelectForm.resx">
|
||||
<DependentUpon>PDDDBProdUserSelectForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="PDDForms\ProductSelectForms\PDDDBProdListForm.resx">
|
||||
<DependentUpon>PDDDBProdListForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="PDDForms\ProductSelectForms\PDDDBProdEditNotesForm.resx">
|
||||
<DependentUpon>PDDDBProdEditNotesForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="PDDForms\ProductSelectForms\PDDThirdProdSelectAddShopForm.resx">
|
||||
<DependentUpon>PDDThirdProdSelectAddShopForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ToolForms\CefForm.resx">
|
||||
<DependentUpon>CefForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@@ -1063,7 +1118,9 @@
|
||||
<Name>Work</Name>
|
||||
</ProjectReference>
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<ItemGroup>
|
||||
<Folder Include="KJDForms\ProductForms\ProductResponse\" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
|
||||
@@ -797,7 +797,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
// body = @"{""pageSize"":100,""pageNum"":" + page + @",""secondarySelectStatusList"":[10],""supplierTodoTypeList"":[],""productSkcIdList"":[" + prodSkcIds + "]}";
|
||||
//}
|
||||
string referer = "https://agentseller.temu.com/newon/product-select";
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, referer);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, referer);
|
||||
}
|
||||
|
||||
private string GetCheckPrice(ShopLoginInfo shop, string orderId)
|
||||
@@ -805,7 +805,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
string url = "https://agentseller.temu.com/api/kiana/mms/magneto/api/price-review-order/no-bom/reject-remark";
|
||||
string body = @"{""orderId"":" + orderId + "}";
|
||||
string referer = "https://agentseller.temu.com/newon/product-select";
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, referer);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, referer);
|
||||
}
|
||||
|
||||
private string applyPrice(ShopLoginInfo shop, string orderId, string data)
|
||||
@@ -813,7 +813,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
string url = "https://agentseller.temu.com/api/kiana/mms/magneto/price/bargain-no-bom";
|
||||
string body = data;
|
||||
string referer = "https://agentseller.temu.com/newon/product-select";
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, referer);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, referer);
|
||||
}
|
||||
|
||||
private string rePrice(ShopLoginInfo shop, string orderId, string data)
|
||||
@@ -821,7 +821,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
string url = "https://agentseller.temu.com/api/kiana/mms/magneto/price/bargain-no-bom";
|
||||
string body = data;
|
||||
string referer = "https://agentseller.temu.com/newon/product-select";
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, referer);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, referer);
|
||||
}
|
||||
|
||||
private string cancelPrice(ShopLoginInfo shop, string orderId)
|
||||
@@ -829,7 +829,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
string url = "https://agentseller.temu.com/api/kiana/mms/magneto/api/price-review-order/no-bom/review";
|
||||
string body = @"{""priceOrderId"":" + orderId + "}";
|
||||
string referer = "https://agentseller.temu.com/newon/product-select";
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, referer);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, referer);
|
||||
}
|
||||
|
||||
private string priceAdjust(ShopLoginInfo shop, string data)
|
||||
@@ -837,7 +837,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
string url = "https://agentseller.temu.com/api/kiana/mms/gmp/bg/magneto/api/price/priceAdjust/gmpProductBatchAdjustPrice";
|
||||
string body = data;
|
||||
string referer = "https://agentseller.temu.com/newon/product-select";
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, referer);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, referer);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -851,7 +851,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
string url = "https://agentseller.temu.com/lich-mms/audit/edit/task/product/batchAdd";
|
||||
string body = @"{""bizIdType"":1,""bizIds"":["+ productId + @"],""productEditItems"":[{""editItem"":1,""editAdvice"":""优化""}]}";
|
||||
string referer = "https://agentseller.temu.com/goods/list?productId=" + productId;
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, referer);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, referer);
|
||||
}
|
||||
|
||||
private string editPriceProductName(ShopLoginInfo shop, string taskUid, string productId, string productNewName)
|
||||
@@ -860,7 +860,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
//string body = @"{""productId"":4432690492,""taskUid"":""8de73095-733e-4cdf-8fbd-3ddd8d9dff18"",""taskVersion"":0,""refuseEdit"":false,""productName"":""男士轻便 EVA 拖鞋,带钩环后跟带 ,舒适的露趾拖鞋,适合室内和室外使用,家居拖鞋,易于使用的魔鬼毡扣带扣,洞洞鞋,家居拖鞋,带钩环扣件,适合室内和室外使用,带扣凉鞋,后厨工专用鞋简约款两用,适合室内/室外使用,春夏凉鞋,EVA 拖鞋,适合19个不同的搭配风格""}";
|
||||
string body = @"{""productId"":" + productId + @",""taskUid"":""" + taskUid + @""",""taskVersion"":0,""refuseEdit"":false,""productName"":""" + productNewName + @"""}";
|
||||
string referer = "https://agentseller.temu.com/goods/edit?from=platform&productId=" + productId + "&taskUid=" + taskUid;
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, referer);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, referer);
|
||||
}
|
||||
|
||||
//申请修改 SKU分类和包装清单 体积与重量 商品名称
|
||||
@@ -880,7 +880,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
string url = "https://agentseller.temu.com/lich-mms/audit/edit/task/product/batchAdd";
|
||||
string body = @"{""bizIdType"":1,""bizIds"":[" + productId + @"],""productEditItems"":[{""editItem"":4,""editAdvice"":""优化""},{""editItem"":8,""editAdvice"":""优化""}]}";
|
||||
string referer = "https://agentseller.temu.com/goods/list?productId=" + productId;
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, referer);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, referer);
|
||||
}
|
||||
|
||||
private string editPriceProductSizeAndNumberTaskQuery(ShopLoginInfo shop, string productId)
|
||||
@@ -888,7 +888,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
string url = "https://agentseller.temu.com/lich-mms/audit/edit/task/product/pageQuery";
|
||||
string body = @"{""page"":1,""pageSize"":10,""editTaskAggStatuses"":[1],""productIdList"":[" + productId + "]}";
|
||||
string referer = "https://agentseller.temu.com/goods/list";
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, referer);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, referer);
|
||||
}
|
||||
|
||||
private string editPriceProductQuery(ShopLoginInfo shop, string prodId, string taskUid)
|
||||
@@ -896,7 +896,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
string url = "https://agentseller.temu.com/visage-agent-seller/product/query";
|
||||
string body = @"{""productId"":" + prodId + @",""productEditTaskUid"":""" + taskUid + @"""}";
|
||||
string refere = "https://agentseller.temu.com/goods/edit?from=platform&productId=" + prodId + "&taskUid=" + taskUid;
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string editPriceProductSizeAndNumber(ShopLoginInfo shop, string taskUid, string productId, string data)
|
||||
@@ -906,7 +906,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
string body = ""; //@"{""productId"":" + productId + @",""taskUid"":""" + taskUid + @""",""taskVersion"":0,""refuseEdit"":false,""productName"":""" + productNewName + @"""}";
|
||||
body = data;
|
||||
string referer = "https://agentseller.temu.com/goods/edit?from=platform&productId=" + productId + "&taskUid=" + taskUid;
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, referer);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, referer);
|
||||
}
|
||||
|
||||
Bitmap defaultBitmap = new Bitmap(80, 80);
|
||||
|
||||
@@ -886,7 +886,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
string url = "https://seller.kuajingmaihuo.com/bg-visage-mms/product/draft/add";
|
||||
string refere = "https://seller.kuajingmaihuo.com/goods/product-create/category?from=productList";
|
||||
string body = @"{""catId"":" + catId + "}";
|
||||
return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string SaveDraft(ShopLoginInfo shop, string draftId, TemuProductParam prodParam)
|
||||
@@ -895,7 +895,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
string body = JsonHelper.SerializeObject(prodParam);
|
||||
string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" +
|
||||
draftId + "&from=productDraftList";
|
||||
return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse(shop, url, body, refere);
|
||||
}
|
||||
|
||||
|
||||
@@ -905,7 +905,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
string body = JsonHelper.SerializeObject(prodParam);
|
||||
string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" +
|
||||
draftId + "&from=productDraftList";
|
||||
return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse(shop, url, body, refere);
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using TemuKJD.BaseForms;
|
||||
using TemuKJD.BLL;
|
||||
using TemuKJD.KJDForms.ProductThirdSelectForms;
|
||||
using TemuKJD.KJDForms.ShopForms;
|
||||
using Work;
|
||||
@@ -304,7 +305,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
string url = "https://seller.kuajingmaihuo.com/bg-visage-mms/product/query";
|
||||
string body = @"{""productId"":" + prodId + @",""productEditTaskUid"":""""}";
|
||||
string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?from=productList&productId=" + prodId;
|
||||
return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string SizeSpecQuery(ShopLoginInfo shop, string prodId, string sizeSpecId)
|
||||
@@ -312,7 +313,7 @@ namespace TemuKJD.KJDForms.AdminForms
|
||||
string url = "https://seller.kuajingmaihuo.com/bg-anniston-mms/sizespec/query";
|
||||
string body = @"{""businessId"":" + sizeSpecId + @",""reusable"":false}";
|
||||
string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?from=productList&productId=" + prodId;
|
||||
return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse(shop, url, body, refere);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -17,6 +17,7 @@ using System.Windows.Forms;
|
||||
using TemuKJD.Extension;
|
||||
using TemuKJD.BaseForms;
|
||||
using TemuKJD.KJDForms.ShopForms;
|
||||
using TemuKJD.BLL;
|
||||
|
||||
namespace TemuKJD.KJDForms.ProductForms
|
||||
{
|
||||
@@ -423,8 +424,8 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
//string refere = "https://seller.kuajingmaihuo.com/main/price-manage/price-adjustment";
|
||||
string refere = "https://agentseller.temu.com/main/adjust-price-manage/order-price";
|
||||
|
||||
//return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
//return HttpResponseBLL.PostResponse(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private void panelEx1_Click(object sender, EventArgs e)
|
||||
@@ -602,7 +603,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
//string refere = "https://seller.kuajingmaihuo.com/main/price-manage/price-adjustment";
|
||||
string refere = "https://agentseller.temu.com/main/adjust-price-manage/order-price";
|
||||
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private void dgvStock_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
||||
|
||||
@@ -17,6 +17,7 @@ using TemuKJD.Extension;
|
||||
using TemuKJD.BaseForms;
|
||||
using TemuKJD.KJDForms.ShopForms;
|
||||
using Work;
|
||||
using TemuKJD.BLL;
|
||||
|
||||
namespace TemuKJD.KJDForms.ProductForms
|
||||
{
|
||||
@@ -188,7 +189,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
|
||||
string refere = "https://agentseller.temu.com/goods/list";
|
||||
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private void btnSearchPrice_Click(object sender, EventArgs e)
|
||||
|
||||
@@ -19,6 +19,7 @@ using System.Windows.Forms;
|
||||
using TemuKJD.Extension;
|
||||
using TemuKJD.BaseForms;
|
||||
using TemuKJD.KJDForms.ShopForms;
|
||||
using TemuKJD.BLL;
|
||||
|
||||
namespace TemuKJD.KJDForms.ProductForms
|
||||
{
|
||||
@@ -383,7 +384,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
|
||||
string refere = "https://seller.kuajingmaihuo.com/main/order-manage";
|
||||
|
||||
return KJDHttpResponse.PostResponse(shop, url, body,refere);
|
||||
return HttpResponseBLL.PostResponse(shop, url, body,refere);
|
||||
}
|
||||
|
||||
private string GetShopStockList2(ShopLoginInfo shop, int page = 1, string type = "待创建")
|
||||
@@ -398,7 +399,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
|
||||
string refere = "https://agentseller.temu.com/stock/fully-mgt/order-manage-urgency";
|
||||
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -416,7 +417,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
string body = "{\"subPurchaseOrderSnList\":[\"" + subPurchaseOrderSn + "\"]}";
|
||||
string refere = "https://seller.kuajingmaihuo.com/main/order-manage";
|
||||
|
||||
return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string CancelSubPurchaseOrder2(ShopLoginInfo shop, string subPurchaseOrderSn)
|
||||
@@ -425,7 +426,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
string body = "{\"subPurchaseOrderSnList\":[\"" + subPurchaseOrderSn + "\"]}";
|
||||
string refere = "https://agentseller.temu.com/stock/fully-mgt/order-manage";
|
||||
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -444,7 +445,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
string body = @"{""pageNo"":" + page + @",""pageSize"":40,""isLack"":0,""selectStatusList"":[12],""priceAdjustRecentDays"":7}";
|
||||
string refere = "https://seller.kuajingmaihuo.com/main/sale-manage/main";
|
||||
|
||||
return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string GetWarehouseList2(ShopLoginInfo shop, int page = 1)
|
||||
@@ -454,7 +455,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
string body = @"{""pageNo"":" + page + @",""pageSize"":10,""isLack"":0,""selectStatusList"":[12],""priceAdjustRecentDays"":7}";
|
||||
string refere = "https://agentseller.temu.com/stock/fully-mgt/sale-manage/main";
|
||||
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -472,7 +473,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
string body = "{\"productSkcId\":" + subOrderInfo.productSkcId
|
||||
+ ",\"warehouseGroupId\":" + subOrderInfo.warehouseGroupIdList.FirstOrDefault() + "}";
|
||||
string refere = "https://seller.kuajingmaihuo.com/main/sale-manage/main";
|
||||
return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string QueryStockBaseInfo2(ShopLoginInfo shop, WarehouseProductSubOrderInfo subOrderInfo)
|
||||
@@ -481,7 +482,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
string body = "{\"productSkcId\":" + subOrderInfo.productSkcId
|
||||
+ ",\"warehouseGroupId\":" + subOrderInfo.warehouseGroupIdList.FirstOrDefault() + "}";
|
||||
string refere = "https://agentseller.temu.com/stock/fully-mgt/sale-manage/main";
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -507,7 +508,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
body += "],\"warehouseGroupId\":" + subOrderInfo.warehouseGroupIdList.FirstOrDefault() + "}";
|
||||
string refere = "https://seller.kuajingmaihuo.com/main/sale-manage/main";
|
||||
|
||||
return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse(shop, url, body, refere);
|
||||
}
|
||||
private string CreateStockOrder2(ShopLoginInfo shop, WarehouseProductSubOrderInfo subOrderInfo)
|
||||
{
|
||||
@@ -523,7 +524,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
body += "],\"warehouseGroupId\":" + subOrderInfo.warehouseGroupIdList.FirstOrDefault() + "}";
|
||||
string refere = "https://agentseller.temu.com/stock/fully-mgt/sale-manage/main";
|
||||
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -537,7 +538,7 @@ namespace TemuKJD.KJDForms.ProductForms
|
||||
string url = "https://agentseller.temu.com/bg-luna-agent-seller/goods/quality/supplyChain/qualityMetrics/pageQuery";
|
||||
string body = @"{""page"":1,""pageSize"":40,""qualityScoreEnum"":" + qualityScoreEnum + @",""productIds"":[" + productIds + "]}";
|
||||
string refere = "https://agentseller.temu.com/main/quality/dashboard";
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private void dgvShop_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
||||
|
||||
@@ -12,6 +12,7 @@ using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using TemuKJD.BaseForms;
|
||||
using TemuKJD.BLL;
|
||||
using Work;
|
||||
|
||||
namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
@@ -162,7 +163,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
string body = @"{""searchText"":""" + searchStr + @"""}";
|
||||
|
||||
string refere = "https://agentseller.temu.com/goods/create/category";
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
|
||||
|
||||
@@ -12,14 +12,10 @@ using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using AllBase;
|
||||
using Work;
|
||||
using TemuKJD.BLL;
|
||||
|
||||
namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
{
|
||||
public enum SetProductSelectNotesType
|
||||
{
|
||||
DbProduct,
|
||||
ThirdProduct,
|
||||
}
|
||||
public partial class DbProductSelectEditNotesForm : LRBaseForm
|
||||
{
|
||||
TemuDBProductSelect dbProdSelect = null;
|
||||
|
||||
@@ -1741,7 +1741,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
//string refere = "https://seller.kuajingmaihuo.com/goods/product-create/category?from=productList";
|
||||
string refere = "https://agentseller.temu.com/goods/create/category";
|
||||
string body = @"{""catId"":" + catId + "}";
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string CreateSizeSpec(ShopLoginInfo shop, string draftId, TemuSizeSpecParam sizeParam)
|
||||
@@ -1752,7 +1752,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
//string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId="+
|
||||
// draftId + "&from=productDraftList";
|
||||
string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=productDraftList";
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string SaveDraft(ShopLoginInfo shop, string draftId, TemuProductParam prodParam)
|
||||
@@ -1763,7 +1763,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
//string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" +
|
||||
// draftId + "&from=productDraftList";
|
||||
string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=productDraftList";
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
|
||||
@@ -1775,7 +1775,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
//string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" +
|
||||
// draftId + "&from=productDraftList";
|
||||
string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=productDraftList";
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string EditProduct(ShopLoginInfo shop, string productId, TemuProductParam prodParam)
|
||||
@@ -1783,7 +1783,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
string url = "https://agentseller.temu.com/visage-agent-seller/product/edit";
|
||||
string body = JsonHelper.SerializeObject(prodParam).Replace("productDraftId", "productId");
|
||||
string refere = "https://agentseller.temu.com/goods/edit?from=productList&productId=" + productId;
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string QueryOrAddSpec(ShopLoginInfo shop, string draftId, string parentSpecId, string specName)
|
||||
@@ -1792,7 +1792,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
string body = @"{""parentSpecId"":" + parentSpecId + @",""specName"":""" + specName + @"""}";
|
||||
|
||||
string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=productDraftList";
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string QueryCategoryTemplate(ShopLoginInfo shop, string draftId, string catId)
|
||||
@@ -1801,7 +1801,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
string body = @"{""catId"":" + catId + @",""langList"":[""en""]}";
|
||||
|
||||
string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=productDraftList";
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string CheckImgMd5(ShopLoginInfo shop, string draftId, string parentSpecId, string fileMd5)
|
||||
@@ -1811,7 +1811,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
|
||||
string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=menu&st_time="
|
||||
+ BaseClass.DateTimeToTimestampSeconds(DateTime.Now);
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
|
||||
//https://img.kwcdn.com/product/fancy/8dc012c8-fa6d-4625-b2bb-efd32f44f889.jpg
|
||||
//"materialName":"8dc012c8-fa6d-4625-b2bb-efd32f44f889"
|
||||
@@ -1828,7 +1828,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
|
||||
string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=menu&st_time="
|
||||
+ BaseClass.DateTimeToTimestampSeconds(DateTime.Now);
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string GetImgUpSign(ShopLoginInfo shop, string draftId)
|
||||
@@ -1838,7 +1838,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=menu&st_time="
|
||||
+ BaseClass.DateTimeToTimestampSeconds(DateTime.Now);
|
||||
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string UploadImage(ShopLoginInfo shop, string draftId, string fileFullName, string uploadSign)
|
||||
@@ -1866,7 +1866,7 @@ Content-Disposition: form-data; name=""upload_sign""
|
||||
string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=menu&st_time="
|
||||
+ BaseClass.DateTimeToTimestampSeconds(DateTime.Now);
|
||||
|
||||
return KJDHttpResponse.PostResponseUpload(shop, url, body, refere, boundary);
|
||||
return HttpResponseBLL.PostResponseUpload(shop, url, body, refere, boundary);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using AllBase;
|
||||
using Work;
|
||||
using TemuKJD.BLL;
|
||||
|
||||
namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
{
|
||||
|
||||
+3
-3
@@ -784,7 +784,7 @@
|
||||
"全部",
|
||||
"重上",
|
||||
"已买"});
|
||||
this.cmbUserNotes.Location = new System.Drawing.Point(1044, 5);
|
||||
this.cmbUserNotes.Location = new System.Drawing.Point(1044, 8);
|
||||
this.cmbUserNotes.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.cmbUserNotes.Name = "cmbUserNotes";
|
||||
this.cmbUserNotes.Size = new System.Drawing.Size(65, 25);
|
||||
@@ -801,7 +801,7 @@
|
||||
"核价成功",
|
||||
"核价成功(重复)",
|
||||
"重复"});
|
||||
this.cmbNotes.Location = new System.Drawing.Point(917, 5);
|
||||
this.cmbNotes.Location = new System.Drawing.Point(917, 8);
|
||||
this.cmbNotes.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.cmbNotes.Name = "cmbNotes";
|
||||
this.cmbNotes.Size = new System.Drawing.Size(65, 25);
|
||||
@@ -828,7 +828,7 @@
|
||||
"已上传",
|
||||
"草稿箱",
|
||||
"全部"});
|
||||
this.cmbStatus.Location = new System.Drawing.Point(814, 5);
|
||||
this.cmbStatus.Location = new System.Drawing.Point(814, 8);
|
||||
this.cmbStatus.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.cmbStatus.Name = "cmbStatus";
|
||||
this.cmbStatus.Size = new System.Drawing.Size(65, 25);
|
||||
|
||||
@@ -1507,7 +1507,7 @@ namespace TemuKJD.KJDForms.ProductThirdSelectForms
|
||||
//string refere = "https://seller.kuajingmaihuo.com/goods/product-create/category?from=productList";
|
||||
string refere = "https://agentseller.temu.com/goods/create/category";
|
||||
string body = @"{""catId"":" + catId + "}";
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string CreateSizeSpec(ShopLoginInfo shop, string draftId, TemuSizeSpecParam sizeParam)
|
||||
@@ -1518,7 +1518,7 @@ namespace TemuKJD.KJDForms.ProductThirdSelectForms
|
||||
//string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId="+
|
||||
// draftId + "&from=productDraftList";
|
||||
string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=productDraftList";
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string SaveDraft(ShopLoginInfo shop, string draftId, TemuProductParam prodParam)
|
||||
@@ -1529,7 +1529,7 @@ namespace TemuKJD.KJDForms.ProductThirdSelectForms
|
||||
//string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" +
|
||||
// draftId + "&from=productDraftList";
|
||||
string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=productDraftList";
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string AddProduct(ShopLoginInfo shop, string draftId, TemuProductParam prodParam)
|
||||
@@ -1540,7 +1540,7 @@ namespace TemuKJD.KJDForms.ProductThirdSelectForms
|
||||
//string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" +
|
||||
// draftId + "&from=productDraftList";
|
||||
string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=productDraftList";
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string QueryOrAddSpec(ShopLoginInfo shop, string draftId, string parentSpecId, string specName)
|
||||
@@ -1549,7 +1549,7 @@ namespace TemuKJD.KJDForms.ProductThirdSelectForms
|
||||
string body = @"{""parentSpecId"":" + parentSpecId + @",""specName"":""" + specName + @"""}";
|
||||
|
||||
string refere = "https://agentseller.temu.com/goods/edit?productDraftId=" + draftId + "&from=productDraftList";
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string SearchCategory(ShopLoginInfo shop, string searchStr)
|
||||
@@ -1558,7 +1558,7 @@ namespace TemuKJD.KJDForms.ProductThirdSelectForms
|
||||
string body = @"{""searchText"":""" + searchStr + @"""}";
|
||||
|
||||
string refere = "https://agentseller.temu.com/goods/create/category";
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private void btnSetSubSa_Click(object sender, EventArgs e)
|
||||
|
||||
@@ -19,9 +19,9 @@ using TemuKJD.Extension;
|
||||
using TemuKJD.BaseForms;
|
||||
using TemuKJD.KJDForms.ProductSelectForms;
|
||||
using TemuKJD.KJDForms.ShopForms;
|
||||
using TemuKJD.KJDForms.ToolForms;
|
||||
using TemuKJD.ToolForms;
|
||||
using Work;
|
||||
using TemuKJD.BLL;
|
||||
|
||||
namespace TemuKJD.KJDForms.ProductThirdSelectForms
|
||||
{
|
||||
|
||||
@@ -17,6 +17,7 @@ using System.Windows.Forms;
|
||||
using TemuKJD.Extension;
|
||||
using TemuKJD.BaseForms;
|
||||
using TemuKJD.KJDForms.ShopForms;
|
||||
using TemuKJD.BLL;
|
||||
|
||||
namespace TemuKJD.KJDForms.SalesCenterForms
|
||||
{
|
||||
@@ -1104,7 +1105,7 @@ namespace TemuKJD.KJDForms.SalesCenterForms
|
||||
string body;
|
||||
body = @"{""needCanEnrollCnt"":true}";
|
||||
string refere = "https://agentseller.temu.com/activity/marketing-activity";
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -1132,7 +1133,7 @@ namespace TemuKJD.KJDForms.SalesCenterForms
|
||||
string refere = "https://agentseller.temu.com/activity/marketing-activity/detail-new?type=" + activityType;
|
||||
if (thematicId != activityType)
|
||||
refere += "&thematicId=" + thematicId;
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -1150,7 +1151,7 @@ namespace TemuKJD.KJDForms.SalesCenterForms
|
||||
string refere = "https://agentseller.temu.com/activity/marketing-activity/detail-new?type=" + activityType;
|
||||
if (thematicId != activityType)
|
||||
refere += "&thematicId=" + thematicId;
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -1171,7 +1172,7 @@ namespace TemuKJD.KJDForms.SalesCenterForms
|
||||
body = @"{""pageNo"":" + page + @",""pageSize"":40,""isLack"":0,""selectStatusList"":[12],""priceAdjustRecentDays"":7,
|
||||
""thirtyDaysSaleVolumMin"":0, ""thirtyDaysSaleVolumMax"":" + saleCount + @",""onSalesDurationOfflineGte"":" + onSalesDays + @",""onSalesDurationOfflineLte"":"+ onSalesDays2 + "}";
|
||||
string refere = "https://agentseller.temu.com/stock/fully-mgt/sale-manage/main";
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -15,6 +15,7 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using TemuKJD.BaseForms;
|
||||
using TemuKJD.BLL;
|
||||
|
||||
namespace TemuKJD.KJDForms.ShopForms
|
||||
{
|
||||
@@ -571,8 +572,8 @@ namespace TemuKJD.KJDForms.ShopForms
|
||||
|
||||
string refere = "https://seller.kuajingmaihuo.com/wms/stock-mgt/return-package-detail";
|
||||
|
||||
return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
//return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse(shop, url, body, refere);
|
||||
//return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string GetProductList(ShopLoginInfo shop, string skcIds, int page = 1)
|
||||
@@ -584,8 +585,8 @@ namespace TemuKJD.KJDForms.ShopForms
|
||||
|
||||
string refere = "https://agentseller.temu.com/goods/list";
|
||||
|
||||
//return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
//return HttpResponseBLL.PostResponse(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
public static string ReturnPackagePostResponse(ShopLoginInfo shop, string _url, string _data, string referer, string timeStamp, string sign)
|
||||
|
||||
@@ -694,7 +694,7 @@ namespace TemuKJD.KJDForms.ShopForms
|
||||
string url = "https://seller.kuajingmaihuo.com/bg/quiet/api/mms/userInfo";
|
||||
string refere = "https://seller.kuajingmaihuo.com/";
|
||||
string body = @"{}";
|
||||
return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse(shop, url, body, refere);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -707,7 +707,7 @@ namespace TemuKJD.KJDForms.ShopForms
|
||||
string url = "https://agentseller.temu.com/api/seller/auth/userInfo";
|
||||
string refere = "https://agentseller.temu.com/";
|
||||
string body = @"{}";
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
public static string GetShopLogin2Code(ShopLoginInfo shop)
|
||||
@@ -715,7 +715,7 @@ namespace TemuKJD.KJDForms.ShopForms
|
||||
string url = "https://seller.kuajingmaihuo.com/bg/quiet/api/auth/obtainCode";
|
||||
string refere = "https://seller.kuajingmaihuo.com/settle/seller-login?redirectUrl=https%3A%2F%2Fagentseller.temu.com%2F®ion=1&source=https%3A%2F%2Fagentseller.temu.com%2Fmain%2Fauthentication%3FredirectUrl%3Dhttps%253A%252F%252Fagentseller.temu.com%252F";
|
||||
string body = @"{""redirectUrl"":""https://agentseller.temu.com/main/authentication""}";
|
||||
return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private void ShopListForm_VisibleChanged(object sender, EventArgs e)
|
||||
|
||||
@@ -570,7 +570,10 @@ namespace TemuKJD.KJDForms.ShopForms
|
||||
if (this.shop != null && data.Contains("\"success\":true"))
|
||||
{
|
||||
var maskMobile = BaseRegex.GetStringJson(ref data, "maskOwnerMobile");
|
||||
if (shop.LoginName.EndsWith(maskMobile))
|
||||
var maskMobile2 = "||||" + BaseRegex.GetStringJson(ref data, "maskMobile").ParseToString();
|
||||
if (maskMobile2.Contains("*"))
|
||||
maskMobile2 = maskMobile2.Substring(maskMobile2.LastIndexOf("*")).Trim('*');
|
||||
if (shop.LoginName.EndsWith(maskMobile) || shop.LoginName.EndsWith(maskMobile2))
|
||||
{
|
||||
lstShopCompany.Clear();
|
||||
var jObj = JObject.Parse(data);
|
||||
|
||||
@@ -17,6 +17,7 @@ using TemuKJD.Extension;
|
||||
using TemuKJD.BaseForms;
|
||||
using TemuKJD.UserComponent;
|
||||
using Work;
|
||||
using TemuKJD.BLL;
|
||||
|
||||
namespace TemuKJD.KJDForms.ShopForms.Statistics
|
||||
{
|
||||
@@ -677,7 +678,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics
|
||||
string body = @"{}";
|
||||
string refere = "https://agentseller.temu.com/";
|
||||
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string GetFundDaily(ShopLoginInfo shop, DateTime date)
|
||||
@@ -686,7 +687,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics
|
||||
string body = @"{""month"":""" + date.ToString("yyyy-MM") + @"""}";
|
||||
string refere = "https://seller.kuajingmaihuo.com/labor/bill";
|
||||
|
||||
return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string GetFundMonthly(ShopLoginInfo shop, DateTime date)
|
||||
@@ -695,7 +696,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics
|
||||
string body = @"{""year"":""" + date.ToString("yyyy") + @"""}";
|
||||
string refere = "https://seller.kuajingmaihuo.com/labor/bill";
|
||||
|
||||
return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse(shop, url, body, refere);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -709,7 +710,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics
|
||||
string body = @"{}";
|
||||
string refere = "https://seller.kuajingmaihuo.com/labor/account";
|
||||
|
||||
return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse(shop, url, body, refere);
|
||||
}
|
||||
/// <summary>
|
||||
/// 提现记录
|
||||
@@ -722,7 +723,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics
|
||||
string body = @"{""page"":" + page + @",""pageSize"":100}";
|
||||
string refere = "https://seller.kuajingmaihuo.com/labor/account";
|
||||
|
||||
return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string GetWarehouseList2(ShopLoginInfo shop, int page = 1, int pageSize=40)
|
||||
@@ -732,7 +733,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics
|
||||
string body = @"{""pageNo"":" + page + @",""pageSize"":" + pageSize + @",""isLack"":0,""selectStatusList"":[12],""priceAdjustRecentDays"":7}";
|
||||
string refere = "https://agentseller.temu.com/stock/fully-mgt/sale-manage/main";
|
||||
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -746,7 +747,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics
|
||||
string url = "https://agentseller.temu.com/bg-luna-agent-seller/goods/quality/supplyChain/qualityMetrics/pageQuery";
|
||||
string body = @"{""page"":1,""pageSize"":40,""qualityScoreEnum"":" + qualityScoreEnum + @",""productIds"":[" + productIds + "]}";
|
||||
string refere = "https://agentseller.temu.com/main/quality/dashboard";
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private void dgvShop_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
||||
|
||||
@@ -12,6 +12,7 @@ using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using TemuKJD.BLL;
|
||||
using TemuKJD.Extension;
|
||||
|
||||
namespace TemuKJD.KJDForms.ShopForms.Statistics
|
||||
@@ -287,7 +288,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics
|
||||
string body = @"{""pageNo"":" + page + @",""pageSize"":10,""isLack"":0,""selectStatusList"":[12],""priceAdjustRecentDays"":7}";
|
||||
string refere = "https://agentseller.temu.com/stock/fully-mgt/sale-manage/main";
|
||||
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private string GetShopStockList(ShopLoginInfo shop, int page = 1)
|
||||
@@ -299,7 +300,7 @@ namespace TemuKJD.KJDForms.ShopForms.Statistics
|
||||
|
||||
string refere = "https://agentseller.temu.com/stock/fully-mgt/order-manage";
|
||||
|
||||
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
return HttpResponseBLL.PostResponse2(shop, url, body, refere);
|
||||
}
|
||||
|
||||
private void dgvShop_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
||||
|
||||
+33
-9
@@ -18,6 +18,7 @@ using TemuKJD.KJDForms.ToolForms;
|
||||
using System.Reflection;
|
||||
using System.Net;
|
||||
using System.Collections;
|
||||
using TemuKJD.KJDForms.AdminForms;
|
||||
using TemuKJD.KJDForms.ShopForms;
|
||||
using TemuKJD.KJDForms.ProductForms;
|
||||
using TemuKJD.KJDForms.OrderForms;
|
||||
@@ -38,8 +39,9 @@ using NaiBa.Util;
|
||||
using AllBase.Model.Param.ProductManage;
|
||||
using TemuKJD.KJDForms.SalesCenterForms;
|
||||
using NaiBa.CefHelper.Handler;
|
||||
using TemuKJD.KJDForms.AdminForms;
|
||||
using TemuKJD.PDDForms.AdminForms;
|
||||
using TemuKJD.PDDForms.ShopForms;
|
||||
using TemuKJD.PDDForms.ProductForms;
|
||||
|
||||
namespace TemuKJD
|
||||
{
|
||||
@@ -656,24 +658,46 @@ namespace TemuKJD
|
||||
}
|
||||
}
|
||||
|
||||
private AdminForm adminForm;
|
||||
private object adminForm;
|
||||
private void pnlSA_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (adminForm == null)
|
||||
if (BaseClass.MainPath == "kuajingda")
|
||||
{
|
||||
adminForm = new AdminForm();
|
||||
if (adminForm == null)
|
||||
{
|
||||
adminForm = new AdminForm();
|
||||
}
|
||||
ShowMainPanel(adminForm as AdminForm, sender as Panel);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (adminForm == null)
|
||||
{
|
||||
adminForm = new PDDAdminForm();
|
||||
}
|
||||
ShowMainPanel(adminForm as PDDAdminForm, sender as Panel);
|
||||
}
|
||||
ShowMainPanel(adminForm, sender as Panel);
|
||||
}
|
||||
|
||||
private ProductForm uploadForm;
|
||||
private object uploadForm;
|
||||
public void pnlUpload_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (uploadForm == null)
|
||||
if (BaseClass.MainPath == "kuajingda")
|
||||
{
|
||||
uploadForm = new ProductForm();
|
||||
if (uploadForm == null)
|
||||
{
|
||||
uploadForm = new ProductForm();
|
||||
}
|
||||
ShowMainPanel(uploadForm as ProductForm, sender as Panel);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (uploadForm == null)
|
||||
{
|
||||
uploadForm = new PDDProductForm();
|
||||
}
|
||||
ShowMainPanel(uploadForm as PDDProductForm, sender as Panel);
|
||||
}
|
||||
ShowMainPanel(uploadForm, sender as Panel);
|
||||
}
|
||||
|
||||
//private CollectForm collectForm;
|
||||
|
||||
+5
-5
@@ -30,7 +30,7 @@
|
||||
{
|
||||
System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("超级店铺管理");
|
||||
System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("超级用户管理");
|
||||
System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("选品数据库");
|
||||
System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("产品数据库");
|
||||
System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("选品加价管理");
|
||||
System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("认领待上传");
|
||||
System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("库存上传");
|
||||
@@ -137,8 +137,8 @@
|
||||
treeNode1.Text = "超级店铺管理";
|
||||
treeNode2.Name = "超级用户管理";
|
||||
treeNode2.Text = "超级用户管理";
|
||||
treeNode3.Name = "选品数据库";
|
||||
treeNode3.Text = "选品数据库";
|
||||
treeNode3.Name = "产品数据库";
|
||||
treeNode3.Text = "产品数据库";
|
||||
treeNode4.Name = "选品加价管理";
|
||||
treeNode4.Text = "选品加价管理";
|
||||
treeNode5.Name = "认领待上传";
|
||||
@@ -156,14 +156,14 @@
|
||||
this.tv.TabIndex = 1;
|
||||
this.tv.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.tv_AfterSelect);
|
||||
//
|
||||
// AdminForm
|
||||
// PDDAdminForm
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(933, 446);
|
||||
this.Controls.Add(this.splitContainer1);
|
||||
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
|
||||
this.Name = "AdminForm";
|
||||
this.Name = "PDDAdminForm";
|
||||
this.Text = "AdminForm";
|
||||
this.Load += new System.EventHandler(this.ShopForm_Load);
|
||||
this.panel1.ResumeLayout(false);
|
||||
|
||||
@@ -10,6 +10,7 @@ using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using TemuKJD.BaseForms;
|
||||
using TemuKJD.PDDForms.ProductSelectForms;
|
||||
//using TemuKJD.KJDForms.ProductSelectForms;
|
||||
//using TemuKJD.KJDForms.ProductThirdSelectForms;
|
||||
|
||||
@@ -19,7 +20,7 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
{
|
||||
public Lazy<PDDAdminAccountForm> adminAccountForm = new Lazy<PDDAdminAccountForm>();
|
||||
public Lazy<PDDAdminShopListForm> adminShopForm = new Lazy<PDDAdminShopListForm>();
|
||||
//public Lazy<DbProductListForm> dbProductListForm = new Lazy<DbProductListForm>();
|
||||
public Lazy<PDDDBProdListForm> dbProdListForm = new Lazy<PDDDBProdListForm>();
|
||||
//public Lazy<DbPriceMarkUpForm> dbPriceMarkUpForm = new Lazy<DbPriceMarkUpForm>();
|
||||
//public Lazy<DbProductSelectListManageForm> dbProductSelectListManageForm = new Lazy<DbProductSelectListManageForm>();
|
||||
//public Lazy<ProductThirdSelectListManageForm> productThirdSelectListManageForm = new Lazy<ProductThirdSelectListManageForm>();
|
||||
@@ -34,7 +35,7 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
tv.SelectedNode = tv.Nodes[0].Nodes[0];
|
||||
tv.ExpandGroup(tv.Nodes[0].Name);
|
||||
|
||||
List<string> hideName = new List<string>() { "超级用户管理", "超级店铺管理", "选品数据库", "选品加价管理", "认领待上传", "库存上传", "商品核价" };
|
||||
List<string> hideName = new List<string>() { "超级用户管理", "超级店铺管理", "产品数据库", "选品加价管理", "认领待上传", "库存上传", "商品核价" };
|
||||
|
||||
if (BaseClass.GroupId == 3)
|
||||
{
|
||||
@@ -43,18 +44,18 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
{
|
||||
hideName.Remove("超级用户管理");
|
||||
hideName.Remove("超级店铺管理");
|
||||
hideName.Remove("选品数据库");
|
||||
hideName.Remove("选品加价管理");
|
||||
hideName.Remove("认领待上传");
|
||||
hideName.Remove("库存上传");
|
||||
hideName.Remove("商品核价");
|
||||
hideName.Remove("产品数据库");
|
||||
//hideName.Remove("选品加价管理");
|
||||
//hideName.Remove("认领待上传");
|
||||
//hideName.Remove("库存上传");
|
||||
//hideName.Remove("商品核价");
|
||||
}
|
||||
if (BaseClass.SaLevel==2)
|
||||
{
|
||||
hideName.Remove("超级店铺管理");
|
||||
hideName.Remove("认领待上传");
|
||||
hideName.Remove("库存上传");
|
||||
hideName.Remove("商品核价");
|
||||
//hideName.Remove("认领待上传");
|
||||
//hideName.Remove("库存上传");
|
||||
//hideName.Remove("商品核价");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,9 +88,9 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
case "超级店铺管理":
|
||||
SetForm(adminShopForm.Value);
|
||||
break;
|
||||
//case "选品数据库":
|
||||
// SetForm(dbProductListForm.Value);
|
||||
// break;
|
||||
case "产品数据库":
|
||||
SetForm(dbProdListForm.Value);
|
||||
break;
|
||||
//case "选品加价管理":
|
||||
// SetForm(dbPriceMarkUpForm.Value);
|
||||
// break;
|
||||
|
||||
+82
-81
@@ -29,11 +29,11 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle9 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle10 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.tableLayoutPanel2 = new System.Windows.Forms.TableLayoutPanel();
|
||||
this.panel5 = new System.Windows.Forms.Panel();
|
||||
@@ -57,12 +57,16 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
|
||||
this.pbLoading = new System.Windows.Forms.PictureBox();
|
||||
this.pnlAddProdRemaining = new System.Windows.Forms.Panel();
|
||||
this.lblShopId = new System.Windows.Forms.Label();
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.pnlCancel = new DevComponents.DotNetBar.PanelEx();
|
||||
this.numAddRemaining = new System.Windows.Forms.NumericUpDown();
|
||||
this.btnRemainOK = new DevComponents.DotNetBar.PanelEx();
|
||||
this.lblAddProdRemaining = new System.Windows.Forms.Label();
|
||||
this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx();
|
||||
this.chkAutoDrag = new System.Windows.Forms.CheckBox();
|
||||
this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
|
||||
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
|
||||
this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.colLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
@@ -92,10 +96,6 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
this.colSubSa = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colEdit = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colDelete = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.chkAutoDrag = new System.Windows.Forms.CheckBox();
|
||||
this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
|
||||
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
|
||||
this.lblShopId = new System.Windows.Forms.Label();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
@@ -413,6 +413,16 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
this.pnlAddProdRemaining.TabIndex = 7;
|
||||
this.pnlAddProdRemaining.Visible = false;
|
||||
//
|
||||
// lblShopId
|
||||
//
|
||||
this.lblShopId.AutoSize = true;
|
||||
this.lblShopId.Location = new System.Drawing.Point(20, 19);
|
||||
this.lblShopId.Name = "lblShopId";
|
||||
this.lblShopId.Size = new System.Drawing.Size(50, 17);
|
||||
this.lblShopId.TabIndex = 455;
|
||||
this.lblShopId.Text = "ShopId";
|
||||
this.lblShopId.Visible = false;
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.Anchor = System.Windows.Forms.AnchorStyles.Top;
|
||||
@@ -497,19 +507,19 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
//
|
||||
this.dgvShop.AllowUserToAddRows = false;
|
||||
this.dgvShop.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle6.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle6;
|
||||
dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
|
||||
this.dgvShop.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
|
||||
this.dgvShop.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
dataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle7.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle7;
|
||||
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
|
||||
this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colSelect,
|
||||
@@ -552,6 +562,43 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
this.dgvShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick);
|
||||
this.dgvShop.CellMouseDown += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.dgvShop_CellMouseDown);
|
||||
//
|
||||
// chkAutoDrag
|
||||
//
|
||||
this.chkAutoDrag.Anchor = System.Windows.Forms.AnchorStyles.Right;
|
||||
this.chkAutoDrag.AutoSize = true;
|
||||
this.chkAutoDrag.BackColor = System.Drawing.Color.White;
|
||||
this.chkAutoDrag.Location = new System.Drawing.Point(597, 0);
|
||||
this.chkAutoDrag.Name = "chkAutoDrag";
|
||||
this.chkAutoDrag.Size = new System.Drawing.Size(159, 21);
|
||||
this.chkAutoDrag.TabIndex = 3;
|
||||
this.chkAutoDrag.Text = "登录时自动滑动拼图验证";
|
||||
this.chkAutoDrag.UseVisualStyleBackColor = false;
|
||||
this.chkAutoDrag.Visible = false;
|
||||
//
|
||||
// ucSplitPage1
|
||||
//
|
||||
this.ucSplitPage1.CurrentPage = 1;
|
||||
this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.ucSplitPage1.IsShowPageSize = false;
|
||||
this.ucSplitPage1.Location = new System.Drawing.Point(911, 0);
|
||||
this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.ucSplitPage1.Name = "ucSplitPage1";
|
||||
this.ucSplitPage1.PageSize = 50;
|
||||
this.ucSplitPage1.Size = new System.Drawing.Size(362, 25);
|
||||
this.ucSplitPage1.TabIndex = 4;
|
||||
this.ucSplitPage1.TotalPage = 1;
|
||||
//
|
||||
// statusBar
|
||||
//
|
||||
this.statusBar.BackColor = System.Drawing.Color.White;
|
||||
this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.statusBar.Location = new System.Drawing.Point(0, 0);
|
||||
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.statusBar.Name = "statusBar";
|
||||
this.statusBar.Size = new System.Drawing.Size(1273, 25);
|
||||
this.statusBar.TabIndex = 1;
|
||||
//
|
||||
// colSelect
|
||||
//
|
||||
this.colSelect.FillWeight = 26F;
|
||||
@@ -589,8 +636,8 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
//
|
||||
// colMinus
|
||||
//
|
||||
dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
this.colMinus.DefaultCellStyle = dataGridViewCellStyle8;
|
||||
dataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
this.colMinus.DefaultCellStyle = dataGridViewCellStyle3;
|
||||
this.colMinus.FillWeight = 15F;
|
||||
this.colMinus.HeaderText = "-";
|
||||
this.colMinus.Name = "colMinus";
|
||||
@@ -599,8 +646,8 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
//
|
||||
// colProductRemaining
|
||||
//
|
||||
dataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
this.colProductRemaining.DefaultCellStyle = dataGridViewCellStyle9;
|
||||
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
this.colProductRemaining.DefaultCellStyle = dataGridViewCellStyle4;
|
||||
this.colProductRemaining.FillWeight = 30F;
|
||||
this.colProductRemaining.HeaderText = "选品限额";
|
||||
this.colProductRemaining.Name = "colProductRemaining";
|
||||
@@ -608,8 +655,8 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
//
|
||||
// colPlus
|
||||
//
|
||||
dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
this.colPlus.DefaultCellStyle = dataGridViewCellStyle10;
|
||||
dataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleCenter;
|
||||
this.colPlus.DefaultCellStyle = dataGridViewCellStyle5;
|
||||
this.colPlus.FillWeight = 15F;
|
||||
this.colPlus.HeaderText = "+";
|
||||
this.colPlus.Name = "colPlus";
|
||||
@@ -709,6 +756,7 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
this.colRelogin2.HeaderText = "国际版状态";
|
||||
this.colRelogin2.Name = "colRelogin2";
|
||||
this.colRelogin2.ReadOnly = true;
|
||||
this.colRelogin2.Visible = false;
|
||||
//
|
||||
// colMultiLogin
|
||||
//
|
||||
@@ -793,60 +841,13 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
this.colDelete.ReadOnly = true;
|
||||
this.colDelete.Visible = false;
|
||||
//
|
||||
// chkAutoDrag
|
||||
//
|
||||
this.chkAutoDrag.Anchor = System.Windows.Forms.AnchorStyles.Right;
|
||||
this.chkAutoDrag.AutoSize = true;
|
||||
this.chkAutoDrag.BackColor = System.Drawing.Color.White;
|
||||
this.chkAutoDrag.Location = new System.Drawing.Point(597, 0);
|
||||
this.chkAutoDrag.Name = "chkAutoDrag";
|
||||
this.chkAutoDrag.Size = new System.Drawing.Size(159, 21);
|
||||
this.chkAutoDrag.TabIndex = 3;
|
||||
this.chkAutoDrag.Text = "登录时自动滑动拼图验证";
|
||||
this.chkAutoDrag.UseVisualStyleBackColor = false;
|
||||
this.chkAutoDrag.Visible = false;
|
||||
//
|
||||
// ucSplitPage1
|
||||
//
|
||||
this.ucSplitPage1.CurrentPage = 1;
|
||||
this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.ucSplitPage1.IsShowPageSize = false;
|
||||
this.ucSplitPage1.Location = new System.Drawing.Point(911, 0);
|
||||
this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.ucSplitPage1.Name = "ucSplitPage1";
|
||||
this.ucSplitPage1.PageSize = 50;
|
||||
this.ucSplitPage1.Size = new System.Drawing.Size(362, 25);
|
||||
this.ucSplitPage1.TabIndex = 4;
|
||||
this.ucSplitPage1.TotalPage = 1;
|
||||
//
|
||||
// statusBar
|
||||
//
|
||||
this.statusBar.BackColor = System.Drawing.Color.White;
|
||||
this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.statusBar.Location = new System.Drawing.Point(0, 0);
|
||||
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.statusBar.Name = "statusBar";
|
||||
this.statusBar.Size = new System.Drawing.Size(1273, 25);
|
||||
this.statusBar.TabIndex = 1;
|
||||
//
|
||||
// lblShopId
|
||||
//
|
||||
this.lblShopId.AutoSize = true;
|
||||
this.lblShopId.Location = new System.Drawing.Point(20, 19);
|
||||
this.lblShopId.Name = "lblShopId";
|
||||
this.lblShopId.Size = new System.Drawing.Size(50, 17);
|
||||
this.lblShopId.TabIndex = 455;
|
||||
this.lblShopId.Text = "ShopId";
|
||||
this.lblShopId.Visible = false;
|
||||
//
|
||||
// AdminShopListForm
|
||||
// PDDAdminShopListForm
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(1273, 610);
|
||||
this.Controls.Add(this.splitContainer1);
|
||||
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.Name = "AdminShopListForm";
|
||||
this.Name = "PDDAdminShopListForm";
|
||||
this.Text = "AdminShopForm";
|
||||
this.Load += new System.EventHandler(this.AdminShopForm_Load);
|
||||
this.VisibleChanged += new System.EventHandler(this.AdminShopForm_VisibleChanged);
|
||||
@@ -902,6 +903,13 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.CheckBox chkShowDelete;
|
||||
private UserControls.ButtonEx btnSetSubSa;
|
||||
private System.Windows.Forms.Panel pnlAddProdRemaining;
|
||||
private System.Windows.Forms.Label lblAddProdRemaining;
|
||||
private System.Windows.Forms.NumericUpDown numAddRemaining;
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private DevComponents.DotNetBar.PanelEx btnRemainOK;
|
||||
private DevComponents.DotNetBar.PanelEx pnlCancel;
|
||||
private System.Windows.Forms.Label lblShopId;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colLoginName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colShopId;
|
||||
@@ -931,12 +939,5 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSubSa;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colEdit;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colDelete;
|
||||
private System.Windows.Forms.Panel pnlAddProdRemaining;
|
||||
private System.Windows.Forms.Label lblAddProdRemaining;
|
||||
private System.Windows.Forms.NumericUpDown numAddRemaining;
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private DevComponents.DotNetBar.PanelEx btnRemainOK;
|
||||
private DevComponents.DotNetBar.PanelEx pnlCancel;
|
||||
private System.Windows.Forms.Label lblShopId;
|
||||
}
|
||||
}
|
||||
@@ -226,57 +226,58 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
PDDAdminShopLoginForm adminLoginForm = new PDDAdminShopLoginForm(shop);
|
||||
adminLoginForm.openType = EnumOpenType.manage;
|
||||
adminLoginForm.WindowState = FormWindowState.Maximized;
|
||||
adminLoginForm.InitUrl = "https://agentseller.temu.com";
|
||||
adminLoginForm.InitUrl = "https://mms.pinduoduo.com/home/";
|
||||
adminLoginForm.Show();
|
||||
}
|
||||
IsOperate = false;
|
||||
break;
|
||||
case "复制Cookie":
|
||||
string cook = shop.Cookies;
|
||||
List<CefSharp.Cookie> cooks = null;
|
||||
try { cooks = JsonHelper.DeserializeJsonToList<CefSharp.Cookie>(shop.Cookies); } catch (Exception ex) { }
|
||||
if (cooks == null)
|
||||
cooks = new List<CefSharp.Cookie>();
|
||||
|
||||
string cookJs = "";
|
||||
var keys = new string[] { "a42", "_bee", "_f77", "_nano_fp", "api_uid", "rckk", "ru1k", "ru2k", "SUB_PASS_ID" };
|
||||
//var keys2 = new string[] { "_bee", "_nano_fp", "api_uid", "dilx", "hfsc", "mallid", "njrpl", "seller_temp" };
|
||||
var keys2 = new string[] { "_bee", "_nano_fp", "api_uid", "dilx", "hfsc", "njrpl", "seller_temp" };
|
||||
foreach (var shopCook in shop.Cookies.Split(';'))
|
||||
var keys = new string[] { "_a42", "_bee", "_f77", "_nano_fp", "api_uid", "JSESSIONID", "mms_b84d1838", "rckk", "ru1k", "ru2k", "PASS_ID", "webp", "x-visit-time" };
|
||||
var keys2 = new string[] { /*"_bee", "_nano_fp", "api_uid", "dilx", "hfsc", "njrpl", "seller_temp"*/ };
|
||||
foreach (var shopCook in cooks)
|
||||
{
|
||||
var cookie = shopCook.Trim();
|
||||
if (!keys.Any(k=>cookie.StartsWith(k)))
|
||||
continue;
|
||||
cookJs += "\r\ndocument.cookie='" + cookie.Substring(0, Math.Max(0, cookie.IndexOf("="))) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';";
|
||||
}
|
||||
foreach (var shopCook in shop.Cookies2.Split(';'))
|
||||
{
|
||||
var cookie = shopCook.Trim();
|
||||
cookJs += "\r\ndocument.cookie='" + cookie.Substring(0, Math.Max(0, cookie.IndexOf("="))) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';";
|
||||
}
|
||||
foreach (var shopCook in shop.Cookies.Split(';'))
|
||||
{
|
||||
var cookie = shopCook.Trim();
|
||||
var cookie = shopCook.Name + "=" + shopCook.Value;
|
||||
if (!keys.Any(k => cookie.StartsWith(k)))
|
||||
continue;
|
||||
if (!cookie.StartsWith("SUB_PASS_ID") && !cookie.StartsWith("_nano_fp"))
|
||||
cookJs += "\r\ndocument.cookie='" + cookie + "; domain=.kuajingmaihuo.com;';";
|
||||
cookJs += "\r\ndocument.cookie='" + cookie.Substring(0, Math.Max(0, cookie.IndexOf("="))) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';";
|
||||
}
|
||||
foreach (var shopCook in cooks)
|
||||
{
|
||||
var cookie = shopCook.Name + "=" + shopCook.Value;
|
||||
if (!keys.Any(k => cookie.StartsWith(k)))
|
||||
continue;
|
||||
if (!cookie.StartsWith("PASS_ID") && !cookie.StartsWith("_nano_fp") && !cookie.StartsWith("JSESSIONID") &&
|
||||
!cookie.StartsWith("mms_b84d1838") && !cookie.StartsWith("webp") && !cookie.StartsWith("x-visit-time"))
|
||||
cookJs += "\r\ndocument.cookie='" + cookie + "; domain=.pinduoduo.com;expires=" +
|
||||
DateTime.Now.AddMonths(1).ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss 'UTC'", new DateTimeFormatInfo()) + "; path=/';";
|
||||
else
|
||||
cookJs += "\r\ndocument.cookie='" + cookie + "; domain=seller.kuajingmaihuo.com;';";
|
||||
cookJs += "\r\ndocument.cookie='" + cookie + "; domain=mms.pinduoduo.com; expires=" +
|
||||
DateTime.Now.AddMonths(1).ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss 'UTC'", new DateTimeFormatInfo()) + "; path=/';";
|
||||
}
|
||||
// 全球站cookie
|
||||
foreach (var shopCook in shop.Cookies2.Split(';'))
|
||||
{
|
||||
var cookie = shopCook.Trim();
|
||||
if (cookie.StartsWith("mallid"))
|
||||
cookie = "mallid=" + shop.ShopId;
|
||||
if (!keys2.Any(k => cookie.StartsWith(k)))
|
||||
continue;
|
||||
if (!cookie.StartsWith("seller_temp") && !cookie.StartsWith("_nano_fp") && !cookie.StartsWith("mallid"))
|
||||
cookJs += "\r\ndocument.cookie='" + cookie + "; domain=.temu.com; expires=" +
|
||||
DateTime.Now.AddDays(1).ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss 'UTC'", new DateTimeFormatInfo()) + "; path=/';";
|
||||
else
|
||||
cookJs += "\r\ndocument.cookie='" + cookie + "; domain=agentseller.temu.com; expires=" +
|
||||
DateTime.Now.AddDays(1).ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss 'UTC'", new DateTimeFormatInfo()) + "; path=/';";
|
||||
}
|
||||
cookJs += "\r\nwindow.localStorage.setItem('" + "mall-info-id" + "', '" + shop.ShopId + "');";
|
||||
cookJs += "\r\nwindow.localStorage.setItem('" + "agentseller-mall-info-id" + "', '" + shop.ShopId + "');";
|
||||
cookJs += "\r\nsetTimeout(() => { window.location.href='https://agentseller.temu.com'; }, 200)";
|
||||
//foreach (var shopCook in shop.Cookies2.Split(';'))
|
||||
//{
|
||||
// var cookie = shopCook.Trim();
|
||||
// if (cookie.StartsWith("mallid"))
|
||||
// cookie = "mallid=" + shop.ShopId;
|
||||
// if (!keys2.Any(k => cookie.StartsWith(k)))
|
||||
// continue;
|
||||
// if (!cookie.StartsWith("seller_temp") && !cookie.StartsWith("_nano_fp") && !cookie.StartsWith("mallid"))
|
||||
// cookJs += "\r\ndocument.cookie='" + cookie + "; domain=.temu.com; expires=" +
|
||||
// DateTime.Now.AddDays(1).ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss 'UTC'", new DateTimeFormatInfo()) + "; path=/';";
|
||||
// else
|
||||
// cookJs += "\r\ndocument.cookie='" + cookie + "; domain=agentseller.temu.com; expires=" +
|
||||
// DateTime.Now.AddDays(1).ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss 'UTC'", new DateTimeFormatInfo()) + "; path=/';";
|
||||
//}
|
||||
//cookJs += "\r\nwindow.localStorage.setItem('" + "mall-info-id" + "', '" + shop.ShopId + "');";
|
||||
//cookJs += "\r\nwindow.localStorage.setItem('" + "agentseller-mall-info-id" + "', '" + shop.ShopId + "');";
|
||||
cookJs += "\r\nsetTimeout(() => { window.location.href='https://mms.pinduoduo.com/home'; }, 200)";
|
||||
Clipboard.SetDataObject(cookJs);
|
||||
BaseMsgForm.ShowInfo("复制成功");
|
||||
break;
|
||||
@@ -410,10 +411,10 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
if (BaseClass.SaLevel > 1)
|
||||
data += "&operate_sub_sa_name=" + BaseClass.UserName;
|
||||
var html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
//if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
// html = GetHtml.PostUtf8(url, data);
|
||||
//if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
// html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html)
|
||||
|| !html.Contains("shop_id") || !html.Contains("shop_account") || !html.Contains("login_pass"))
|
||||
{
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
this.splitContainer1.Panel2.Controls.Add(this.btnReload);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.chkCloseAfterLogin);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(1438, 736);
|
||||
this.splitContainer1.SplitterDistance = 674;
|
||||
this.splitContainer1.SplitterDistance = 675;
|
||||
this.splitContainer1.SplitterWidth = 3;
|
||||
this.splitContainer1.TabIndex = 4;
|
||||
//
|
||||
@@ -338,7 +338,7 @@
|
||||
//
|
||||
// txtAddress
|
||||
//
|
||||
this.txtAddress.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
this.txtAddress.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtAddress.Location = new System.Drawing.Point(3, 3);
|
||||
this.txtAddress.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
|
||||
@@ -347,14 +347,14 @@
|
||||
this.txtAddress.TabIndex = 7;
|
||||
this.txtAddress.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtAddress_KeyDown);
|
||||
//
|
||||
// AdminShopLoginForm
|
||||
// PDDAdminShopLoginForm
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(1440, 800);
|
||||
this.Controls.Add(this.splitContainer2);
|
||||
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "AdminShopLoginForm";
|
||||
this.Name = "PDDAdminShopLoginForm";
|
||||
this.ShowMaximizeBox = true;
|
||||
this.Text = "店铺登录";
|
||||
this.TitleText = "店铺登录";
|
||||
|
||||
@@ -37,11 +37,10 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
public bool isMultiLogin = false;
|
||||
public string MultiLoginCookieName = "";
|
||||
public string InitUrl = "";
|
||||
private string shopCookieHead = "kuajingmaihuo.com";
|
||||
private string shopCookieHead = "pinduoduo.com";
|
||||
private string shopCookieHead2 = "temu.com";
|
||||
private string shopLoginUrl = "http://seller.kuajingmaihuo.com/login";
|
||||
private string shopMainUrl = "https://seller.kuajingmaihuo.com";
|
||||
private string shopMainUrl2 = "https://agentseller.temu.com";
|
||||
private string shopLoginUrl = "https://mms.pinduoduo.com/login";
|
||||
private string shopMainUrl = "https://mms.pinduoduo.com/home";
|
||||
private ChromiumWebBrowser cefWebBrowser = null;
|
||||
private ShopLoginInfo shop = null;
|
||||
private List<ShopCompany> lstShopCompany = new List<ShopCompany>();
|
||||
@@ -125,7 +124,8 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
string cookies = "";
|
||||
//List<Cookie> cookieList = CEFBrowser.GetCookieList(shopCookieHead, cefWebBrowser.RequestContext.GetCookieManager(null)); // cef138
|
||||
List<Cookie> cookieList = CEFBrowser.GetCookieList(shopCookieHead, cefWebBrowser.GetCookieManager(null));
|
||||
var keys = new string[] { "a42", "_bee", "_f77", "_nano_fp", "api_uid", "rckk", "ru1k", "ru2k", "SUB_PASS_ID" };
|
||||
List<Cookie> cookieListNew = new List<Cookie>();
|
||||
var keys = new string[] { "_a42", "_bee", "_f77", "_nano_fp", "api_uid", "JSESSIONID", "mms_b84d1838", "rckk", "ru1k", "ru2k", "PASS_ID", "webp", "x-visit-time" };
|
||||
|
||||
if (cookieList != null && cookieList.Count > 0)
|
||||
{
|
||||
@@ -134,14 +134,16 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
if (!keys.Contains(cookie.Name))
|
||||
continue;
|
||||
|
||||
//SUB_PASS_ID同时出现两个,domain是seller.kuajingmaihuo.com才是能登录店铺后台的
|
||||
if (cookie.Name == "SUB_PASS_ID" && cookie.Domain != "seller.kuajingmaihuo.com"
|
||||
&& cookieList.Any(c=>c.Name== "SUB_PASS_ID" && c.Domain == "seller.kuajingmaihuo.com"))
|
||||
//PASS_ID同时出现两个,domain是mms.pinduoduo.com才是能登录店铺后台的
|
||||
if (cookie.Name == "PASS_ID" && cookie.Domain != "mms.pinduoduo.com"
|
||||
&& cookieList.Any(c => c.Name == "PASS_ID" && c.Domain == "mms.pinduoduo.com"))
|
||||
continue;
|
||||
|
||||
cookies += cookie.Name + "=" + cookie.Value + "; ";
|
||||
cookieListNew.Add(cookie);
|
||||
}
|
||||
cookies = cookies.Trim().TrimEnd(';');
|
||||
//cookies = cookies.Trim().TrimEnd(';');
|
||||
cookies = JsonHelper.SerializeObject(cookieListNew);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(cookies)
|
||||
@@ -164,6 +166,7 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
UserName = shop.UserName,
|
||||
Notes = shop.Notes,
|
||||
Cookies = cookies,
|
||||
AntiContents = new List<string> { sc.AntiContent },
|
||||
};
|
||||
|
||||
if (string.IsNullOrEmpty(shop.Cookies)) // 有cookie的认为是已登录过的
|
||||
@@ -174,6 +177,15 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
if (!html.Contains("\"code\":200"))
|
||||
isSuccess = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
var urlAddress = BaseClass.BuildObjString("shop/mdy_anti_content");
|
||||
var data = UserLogin.GetSignaturex()
|
||||
+ "&login_name=" + shop.LoginName
|
||||
+ "&shop_id=" + shop.ShopId
|
||||
+ "&anti_contents=" + JsonHelper.SerializeObject(shop.AntiContents);
|
||||
var result = GetHtml.PostUtf8(urlAddress, data);
|
||||
}
|
||||
}
|
||||
shop.Cookies = cookies;
|
||||
if (isSuccess)
|
||||
@@ -181,105 +193,7 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
shop.LoginStatus = "登录成功";
|
||||
PDDShopListForm.UpdateServerShopCookies(shop); // 店铺cookie写入服务端,多店共用一个登录账号一组cookie
|
||||
}
|
||||
//OnSaveComplete(shop);
|
||||
//if (this.Created && this.chkCloseAfterLogin.Checked)
|
||||
//{
|
||||
// Invoke(new Action(() => { this.Close(); }));
|
||||
//}
|
||||
//else
|
||||
// break;
|
||||
}
|
||||
//cefWebBrowser.Load(shopMainUrl2);
|
||||
var shopStatusRst = PDDShopListForm.GetShopStatus2(shop);
|
||||
if (!shopStatusRst.Contains("\"success\":true"))
|
||||
{
|
||||
//https://agentseller.temu.com/main/authentication?redirectUrl=https%3A%2F%2Fagentseller.temu.com&mallId=634418217169109&asCode=7PaagItuW7ZD1xw2IXNU198596bf60a24327b02d32da6d43f9bcbc40a4b925d0b2ba8c28bd
|
||||
var codeRst = PDDShopListForm.GetShopLogin2Code(shop);
|
||||
if (codeRst.Contains("\"success\":true"))
|
||||
{
|
||||
string code = BaseRegex.GetStringJson(ref codeRst, "code");
|
||||
cefWebBrowser.Load("https://agentseller.temu.com/main/authentication" +
|
||||
"?redirectUrl=https%3A%2F%2Fagentseller.temu.com&mallId=" + shop.ShopId +
|
||||
"&asCode=" + code);
|
||||
}
|
||||
else
|
||||
{
|
||||
//cefWebBrowser.Load("https://agentseller.temu.com");
|
||||
BaseMsgForm.ShowInfo("获取国际版跳转链接失败,请手动跳转并等待Cookie获取结束!");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
var cookie2 = shop.Cookies2;
|
||||
//var t = CEFBrowser.SetCookieAsync(shopCookieHead2, cookie2, cefWebBrowser.RequestContext.GetCookieManager(null)); // cef138
|
||||
var t = CEFBrowser.SetCookieAsync(shopCookieHead2, cookie2, cefWebBrowser.GetCookieManager(null));
|
||||
t.Wait(5000);
|
||||
cefWebBrowser.Load("https://agentseller.temu.com");
|
||||
}
|
||||
}
|
||||
|
||||
if (1 == 1 && this.shop != null && currentUrl.TrimEnd('/') == shopMainUrl2)
|
||||
{
|
||||
//https://agentseller.temu.com
|
||||
if (!cefWebBrowser.GetBrowser().MainFrame.IsValid)
|
||||
continue;
|
||||
|
||||
if (openType != EnumOpenType.login)
|
||||
continue;
|
||||
|
||||
if (!lstShopCompany.Any(c => c.LoginName == shop.LoginName))
|
||||
continue;
|
||||
|
||||
string cookies2 = "";
|
||||
//List<Cookie> cookieList2 = CEFBrowser.GetCookieList(shopCookieHead2, cefWebBrowser.RequestContext.GetCookieManager(null));
|
||||
List<Cookie> cookieList2 = CEFBrowser.GetCookieList(shopCookieHead2, cefWebBrowser.GetCookieManager(null)); // cef138
|
||||
if (cookieList2 != null && cookieList2.Count > 0)
|
||||
{
|
||||
for(int i =0; i < cookieList2.Count; i++)
|
||||
{
|
||||
var cookie = cookieList2[i];
|
||||
cookies2 += cookie.Name + "=" + cookie.Value + "; ";
|
||||
}
|
||||
cookies2 = cookies2.Trim().TrimEnd(';');
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(cookies2)
|
||||
&& lstShopCompany.Any(c => c.LoginName == shop.LoginName))
|
||||
{
|
||||
var lstShopCompanyCopy = lstShopCompany.ToList();
|
||||
lstShopCompanyCopy = lstShopCompanyCopy.Where(l => l.LoginName == shop.LoginName).ToList();
|
||||
bool isSuccess = true;
|
||||
|
||||
foreach (ShopCompany sc in lstShopCompanyCopy)
|
||||
{
|
||||
ShopLoginInfo newShop = new ShopLoginInfo()
|
||||
{
|
||||
LoginName = shop.LoginName,
|
||||
Password = shop.Password,
|
||||
GroupName = shop.GroupName,
|
||||
ShopAccount = sc.AccountName,
|
||||
ShopId = sc.AccountId,
|
||||
SubUserName = shop.SubUserName,
|
||||
UserName = shop.UserName,
|
||||
Notes = shop.Notes,
|
||||
Cookies2 = cookies2,
|
||||
};
|
||||
|
||||
if (string.IsNullOrEmpty(shop.Cookies)) // 有cookie的认为是已登录过的
|
||||
{
|
||||
newShop.LoginStatus2 = "国际版在线";
|
||||
newShop.LastRefreshDate = DateTime.Now.ToString("yyyyMMdd");
|
||||
var html = ShopBLL.AdminAddServerShop(newShop); // 店铺写入到服务端
|
||||
if (!html.Contains("\"code\":200"))
|
||||
isSuccess = false;
|
||||
}
|
||||
}
|
||||
shop.Cookies2 = cookies2;
|
||||
if (isSuccess)
|
||||
{
|
||||
shop.LoginStatus2 = "国际版在线";
|
||||
PDDShopListForm.UpdateServerShopCookies(shop); // 店铺cookie写入服务端,多店共用一个登录账号一组cookie
|
||||
}
|
||||
OnSaveComplete(shop);
|
||||
if (this.Created && this.chkCloseAfterLogin.Checked)
|
||||
{
|
||||
@@ -409,9 +323,19 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
if (shop.Cookies2 == null)
|
||||
shop.Cookies2 = "";
|
||||
|
||||
var cookie = shop.Cookies;
|
||||
if (isMultiLogin)
|
||||
cookie = shop.DictMultiCookies.Keys.Contains(MultiLoginCookieName) ? shop.DictMultiCookies[MultiLoginCookieName] : "";
|
||||
//var cookie = shop.Cookies;
|
||||
//if (isMultiLogin)
|
||||
// cookie = shop.DictMultiCookies.Keys.Contains(MultiLoginCookieName) ? shop.DictMultiCookies[MultiLoginCookieName] : "";
|
||||
List<Cookie> cookieLst = new List<Cookie>();
|
||||
try
|
||||
{
|
||||
cookieLst = JsonHelper.DeserializeJsonToList<CefSharp.Cookie>(shop.Cookies);
|
||||
if (cookieLst == null)
|
||||
cookieLst = new List<Cookie>();
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
|
||||
Task.Run(() =>
|
||||
{
|
||||
@@ -424,9 +348,17 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
Thread.Sleep(20);
|
||||
CEFBrowser.DeleteCookie(cefWebBrowser.GetCookieManager(null));
|
||||
|
||||
//var t = CEFBrowser.SetCookieAsync(shopCookieHead, cookie, cefWebBrowser.RequestContext.GetCookieManager(null)); // cef138
|
||||
var t = CEFBrowser.SetCookieAsync(shopCookieHead, cookie, cefWebBrowser.GetCookieManager(null));
|
||||
t.Wait(5000);
|
||||
//cef 138 如果没有设置RequestContext 可能为空,直接getCookieManager
|
||||
//if (this.openType != EnumOpenType.login)
|
||||
{
|
||||
//var t = CEFBrowser.SetCookieAsync(shopCookieHead, cookie, cefWebBrowser.RequestContext.GetCookieManager(null)); // cef138
|
||||
//var t = CEFBrowser.SetCookieAsync(shopCookieHead, cookie, cefWebBrowser.GetCookieManager(null));
|
||||
foreach (var cook in cookieLst)
|
||||
{
|
||||
var t = CEFBrowser.SetCookieAsync(cook.Domain, cook.Name + "=" + cook.Value + ";", cefWebBrowser.GetCookieManager(null));
|
||||
t.Wait(5000);
|
||||
}
|
||||
}
|
||||
|
||||
if (this.openType != EnumOpenType.login)
|
||||
{
|
||||
@@ -439,17 +371,22 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
//根据登录的具体店铺设置local storage
|
||||
if (!string.IsNullOrEmpty(shop.ShopId))
|
||||
{
|
||||
while (!cefWebBrowser.IsBrowserInitialized || !cefWebBrowser.GetBrowser().MainFrame.IsValid)
|
||||
Thread.Sleep(20);
|
||||
//while (!cefWebBrowser.IsBrowserInitialized || !cefWebBrowser.GetBrowser().MainFrame.IsValid)
|
||||
// Thread.Sleep(20);
|
||||
|
||||
var storageJsCode = "window.localStorage.setItem('" + "mall-info-id" + "', '" + shop.ShopId + "');\r\n";
|
||||
cefWebBrowser.GetBrowser().MainFrame.ExecuteJavaScriptAsync(storageJsCode);
|
||||
//var storageJsCode = "window.localStorage.setItem('" + "mall-info-id" + "', '" + shop.ShopId + "');\r\n";
|
||||
//cefWebBrowser.GetBrowser().MainFrame.ExecuteJavaScriptAsync(storageJsCode);
|
||||
|
||||
//agentseller-mall-info-id
|
||||
storageJsCode = "window.localStorage.setItem('" + "agentseller-mall-info-id" + "', '" + shop.ShopId + "');\r\n";
|
||||
cefWebBrowser.GetBrowser().MainFrame.ExecuteJavaScriptAsync(storageJsCode);
|
||||
////agentseller-mall-info-id
|
||||
//storageJsCode = "window.localStorage.setItem('" + "agentseller-mall-info-id" + "', '" + shop.ShopId + "');\r\n";
|
||||
//cefWebBrowser.GetBrowser().MainFrame.ExecuteJavaScriptAsync(storageJsCode);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(InitUrl))
|
||||
cefWebBrowser.Load(InitUrl);
|
||||
else
|
||||
cefWebBrowser.Load(shopMainUrl);
|
||||
|
||||
//不是登录的话就此返回
|
||||
if (openType != EnumOpenType.login)
|
||||
{
|
||||
@@ -468,27 +405,17 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
}
|
||||
Thread.Sleep(Randomx.GetId(1500, 2000));
|
||||
|
||||
//设置 local storage
|
||||
//if (GlobalConfig.dicLocalStorage != null)
|
||||
//{
|
||||
// Thread.Sleep(500);
|
||||
// string jsCode = "function setStorage() {";
|
||||
// foreach (var item in GlobalConfig.dicLocalStorage)
|
||||
// {
|
||||
// if (item.Key == "$TCC_CONFIG" || item.Key == "$TCC_CONFIG_operate_config" || item.Key == "menuStyleStr")
|
||||
// continue;
|
||||
|
||||
// jsCode += "window.localStorage.setItem('" + item.Key + "', '" + item.Value + "');\r\n";
|
||||
// }
|
||||
// jsCode += "}";
|
||||
// jsCode += "setStorage();";
|
||||
// if (cefWebBrowser.GetBrowser().MainFrame.IsValid)
|
||||
// cefWebBrowser.GetBrowser().MainFrame.ExecuteJavaScriptAsync(jsCode);
|
||||
//}
|
||||
|
||||
if (!this.Created)
|
||||
return;
|
||||
|
||||
while (!cefWebBrowser.Address.StartsWith(shopLoginUrl))
|
||||
{
|
||||
Thread.Sleep(1000);
|
||||
if (!this.Created)
|
||||
return;
|
||||
}
|
||||
|
||||
CEFBrowser.DeleteCookie(cefWebBrowser.GetCookieManager(null));
|
||||
InputUserNameAndPassword(cefWebBrowser, shop.LoginName, DataOpenSSL.DecryptString(shop.Password));
|
||||
});
|
||||
}
|
||||
@@ -558,86 +485,81 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(sb.ToString());
|
||||
}
|
||||
|
||||
int GetAntiContentsTimes = 0;
|
||||
private void RequestHandler_ResourceLoadComplete(object sender, string url, string postData, string responseData, IRequest request)
|
||||
{
|
||||
var antiContent = request.Headers.AllKeys.Contains("Anti-Content") ? request.Headers["Anti-Content"] : "";
|
||||
if (shop != null && !url.StartsWith("https://mms.pinduoduo.com/janus/api/userinfo") && !string.IsNullOrEmpty(antiContent))
|
||||
{
|
||||
GetAntiContentsTimes++;
|
||||
shop.AntiContents.Add(antiContent);
|
||||
while (shop.AntiContents.Count > 10)
|
||||
shop.AntiContents.RemoveAt(0);
|
||||
if (!string.IsNullOrEmpty(shop.ShopId) && GetAntiContentsTimes > 5)
|
||||
{
|
||||
GetAntiContentsTimes = 0;
|
||||
var antis = shop.AntiContents;
|
||||
Task.Run(() =>
|
||||
{
|
||||
var urlAddress = BaseClass.BuildObjString("shop/mdy_anti_content");
|
||||
var data = UserLogin.GetSignaturex()
|
||||
+ "&login_name=" + shop.LoginName
|
||||
+ "&shop_id=" + shop.ShopId
|
||||
+ "&anti_contents=" + JsonHelper.SerializeObject(antis);
|
||||
var result = GetHtml.PostUtf8(urlAddress, data);
|
||||
});
|
||||
}
|
||||
}
|
||||
Task.Run(() =>
|
||||
{
|
||||
var data = responseData;
|
||||
if (data.Contains("supplierId") && data.Contains("\"success\":true"))
|
||||
{
|
||||
var supplierIds = BaseRegex.GetMatchRegex(ref data, "\"supplierId\":\\d{5,20}");
|
||||
if(supplierIds.Count > 0 && supplierIds[0].Groups.Count > 0)
|
||||
{
|
||||
var supplierId = supplierIds[0].Groups[0].Value.Replace("\"supplierId\":", "").ParseToLong();
|
||||
if (supplierId > 0)
|
||||
this.currentSupplierId = supplierId;
|
||||
}
|
||||
}
|
||||
//var data = responseData;
|
||||
//if (data.Contains("supplierId") && data.Contains("\"success\":true"))
|
||||
//{
|
||||
// var supplierIds = BaseRegex.GetMatchRegex(ref data, "\"supplierId\":\\d{5,20}");
|
||||
// if(supplierIds.Count > 0 && supplierIds[0].Groups.Count > 0)
|
||||
// {
|
||||
// var supplierId = supplierIds[0].Groups[0].Value.Replace("\"supplierId\":", "").ParseToLong();
|
||||
// if (supplierId > 0)
|
||||
// this.currentSupplierId = supplierId;
|
||||
// }
|
||||
//}
|
||||
});
|
||||
if (url.StartsWith("https://seller.kuajingmaihuo.com/settle/site-main"))
|
||||
{
|
||||
cefWebBrowser.Load(shopMainUrl);
|
||||
}
|
||||
//if (url == shopMainUrl)
|
||||
if (url == "https://seller.kuajingmaihuo.com/bg/quiet/api/mms/userInfo")
|
||||
if (url == "https://mms.pinduoduo.com/janus/api/userinfo")
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
var data = responseData;
|
||||
if (this.shop != null && data.Contains("\"success\":true"))
|
||||
{
|
||||
var maskMobile = BaseRegex.GetStringJson(ref data, "maskOwnerMobile");
|
||||
var maskMobile2 = "||||" + BaseRegex.GetStringJson(ref data, "maskMobile").ParseToString();
|
||||
if (maskMobile2.Contains("*"))
|
||||
maskMobile2 = maskMobile2.Substring(maskMobile2.LastIndexOf("*")).Trim('*');
|
||||
if (shop.LoginName.EndsWith(maskMobile) || shop.LoginName.EndsWith(maskMobile2))
|
||||
var maskMobile = BaseRegex.GetStringJson(ref data, "mobile");
|
||||
maskMobile = maskMobile.Split('*').Last();
|
||||
if (!string.IsNullOrEmpty(maskMobile) && shop.LoginName.EndsWith(maskMobile))
|
||||
{
|
||||
lstShopCompany.Clear();
|
||||
var jObj = JObject.Parse(data);
|
||||
var jArr = jObj["result"]?["companyList"]?[0]?["malInfoList"] as JArray;
|
||||
var jArr = jObj["result"] as JArray;
|
||||
if (jArr == null)
|
||||
jArr = new JArray();
|
||||
|
||||
Thread.Sleep(500);
|
||||
foreach (var productObj in jArr)
|
||||
|
||||
ShopCompany sc = new ShopCompany()
|
||||
{
|
||||
var prod = JsonHelper.SerializeObject(productObj);
|
||||
ShopCompany sc = new ShopCompany()
|
||||
{
|
||||
AccountId = BaseRegex.GetStringJson(ref prod, "mallId"),
|
||||
AccountName = BaseRegex.GetStringJson(ref prod, "mallName"),
|
||||
LoginName = shop.LoginName,
|
||||
UserName = BaseClass.UserName,
|
||||
LoginStatus = "登录成功",
|
||||
};
|
||||
this.lstShopCompany.Add(sc);
|
||||
}
|
||||
//AccountId = BaseRegex.GetStringJson(ref data, "mallId"),
|
||||
AccountId = BaseRegex.GetStringJson(ref data, "username"),
|
||||
AccountName = BaseRegex.GetStringJson(ref data, "mall_name"),
|
||||
LoginName = shop.LoginName,
|
||||
UserName = BaseClass.UserName,
|
||||
LoginStatus = "登录成功",
|
||||
AntiContent = antiContent,
|
||||
};
|
||||
this.lstShopCompany.Add(sc);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
//if (url.Contains("_signature"))
|
||||
//{
|
||||
// var re = request;
|
||||
// if ((re.Headers != null && re.Headers.AllKeys.Contains("x-secsdk-csrf-token")))
|
||||
// {
|
||||
// }
|
||||
// Task.Run(() =>
|
||||
// {
|
||||
// var _url = url;
|
||||
// var data = responseData;
|
||||
// var signature = url.Substring(url.IndexOf("_signature=") + "_signature=".Length).Split('&')[0];
|
||||
// if (shop != null)
|
||||
// {
|
||||
// shop.Signature = signature;
|
||||
// }
|
||||
// if (url.Contains("x-secsdk-csrf-token") || postData.Contains("x-secsdk-csrf-token") || data.Contains("x-secsdk-csrf-token"))
|
||||
// {
|
||||
// }
|
||||
// });
|
||||
//}
|
||||
if (currentUrl.StartsWith("https://seller.kuajingmaihuo.com/goods/product/list") ||
|
||||
currentUrl.StartsWith("https://agentseller.temu.com/goods/list"))
|
||||
if (currentUrl.StartsWith("https://mms.pinduoduo.com/goods/goods_list"))
|
||||
{
|
||||
Task.Run(() => {
|
||||
string sAddInputJs = @"
|
||||
@@ -663,11 +585,13 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
addGetProdButton();
|
||||
|
||||
function addGetProdButton() {
|
||||
var productLst = document.getElementsByClassName('product-info_idContent__iDukx');
|
||||
var productLst = document.getElementsByClassName('goods-id');
|
||||
for(i=0; i<productLst.length; i++) {
|
||||
if (productLst[i].innerHTML.indexOf('提取商品') < 0 && productLst[i].innerHTML.indexOf('SPU ID') >= 0) {
|
||||
var sSpuId = productLst[i].innerText.replace('\r','').replace('\n','').replace('SPU ID:', '');
|
||||
productLst[i].innerHTML = productLst[i].innerHTML.replace(""></div>"", ""><input type=\""button\"" style=\""margin-left: 50px; width:60px; text-align:center\"" value=\""提取商品\"" onclick=\""shopObj.getProduct('"" + sSpuId + ""'," + this.currentSupplierId + @")\""></div>"");
|
||||
var addBtnItem = productLst[i].parentElement.parentElement;
|
||||
if (addBtnItem.parentElement.innerHTML.indexOf('提取商品') < 0 && addBtnItem.parentElement.innerHTML.indexOf('ID:') >= 0) {
|
||||
var sSpuId = addBtnItem.innerText.replace('\r','').replace('\n','').replace('ID: ', '');
|
||||
addBtnItem.outerHTML = addBtnItem.outerHTML.replace(""<section>"",""<section style=\""display:inline; float:left; \"">"")
|
||||
.replace(""</section>"", ""</section><input type=\""button\"" style=\""display:inline; width:60px; margin-left:10px; margin-top:0px; cursor:pointer; border:1px solid\"" value =\""提取商品\"" onclick=\""shopObj.getProduct('"" + sSpuId + ""','" + this.shop.ShopId + @"')\"">"");
|
||||
}
|
||||
}
|
||||
}";
|
||||
@@ -684,6 +608,13 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
/// <param name="_password"></param>
|
||||
private void InputUserNameAndPassword(ChromiumWebBrowser webBrowser, string _account, string _password)
|
||||
{
|
||||
webBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(sGetElementWithText);
|
||||
|
||||
var jsStr0 = "var clickBox1 = getElementWithText('账号登录'); clickBox1.click()";
|
||||
var response0 = webBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(jsStr0);
|
||||
response0.Wait(1000);
|
||||
Thread.Sleep(Randomx.GetId(500, 1000));
|
||||
|
||||
string jsStr1 = "function getInputItem () {var usernameId = document.getElementById('usernameId'); if (usernameId) return 'true';} getInputItem();";
|
||||
Task<JavascriptResponse> response1 = null;
|
||||
while (response1?.Result?.Result == null || !response1.Result.Result.ParseToString().Contains("true"))
|
||||
@@ -700,7 +631,6 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
}
|
||||
|
||||
webBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(sInputValueChange2);
|
||||
webBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(sGetElementWithText);
|
||||
|
||||
jsStr1 = "var usernameId = document.getElementById('usernameId'); " +
|
||||
"changeReactInputValue(usernameId,'" + _account + "');";
|
||||
@@ -708,7 +638,7 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
response1.Wait(1000);
|
||||
Thread.Sleep(Randomx.GetId(500, 1000));
|
||||
|
||||
string jsStr = "var passwordId = document.getElementById('passwordId'); "+
|
||||
string jsStr = "var passwordId = document.getElementById('passwordId'); " +
|
||||
"changeReactInputValue(passwordId,'" + _password + "');";
|
||||
var response = webBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(jsStr);
|
||||
response.Wait(1000);
|
||||
|
||||
@@ -0,0 +1,185 @@
|
||||
namespace TemuKJD.PDDForms.ProductForms
|
||||
{
|
||||
partial class PDDProductForm
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.Windows.Forms.TreeNode treeNode1 = new System.Windows.Forms.TreeNode("商品认领");
|
||||
System.Windows.Forms.TreeNode treeNode2 = new System.Windows.Forms.TreeNode("备货管理");
|
||||
System.Windows.Forms.TreeNode treeNode3 = new System.Windows.Forms.TreeNode("调价管理");
|
||||
System.Windows.Forms.TreeNode treeNode4 = new System.Windows.Forms.TreeNode("活动报名");
|
||||
System.Windows.Forms.TreeNode treeNode5 = new System.Windows.Forms.TreeNode("库存上传");
|
||||
System.Windows.Forms.TreeNode treeNode6 = new System.Windows.Forms.TreeNode("设置进货价");
|
||||
System.Windows.Forms.TreeNode treeNode7 = new System.Windows.Forms.TreeNode("商品管理", new System.Windows.Forms.TreeNode[] {
|
||||
treeNode1,
|
||||
treeNode2,
|
||||
treeNode3,
|
||||
treeNode4,
|
||||
treeNode5,
|
||||
treeNode6});
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.panel3 = new System.Windows.Forms.Panel();
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.lblName = new System.Windows.Forms.Label();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.tv = new TemuKJD.UserComponent.UcTreeView();
|
||||
this.panel1.SuspendLayout();
|
||||
this.panel2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.BackColor = System.Drawing.Color.White;
|
||||
this.panel1.Controls.Add(this.panel3);
|
||||
this.panel1.Controls.Add(this.panel2);
|
||||
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(793, 521);
|
||||
this.panel1.TabIndex = 2;
|
||||
//
|
||||
// panel3
|
||||
//
|
||||
this.panel3.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel3.Location = new System.Drawing.Point(0, 28);
|
||||
this.panel3.Name = "panel3";
|
||||
this.panel3.Size = new System.Drawing.Size(793, 493);
|
||||
this.panel3.TabIndex = 1;
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(244)))), ((int)(((byte)(244)))), ((int)(((byte)(244)))));
|
||||
this.panel2.Controls.Add(this.lblName);
|
||||
this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
|
||||
this.panel2.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(793, 28);
|
||||
this.panel2.TabIndex = 0;
|
||||
//
|
||||
// lblName
|
||||
//
|
||||
this.lblName.AutoSize = true;
|
||||
this.lblName.Location = new System.Drawing.Point(5, 6);
|
||||
this.lblName.Name = "lblName";
|
||||
this.lblName.Size = new System.Drawing.Size(57, 17);
|
||||
this.lblName.TabIndex = 0;
|
||||
this.lblName.Text = "lblName";
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.tv);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.panel1);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(934, 521);
|
||||
this.splitContainer1.SplitterDistance = 140;
|
||||
this.splitContainer1.SplitterWidth = 1;
|
||||
this.splitContainer1.TabIndex = 3;
|
||||
//
|
||||
// tv
|
||||
//
|
||||
this.tv.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(251)))), ((int)(((byte)(251)))), ((int)(((byte)(251)))));
|
||||
this.tv.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||
this.tv.ChildNodeSelectedBgColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.tv.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.tv.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.tv.DrawMode = System.Windows.Forms.TreeViewDrawMode.OwnerDrawAll;
|
||||
this.tv.ExpandButtonColor = System.Drawing.Color.FromArgb(((int)(((byte)(255)))), ((int)(((byte)(255)))), ((int)(((byte)(255)))));
|
||||
this.tv.FullRowSelect = true;
|
||||
this.tv.GroupBgColor = System.Drawing.Color.FromArgb(((int)(((byte)(249)))), ((int)(((byte)(249)))), ((int)(((byte)(249)))));
|
||||
this.tv.GroupFont = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.tv.GroupTitleColor = System.Drawing.Color.FromArgb(((int)(((byte)(80)))), ((int)(((byte)(80)))), ((int)(((byte)(80)))));
|
||||
this.tv.HideCollapsedGroup = false;
|
||||
this.tv.ItemHeight = 32;
|
||||
this.tv.Location = new System.Drawing.Point(0, 0);
|
||||
this.tv.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
|
||||
this.tv.Name = "tv";
|
||||
treeNode1.Name = "商品认领";
|
||||
treeNode1.Text = "商品认领";
|
||||
treeNode2.Name = "备货管理";
|
||||
treeNode2.Text = "备货管理";
|
||||
treeNode3.Name = "调价管理";
|
||||
treeNode3.Text = "调价管理";
|
||||
treeNode4.Name = "活动报名";
|
||||
treeNode4.Text = "活动报名";
|
||||
treeNode5.Name = "库存上传";
|
||||
treeNode5.Text = "库存上传";
|
||||
treeNode6.Name = "设置进货价";
|
||||
treeNode6.Text = "设置进货价";
|
||||
treeNode7.Name = "商品管理";
|
||||
treeNode7.Text = "商品管理";
|
||||
this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
|
||||
treeNode7});
|
||||
this.tv.OverForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(235)))), ((int)(((byte)(235)))), ((int)(((byte)(235)))));
|
||||
this.tv.Size = new System.Drawing.Size(140, 521);
|
||||
this.tv.TabIndex = 1;
|
||||
this.tv.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.tv_AfterSelect);
|
||||
//
|
||||
// ProductForm
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(934, 521);
|
||||
this.Controls.Add(this.splitContainer1);
|
||||
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
|
||||
this.Name = "ProductForm";
|
||||
this.Text = "UploadForms";
|
||||
this.Load += new System.EventHandler(this.ShopForm_Load);
|
||||
this.panel1.ResumeLayout(false);
|
||||
this.panel2.ResumeLayout(false);
|
||||
this.panel2.PerformLayout();
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private UserComponent.UcTreeView tv;
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private System.Windows.Forms.Label lblName;
|
||||
private System.Windows.Forms.Panel panel3;
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,181 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using TemuKJD.BaseForms;
|
||||
using AllBase;
|
||||
using TemuKJD.PDDForms.ProductSelectForms;
|
||||
|
||||
namespace TemuKJD.PDDForms.ProductForms
|
||||
{
|
||||
public partial class PDDProductForm : BaseForm
|
||||
{
|
||||
public static PDDProductForm instance;
|
||||
//public Lazy<SaleStockUpForm> saleStockUpForm = new Lazy<SaleStockUpForm>();
|
||||
//public Lazy<PriceManageForm> priceManageForm = new Lazy<PriceManageForm>();
|
||||
public Lazy<PDDDBProdUserSelectForm> userSelectDbProductForm = new Lazy<PDDDBProdUserSelectForm>();
|
||||
//public Lazy<ProductThirdUserSelectForm> userSelectThirdProductForm = new Lazy<ProductThirdUserSelectForm>();
|
||||
//public Lazy<MarketingActivityForm> marketingActivityForm = new Lazy<MarketingActivityForm>();
|
||||
//public Lazy<PurchasePriceForm> purchasePriceForm = new Lazy<PurchasePriceForm>();
|
||||
|
||||
public PDDProductForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
try
|
||||
{
|
||||
tv.SelectedNode = tv.Nodes[0].Nodes[0];
|
||||
tv.ExpandGroup(tv.Nodes[0].Name);
|
||||
|
||||
List<string> hideName = new List<string>() { "备货管理", "调价管理", "活动报名", "库存上传", "设置进货价" };
|
||||
|
||||
if (BaseClass.GroupId == 3)
|
||||
{
|
||||
//hideName.Remove("设置进货价");
|
||||
if (BaseClass.SaLevel == 1)
|
||||
{
|
||||
}
|
||||
if (BaseClass.SaLevel == 2)
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var item in hideName)
|
||||
{
|
||||
var n = tv.Nodes[0].Nodes.Find(item, true);
|
||||
if (n.Count() > 0)
|
||||
n[0].Remove();
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
|
||||
private void tv_AfterSelect(object sender, TreeViewEventArgs e)
|
||||
{
|
||||
instance = this;
|
||||
|
||||
MainForm.sCurrentModule = e.Node.Name;
|
||||
this.lblName.Text = e.Node.Text;
|
||||
|
||||
//如果是一级菜单,不做任何动作
|
||||
if (e.Node.Parent == null) return;
|
||||
new Thread(() =>
|
||||
{
|
||||
Thread.Sleep(200);
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
switch (e.Node.Name)
|
||||
{
|
||||
//case "备货管理":
|
||||
// SetForm(saleStockUpForm.Value);
|
||||
// break;
|
||||
//case "调价管理":
|
||||
// SetForm(priceManageForm.Value);
|
||||
// break;
|
||||
//case "活动报名":
|
||||
// SetForm(marketingActivityForm.Value);
|
||||
// break;
|
||||
//case "设置进货价":
|
||||
// SetForm(purchasePriceForm.Value);
|
||||
// break;
|
||||
case "商品认领":
|
||||
SetForm(userSelectDbProductForm.Value);
|
||||
break;
|
||||
//case "库存上传":
|
||||
// SetForm(userSelectThirdProductForm.Value);
|
||||
// break;
|
||||
}
|
||||
}));
|
||||
}).Start();
|
||||
}
|
||||
|
||||
public void SetTvSelect(string name)
|
||||
{
|
||||
var n = tv.Nodes[0].Nodes.Find(name, true);
|
||||
if (n.Count() > 0)
|
||||
tv.SelectedNode = n[0];
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 显示隐藏层
|
||||
/// </summary>
|
||||
/// <param name="f"></param>
|
||||
private void SetForm(Form f)
|
||||
{
|
||||
if (f == null)
|
||||
{
|
||||
foreach (Control form in panel3.Controls)
|
||||
{
|
||||
form.Visible = false;
|
||||
if (form is Form)
|
||||
{
|
||||
panel3.Controls.Remove(form);
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
bool had = false;
|
||||
string sCurrentFormName = f.Name;
|
||||
for (int i = 0; i < panel3.Controls.Count; i++)
|
||||
{
|
||||
if (sCurrentFormName == panel3.Controls[i].Name)
|
||||
{
|
||||
had = true;
|
||||
panel3.Controls[i].Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
panel3.Controls[i].Visible = false;
|
||||
}
|
||||
}
|
||||
if (had)
|
||||
{
|
||||
f = null;
|
||||
return;
|
||||
}
|
||||
f.TopLevel = false;
|
||||
f.Left = 0;
|
||||
f.Top = 0;
|
||||
f.FormBorderStyle = FormBorderStyle.None;
|
||||
panel3.Controls.Add(f);
|
||||
f.AutoSize = true;
|
||||
f.Dock = DockStyle.Fill;
|
||||
f.Show();
|
||||
}
|
||||
|
||||
private void ShopForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
tv.SelectedNode = tv.Nodes[0].Nodes[0];
|
||||
tv.ExpandGroup(tv.Nodes[0].Name);
|
||||
|
||||
//List<string> hideName = new List<string>() { "特殊延迟发货", /*"清理无流量"*/ };
|
||||
//if (AllBase.BaseClass.UserName != "18888888888")
|
||||
// hideName.Add("上传错误列表");
|
||||
|
||||
List<string> hideName = new List<string>() { "佣金设置", "商品发布",
|
||||
"净化数据","产品数据库","商品上下架","清理无流量","库存管理","特殊延迟发货","云违规排查","上传错误列表","跳转上家" };
|
||||
//if (AllBase.BaseClass.UserName != "15266666666" && AllBase.BaseClass.UserName != "15266666660")
|
||||
//{
|
||||
// hideName.Add("商品认领");
|
||||
//}
|
||||
|
||||
foreach (var item in hideName)
|
||||
{
|
||||
var n = tv.Nodes[0].Nodes.Find(item, true);
|
||||
if (n.Count() > 0)
|
||||
n[0].Remove();
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,120 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
||||
@@ -0,0 +1,322 @@
|
||||
namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
{
|
||||
partial class PDDDBProdEditNotesForm
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PDDDBProdEditNotesForm));
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.label7 = new System.Windows.Forms.Label();
|
||||
this.txtFissionWords = new DevComponents.DotNetBar.Controls.TextBoxX();
|
||||
this.txtEndWords = new System.Windows.Forms.TextBox();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.txtHeadWords = new System.Windows.Forms.TextBox();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.txtProductName = new System.Windows.Forms.TextBox();
|
||||
this.txtSkcId = new System.Windows.Forms.TextBox();
|
||||
this.txtSpuId = new System.Windows.Forms.TextBox();
|
||||
this.txtExtCode = new System.Windows.Forms.TextBox();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
this.label8 = new System.Windows.Forms.Label();
|
||||
this.txtNotes = new DevComponents.DotNetBar.Controls.TextBoxX();
|
||||
this.btnOk = new TemuKJD.UserControls.ButtonEx();
|
||||
this.panel2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.BackColor = System.Drawing.Color.White;
|
||||
this.panel2.Controls.Add(this.label7);
|
||||
this.panel2.Controls.Add(this.txtFissionWords);
|
||||
this.panel2.Controls.Add(this.txtEndWords);
|
||||
this.panel2.Controls.Add(this.label6);
|
||||
this.panel2.Controls.Add(this.txtHeadWords);
|
||||
this.panel2.Controls.Add(this.label5);
|
||||
this.panel2.Controls.Add(this.txtProductName);
|
||||
this.panel2.Controls.Add(this.txtSkcId);
|
||||
this.panel2.Controls.Add(this.txtSpuId);
|
||||
this.panel2.Controls.Add(this.txtExtCode);
|
||||
this.panel2.Controls.Add(this.label4);
|
||||
this.panel2.Controls.Add(this.label3);
|
||||
this.panel2.Controls.Add(this.label2);
|
||||
this.panel2.Controls.Add(this.label1);
|
||||
this.panel2.Controls.Add(this.pictureBox1);
|
||||
this.panel2.Controls.Add(this.label8);
|
||||
this.panel2.Controls.Add(this.txtNotes);
|
||||
this.panel2.Controls.Add(this.btnOk);
|
||||
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel2.Location = new System.Drawing.Point(1, 33);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(464, 686);
|
||||
this.panel2.TabIndex = 1;
|
||||
//
|
||||
// label7
|
||||
//
|
||||
this.label7.AutoSize = true;
|
||||
this.label7.Location = new System.Drawing.Point(31, 391);
|
||||
this.label7.Name = "label7";
|
||||
this.label7.Size = new System.Drawing.Size(56, 17);
|
||||
this.label7.TabIndex = 403;
|
||||
this.label7.Text = "裂变分词";
|
||||
//
|
||||
// txtFissionWords
|
||||
//
|
||||
this.txtFissionWords.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
//
|
||||
//
|
||||
//
|
||||
this.txtFissionWords.Border.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid;
|
||||
this.txtFissionWords.Border.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid;
|
||||
this.txtFissionWords.Border.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid;
|
||||
this.txtFissionWords.Border.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid;
|
||||
this.txtFissionWords.Border.Class = "CrumbBarBackgroundKey";
|
||||
this.txtFissionWords.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square;
|
||||
this.txtFissionWords.Border.PaddingBottom = 2;
|
||||
this.txtFissionWords.Border.PaddingLeft = 2;
|
||||
this.txtFissionWords.Border.PaddingRight = 2;
|
||||
this.txtFissionWords.Border.PaddingTop = 2;
|
||||
this.txtFissionWords.Location = new System.Drawing.Point(90, 391);
|
||||
this.txtFissionWords.Multiline = true;
|
||||
this.txtFissionWords.Name = "txtFissionWords";
|
||||
this.txtFissionWords.Size = new System.Drawing.Size(337, 238);
|
||||
this.txtFissionWords.TabIndex = 402;
|
||||
this.txtFissionWords.WatermarkText = "一行一个";
|
||||
//
|
||||
// txtEndWords
|
||||
//
|
||||
this.txtEndWords.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtEndWords.Location = new System.Drawing.Point(291, 353);
|
||||
this.txtEndWords.Name = "txtEndWords";
|
||||
this.txtEndWords.Size = new System.Drawing.Size(136, 23);
|
||||
this.txtEndWords.TabIndex = 401;
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(233, 356);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(56, 17);
|
||||
this.label6.TabIndex = 400;
|
||||
this.label6.Text = "标题后缀";
|
||||
//
|
||||
// txtHeadWords
|
||||
//
|
||||
this.txtHeadWords.Location = new System.Drawing.Point(90, 353);
|
||||
this.txtHeadWords.Name = "txtHeadWords";
|
||||
this.txtHeadWords.Size = new System.Drawing.Size(136, 23);
|
||||
this.txtHeadWords.TabIndex = 399;
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(31, 356);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(56, 17);
|
||||
this.label5.TabIndex = 398;
|
||||
this.label5.Text = "标题前缀";
|
||||
//
|
||||
// txtProductName
|
||||
//
|
||||
this.txtProductName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtProductName.Location = new System.Drawing.Point(90, 205);
|
||||
this.txtProductName.Multiline = true;
|
||||
this.txtProductName.Name = "txtProductName";
|
||||
this.txtProductName.Size = new System.Drawing.Size(337, 46);
|
||||
this.txtProductName.TabIndex = 397;
|
||||
//
|
||||
// txtSkcId
|
||||
//
|
||||
this.txtSkcId.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtSkcId.Location = new System.Drawing.Point(291, 171);
|
||||
this.txtSkcId.Name = "txtSkcId";
|
||||
this.txtSkcId.ReadOnly = true;
|
||||
this.txtSkcId.Size = new System.Drawing.Size(136, 23);
|
||||
this.txtSkcId.TabIndex = 396;
|
||||
//
|
||||
// txtSpuId
|
||||
//
|
||||
this.txtSpuId.Location = new System.Drawing.Point(90, 171);
|
||||
this.txtSpuId.Name = "txtSpuId";
|
||||
this.txtSpuId.ReadOnly = true;
|
||||
this.txtSpuId.Size = new System.Drawing.Size(136, 23);
|
||||
this.txtSpuId.TabIndex = 395;
|
||||
//
|
||||
// txtExtCode
|
||||
//
|
||||
this.txtExtCode.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtExtCode.Location = new System.Drawing.Point(90, 262);
|
||||
this.txtExtCode.Name = "txtExtCode";
|
||||
this.txtExtCode.Size = new System.Drawing.Size(337, 23);
|
||||
this.txtExtCode.TabIndex = 394;
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(31, 265);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(56, 17);
|
||||
this.label4.TabIndex = 393;
|
||||
this.label4.Text = "商品货号";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(31, 209);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(56, 17);
|
||||
this.label3.TabIndex = 392;
|
||||
this.label3.Text = "商品标题";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(233, 174);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(56, 17);
|
||||
this.label2.TabIndex = 391;
|
||||
this.label2.Text = " SKC ID";
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(31, 174);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(56, 17);
|
||||
this.label1.TabIndex = 390;
|
||||
this.label1.Text = " SPU ID";
|
||||
//
|
||||
// pictureBox1
|
||||
//
|
||||
this.pictureBox1.Anchor = System.Windows.Forms.AnchorStyles.Top;
|
||||
this.pictureBox1.Location = new System.Drawing.Point(165, 18);
|
||||
this.pictureBox1.Name = "pictureBox1";
|
||||
this.pictureBox1.Size = new System.Drawing.Size(136, 136);
|
||||
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
|
||||
this.pictureBox1.TabIndex = 389;
|
||||
this.pictureBox1.TabStop = false;
|
||||
//
|
||||
// label8
|
||||
//
|
||||
this.label8.AutoSize = true;
|
||||
this.label8.Location = new System.Drawing.Point(31, 296);
|
||||
this.label8.Name = "label8";
|
||||
this.label8.Size = new System.Drawing.Size(56, 17);
|
||||
this.label8.TabIndex = 386;
|
||||
this.label8.Text = " 备注";
|
||||
//
|
||||
// txtNotes
|
||||
//
|
||||
this.txtNotes.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
//
|
||||
//
|
||||
//
|
||||
this.txtNotes.Border.BorderBottom = DevComponents.DotNetBar.eStyleBorderType.Solid;
|
||||
this.txtNotes.Border.BorderLeft = DevComponents.DotNetBar.eStyleBorderType.Solid;
|
||||
this.txtNotes.Border.BorderRight = DevComponents.DotNetBar.eStyleBorderType.Solid;
|
||||
this.txtNotes.Border.BorderTop = DevComponents.DotNetBar.eStyleBorderType.Solid;
|
||||
this.txtNotes.Border.Class = "CrumbBarBackgroundKey";
|
||||
this.txtNotes.Border.CornerType = DevComponents.DotNetBar.eCornerType.Square;
|
||||
this.txtNotes.Border.PaddingBottom = 2;
|
||||
this.txtNotes.Border.PaddingLeft = 2;
|
||||
this.txtNotes.Border.PaddingRight = 2;
|
||||
this.txtNotes.Border.PaddingTop = 2;
|
||||
this.txtNotes.Location = new System.Drawing.Point(90, 296);
|
||||
this.txtNotes.Multiline = true;
|
||||
this.txtNotes.Name = "txtNotes";
|
||||
this.txtNotes.Size = new System.Drawing.Size(337, 47);
|
||||
this.txtNotes.TabIndex = 385;
|
||||
//
|
||||
// btnOk
|
||||
//
|
||||
this.btnOk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnOk.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnOk.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnOk.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnOk.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnOk.ForeColor = System.Drawing.Color.White;
|
||||
this.btnOk.Location = new System.Drawing.Point(372, 640);
|
||||
this.btnOk.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnOk.Name = "btnOk";
|
||||
this.btnOk.Size = new System.Drawing.Size(55, 26);
|
||||
this.btnOk.TabIndex = 372;
|
||||
this.btnOk.Text = "提交";
|
||||
this.btnOk.UseVisualStyleBackColor = false;
|
||||
this.btnOk.Click += new System.EventHandler(this.btnOk_Click);
|
||||
//
|
||||
// DbProductEditNotesForm
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(466, 720);
|
||||
this.Controls.Add(this.panel2);
|
||||
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "DbProductEditNotesForm";
|
||||
this.Text = "编辑商品备注/货号";
|
||||
this.TitleText = "编辑商品备注/货号";
|
||||
this.Load += new System.EventHandler(this.ProductSelectListForm_Load);
|
||||
this.Controls.SetChildIndex(this.panel2, 0);
|
||||
this.panel2.ResumeLayout(false);
|
||||
this.panel2.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private UserControls.ButtonEx btnOk;
|
||||
private System.Windows.Forms.Label label8;
|
||||
private DevComponents.DotNetBar.Controls.TextBoxX txtNotes;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.PictureBox pictureBox1;
|
||||
private System.Windows.Forms.TextBox txtExtCode;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.TextBox txtSpuId;
|
||||
private System.Windows.Forms.TextBox txtSkcId;
|
||||
private System.Windows.Forms.TextBox txtProductName;
|
||||
private System.Windows.Forms.Label label7;
|
||||
private DevComponents.DotNetBar.Controls.TextBoxX txtFissionWords;
|
||||
private System.Windows.Forms.TextBox txtEndWords;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private System.Windows.Forms.TextBox txtHeadWords;
|
||||
private System.Windows.Forms.Label label5;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
using AllBase.Helper;
|
||||
using AllBase.Model.Result;
|
||||
using TemuKJD.BaseForms;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using AllBase;
|
||||
using Work;
|
||||
|
||||
namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
{
|
||||
public partial class PDDDBProdEditNotesForm : LRBaseForm
|
||||
{
|
||||
TemuDBProduct dbProd = null;
|
||||
|
||||
public PDDDBProdEditNotesForm(TemuDBProduct prod)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
dbProd = prod;
|
||||
}
|
||||
|
||||
private void ProductSelectListForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (dbProd != null)
|
||||
{
|
||||
txtProductName.Text = dbProd.product_name;
|
||||
txtSkcId.Text = dbProd.skc_id;
|
||||
txtSpuId.Text = dbProd.spu_id;
|
||||
this.pictureBox1.ImageLocation = dbProd.main_img.Replace("https", "http");
|
||||
this.txtNotes.Text = dbProd.notes;
|
||||
this.txtExtCode.Text = dbProd.ext_code;
|
||||
this.txtFissionWords.Text = dbProd.fission_words;
|
||||
this.txtHeadWords.Text = string.IsNullOrWhiteSpace(dbProd.head_words) ? "5-99个" : dbProd.head_words;
|
||||
this.txtEndWords.Text = string.IsNullOrWhiteSpace(dbProd.end_words) ? "适合不同的搭配风格" : dbProd.end_words;
|
||||
}
|
||||
}
|
||||
|
||||
private void btnOk_Click(object sender, EventArgs e)
|
||||
{
|
||||
//var url = BaseClass.BuildObjString("product/mdy_product_notes");
|
||||
var url = BaseClass.BuildObjString("product/mdy_db_product");
|
||||
var data = UserLogin.GetSignaturex() +
|
||||
"&db_id=" + dbProd.id + "¬es=" + this.txtNotes.Text.Trim();
|
||||
data += "&product_name=" + this.txtProductName.Text.Trim();
|
||||
data += "&ext_code=" + this.txtExtCode.Text.Trim();
|
||||
data += "&fission_words=" + this.txtFissionWords.Text.Trim();
|
||||
data += "&head_words=" + this.txtHeadWords.Text.Trim();
|
||||
data += "&end_words=" + this.txtEndWords.Text.Trim();
|
||||
var html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
{
|
||||
BaseMsgForm.ShowError("商品备注编辑失败,请重试!" + BaseRegex.GetStringJson(ref html, "msg"));
|
||||
}
|
||||
else
|
||||
{
|
||||
dbProd.notes = this.txtNotes.Text.Trim();
|
||||
dbProd.ext_code = this.txtExtCode.Text.Trim();
|
||||
dbProd.head_words = this.txtHeadWords.Text.Trim();
|
||||
dbProd.end_words = this.txtEndWords.Text.Trim();
|
||||
dbProd.fission_words = this.txtFissionWords.Text.Trim();
|
||||
dbProd.product_name = this.txtProductName.Text.Trim();
|
||||
this.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,298 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAgIAQYAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
|
||||
AAD///8AAAAAAAAAAAAAAAAABEZmbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZmZkQAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAZszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMxmAAAAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMxkAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzGQAAAAAAAAAAAAAAAAAAAbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMYAAAAAAAAAAAAAAAAARszMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAABszMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAAAAbMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMx3d4iIiIiIiIh3fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAABszMzMzMzMzMzM
|
||||
zMzMzMzMzMzHeIiIiIj/////////iIiIiId8zMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAGzMzMzMzM
|
||||
zMzMzMzMzMzMzMeIiI/////////////////////4iIh8zMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAATMzM
|
||||
zMzMzMzMzMzMzMzMzHiI////////////////////////////iIfMzMzMzMzMzMzMzMzMzMzMxAAAAAAA
|
||||
AGzMzMzMzMzMzMzMzMzMx3iP///////////////////////////////4iHzMzMzMzMzMzMzMzMzMzMYA
|
||||
AAAAAAbMzMzMzMzMzMzMzMzMx3iP//////////////////////////////////+IfMzMzMzMzMzMzMzM
|
||||
zMzMYAAAAABMzMzMzMzMzMzMzMzMx3iP/////////////////////////////////////4h8zMzMzMzM
|
||||
zMzMzMzMzMQAAAAAbMzMzMzMzMzMzMzMzHiP////////////////////////////////////////h3zM
|
||||
zMzMzMzMzMzMzMzGAAAABMzMzMzMzMzMzMzMzHiP////////////////////////////////////////
|
||||
//iHzMzMzMzMzMzMzMzMzEAAAAbMzMzMzMzMzMzMzMeI////////////////////////////////////
|
||||
////////+IfMzMzMzMzMzMzMzMxgAABMzMzMzMzMzMzMzMx4////////////////////////////////
|
||||
//////////////+IfMzMzMzMzMzMzMzMxAAAbMzMzMzMzMzMzMzHj///////////////////////////
|
||||
/////////////////////4fMzMzMzMzMzMzMzMYAAMzMzMzMzMzMzMzMeP//////////////////////
|
||||
///////////////////////////4fMzMzMzMzMzMzMzMAAbMzMzMzMzMzMzMx4//////////////////
|
||||
/////////////////////////////////4fMzMzMzMzMzMzMzGAGzMzMzMzMzMzMzHj/////////////
|
||||
///////////////////////////////////////4fMzMzMzMzMzMzMxgDMzMzMzMzMzMzMyI////////
|
||||
/////////////////////////////////////////////4zMzMzMzMzMzMzMwEzMzMzMzMzMzMzHj///
|
||||
//////////////////////////////////////////////////+HzMzMzMzMzMzMzMRszMzMzMzMzMzM
|
||||
eP//////////////////////////////////////////////////////+HzMzMzMzMzMzMzGbMzMzMzM
|
||||
zMzMzHj///////////////////////////////////////////////////////+MzMzMzMzMzMzMxmzM
|
||||
zMzMzMzMzMyP////+IiP////////////////////////////////////////+I//////h8zMzMzMzMzM
|
||||
zMZszMzMzMzMzMzHj////4iIiI//////////////////////////////////////+IiIj/////jMzMzM
|
||||
zMzMzMzGbMzMzMzMzMzMyP////iIiIiI/////////////////////////////////////4iIiIj////4
|
||||
fMzMzMzMzMzMxszMzMzMzMzMzHj////4iIiIiP////////////////////////////////////+IiIiI
|
||||
j////4zMzMzMzMzMzMbMzMzMzMzMzMx4////iIiIiIj////////////////////////////////////4
|
||||
iIiIiI////+HzMzMzMzMzMzMzMzMzMzMzMzMj////4iIiIiI//////////////+IiP//iI//////////
|
||||
////+IiIiIiP////h8zMzMzMzMzMzMzMzMzMzMzMzI/////4iIiIiP/////////////4d3eIiIeIj///
|
||||
//////////+IiIiIj/////jMzMzMzMzMzMzMzMzMzMzMzMyP////+IiIiIj/////////////iIiId3eI
|
||||
iI//////////////iIiIiI/////4zMzMzMzMzMzMzMzMzMzMzMzHj/////+IiIiP/////////////4//
|
||||
/4d4j/+P//////////////iIiIj/////+MzMzMzMzMzMzMzMzMzMzMzMx4//////+IiP////////////
|
||||
///////4j///////////////////iIiP//////jMzMzMzMzMzMzMzMzMzMzMzMeP//////////+IiIj/
|
||||
///////////////////////////////////////////4fMzMzMzMzMzMzMzMzMzMzMzH//////////+H
|
||||
fMx8eP//////////////////////////iId3iP//////////+HzMzMzMzMzMzMzMzMzMzMzMyP//////
|
||||
///4fMzHh8eP////////////////////////+MzMzMd4//////////h8zMzMzMzMzMzMzMzMzMzMzMf/
|
||||
////////+MzMePjMeP///////////////////////4zMzMeHx4/////////4fMzMzMzMzMzMzMzMzMzM
|
||||
zMzH/////////4fMd3eHzMeP//////////////////////iMzMzIiHx4////////+HzMzMzMzMzMzMzM
|
||||
zMzMzMzMx/////////+Hx4iIfMzMj//////////////////////4h3d8x4h8yP////////jMzMzMzMzM
|
||||
zMzMzMzMzMzMzMeP////////+HiP+IfMzI//////////////////////+HiIiHd3zHj////////4zMzM
|
||||
zMzMzMzMzMzMzMzMzMzHj/////////h4//+HzMeP//////////////////////h4//h8zMyP////////
|
||||
+MzMzMzMzMzMzMzMzMzMzMzMzI/////////4iP//h8x4///////////////////////4j//4fMzHj///
|
||||
//////jMzMzMzMzMzMzMzMzMzMzMzMyP///////4iIiP+IfHj///////////////////////+Ij/+HzM
|
||||
eP/////////4zMzMzMzMzMzMzMzMzMzMzMzMj///////iIiIiIh3eP////////////////////////+I
|
||||
j4h8x3iI////////h8zMzMzMzMzMzMzMzMzMzMzMzH//////+Hj///iIiI//////////////////////
|
||||
/////4iId4iIiIj//////4zMzMzMzMzMzMzMzMzMzMzMzMx4//////iP////iP//////////////////
|
||||
/////////////4iP//iI//////+MzMzMzMzMzMzMzMzMzMzMzMzMyP//////////+I//////////////
|
||||
///////////////////4eP//iP//////jMzMzMzMzMzMzMzMzMzMzMzMzMj///////////iP////////
|
||||
/////////////////////////4j/////////+HzMzMzMzMzMzMzMzMzMzMzMzMzHj///////////////
|
||||
//////////////////////////////+I//////////jMzMzMzMzMzMzMzMzMzMzMzMzMzI//////////
|
||||
//////////////////////////////////////////////+HzMzMzMzMzMzMzMzMzMzMzMzMzMyP////
|
||||
////////////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
eP///////////////////////////////////////////////////////4zMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMj///////////////////////////////////////////////////////h8zMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzHj//////////////////////////////////////////////////////4zMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzI//////////////////////////////////////////////////////h8zMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMx4////////////////////////////////////////////////////+HzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMyI////+I////////////////////////////////////////////
|
||||
//h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////+Ij/////////////////////////////////////
|
||||
//////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////+IiIiIj//////////////////////////4
|
||||
////iI/////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMiP/////4iIiP//////////////////////
|
||||
////+IiIiIj/////iHzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP//////////////////////////
|
||||
///////////4iIj//////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP////////////////////
|
||||
//////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP//////////////
|
||||
//////////////////////////////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHj/////////
|
||||
///////////////////////////////////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////
|
||||
////////////////////////////////////////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzI
|
||||
j/////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMeP//////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMx4////////+I//////////////////////////////////////jMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMeP///////4iIj///////////////////////////iP///////4fMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMx4////////iIiIiP///////////////////////4iIiP///////4zMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiI////////////////////+IiIiIj///////+HzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIj////////////////////4iIiIiIj///////
|
||||
+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiI////////////////////+IiIiIiI//
|
||||
//////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIiP////////////////////iIiI
|
||||
iIiI///////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiIj/////iIiIiIiIj/////
|
||||
/4iIiIiIiP///////4zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIiI/////4zMzMzMzM
|
||||
j/////+IiIiIiIiP//////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP//////+IiIiIiIj/////+MzM
|
||||
zMzMzI//////+IiIiIiIj///////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzI////////iIiIiIiI////
|
||||
//jMzMzMzMyP//////iIiIiIiIj///////jMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP///////4iIiIiI
|
||||
iP/////4zMzMzMzMj//////4iIiIiIiI///////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzI////////iI
|
||||
iIiIiI//////+MzMzMzMzI//////+IiIiIiIiP///////4zMzMzMzMzMzMzMzMzMzMzMzMzMzMyP////
|
||||
///4iIiIiIiP//////fMzMzMzMyP//////+IiIiIiIj///////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzH
|
||||
j///////+IiIiIiI//////+HzMzMzMzMeP//////iIiIiIiIj///////jMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMyP////////iIiIiIiP//////jMzMzMzMzHj///////iIiIiIiI///////4fMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMj///////+IiIiIiI///////4zMzMzMzMzI///////4iIiIiIiI///////3zMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzI////////iIiIiIiP//////+MzMzMzMzMyP//////+IiIiIiIiP//////+MzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMeP///////4iIiIiIj///////jMzMzMzMzMj///////+IiIiIiIj///////jM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzI////////+IiIiIiP//////+HzMzMzMzMzHj///////iIiIiIiI////
|
||||
///4zMzMzMzMzMzMzMzMzMzMzMzMzMyP////////iIiIiI////////jMzMzMzMzMzI///////4iIiIiI
|
||||
iI//////+MzMzMzMzMzMzMzMzMzMzMzMzMzMj////////4iIiIiP///////4zMzMzMzMzMyP///////4
|
||||
iIiIiIiP//////jMzMzMzMzMzMzMzMzMzMzMzMzMzI////////+IiIiI////////h8zMzMzMzMzMeP//
|
||||
/////4iIiIiIj//////4fMzMzMzMzMzMzMzMzMzMzMzMzMyP////////iIiIj////////4fMzMzMzMzM
|
||||
zHj///////+IiIiIiI//////+HzMzMzMzMzMzMzMzMzMzMzMzMzHj/////////iIiP////////+MzMzM
|
||||
zMzMzMzI////////+IiIiIiP//////h8zMzMzMzMzMzMxmzMzMzMzMzMx4/////////4iP/////////4
|
||||
fMzMzMzMzMzMx4////////+IiIiIj//////4fMzMzMzMzMzMzMZszMzMzMzMzMeP////////////////
|
||||
////+MzMzMzMzMzMzMyP////////iIiIiP//////+HzMzMzMzMzMzMzGbMzMzMzMzMzH////////////
|
||||
//////////fMzMzMzMzMzMzMeP////////iIiIj///////98zMzMzMzMzMzMxmzMzMzMzMzMyP//////
|
||||
//////////////+HzMzMzMzMzMzMzHj/////////+IiP////////jMzMzMzMzMzMzMZszMzMzMzMzMj/
|
||||
////////////////////jMzMzMzMzMzMzMzIj////////////////////4zMzMzMzMzMzMzGTMzMzMzM
|
||||
zMzH////////////////////+HzMzMzMzMzMzMzMx4////////////////////+MzMzMzMzMzMzMxAzM
|
||||
zMzMzMzMx/////////////////////jMzMzMzMzMzMzMzMyI///////////////////4fMzMzMzMzMzM
|
||||
zMAGzMzMzMzMzMeP//////////////////+HzMzMzMzMzMzMzMzMeP//////////////////+HzMzMzM
|
||||
zMzMzMxgBszMzMzMzMzHj//////////////////4fMzMzMzMzMzMzMzMzMeP//////////////////h8
|
||||
zMzMzMzMzMzMYADMzMzMzMzMzI//////////////////+HzMzMzMzMzMzMzMzMzHj///////////////
|
||||
///4zMzMzMzMzMzMzAAAbMzMzMzMzMyP/////////////////4fMzMzMzMzMzMzMzMzMzHj/////////
|
||||
////////+MzMzMzMzMzMzMYAAEzMzMzMzMzMj/////////////////+MzMzMzMzMzMzMzMzMzMzIj///
|
||||
/////////////4fMzMzMzMzMzMzEAAAGzMzMzMzMzHj////////////////4fMzMzMzMzMzMzMzMzMzM
|
||||
x4////////////////+MzMzMzMzMzMzMYAAABMzMzMzMzMx4////////////////h8zMzMzMzMzMzMzM
|
||||
zMzMzMx4///////////////4fMzMzMzMzMzMzEAAAABszMzMzMzMx4//////////////+HzMzMzMzMzM
|
||||
zMzMzMzMzMzMx4//////////////+MzMzMzMzMzMzMYAAAAATMzMzMzMzMyP/////////////4fMzMzM
|
||||
zMzMzMzMzMzMzMzMzMeI/////////////4fMzMzMzMzMzMzEAAAAAAbMzMzMzMzMeP////////////h8
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMeI////////////h8zMzMzMzMzMzMYAAAAAAAbMzMzMzMzMeP////////
|
||||
//iHzMzMzMzMzMzMzMzMzMzMzMzMzMyI//////////+HzMzMzMzMzMzMxgAAAAAAAEzMzMzMzMzMeP//
|
||||
//////iHfMzMzMzMzMzMzMzMzMzMzMzMzMzMx4/////////4fMzMzMzMzMzMzMQAAAAAAAAGzMzMzMzM
|
||||
zMeI//////iHfMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4j//////4h8zMzMzMzMzMzMxgAAAAAAAAAGzM
|
||||
zMzMzMzMx4iIiIiHzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiIj/+Ih3zMzMzMzMzMzMzGAAAAAAAA
|
||||
AAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx3iId8zMzMzMzMzMzMzMYAAA
|
||||
AAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
xgAAAAAAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzGAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzGQAAAAAAAAAAAAAAAAAbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMYAAAAAAAAAAAAAAAAAAARszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAABGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAAAABmzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARGZmzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZmZEAAAAAAAAAAAAAAAAD////+AAAAAAAAAAD/////////AAAA
|
||||
AAAAAAAAAP//////+AAAAAAAAAAAAAAf/////+AAAAAAAAAAAAAAB/////+AAAAAAAAAAAAAAAH////+
|
||||
AAAAAAAAAAAAAAAAf////AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAAP///gAAAAAAAAAAAAAAAA
|
||||
B///wAAAAAAAAAAAAAAAAAP//4AAAAAAAAAAAAAAAAAB//8AAAAAAAAAAAAAAAAAAP/+AAAAAAAAAAAA
|
||||
AAAAAAB//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAAAAAAAAAf+AAAAAAA
|
||||
AAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAB+AA
|
||||
AAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAA
|
||||
AAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABAAAAAAAA
|
||||
AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAADwAAAAAAA
|
||||
AAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AA
|
||||
AAAAAAAAAAAAAAAAAA/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAA
|
||||
AD/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAP//gAAAAAAAAAAA
|
||||
AAAAAAH//8AAAAAAAAAAAAAAAAAD///gAAAAAAAAAAAAAAAAB///8AAAAAAAAAAAAAAAAA////wAAAAA
|
||||
AAAAAAAAAAA////+AAAAAAAAAAAAAAAAf////4AAAAAAAAAAAAAAAf/////gAAAAAAAAAAAAAAf/////
|
||||
+AAAAAAAAAAAAAAf//////8AAAAAAAAAAAAA/////////gAAAAAAAAAAf////w==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -0,0 +1,628 @@
|
||||
|
||||
namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
{
|
||||
partial class PDDDBProdListForm
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PDDDBProdListForm));
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.cmbSort = new System.Windows.Forms.ComboBox();
|
||||
this.btnSelect = new TemuKJD.UserControls.ButtonEx();
|
||||
this.txtNotes = new System.Windows.Forms.TextBox();
|
||||
this.lblNotes = new System.Windows.Forms.Label();
|
||||
this.txtSPU = new System.Windows.Forms.TextBox();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.txtSKC = new System.Windows.Forms.TextBox();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.pnlEmpty = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnSearch = new TemuKJD.UserControls.ButtonEx();
|
||||
this.txtExtCode = new System.Windows.Forms.TextBox();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.txtProdName = new System.Windows.Forms.TextBox();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.txtCat = new System.Windows.Forms.TextBox();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label6 = new System.Windows.Forms.Label();
|
||||
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
|
||||
this.pbLoading = new System.Windows.Forms.PictureBox();
|
||||
this.dgvDbProduct = new TemuKJD.UserComponent.DataGridViewEx();
|
||||
this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
|
||||
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
|
||||
this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.col_db_id = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.col_product_name = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colImgUrl = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colMainImg = new System.Windows.Forms.DataGridViewImageColumn();
|
||||
this.col_spu_id = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.col_skc_id = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.col_cat_name = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.col_ext_code = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colAddTimes = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colSelectTotalCount = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.col_notes = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colHeadWords = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colEndWords = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colFissionWords = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colAddTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.col_edit = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.col_delete = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.col_select_product = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).BeginInit();
|
||||
this.splitContainer2.Panel1.SuspendLayout();
|
||||
this.splitContainer2.Panel2.SuspendLayout();
|
||||
this.splitContainer2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvDbProduct)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.BackColor = System.Drawing.Color.White;
|
||||
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer1.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
|
||||
this.splitContainer1.Location = new System.Drawing.Point(1, 33);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.cmbSort);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.btnSelect);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.txtNotes);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.lblNotes);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.txtSPU);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.label5);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.txtSKC);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.label1);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.pnlEmpty);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.btnSearch);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.txtExtCode);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.label4);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.txtProdName);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.label3);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.txtCat);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.label2);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.label6);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.splitContainer2);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(1278, 686);
|
||||
this.splitContainer1.SplitterDistance = 53;
|
||||
this.splitContainer1.TabIndex = 1;
|
||||
//
|
||||
// cmbSort
|
||||
//
|
||||
this.cmbSort.FormattingEnabled = true;
|
||||
this.cmbSort.Items.AddRange(new object[] {
|
||||
"入库时间",
|
||||
"认领总数"});
|
||||
this.cmbSort.Location = new System.Drawing.Point(1001, 15);
|
||||
this.cmbSort.Name = "cmbSort";
|
||||
this.cmbSort.Size = new System.Drawing.Size(79, 25);
|
||||
this.cmbSort.TabIndex = 448;
|
||||
this.cmbSort.Text = "入库时间";
|
||||
//
|
||||
// btnSelect
|
||||
//
|
||||
this.btnSelect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnSelect.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnSelect.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnSelect.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnSelect.ForeColor = System.Drawing.Color.White;
|
||||
this.btnSelect.Location = new System.Drawing.Point(1171, 14);
|
||||
this.btnSelect.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnSelect.Name = "btnSelect";
|
||||
this.btnSelect.Size = new System.Drawing.Size(91, 26);
|
||||
this.btnSelect.TabIndex = 444;
|
||||
this.btnSelect.Text = "认领选中商品";
|
||||
this.btnSelect.UseVisualStyleBackColor = false;
|
||||
this.btnSelect.Visible = false;
|
||||
this.btnSelect.Click += new System.EventHandler(this.btnSelect_Click);
|
||||
//
|
||||
// txtNotes
|
||||
//
|
||||
this.txtNotes.Location = new System.Drawing.Point(683, 16);
|
||||
this.txtNotes.Name = "txtNotes";
|
||||
this.txtNotes.Size = new System.Drawing.Size(90, 23);
|
||||
this.txtNotes.TabIndex = 439;
|
||||
//
|
||||
// lblNotes
|
||||
//
|
||||
this.lblNotes.AutoSize = true;
|
||||
this.lblNotes.Location = new System.Drawing.Point(649, 19);
|
||||
this.lblNotes.Name = "lblNotes";
|
||||
this.lblNotes.Size = new System.Drawing.Size(44, 17);
|
||||
this.lblNotes.TabIndex = 440;
|
||||
this.lblNotes.Text = "备注:";
|
||||
//
|
||||
// txtSPU
|
||||
//
|
||||
this.txtSPU.Location = new System.Drawing.Point(44, 16);
|
||||
this.txtSPU.Name = "txtSPU";
|
||||
this.txtSPU.Size = new System.Drawing.Size(90, 23);
|
||||
this.txtSPU.TabIndex = 434;
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(11, 19);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(43, 17);
|
||||
this.label5.TabIndex = 435;
|
||||
this.label5.Text = "SPU:";
|
||||
//
|
||||
// txtSKC
|
||||
//
|
||||
this.txtSKC.Location = new System.Drawing.Point(171, 16);
|
||||
this.txtSKC.Name = "txtSKC";
|
||||
this.txtSKC.Size = new System.Drawing.Size(90, 23);
|
||||
this.txtSKC.TabIndex = 432;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(138, 19);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(43, 17);
|
||||
this.label1.TabIndex = 433;
|
||||
this.label1.Text = "SKC:";
|
||||
//
|
||||
// pnlEmpty
|
||||
//
|
||||
this.pnlEmpty.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.pnlEmpty.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.pnlEmpty.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.pnlEmpty.Location = new System.Drawing.Point(843, 14);
|
||||
this.pnlEmpty.Name = "pnlEmpty";
|
||||
this.pnlEmpty.Size = new System.Drawing.Size(56, 26);
|
||||
this.pnlEmpty.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.pnlEmpty.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.pnlEmpty.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.pnlEmpty.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
|
||||
this.pnlEmpty.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.pnlEmpty.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.pnlEmpty.Style.GradientAngle = 90;
|
||||
this.pnlEmpty.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.pnlEmpty.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.pnlEmpty.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.pnlEmpty.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.pnlEmpty.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.pnlEmpty.TabIndex = 431;
|
||||
this.pnlEmpty.Text = "清空条件";
|
||||
this.pnlEmpty.Click += new System.EventHandler(this.pnlEmpty_Click);
|
||||
//
|
||||
// btnSearch
|
||||
//
|
||||
this.btnSearch.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnSearch.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnSearch.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnSearch.ForeColor = System.Drawing.Color.White;
|
||||
this.btnSearch.Location = new System.Drawing.Point(782, 14);
|
||||
this.btnSearch.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnSearch.Name = "btnSearch";
|
||||
this.btnSearch.Size = new System.Drawing.Size(56, 26);
|
||||
this.btnSearch.TabIndex = 424;
|
||||
this.btnSearch.Text = "搜索";
|
||||
this.btnSearch.UseVisualStyleBackColor = false;
|
||||
this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
|
||||
//
|
||||
// txtExtCode
|
||||
//
|
||||
this.txtExtCode.Location = new System.Drawing.Point(555, 16);
|
||||
this.txtExtCode.Name = "txtExtCode";
|
||||
this.txtExtCode.Size = new System.Drawing.Size(90, 23);
|
||||
this.txtExtCode.TabIndex = 429;
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(521, 19);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(44, 17);
|
||||
this.label4.TabIndex = 430;
|
||||
this.label4.Text = "货号:";
|
||||
//
|
||||
// txtProdName
|
||||
//
|
||||
this.txtProdName.Location = new System.Drawing.Point(427, 16);
|
||||
this.txtProdName.Name = "txtProdName";
|
||||
this.txtProdName.Size = new System.Drawing.Size(90, 23);
|
||||
this.txtProdName.TabIndex = 427;
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(393, 19);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(44, 17);
|
||||
this.label3.TabIndex = 428;
|
||||
this.label3.Text = "标题:";
|
||||
//
|
||||
// txtCat
|
||||
//
|
||||
this.txtCat.Location = new System.Drawing.Point(299, 16);
|
||||
this.txtCat.Name = "txtCat";
|
||||
this.txtCat.Size = new System.Drawing.Size(90, 23);
|
||||
this.txtCat.TabIndex = 425;
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(265, 19);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(44, 17);
|
||||
this.label2.TabIndex = 426;
|
||||
this.label2.Text = "类目:";
|
||||
//
|
||||
// label6
|
||||
//
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(944, 19);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(68, 17);
|
||||
this.label6.TabIndex = 449;
|
||||
this.label6.Text = "排序方式:";
|
||||
//
|
||||
// splitContainer2
|
||||
//
|
||||
this.splitContainer2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer2.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
|
||||
this.splitContainer2.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer2.Name = "splitContainer2";
|
||||
this.splitContainer2.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer2.Panel1
|
||||
//
|
||||
this.splitContainer2.Panel1.Controls.Add(this.pbLoading);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.dgvDbProduct);
|
||||
this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
//
|
||||
// splitContainer2.Panel2
|
||||
//
|
||||
this.splitContainer2.Panel2.Controls.Add(this.ucSplitPage1);
|
||||
this.splitContainer2.Panel2.Controls.Add(this.statusBar);
|
||||
this.splitContainer2.Size = new System.Drawing.Size(1278, 629);
|
||||
this.splitContainer2.SplitterDistance = 600;
|
||||
this.splitContainer2.TabIndex = 0;
|
||||
//
|
||||
// pbLoading
|
||||
//
|
||||
this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||
this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
|
||||
this.pbLoading.Location = new System.Drawing.Point(614, 275);
|
||||
this.pbLoading.Name = "pbLoading";
|
||||
this.pbLoading.Size = new System.Drawing.Size(50, 50);
|
||||
this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
|
||||
this.pbLoading.TabIndex = 7;
|
||||
this.pbLoading.TabStop = false;
|
||||
//
|
||||
// dgvDbProduct
|
||||
//
|
||||
this.dgvDbProduct.AllowUserToAddRows = false;
|
||||
this.dgvDbProduct.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvDbProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
|
||||
this.dgvDbProduct.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
|
||||
this.dgvDbProduct.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvDbProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvDbProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
|
||||
this.dgvDbProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvDbProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colSelect,
|
||||
this.col_db_id,
|
||||
this.col_product_name,
|
||||
this.colImgUrl,
|
||||
this.colMainImg,
|
||||
this.col_spu_id,
|
||||
this.col_skc_id,
|
||||
this.col_cat_name,
|
||||
this.col_ext_code,
|
||||
this.colAddTimes,
|
||||
this.colSelectTotalCount,
|
||||
this.col_notes,
|
||||
this.colHeadWords,
|
||||
this.colEndWords,
|
||||
this.colFissionWords,
|
||||
this.colAddTime,
|
||||
this.col_edit,
|
||||
this.col_delete,
|
||||
this.col_select_product});
|
||||
this.dgvDbProduct.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.dgvDbProduct.Location = new System.Drawing.Point(4, 0);
|
||||
this.dgvDbProduct.Name = "dgvDbProduct";
|
||||
this.dgvDbProduct.ReadOnly = true;
|
||||
this.dgvDbProduct.RowTemplate.Height = 23;
|
||||
this.dgvDbProduct.Size = new System.Drawing.Size(1270, 600);
|
||||
this.dgvDbProduct.TabIndex = 6;
|
||||
this.dgvDbProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvDbProduct_CellContentClick);
|
||||
this.dgvDbProduct.Scroll += new System.Windows.Forms.ScrollEventHandler(this.dgvDbProduct_Scroll);
|
||||
//
|
||||
// ucSplitPage1
|
||||
//
|
||||
this.ucSplitPage1.CurrentPage = 1;
|
||||
this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.ucSplitPage1.Location = new System.Drawing.Point(916, 0);
|
||||
this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.ucSplitPage1.Name = "ucSplitPage1";
|
||||
this.ucSplitPage1.Padding = new System.Windows.Forms.Padding(0, 0, 1, 0);
|
||||
this.ucSplitPage1.Size = new System.Drawing.Size(362, 25);
|
||||
this.ucSplitPage1.TabIndex = 6;
|
||||
this.ucSplitPage1.TotalPage = 1;
|
||||
//
|
||||
// statusBar
|
||||
//
|
||||
this.statusBar.BackColor = System.Drawing.Color.White;
|
||||
this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.statusBar.Location = new System.Drawing.Point(0, 0);
|
||||
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.statusBar.Name = "statusBar";
|
||||
this.statusBar.Size = new System.Drawing.Size(1278, 25);
|
||||
this.statusBar.TabIndex = 5;
|
||||
//
|
||||
// colSelect
|
||||
//
|
||||
this.colSelect.FillWeight = 26F;
|
||||
this.colSelect.HeaderText = "选";
|
||||
this.colSelect.Name = "colSelect";
|
||||
this.colSelect.ReadOnly = true;
|
||||
this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
//
|
||||
// col_db_id
|
||||
//
|
||||
this.col_db_id.HeaderText = "数据库Id";
|
||||
this.col_db_id.Name = "col_db_id";
|
||||
this.col_db_id.ReadOnly = true;
|
||||
this.col_db_id.Visible = false;
|
||||
//
|
||||
// col_product_name
|
||||
//
|
||||
dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.col_product_name.DefaultCellStyle = dataGridViewCellStyle3;
|
||||
this.col_product_name.FillWeight = 200F;
|
||||
this.col_product_name.HeaderText = "标题";
|
||||
this.col_product_name.Name = "col_product_name";
|
||||
this.col_product_name.ReadOnly = true;
|
||||
//
|
||||
// colImgUrl
|
||||
//
|
||||
this.colImgUrl.HeaderText = "主图路径";
|
||||
this.colImgUrl.Name = "colImgUrl";
|
||||
this.colImgUrl.ReadOnly = true;
|
||||
this.colImgUrl.Visible = false;
|
||||
//
|
||||
// colMainImg
|
||||
//
|
||||
this.colMainImg.FillWeight = 50F;
|
||||
this.colMainImg.HeaderText = "主图";
|
||||
this.colMainImg.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom;
|
||||
this.colMainImg.Name = "colMainImg";
|
||||
this.colMainImg.ReadOnly = true;
|
||||
this.colMainImg.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colMainImg.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
//
|
||||
// col_spu_id
|
||||
//
|
||||
this.col_spu_id.HeaderText = "SPU Id";
|
||||
this.col_spu_id.Name = "col_spu_id";
|
||||
this.col_spu_id.ReadOnly = true;
|
||||
//
|
||||
// col_skc_id
|
||||
//
|
||||
this.col_skc_id.HeaderText = "SKC Id";
|
||||
this.col_skc_id.Name = "col_skc_id";
|
||||
this.col_skc_id.ReadOnly = true;
|
||||
//
|
||||
// col_cat_name
|
||||
//
|
||||
this.col_cat_name.HeaderText = "类目";
|
||||
this.col_cat_name.Name = "col_cat_name";
|
||||
this.col_cat_name.ReadOnly = true;
|
||||
//
|
||||
// col_ext_code
|
||||
//
|
||||
this.col_ext_code.HeaderText = "货号";
|
||||
this.col_ext_code.Name = "col_ext_code";
|
||||
this.col_ext_code.ReadOnly = true;
|
||||
//
|
||||
// colAddTimes
|
||||
//
|
||||
this.colAddTimes.FillWeight = 52F;
|
||||
this.colAddTimes.HeaderText = "单店认领次数";
|
||||
this.colAddTimes.Name = "colAddTimes";
|
||||
this.colAddTimes.ReadOnly = true;
|
||||
//
|
||||
// colSelectTotalCount
|
||||
//
|
||||
this.colSelectTotalCount.FillWeight = 52F;
|
||||
this.colSelectTotalCount.HeaderText = "认领总数";
|
||||
this.colSelectTotalCount.Name = "colSelectTotalCount";
|
||||
this.colSelectTotalCount.ReadOnly = true;
|
||||
//
|
||||
// col_notes
|
||||
//
|
||||
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.col_notes.DefaultCellStyle = dataGridViewCellStyle4;
|
||||
this.col_notes.HeaderText = "备注";
|
||||
this.col_notes.Name = "col_notes";
|
||||
this.col_notes.ReadOnly = true;
|
||||
//
|
||||
// colHeadWords
|
||||
//
|
||||
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colHeadWords.DefaultCellStyle = dataGridViewCellStyle5;
|
||||
this.colHeadWords.HeaderText = "标题前缀";
|
||||
this.colHeadWords.Name = "colHeadWords";
|
||||
this.colHeadWords.ReadOnly = true;
|
||||
this.colHeadWords.Visible = false;
|
||||
//
|
||||
// colEndWords
|
||||
//
|
||||
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colEndWords.DefaultCellStyle = dataGridViewCellStyle6;
|
||||
this.colEndWords.HeaderText = "标题后缀";
|
||||
this.colEndWords.Name = "colEndWords";
|
||||
this.colEndWords.ReadOnly = true;
|
||||
this.colEndWords.Visible = false;
|
||||
//
|
||||
// colFissionWords
|
||||
//
|
||||
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colFissionWords.DefaultCellStyle = dataGridViewCellStyle7;
|
||||
this.colFissionWords.HeaderText = "裂变词";
|
||||
this.colFissionWords.Name = "colFissionWords";
|
||||
this.colFissionWords.ReadOnly = true;
|
||||
this.colFissionWords.Visible = false;
|
||||
//
|
||||
// colAddTime
|
||||
//
|
||||
this.colAddTime.HeaderText = "入库时间";
|
||||
this.colAddTime.Name = "colAddTime";
|
||||
this.colAddTime.ReadOnly = true;
|
||||
//
|
||||
// col_edit
|
||||
//
|
||||
this.col_edit.FillWeight = 60F;
|
||||
this.col_edit.HeaderText = "编辑/详情";
|
||||
this.col_edit.Name = "col_edit";
|
||||
this.col_edit.ReadOnly = true;
|
||||
this.col_edit.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.col_edit.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
//
|
||||
// col_delete
|
||||
//
|
||||
this.col_delete.FillWeight = 40F;
|
||||
this.col_delete.HeaderText = "删除";
|
||||
this.col_delete.Name = "col_delete";
|
||||
this.col_delete.ReadOnly = true;
|
||||
//
|
||||
// col_select_product
|
||||
//
|
||||
this.col_select_product.FillWeight = 40F;
|
||||
this.col_select_product.HeaderText = "认领";
|
||||
this.col_select_product.Name = "col_select_product";
|
||||
this.col_select_product.ReadOnly = true;
|
||||
this.col_select_product.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.col_select_product.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
//
|
||||
// DbProductListForm
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(1280, 720);
|
||||
this.Controls.Add(this.splitContainer1);
|
||||
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "DbProductListForm";
|
||||
this.Text = "产品数据库";
|
||||
this.TitleText = "产品数据库";
|
||||
this.Load += new System.EventHandler(this.ProductListForm_Load);
|
||||
this.VisibleChanged += new System.EventHandler(this.ProductListForm_VisibleChanged);
|
||||
this.Controls.SetChildIndex(this.splitContainer1, 0);
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel1.PerformLayout();
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.splitContainer2.Panel1.ResumeLayout(false);
|
||||
this.splitContainer2.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
|
||||
this.splitContainer2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvDbProduct)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private System.Windows.Forms.SplitContainer splitContainer2;
|
||||
private UserControls.UcSplitPage ucSplitPage1;
|
||||
private UserControls.StatusBarUserControl statusBar;
|
||||
private System.Windows.Forms.TextBox txtSPU;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.TextBox txtSKC;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private DevComponents.DotNetBar.PanelEx pnlEmpty;
|
||||
private UserControls.ButtonEx btnSearch;
|
||||
private System.Windows.Forms.TextBox txtExtCode;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.TextBox txtProdName;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.TextBox txtCat;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private UserComponent.DataGridViewEx dgvDbProduct;
|
||||
private System.Windows.Forms.PictureBox pbLoading;
|
||||
private System.Windows.Forms.TextBox txtNotes;
|
||||
private System.Windows.Forms.Label lblNotes;
|
||||
private UserControls.ButtonEx btnSelect;
|
||||
private System.Windows.Forms.ComboBox cmbSort;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn col_db_id;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn col_product_name;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colImgUrl;
|
||||
private System.Windows.Forms.DataGridViewImageColumn colMainImg;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn col_spu_id;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn col_skc_id;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn col_cat_name;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn col_ext_code;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colAddTimes;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSelectTotalCount;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn col_notes;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colHeadWords;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colEndWords;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colFissionWords;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colAddTime;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn col_edit;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn col_delete;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn col_select_product;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,540 @@
|
||||
using AllBase;
|
||||
using AllBase.Model.Result;
|
||||
using NaiBa.Util.Extension;
|
||||
using NaiBa.Util.Winform.Extension;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using TemuKJD.BaseForms;
|
||||
using TemuKJD.ToolForms;
|
||||
using Work;
|
||||
|
||||
namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
{
|
||||
public partial class PDDDBProdListForm : LRBaseForm
|
||||
{
|
||||
ShopLoginInfo shop = null;
|
||||
|
||||
List<TemuDBProduct> lstTemuDbProduct = new List<TemuDBProduct>();
|
||||
|
||||
public PDDDBProdListForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public PDDDBProdListForm(ShopLoginInfo _shop)
|
||||
{
|
||||
InitializeComponent();
|
||||
shop = _shop;
|
||||
}
|
||||
|
||||
private void ProductListForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (BaseClass.SaLevel == 1 && shop == null) // 一级管理员且不是选品状态
|
||||
{
|
||||
this.dgvDbProduct.Columns["col_delete"].Visible = true;
|
||||
this.dgvDbProduct.Columns["col_edit"].Visible = true;
|
||||
this.dgvDbProduct.Columns["colHeadWords"].Visible = true;
|
||||
this.dgvDbProduct.Columns["colEndWords"].Visible = true;
|
||||
this.dgvDbProduct.Columns["colFissionWords"].Visible = true;
|
||||
//this.dgvDbProduct.Columns["col_notes"].Visible = true;
|
||||
//this.lblNotes.Visible = true;
|
||||
//this.txtNotes.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.dgvDbProduct.Columns["col_delete"].Visible = false;
|
||||
this.dgvDbProduct.Columns["col_edit"].Visible = false;
|
||||
this.dgvDbProduct.Columns["colHeadWords"].Visible = false;
|
||||
this.dgvDbProduct.Columns["colEndWords"].Visible = false;
|
||||
this.dgvDbProduct.Columns["colFissionWords"].Visible = false;
|
||||
//this.dgvDbProduct.Columns["col_notes"].Visible = false;
|
||||
//this.lblNotes.Visible = false;
|
||||
//this.txtNotes.Visible = false;
|
||||
}
|
||||
|
||||
btnSelect.Visible = false;
|
||||
this.dgvDbProduct.Columns["col_select_product"].Visible = false;
|
||||
this.dgvDbProduct.Columns["colAddTimes"].Visible = false;
|
||||
if (shop != null)
|
||||
{
|
||||
btnSelect.Visible = true;
|
||||
this.dgvDbProduct.Columns["col_select_product"].Visible = true;
|
||||
this.dgvDbProduct.Columns["colAddTimes"].Visible = true;
|
||||
}
|
||||
|
||||
this.ucSplitPage1.PageChange += UcSplitPage1_PageChange;
|
||||
this.dgvDbProduct.AddSelectorColumn("colSelect");
|
||||
}
|
||||
|
||||
private void btnSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (this.ucSplitPage1.CurrentPage != 1)
|
||||
this.ucSplitPage1.CurrentPage = 1;
|
||||
else
|
||||
SearchDbProd(1);
|
||||
}
|
||||
|
||||
public void SearchDbProd(int page)
|
||||
{
|
||||
if (InvokeRequired)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.pbLoading.Visible = true;
|
||||
this.dgvDbProduct.Rows.Clear();
|
||||
lstTemuDbProduct.Clear();
|
||||
}));
|
||||
}
|
||||
else
|
||||
{
|
||||
this.pbLoading.Visible = true;
|
||||
this.dgvDbProduct.Rows.Clear();
|
||||
lstTemuDbProduct.Clear();
|
||||
}
|
||||
Task.Run(() =>
|
||||
{
|
||||
int pageCount;
|
||||
var list = GetProductList(out pageCount, page);
|
||||
lstTemuDbProduct.AddRange(list);
|
||||
this.ucSplitPage1.TotalPage = pageCount;
|
||||
|
||||
if (defaultBitmap == null)
|
||||
defaultBitmap = new Bitmap(80, 80);
|
||||
// 获取Bitmap的Graphics对象
|
||||
using (Graphics g = Graphics.FromImage(defaultBitmap))
|
||||
{
|
||||
// 清除整个Bitmap为蓝色
|
||||
g.Clear(Color.White);
|
||||
}
|
||||
foreach (var prod in lstTemuDbProduct)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
int rowIndex = this.dgvDbProduct.Rows.Add(
|
||||
false,
|
||||
prod.id,
|
||||
prod.product_name,
|
||||
prod?.main_img?.Replace("https", "http"),
|
||||
defaultBitmap, // prod.main_img,
|
||||
prod.spu_id,
|
||||
prod.skc_id,
|
||||
prod.cat_name,
|
||||
prod.ext_code,
|
||||
prod.select_count,
|
||||
prod.select_total_count,
|
||||
prod.notes,
|
||||
prod.head_words,
|
||||
prod.end_words,
|
||||
prod.fission_words,
|
||||
prod.add_time,
|
||||
"编辑",
|
||||
"删除",
|
||||
"认领");
|
||||
|
||||
dgvDbProduct.Rows[rowIndex].Height = dgvDbProduct.Columns["colMainImg"].Width;
|
||||
}));
|
||||
}
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
ShowDgvImg();
|
||||
this.pbLoading.Visible = false;
|
||||
}));
|
||||
});
|
||||
}
|
||||
|
||||
Bitmap defaultBitmap = null;
|
||||
void ShowDgvImg()
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
foreach (DataGridViewRow row in this.dgvDbProduct.Rows)
|
||||
{
|
||||
if (row.Index > 0 && row.Cells["colMainImg"].Displayed == false)
|
||||
{
|
||||
try
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colMainImg"].Value = defaultBitmap;
|
||||
}));
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
if (row.Cells["colMainImg"].Value != null && row.Cells["colMainImg"].Value != defaultBitmap)
|
||||
continue;
|
||||
|
||||
Image image = null;
|
||||
string imgUrl = row.Cells["colImgUrl"]?.Value.ParseToString();
|
||||
string getImgError = "";
|
||||
if (!string.IsNullOrWhiteSpace(imgUrl))
|
||||
image = GetHtml.GetUrlImg(imgUrl, out getImgError);
|
||||
if (!string.IsNullOrEmpty(getImgError))
|
||||
//BaseMsgForm.ShowError("图片加载失败 " + getImgError);
|
||||
image = TemuKJD.Properties.Resources.errpic;
|
||||
|
||||
try
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colMainImg"].Value = image;
|
||||
}));
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public List<TemuDBProduct> GetProductList(out int pageCount, int page = 1, int pageSize = 200)
|
||||
{
|
||||
List<TemuDBProduct> list = new List<TemuDBProduct>();
|
||||
pageCount = 1;
|
||||
|
||||
var url = BaseClass.BuildObjString("product/get_product_list");
|
||||
if(shop!=null && shop.DbId.ParseToInt()!=0 )
|
||||
url = BaseClass.BuildObjString("product/get_product_list");
|
||||
var data = "";
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
data = UserLogin.GetSignaturex() +
|
||||
"&page=" + page +
|
||||
"&page_size=" + pageSize +
|
||||
"&search_spu=" + txtSPU.Text.Trim() +
|
||||
"&search_skc=" + txtSKC.Text.Trim() +
|
||||
"&search_notes=" + txtNotes.Text.Trim() +
|
||||
"&search_cat=" + txtCat.Text.Trim() +
|
||||
"&search_ext_code=" + txtExtCode.Text.Trim() +
|
||||
"&search_prod_name=" + txtProdName.Text.Trim();
|
||||
if (shop != null && !string.IsNullOrEmpty(shop.ShopId))
|
||||
{
|
||||
data += "&get_select_count=true";
|
||||
data += "&select_shop_id=" + shop.ShopId;
|
||||
}
|
||||
if (this.cmbSort.Text == "认领总数")
|
||||
{
|
||||
data += "&sort_field=select_total_count";
|
||||
}
|
||||
|
||||
}));
|
||||
var html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
BaseMsgForm.ShowError("获取商品列表失败,请重试!" + BaseRegex.GetStringJson(ref html, "msg"));
|
||||
}));
|
||||
return list;
|
||||
}
|
||||
|
||||
int count = BaseRegex.GetIntJson(ref html, "count");
|
||||
pageCount = Math.Ceiling(1.0 * count / pageSize).ParseToInt();
|
||||
pageCount = Math.Max(pageCount, 1);
|
||||
|
||||
var jArr = JObject.Parse(html)["data"];
|
||||
if (jArr.Count() == 0)
|
||||
return list;
|
||||
var sProd = JsonHelper.SerializeObject(jArr);
|
||||
|
||||
try
|
||||
{
|
||||
list = JsonHelper.DeserializeJsonToList<TemuDBProduct>(sProd);
|
||||
return list;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new List<TemuDBProduct>();
|
||||
}
|
||||
}
|
||||
|
||||
private void ProductListForm_VisibleChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (this.Visible == true)
|
||||
{
|
||||
this.pbLoading.Visible = true;
|
||||
SearchDbProd(this.ucSplitPage1.CurrentPage);
|
||||
}
|
||||
}
|
||||
|
||||
private void UcSplitPage1_PageChange(object obj)
|
||||
{
|
||||
SearchDbProd(this.ucSplitPage1.CurrentPage);
|
||||
}
|
||||
|
||||
private void pnlEmpty_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.txtCat.Text = "";
|
||||
this.txtExtCode.Text = "";
|
||||
this.txtProdName.Text = "";
|
||||
this.txtSKC.Text = "";
|
||||
this.txtSPU.Text = "";
|
||||
this.txtNotes.Text = "";
|
||||
}
|
||||
|
||||
private void dgvDbProduct_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
||||
{
|
||||
if (e.ColumnIndex < 0 || e.RowIndex < 0)
|
||||
return;
|
||||
string headerText = dgvDbProduct.Columns[e.ColumnIndex].HeaderText;
|
||||
var dbId = dgvDbProduct.Rows[e.RowIndex].Cells["col_db_id"].Value.ParseToString();
|
||||
var dbProduct = lstTemuDbProduct.FirstOrDefault(p => p.id.ToString() == dbId);
|
||||
|
||||
switch (headerText)
|
||||
{
|
||||
case "删除":
|
||||
if (BaseMsgForm.ShowConfirm("确定删除商品吗?删除后不可恢复!").DialogResult == DialogResult.Cancel)
|
||||
return;
|
||||
DeleteProduct(dbId);
|
||||
break;
|
||||
case "编辑/详情":
|
||||
PDDDBProdEditNotesForm editForm = new PDDDBProdEditNotesForm(dbProduct);
|
||||
editForm.ShowDialog();
|
||||
dgvDbProduct.Rows[e.RowIndex].Cells["col_notes"].Value = dbProduct.notes;
|
||||
dgvDbProduct.Rows[e.RowIndex].Cells["col_ext_code"].Value = dbProduct.ext_code;
|
||||
dgvDbProduct.Rows[e.RowIndex].Cells["colHeadWords"].Value = dbProduct.head_words;
|
||||
dgvDbProduct.Rows[e.RowIndex].Cells["colEndWords"].Value = dbProduct.end_words;
|
||||
dgvDbProduct.Rows[e.RowIndex].Cells["colFissionWords"].Value = dbProduct.fission_words;
|
||||
dgvDbProduct.Rows[e.RowIndex].Cells["col_product_name"].Value = dbProduct.product_name;
|
||||
break;
|
||||
case "主图":
|
||||
ShowImgForm imgFrom = new ShowImgForm(dgvDbProduct.Rows[e.RowIndex].Cells["colImgUrl"].Value.ParseToString());
|
||||
imgFrom.ShowDialog();
|
||||
break;
|
||||
case "认领":
|
||||
Task.Run(() => { SelectProduct(new TemuDBProduct[] { dbProduct }); });
|
||||
break;
|
||||
case "":
|
||||
dgvDbProduct.Rows[e.RowIndex].Cells["colSelect"].Value = !(bool)dgvDbProduct.Rows[e.RowIndex].Cells["colSelect"].Value;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void SelectProduct(TemuDBProduct[] prods)
|
||||
{
|
||||
if (shop == null)
|
||||
{
|
||||
BaseMsgForm.ShowError("店铺不能为空!");
|
||||
return;
|
||||
}
|
||||
if (prods == null || prods.Count() == 0)
|
||||
{
|
||||
BaseMsgForm.ShowError("认领商品不能为空!");
|
||||
return;
|
||||
}
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.pbLoading.Visible = true;
|
||||
this.statusBar.lblTaskStatus.Text = "正在认领...";
|
||||
this.statusBar.pgbTaskProgress.Maximum = prods.Length;
|
||||
this.statusBar.UpdateProgressBar(0);
|
||||
}));
|
||||
|
||||
string errorMsg = "";
|
||||
|
||||
foreach (var prod in prods)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + 1);
|
||||
}));
|
||||
|
||||
if (prod == null)
|
||||
{
|
||||
errorMsg += "prod null; ";
|
||||
continue;
|
||||
}
|
||||
|
||||
if (shop.AddProductRemaining <=0)
|
||||
{
|
||||
if (!errorMsg.Contains("本月商品认领限额已用完"))
|
||||
errorMsg += " 本月商品认领限额已用完,请下个月再操作!";
|
||||
continue;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
var fissionProductName = GetFissionProductName(prod);
|
||||
|
||||
var url = BaseClass.BuildObjString("product/add_user_select_product");
|
||||
var data = UserLogin.GetSignaturex() +
|
||||
"&out_product_id=" + prod.id +
|
||||
"&shop_id=" + shop.ShopId +
|
||||
"&shop_account=" + shop.ShopAccount +
|
||||
"&main_user_name=" + shop.UserName +
|
||||
"&sub_user_name=" + shop.SubUserName +
|
||||
"&add_product_remaining=" + shop.AddProductRemaining +
|
||||
"&add_fission_product_name=" + GetHtml.UrlEncodeUtf8(fissionProductName) +
|
||||
"&status=待上传";
|
||||
var html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
{
|
||||
errorMsg += prod.spu_id + " " + BaseRegex.GetStringJson(ref html, "msg") + "; ";
|
||||
}
|
||||
else
|
||||
{
|
||||
prod.select_count++;
|
||||
prod.select_total_count++;
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
var row = this.dgvDbProduct.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => r.Cells["col_db_id"].Value.ParseToInt() == prod.id);
|
||||
if (row != null)
|
||||
{
|
||||
row.Cells["colAddTimes"].Value = prod.select_count;
|
||||
row.Cells["colSelectTotalCount"].Value = prod.select_total_count;
|
||||
}
|
||||
}));
|
||||
shop.AddProductRemaining = shop.AddProductRemaining - 1;
|
||||
}
|
||||
}
|
||||
catch (Exception ex) {
|
||||
errorMsg += ex.Message + "; ";
|
||||
}
|
||||
}
|
||||
if (!string.IsNullOrEmpty(errorMsg))
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
BaseMsgForm.ShowError("认领商品失败,请重试!\r\n" + errorMsg.Trim());
|
||||
}));
|
||||
}
|
||||
else
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
BaseMsgForm.ShowInfo("认领商品成功!");
|
||||
}));
|
||||
}
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.pbLoading.Visible = false;
|
||||
this.statusBar.lblTaskStatus.Text = "认领完成";
|
||||
this.statusBar.UpdateProgressBar(prods.Length);
|
||||
}));
|
||||
}
|
||||
|
||||
public static string GetFissionProductName(TemuDBProduct prod)
|
||||
{
|
||||
|
||||
string headWords = "";
|
||||
if (!string.IsNullOrWhiteSpace(prod.head_words))
|
||||
{
|
||||
var numberRegex = BaseRegex.GetMatchRegex(prod.head_words.Trim(), "\\d{1,9}");
|
||||
var numbers = numberRegex.Cast<Match>().Select(m => m.Value.ParseToInt()).ToList();
|
||||
//var numbers = prod.head_words.Split(new string[] { "-", "个" }, StringSplitOptions.RemoveEmptyEntries).Select(w => w.ParseToInt()).ToList();
|
||||
int minNum = 5;
|
||||
int maxNum = 19;
|
||||
if (numbers.Count > 0 && numbers[0] > 0)
|
||||
{
|
||||
minNum = numbers[0];
|
||||
if (numbers.Count > 1 && numbers[1] > 0)
|
||||
{
|
||||
maxNum = numbers[1];
|
||||
}
|
||||
if (maxNum < minNum)
|
||||
{
|
||||
maxNum = minNum;
|
||||
}
|
||||
headWords += Randomx.GetId(minNum, maxNum + 1) + prod.head_words.Trim().Replace(minNum + "-" + maxNum, "");
|
||||
}
|
||||
}
|
||||
|
||||
//string endWords = string.IsNullOrEmpty(prod.end_words) ? "适合不同的搭配风格" : prod.end_words;
|
||||
string endWords = string.IsNullOrWhiteSpace(prod.end_words) ? "" : prod.end_words;
|
||||
|
||||
List<string> fissionLst = new List<string>();
|
||||
fissionLst.AddRange(prod.fission_words.ParseToString().Split(new string[] { "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries));
|
||||
string centerWords = ",";
|
||||
while (fissionLst.Count > 0)
|
||||
{
|
||||
int id = Randomx.GetId(fissionLst.Count);
|
||||
var fissionTxt = fissionLst[id];
|
||||
fissionLst.RemoveAt(id);
|
||||
var allTxt = headWords + prod.product_name + centerWords + fissionTxt + "," + endWords;
|
||||
byte[] bytes = Encoding.GetEncoding("gb2312").GetBytes(allTxt);
|
||||
if (bytes.Length > 250)
|
||||
{
|
||||
break;
|
||||
}
|
||||
centerWords += fissionTxt + ",";
|
||||
}
|
||||
return (headWords + prod.product_name + centerWords + endWords).Trim(',');
|
||||
}
|
||||
|
||||
private void DeleteProduct(string dbId)
|
||||
{
|
||||
var url = BaseClass.BuildObjString("product/del_db_product");
|
||||
var data = UserLogin.GetSignaturex() +
|
||||
"&db_id=" + dbId;
|
||||
var html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
{
|
||||
BaseMsgForm.ShowError("删除商品失败,请重试!" + BaseRegex.GetStringJson(ref html, "msg"));
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
SearchDbProd(this.ucSplitPage1.CurrentPage);
|
||||
}
|
||||
}
|
||||
|
||||
private void btnSelect_Click(object sender, EventArgs e)
|
||||
{
|
||||
var lstProdId = dgvDbProduct.Rows.Cast<DataGridViewRow>().Where(row
|
||||
=> row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["col_spu_id"]?.Value.ToString()).ToList();
|
||||
var prodList = this.lstTemuDbProduct.Where(p => lstProdId.Contains(p.spu_id)).ToArray();
|
||||
|
||||
if (prodList.Count() > 0)
|
||||
{
|
||||
this.btnSelect.Enabled = false;
|
||||
Task.Run(() => {
|
||||
SelectProduct(prodList);
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.btnSelect.Enabled = true;
|
||||
}));
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
BaseMsgForm.ShowError("请选择商品!");
|
||||
}
|
||||
}
|
||||
|
||||
private void dgvDbProduct_Scroll(object sender, ScrollEventArgs e)
|
||||
{
|
||||
ShowDgvImg();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,355 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="colSelect.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="col_db_id.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="col_product_name.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colImgUrl.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colMainImg.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="col_spu_id.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="col_skc_id.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="col_cat_name.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="col_ext_code.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colAddTimes.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSelectTotalCount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="col_notes.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colHeadWords.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colEndWords.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colFissionWords.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colAddTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="col_edit.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="col_delete.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="col_select_product.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAgIAQAAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
|
||||
AAD///8AAAAAAAAAAAAAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMQ
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAABM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZkzEAAAAAAAAAAAAAAAAAAAAAADOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZMwAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZkzAAAAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmTEAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAA5mZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAADmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAGZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAJmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZAAAAAA
|
||||
OZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmT
|
||||
AAAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmRAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZkwAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZkwAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZMAAJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZEAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwCZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZOZmZOZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmP+JmZmZmZmZj///////
|
||||
///4OZmZj/eZmZmZmZmZmPg5OZmZmZuI//iIuZmZmZmZmZmZmZM5mZmZmZmZmZmZmb//+JmZmZmZmP//
|
||||
//////////OZmP//uZmZmZmZmY//+ZmZOZf///////h5k5mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ
|
||||
mZ/////////////4mZ///4mZmZmZmZP///uZmZmP////////+JmZmZmZmZmZkzmZmZmZmZmZmZmZj//4
|
||||
mZmZmZmf////////////+Jmf//+JmZmZmZmb///4mZmY//////////+JmZmZmZmZmZM5mZmZmZmZmZmZ
|
||||
mY//+JmZmZmZn/////////////mZmP//iZmZmZmZk///+5mZj/////iP////+JmZmZmZmZmTOZmZmZmZ
|
||||
mZmZmZmP//iZmZmZmZ////iIiIiIiIiZOZj//4mZmZmZmZP///uZmf////eZmT////+ZmZmZmZmZkzmZ
|
||||
mZmZmZmZmZmZj//4mZmZmZmf//+JmZmZmZmZk5mY//+JmZmZmZmT///7mZj///+ZmZmZj///uZmZmZmZ
|
||||
mZM5mZmZmZmZmZmZmY//+JmZmZmZn///iZmZmZmZmZmZmP//iZmZN5k5k///+5mY///zk5mZOT///4mZ
|
||||
mZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///4mZmZmZmZmZmZj//4mZmP/5k5P///uZmP//+ZmZmZmY
|
||||
//+JmZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf///4iIiIiIg5mZmY//+JOb//+JmT///7mZj//4mZ
|
||||
mZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////85mZmP//iZn///+Jk///+5mf
|
||||
//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ////////////+ZmZj//4mY////85v/
|
||||
//uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf////////////mZmY//+Jv///
|
||||
//+Z///7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////+JmZmP//
|
||||
if//////if//+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///////////4mZ
|
||||
mZj//4j///////j///uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf//+JMzMz
|
||||
MzOZOZmY//////+D///////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///
|
||||
iZmZmZmZmZmZmP//////mY//////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ
|
||||
mZ///4mZmZmZmZmZmZj/////+5mf//////uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZMzM5j//4
|
||||
kzMzmZmf//+JMzMzMzM5mZmY/////4mTk//////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmP//
|
||||
/////////4mZn////////////4mZmP////+ZmZmP////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZ
|
||||
mY/////////////4mZ/////////////7mZj////7mZmZn/////uZmP//iZmZmZmY///5mZmZmZmZkzmZ
|
||||
mZmZmZn//////////////5mf////////////+Jmf////iZmZk5P////4mZ///4mZmZmZmP//+ZmZmZmZ
|
||||
mZM5mZmZmZmZj/////////////iZn/////////////iZmP///5mZmZmZj///+5mY//+JmZmZmZj//4mZ
|
||||
mZmZmZmTOZmZmZmZmZ/////////////zmZP///////////+JmZP///uTmZmZmZj//4mZm///mZmZmZmZ
|
||||
//85mZmZmZmZkzmZmZmZmZOZiIiIiIiIiIiImTmZOIiIiIiIiIiImTmZOIi5mZmZmZOZiIuZmZk4iZOZ
|
||||
mZmZOZiDmZmZmZmZmZM5mZmZmZmZOZmZmZmZmZmZmZOZmZmZmZmZmZmZmZOZmZmZmZmZmZmZOZmZmZmZ
|
||||
mZk5mZmZmZOZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmTuIiIiIs5mZmZmZmZ
|
||||
mTu4i7mZmZmZmZmZmTMzmZOZmZkzOZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmTmbj///////+HmT
|
||||
mZmZk4j/////iJmZmZk4iP////iZOZmZj/mZOZOIiIiIiIiIiDmZmZmZmZmZkzmZmZmZmZmZj///////
|
||||
///4mZk5k4///4iI///4OZOY////////iZOZmb/5mZmP///////////4mZmZmZmZmZM5mZmZmZmZn///
|
||||
//////////mZmY///5mZmZP///iZmP////////+ZOZk/iZmY/////////////4mZmZmZmZmTOZmZmZmZ
|
||||
mZ/////////////5mZ////+JmZmY////iZl/////////+ZmZP4mZP//////////////7mZmZmZmZkzmZ
|
||||
mZmZmZmb////////////uZP/j///+HM3j/////+ZmYj///////iZmT+JmY//////////////+JmZmZmZ
|
||||
mZM5mZmZmZmZmY//////////+JmT+Jv///////////iPmTmZOI/4mP//uTk/iZmP//////////////iZ
|
||||
mZmZmZmTOZmZmZmZmZmf//////////mZmZmZ///////////5mZmZmZmTOZk///mZP4mZj///////////
|
||||
///4mZmZmZmZkzmZmZmZmZmTmP////////+JOZmZOY//////////iZmZmZmZmZk5mf/4mT+JmY//////
|
||||
////////+JmZmZmZmZM5mZmZmZmZmZn/////////mZmZmZk//////////zmZmZmZmZmZmTmP/zm/iZmP
|
||||
//////////////iZmZmZmZmTOZmZmZmZmZk5v///////85OZmZkzmP////////iZmZmZmZmZmZmZn//4
|
||||
/4mZj/////hzN4/////4mZmZmZmZkzmZmZmZmZmZmZj//////4mZmTmY/4j////////4mZmZmZmZmZmZ
|
||||
mZj///+JmY////+JmZmY////+JmZmZmZmZM5mZmZmZmZmZmZ//////+ZmZmZj////////////4mZmZmZ
|
||||
mZmZmZmb////+ZmP///4mZu5mY////iZmZmZmZmTOZmZmZmZmZmZOb/////4k5mZmP/////////////7
|
||||
mZmZmZmZmZmZk/////OZv///+ZmP+Jmf///4mZmZmZmZkzmZmZmZmZmZmZmf////+ZmZmZj////////4
|
||||
eI//+JmZmZmZmZmZmZP////4mb///4mY//+JmP//+5mZmZmZmZM5mZmZmZmZmZk5v/////uTmZmb////
|
||||
///4mZmX//iZmZmZmZmZmZmZ////+Jmf//95n///+Zj///OZmZmZmZmTOZmZmZmZmZmZmf//////mZmZ
|
||||
mY//////+ZOZmZiJmZmZmZmZmZmZmY////+ZmP//+I////iP//+JmZmZmZmZkzmZmZmZmZmZmZj/////
|
||||
/4mZmZmf/////5k5mZOZmTmZmZmZmZmZmZmP///4mZP/////////////OZmZmZmZmZM5mZmZmZmZmZk/
|
||||
///////zmZmZm/////iZmZmZmZmZmZmZmZmZmZmZj///85mZj///////////+JmZmZmZmZmTOZmZmZmZ
|
||||
mZmZv///////+5mZmZmP///5mZmZmZmZmZmZmZmZmZmZmZ///3mZmZj//////////4mZmZmZmZmZkzmZ
|
||||
mZmZmZmZmb///4j///uZmZmZmP//mTmZmZmZmZmZmZmZmZmZmZmY/4OZmZmZeP///////4eZmZmZmZmZ
|
||||
mZM5mZmZmZmZmZmY/4OZOP+JmZmZmZmIiZOZmZmZmZmZmZmZmZmZmZmZmYiZmZmZmZk4iIiIiIOZmZmZ
|
||||
mZmZmZmTOZmZmZmZmZmZmTOZmZkzmZmZmZmZmZk5mZmZmZmZmZmZmZmZmZmZmZmZk5mZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmTGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZkwmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZkwA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZMACZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAABmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAJmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRAAAAA5mZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAACZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAAAAAGZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAOZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwAAAAAA
|
||||
AAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAA
|
||||
AAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZkwAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmTAAAAAAAAAAAAAAGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZEAAAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAAAAAATmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAAAAAAzmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTMAAAAAAAAAAAAAAAAAAAAAAAAAAAEzMzMzMzMzMzMzMzMzMz
|
||||
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxAAAAAAAAAAAAAAD////////////////////////4AAAA
|
||||
AAAAAAAAAB//////wAAAAAAAAAAAAAAD/////wAAAAAAAAAAAAAAAP////wAAAAAAAAAAAAAAAA////w
|
||||
AAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAAf//8AAAAAAAAAAAAAAAAAD//+AAAAAAAAAAAAAAAAA
|
||||
Af//AAAAAAAAAAAAAAAAAAD//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAA
|
||||
AAAAAAAf+AAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAA
|
||||
AAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AA
|
||||
AAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
|
||||
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
|
||||
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
|
||||
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
|
||||
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
|
||||
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAAAAAA+AA
|
||||
AAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAA
|
||||
AA/4AAAAAAAAAAAAAAAAAAAf/AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAA
|
||||
AAAAAAB//wAAAAAAAAAAAAAAAAAA//+AAAAAAAAAAAAAAAAAAf//wAAAAAAAAAAAAAAAAAP//+AAAAAA
|
||||
AAAAAAAAAAAH///4AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAD////8AAAAAAAAAAAAAAAD/////
|
||||
wAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAH////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
+247
@@ -0,0 +1,247 @@
|
||||
namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
{
|
||||
partial class PDDDBProdUserSelectEditNotesForm
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PDDDBProdUserSelectEditNotesForm));
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.cmbUserNotes = new System.Windows.Forms.ComboBox();
|
||||
this.lblTextCount = new System.Windows.Forms.Label();
|
||||
this.txtSkc = new System.Windows.Forms.TextBox();
|
||||
this.txtSpu = new System.Windows.Forms.TextBox();
|
||||
this.txtProdName = new System.Windows.Forms.TextBox();
|
||||
this.txtShopName = new System.Windows.Forms.TextBox();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.pictureBox1 = new System.Windows.Forms.PictureBox();
|
||||
this.label8 = new System.Windows.Forms.Label();
|
||||
this.btnOk = new TemuKJD.UserControls.ButtonEx();
|
||||
this.panel2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.BackColor = System.Drawing.Color.White;
|
||||
this.panel2.Controls.Add(this.cmbUserNotes);
|
||||
this.panel2.Controls.Add(this.lblTextCount);
|
||||
this.panel2.Controls.Add(this.txtSkc);
|
||||
this.panel2.Controls.Add(this.txtSpu);
|
||||
this.panel2.Controls.Add(this.txtProdName);
|
||||
this.panel2.Controls.Add(this.txtShopName);
|
||||
this.panel2.Controls.Add(this.label4);
|
||||
this.panel2.Controls.Add(this.label3);
|
||||
this.panel2.Controls.Add(this.label2);
|
||||
this.panel2.Controls.Add(this.label1);
|
||||
this.panel2.Controls.Add(this.pictureBox1);
|
||||
this.panel2.Controls.Add(this.label8);
|
||||
this.panel2.Controls.Add(this.btnOk);
|
||||
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel2.Location = new System.Drawing.Point(1, 33);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(391, 546);
|
||||
this.panel2.TabIndex = 1;
|
||||
//
|
||||
// cmbUserNotes
|
||||
//
|
||||
this.cmbUserNotes.FormattingEnabled = true;
|
||||
this.cmbUserNotes.Items.AddRange(new object[] {
|
||||
"",
|
||||
"已买",
|
||||
"重上"});
|
||||
this.cmbUserNotes.Location = new System.Drawing.Point(90, 431);
|
||||
this.cmbUserNotes.Name = "cmbUserNotes";
|
||||
this.cmbUserNotes.Size = new System.Drawing.Size(265, 25);
|
||||
this.cmbUserNotes.TabIndex = 400;
|
||||
this.cmbUserNotes.Text = "已买";
|
||||
//
|
||||
// lblTextCount
|
||||
//
|
||||
this.lblTextCount.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.lblTextCount.Location = new System.Drawing.Point(247, 160);
|
||||
this.lblTextCount.Name = "lblTextCount";
|
||||
this.lblTextCount.Size = new System.Drawing.Size(106, 17);
|
||||
this.lblTextCount.TabIndex = 399;
|
||||
this.lblTextCount.Text = "label5";
|
||||
this.lblTextCount.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
this.lblTextCount.Visible = false;
|
||||
//
|
||||
// txtSkc
|
||||
//
|
||||
this.txtSkc.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtSkc.Location = new System.Drawing.Point(90, 365);
|
||||
this.txtSkc.Name = "txtSkc";
|
||||
this.txtSkc.ReadOnly = true;
|
||||
this.txtSkc.Size = new System.Drawing.Size(265, 23);
|
||||
this.txtSkc.TabIndex = 398;
|
||||
//
|
||||
// txtSpu
|
||||
//
|
||||
this.txtSpu.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtSpu.Location = new System.Drawing.Point(90, 332);
|
||||
this.txtSpu.Name = "txtSpu";
|
||||
this.txtSpu.ReadOnly = true;
|
||||
this.txtSpu.Size = new System.Drawing.Size(265, 23);
|
||||
this.txtSpu.TabIndex = 397;
|
||||
//
|
||||
// txtProdName
|
||||
//
|
||||
this.txtProdName.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtProdName.Location = new System.Drawing.Point(90, 180);
|
||||
this.txtProdName.Multiline = true;
|
||||
this.txtProdName.Name = "txtProdName";
|
||||
this.txtProdName.ReadOnly = true;
|
||||
this.txtProdName.Size = new System.Drawing.Size(265, 142);
|
||||
this.txtProdName.TabIndex = 396;
|
||||
this.txtProdName.TextChanged += new System.EventHandler(this.txtProdName_TextChanged);
|
||||
//
|
||||
// txtShopName
|
||||
//
|
||||
this.txtShopName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.txtShopName.Location = new System.Drawing.Point(90, 398);
|
||||
this.txtShopName.Name = "txtShopName";
|
||||
this.txtShopName.ReadOnly = true;
|
||||
this.txtShopName.Size = new System.Drawing.Size(265, 23);
|
||||
this.txtShopName.TabIndex = 395;
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(27, 401);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(56, 17);
|
||||
this.label4.TabIndex = 394;
|
||||
this.label4.Text = "上传店铺";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(27, 183);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(56, 17);
|
||||
this.label3.TabIndex = 392;
|
||||
this.label3.Text = "商品标题";
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(27, 368);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(56, 17);
|
||||
this.label2.TabIndex = 391;
|
||||
this.label2.Text = " SKC ID";
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(27, 335);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(56, 17);
|
||||
this.label1.TabIndex = 390;
|
||||
this.label1.Text = " SPU ID";
|
||||
//
|
||||
// pictureBox1
|
||||
//
|
||||
this.pictureBox1.Anchor = System.Windows.Forms.AnchorStyles.Top;
|
||||
this.pictureBox1.Location = new System.Drawing.Point(128, 22);
|
||||
this.pictureBox1.Name = "pictureBox1";
|
||||
this.pictureBox1.Size = new System.Drawing.Size(136, 136);
|
||||
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
|
||||
this.pictureBox1.TabIndex = 389;
|
||||
this.pictureBox1.TabStop = false;
|
||||
//
|
||||
// label8
|
||||
//
|
||||
this.label8.AutoSize = true;
|
||||
this.label8.Location = new System.Drawing.Point(28, 434);
|
||||
this.label8.Name = "label8";
|
||||
this.label8.Size = new System.Drawing.Size(61, 17);
|
||||
this.label8.TabIndex = 386;
|
||||
this.label8.Text = "重上/已买";
|
||||
//
|
||||
// btnOk
|
||||
//
|
||||
this.btnOk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnOk.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnOk.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnOk.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnOk.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnOk.ForeColor = System.Drawing.Color.White;
|
||||
this.btnOk.Location = new System.Drawing.Point(300, 483);
|
||||
this.btnOk.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnOk.Name = "btnOk";
|
||||
this.btnOk.Size = new System.Drawing.Size(55, 26);
|
||||
this.btnOk.TabIndex = 372;
|
||||
this.btnOk.Text = "提交";
|
||||
this.btnOk.UseVisualStyleBackColor = false;
|
||||
this.btnOk.Click += new System.EventHandler(this.btnOk_Click);
|
||||
//
|
||||
// DbProductUserSelectEditNotesForm
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(393, 580);
|
||||
this.Controls.Add(this.panel2);
|
||||
this.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "DbProductUserSelectEditNotesForm";
|
||||
this.Text = "编辑上传备注";
|
||||
this.TitleText = "编辑上传备注";
|
||||
this.Load += new System.EventHandler(this.ProductSelectListForm_Load);
|
||||
this.Controls.SetChildIndex(this.panel2, 0);
|
||||
this.panel2.ResumeLayout(false);
|
||||
this.panel2.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private UserControls.ButtonEx btnOk;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.PictureBox pictureBox1;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.TextBox txtSkc;
|
||||
private System.Windows.Forms.TextBox txtSpu;
|
||||
private System.Windows.Forms.TextBox txtProdName;
|
||||
private System.Windows.Forms.TextBox txtShopName;
|
||||
private System.Windows.Forms.Label lblTextCount;
|
||||
private System.Windows.Forms.Label label8;
|
||||
private System.Windows.Forms.ComboBox cmbUserNotes;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
using AllBase.Helper;
|
||||
using AllBase.Model.Result;
|
||||
using TemuKJD.BaseForms;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using AllBase;
|
||||
using Work;
|
||||
using TemuKJD.BLL;
|
||||
|
||||
namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
{
|
||||
public partial class PDDDBProdUserSelectEditNotesForm : LRBaseForm
|
||||
{
|
||||
TemuDBProductSelect dbProdSelect = null;
|
||||
SetProductSelectNotesType selectNotesType;
|
||||
|
||||
public PDDDBProdUserSelectEditNotesForm(TemuDBProductSelect prod, SetProductSelectNotesType notesType= SetProductSelectNotesType.DbProduct)
|
||||
{
|
||||
InitializeComponent();
|
||||
|
||||
dbProdSelect = prod;
|
||||
selectNotesType = notesType;
|
||||
}
|
||||
|
||||
private void ProductSelectListForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
if (dbProdSelect != null)
|
||||
{
|
||||
txtProdName.Text = dbProdSelect.product_name;
|
||||
txtSkc.Text = dbProdSelect.skc_id;
|
||||
txtSpu.Text = dbProdSelect.spu_id;
|
||||
txtShopName.Text = dbProdSelect.shop_account;
|
||||
this.pictureBox1.ImageLocation = dbProdSelect.main_img.Replace("https", "http");
|
||||
this.cmbUserNotes.Text = dbProdSelect.user_notes;
|
||||
}
|
||||
|
||||
if (selectNotesType == SetProductSelectNotesType.DbProduct)
|
||||
{
|
||||
this.txtProdName.ReadOnly = true;
|
||||
this.lblTextCount.Visible = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
this.txtProdName.ReadOnly = true;
|
||||
this.lblTextCount.Visible = false;
|
||||
}
|
||||
}
|
||||
|
||||
private void btnOk_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (!string.IsNullOrWhiteSpace(this.cmbUserNotes.Text) && this.cmbUserNotes.Text.Trim() != "重上")
|
||||
this.cmbUserNotes.Text = "已买";
|
||||
|
||||
var url = "";
|
||||
if (selectNotesType == SetProductSelectNotesType.DbProduct)
|
||||
url = BaseClass.BuildObjString("product/mdy_product_select_notes");
|
||||
else
|
||||
url = BaseClass.BuildObjString("product_third/mdy_product_select_notes");
|
||||
var data = UserLogin.GetSignaturex() +
|
||||
"&db_id=" + dbProdSelect.id + "&user_notes=" + this.cmbUserNotes.Text.Trim();
|
||||
|
||||
var html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
{
|
||||
BaseMsgForm.ShowError("重上/已买备注编辑失败,请重试!" + BaseRegex.GetStringJson(ref html, "msg"));
|
||||
}
|
||||
else
|
||||
{
|
||||
dbProdSelect.user_notes = this.cmbUserNotes.Text.Trim();
|
||||
if (selectNotesType == SetProductSelectNotesType.DbProduct)
|
||||
{
|
||||
dbProdSelect.fission_product_name = this.txtProdName.Text.Trim();
|
||||
}
|
||||
this.Close();
|
||||
}
|
||||
}
|
||||
|
||||
private void lblSPUId_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void txtProdName_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
var textNumber = Encoding.GetEncoding("gb2312").GetBytes(txtProdName.Text.Trim()).Length;
|
||||
lblTextCount.Text = "" + textNumber + "/250";
|
||||
if (textNumber > 250)
|
||||
lblTextCount.ForeColor = Color.Red;
|
||||
else
|
||||
lblTextCount.ForeColor = Color.Gray;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,298 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAgIAQYAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
|
||||
AAD///8AAAAAAAAAAAAAAAAABEZmbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZmZkQAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAZszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMxmAAAAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMxkAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzGQAAAAAAAAAAAAAAAAAAAbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMYAAAAAAAAAAAAAAAAARszMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAABszMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAAAAbMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMx3d4iIiIiIiIh3fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAABszMzMzMzMzMzM
|
||||
zMzMzMzMzMzHeIiIiIj/////////iIiIiId8zMzMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAAAGzMzMzMzM
|
||||
zMzMzMzMzMzMzMeIiI/////////////////////4iIh8zMzMzMzMzMzMzMzMzMzMzMxgAAAAAAAATMzM
|
||||
zMzMzMzMzMzMzMzMzHiI////////////////////////////iIfMzMzMzMzMzMzMzMzMzMzMxAAAAAAA
|
||||
AGzMzMzMzMzMzMzMzMzMx3iP///////////////////////////////4iHzMzMzMzMzMzMzMzMzMzMYA
|
||||
AAAAAAbMzMzMzMzMzMzMzMzMx3iP//////////////////////////////////+IfMzMzMzMzMzMzMzM
|
||||
zMzMYAAAAABMzMzMzMzMzMzMzMzMx3iP/////////////////////////////////////4h8zMzMzMzM
|
||||
zMzMzMzMzMQAAAAAbMzMzMzMzMzMzMzMzHiP////////////////////////////////////////h3zM
|
||||
zMzMzMzMzMzMzMzGAAAABMzMzMzMzMzMzMzMzHiP////////////////////////////////////////
|
||||
//iHzMzMzMzMzMzMzMzMzEAAAAbMzMzMzMzMzMzMzMeI////////////////////////////////////
|
||||
////////+IfMzMzMzMzMzMzMzMxgAABMzMzMzMzMzMzMzMx4////////////////////////////////
|
||||
//////////////+IfMzMzMzMzMzMzMzMxAAAbMzMzMzMzMzMzMzHj///////////////////////////
|
||||
/////////////////////4fMzMzMzMzMzMzMzMYAAMzMzMzMzMzMzMzMeP//////////////////////
|
||||
///////////////////////////4fMzMzMzMzMzMzMzMAAbMzMzMzMzMzMzMx4//////////////////
|
||||
/////////////////////////////////4fMzMzMzMzMzMzMzGAGzMzMzMzMzMzMzHj/////////////
|
||||
///////////////////////////////////////4fMzMzMzMzMzMzMxgDMzMzMzMzMzMzMyI////////
|
||||
/////////////////////////////////////////////4zMzMzMzMzMzMzMwEzMzMzMzMzMzMzHj///
|
||||
//////////////////////////////////////////////////+HzMzMzMzMzMzMzMRszMzMzMzMzMzM
|
||||
eP//////////////////////////////////////////////////////+HzMzMzMzMzMzMzGbMzMzMzM
|
||||
zMzMzHj///////////////////////////////////////////////////////+MzMzMzMzMzMzMxmzM
|
||||
zMzMzMzMzMyP////+IiP////////////////////////////////////////+I//////h8zMzMzMzMzM
|
||||
zMZszMzMzMzMzMzHj////4iIiI//////////////////////////////////////+IiIj/////jMzMzM
|
||||
zMzMzMzGbMzMzMzMzMzMyP////iIiIiI/////////////////////////////////////4iIiIj////4
|
||||
fMzMzMzMzMzMxszMzMzMzMzMzHj////4iIiIiP////////////////////////////////////+IiIiI
|
||||
j////4zMzMzMzMzMzMbMzMzMzMzMzMx4////iIiIiIj////////////////////////////////////4
|
||||
iIiIiI////+HzMzMzMzMzMzMzMzMzMzMzMzMj////4iIiIiI//////////////+IiP//iI//////////
|
||||
////+IiIiIiP////h8zMzMzMzMzMzMzMzMzMzMzMzI/////4iIiIiP/////////////4d3eIiIeIj///
|
||||
//////////+IiIiIj/////jMzMzMzMzMzMzMzMzMzMzMzMyP////+IiIiIj/////////////iIiId3eI
|
||||
iI//////////////iIiIiI/////4zMzMzMzMzMzMzMzMzMzMzMzHj/////+IiIiP/////////////4//
|
||||
/4d4j/+P//////////////iIiIj/////+MzMzMzMzMzMzMzMzMzMzMzMx4//////+IiP////////////
|
||||
///////4j///////////////////iIiP//////jMzMzMzMzMzMzMzMzMzMzMzMeP//////////+IiIj/
|
||||
///////////////////////////////////////////4fMzMzMzMzMzMzMzMzMzMzMzH//////////+H
|
||||
fMx8eP//////////////////////////iId3iP//////////+HzMzMzMzMzMzMzMzMzMzMzMyP//////
|
||||
///4fMzHh8eP////////////////////////+MzMzMd4//////////h8zMzMzMzMzMzMzMzMzMzMzMf/
|
||||
////////+MzMePjMeP///////////////////////4zMzMeHx4/////////4fMzMzMzMzMzMzMzMzMzM
|
||||
zMzH/////////4fMd3eHzMeP//////////////////////iMzMzIiHx4////////+HzMzMzMzMzMzMzM
|
||||
zMzMzMzMx/////////+Hx4iIfMzMj//////////////////////4h3d8x4h8yP////////jMzMzMzMzM
|
||||
zMzMzMzMzMzMzMeP////////+HiP+IfMzI//////////////////////+HiIiHd3zHj////////4zMzM
|
||||
zMzMzMzMzMzMzMzMzMzHj/////////h4//+HzMeP//////////////////////h4//h8zMyP////////
|
||||
+MzMzMzMzMzMzMzMzMzMzMzMzI/////////4iP//h8x4///////////////////////4j//4fMzHj///
|
||||
//////jMzMzMzMzMzMzMzMzMzMzMzMyP///////4iIiP+IfHj///////////////////////+Ij/+HzM
|
||||
eP/////////4zMzMzMzMzMzMzMzMzMzMzMzMj///////iIiIiIh3eP////////////////////////+I
|
||||
j4h8x3iI////////h8zMzMzMzMzMzMzMzMzMzMzMzH//////+Hj///iIiI//////////////////////
|
||||
/////4iId4iIiIj//////4zMzMzMzMzMzMzMzMzMzMzMzMx4//////iP////iP//////////////////
|
||||
/////////////4iP//iI//////+MzMzMzMzMzMzMzMzMzMzMzMzMyP//////////+I//////////////
|
||||
///////////////////4eP//iP//////jMzMzMzMzMzMzMzMzMzMzMzMzMj///////////iP////////
|
||||
/////////////////////////4j/////////+HzMzMzMzMzMzMzMzMzMzMzMzMzHj///////////////
|
||||
//////////////////////////////+I//////////jMzMzMzMzMzMzMzMzMzMzMzMzMzI//////////
|
||||
//////////////////////////////////////////////+HzMzMzMzMzMzMzMzMzMzMzMzMzMyP////
|
||||
////////////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
eP///////////////////////////////////////////////////////4zMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMj///////////////////////////////////////////////////////h8zMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzHj//////////////////////////////////////////////////////4zMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzI//////////////////////////////////////////////////////h8zMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMx4////////////////////////////////////////////////////+HzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMyI////+I////////////////////////////////////////////
|
||||
//h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////+Ij/////////////////////////////////////
|
||||
//////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////+IiIiIj//////////////////////////4
|
||||
////iI/////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMiP/////4iIiP//////////////////////
|
||||
////+IiIiIj/////iHzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP//////////////////////////
|
||||
///////////4iIj//////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP////////////////////
|
||||
//////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiP//////////////
|
||||
//////////////////////////////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHj/////////
|
||||
///////////////////////////////////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP////
|
||||
////////////////////////////////////////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzI
|
||||
j/////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMeP//////////////////////////////////////////////h8zMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMx4////////+I//////////////////////////////////////jMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMeP///////4iIj///////////////////////////iP///////4fMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMx4////////iIiIiP///////////////////////4iIiP///////4zMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiI////////////////////+IiIiIj///////+HzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIj////////////////////4iIiIiIj///////
|
||||
+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiI////////////////////+IiIiIiI//
|
||||
//////h8zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIiP////////////////////iIiI
|
||||
iIiI///////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMj///////+IiIiIiIj/////iIiIiIiIj/////
|
||||
/4iIiIiIiP///////4zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4////////iIiIiIiI/////4zMzMzMzM
|
||||
j/////+IiIiIiIiP//////+HzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP//////+IiIiIiIj/////+MzM
|
||||
zMzMzI//////+IiIiIiIj///////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzI////////iIiIiIiI////
|
||||
//jMzMzMzMyP//////iIiIiIiIj///////jMzMzMzMzMzMzMzMzMzMzMzMzMzMzMeP///////4iIiIiI
|
||||
iP/////4zMzMzMzMj//////4iIiIiIiI///////4fMzMzMzMzMzMzMzMzMzMzMzMzMzMzI////////iI
|
||||
iIiIiI//////+MzMzMzMzI//////+IiIiIiIiP///////4zMzMzMzMzMzMzMzMzMzMzMzMzMzMyP////
|
||||
///4iIiIiIiP//////fMzMzMzMyP//////+IiIiIiIj///////+MzMzMzMzMzMzMzMzMzMzMzMzMzMzH
|
||||
j///////+IiIiIiI//////+HzMzMzMzMeP//////iIiIiIiIj///////jMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMyP////////iIiIiIiP//////jMzMzMzMzHj///////iIiIiIiI///////4fMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMj///////+IiIiIiI///////4zMzMzMzMzI///////4iIiIiIiI///////3zMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzI////////iIiIiIiP//////+MzMzMzMzMyP//////+IiIiIiIiP//////+MzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMeP///////4iIiIiIj///////jMzMzMzMzMj///////+IiIiIiIj///////jM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzI////////+IiIiIiP//////+HzMzMzMzMzHj///////iIiIiIiI////
|
||||
///4zMzMzMzMzMzMzMzMzMzMzMzMzMyP////////iIiIiI////////jMzMzMzMzMzI///////4iIiIiI
|
||||
iI//////+MzMzMzMzMzMzMzMzMzMzMzMzMzMj////////4iIiIiP///////4zMzMzMzMzMyP///////4
|
||||
iIiIiIiP//////jMzMzMzMzMzMzMzMzMzMzMzMzMzI////////+IiIiI////////h8zMzMzMzMzMeP//
|
||||
/////4iIiIiIj//////4fMzMzMzMzMzMzMzMzMzMzMzMzMyP////////iIiIj////////4fMzMzMzMzM
|
||||
zHj///////+IiIiIiI//////+HzMzMzMzMzMzMzMzMzMzMzMzMzHj/////////iIiP////////+MzMzM
|
||||
zMzMzMzI////////+IiIiIiP//////h8zMzMzMzMzMzMxmzMzMzMzMzMx4/////////4iP/////////4
|
||||
fMzMzMzMzMzMx4////////+IiIiIj//////4fMzMzMzMzMzMzMZszMzMzMzMzMeP////////////////
|
||||
////+MzMzMzMzMzMzMyP////////iIiIiP//////+HzMzMzMzMzMzMzGbMzMzMzMzMzH////////////
|
||||
//////////fMzMzMzMzMzMzMeP////////iIiIj///////98zMzMzMzMzMzMxmzMzMzMzMzMyP//////
|
||||
//////////////+HzMzMzMzMzMzMzHj/////////+IiP////////jMzMzMzMzMzMzMZszMzMzMzMzMj/
|
||||
////////////////////jMzMzMzMzMzMzMzIj////////////////////4zMzMzMzMzMzMzGTMzMzMzM
|
||||
zMzH////////////////////+HzMzMzMzMzMzMzMx4////////////////////+MzMzMzMzMzMzMxAzM
|
||||
zMzMzMzMx/////////////////////jMzMzMzMzMzMzMzMyI///////////////////4fMzMzMzMzMzM
|
||||
zMAGzMzMzMzMzMeP//////////////////+HzMzMzMzMzMzMzMzMeP//////////////////+HzMzMzM
|
||||
zMzMzMxgBszMzMzMzMzHj//////////////////4fMzMzMzMzMzMzMzMzMeP//////////////////h8
|
||||
zMzMzMzMzMzMYADMzMzMzMzMzI//////////////////+HzMzMzMzMzMzMzMzMzHj///////////////
|
||||
///4zMzMzMzMzMzMzAAAbMzMzMzMzMyP/////////////////4fMzMzMzMzMzMzMzMzMzHj/////////
|
||||
////////+MzMzMzMzMzMzMYAAEzMzMzMzMzMj/////////////////+MzMzMzMzMzMzMzMzMzMzIj///
|
||||
/////////////4fMzMzMzMzMzMzEAAAGzMzMzMzMzHj////////////////4fMzMzMzMzMzMzMzMzMzM
|
||||
x4////////////////+MzMzMzMzMzMzMYAAABMzMzMzMzMx4////////////////h8zMzMzMzMzMzMzM
|
||||
zMzMzMx4///////////////4fMzMzMzMzMzMzEAAAABszMzMzMzMx4//////////////+HzMzMzMzMzM
|
||||
zMzMzMzMzMzMx4//////////////+MzMzMzMzMzMzMYAAAAATMzMzMzMzMyP/////////////4fMzMzM
|
||||
zMzMzMzMzMzMzMzMzMeI/////////////4fMzMzMzMzMzMzEAAAAAAbMzMzMzMzMeP////////////h8
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMeI////////////h8zMzMzMzMzMzMYAAAAAAAbMzMzMzMzMeP////////
|
||||
//iHzMzMzMzMzMzMzMzMzMzMzMzMzMyI//////////+HzMzMzMzMzMzMxgAAAAAAAEzMzMzMzMzMeP//
|
||||
//////iHfMzMzMzMzMzMzMzMzMzMzMzMzMzMx4/////////4fMzMzMzMzMzMzMQAAAAAAAAGzMzMzMzM
|
||||
zMeI//////iHfMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx4j//////4h8zMzMzMzMzMzMxgAAAAAAAAAGzM
|
||||
zMzMzMzMx4iIiIiHzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzHiIj/+Ih3zMzMzMzMzMzMzGAAAAAAAA
|
||||
AAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMx3iId8zMzMzMzMzMzMzMYAAA
|
||||
AAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
xgAAAAAAAAAAAAAGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzGAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzGQAAAAAAAAAAAAAAAAAbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMYAAAAAAAAAAAAAAAAAAARszMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAABGzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAEbMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMZAAAAAAAAAAAAAAAAAAAAAAAAAAABmzMzMzMzMzMzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzGYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARGZmzMzMzMzMzMzMzM
|
||||
zMzMzMzMzMzMzMzMzMzMzMzMzMzMzMZmZEAAAAAAAAAAAAAAAAD////+AAAAAAAAAAD/////////AAAA
|
||||
AAAAAAAAAP//////+AAAAAAAAAAAAAAf/////+AAAAAAAAAAAAAAB/////+AAAAAAAAAAAAAAAH////+
|
||||
AAAAAAAAAAAAAAAAf////AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAAP///gAAAAAAAAAAAAAAAA
|
||||
B///wAAAAAAAAAAAAAAAAAP//4AAAAAAAAAAAAAAAAAB//8AAAAAAAAAAAAAAAAAAP/+AAAAAAAAAAAA
|
||||
AAAAAAB//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAAAAAAAAAf+AAAAAAA
|
||||
AAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAAAAAAAAAAAAAAB+AA
|
||||
AAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AAAAAAAAAAAAAAAAAA
|
||||
AAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABAAAAAAAA
|
||||
AAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAADwAAAAAAA
|
||||
AAAAAAAAAAAAA+AAAAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AA
|
||||
AAAAAAAAAAAAAAAAAA/4AAAAAAAAAAAAAAAAAAAf+AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAA
|
||||
AD/+AAAAAAAAAAAAAAAAAAB//gAAAAAAAAAAAAAAAAAAf/8AAAAAAAAAAAAAAAAAAP//gAAAAAAAAAAA
|
||||
AAAAAAH//8AAAAAAAAAAAAAAAAAD///gAAAAAAAAAAAAAAAAB///8AAAAAAAAAAAAAAAAA////wAAAAA
|
||||
AAAAAAAAAAA////+AAAAAAAAAAAAAAAAf////4AAAAAAAAAAAAAAAf/////gAAAAAAAAAAAAAAf/////
|
||||
+AAAAAAAAAAAAAAf//////8AAAAAAAAAAAAA/////////gAAAAAAAAAAf////w==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,531 @@
|
||||
using AllBase;
|
||||
using AllBase.Helper;
|
||||
using AllBase.Model.Result;
|
||||
using NaiBa.Util.Extension;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using TemuKJD.Extension;
|
||||
using TemuKJD.BaseForms;
|
||||
using TemuKJD.ToolForms;
|
||||
using Work;
|
||||
using TemuKJD.PDDForms.ShopForms;
|
||||
|
||||
namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
{
|
||||
public partial class PDDDBProdUserSelectForm : BaseForm
|
||||
{
|
||||
bool isInit = false;
|
||||
CheckBox chkSelectAll = null;
|
||||
List<TemuDBProductSelect> lstTemuDBProductSelect = new List<TemuDBProductSelect>();
|
||||
public PDDDBProdUserSelectForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void UserSelectDbProductForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
chkSelectAll = dgvShop.Columns["colSelect"].AddHeaderCheckBox(HorizontalAlignment.Center, 0, 0, null, null, false);
|
||||
dgvShop.Columns["colSelect"].HeaderText = "";
|
||||
chkSelectAll.Width = chkSelectAll.Height = 13;
|
||||
chkSelectAll.CheckedChanged += chkSelectAll_CheckedChanged;
|
||||
chkSelectAll.Checked = true;
|
||||
|
||||
this.dgvSelectProduct.AddSelectorColumn("colCheck");
|
||||
this.ucSplitPage1.PageChange += UcSplitPage1_PageChange;
|
||||
}
|
||||
|
||||
private void UcSplitPage1_PageChange(object obj)
|
||||
{
|
||||
SearchDbProdSelect(this.ucSplitPage1.CurrentPage);
|
||||
}
|
||||
|
||||
private void chkSelectAll_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (!chkSelectAll.Checked)
|
||||
{
|
||||
foreach (DataGridViewRow row in dgvShop.Rows)
|
||||
{
|
||||
row.Cells["colSelect"].Value = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//var list = GlobalConfig.ShopLoginList.Where(s => s.LoginStatus == "登录成功").Select(ss => ss.ShopId);
|
||||
foreach (DataGridViewRow row in dgvShop.Rows)
|
||||
{
|
||||
//if (list.Any(l => l == row.Cells["colShopId"]?.Value?.ToString()))
|
||||
row.Cells["colSelect"].Value = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void btnRefreshShop_Click(object sender, EventArgs e)
|
||||
{
|
||||
RefreshShop();
|
||||
}
|
||||
|
||||
private void UserSelectDbProductForm_VisibleChanged(object sender, EventArgs e)
|
||||
{
|
||||
if (Visible == true)
|
||||
{
|
||||
RefreshShop();
|
||||
|
||||
if (dgvSelectProduct.Rows.Count == 0)
|
||||
SearchDbProdSelect(1);
|
||||
}
|
||||
}
|
||||
|
||||
private void RefreshShop()
|
||||
{
|
||||
// 店铺Id
|
||||
var selectIds = dgvShop.Rows.Cast<DataGridViewRow>().Where(row
|
||||
=> row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList();
|
||||
// 获取被删除的店铺
|
||||
List<DataGridViewRow> dgvRowList = dgvShop.Rows.Cast<DataGridViewRow>().Where(row
|
||||
=> !GlobalConfig.ShopLoginList.Any(s => s.ShopId == row.Cells["colShopId"]?.Value?.ToString())).ToList();
|
||||
// 更新被删除的店铺列表
|
||||
foreach (var row in dgvRowList)
|
||||
{
|
||||
dgvShop.Rows.Remove(row);
|
||||
}
|
||||
// 绑定其他店铺(含新导入的店铺)
|
||||
foreach (ShopLoginInfo shopEntity in GlobalConfig.ShopLoginList)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(shopEntity.ShopId))
|
||||
BindShop(shopEntity, selectIds);
|
||||
}
|
||||
}
|
||||
|
||||
private void BindShop(ShopLoginInfo shopEntity, List<string> selectShopId = null)
|
||||
{
|
||||
if (shopEntity == null)
|
||||
return;
|
||||
if (selectShopId == null)
|
||||
selectShopId = new List<string>();
|
||||
|
||||
bool canUse = shopEntity.LoginStatus == "登录成功";
|
||||
canUse = true; // 内部库不需要校验登录状态
|
||||
var row = dgvShop.Rows.Cast<DataGridViewRow>().FirstOrDefault(p => p.Cells.GetCellValueFromColumnName("colShopId").ParseToString() == shopEntity.ShopId);
|
||||
if (row == null)
|
||||
{
|
||||
this.dgvShop.Rows.Add(
|
||||
!isInit || (selectShopId.Contains(shopEntity.ShopId) && canUse),
|
||||
shopEntity.LoginName,
|
||||
shopEntity.ShopId,
|
||||
shopEntity.ShopAccount,
|
||||
shopEntity.Notes,
|
||||
"选择商品",
|
||||
canUse ? "在线" : "掉线",
|
||||
canUse,
|
||||
shopEntity.AddProductRemaining,
|
||||
string.Empty
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
row.Cells["colSelect"].Value = !isInit || (selectShopId.Contains(shopEntity.ShopId) && canUse);
|
||||
row.Cells["colShopLoginName"].Value = shopEntity.LoginName;
|
||||
row.Cells["colShopName"].Value = shopEntity.ShopAccount;
|
||||
row.Cells["colShopNotes"].Value = shopEntity.Notes;
|
||||
row.Cells["colLoginStatus"].Value = canUse ? "在线" : "掉线";
|
||||
row.Cells["colLoginStatus"].Style.ForeColor = canUse ? Color.Green : Color.Red;
|
||||
row.Cells["colCanUse"].Value = canUse;
|
||||
row.Cells["colRemaining"].Value = shopEntity.AddProductRemaining;
|
||||
}
|
||||
isInit = false;
|
||||
}
|
||||
|
||||
private void dgvShop_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
||||
{
|
||||
if (e.ColumnIndex < 0 || e.RowIndex < 0)
|
||||
return;
|
||||
string headerText = dgvShop.Columns[e.ColumnIndex].HeaderText;
|
||||
string columnName = dgvShop.Columns[e.ColumnIndex].Name;
|
||||
string shopId = dgvShop.Rows[e.RowIndex].Cells["colShopId"].Value.ParseToString();
|
||||
string shopAccount = dgvShop.Rows[e.RowIndex].Cells["colShopName"].Value.ToString();
|
||||
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId.ToString());
|
||||
var row = dgvShop.Rows[e.RowIndex];
|
||||
switch (columnName)
|
||||
{
|
||||
case "colSelect":
|
||||
//if (row.Cells["colCanUse"].Value.ParseToBool())
|
||||
{
|
||||
row.Cells["colSelect"].Value = !row.Cells["colSelect"].Value.ParseToBool();
|
||||
|
||||
chkSelectAll.CheckedChanged -= chkSelectAll_CheckedChanged;
|
||||
if (dgvShop.Rows.Cast<DataGridViewRow>().All(r => r.Cells["colSelect"].Value.ParseToBool()))
|
||||
chkSelectAll.Checked = true;
|
||||
else
|
||||
chkSelectAll.Checked = false;
|
||||
chkSelectAll.CheckedChanged += chkSelectAll_CheckedChanged;
|
||||
}
|
||||
//else
|
||||
{
|
||||
//BaseMsgForm.ShowInfo("店铺未登录!");
|
||||
}
|
||||
break;
|
||||
|
||||
case "colSelectProduct": // 认领商品
|
||||
PDDDBProdListForm dbProductForm = new PDDDBProdListForm(shop);
|
||||
dbProductForm.ShowDialog();
|
||||
this.RefreshShop();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void btnSearch_Click(object sender, EventArgs e)
|
||||
{
|
||||
var lstShopId = dgvShop.Rows.Cast<DataGridViewRow>().Where(row
|
||||
=> row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList();
|
||||
if (lstShopId.Count == 0)
|
||||
{
|
||||
BaseMsgForm.ShowInfo("请选择店铺!");
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.ucSplitPage1.CurrentPage != 1)
|
||||
this.ucSplitPage1.CurrentPage = 1;
|
||||
else
|
||||
SearchDbProdSelect(1);
|
||||
}
|
||||
|
||||
public void SearchDbProdSelect(int page)
|
||||
{
|
||||
if (InvokeRequired)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.pbLoading.Visible = true;
|
||||
this.dgvSelectProduct.Rows.Clear();
|
||||
lstTemuDBProductSelect.Clear();
|
||||
}));
|
||||
}
|
||||
else
|
||||
{
|
||||
this.pbLoading.Visible = true;
|
||||
this.dgvSelectProduct.Rows.Clear();
|
||||
lstTemuDBProductSelect.Clear();
|
||||
}
|
||||
Task.Run(() =>
|
||||
{
|
||||
int pageCount;
|
||||
var list = GetSelectProductList(out pageCount, page, 200);
|
||||
lstTemuDBProductSelect.AddRange(list);
|
||||
this.ucSplitPage1.TotalPage = pageCount;
|
||||
|
||||
foreach (var prodSelect in lstTemuDBProductSelect)
|
||||
{
|
||||
//Image image = null;
|
||||
//string imgUrl = prodSelect?.main_img?.Replace("https", "http");
|
||||
//string rst = "";
|
||||
//if (!string.IsNullOrWhiteSpace(imgUrl))
|
||||
// image = GetHtml.GetUrlImg(imgUrl, out rst);
|
||||
//if (!string.IsNullOrEmpty(rst))
|
||||
// BaseMsgForm.ShowError(rst);
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
int rowIndex = this.dgvSelectProduct.Rows.Add(
|
||||
false,
|
||||
prodSelect.id,
|
||||
prodSelect.shop_id,
|
||||
prodSelect.shop_account,
|
||||
"进店",
|
||||
"登录",
|
||||
prodSelect.spu_id,
|
||||
prodSelect.skc_id,
|
||||
prodSelect.main_img,
|
||||
defaultBitmap,
|
||||
prodSelect.product_name, // 用户端显示商品原名
|
||||
prodSelect.cat_name,
|
||||
prodSelect.ext_code,
|
||||
prodSelect.status,
|
||||
prodSelect.draft_id,
|
||||
prodSelect.notes,
|
||||
(prodSelect.user_notes + " 编辑").Trim(),
|
||||
"删除");
|
||||
|
||||
dgvSelectProduct.Rows[rowIndex].Height = 60;
|
||||
}));
|
||||
}
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
ShowDgvImg();
|
||||
this.pbLoading.Visible = false;
|
||||
}));
|
||||
});
|
||||
}
|
||||
|
||||
public List<TemuDBProductSelect> GetSelectProductList(out int pageCount, int page = 1, int pageSize = 50)
|
||||
{
|
||||
var lstShopId = dgvShop.Rows.Cast<DataGridViewRow>().Where(row
|
||||
=> row.Cells["colSelect"]?.Value.ParseToBool() == true).Select(r => r.Cells["colShopId"]?.Value.ToString()).ToList();
|
||||
|
||||
List<TemuDBProductSelect> list = new List<TemuDBProductSelect>();
|
||||
pageCount = 1;
|
||||
|
||||
var url = BaseClass.BuildObjString("product/get_user_select_product_list");
|
||||
var data = "";
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
data = UserLogin.GetSignaturex() +
|
||||
"&page=" + page +
|
||||
"&page_size=" + pageSize +
|
||||
//"&out_product_id=" + dbId +
|
||||
//"&main_user_name=" + shop.UserName +
|
||||
//"&sub_user_name=" + shop.SubUserName +
|
||||
"&search_spu=" + txtSPU.Text +
|
||||
"&search_skc=" + txtSKC.Text +
|
||||
"&search_ext_code=" + txtExtCode.Text +
|
||||
"&search_prod_name=" + txtProdName.Text +
|
||||
"&search_shop_id=" + txtShopId.Text +
|
||||
"&search_shop_account=" + txtShopName.Text +
|
||||
"&search_notes=" + (cmbNotes.Text == "全部" ? "" : cmbNotes.Text) +
|
||||
"&search_user_notes=" + (cmbUserNotes.Text == "全部" ? "" : cmbUserNotes.Text) +
|
||||
"&status=" + (cmbStatus.Text == "全部" ? "" : cmbStatus.Text) +
|
||||
"&shop_ids=\"" + string.Join("\",\"", lstShopId) + "\"";
|
||||
}));
|
||||
var html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
BaseMsgForm.ShowError("认领商品查询失败,请重试!" + BaseRegex.GetStringJson(ref html, "msg"));
|
||||
}));
|
||||
return new List<TemuDBProductSelect>();
|
||||
}
|
||||
|
||||
int count = BaseRegex.GetIntJson(ref html, "count");
|
||||
pageCount = Math.Ceiling(1.0 * count / pageSize).ParseToInt();
|
||||
pageCount = Math.Max(pageCount, 1);
|
||||
|
||||
var jArr = JObject.Parse(html)["data"];
|
||||
if (jArr.Count() == 0)
|
||||
return list;
|
||||
var sProd = JsonHelper.SerializeObject(jArr);
|
||||
|
||||
try
|
||||
{
|
||||
list = JsonHelper.DeserializeJsonToList<TemuDBProductSelect>(sProd);
|
||||
return list;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return new List<TemuDBProductSelect>();
|
||||
}
|
||||
}
|
||||
|
||||
private void dgvSelectProduct_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
||||
{
|
||||
if (e.ColumnIndex < 0 || e.RowIndex < 0)
|
||||
return;
|
||||
string headerText = dgvSelectProduct.Columns[e.ColumnIndex].HeaderText;
|
||||
var dbId = dgvSelectProduct.Rows[e.RowIndex].Cells["colSelectId"].Value.ParseToString();
|
||||
var dbProduct = lstTemuDBProductSelect.FirstOrDefault(p => p.id.ToString() == dbId);
|
||||
var shopId = dgvSelectProduct.Rows[e.RowIndex].Cells["colSupplierId"].Value.ParseToString();
|
||||
var draftId = dgvSelectProduct.Rows[e.RowIndex].Cells["colDraftId"].Value.ParseToString();
|
||||
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId);
|
||||
|
||||
switch (headerText)
|
||||
{
|
||||
case "删除":
|
||||
if (BaseMsgForm.ShowConfirm("确定删除商品吗?删除后不可恢复!").DialogResult == DialogResult.Cancel)
|
||||
return;
|
||||
var rst = DeleteProduct(dbId);
|
||||
if (rst)
|
||||
{
|
||||
SearchDbProdSelect(this.ucSplitPage1.CurrentPage);
|
||||
}
|
||||
break;
|
||||
case "进店":
|
||||
{
|
||||
PDDShopLoginForm shopLoginForm = new PDDShopLoginForm(shop);
|
||||
//shopLoginForm.InitUrl = "https://seller.kuajingmaihuo.com/goods/product/draft";
|
||||
shopLoginForm.InitUrl = "https://agentseller.temu.com/goods/draft";
|
||||
shopLoginForm.InitUrl = "https://agentseller.temu.com";
|
||||
shopLoginForm.openType = EnumOpenType.manage;
|
||||
shopLoginForm.WindowState = FormWindowState.Maximized;
|
||||
shopLoginForm.ShowDialog();
|
||||
}
|
||||
break;
|
||||
case "重上/已买":
|
||||
{
|
||||
PDDDBProdUserSelectEditNotesForm userNotesForm = new PDDDBProdUserSelectEditNotesForm(dbProduct);
|
||||
userNotesForm.ShowDialog();
|
||||
dgvSelectProduct.Rows[e.RowIndex].Cells["colUserNotes"].Value = (dbProduct.user_notes + " 编辑").Trim();
|
||||
}
|
||||
break;
|
||||
case "上传商品Id":
|
||||
//if (!string.IsNullOrEmpty(draftId) && shop != null)
|
||||
//{
|
||||
// ShopLoginForm shopLoginForm = new ShopLoginForm(shop);
|
||||
// shopLoginForm.InitUrl = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?productDraftId=" +
|
||||
// draftId + "&from=productDraftList";
|
||||
// shopLoginForm.openType = EnumOpenType.manage;
|
||||
// shopLoginForm.WindowState = FormWindowState.Maximized;
|
||||
// shopLoginForm.ShowDialog();
|
||||
//}
|
||||
break;
|
||||
case "图片":
|
||||
ShowImgForm imgFrom = new ShowImgForm(dgvSelectProduct.Rows[e.RowIndex].Cells["colImgUrl"].Value.ParseToString());
|
||||
imgFrom.ShowDialog();
|
||||
break;
|
||||
case "":
|
||||
dgvSelectProduct.Rows[e.RowIndex].Cells["colCheck"].Value = !(bool)dgvSelectProduct.Rows[e.RowIndex].Cells["colCheck"].Value;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private bool DeleteProduct(string dbId)
|
||||
{
|
||||
var url = BaseClass.BuildObjString("product/del_select_product");
|
||||
var data = UserLogin.GetSignaturex() +
|
||||
"&db_id=" + dbId;
|
||||
var html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
{
|
||||
BaseMsgForm.ShowError("删除商品失败,请重试!" + BaseRegex.GetStringJson(ref html, "msg"));
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private void btnDelSelect_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (BaseMsgForm.ShowConfirm("确定删除选中商品吗?删除后不可恢复!").DialogResult == DialogResult.Cancel)
|
||||
return;
|
||||
|
||||
var DbIdLst = dgvSelectProduct.Rows.Cast<DataGridViewRow>().Where(row
|
||||
=> row.Cells["colCheck"]?.Value.ParseToBool() == true).Select(r => r.Cells["colSelectId"]?.Value.ToString()).ToList();
|
||||
|
||||
this.pbLoading.Visible = true;
|
||||
this.statusBar.lblTaskStatus.Text = "正在删除...";
|
||||
this.statusBar.pgbTaskProgress.Value = 0;
|
||||
this.statusBar.pgbTaskProgress.Maximum = DbIdLst.Count;
|
||||
this.statusBar.pgbTaskProgress.Text = "0" + "/" + DbIdLst.Count;
|
||||
Task.Run(() =>
|
||||
{
|
||||
foreach (var dbId in DbIdLst)
|
||||
{
|
||||
try
|
||||
{
|
||||
DeleteProduct(dbId);
|
||||
Thread.Sleep(20);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
BaseMsgForm.ShowInfo(ex.Message);
|
||||
}));
|
||||
}
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.statusBar.pgbTaskProgress.Value++;
|
||||
this.statusBar.pgbTaskProgress.Text = this.statusBar.pgbTaskProgress.Value.ToString() + "/" + DbIdLst.Count;
|
||||
}));
|
||||
}
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.statusBar.pgbTaskProgress.Value = DbIdLst.Count;
|
||||
this.statusBar.lblTaskStatus.Text = "删除完成";
|
||||
this.pbLoading.Visible = false;
|
||||
BaseMsgForm.ShowInfo("删除完成!");
|
||||
|
||||
SearchDbProdSelect(this.ucSplitPage1.CurrentPage);
|
||||
}));
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
private void pnlEmpty_Click(object sender, EventArgs e)
|
||||
{
|
||||
//this.txtCat.Text = "";
|
||||
this.txtExtCode.Text = "";
|
||||
this.txtProdName.Text = "";
|
||||
this.txtShopId.Text = "";
|
||||
this.txtShopName.Text = "";
|
||||
this.txtSKC.Text = "";
|
||||
this.txtSPU.Text = "";
|
||||
this.cmbStatus.Text = "待上传";
|
||||
this.cmbNotes.Text = "全部";
|
||||
this.cmbUserNotes.Text = "全部";
|
||||
}
|
||||
|
||||
Bitmap defaultBitmap = new Bitmap(80, 80);
|
||||
void ShowDgvImg()
|
||||
{
|
||||
Task.Run(() =>
|
||||
{
|
||||
foreach (DataGridViewRow row in this.dgvSelectProduct.Rows)
|
||||
{
|
||||
if (row.Index > 0 && row.Cells["colProductSkcPic"].Displayed == false)
|
||||
{
|
||||
try
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colProductSkcPic"].Value = defaultBitmap;
|
||||
}));
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
if (row.Cells["colProductSkcPic"].Value != null && row.Cells["colProductSkcPic"].Value != defaultBitmap)
|
||||
continue;
|
||||
|
||||
Image image = null;
|
||||
string imgUrl = row.Cells["colImgUrl"]?.Value.ParseToString();
|
||||
string getImgError = "";
|
||||
if (!string.IsNullOrWhiteSpace(imgUrl))
|
||||
image = GetHtml.GetUrlImg(imgUrl, out getImgError);
|
||||
if (!string.IsNullOrEmpty(getImgError))
|
||||
//BaseMsgForm.ShowError("图片加载失败 " + getImgError);
|
||||
image = TemuKJD.Properties.Resources.errpic;
|
||||
|
||||
try
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colProductSkcPic"].Value = image;
|
||||
}));
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void dgvSelectProduct_Scroll(object sender, ScrollEventArgs e)
|
||||
{
|
||||
ShowDgvImg();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,198 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="colSelect.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colShopLoginName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colShopId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colShopNotes.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSelectProduct.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colLoginStatus.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colCanUse.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colRemaining.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colMessage.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colCheck.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSelectId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSupplierId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSupplierName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colInShop.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colLogin.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSpuId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colImgUrl.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colProductSkcPic.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colProductName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colProductCat.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colExtCode.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colMsg.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colDraftId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colNotes.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colUserNotes.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="ColDelete.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
</root>
|
||||
+213
@@ -0,0 +1,213 @@
|
||||
|
||||
namespace TemuKJD.PDDForms.ProductThirdSelectForms
|
||||
{
|
||||
partial class PDDThirdProdSelectAddShopForm
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PDDThirdProdSelectAddShopForm));
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.dgvSelectShop = new TemuKJD.UserComponent.DataGridViewEx();
|
||||
this.btnOk = new TemuKJD.UserControls.ButtonEx();
|
||||
this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.colUserName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colSubUserName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colShopName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colShopNotes = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.panel2.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
this.splitContainer1.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvSelectShop)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.BackColor = System.Drawing.Color.White;
|
||||
this.panel2.Controls.Add(this.splitContainer1);
|
||||
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.panel2.Location = new System.Drawing.Point(1, 33);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(391, 506);
|
||||
this.panel2.TabIndex = 1;
|
||||
//
|
||||
// splitContainer1
|
||||
//
|
||||
this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer1.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer1.Name = "splitContainer1";
|
||||
this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
|
||||
//
|
||||
// splitContainer1.Panel1
|
||||
//
|
||||
this.splitContainer1.Panel1.Controls.Add(this.dgvSelectShop);
|
||||
this.splitContainer1.Panel1.Padding = new System.Windows.Forms.Padding(4);
|
||||
//
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.Controls.Add(this.btnOk);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(391, 506);
|
||||
this.splitContainer1.SplitterDistance = 464;
|
||||
this.splitContainer1.TabIndex = 190;
|
||||
//
|
||||
// dgvSelectShop
|
||||
//
|
||||
this.dgvSelectShop.AllowUserToAddRows = false;
|
||||
this.dgvSelectShop.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvSelectShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
|
||||
this.dgvSelectShop.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvSelectShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvSelectShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
|
||||
this.dgvSelectShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvSelectShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colSelect,
|
||||
this.colUserName,
|
||||
this.colSubUserName,
|
||||
this.colShopId,
|
||||
this.colShopName,
|
||||
this.colShopNotes});
|
||||
this.dgvSelectShop.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.dgvSelectShop.Location = new System.Drawing.Point(4, 4);
|
||||
this.dgvSelectShop.Name = "dgvSelectShop";
|
||||
this.dgvSelectShop.ReadOnly = true;
|
||||
this.dgvSelectShop.RowHeadersWidth = 51;
|
||||
this.dgvSelectShop.RowTemplate.Height = 23;
|
||||
this.dgvSelectShop.Size = new System.Drawing.Size(383, 456);
|
||||
this.dgvSelectShop.TabIndex = 189;
|
||||
this.dgvSelectShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSaUser_CellContentClick);
|
||||
//
|
||||
// btnOk
|
||||
//
|
||||
this.btnOk.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnOk.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnOk.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnOk.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnOk.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnOk.ForeColor = System.Drawing.Color.White;
|
||||
this.btnOk.Location = new System.Drawing.Point(321, 1);
|
||||
this.btnOk.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnOk.Name = "btnOk";
|
||||
this.btnOk.Size = new System.Drawing.Size(66, 26);
|
||||
this.btnOk.TabIndex = 374;
|
||||
this.btnOk.Text = "确定";
|
||||
this.btnOk.UseVisualStyleBackColor = false;
|
||||
this.btnOk.Click += new System.EventHandler(this.btnOk_Click);
|
||||
//
|
||||
// colSelect
|
||||
//
|
||||
this.colSelect.HeaderText = "选择";
|
||||
this.colSelect.MinimumWidth = 6;
|
||||
this.colSelect.Name = "colSelect";
|
||||
this.colSelect.ReadOnly = true;
|
||||
this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colSelect.Width = 30;
|
||||
//
|
||||
// colUserName
|
||||
//
|
||||
this.colUserName.HeaderText = "用户名称";
|
||||
this.colUserName.MinimumWidth = 6;
|
||||
this.colUserName.Name = "colUserName";
|
||||
this.colUserName.ReadOnly = true;
|
||||
this.colUserName.Visible = false;
|
||||
this.colUserName.Width = 125;
|
||||
//
|
||||
// colSubUserName
|
||||
//
|
||||
this.colSubUserName.HeaderText = "子账户名称";
|
||||
this.colSubUserName.Name = "colSubUserName";
|
||||
this.colSubUserName.ReadOnly = true;
|
||||
this.colSubUserName.Visible = false;
|
||||
this.colSubUserName.Width = 150;
|
||||
//
|
||||
// colShopId
|
||||
//
|
||||
this.colShopId.HeaderText = "店铺Id";
|
||||
this.colShopId.Name = "colShopId";
|
||||
this.colShopId.ReadOnly = true;
|
||||
//
|
||||
// colShopName
|
||||
//
|
||||
this.colShopName.HeaderText = "店铺名称";
|
||||
this.colShopName.Name = "colShopName";
|
||||
this.colShopName.ReadOnly = true;
|
||||
//
|
||||
// colShopNotes
|
||||
//
|
||||
this.colShopNotes.HeaderText = "店铺备注";
|
||||
this.colShopNotes.Name = "colShopNotes";
|
||||
this.colShopNotes.ReadOnly = true;
|
||||
//
|
||||
// ProductSelectAddShopForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(393, 540);
|
||||
this.Controls.Add(this.panel2);
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "ProductSelectAddShopForm";
|
||||
this.Text = "选择目标店铺";
|
||||
this.TitleText = "选择目标店铺";
|
||||
this.Load += new System.EventHandler(this.ProductSelectAddShopForm_Load);
|
||||
this.Controls.SetChildIndex(this.panel2, 0);
|
||||
this.panel2.ResumeLayout(false);
|
||||
this.splitContainer1.Panel1.ResumeLayout(false);
|
||||
this.splitContainer1.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.dgvSelectShop)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private UserComponent.DataGridViewEx dgvSelectShop;
|
||||
private System.Windows.Forms.SplitContainer splitContainer1;
|
||||
private UserControls.ButtonEx btnOk;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colUserName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSubUserName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colShopId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colShopName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colShopNotes;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
using AllBase;
|
||||
using AllBase.Model.Result;
|
||||
using NaiBa.Util.Extension;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using TemuKJD.BaseForms;
|
||||
using TemuKJD.KJDForms.ShopForms;
|
||||
using Work;
|
||||
|
||||
/// <summary>
|
||||
/// 第三方库存上传选择上传店铺
|
||||
/// </summary>
|
||||
namespace TemuKJD.PDDForms.ProductThirdSelectForms
|
||||
{
|
||||
public partial class PDDThirdProdSelectAddShopForm : LRBaseForm
|
||||
{
|
||||
public List<ShopLoginInfo> lstSelectShop = new List<ShopLoginInfo>();
|
||||
List<ShopLoginInfo> lstShop = new List<ShopLoginInfo>();
|
||||
public PDDThirdProdSelectAddShopForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void btnOk_Click(object sender, EventArgs e)
|
||||
{
|
||||
var shopIds = this.dgvSelectShop.Rows.Cast<DataGridViewRow>()
|
||||
.Where(r => r.Cells["colSelect"].Value.ParseToBool() == true)
|
||||
.Select(r => r.Cells["colShopId"].Value.ToString()).ToList();
|
||||
|
||||
var shops = lstShop.Where(s => shopIds.Contains(s.ShopId)).ToList();
|
||||
|
||||
if (shopIds.Count == 0 || shops.Count == 0)
|
||||
{
|
||||
BaseMsgForm.ShowError("请选择要上传的店铺!");
|
||||
return;
|
||||
}
|
||||
|
||||
lstSelectShop.Clear();
|
||||
lstSelectShop.AddRange(shops);
|
||||
|
||||
OnSaveComplete(shops);
|
||||
this.Close();
|
||||
}
|
||||
|
||||
private void ProductSelectAddShopForm_Load(object sender, EventArgs e)
|
||||
{
|
||||
dgvSelectShop.Rows.Clear();
|
||||
lstShop.Clear();
|
||||
|
||||
lstShop = ShopListForm.GetServerShop().Where(s=>!string.IsNullOrEmpty(s.ShopId)).ToList();
|
||||
foreach (var shop in lstShop)
|
||||
{
|
||||
dgvSelectShop.Rows.Add(
|
||||
false,
|
||||
shop.UserName,
|
||||
shop.SubUserName,
|
||||
shop.ShopId,
|
||||
shop.ShopAccount,
|
||||
shop.Notes);
|
||||
}
|
||||
}
|
||||
|
||||
private void dgvSaUser_CellContentClick(object sender, DataGridViewCellEventArgs e)
|
||||
{
|
||||
|
||||
if (e.ColumnIndex < 0 || e.RowIndex < 0)
|
||||
return;
|
||||
|
||||
//string columnName = dgvSaUser.Columns[e.ColumnIndex].Name;
|
||||
//switch (columnName)
|
||||
//{
|
||||
// case "colSelect":
|
||||
var value = dgvSelectShop.Rows[e.RowIndex].Cells["colSelect"].Value;
|
||||
//foreach (DataGridViewRow row in this.dgvSelectShop.Rows)
|
||||
// row.Cells["colSelect"].Value = false;
|
||||
dgvSelectShop.Rows[e.RowIndex].Cells["colSelect"].Value = !(bool)value;
|
||||
// break;
|
||||
// default:
|
||||
// break;
|
||||
//}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,316 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<metadata name="colSelect.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colUserName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSubUserName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colShopId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colShopName.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colShopNotes.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAEAgIAQAAAAAABoKAAAFgAAACgAAACAAAAAAAEAAAEABAAAAAAAACgAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAgICAAMDAwAAAAP8AAP8AAAD//wD/AAAA/wD/AP//
|
||||
AAD///8AAAAAAAAAAAAAAAAzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMQ
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAABM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZkzEAAAAAAAAAAAAAAAAAAAAAADOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZMwAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZkzAAAAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmTEAAAAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAAAA5mZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAADmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAGZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAJmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZAAAAAA
|
||||
OZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmT
|
||||
AAAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmRAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZkwAAAZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZkwAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZMAAJmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZEAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwCZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkRmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZOZmZOZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmP+JmZmZmZmZj///////
|
||||
///4OZmZj/eZmZmZmZmZmPg5OZmZmZuI//iIuZmZmZmZmZmZmZM5mZmZmZmZmZmZmb//+JmZmZmZmP//
|
||||
//////////OZmP//uZmZmZmZmY//+ZmZOZf///////h5k5mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ
|
||||
mZ/////////////4mZ///4mZmZmZmZP///uZmZmP////////+JmZmZmZmZmZkzmZmZmZmZmZmZmZj//4
|
||||
mZmZmZmf////////////+Jmf//+JmZmZmZmb///4mZmY//////////+JmZmZmZmZmZM5mZmZmZmZmZmZ
|
||||
mY//+JmZmZmZn/////////////mZmP//iZmZmZmZk///+5mZj/////iP////+JmZmZmZmZmTOZmZmZmZ
|
||||
mZmZmZmP//iZmZmZmZ////iIiIiIiIiZOZj//4mZmZmZmZP///uZmf////eZmT////+ZmZmZmZmZkzmZ
|
||||
mZmZmZmZmZmZj//4mZmZmZmf//+JmZmZmZmZk5mY//+JmZmZmZmT///7mZj///+ZmZmZj///uZmZmZmZ
|
||||
mZM5mZmZmZmZmZmZmY//+JmZmZmZn///iZmZmZmZmZmZmP//iZmZN5k5k///+5mY///zk5mZOT///4mZ
|
||||
mZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///4mZmZmZmZmZmZj//4mZmP/5k5P///uZmP//+ZmZmZmY
|
||||
//+JmZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf///4iIiIiIg5mZmY//+JOb//+JmT///7mZj//4mZ
|
||||
mZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////85mZmP//iZn///+Jk///+5mf
|
||||
//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ////////////+ZmZj//4mY////85v/
|
||||
//uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf////////////mZmY//+Jv///
|
||||
//+Z///7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///////////+JmZmP//
|
||||
if//////if//+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZmZ///////////4mZ
|
||||
mZj//4j///////j///uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZmZmZj//4mZmZmZmf//+JMzMz
|
||||
MzOZOZmY//////+D///////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmZmZmY//+JmZmZmZn///
|
||||
iZmZmZmZmZmZmP//////mY//////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZmZmZmZmP//iZmZmZ
|
||||
mZ///4mZmZmZmZmZmZj/////+5mf//////uZmP//iZmZmZmY///5mZmZmZmZkzmZmZmZmZmZMzM5j//4
|
||||
kzMzmZmf//+JMzMzMzM5mZmY/////4mTk//////7mZj//4mZmZmZmP//+ZmZmZmZmZM5mZmZmZmZmP//
|
||||
/////////4mZn////////////4mZmP////+ZmZmP////+5mY//+JmZmZmZj///mZmZmZmZmTOZmZmZmZ
|
||||
mY/////////////4mZ/////////////7mZj////7mZmZn/////uZmP//iZmZmZmY///5mZmZmZmZkzmZ
|
||||
mZmZmZn//////////////5mf////////////+Jmf////iZmZk5P////4mZ///4mZmZmZmP//+ZmZmZmZ
|
||||
mZM5mZmZmZmZj/////////////iZn/////////////iZmP///5mZmZmZj///+5mY//+JmZmZmZj//4mZ
|
||||
mZmZmZmTOZmZmZmZmZ/////////////zmZP///////////+JmZP///uTmZmZmZj//4mZm///mZmZmZmZ
|
||||
//85mZmZmZmZkzmZmZmZmZOZiIiIiIiIiIiImTmZOIiIiIiIiIiImTmZOIi5mZmZmZOZiIuZmZk4iZOZ
|
||||
mZmZOZiDmZmZmZmZmZM5mZmZmZmZOZmZmZmZmZmZmZOZmZmZmZmZmZmZmZOZmZmZmZmZmZmZOZmZmZmZ
|
||||
mZk5mZmZmZOZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmTuIiIiIs5mZmZmZmZ
|
||||
mTu4i7mZmZmZmZmZmTMzmZOZmZkzOZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmTmbj///////+HmT
|
||||
mZmZk4j/////iJmZmZk4iP////iZOZmZj/mZOZOIiIiIiIiIiDmZmZmZmZmZkzmZmZmZmZmZj///////
|
||||
///4mZk5k4///4iI///4OZOY////////iZOZmb/5mZmP///////////4mZmZmZmZmZM5mZmZmZmZn///
|
||||
//////////mZmY///5mZmZP///iZmP////////+ZOZk/iZmY/////////////4mZmZmZmZmTOZmZmZmZ
|
||||
mZ/////////////5mZ////+JmZmY////iZl/////////+ZmZP4mZP//////////////7mZmZmZmZkzmZ
|
||||
mZmZmZmb////////////uZP/j///+HM3j/////+ZmYj///////iZmT+JmY//////////////+JmZmZmZ
|
||||
mZM5mZmZmZmZmY//////////+JmT+Jv///////////iPmTmZOI/4mP//uTk/iZmP//////////////iZ
|
||||
mZmZmZmTOZmZmZmZmZmf//////////mZmZmZ///////////5mZmZmZmTOZk///mZP4mZj///////////
|
||||
///4mZmZmZmZkzmZmZmZmZmTmP////////+JOZmZOY//////////iZmZmZmZmZk5mf/4mT+JmY//////
|
||||
////////+JmZmZmZmZM5mZmZmZmZmZn/////////mZmZmZk//////////zmZmZmZmZmZmTmP/zm/iZmP
|
||||
//////////////iZmZmZmZmTOZmZmZmZmZk5v///////85OZmZkzmP////////iZmZmZmZmZmZmZn//4
|
||||
/4mZj/////hzN4/////4mZmZmZmZkzmZmZmZmZmZmZj//////4mZmTmY/4j////////4mZmZmZmZmZmZ
|
||||
mZj///+JmY////+JmZmY////+JmZmZmZmZM5mZmZmZmZmZmZ//////+ZmZmZj////////////4mZmZmZ
|
||||
mZmZmZmb////+ZmP///4mZu5mY////iZmZmZmZmTOZmZmZmZmZmZOb/////4k5mZmP/////////////7
|
||||
mZmZmZmZmZmZk/////OZv///+ZmP+Jmf///4mZmZmZmZkzmZmZmZmZmZmZmf////+ZmZmZj////////4
|
||||
eI//+JmZmZmZmZmZmZP////4mb///4mY//+JmP//+5mZmZmZmZM5mZmZmZmZmZk5v/////uTmZmb////
|
||||
///4mZmX//iZmZmZmZmZmZmZ////+Jmf//95n///+Zj///OZmZmZmZmTOZmZmZmZmZmZmf//////mZmZ
|
||||
mY//////+ZOZmZiJmZmZmZmZmZmZmY////+ZmP//+I////iP//+JmZmZmZmZkzmZmZmZmZmZmZj/////
|
||||
/4mZmZmf/////5k5mZOZmTmZmZmZmZmZmZmP///4mZP/////////////OZmZmZmZmZM5mZmZmZmZmZk/
|
||||
///////zmZmZm/////iZmZmZmZmZmZmZmZmZmZmZj///85mZj///////////+JmZmZmZmZmTOZmZmZmZ
|
||||
mZmZv///////+5mZmZmP///5mZmZmZmZmZmZmZmZmZmZmZ///3mZmZj//////////4mZmZmZmZmZkzmZ
|
||||
mZmZmZmZmb///4j///uZmZmZmP//mTmZmZmZmZmZmZmZmZmZmZmY/4OZmZmZeP///////4eZmZmZmZmZ
|
||||
mZM5mZmZmZmZmZmY/4OZOP+JmZmZmZmIiZOZmZmZmZmZmZmZmZmZmZmZmYiZmZmZmZk4iIiIiIOZmZmZ
|
||||
mZmZmZmTOZmZmZmZmZmZmTOZmZkzmZmZmZmZmZk5mZmZmZmZmZmZmZmZmZmZmZmZk5mZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZM5mZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTOZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkzmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZM5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmTGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZkwmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZkwA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZMACZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAABmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAAADmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAJmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmRAAAAA5mZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAACZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmQAAAAAAGZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZMAAAAAAAOZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZkwAAAAAA
|
||||
AAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTAA
|
||||
AAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZMAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZkwAAAAAAAAAAAAOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmTAAAAAAAAAAAAAAGZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZEAAAAAAAAAAAAAAAA5mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZMAAAAAAAAAAAAAAAAAATmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAABOZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZMQAAAAAAAAAAAAAAAAAAAAAAAzmZmZmZmZmZmZmZmZmZmZmZmZmZ
|
||||
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmTMAAAAAAAAAAAAAAAAAAAAAAAAAAAEzMzMzMzMzMzMzMzMzMz
|
||||
MzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMxAAAAAAAAAAAAAAD////////////////////////4AAAA
|
||||
AAAAAAAAAB//////wAAAAAAAAAAAAAAD/////wAAAAAAAAAAAAAAAP////wAAAAAAAAAAAAAAAA////w
|
||||
AAAAAAAAAAAAAAAAD///4AAAAAAAAAAAAAAAAAf//8AAAAAAAAAAAAAAAAAD//+AAAAAAAAAAAAAAAAA
|
||||
Af//AAAAAAAAAAAAAAAAAAD//gAAAAAAAAAAAAAAAAAAf/wAAAAAAAAAAAAAAAAAAD/4AAAAAAAAAAAA
|
||||
AAAAAAAf+AAAAAAAAAAAAAAAAAAAH/AAAAAAAAAAAAAAAAAAAA/wAAAAAAAAAAAAAAAAAAAP4AAAAAAA
|
||||
AAAAAAAAAAAAB+AAAAAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAA8AA
|
||||
AAAAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
|
||||
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
|
||||
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
|
||||
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
|
||||
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAA
|
||||
AAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAA
|
||||
AAGAAAAAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAA
|
||||
AAAAAAABgAAAAAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAAAABgAAAAAAA
|
||||
AAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAD4AAAAAAAAAAAAAAAAAAAA+AA
|
||||
AAAAAAAAAAAAAAAAAAfgAAAAAAAAAAAAAAAAAAAH8AAAAAAAAAAAAAAAAAAAD/AAAAAAAAAAAAAAAAAA
|
||||
AA/4AAAAAAAAAAAAAAAAAAAf/AAAAAAAAAAAAAAAAAAAH/wAAAAAAAAAAAAAAAAAAD/+AAAAAAAAAAAA
|
||||
AAAAAAB//wAAAAAAAAAAAAAAAAAA//+AAAAAAAAAAAAAAAAAAf//wAAAAAAAAAAAAAAAAAP//+AAAAAA
|
||||
AAAAAAAAAAAH///4AAAAAAAAAAAAAAAAD////AAAAAAAAAAAAAAAAD////8AAAAAAAAAAAAAAAD/////
|
||||
wAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAH////////////////////////w==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
||||
@@ -1,15 +1,20 @@
|
||||
using AllBase;
|
||||
using AllBase.Helper;
|
||||
using AllBase.Model.Result;
|
||||
using AllBase.Model.Result.PDDResult;
|
||||
using NaiBa.Util.Extension;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using TemuKJD.BaseForms;
|
||||
using TemuKJD.BLL;
|
||||
using TemuKJD.PDDForms.AdminForms;
|
||||
using TemuKJD.PDDForms.ProductThirdSelectForms;
|
||||
using Work;
|
||||
|
||||
namespace TemuKJD.PDDForms.ShopForms
|
||||
@@ -19,15 +24,16 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
public delegate void InfoReceivedHandler(string information);
|
||||
public event InfoReceivedHandler OnInfoReceived;
|
||||
|
||||
public string getProduct(ShopLoginInfo shop, string productId)
|
||||
public string getProduct(string sProdId, string supplierId)
|
||||
{
|
||||
var prodId = productId.ParseToLong();
|
||||
var prodId = sProdId.ParseToLong();
|
||||
if (prodId <= 0)
|
||||
{
|
||||
BaseMsgForm.ShowError("商品Id不存在!");
|
||||
return "failed";
|
||||
}
|
||||
if (shop == null)
|
||||
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == supplierId.ParseToString());
|
||||
if (string.IsNullOrEmpty(supplierId) || shop == null)
|
||||
{
|
||||
BaseMsgForm.ShowError("店铺不存在!");
|
||||
return "failed";
|
||||
@@ -37,51 +43,101 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
{
|
||||
try
|
||||
{
|
||||
var shop1 = shop;
|
||||
var prodId1 = prodId;
|
||||
var sourceShop = shop;
|
||||
var sourceProdId = prodId;
|
||||
string success_err_msg = "";
|
||||
var html = ProductQuery(shop1, prodId1.ToString());
|
||||
|
||||
var testHtml1 = GetHtml.UrlEncodeUtf8(html);
|
||||
var testHtml2 = GetHtml.UrlDecode(testHtml1);
|
||||
testHtml1 = HttpUtility.UrlEncode(html, Encoding.UTF8);
|
||||
testHtml2 = HttpUtility.UrlDecode(testHtml1);
|
||||
string errorMsg = "";
|
||||
var html = GetProdCommitId(sourceShop, sourceProdId.ToString());
|
||||
if (!html.Contains("\"success\":true") || !html.Contains("\"result\""))
|
||||
{
|
||||
OnInfoReceived("商品获取失败!" + BaseRegex.GetStringJson(ref html, "errorMsg"));
|
||||
var errMsg = BaseRegex.GetStringJson(ref html, "error_msg");
|
||||
if (string.IsNullOrEmpty(errMsg))
|
||||
errMsg = html;
|
||||
OnInfoReceived("商品获取失败!" + errMsg);
|
||||
return;
|
||||
}
|
||||
var commitId = BaseRegex.GetStringJson(ref html, "goods_commit_id");
|
||||
if (string.IsNullOrEmpty(commitId))
|
||||
{
|
||||
OnInfoReceived("商品获取失败!商品提交编号获取失败!");
|
||||
return;
|
||||
}
|
||||
html = GetPddProduct(sourceShop, sourceProdId.ToString(), commitId);
|
||||
|
||||
JObject obj = JObject.Parse(html);
|
||||
var result = JsonHelper.SerializeObject(obj["result"]);
|
||||
var sizeRst = "";
|
||||
TemuDetailProductInfo product = JsonHelper.DeserializeJsonToObject<TemuDetailProductInfo>(result);
|
||||
|
||||
if (product.sizeTemplateId > 0)
|
||||
PDDProductDetailInfo product = JsonHelper.DeserializeJsonToObject<PDDProductDetailInfo>(result);
|
||||
if (product == null)
|
||||
{
|
||||
html = SizeSpecQuery(shop1, prodId1.ToString(), product.sizeTemplateId.ToString());
|
||||
if(!html.Contains("\"success\":true"))
|
||||
{
|
||||
success_err_msg += " 尺码表获取失败!" + BaseRegex.GetStringJson(ref html, "errorMsg");
|
||||
}
|
||||
else
|
||||
{
|
||||
obj = JObject.Parse(html);
|
||||
sizeRst = JsonHelper.SerializeObject(obj["result"]);
|
||||
}
|
||||
OnInfoReceived("商品获取失败!商品数据格式获取失败!");
|
||||
return;
|
||||
}
|
||||
|
||||
//尺码表注释
|
||||
//if (product.sizeTemplateId > 0)
|
||||
//{
|
||||
// html = SizeSpecQuery(shop1, prodId1.ToString(), product.sizeTemplateId.ToString());
|
||||
// if(!html.Contains("\"success\":true"))
|
||||
// {
|
||||
// success_err_msg += " 尺码表获取失败!" + BaseRegex.GetStringJson(ref html, "errorMsg");
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// obj = JObject.Parse(html);
|
||||
// sizeRst = JsonHelper.SerializeObject(obj["result"]);
|
||||
// }
|
||||
//}
|
||||
|
||||
bool isExist = false;
|
||||
var existUrl = BaseClass.BuildObjString("product/get_product_list");
|
||||
string existData = UserLogin.GetSignaturex() + "&search_spu=" + product.goods_id;
|
||||
html = GetHtml.PostUtf8(existUrl, existData);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(existUrl, existData);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(existUrl, existData);
|
||||
if (!string.IsNullOrEmpty(html) && html.Contains("\"code\":200"))
|
||||
{
|
||||
if (html.Contains("\"data\":[") && !html.Contains("\"data\":[]"))
|
||||
isExist = true;
|
||||
}
|
||||
|
||||
var main_img = product.image_url;
|
||||
if (string.IsNullOrEmpty(main_img))
|
||||
main_img = product.hd_thumb_url;
|
||||
if (string.IsNullOrEmpty(main_img))
|
||||
main_img = product.thumb_url;
|
||||
if (string.IsNullOrEmpty(main_img))
|
||||
main_img = (product.galleries?.FirstOrDefault()?.url).ParseToString().Replace("https://", "http://");
|
||||
var url = BaseClass.BuildObjString("product/add_product");
|
||||
if (isExist)
|
||||
{
|
||||
bool isCover = false;
|
||||
MainForm.instance.Invoke(new Action(() =>
|
||||
{
|
||||
var ok = BaseMsgForm.ShowConfirm("产品库内已存在相同id商品,是否更新?").DialogResult;
|
||||
if (ok == DialogResult.OK)
|
||||
isCover = true;
|
||||
}));
|
||||
if (isCover)
|
||||
url = BaseClass.BuildObjString("product/mdy_product");
|
||||
else
|
||||
return;
|
||||
}
|
||||
|
||||
var data = Work.UserLogin.GetSignaturex() +
|
||||
"&spu_id=" + product?.productId +
|
||||
"&skc_id=" + product?.productSkcList?.FirstOrDefault()?.productSkcId +
|
||||
"&cat_id=" + GetCat(product).catId +
|
||||
"&cat_name=" + HttpUtility.UrlEncode(GetCat(product).catName, Encoding.UTF8) +
|
||||
"&ext_code=" + HttpUtility.UrlEncode(product?.productSkcList?.FirstOrDefault()?.extCode, Encoding.UTF8) +
|
||||
"&product_name=" + HttpUtility.UrlEncode(product?.productName, Encoding.UTF8) +
|
||||
"&from_shop_id=" + shop.ShopId +
|
||||
"&spu_id=" + product.goods_id.ParseToString() +
|
||||
"&skc_id=" + product.goods_id.ParseToString() +
|
||||
"&cat_id=" + (product.cat_id).ParseToString() +
|
||||
"&cat_name=" + HttpUtility.UrlEncode((product.cats?.LastOrDefault(c => !string.IsNullOrEmpty(c))).ParseToString(), Encoding.UTF8) +
|
||||
"&ext_code=" + HttpUtility.UrlEncode(product.out_goods_sn, Encoding.UTF8) +
|
||||
"&product_name=" + HttpUtility.UrlEncode(product.goods_name, Encoding.UTF8) +
|
||||
"&product_json=" + HttpUtility.UrlEncode(result, Encoding.UTF8) +
|
||||
"&size_json=" + HttpUtility.UrlEncode(sizeRst, Encoding.UTF8) +
|
||||
"&main_img=" + HttpUtility.UrlEncode(product?.carouselImageUrls?.FirstOrDefault(), Encoding.UTF8);
|
||||
"&main_img=" + HttpUtility.UrlEncode(main_img, Encoding.UTF8);
|
||||
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
@@ -89,7 +145,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
{
|
||||
string msg = "选品商品保存失败!请检查网络连接:" +
|
||||
string msg = "选品商品保存失败!请检查网络连接:" +
|
||||
BaseRegex.GetStringJson(ref html, "msg");
|
||||
OnInfoReceived(msg);
|
||||
}
|
||||
@@ -98,7 +154,6 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
OnInfoReceived("选品商品保存成功!" + success_err_msg);
|
||||
}
|
||||
|
||||
|
||||
//// 创建 SaveFileDialog 的实例
|
||||
//SaveFileDialog saveFileDialog = new SaveFileDialog();
|
||||
|
||||
@@ -140,7 +195,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
/// <param name="sProdId"></param>
|
||||
/// <param name="supplierId"></param>
|
||||
/// <returns></returns>
|
||||
public string getThirdProduct(string sProdId, long supplierId)
|
||||
public string getThirdProduct(string sProdId, string supplierId)
|
||||
{
|
||||
var prodId = sProdId.ParseToLong();
|
||||
if (prodId <= 0)
|
||||
@@ -148,8 +203,8 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
BaseMsgForm.ShowError("商品Id不存在!");
|
||||
return "failed";
|
||||
}
|
||||
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == supplierId.ToString());
|
||||
if (supplierId <= 0 || shop == null)
|
||||
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == supplierId.ParseToString());
|
||||
if (string.IsNullOrEmpty(supplierId) || shop == null)
|
||||
{
|
||||
BaseMsgForm.ShowError("店铺不存在!");
|
||||
return "failed";
|
||||
@@ -163,61 +218,89 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
var sourceProdId = prodId;
|
||||
string success_err_msg = "";
|
||||
string errorMsg = "";
|
||||
var html = ProductQuery(sourceShop, sourceProdId.ToString());
|
||||
var html = GetProdCommitId(sourceShop, sourceProdId.ToString());
|
||||
if (!html.Contains("\"success\":true") || !html.Contains("\"result\""))
|
||||
{
|
||||
OnInfoReceived("商品获取失败!" + BaseRegex.GetStringJson(ref html, "errorMsg"));
|
||||
var errMsg = BaseRegex.GetStringJson(ref html, "error_msg");
|
||||
if (string.IsNullOrEmpty(errMsg))
|
||||
errMsg = html;
|
||||
OnInfoReceived("商品获取失败!" + errMsg);
|
||||
return;
|
||||
}
|
||||
var commitId = BaseRegex.GetStringJson(ref html, "goods_commit_id");
|
||||
if (string.IsNullOrEmpty(commitId))
|
||||
{
|
||||
OnInfoReceived("商品获取失败!商品提交编号获取失败!");
|
||||
return;
|
||||
}
|
||||
html = GetPddProduct(sourceShop, sourceProdId.ToString(), commitId);
|
||||
|
||||
JObject obj = JObject.Parse(html);
|
||||
var result = JsonHelper.SerializeObject(obj["result"]);
|
||||
var sizeRst = "";
|
||||
TemuDetailProductInfo product = JsonHelper.DeserializeJsonToObject<TemuDetailProductInfo>(result);
|
||||
|
||||
if (product.sizeTemplateId > 0)
|
||||
PDDProductDetailInfo product = JsonHelper.DeserializeJsonToObject<PDDProductDetailInfo>(result);
|
||||
if (product == null)
|
||||
{
|
||||
html = SizeSpecQuery(sourceShop, sourceProdId.ToString(), product.sizeTemplateId.ToString());
|
||||
if (!html.Contains("\"success\":true"))
|
||||
{
|
||||
success_err_msg += " 尺码表获取失败!" + BaseRegex.GetStringJson(ref html, "errorMsg");
|
||||
}
|
||||
else
|
||||
{
|
||||
obj = JObject.Parse(html);
|
||||
sizeRst = JsonHelper.SerializeObject(obj["result"]);
|
||||
}
|
||||
OnInfoReceived("商品获取失败!商品数据格式获取失败!");
|
||||
return;
|
||||
}
|
||||
|
||||
//拼多多暂时注释
|
||||
//if (product.sizeTemplateId > 0)
|
||||
//{
|
||||
// html = SizeSpecQuery(sourceShop, sourceProdId.ToString(), product.sizeTemplateId.ToString());
|
||||
// if (!html.Contains("\"success\":true"))
|
||||
// {
|
||||
// success_err_msg += " 尺码表获取失败!" + BaseRegex.GetStringJson(ref html, "errorMsg");
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// obj = JObject.Parse(html);
|
||||
// sizeRst = JsonHelper.SerializeObject(obj["result"]);
|
||||
// }
|
||||
//}
|
||||
|
||||
List<ShopLoginInfo> shopLst = new List<ShopLoginInfo>();
|
||||
PDDShopListForm.Instance.Invoke(new Action(() =>
|
||||
{
|
||||
//todo:
|
||||
//ProductThirdSelectAddShopForm shopForm = new ProductThirdSelectAddShopForm();
|
||||
//shopForm.ShowDialog();
|
||||
//shopLst.AddRange(shopForm.lstSelectShop);
|
||||
PDDThirdProdSelectAddShopForm shopForm = new PDDThirdProdSelectAddShopForm();
|
||||
shopForm.ShowDialog();
|
||||
shopLst.AddRange(shopForm.lstSelectShop);
|
||||
}));
|
||||
if (shopLst.Count == 0)
|
||||
{
|
||||
OnInfoReceived("库存上传操作取消或未选择上传店铺!");
|
||||
return;
|
||||
}
|
||||
|
||||
var main_img = product.image_url;
|
||||
if (string.IsNullOrEmpty(main_img))
|
||||
main_img = product.hd_thumb_url;
|
||||
if (string.IsNullOrEmpty(main_img))
|
||||
main_img = product.thumb_url;
|
||||
if (string.IsNullOrEmpty(main_img))
|
||||
main_img = (product.galleries?.FirstOrDefault()?.url).ParseToString().Replace("https://", "http://");
|
||||
var url = BaseClass.BuildObjString("product_third/add_product");
|
||||
var data = UserLogin.GetSignaturex() +
|
||||
"&spu_id=" + product?.productId +
|
||||
"&skc_id=" + product?.productSkcList?.FirstOrDefault()?.productSkcId +
|
||||
"&cat_id=" + GetCat(product).catId +
|
||||
"&cat_name=" + HttpUtility.UrlEncode(GetCat(product).catName, Encoding.UTF8) +
|
||||
"&ext_code=" + HttpUtility.UrlEncode(product?.productSkcList?.FirstOrDefault()?.extCode, Encoding.UTF8) +
|
||||
"&product_name=" + HttpUtility.UrlEncode(product?.productName, Encoding.UTF8) +
|
||||
"&from_shop_id=" + shop.ShopId +
|
||||
"&spu_id=" + product.goods_id.ParseToString() +
|
||||
"&skc_id=" + product.goods_id.ParseToString() +
|
||||
"&cat_id=" + (product.cat_id).ParseToString() +
|
||||
"&cat_name=" + HttpUtility.UrlEncode((product.cats?.LastOrDefault(c => !string.IsNullOrEmpty(c))).ParseToString(), Encoding.UTF8) +
|
||||
"&ext_code=" + HttpUtility.UrlEncode(product.out_goods_sn, Encoding.UTF8) +
|
||||
"&product_name=" + HttpUtility.UrlEncode(product.goods_name, Encoding.UTF8) +
|
||||
"&product_json=" + HttpUtility.UrlEncode(result, Encoding.UTF8) +
|
||||
"&size_json=" + HttpUtility.UrlEncode(sizeRst, Encoding.UTF8) +
|
||||
"&main_img=" + HttpUtility.UrlEncode(product?.carouselImageUrls?.FirstOrDefault(), Encoding.UTF8);
|
||||
"&main_img=" + HttpUtility.UrlEncode(main_img, Encoding.UTF8);
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
//if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
// html = GetHtml.PostUtf8(url, data);
|
||||
//if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
// html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
{
|
||||
errorMsg = "选品商品保存失败!请检查网络连接:" +
|
||||
BaseRegex.GetStringJson(ref html, "msg").Replace("'", "\\'").Replace("\"", "\\\"");
|
||||
errorMsg = "库存商品保存失败!请检查网络连接:" +
|
||||
BaseRegex.GetStringJson(ref html, "msg").ParseToString().Replace("'", "\\'").Replace("\"", "\\\"");
|
||||
}
|
||||
var id = BaseRegex.GetLongJson(ref html, "id");
|
||||
if (id == 0)
|
||||
@@ -241,7 +324,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
{
|
||||
errorMsg += product?.productId + " " + BaseRegex.GetStringJson(ref html, "msg") + "; ";
|
||||
errorMsg += product?.goods_id + " " + BaseRegex.GetStringJson(ref html, "msg") + "; ";
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -297,14 +380,35 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
|
||||
|
||||
|
||||
private string ProductQuery(ShopLoginInfo shop, string prodId)
|
||||
private string GetProdCommitId(ShopLoginInfo shop, string prodId)
|
||||
{
|
||||
//string url = "https://seller.kuajingmaihuo.com/bg-visage-mms/product/query";
|
||||
//string body = @"{""productId"":" + prodId + @",""productEditTaskUid"":""""}";
|
||||
//string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?from=productList&productId=" + prodId;
|
||||
//return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
|
||||
return "";
|
||||
string url = "https://mms.pinduoduo.com/glide/v2/mms/edit/commit/create_by_sn";
|
||||
string body = @"{""goods_id"":" + prodId + "}";
|
||||
string refere = "https://mms.pinduoduo.com/goods/goods_list?msfrom=mms_sidenav";
|
||||
var result = HttpResponseBLL.PDDPostResponse(shop, url, body, refere, shop.AntiContents.LastOrDefault().ParseToString());
|
||||
return result;
|
||||
}
|
||||
private string GetPddProduct(ShopLoginInfo shop, string prodId, string commitId)
|
||||
{
|
||||
var anti = shop.AntiContents.LastOrDefault().ParseToString();
|
||||
if (shop.AntiContents.Count > 0)
|
||||
anti = shop.AntiContents[Randomx.GetId(shop.AntiContents.Count)];
|
||||
string url = "https://mms.pinduoduo.com/glide/v2/mms/query/commit/detail";
|
||||
string body = @"{""goods_commit_id"":""" + commitId + @""",""goods_id"":""" + prodId + @"""}";
|
||||
string refere = "https://mms.pinduoduo.com/goods/goods_add/index?id=" + commitId + "&goods_id=" + prodId + "&type=edit";
|
||||
var result = HttpResponseBLL.PDDPostResponse(shop, url, body, refere, anti);
|
||||
for (int i = 0; i < 2 && result.Contains("网络繁忙,请不要频繁操作"); i++)
|
||||
{
|
||||
shop.AntiContents.Remove(anti);
|
||||
anti = shop.AntiContents.LastOrDefault().ParseToString();
|
||||
if (shop.AntiContents.Count > 0)
|
||||
{
|
||||
Thread.Sleep(Randomx.GetId(300, 500));
|
||||
anti = shop.AntiContents[Randomx.GetId(shop.AntiContents.Count)];
|
||||
result = HttpResponseBLL.PDDPostResponse(shop, url, body, refere, anti);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private string SizeSpecQuery(ShopLoginInfo shop, string prodId, string sizeSpecId)
|
||||
@@ -312,7 +416,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
//string url = "https://seller.kuajingmaihuo.com/bg-anniston-mms/sizespec/query";
|
||||
//string body = @"{""businessId"":" + sizeSpecId + @",""reusable"":false}";
|
||||
//string refere = "https://seller.kuajingmaihuo.com/goods/product-create/product-edit?from=productList&productId=" + prodId;
|
||||
//return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
//return HttpResponseBLL.PostResponse(shop, url, body, refere);
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
private bool isLoading { get; set; } = false;
|
||||
|
||||
#region 服务端店铺管理
|
||||
public static string AddServerDouShop(ShopLoginInfo _shop)
|
||||
public static string AddServerPddShop(ShopLoginInfo _shop)
|
||||
{
|
||||
var url = BaseClass.BuildObjString("shop/add_shop");
|
||||
var data = UserLogin.GetSignaturex()
|
||||
@@ -43,6 +43,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
+ "&shop_account=" + _shop.ShopAccount
|
||||
+ "&cookie=" + _shop.Cookies
|
||||
+ "&cookie2=" + _shop.Cookies2
|
||||
+ "&anti_contents=" + JsonHelper.SerializeObject(_shop.AntiContents)
|
||||
+ "&shop_group=" + GetHtml.UrlEncodeUtf8(_shop.GroupName)
|
||||
+ "&sub_user_name=" + GetHtml.UrlEncodeUtf8(_shop.SubUserName)
|
||||
+ "¬es=" + GetHtml.UrlEncodeUtf8(_shop.Notes)
|
||||
@@ -63,12 +64,14 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
return result;
|
||||
}
|
||||
|
||||
public static string MdyServerDouShop(ShopLoginInfo _shop)
|
||||
public static string MdyServerPddShop(ShopLoginInfo _shop)
|
||||
{
|
||||
var url = BaseClass.BuildObjString("shop/mdy_shop");
|
||||
var data = UserLogin.GetSignaturex()
|
||||
+ "&login_name=" + _shop.LoginName
|
||||
+ "&login_pass=" + GetHtml.UrlEncodeUtf8(_shop.Password)
|
||||
+ "&shop_id=" + _shop.ShopId
|
||||
+ "&shop_account=" + _shop.ShopAccount
|
||||
+ "&shop_group=" + GetHtml.UrlEncodeUtf8(_shop.GroupName)
|
||||
+ "&sub_user_name=" + _shop.SubUserName
|
||||
+ "¬es=" + GetHtml.UrlEncodeUtf8(_shop.Notes);
|
||||
@@ -123,6 +126,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
localShop.Notes = serverShop.Notes;
|
||||
localShop.LoginStatus = serverShop.LoginStatus;
|
||||
localShop.LoginStatus2 = serverShop.LoginStatus2;
|
||||
localShop.AntiContents = serverShop.AntiContents;
|
||||
localShop.AddProductRemaining = serverShop.AddProductRemaining;
|
||||
localShop.OperateSubSaName = serverShop.OperateSubSaName;
|
||||
if (localShop.TrialUploadCount < 0)
|
||||
@@ -316,13 +320,13 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
}
|
||||
else
|
||||
{
|
||||
PDDShopListForm.AddServerDouShop(shopInfo);
|
||||
PDDShopListForm.AddServerPddShop(shopInfo);
|
||||
btnRefreshCookie_Click(null, null);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
PDDShopListForm.MdyServerDouShop(shopInfo);
|
||||
PDDShopListForm.MdyServerPddShop(shopInfo);
|
||||
btnRefreshCookie_Click(null, null);
|
||||
}
|
||||
}
|
||||
@@ -406,7 +410,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
else
|
||||
GlobalConfig.ShopLoginList.Add(shop);
|
||||
StartUp.SaveLocalShopLoginInfo();
|
||||
PDDShopListForm.AddServerDouShop(shop);
|
||||
PDDShopListForm.AddServerPddShop(shop);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -680,11 +684,10 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
|
||||
public static string GetShopStatus(ShopLoginInfo shop)
|
||||
{
|
||||
//string url = "https://seller.kuajingmaihuo.com/bg/quiet/api/mms/userInfo";
|
||||
//string refere = "https://seller.kuajingmaihuo.com/";
|
||||
//string body = @"{}";
|
||||
//return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
return "";
|
||||
string url = "https://mms.pinduoduo.com/janus/api/userinfo";
|
||||
string refere = "https://mms.pinduoduo.com/login/";
|
||||
string body = @"{}";
|
||||
return HttpResponseBLL.PDDPostResponse(shop, url, body, refere);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -697,7 +700,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
//string url = "https://agentseller.temu.com/api/seller/auth/userInfo";
|
||||
//string refere = "https://agentseller.temu.com/";
|
||||
//string body = @"{}";
|
||||
//return KJDHttpResponse.PostResponse2(shop, url, body, refere);
|
||||
//return HttpResponseBLL.PDDPostResponse2(shop, url, body, refere);
|
||||
return "";
|
||||
}
|
||||
|
||||
@@ -706,7 +709,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
//string url = "https://seller.kuajingmaihuo.com/bg/quiet/api/auth/obtainCode";
|
||||
//string refere = "https://seller.kuajingmaihuo.com/settle/seller-login?redirectUrl=https%3A%2F%2Fagentseller.temu.com%2F®ion=1&source=https%3A%2F%2Fagentseller.temu.com%2Fmain%2Fauthentication%3FredirectUrl%3Dhttps%253A%252F%252Fagentseller.temu.com%252F";
|
||||
//string body = @"{""redirectUrl"":""https://agentseller.temu.com/main/authentication""}";
|
||||
//return KJDHttpResponse.PostResponse(shop, url, body, refere);
|
||||
//return HttpResponseBLL.PostResponse(shop, url, body, refere);
|
||||
return "";
|
||||
}
|
||||
|
||||
@@ -789,52 +792,52 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
}
|
||||
break;
|
||||
case "复制Cookie":
|
||||
string cook = shop.Cookies;
|
||||
List<CefSharp.Cookie> cooks = null;
|
||||
try { cooks = JsonHelper.DeserializeJsonToList<CefSharp.Cookie>(shop.Cookies); } catch (Exception ex) { }
|
||||
if (cooks == null)
|
||||
cooks = new List<CefSharp.Cookie>();
|
||||
|
||||
string cookJs = "";
|
||||
var keys = new string[] { "a42", "_bee", "_f77", "_nano_fp", "api_uid", "rckk", "ru1k", "ru2k", "SUB_PASS_ID" };
|
||||
//var keys2 = new string[] { "_bee", "_nano_fp", "api_uid", "dilx", "hfsc", "mallid", "njrpl", "seller_temp" };
|
||||
var keys2 = new string[] { "_bee", "_nano_fp", "api_uid", "dilx", "hfsc", "njrpl", "seller_temp" };
|
||||
foreach (var shopCook in shop.Cookies.Split(';'))
|
||||
var keys = new string[] { "_a42", "_bee", "_f77", "_nano_fp", "api_uid", "JSESSIONID", "mms_b84d1838", "rckk", "ru1k", "ru2k", "PASS_ID", "webp", "x-visit-time" };
|
||||
var keys2 = new string[] { /*"_bee", "_nano_fp", "api_uid", "dilx", "hfsc", "njrpl", "seller_temp"*/ };
|
||||
foreach (var shopCook in cooks)
|
||||
{
|
||||
var cookie = shopCook.Trim();
|
||||
var cookie = shopCook.Name + "=" + shopCook.Value;
|
||||
if (!keys.Any(k=>cookie.StartsWith(k)))
|
||||
continue;
|
||||
cookJs += "\r\ndocument.cookie='" + cookie.Substring(0, Math.Max(0, cookie.IndexOf("="))) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';";
|
||||
}
|
||||
foreach (var shopCook in shop.Cookies2.Split(';'))
|
||||
foreach (var shopCook in cooks)
|
||||
{
|
||||
var cookie = shopCook.Trim();
|
||||
cookJs += "\r\ndocument.cookie='" + cookie.Substring(0, Math.Max(0, cookie.IndexOf("="))) + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;';";
|
||||
}
|
||||
foreach (var shopCook in shop.Cookies.Split(';'))
|
||||
{
|
||||
var cookie = shopCook.Trim();
|
||||
var cookie = shopCook.Name + "=" + shopCook.Value;
|
||||
if (!keys.Any(k => cookie.StartsWith(k)))
|
||||
continue;
|
||||
if (!cookie.StartsWith("SUB_PASS_ID") && !cookie.StartsWith("_nano_fp"))
|
||||
cookJs += "\r\ndocument.cookie='" + cookie + "; domain=.kuajingmaihuo.com;';";
|
||||
if (!cookie.StartsWith("PASS_ID") && !cookie.StartsWith("_nano_fp") && !cookie.StartsWith("JSESSIONID") &&
|
||||
!cookie.StartsWith("mms_b84d1838") && !cookie.StartsWith("webp") && !cookie.StartsWith("x-visit-time"))
|
||||
cookJs += "\r\ndocument.cookie='" + cookie + "; domain=.pinduoduo.com;expires=" +
|
||||
DateTime.Now.AddMonths(1).ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss 'UTC'", new DateTimeFormatInfo()) + "; path=/';";
|
||||
else
|
||||
cookJs += "\r\ndocument.cookie='" + cookie + "; domain=seller.kuajingmaihuo.com;';";
|
||||
cookJs += "\r\ndocument.cookie='" + cookie + "; domain=mms.pinduoduo.com; expires=" +
|
||||
DateTime.Now.AddMonths(1).ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss 'UTC'", new DateTimeFormatInfo()) + "; path=/';";
|
||||
}
|
||||
// 全球站cookie
|
||||
foreach (var shopCook in shop.Cookies2.Split(';'))
|
||||
{
|
||||
var cookie = shopCook.Trim();
|
||||
if (cookie.StartsWith("mallid"))
|
||||
cookie = "mallid=" + shop.ShopId;
|
||||
if (!keys2.Any(k => cookie.StartsWith(k)))
|
||||
continue;
|
||||
if (!cookie.StartsWith("seller_temp") && !cookie.StartsWith("_nano_fp") && !cookie.StartsWith("mallid"))
|
||||
cookJs += "\r\ndocument.cookie='" + cookie + "; domain=.temu.com; expires=" +
|
||||
DateTime.Now.AddDays(1).ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss 'UTC'", new DateTimeFormatInfo()) + "; path=/';";
|
||||
else
|
||||
cookJs += "\r\ndocument.cookie='" + cookie + "; domain=agentseller.temu.com; expires=" +
|
||||
DateTime.Now.AddDays(1).ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss 'UTC'", new DateTimeFormatInfo()) + "; path=/';";
|
||||
}
|
||||
cookJs += "\r\nwindow.localStorage.setItem('" + "mall-info-id" + "', '" + shop.ShopId + "');";
|
||||
cookJs += "\r\nwindow.localStorage.setItem('" + "agentseller-mall-info-id" + "', '" + shop.ShopId + "');";
|
||||
cookJs += "\r\nsetTimeout(() => { window.location.href='https://agentseller.temu.com'; }, 200)";
|
||||
//foreach (var shopCook in shop.Cookies2.Split(';'))
|
||||
//{
|
||||
// var cookie = shopCook.Trim();
|
||||
// if (cookie.StartsWith("mallid"))
|
||||
// cookie = "mallid=" + shop.ShopId;
|
||||
// if (!keys2.Any(k => cookie.StartsWith(k)))
|
||||
// continue;
|
||||
// if (!cookie.StartsWith("seller_temp") && !cookie.StartsWith("_nano_fp") && !cookie.StartsWith("mallid"))
|
||||
// cookJs += "\r\ndocument.cookie='" + cookie + "; domain=.temu.com; expires=" +
|
||||
// DateTime.Now.AddDays(1).ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss 'UTC'", new DateTimeFormatInfo()) + "; path=/';";
|
||||
// else
|
||||
// cookJs += "\r\ndocument.cookie='" + cookie + "; domain=agentseller.temu.com; expires=" +
|
||||
// DateTime.Now.AddDays(1).ToUniversalTime().ToString("ddd, dd MMM yyyy HH:mm:ss 'UTC'", new DateTimeFormatInfo()) + "; path=/';";
|
||||
//}
|
||||
//cookJs += "\r\nwindow.localStorage.setItem('" + "mall-info-id" + "', '" + shop.ShopId + "');";
|
||||
//cookJs += "\r\nwindow.localStorage.setItem('" + "agentseller-mall-info-id" + "', '" + shop.ShopId + "');";
|
||||
cookJs += "\r\nsetTimeout(() => { window.location.href='https://mms.pinduoduo.com/home'; }, 200)";
|
||||
Clipboard.SetDataObject(cookJs);
|
||||
BaseMsgForm.ShowInfo("复制成功");
|
||||
break;
|
||||
|
||||
@@ -70,12 +70,6 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
{
|
||||
//this.splitContainer1.SplitterDistance = 674;
|
||||
|
||||
if (openType == EnumOpenType.login)
|
||||
{
|
||||
//this.shop.ShopId = "";
|
||||
//this.shop.ShopAccount = "";
|
||||
}
|
||||
|
||||
if (isMultiLogin && shop != null)
|
||||
{
|
||||
this.pnlMultiLogin.Visible = true;
|
||||
@@ -98,7 +92,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
AutoLogin();
|
||||
|
||||
CheckAndSaveShop(); //判断登录是否成功,成功则保存店铺信息和店铺cookie
|
||||
//ClosePopWindow(); //自动关闭弹窗
|
||||
//ClosePopWindow(); //自动关闭弹窗
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -112,7 +106,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
while (this.Created)
|
||||
{
|
||||
Thread.Sleep(3000);
|
||||
//continue;
|
||||
|
||||
if (!this.Created)
|
||||
break;
|
||||
|
||||
@@ -129,18 +123,21 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
|
||||
string cookies = "";
|
||||
List<Cookie> cookieList = CEFBrowser.GetCookieList(shopCookieHead, cefWebBrowser.GetCookieManager(null));
|
||||
List<Cookie> cookieListNew = new List<Cookie>();
|
||||
if (cookieList != null && cookieList.Count > 0)
|
||||
{
|
||||
foreach (var cookie in cookieList)
|
||||
{
|
||||
//SUB_PASS_ID同时出现两个,domain是seller.kuajingmaihuo.com才是能登录店铺后台的
|
||||
//PASS_ID同时出现两个,domain是mms.pinduoduo.com才是能登录店铺后台的
|
||||
if (cookie.Name == "PASS_ID" && cookie.Domain != "mms.pinduoduo.com"
|
||||
&& cookieList.Any(c=>c.Name== "PASS_ID" && c.Domain == "mms.pinduoduo.com"))
|
||||
&& cookieList.Any(c => c.Name == "PASS_ID" && c.Domain == "mms.pinduoduo.com"))
|
||||
continue;
|
||||
|
||||
cookies += cookie.Name + "=" + cookie.Value + "; ";
|
||||
cookieListNew.Add(cookie);
|
||||
}
|
||||
cookies = cookies.Trim().TrimEnd(';');
|
||||
//cookies = cookies.Trim().TrimEnd(';');
|
||||
cookies = JsonHelper.SerializeObject(cookieListNew);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(cookies)
|
||||
@@ -160,6 +157,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
ShopId = sc.AccountId,
|
||||
SubUserName = shop.SubUserName,
|
||||
Notes = shop.Notes,
|
||||
AntiContents = new List<string> { sc.AntiContent },
|
||||
};
|
||||
|
||||
var oldShop = GlobalConfig.ShopLoginList.FirstOrDefault(l =>
|
||||
@@ -167,7 +165,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
if (oldShop == null)
|
||||
{
|
||||
GlobalConfig.ShopLoginList.Add(newShop);
|
||||
PDDShopListForm.AddServerDouShop(newShop); // 店铺写入到服务端
|
||||
PDDShopListForm.AddServerPddShop(newShop); // 店铺写入到服务端
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -178,6 +176,24 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
oldShop.ShopId = newShop.ShopId;
|
||||
oldShop.SubUserName = newShop.SubUserName;
|
||||
oldShop.Notes = newShop.Notes;
|
||||
oldShop.AntiContents.AddRange(newShop.AntiContents);
|
||||
while (oldShop.AntiContents.Count > 10)
|
||||
oldShop.AntiContents.RemoveAt(0);
|
||||
|
||||
// 店铺更新写入到服务端
|
||||
var url = BaseClass.BuildObjString("shop/mdy_shop");
|
||||
var data = UserLogin.GetSignaturex()
|
||||
+ "&login_name=" + oldShop.LoginName
|
||||
+ "&new_shop_id=" + oldShop.ShopId
|
||||
+ "&shop_account=" + oldShop.ShopAccount;
|
||||
var result = GetHtml.PostUtf8(url, data);
|
||||
|
||||
var urlAddress = BaseClass.BuildObjString("shop/mdy_anti_content");
|
||||
data = UserLogin.GetSignaturex()
|
||||
+ "&login_name=" + shop.LoginName
|
||||
+ "&shop_id=" + shop.ShopId
|
||||
+ "&anti_contents=" + JsonHelper.SerializeObject(shop.AntiContents);
|
||||
result = GetHtml.PostUtf8(urlAddress, data);
|
||||
}
|
||||
}
|
||||
var lstShop = GlobalConfig.ShopLoginList.Where(l => l.LoginName == shop.LoginName).ToList();
|
||||
@@ -306,10 +322,19 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
if (shop.Cookies2 == null)
|
||||
shop.Cookies2 = "";
|
||||
|
||||
var cookie = shop.Cookies;
|
||||
if (isMultiLogin)
|
||||
cookie = shop.DictMultiCookies.Keys.Contains(MultiLoginCookieName) ? shop.DictMultiCookies[MultiLoginCookieName] : "";
|
||||
|
||||
//var cookie = shop.Cookies;
|
||||
//if (isMultiLogin)
|
||||
// cookie = shop.DictMultiCookies.Keys.Contains(MultiLoginCookieName) ? shop.DictMultiCookies[MultiLoginCookieName] : "";
|
||||
List<Cookie> cookieLst = new List<Cookie>();
|
||||
try
|
||||
{
|
||||
cookieLst = JsonHelper.DeserializeJsonToList<CefSharp.Cookie>(shop.Cookies);
|
||||
if (cookieLst == null)
|
||||
cookieLst = new List<Cookie>();
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
|
||||
Task.Run(() =>
|
||||
{
|
||||
@@ -324,8 +349,15 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
CEFBrowser.DeleteCookie(cefWebBrowser.GetCookieManager(null));
|
||||
|
||||
//cef 138 如果没有设置RequestContext 可能为空,直接getCookieManager
|
||||
var t = CEFBrowser.SetCookieAsync(shopCookieHead, cookie, cefWebBrowser.GetCookieManager(null));
|
||||
t.Wait(5000);
|
||||
//if (this.openType != EnumOpenType.login)
|
||||
{
|
||||
//var t = CEFBrowser.SetCookieAsync(JsonHelper.SerializeObject(cookieLst), cefWebBrowser.GetCookieManager(null));
|
||||
foreach(var cook in cookieLst)
|
||||
{
|
||||
var t = CEFBrowser.SetCookieAsync(cook.Domain, cook.Name + "=" + cook.Value + ";", cefWebBrowser.GetCookieManager(null));
|
||||
t.Wait(5000);
|
||||
}
|
||||
}
|
||||
|
||||
if (this.openType != EnumOpenType.login)
|
||||
{
|
||||
@@ -346,6 +378,8 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
|
||||
if (!string.IsNullOrEmpty(InitUrl))
|
||||
cefWebBrowser.Load(InitUrl);
|
||||
else
|
||||
cefWebBrowser.Load(shopMainUrl);
|
||||
|
||||
//不是登录的话就此返回
|
||||
if (openType != EnumOpenType.login)
|
||||
@@ -365,27 +399,17 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
}
|
||||
Thread.Sleep(Randomx.GetId(1500,2000));
|
||||
|
||||
//设置 local storage
|
||||
//if (GlobalConfig.dicLocalStorage != null)
|
||||
//{
|
||||
// Thread.Sleep(500);
|
||||
// string jsCode = "function setStorage() {";
|
||||
// foreach (var item in GlobalConfig.dicLocalStorage)
|
||||
// {
|
||||
// if (item.Key == "$TCC_CONFIG" || item.Key == "$TCC_CONFIG_operate_config" || item.Key == "menuStyleStr")
|
||||
// continue;
|
||||
|
||||
// jsCode += "window.localStorage.setItem('" + item.Key + "', '" + item.Value + "');\r\n";
|
||||
// }
|
||||
// jsCode += "}";
|
||||
// jsCode += "setStorage();";
|
||||
// if (cefWebBrowser.GetBrowser().MainFrame.IsValid)
|
||||
// cefWebBrowser.GetBrowser().MainFrame.ExecuteJavaScriptAsync(jsCode);
|
||||
//}
|
||||
|
||||
if (!this.Created)
|
||||
return;
|
||||
|
||||
while (!cefWebBrowser.Address.StartsWith(shopLoginUrl))
|
||||
{
|
||||
Thread.Sleep(1000);
|
||||
if (!this.Created)
|
||||
return;
|
||||
}
|
||||
|
||||
CEFBrowser.DeleteCookie(cefWebBrowser.GetCookieManager(null));
|
||||
InputUserNameAndPassword(cefWebBrowser, shop.LoginName, DataOpenSSL.DecryptString(shop.Password));
|
||||
});
|
||||
}
|
||||
@@ -436,32 +460,45 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(sb.ToString());
|
||||
}
|
||||
|
||||
int GetAntiContentsTimes = 0;
|
||||
private void RequestHandler_ResourceLoadComplete(object sender, string url, string postData, string responseData, IRequest request)
|
||||
{
|
||||
var antiContent = request.Headers.AllKeys.Contains("Anti-Content") ? request.Headers["Anti-Content"] : "";
|
||||
if (shop != null && !url.StartsWith("https://mms.pinduoduo.com/janus/api/userinfo") && !string.IsNullOrEmpty(antiContent))
|
||||
{
|
||||
GetAntiContentsTimes++;
|
||||
shop.AntiContents.Add(antiContent);
|
||||
while (shop.AntiContents.Count > 10)
|
||||
shop.AntiContents.RemoveAt(0);
|
||||
if (!string.IsNullOrEmpty(shop.ShopId) && GetAntiContentsTimes > 5)
|
||||
{
|
||||
GetAntiContentsTimes = 0;
|
||||
var antis = shop.AntiContents;
|
||||
Task.Run(() =>
|
||||
{
|
||||
var urlAddress = BaseClass.BuildObjString("shop/mdy_anti_content");
|
||||
var data = UserLogin.GetSignaturex()
|
||||
+ "&login_name=" + shop.LoginName
|
||||
+ "&shop_id=" + shop.ShopId
|
||||
+ "&anti_contents=" + JsonHelper.SerializeObject(antis);
|
||||
var result = GetHtml.PostUtf8(urlAddress, data);
|
||||
});
|
||||
}
|
||||
}
|
||||
Task.Run(() =>
|
||||
{
|
||||
var data = responseData;
|
||||
var uri = url;
|
||||
if (data.Contains("球球小小"))
|
||||
{
|
||||
|
||||
}
|
||||
if (data.Contains("supplierId") && data.Contains("\"success\":true"))
|
||||
{
|
||||
var supplierIds = BaseRegex.GetMatchRegex(ref data, "\"supplierId\":\\d{5,20}");
|
||||
if (supplierIds.Count > 0 && supplierIds[0].Groups.Count > 0)
|
||||
{
|
||||
var supplierId = supplierIds[0].Groups[0].Value.Replace("\"supplierId\":", "").ParseToLong();
|
||||
if (supplierId > 0)
|
||||
this.currentSupplierId = supplierId;
|
||||
}
|
||||
}
|
||||
//var data = responseData;
|
||||
//if (data.Contains("supplierId") && data.Contains("\"success\":true"))
|
||||
//{
|
||||
// var supplierIds = BaseRegex.GetMatchRegex(ref data, "\"supplierId\":\\d{5,20}");
|
||||
// if (supplierIds.Count > 0 && supplierIds[0].Groups.Count > 0)
|
||||
// {
|
||||
// var supplierId = supplierIds[0].Groups[0].Value.Replace("\"supplierId\":", "").ParseToLong();
|
||||
// if (supplierId > 0)
|
||||
// this.currentSupplierId = supplierId;
|
||||
// }
|
||||
//}
|
||||
});
|
||||
if (url.StartsWith("https://seller.kuajingmaihuo.com/settle/site-main"))
|
||||
{
|
||||
cefWebBrowser.Load(shopMainUrl);
|
||||
}
|
||||
//if (url == shopMainUrl)
|
||||
if (url == "https://mms.pinduoduo.com/janus/api/userinfo")
|
||||
{
|
||||
Task.Run(() =>
|
||||
@@ -471,7 +508,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
{
|
||||
var maskMobile = BaseRegex.GetStringJson(ref data, "mobile");
|
||||
maskMobile = maskMobile.Split('*').Last();
|
||||
if (shop.LoginName.EndsWith(maskMobile))
|
||||
if (!string.IsNullOrEmpty(maskMobile) && shop.LoginName.EndsWith(maskMobile))
|
||||
{
|
||||
lstShopCompany.Clear();
|
||||
var jObj = JObject.Parse(data);
|
||||
@@ -480,19 +517,6 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
jArr = new JArray();
|
||||
|
||||
Thread.Sleep(500);
|
||||
//foreach (var productObj in jArr)
|
||||
//{
|
||||
// var prod = JsonHelper.SerializeObject(productObj);
|
||||
// ShopCompany sc = new ShopCompany()
|
||||
// {
|
||||
// AccountId = BaseRegex.GetStringJson(ref prod, "mallId"),
|
||||
// AccountName = BaseRegex.GetStringJson(ref prod, "mallName"),
|
||||
// LoginName = shop.LoginName,
|
||||
// UserName = BaseClass.UserName,
|
||||
// LoginStatus = "登录成功",
|
||||
// };
|
||||
// this.lstShopCompany.Add(sc);
|
||||
//}
|
||||
|
||||
ShopCompany sc = new ShopCompany()
|
||||
{
|
||||
@@ -502,35 +526,15 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
LoginName = shop.LoginName,
|
||||
UserName = BaseClass.UserName,
|
||||
LoginStatus = "登录成功",
|
||||
AntiContent = antiContent,
|
||||
};
|
||||
this.lstShopCompany.Add(sc);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
//if (url.Contains("_signature"))
|
||||
//{
|
||||
// var re = request;
|
||||
// if ((re.Headers != null && re.Headers.AllKeys.Contains("x-secsdk-csrf-token")))
|
||||
// {
|
||||
// }
|
||||
// Task.Run(() =>
|
||||
// {
|
||||
// var _url = url;
|
||||
// var data = responseData;
|
||||
// var signature = url.Substring(url.IndexOf("_signature=") + "_signature=".Length).Split('&')[0];
|
||||
// if (shop != null)
|
||||
// {
|
||||
// shop.Signature = signature;
|
||||
// }
|
||||
// if (url.Contains("x-secsdk-csrf-token") || postData.Contains("x-secsdk-csrf-token") || data.Contains("x-secsdk-csrf-token"))
|
||||
// {
|
||||
// }
|
||||
// });
|
||||
//}
|
||||
// 库存上传按钮
|
||||
if (currentUrl.StartsWith("https://seller.kuajingmaihuo.com/goods/product/list") ||
|
||||
currentUrl.StartsWith("https://agentseller.temu.com/goods/list"))
|
||||
if (1 == 1 && currentUrl.StartsWith("https://mms.pinduoduo.com/goods/goods_list"))
|
||||
{
|
||||
Task.Run(() => {
|
||||
string sAddInputJs = @"
|
||||
@@ -556,11 +560,13 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
addGetProdButton();
|
||||
|
||||
function addGetProdButton() {
|
||||
var productLst = document.getElementsByClassName('product-info_idContent__iDukx');
|
||||
var productLst = document.getElementsByClassName('goods-id');
|
||||
for(i=0; i<productLst.length; i++) {
|
||||
if (productLst[i].innerHTML.indexOf('库存上传') < 0 && productLst[i].innerHTML.indexOf('SPU ID') >= 0) {
|
||||
var sSpuId = productLst[i].innerText.replace('\r','').replace('\n','').replace('SPU ID:', '');
|
||||
productLst[i].innerHTML = productLst[i].innerHTML.replace(""></div>"", ""><input type=\""button\"" style=\""margin-left: 50px; width:60px; text-align:center\"" value=\""库存上传\"" onclick=\""shopObj.getThirdProduct('"" + sSpuId + ""'," + this.currentSupplierId + @")\""></div>"");
|
||||
var addBtnItem = productLst[i].parentElement.parentElement;
|
||||
if (addBtnItem.parentElement.innerHTML.indexOf('库存上传') < 0 && addBtnItem.parentElement.innerHTML.indexOf('ID:') >= 0) {
|
||||
var sSpuId = addBtnItem.innerText.replace('\r','').replace('\n','').replace('ID: ', '');
|
||||
addBtnItem.outerHTML = addBtnItem.outerHTML.replace(""<section>"",""<section style=\""display:inline; float:left; \"">"")
|
||||
.replace(""</section>"", ""</section><input type=\""button\"" style=\""display:inline; width:60px; margin-left:10px; margin-top:0px; cursor:pointer; border:1px solid\"" value =\""库存上传\"" onclick=\""shopObj.getThirdProduct('"" + sSpuId + ""','" + this.shop.ShopId + @"')\"">"");
|
||||
}
|
||||
}
|
||||
}";
|
||||
|
||||
@@ -312,7 +312,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
if (updateFrom != SetCookieFromEnum.normal_user)
|
||||
ShopBLL.AdminAddServerShop(newShop); // 店铺写入到服务端
|
||||
else
|
||||
PDDShopListForm.AddServerDouShop(newShop); // 店铺写入到服务端
|
||||
PDDShopListForm.AddServerPddShop(newShop); // 店铺写入到服务端
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user