聚水潭授权 聚水潭爆款采集 其他功能优化
This commit is contained in:
1 parent
30efe8fccb
commit
d2d2396804
24 files changed
+5000
-695
No files matched your search
@@ -27,7 +27,7 @@ namespace AllBase
|
||||
/// <summary>
|
||||
/// 版本ID
|
||||
/// </summary>
|
||||
public static int VersionCount = 868;
|
||||
public static int VersionCount = 873;
|
||||
//public static int VersionCount = 613;
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -92,8 +92,8 @@ namespace AllBase.Model.Result
|
||||
public object afterSaleRateThirtyDay { get; set; } // null,
|
||||
public string regulatePriceIntercept { get; set; } // "UN_INTERCEPT",
|
||||
public bool? skuHaveRegulatePrice { get; set; } // false,
|
||||
public List<object> limitShelvesPlatformList { get; set; } // [ ],
|
||||
public List<object> limitShelvesPlatformListV2 { get; set; } // [ ],
|
||||
public List<string> limitShelvesPlatformList { get; set; } // [ "WXChannel" ],
|
||||
public List<limitShelvesPlatformV2Info> limitShelvesPlatformListV2 { get; set; } // [ ],
|
||||
public object supSentGmv7d { get; set; } // null,
|
||||
public object sentCntIncrAvg7dRatio { get; set; } // null,
|
||||
public int? specNum { get; set; } // 2,
|
||||
@@ -116,4 +116,11 @@ namespace AllBase.Model.Result
|
||||
public string jstProductJson { get; set; }
|
||||
public string getProductMsg { get; set; } = "";
|
||||
}
|
||||
|
||||
public class limitShelvesPlatformV2Info
|
||||
{
|
||||
public string limitShelvesPlatform { get; set; } // "vipapis",
|
||||
public bool? syncSupplier { get; set; } // false,
|
||||
public List<string> sourceList { get; set; } // [ "SUPPLIER_WAYBILL" ]
|
||||
}
|
||||
}
|
||||
@@ -21,6 +21,11 @@ namespace AllBase.Model.Result
|
||||
/// skcId,聚水潭为商家coid
|
||||
/// </summary>
|
||||
public string skc_id { get; set; }
|
||||
/// <summary>
|
||||
/// 聚水潭爆款专区真实商家coid,供应商直采商品该字段留空
|
||||
/// </summary>
|
||||
public string real_coid { get; set; }
|
||||
public string real_spu_id { get; set; }
|
||||
public string main_cat_id { get; set; }
|
||||
public string cat_id { get; set; }
|
||||
public string main_cat_name { get; set; }
|
||||
|
||||
@@ -36,8 +36,10 @@ namespace KJD_Web.BLL.BXX
|
||||
string offline_supplier_id = RegexUtils.GetStringQuery(ref inputData, "offline_supplier_id")?.Replace("'", "\\'");
|
||||
string offline_supplier_name = RegexUtils.GetStringQuery(ref inputData, "offline_supplier_name")?.Replace("'", "\\'");
|
||||
string spu_id = RegexUtils.GetStringQuery(ref inputData, "spu_id")?.Replace("'", "\\'");
|
||||
//厂商直采微信商品使用skcid存储coid数据
|
||||
string skc_id = RegexUtils.GetStringQuery(ref inputData, "skc_id")?.Replace("'", "\\'");
|
||||
//厂商直采聚水潭商品使用skcid存储coid数据
|
||||
string skc_id = RegexUtils.GetStringQuery(ref inputData, "skc_id")?.Replace("'", "\\'"); // skcId,聚水潭商品为coid
|
||||
string real_coid = RegexUtils.GetStringQuery(ref inputData, "real_coid")?.Replace("'", "\\'"); // 聚水潭爆款专区真实商家coid,供应商直采商品该字段留空
|
||||
string real_spu_id = RegexUtils.GetStringQuery(ref inputData, "real_spu_id")?.Replace("'", "\\'"); // 聚水潭爆款专区真实商家spuid,供应商直采商品该字段留空
|
||||
string price_text = RegexUtils.GetStringQuery(ref inputData, "price_text")?.Replace("'", "\\'");
|
||||
string main_cat_id = RegexUtils.GetStringQuery(ref inputData, "main_cat_id")?.Replace("'", "\\'");
|
||||
string main_cat_name = HtmlUtils.UrlDecodeUtf8(RegexUtils.GetStringQuery(ref inputData, "main_cat_name"))?.Replace("'", "\\'");
|
||||
@@ -72,12 +74,12 @@ namespace KJD_Web.BLL.BXX
|
||||
string sql = "";
|
||||
sql = "insert into ";
|
||||
sql += "bxx.product ";
|
||||
sql += "(from_shop_id,from_shop_name,offline_supplier_id,offline_supplier_name,spu_id,skc_id,main_cat_id,main_cat_name,cat_id,cat_name,price_text," +
|
||||
"product_name,ext_code,main_img,product_json,size_json,notes,product_get_type,sale_count,sale_count_text,special_prod_type,distribution_set," +
|
||||
"add_time,mdy_time) " +
|
||||
sql += "(from_shop_id,from_shop_name,offline_supplier_id,offline_supplier_name,spu_id,skc_id,real_coid,real_spu_id,main_cat_id,main_cat_name,cat_id," +
|
||||
"cat_name,price_text,product_name,ext_code,main_img,product_json,size_json,notes,product_get_type,sale_count,sale_count_text,special_prod_type," +
|
||||
"distribution_set,add_time,mdy_time) " +
|
||||
"values ('" + from_shop_id + "','" + from_shop_name + "','" + offline_supplier_id + "','" + offline_supplier_name + "','" + spu_id + "','" +
|
||||
skc_id + "','" + main_cat_id + "','" + main_cat_name + "','" + cat_id + "','" + cat_name + "','" + price_text + "','" + product_name + "','" +
|
||||
ext_code + "','" + main_img + "',@product_json,@size_json,'" + notes + "','" + product_get_type + "','" +
|
||||
skc_id + "','" + real_coid + "','" + real_spu_id + "','" + main_cat_id + "','" + main_cat_name + "','" + cat_id + "','" + cat_name + "','" +
|
||||
price_text + "','" + product_name + "','" + ext_code + "','" + main_img + "',@product_json,@size_json,'" + notes + "','" + product_get_type + "','" +
|
||||
sale_count + "','" + sale_count_text + "','" + special_prod_type + "'," + distribution_set.ParseToInt() + ",'" +
|
||||
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "','" +
|
||||
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "');";
|
||||
@@ -115,7 +117,9 @@ namespace KJD_Web.BLL.BXX
|
||||
string offline_supplier_id = RegexUtils.GetStringQuery(ref inputData, "offline_supplier_id")?.Replace("'", "\\'");
|
||||
string offline_supplier_name = RegexUtils.GetStringQuery(ref inputData, "offline_supplier_name")?.Replace("'", "\\'");
|
||||
string spu_id = RegexUtils.GetStringQuery(ref inputData, "spu_id")?.Replace("'", "\\'");
|
||||
string skc_id = RegexUtils.GetStringQuery(ref inputData, "skc_id")?.Replace("'", "\\'");
|
||||
string skc_id = RegexUtils.GetStringQuery(ref inputData, "skc_id")?.Replace("'", "\\'"); // skcId,聚水潭商品为coid
|
||||
string real_coid = RegexUtils.GetStringQuery(ref inputData, "real_coid")?.Replace("'", "\\'"); // 聚水潭爆款专区真实商家coid,供应商直采商品该字段留空
|
||||
string real_spu_id = RegexUtils.GetStringQuery(ref inputData, "real_spu_id")?.Replace("'", "\\'"); // 聚水潭爆款专区真实商家spuid,供应商直采商品该字段留空
|
||||
string secret_spu_id = RegexUtils.GetStringQuery(ref inputData, "secret_spu_id")?.Replace("'", "\\'");
|
||||
string price_text = RegexUtils.GetStringQuery(ref inputData, "price_text")?.Replace("'", "\\'");
|
||||
string main_cat_id = RegexUtils.GetStringQuery(ref inputData, "main_cat_id")?.Replace("'", "\\'");
|
||||
@@ -458,7 +462,7 @@ namespace KJD_Web.BLL.BXX
|
||||
sql = "select p.id,p.from_shop_id,p.spu_id,p.skc_id,p.main_cat_id,p.main_cat_name,p.cat_id,p.cat_name,p.price_text,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,p.sku_img_replace_id,p.group," +
|
||||
" p.product_get_type,p.wx_safe_status,p.sale_count,p.sale_count_text,p.special_prod_type,p.from_shop_name,p.wx_cat_1,p.wx_cat_2,p.wx_cat_3," +
|
||||
" p.wx_cat_leaf,p.send_to_out_server,p.secret_spu_id," +
|
||||
" p.wx_cat_leaf,p.send_to_out_server,p.secret_spu_id,p.real_coid,p.real_spu_id," +
|
||||
" s.img_url,e.ext_code_price" +
|
||||
" FROM bxx.product p " +
|
||||
" left join bxx.sku_img_replace s ON p.sku_img_replace_id=s.id" +
|
||||
@@ -468,7 +472,7 @@ namespace KJD_Web.BLL.BXX
|
||||
sql = "SELECT p.id,p.from_shop_id,p.spu_id,p.skc_id,p.main_cat_id,p.main_cat_name,p.cat_id,p.cat_name,p.price_text,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,p.sku_img_replace_id,p.group," +
|
||||
" p.product_get_type,p.wx_safe_status,p.sale_count,p.sale_count_text,p.special_prod_type,p.from_shop_name,p.wx_cat_1,p.wx_cat_2,p.wx_cat_3," +
|
||||
" p.wx_cat_leaf,p.send_to_out_server,p.secret_spu_id," +
|
||||
" p.wx_cat_leaf,p.send_to_out_server,p.secret_spu_id,p.real_coid,p.real_spu_id," +
|
||||
" s.img_url,COUNT(se.id) AS select_count,e.ext_code_price" +
|
||||
" FROM bxx.product p left join bxx.sku_img_replace s ON p.sku_img_replace_id=s.id LEFT JOIN bxx.product_select se ON p.id=se.out_product_id AND se.shop_id='" + select_shop_id + "' " +
|
||||
" LEFT JOIN bxx.ext_code_price e ON p.ext_code=e.ext_code" +
|
||||
@@ -536,6 +540,8 @@ namespace KJD_Web.BLL.BXX
|
||||
main_cat_name = row["main_cat_name"].ToString(),
|
||||
send_to_out_server = row["send_to_out_server"].ParseToInt(),
|
||||
secret_spu_id = row["secret_spu_id"].IsNullOrEmpty() ? null : row["secret_spu_id"].ParseToString(),
|
||||
real_coid = row["real_coid"].IsNullOrEmpty() ? null : row["real_coid"].ParseToString(),
|
||||
real_spu_id = row["real_spu_id"].IsNullOrEmpty() ? null : row["real_spu_id"].ParseToString(),
|
||||
};
|
||||
if (isDetail)
|
||||
{
|
||||
@@ -681,14 +687,20 @@ namespace KJD_Web.BLL.BXX
|
||||
var password = RegexUtils.GetStringQuery(ref inputData, "password")?.Replace("'", "\\'");
|
||||
var search_spu_ids = RegexUtils.GetStringQuery(ref inputData, "search_spu_ids")?.Replace("'", "\\'");
|
||||
var search_sku_codes = RegexUtils.GetStringQuery(ref inputData, "search_sku_codes")?.Replace("'", "\\'");
|
||||
var search_secret_spu_ids = RegexUtils.GetStringQuery(ref inputData, "search_secret_spu_ids")?.Replace("'", "\\'");
|
||||
|
||||
int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt();
|
||||
int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(500);
|
||||
int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(1000);
|
||||
|
||||
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
|
||||
MysqlUtils mySql = new MysqlUtils(conn);
|
||||
|
||||
string sql = "select id,spuId,itemName,styleCode,itemCode,colourSpec,supplierCoId,supplierName,is_in_product_db,add_time from bxx.product_jst_update p where 1=1";
|
||||
string sql = "select id,spuId,itemName,styleCode,itemCode,colourSpec,supplierCoId,supplierName,is_in_product_db,secret_spu_id,secret_sku_id,add_time" +
|
||||
" from bxx.product_jst_update p where 1=1";
|
||||
if (search_secret_spu_ids != null)
|
||||
{
|
||||
sql += " and p.secret_spu_id in ('" + string.Join("','", search_secret_spu_ids.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)) + "')";
|
||||
}
|
||||
if (search_spu_ids != null)
|
||||
{
|
||||
sql += " and p.spuId in ('" + string.Join("','", search_spu_ids.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)) + "')";
|
||||
@@ -697,6 +709,7 @@ namespace KJD_Web.BLL.BXX
|
||||
{
|
||||
sql += " and p.itemCode in ('" + string.Join("','", search_sku_codes.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)) + "')";
|
||||
}
|
||||
sql += " limit " + Math.Max(page - 1, 0) * page_size + "," + page_size;
|
||||
var dt = mySql.ExecuteDataTable(sql);
|
||||
|
||||
mySql.Close();
|
||||
@@ -719,6 +732,8 @@ namespace KJD_Web.BLL.BXX
|
||||
supplierName = row["supplierName"].ToString(),
|
||||
add_time = Convert.ToDateTime(row["add_time"]),
|
||||
is_in_product_db = row["is_in_product_db"].ParseToInt(),
|
||||
secret_spu_id = row["secret_spu_id"].ParseToString(),
|
||||
secret_sku_id = row["secret_sku_id"].ParseToString(),
|
||||
};
|
||||
productLst.Add(prod);
|
||||
}
|
||||
@@ -973,6 +988,7 @@ namespace KJD_Web.BLL.BXX
|
||||
var is_supplier_prod_ok = RegexUtils.GetStringQuery(ref inputData, "is_supplier_prod_ok")?.Replace("'", "\\'");
|
||||
var is_not_count = (RegexUtils.GetStringQuery(ref inputData, "is_not_count")?.Replace("'", "\\'")).ParseToBool();
|
||||
var prod_count = (RegexUtils.GetStringQuery(ref inputData, "prod_count")?.Replace("'", "\\'")).ParseToInt();
|
||||
var add_days_less = RegexUtils.GetStringQuery(ref inputData, "add_days_less")?.Replace("'", "\\'").ParseToNullableInt();
|
||||
|
||||
int page = RegexUtils.GetStringQuery(ref inputData, "page").ParseToInt();
|
||||
int page_size = RegexUtils.GetStringQuery(ref inputData, "page_size").ParseToInt(50);
|
||||
@@ -1038,6 +1054,10 @@ namespace KJD_Web.BLL.BXX
|
||||
else
|
||||
where += " and (wx_cat_leaf IS NULL or send_to_out_server!=1 or distribution_set=0)";
|
||||
}
|
||||
if (!add_days_less.IsNullOrZero())
|
||||
{
|
||||
where += " and add_time > '" + DateTime.Now.AddDays(-add_days_less.ParseToInt()).ToString("yyyy-MM-dd") + "'";
|
||||
}
|
||||
sql += where;
|
||||
|
||||
int count = prod_count;
|
||||
|
||||
@@ -98,5 +98,7 @@ namespace KJD_Web.Model
|
||||
public string wx_safe_status { get; set; }
|
||||
public string special_prod_type { get; set; }
|
||||
public int send_to_out_server { get; set; }
|
||||
public string real_coid { get; set; }
|
||||
public string real_spu_id { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -143,6 +143,12 @@
|
||||
<Compile Include="PDDForms\ProductSelectForms\PDDGetChanceProdByImgForm.Designer.cs">
|
||||
<DependentUpon>PDDGetChanceProdByImgForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ToolForms\GetJuShuitanAuthForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="ToolForms\GetJuShuitanAuthForm.Designer.cs">
|
||||
<DependentUpon>GetJuShuitanAuthForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="ToolForms\GetJuShuitanProdForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -185,6 +191,12 @@
|
||||
<Compile Include="WXForms\ProductForms\WXDBProdUploadCacheForm.Designer.cs">
|
||||
<DependentUpon>WXDBProdUploadCacheForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WXForms\ProductForms\WXProdSyncForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="WXForms\ProductForms\WXProdSyncForm.Designer.cs">
|
||||
<DependentUpon>WXProdSyncForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WXForms\ProductForms\WXProdCouponOrderBoomForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
@@ -1069,6 +1081,9 @@
|
||||
<EmbeddedResource Include="PDDForms\ProductSelectForms\PDDGetChanceProdByImgForm.resx">
|
||||
<DependentUpon>PDDGetChanceProdByImgForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ToolForms\GetJuShuitanAuthForm.resx">
|
||||
<DependentUpon>GetJuShuitanAuthForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="ToolForms\GetJuShuitanProdForm.resx">
|
||||
<DependentUpon>GetJuShuitanProdForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
@@ -1090,6 +1105,9 @@
|
||||
<EmbeddedResource Include="WXForms\ProductForms\WXDBProdUploadCacheForm.resx">
|
||||
<DependentUpon>WXDBProdUploadCacheForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="WXForms\ProductForms\WXProdSyncForm.resx">
|
||||
<DependentUpon>WXProdSyncForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="WXForms\ProductForms\WXProdCouponOrderBoomForm.resx">
|
||||
<DependentUpon>WXProdCouponOrderBoomForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
|
||||
+79
@@ -0,0 +1,79 @@
|
||||
|
||||
namespace TemuKJD.ToolForms
|
||||
{
|
||||
partial class GetJuShuitanAuthForm
|
||||
{
|
||||
/// <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(GetJuShuitanAuthForm));
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.textBox1 = new System.Windows.Forms.TextBox();
|
||||
this.panel2.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.BackColor = System.Drawing.Color.White;
|
||||
this.panel2.Controls.Add(this.textBox1);
|
||||
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(330, 188);
|
||||
this.panel2.TabIndex = 1;
|
||||
//
|
||||
// textBox1
|
||||
//
|
||||
this.textBox1.Font = new System.Drawing.Font("微软雅黑", 13F);
|
||||
this.textBox1.Location = new System.Drawing.Point(114, 72);
|
||||
this.textBox1.Name = "textBox1";
|
||||
this.textBox1.Size = new System.Drawing.Size(100, 30);
|
||||
this.textBox1.TabIndex = 0;
|
||||
this.textBox1.TextChanged += new System.EventHandler(this.textBox1_TextChanged);
|
||||
//
|
||||
// GetJuShuitanAuthForm
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
this.ClientSize = new System.Drawing.Size(332, 222);
|
||||
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 = "GetJuShuitanAuthForm";
|
||||
this.Text = "请输入验证码";
|
||||
this.TitleText = "请输入验证码";
|
||||
this.Controls.SetChildIndex(this.panel2, 0);
|
||||
this.panel2.ResumeLayout(false);
|
||||
this.panel2.PerformLayout();
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
public System.Windows.Forms.TextBox textBox1;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
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;
|
||||
|
||||
namespace TemuKJD.ToolForms
|
||||
{
|
||||
public partial class GetJuShuitanAuthForm : BaseForms.BaseGeneralForm
|
||||
{
|
||||
public bool isAuth = false;
|
||||
public string authStr = "";
|
||||
public GetJuShuitanAuthForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void textBox1_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
authStr = textBox1.Text;
|
||||
if (textBox1.Text.Trim().Length >= 4)
|
||||
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>
|
||||
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>
|
||||
+131
-80
@@ -40,6 +40,7 @@ namespace TemuKJD.ToolForms
|
||||
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 dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
|
||||
this.btnNext = new System.Windows.Forms.Button();
|
||||
this.btnPrev = new System.Windows.Forms.Button();
|
||||
@@ -47,6 +48,8 @@ namespace TemuKJD.ToolForms
|
||||
this.pbLoading = new System.Windows.Forms.PictureBox();
|
||||
this.dgvProduct = new TemuKJD.UserComponent.DataGridViewEx();
|
||||
this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.colCoId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colSupplierName = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colProductId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colImgUrl = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colImg = new System.Windows.Forms.DataGridViewImageColumn();
|
||||
@@ -95,6 +98,7 @@ namespace TemuKJD.ToolForms
|
||||
this.cmbMultiCookieName = new DevComponents.DotNetBar.Controls.ComboBoxEx();
|
||||
this.btnMultiLogin = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnDel = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnGetHotGood = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnCancelSelect = new DevComponents.DotNetBar.PanelEx();
|
||||
this.txtTitle = new System.Windows.Forms.TextBox();
|
||||
this.btnSearchTitle = new DevComponents.DotNetBar.PanelEx();
|
||||
@@ -111,7 +115,7 @@ namespace TemuKJD.ToolForms
|
||||
this.txtPageEnd = new System.Windows.Forms.TextBox();
|
||||
this.txtPageStart = new System.Windows.Forms.TextBox();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.btnCollect = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnCollectSupplier = new DevComponents.DotNetBar.PanelEx();
|
||||
this.line1 = new DevComponents.DotNetBar.Controls.Line();
|
||||
this.txtSupplierName = new System.Windows.Forms.TextBox();
|
||||
this.txtFilterSaleCount = new System.Windows.Forms.TextBox();
|
||||
@@ -156,7 +160,7 @@ namespace TemuKJD.ToolForms
|
||||
this.splitContainer2.Panel1.Controls.Add(this.btnNext);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.btnPrev);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.txtAddress);
|
||||
this.splitContainer2.Size = new System.Drawing.Size(1390, 442);
|
||||
this.splitContainer2.Size = new System.Drawing.Size(1390, 432);
|
||||
this.splitContainer2.SplitterDistance = 26;
|
||||
this.splitContainer2.TabIndex = 6;
|
||||
//
|
||||
@@ -195,7 +199,7 @@ namespace TemuKJD.ToolForms
|
||||
//
|
||||
this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||
this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
|
||||
this.pbLoading.Location = new System.Drawing.Point(673, 197);
|
||||
this.pbLoading.Location = new System.Drawing.Point(673, 193);
|
||||
this.pbLoading.Name = "pbLoading";
|
||||
this.pbLoading.Size = new System.Drawing.Size(50, 50);
|
||||
this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
|
||||
@@ -224,6 +228,8 @@ namespace TemuKJD.ToolForms
|
||||
this.dgvProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colCheck,
|
||||
this.colCoId,
|
||||
this.colSupplierName,
|
||||
this.colProductId,
|
||||
this.colImgUrl,
|
||||
this.colImg,
|
||||
@@ -239,7 +245,7 @@ namespace TemuKJD.ToolForms
|
||||
this.dgvProduct.Name = "dgvProduct";
|
||||
this.dgvProduct.ReadOnly = true;
|
||||
this.dgvProduct.RowTemplate.Height = 23;
|
||||
this.dgvProduct.Size = new System.Drawing.Size(1390, 441);
|
||||
this.dgvProduct.Size = new System.Drawing.Size(1390, 432);
|
||||
this.dgvProduct.TabIndex = 7;
|
||||
this.dgvProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvProduct_CellContentClick);
|
||||
//
|
||||
@@ -252,6 +258,20 @@ namespace TemuKJD.ToolForms
|
||||
this.colCheck.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colCheck.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
//
|
||||
// colCoId
|
||||
//
|
||||
this.colCoId.FillWeight = 50F;
|
||||
this.colCoId.HeaderText = "供应商Id";
|
||||
this.colCoId.Name = "colCoId";
|
||||
this.colCoId.ReadOnly = true;
|
||||
//
|
||||
// colSupplierName
|
||||
//
|
||||
this.colSupplierName.FillWeight = 90F;
|
||||
this.colSupplierName.HeaderText = "供应商名称";
|
||||
this.colSupplierName.Name = "colSupplierName";
|
||||
this.colSupplierName.ReadOnly = true;
|
||||
//
|
||||
// colProductId
|
||||
//
|
||||
this.colProductId.FillWeight = 50F;
|
||||
@@ -281,35 +301,37 @@ namespace TemuKJD.ToolForms
|
||||
//
|
||||
dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colGoodsName.DefaultCellStyle = dataGridViewCellStyle3;
|
||||
this.colGoodsName.FillWeight = 120F;
|
||||
this.colGoodsName.HeaderText = "商品名称";
|
||||
this.colGoodsName.Name = "colGoodsName";
|
||||
this.colGoodsName.ReadOnly = true;
|
||||
//
|
||||
// colHotValue
|
||||
//
|
||||
this.colHotValue.FillWeight = 60F;
|
||||
this.colHotValue.FillWeight = 50F;
|
||||
this.colHotValue.HeaderText = "7日销量";
|
||||
this.colHotValue.Name = "colHotValue";
|
||||
this.colHotValue.ReadOnly = true;
|
||||
//
|
||||
// colSales30
|
||||
//
|
||||
this.colSales30.FillWeight = 60F;
|
||||
this.colSales30.FillWeight = 50F;
|
||||
this.colSales30.HeaderText = "30日销量";
|
||||
this.colSales30.Name = "colSales30";
|
||||
this.colSales30.ReadOnly = true;
|
||||
//
|
||||
// colCate
|
||||
//
|
||||
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colCate.DefaultCellStyle = dataGridViewCellStyle4;
|
||||
this.colCate.FillWeight = 80F;
|
||||
this.colCate.HeaderText = "类目";
|
||||
this.colCate.Name = "colCate";
|
||||
this.colCate.ReadOnly = true;
|
||||
//
|
||||
// colPrice
|
||||
//
|
||||
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colPrice.DefaultCellStyle = dataGridViewCellStyle4;
|
||||
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colPrice.DefaultCellStyle = dataGridViewCellStyle5;
|
||||
this.colPrice.FillWeight = 70F;
|
||||
this.colPrice.HeaderText = "价格";
|
||||
this.colPrice.Name = "colPrice";
|
||||
@@ -324,9 +346,9 @@ namespace TemuKJD.ToolForms
|
||||
//
|
||||
// colMsg
|
||||
//
|
||||
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colMsg.DefaultCellStyle = dataGridViewCellStyle5;
|
||||
this.colMsg.FillWeight = 200F;
|
||||
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colMsg.DefaultCellStyle = dataGridViewCellStyle6;
|
||||
this.colMsg.FillWeight = 190F;
|
||||
this.colMsg.HeaderText = "操作结果";
|
||||
this.colMsg.Name = "colMsg";
|
||||
this.colMsg.ReadOnly = true;
|
||||
@@ -349,6 +371,7 @@ namespace TemuKJD.ToolForms
|
||||
// splitContainer1.Panel2
|
||||
//
|
||||
this.splitContainer1.Panel2.BackColor = System.Drawing.Color.White;
|
||||
this.splitContainer1.Panel2.Controls.Add(this.btnGetHotGood);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.btnCancelSelect);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.txtTitle);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.btnSearchTitle);
|
||||
@@ -365,7 +388,7 @@ namespace TemuKJD.ToolForms
|
||||
this.splitContainer1.Panel2.Controls.Add(this.txtPageEnd);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.txtPageStart);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.label3);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.btnCollect);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.btnCollectSupplier);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.line1);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.txtSupplierName);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.txtFilterSaleCount);
|
||||
@@ -375,7 +398,7 @@ namespace TemuKJD.ToolForms
|
||||
this.splitContainer1.Panel2.Controls.Add(this.btnImportCookie);
|
||||
this.splitContainer1.Panel2.Controls.Add(this.label2);
|
||||
this.splitContainer1.Size = new System.Drawing.Size(1404, 561);
|
||||
this.splitContainer1.SplitterDistance = 478;
|
||||
this.splitContainer1.SplitterDistance = 468;
|
||||
this.splitContainer1.SplitterWidth = 3;
|
||||
this.splitContainer1.TabIndex = 4;
|
||||
//
|
||||
@@ -391,7 +414,7 @@ namespace TemuKJD.ToolForms
|
||||
this.ucTabControlMetro1.Name = "ucTabControlMetro1";
|
||||
this.ucTabControlMetro1.SelectedIndex = 0;
|
||||
this.ucTabControlMetro1.ShowCloseButton = false;
|
||||
this.ucTabControlMetro1.Size = new System.Drawing.Size(1404, 478);
|
||||
this.ucTabControlMetro1.Size = new System.Drawing.Size(1404, 468);
|
||||
this.ucTabControlMetro1.TabIndex = 462;
|
||||
this.ucTabControlMetro1.TabSelectColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.ucTabControlMetro1.TabSelectTextColor = System.Drawing.Color.Gray;
|
||||
@@ -403,7 +426,7 @@ namespace TemuKJD.ToolForms
|
||||
this.tabPage1.Location = new System.Drawing.Point(4, 26);
|
||||
this.tabPage1.Name = "tabPage1";
|
||||
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage1.Size = new System.Drawing.Size(1396, 448);
|
||||
this.tabPage1.Size = new System.Drawing.Size(1396, 438);
|
||||
this.tabPage1.TabIndex = 0;
|
||||
this.tabPage1.Text = "商品页面";
|
||||
this.tabPage1.UseVisualStyleBackColor = true;
|
||||
@@ -415,7 +438,7 @@ namespace TemuKJD.ToolForms
|
||||
this.tabPage2.Location = new System.Drawing.Point(4, 26);
|
||||
this.tabPage2.Name = "tabPage2";
|
||||
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
|
||||
this.tabPage2.Size = new System.Drawing.Size(1396, 447);
|
||||
this.tabPage2.Size = new System.Drawing.Size(1396, 438);
|
||||
this.tabPage2.TabIndex = 1;
|
||||
this.tabPage2.Text = "采集列表";
|
||||
this.tabPage2.UseVisualStyleBackColor = true;
|
||||
@@ -425,7 +448,7 @@ namespace TemuKJD.ToolForms
|
||||
this.tabPage3.Controls.Add(this.splitContainer3);
|
||||
this.tabPage3.Location = new System.Drawing.Point(4, 26);
|
||||
this.tabPage3.Name = "tabPage3";
|
||||
this.tabPage3.Size = new System.Drawing.Size(1396, 448);
|
||||
this.tabPage3.Size = new System.Drawing.Size(1396, 437);
|
||||
this.tabPage3.TabIndex = 2;
|
||||
this.tabPage3.Text = "下架SKU查询";
|
||||
this.tabPage3.UseVisualStyleBackColor = true;
|
||||
@@ -457,7 +480,7 @@ namespace TemuKJD.ToolForms
|
||||
//
|
||||
this.splitContainer3.Panel2.Controls.Add(this.pictureBox1);
|
||||
this.splitContainer3.Panel2.Controls.Add(this.dgvDownSku);
|
||||
this.splitContainer3.Size = new System.Drawing.Size(1396, 448);
|
||||
this.splitContainer3.Size = new System.Drawing.Size(1396, 437);
|
||||
this.splitContainer3.SplitterDistance = 82;
|
||||
this.splitContainer3.TabIndex = 0;
|
||||
//
|
||||
@@ -615,7 +638,7 @@ namespace TemuKJD.ToolForms
|
||||
//
|
||||
this.pictureBox1.Anchor = System.Windows.Forms.AnchorStyles.None;
|
||||
this.pictureBox1.Image = global::TemuKJD.Properties.Resources.loading_blue;
|
||||
this.pictureBox1.Location = new System.Drawing.Point(673, 156);
|
||||
this.pictureBox1.Location = new System.Drawing.Point(673, 150);
|
||||
this.pictureBox1.Name = "pictureBox1";
|
||||
this.pictureBox1.Size = new System.Drawing.Size(50, 50);
|
||||
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
|
||||
@@ -627,20 +650,20 @@ namespace TemuKJD.ToolForms
|
||||
//
|
||||
this.dgvDownSku.AllowUserToAddRows = false;
|
||||
this.dgvDownSku.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle6.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvDownSku.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle6;
|
||||
dataGridViewCellStyle7.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvDownSku.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle7;
|
||||
this.dgvDownSku.AutoRowNumber = true;
|
||||
this.dgvDownSku.AutoSizeColumnsMode = System.Windows.Forms.DataGridViewAutoSizeColumnsMode.Fill;
|
||||
this.dgvDownSku.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvDownSku.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.dgvDownSku.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle7;
|
||||
dataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle8.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle8.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle8.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle8.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvDownSku.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle8;
|
||||
this.dgvDownSku.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvDownSku.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colDownSelect,
|
||||
@@ -663,7 +686,7 @@ namespace TemuKJD.ToolForms
|
||||
this.dgvDownSku.Name = "dgvDownSku";
|
||||
this.dgvDownSku.ReadOnly = true;
|
||||
this.dgvDownSku.RowTemplate.Height = 23;
|
||||
this.dgvDownSku.Size = new System.Drawing.Size(1396, 362);
|
||||
this.dgvDownSku.Size = new System.Drawing.Size(1396, 351);
|
||||
this.dgvDownSku.TabIndex = 8;
|
||||
//
|
||||
// colDownSelect
|
||||
@@ -709,8 +732,8 @@ namespace TemuKJD.ToolForms
|
||||
//
|
||||
// colDownItemName
|
||||
//
|
||||
dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colDownItemName.DefaultCellStyle = dataGridViewCellStyle8;
|
||||
dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colDownItemName.DefaultCellStyle = dataGridViewCellStyle9;
|
||||
this.colDownItemName.FillWeight = 120F;
|
||||
this.colDownItemName.HeaderText = "商品名称";
|
||||
this.colDownItemName.Name = "colDownItemName";
|
||||
@@ -738,8 +761,8 @@ namespace TemuKJD.ToolForms
|
||||
//
|
||||
// colDownSupplyPrice
|
||||
//
|
||||
dataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colDownSupplyPrice.DefaultCellStyle = dataGridViewCellStyle9;
|
||||
dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colDownSupplyPrice.DefaultCellStyle = dataGridViewCellStyle10;
|
||||
this.colDownSupplyPrice.FillWeight = 70F;
|
||||
this.colDownSupplyPrice.HeaderText = "供货价";
|
||||
this.colDownSupplyPrice.Name = "colDownSupplyPrice";
|
||||
@@ -775,8 +798,8 @@ namespace TemuKJD.ToolForms
|
||||
//
|
||||
// dataGridViewTextBoxColumn8
|
||||
//
|
||||
dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.dataGridViewTextBoxColumn8.DefaultCellStyle = dataGridViewCellStyle10;
|
||||
dataGridViewCellStyle11.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.dataGridViewTextBoxColumn8.DefaultCellStyle = dataGridViewCellStyle11;
|
||||
this.dataGridViewTextBoxColumn8.FillWeight = 160F;
|
||||
this.dataGridViewTextBoxColumn8.HeaderText = "操作结果";
|
||||
this.dataGridViewTextBoxColumn8.Name = "dataGridViewTextBoxColumn8";
|
||||
@@ -854,6 +877,31 @@ namespace TemuKJD.ToolForms
|
||||
this.btnDel.TabIndex = 409;
|
||||
this.btnDel.Text = "删";
|
||||
//
|
||||
// btnGetHotGood
|
||||
//
|
||||
this.btnGetHotGood.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnGetHotGood.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnGetHotGood.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnGetHotGood.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnGetHotGood.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnGetHotGood.Location = new System.Drawing.Point(1087, 58);
|
||||
this.btnGetHotGood.Name = "btnGetHotGood";
|
||||
this.btnGetHotGood.Size = new System.Drawing.Size(76, 23);
|
||||
this.btnGetHotGood.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnGetHotGood.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnGetHotGood.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnGetHotGood.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnGetHotGood.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnGetHotGood.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnGetHotGood.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnGetHotGood.Style.GradientAngle = 90;
|
||||
this.btnGetHotGood.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnGetHotGood.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnGetHotGood.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnGetHotGood.TabIndex = 798;
|
||||
this.btnGetHotGood.Text = "采集爆款";
|
||||
this.btnGetHotGood.Click += new System.EventHandler(this.btnCollectHot_Click);
|
||||
//
|
||||
// btnCancelSelect
|
||||
//
|
||||
this.btnCancelSelect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
@@ -983,9 +1031,9 @@ namespace TemuKJD.ToolForms
|
||||
this.btnStopStop.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.btnStopStop.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnStopStop.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnStopStop.Location = new System.Drawing.Point(1059, 58);
|
||||
this.btnStopStop.Location = new System.Drawing.Point(1009, 58);
|
||||
this.btnStopStop.Name = "btnStopStop";
|
||||
this.btnStopStop.Size = new System.Drawing.Size(83, 23);
|
||||
this.btnStopStop.Size = new System.Drawing.Size(76, 23);
|
||||
this.btnStopStop.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnStopStop.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.btnStopStop.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
@@ -1009,9 +1057,9 @@ namespace TemuKJD.ToolForms
|
||||
this.btnSaveDb.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnSaveDb.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnSaveDb.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnSaveDb.Location = new System.Drawing.Point(1314, 58);
|
||||
this.btnSaveDb.Location = new System.Drawing.Point(1321, 58);
|
||||
this.btnSaveDb.Name = "btnSaveDb";
|
||||
this.btnSaveDb.Size = new System.Drawing.Size(83, 23);
|
||||
this.btnSaveDb.Size = new System.Drawing.Size(76, 23);
|
||||
this.btnSaveDb.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnSaveDb.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnSaveDb.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
@@ -1034,9 +1082,9 @@ namespace TemuKJD.ToolForms
|
||||
this.btnGetDetail.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnGetDetail.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnGetDetail.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnGetDetail.Location = new System.Drawing.Point(1229, 58);
|
||||
this.btnGetDetail.Location = new System.Drawing.Point(1243, 58);
|
||||
this.btnGetDetail.Name = "btnGetDetail";
|
||||
this.btnGetDetail.Size = new System.Drawing.Size(83, 23);
|
||||
this.btnGetDetail.Size = new System.Drawing.Size(76, 23);
|
||||
this.btnGetDetail.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnGetDetail.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnGetDetail.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
@@ -1057,10 +1105,10 @@ namespace TemuKJD.ToolForms
|
||||
this.statusBar.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.statusBar.BackColor = System.Drawing.Color.White;
|
||||
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(317, 60);
|
||||
this.statusBar.Location = new System.Drawing.Point(315, 60);
|
||||
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.statusBar.Name = "statusBar";
|
||||
this.statusBar.Size = new System.Drawing.Size(739, 25);
|
||||
this.statusBar.Size = new System.Drawing.Size(689, 25);
|
||||
this.statusBar.TabIndex = 823;
|
||||
//
|
||||
// label4
|
||||
@@ -1103,30 +1151,30 @@ namespace TemuKJD.ToolForms
|
||||
this.label3.TabIndex = 807;
|
||||
this.label3.Text = "起始页";
|
||||
//
|
||||
// btnCollect
|
||||
// btnCollectSupplier
|
||||
//
|
||||
this.btnCollect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnCollect.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnCollect.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnCollect.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnCollect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnCollect.Location = new System.Drawing.Point(1144, 58);
|
||||
this.btnCollect.Name = "btnCollect";
|
||||
this.btnCollect.Size = new System.Drawing.Size(83, 23);
|
||||
this.btnCollect.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnCollect.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnCollect.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnCollect.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnCollect.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnCollect.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnCollect.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnCollect.Style.GradientAngle = 90;
|
||||
this.btnCollect.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnCollect.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnCollect.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnCollect.TabIndex = 794;
|
||||
this.btnCollect.Text = "采集列表";
|
||||
this.btnCollect.Click += new System.EventHandler(this.btnCollect_Click);
|
||||
this.btnCollectSupplier.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnCollectSupplier.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnCollectSupplier.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnCollectSupplier.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnCollectSupplier.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnCollectSupplier.Location = new System.Drawing.Point(1165, 58);
|
||||
this.btnCollectSupplier.Name = "btnCollectSupplier";
|
||||
this.btnCollectSupplier.Size = new System.Drawing.Size(76, 23);
|
||||
this.btnCollectSupplier.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnCollectSupplier.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnCollectSupplier.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnCollectSupplier.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnCollectSupplier.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnCollectSupplier.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnCollectSupplier.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnCollectSupplier.Style.GradientAngle = 90;
|
||||
this.btnCollectSupplier.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnCollectSupplier.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnCollectSupplier.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnCollectSupplier.TabIndex = 794;
|
||||
this.btnCollectSupplier.Text = "采集供应商";
|
||||
this.btnCollectSupplier.Click += new System.EventHandler(this.btnCollectSupplier_Click);
|
||||
//
|
||||
// line1
|
||||
//
|
||||
@@ -1308,7 +1356,7 @@ namespace TemuKJD.ToolForms
|
||||
private System.Windows.Forms.TextBox txtFilterSaleCount;
|
||||
private System.Windows.Forms.TextBox txtSupplierName;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private DevComponents.DotNetBar.PanelEx btnCollect;
|
||||
private DevComponents.DotNetBar.PanelEx btnCollectSupplier;
|
||||
private DevComponents.DotNetBar.Controls.Line line1;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.TextBox txtPageEnd;
|
||||
@@ -1321,17 +1369,6 @@ namespace TemuKJD.ToolForms
|
||||
private UserControls.StatusBarUserControl statusBar;
|
||||
private DevComponents.DotNetBar.PanelEx btnStopStop;
|
||||
private System.Windows.Forms.ComboBox cmbSaleCount;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colProductId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colImgUrl;
|
||||
private System.Windows.Forms.DataGridViewImageColumn colImg;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colGoodsName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colHotValue;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSales30;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colCate;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colPrice;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colDel;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colMsg;
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.ComboBox cmbPlatformType;
|
||||
private UserComponent.UcCheckBox chkOverride;
|
||||
@@ -1372,5 +1409,19 @@ namespace TemuKJD.ToolForms
|
||||
private DevComponents.DotNetBar.PanelEx btnResetCache;
|
||||
private DevComponents.DotNetBar.PanelEx btnStopGetDownSku;
|
||||
private System.Windows.Forms.PictureBox pictureBox1;
|
||||
private DevComponents.DotNetBar.PanelEx btnGetHotGood;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colCoId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colProductId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colImgUrl;
|
||||
private System.Windows.Forms.DataGridViewImageColumn colImg;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colGoodsName;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colHotValue;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSales30;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colCate;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colPrice;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colDel;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colMsg;
|
||||
}
|
||||
}
|
||||
@@ -30,12 +30,14 @@ namespace TemuKJD.ToolForms
|
||||
{
|
||||
public partial class GetJuShuitanProdForm : BaseForms.BaseForm
|
||||
{
|
||||
Dictionary<string, string> dicAfterSale = new Dictionary<string, string>();
|
||||
public CancellationTokenSource cancellationTokenSource { get; set; } = null;
|
||||
public CancellationTokenSource CancelGetDown { get; set; } = null;
|
||||
string InitUrl = "https://sc.scm121.com/suppliersManage/suppliersList/onlineSuppliers";
|
||||
public ChromiumWebBrowser cefWebBrowser = null;
|
||||
private string currentUrl = "";
|
||||
private string currentGetListData = "";
|
||||
private string currentGetSupplierListParamData = "";
|
||||
private string currentGetHotListParamData = "";
|
||||
private string currentSupplierName = "";
|
||||
private string appVersion = "";
|
||||
private string currentSupplierId = "";
|
||||
@@ -99,6 +101,8 @@ namespace TemuKJD.ToolForms
|
||||
{
|
||||
var rowId = this.dgvProduct.Rows.Add(
|
||||
true,
|
||||
prod.itemCoId,
|
||||
prod.supplierName,
|
||||
prod.id,
|
||||
(prod.itemMainImage?.FirstOrDefault()).ParseToString().Replace("https://", "http://"),
|
||||
DataGridViewExtension.defaultBitmap,
|
||||
@@ -237,24 +241,43 @@ namespace TemuKJD.ToolForms
|
||||
|
||||
private void RequestHandler_ResourceLoadComplete(object sender, string url, string postData, string responseData, IRequest request)
|
||||
{
|
||||
|
||||
if (url.Contains("api/goods/buyer/supplier/goods/list"))
|
||||
{
|
||||
if (request.Headers.AllKeys.Contains("App-Version"))
|
||||
appVersion = request.Headers["App-Version"];
|
||||
Task.Run(() => { GetCurrentSearchData(postData, responseData, request); });
|
||||
Task.Run(() => { GetCurrentSupplierSearchData(postData, responseData, request); });
|
||||
}
|
||||
if (url.Contains("api/goods/freshman/mall/goods/list"))
|
||||
{
|
||||
|
||||
if (request.Headers.AllKeys.Contains("App-Version"))
|
||||
appVersion = request.Headers["App-Version"];
|
||||
Task.Run(() => { GetCurrentHotSearchData(postData, responseData, request); });
|
||||
}
|
||||
}
|
||||
|
||||
void GetCurrentSearchData(string postData, string responseData, IRequest request)
|
||||
void GetCurrentSupplierSearchData(string postData, string responseData, IRequest request)
|
||||
{
|
||||
currentGetListData = postData;
|
||||
currentGetHotListParamData = "";
|
||||
currentGetSupplierListParamData = postData;
|
||||
currentSupplierId = BaseRegex.GetStringJson(ref postData, "supplierId");
|
||||
currentSupplierName = BaseRegex.GetStringJson(ref responseData, "supplierName");
|
||||
Invoke(new Action(() => {
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
txtSupplierName.Text = currentSupplierName;
|
||||
}));
|
||||
}
|
||||
void GetCurrentHotSearchData(string postData, string responseData, IRequest request)
|
||||
{
|
||||
currentGetSupplierListParamData = "";
|
||||
currentGetHotListParamData = postData;
|
||||
currentSupplierId = "";
|
||||
currentSupplierName = "";
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
txtSupplierName.Text = "爆款专区";
|
||||
}));
|
||||
}
|
||||
|
||||
private bool RequestHandler_BeforeResourceLoad(object sender, string url, string postData, IRequest request)
|
||||
{
|
||||
@@ -376,9 +399,9 @@ namespace TemuKJD.ToolForms
|
||||
}
|
||||
}
|
||||
|
||||
private void btnCollect_Click(object sender, EventArgs e)
|
||||
private void btnCollectSupplier_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (string.IsNullOrEmpty(currentGetListData))
|
||||
if (string.IsNullOrEmpty(currentGetSupplierListParamData))
|
||||
{
|
||||
BaseMsgForm.ShowError("请在网页上选择要搜索的供应商商品列表页面");
|
||||
return;
|
||||
@@ -400,7 +423,7 @@ namespace TemuKJD.ToolForms
|
||||
{
|
||||
try
|
||||
{
|
||||
GetProdList();
|
||||
GetSupplierList();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -414,13 +437,13 @@ namespace TemuKJD.ToolForms
|
||||
}, cancellationTokenSource.Token);
|
||||
}
|
||||
|
||||
void GetProdList()
|
||||
void GetSupplierList()
|
||||
{
|
||||
List<Cookie> cookieList = CEFBrowser.GetCookieList(".scm121.com", cefWebBrowser.GetCookieManager(null));
|
||||
var shop = new ShopLoginInfo();
|
||||
shop.Cookies = JsonHelper.SerializeObject(cookieList);
|
||||
|
||||
var Jobj = JsonHelper.JObjectParse(currentGetListData);
|
||||
var Jobj = JsonHelper.JObjectParse(currentGetSupplierListParamData);
|
||||
Jobj["pageSize"] = 70;
|
||||
int page = pageStart;
|
||||
while(page <= pageEnd)
|
||||
@@ -429,7 +452,7 @@ namespace TemuKJD.ToolForms
|
||||
break;
|
||||
|
||||
Jobj["pageNum"] = page;
|
||||
Jobj["mallSort"] = "SELL_SEVEN";
|
||||
//Jobj["mallSort"] = "SELL_SEVEN"; // 采集近7日爆品 //CREATED 采集近30日新品
|
||||
Jobj["platformType"] = platformType;
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
@@ -461,7 +484,7 @@ namespace TemuKJD.ToolForms
|
||||
jstProd.dbProduct.offline_supplier_id = jstProd.offlineSupplierId;
|
||||
jstProd.dbProduct.offline_supplier_name = jstProd.offlineSupplierName;
|
||||
jstProd.dbProduct.spu_id = jstProd.spuId;
|
||||
jstProd.dbProduct.skc_id = jstProd.coId;
|
||||
jstProd.dbProduct.skc_id = jstProd.itemCoId;
|
||||
//jstProd.dbProduct.price_text = jstProd.minSalesPrice.ParseToString();
|
||||
//jstProd.dbProduct.main_cat_id = jstProd.categoryLv1Id.ParseToString();
|
||||
//jstProd.dbProduct.main_cat_name = jstProd.mainCategoryName.ParseToString();
|
||||
@@ -498,6 +521,8 @@ namespace TemuKJD.ToolForms
|
||||
{
|
||||
var id = dgvProduct.Rows.Add(
|
||||
true,
|
||||
prod.itemCoId,
|
||||
prod.supplierName,
|
||||
prod.id,
|
||||
(prod.itemMainImage?.FirstOrDefault()).ParseToString().Replace("https://", "http://"),
|
||||
DataGridViewExtension.defaultBitmap,
|
||||
@@ -530,6 +555,200 @@ namespace TemuKJD.ToolForms
|
||||
}));
|
||||
}
|
||||
|
||||
private void btnCollectHot_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (string.IsNullOrEmpty(currentGetHotListParamData))
|
||||
{
|
||||
BaseMsgForm.ShowError("请在网页上选择爆款列表页面");
|
||||
return;
|
||||
}
|
||||
if (dgvProduct.Rows.Count > 0)
|
||||
{
|
||||
if (BaseMsgForm.ShowConfirm("当前列表已有采集数据,是否重新采集?").DialogResult == DialogResult.Cancel)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
this.pbLoading.Visible = true;
|
||||
dgvProduct.Rows.Clear();
|
||||
lstJSTListProductInfo.Clear();
|
||||
//if (cancellationTokenSource == null || cancellationTokenSource.IsCancellationRequested)
|
||||
cancellationTokenSource = new CancellationTokenSource();
|
||||
Task.Run(() =>
|
||||
{
|
||||
try
|
||||
{
|
||||
GetHotList();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
BaseMsgForm.ShowError(ex.Message);
|
||||
}
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.pbLoading.Visible = false;
|
||||
//this.statusBar.lblTaskStatus.Text = "正在删除...";
|
||||
}));
|
||||
}, cancellationTokenSource.Token);
|
||||
}
|
||||
|
||||
void GetHotList()
|
||||
{
|
||||
List<Cookie> cookieList = CEFBrowser.GetCookieList(".scm121.com", cefWebBrowser.GetCookieManager(null));
|
||||
var shop = new ShopLoginInfo();
|
||||
shop.Cookies = JsonHelper.SerializeObject(cookieList);
|
||||
|
||||
var Jobj = JsonHelper.JObjectParse(currentGetHotListParamData);
|
||||
Jobj["pageSize"] = 70;
|
||||
int page = pageStart;
|
||||
while (page <= pageEnd)
|
||||
{
|
||||
if (cancellationTokenSource.IsCancellationRequested)
|
||||
break;
|
||||
|
||||
Jobj["pageNum"] = page;
|
||||
//Jobj["mallSort"] = "SELL_SEVEN";
|
||||
Jobj["platformType"] = platformType;
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.statusBar.lblTaskStatus.Text = "正在采集第 " + page + " 页";
|
||||
}));
|
||||
Thread.Sleep(Randomx.GetId(1000, 2000));
|
||||
page++;
|
||||
|
||||
var lstRst = GetHotLst(shop, Jobj);
|
||||
if (!lstRst.Contains("\"success\":true"))
|
||||
{
|
||||
var errMsg = BaseRegex.GetStringJson(ref lstRst, "message");
|
||||
if (string.IsNullOrEmpty(errMsg))
|
||||
errMsg = lstRst;
|
||||
BaseMsgForm.ShowError("查询错误:" + errMsg);
|
||||
return;
|
||||
}
|
||||
|
||||
List<JSTListProductInfo> jstLst = new List<JSTListProductInfo>();
|
||||
try
|
||||
{
|
||||
foreach (var jItem in JsonHelper.JObjectParse(lstRst)["data"])
|
||||
{
|
||||
JSTListProductInfo jstProd = JsonHelper.DeserializeJsonToObject<JSTListProductInfo>(JsonHelper.SerializeObject(jItem));
|
||||
jstProd.jstProductJson = JsonHelper.SerializeObject(jItem);
|
||||
jstProd.dbProduct = new KJDDBProduct();
|
||||
jstProd.dbProduct.from_shop_id = jstProd.supplierName; // jstProd.supplierId;
|
||||
jstProd.dbProduct.from_shop_name = jstProd.supplierName;
|
||||
jstProd.dbProduct.offline_supplier_id = jstProd.offlineSupplierId;
|
||||
jstProd.dbProduct.offline_supplier_name = jstProd.offlineSupplierName;
|
||||
jstProd.dbProduct.spu_id = jstProd.spuId;
|
||||
jstProd.dbProduct.skc_id = jstProd.itemCoId;
|
||||
//jstProd.dbProduct.price_text = jstProd.minSalesPrice.ParseToString();
|
||||
//jstProd.dbProduct.main_cat_id = jstProd.categoryLv1Id.ParseToString();
|
||||
//jstProd.dbProduct.main_cat_name = jstProd.mainCategoryName.ParseToString();
|
||||
//jstProd.dbProduct.cat_id = jstProd.categoryLv3Id.ParseToString();
|
||||
jstProd.dbProduct.cat_name = jstProd.categoryName.ParseToString();
|
||||
jstProd.dbProduct.ext_code = jstProd.styleCode;
|
||||
jstProd.dbProduct.product_name = jstProd.itemName;
|
||||
jstProd.dbProduct.product_json = "";
|
||||
jstProd.dbProduct.size_json = "{}";
|
||||
jstProd.dbProduct.main_img = jstProd.itemMainImage?.FirstOrDefault();
|
||||
jstProd.dbProduct.sale_count = jstProd.saleSeven;
|
||||
jstProd.dbProduct.sale_count_text = string.IsNullOrEmpty(jstProd.saleSevenDesensitized) ? jstProd.saleSeven.ParseToString() : jstProd.saleSevenDesensitized;
|
||||
jstProd.dbProduct.product_get_type_text = "厂商直采";
|
||||
jstLst.Add(jstProd);
|
||||
}
|
||||
if (jstLst.Count <= 0)
|
||||
break;
|
||||
// 经销商销量小于设定值,则单品销量肯定小于设定值,退出
|
||||
//jstLst = jstLst.Where(p => p.supplierSaleSeven >= filterSaleCount).ToList();
|
||||
//if (jstLst.Count <= 0)
|
||||
// break;
|
||||
if (filterSaleCountDays == 7)
|
||||
jstLst = jstLst.Where(p => p.saleSeven >= filterSaleCount).ToList();
|
||||
else
|
||||
jstLst = jstLst.Where(p => p.saleThirty >= filterSaleCount).ToList();
|
||||
jstLst = jstLst.Where(p => !lstJSTListProductInfo.Any(p1 => p1.id == p.id)).ToList();
|
||||
jstLst = jstLst.Where(p => !p.limitShelvesPlatformList.Contains("WXChannel")).ToList(); // 过滤微信禁售不发货商品
|
||||
|
||||
// 查询真实上家
|
||||
var realCoidRst = BatchQueryRealCoid(shop, string.Join(",", jstLst.Select(j => j.itemSpuId)), "12840800");
|
||||
Thread.Sleep(Randomx.GetId(200, 800));
|
||||
if (!realCoidRst.Contains("\"success\":true"))
|
||||
{
|
||||
Thread.Sleep(Randomx.GetId(1000, 2000));
|
||||
realCoidRst = BatchQueryRealCoid(shop, string.Join(",", jstLst.Select(j => j.itemSpuId)), "12840800");
|
||||
}
|
||||
if (!realCoidRst.Contains("\"success\":true"))
|
||||
{
|
||||
var errMsg = BaseRegex.GetStringJson(ref realCoidRst, "message");
|
||||
if (string.IsNullOrEmpty(errMsg))
|
||||
errMsg = realCoidRst;
|
||||
BaseMsgForm.ShowError("查询产品源错误:" + errMsg);
|
||||
return;
|
||||
}
|
||||
try
|
||||
{
|
||||
var realUpObjs = JsonHelper.JObjectParse(realCoidRst)["data"];
|
||||
foreach (var realUpObj in realUpObjs)
|
||||
{
|
||||
var jst = jstLst.FirstOrDefault(j => j.itemSpuId == realUpObj["itemSpuId"].ParseToString());
|
||||
if (jst != null)
|
||||
{
|
||||
jst.dbProduct.real_spu_id = realUpObj["highestSupplierSpuId"].ParseToString();
|
||||
jst.dbProduct.real_coid = realUpObj["supplierHierarchyList"].FirstOrDefault(sj => sj["level"].ParseToInt() == 1)["supCoId"].ParseToString();
|
||||
}
|
||||
}
|
||||
jstLst = jstLst.Where(j => !string.IsNullOrEmpty(j.dbProduct.real_coid) && !string.IsNullOrEmpty(j.dbProduct.real_spu_id)).ToList();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
BaseMsgForm.ShowError("查询产品源错误:" + ex.Message);
|
||||
return;
|
||||
}
|
||||
|
||||
lstJSTListProductInfo.AddRange(jstLst);
|
||||
//var t = Task.Run(() =>
|
||||
//{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
foreach (var prod in jstLst)
|
||||
{
|
||||
var id = dgvProduct.Rows.Add(
|
||||
true,
|
||||
prod.itemCoId,
|
||||
prod.supplierName,
|
||||
prod.id,
|
||||
(prod.itemMainImage?.FirstOrDefault()).ParseToString().Replace("https://", "http://"),
|
||||
DataGridViewExtension.defaultBitmap,
|
||||
prod.itemName,
|
||||
prod.saleSeven,
|
||||
prod.saleThirty,
|
||||
prod.categoryName,
|
||||
"预估:" + prod.minSalesPrice + " 采集详情后显示实际值",
|
||||
"删除"
|
||||
);
|
||||
dgvProduct.Rows[id].Height = 60;
|
||||
|
||||
}
|
||||
}));
|
||||
//});
|
||||
//t.Wait(5000);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.statusBar.lblTaskStatus.Text = "发生错误 " + ex.Message;
|
||||
}));
|
||||
Thread.Sleep(2000);
|
||||
}
|
||||
}
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
BaseMsgForm.ShowInfo("采集完成");
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
private void txtFilterSaleCount_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
filterSaleCount = txtFilterSaleCount.Text.Trim().ParseToInt();
|
||||
@@ -611,8 +830,10 @@ namespace TemuKJD.ToolForms
|
||||
}
|
||||
|
||||
bool isExist = false;
|
||||
var existUrl = BaseClass.BuildPDDObjString("product/get_product_list");
|
||||
string existData = UserLogin.GetSignaturex() + "&search_spu=" + prod.spuId;
|
||||
var existUrl = BaseClass.BuildPDDObjString("product/get_product_spu_id_list");
|
||||
string existData = UserLogin.GetSignaturex() + "&search_spu_ids=" + prod.spuId;
|
||||
//if (!string.IsNullOrEmpty(prod.dbProduct.real_spu_id))
|
||||
// existData = UserLogin.GetSignaturex() + "&search_spu_ids=" + prod.spuId + "," + prod.dbProduct.real_spu_id;
|
||||
string html = GetHtml.PostUtf8(existUrl, existData);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(existUrl, existData);
|
||||
@@ -693,6 +914,10 @@ namespace TemuKJD.ToolForms
|
||||
"&cat_id=" + prod.dbProduct.cat_id +
|
||||
"&cat_name=" + HttpUtility.UrlEncode((prod.dbProduct.cat_name ?? prod.categoryName).ParseToString(), Encoding.UTF8);
|
||||
}
|
||||
if (!string.IsNullOrEmpty(prod.dbProduct.real_coid))
|
||||
data += "&real_coid=" + prod.dbProduct.real_coid;
|
||||
if (!string.IsNullOrEmpty(prod.dbProduct.real_spu_id))
|
||||
data += "&real_spu_id=" + prod.dbProduct.real_spu_id;
|
||||
//if (SetPartnerSpuRst.Contains("\"success\":true"))
|
||||
//{
|
||||
// data += "&distribution_set=1";
|
||||
@@ -814,8 +1039,10 @@ namespace TemuKJD.ToolForms
|
||||
continue;
|
||||
|
||||
bool isExist = false;
|
||||
var existUrl = BaseClass.BuildPDDObjString("product/get_product_list");
|
||||
string existData = UserLogin.GetSignaturex() + "&search_spu=" + prod.spuId;
|
||||
var existUrl = BaseClass.BuildPDDObjString("product/get_product_spu_id_list");
|
||||
string existData = UserLogin.GetSignaturex() + "&search_spu_ids=" + prod.spuId;
|
||||
//if (!string.IsNullOrEmpty(prod.dbProduct.real_spu_id))
|
||||
// existData = UserLogin.GetSignaturex() + "&search_spu_ids=" + prod.spuId + "," + prod.dbProduct.real_spu_id;
|
||||
string html = GetHtml.PostUtf8(existUrl, existData);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
html = GetHtml.PostUtf8(existUrl, existData);
|
||||
@@ -841,6 +1068,142 @@ namespace TemuKJD.ToolForms
|
||||
}
|
||||
Thread.Sleep(Randomx.GetId(500, 1500));
|
||||
|
||||
// 爆款专区查询真实供应商coid和供应商退货地址
|
||||
if (prod.itemCoId == "12840800" || prod.supplierName == "寻合作-爆款专区")
|
||||
{
|
||||
if (dicAfterSale.Keys.Contains(prod.dbProduct.skc_id + "->" + prod.dbProduct.real_coid))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
var urlAfterSale = BaseClass.BuildObjString("product/wx_get_after_sale");
|
||||
var dataAfterSale = Work.UserLogin.GetSignaturex() +
|
||||
"&coid=" + prod.dbProduct.skc_id + "->" + prod.dbProduct.real_coid;
|
||||
var htmlAfterSale = GetHtml.PostUtf8(urlAfterSale, dataAfterSale);
|
||||
if (string.IsNullOrEmpty(htmlAfterSale) || !htmlAfterSale.Contains("\"code\":200"))
|
||||
htmlAfterSale = GetHtml.PostUtf8(urlAfterSale, dataAfterSale);
|
||||
if (string.IsNullOrEmpty(htmlAfterSale) || !htmlAfterSale.Contains("\"code\":200"))
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colMsg"].Value = "爆款售后地址比对失败,请下次重试,暂时跳过入库";
|
||||
}));
|
||||
continue;
|
||||
}
|
||||
if (htmlAfterSale.Contains("\"data\":\"\""))
|
||||
{
|
||||
var afterSaleRst = GetAfterSaleAddress(shop, prod.dbProduct.real_spu_id, prod.dbProduct.spu_id, prod.dbProduct.real_coid, prod.dbProduct.skc_id);
|
||||
string address_id = BaseRegex.GetStringJson(ref afterSaleRst, "returnAddressId").ParseToString();
|
||||
string middlemanAddressId = BaseRegex.GetStringJson(ref afterSaleRst, "middlemanAddressId").ParseToString();
|
||||
if (address_id.IsNullOrEmpty() && middlemanAddressId.IsNullOrEmpty())
|
||||
{
|
||||
Thread.Sleep(5000);
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colMsg"].Value = "爆款售后地址获取失败,请下次重试,暂时跳过入库";
|
||||
}));
|
||||
continue;
|
||||
}
|
||||
retry:
|
||||
var afterSaleMobileRst = "";
|
||||
if (!address_id.IsNullOrEmpty())
|
||||
afterSaleMobileRst = GetAfterSaleAddressMobile(shop, address_id,
|
||||
prod.dbProduct.real_spu_id, prod.dbProduct.spu_id, prod.dbProduct.real_coid, prod.dbProduct.skc_id);
|
||||
else
|
||||
afterSaleMobileRst = GetAfterSaleAddressMobileById(shop, middlemanAddressId,
|
||||
prod.dbProduct.real_spu_id, prod.dbProduct.spu_id, prod.dbProduct.real_coid, prod.dbProduct.skc_id);
|
||||
Thread.Sleep(Randomx.GetId(1000, 5000));
|
||||
//为了您的数据安全,复制手机号要求验证身份,已发送验证码到您手机:132*****859,请输入验证码后进行确认。
|
||||
string tel_number = BaseRegex.GetStringJson(ref afterSaleMobileRst, "data");
|
||||
if (tel_number.IsNullOrEmpty())
|
||||
{
|
||||
if (afterSaleMobileRst.Contains("为了您的数据安全,复制手机号要求验证身份,已发送验证码到您手机"))
|
||||
{
|
||||
GetJuShuitanAuthForm GetJuShuitanAuthForm = new GetJuShuitanAuthForm();
|
||||
GetJuShuitanAuthForm.ShowDialog();
|
||||
var authStr = GetJuShuitanAuthForm.authStr;
|
||||
var authRst = AuthV2(shop, prod, authStr);
|
||||
|
||||
if (authRst.Contains("\"success\":true"))
|
||||
goto retry;
|
||||
else
|
||||
{
|
||||
if (BaseMsgForm.ShowConfirm("验证码校验失败,是否重试?").DialogResult == DialogResult.OK)
|
||||
{
|
||||
goto retry;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Thread.Sleep(5000);
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colMsg"].Value = "爆款售后电话获取失败,请下次重试,暂时跳过入库";
|
||||
}));
|
||||
continue;
|
||||
|
||||
}
|
||||
|
||||
//聚水潭退货地址:{"success":true,"total":null,"data":{"supplierReturnAddresses":[{"supplierHierarchyChain":"12840800->14009332","spuId":"C1DE5AF0118D4588B32849FA87610622","hasReturnAddress":true,"currentSupplierName":"寻合作-爆款专区","returnAddress":{"uniqueKey":"12840800-1c6cef6a151608d52f032f03fa59fec9","province":"山东省","city":"聊城市","district":"茌平区","address":"顺河北街与信发路交汇处路北山东名威电子商务","recipientName":"乌先生","street":"信发街道","mobile":"1658***1111","encryptedMobile":"aRwLwihnqaLoahYFJ2+uXw==","returnAddressId":4101,"coId":14009332,"middlemanAddress":false,"middlemanAddressId":null}}]},"message":null,"code":"0000","hasNext":false,"now":1772178142906,"extra":{}}
|
||||
//e57获取的地址格式{"address_id":null,"user_name":"孙庆裕","postal_code":null,"province_name":"浙江省","city_name":"金华市","county_name":"义乌市","street_name":"城西街道","detail_info":"城西街道圣达街18号金哥集团2号岗 5号电梯 三楼退件区","tel_number":"13024622251","number":"10010274","name":"义乌芸茄商贸有限公司"}
|
||||
|
||||
string coid = BaseRegex.GetStringJson(ref afterSaleRst, "supplierHierarchyChain");
|
||||
string user_name = BaseRegex.GetStringJson(ref afterSaleRst, "recipientName");
|
||||
string province_name = BaseRegex.GetStringJson(ref afterSaleRst, "province");
|
||||
string city_name = BaseRegex.GetStringJson(ref afterSaleRst, "city");
|
||||
string county_name = BaseRegex.GetStringJson(ref afterSaleRst, "district");
|
||||
string street_name = BaseRegex.GetStringJson(ref afterSaleRst, "street");
|
||||
string detail_info = BaseRegex.GetStringJson(ref afterSaleRst, "address");
|
||||
// 电话号码上面查过立即赋值
|
||||
//string tel_number = BaseRegex.GetStringJson(ref afterSaleRst, "mobile");
|
||||
string number = prod.dbProduct.real_coid;
|
||||
string name = BaseRegex.GetStringJson(ref afterSaleRst, "currentSupplierName");
|
||||
|
||||
var addressObj = new JObject();
|
||||
addressObj.Add("address_id", address_id.IsNullOrEmpty() ? middlemanAddressId : address_id);
|
||||
addressObj.Add("user_name", user_name);
|
||||
addressObj.Add("postal_code", null);
|
||||
addressObj.Add("province_name", province_name);
|
||||
addressObj.Add("city_name", city_name);
|
||||
addressObj.Add("county_name", county_name);
|
||||
addressObj.Add("street_name", street_name);
|
||||
addressObj.Add("detail_info", detail_info);
|
||||
addressObj.Add("tel_number", tel_number);
|
||||
addressObj.Add("number", number);
|
||||
addressObj.Add("name", name);
|
||||
|
||||
if ((address_id + middlemanAddressId).IsNullOrEmpty() || coid.IsNullOrEmpty() || user_name.IsNullOrEmpty() || province_name.IsNullOrEmpty() || city_name.IsNullOrEmpty() ||
|
||||
county_name.IsNullOrEmpty() || street_name.IsNullOrEmpty() || detail_info.IsNullOrEmpty() || tel_number.IsNullOrEmpty() || number.IsNullOrEmpty() ||
|
||||
name.IsNullOrEmpty())
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colMsg"].Value = "爆款售后地址获取失败,请下次重试,暂时跳过入库";
|
||||
}));
|
||||
continue;
|
||||
}
|
||||
|
||||
var urlSaveAfterSale = BaseClass.BuildObjString("product/wx_add_mdy_after_sale");
|
||||
var dataSaveAfterSale = Work.UserLogin.GetSignaturex() +
|
||||
"&coid=" + coid +
|
||||
"&after_sale_json=" + JsonHelper.SerializeObject(addressObj);
|
||||
string htmlSaveAfterSale = GetHtml.PostUtf8(urlSaveAfterSale, dataSaveAfterSale);
|
||||
if (string.IsNullOrEmpty(htmlSaveAfterSale) || !htmlSaveAfterSale.Contains("\"code\":200"))
|
||||
htmlSaveAfterSale = GetHtml.PostUtf8(urlSaveAfterSale, dataSaveAfterSale);
|
||||
if (string.IsNullOrEmpty(htmlSaveAfterSale) || !htmlSaveAfterSale.Contains("\"code\":200"))
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colMsg"].Value = "爆款售后地址保存失败,请下次重试,暂时跳过入库";
|
||||
}));
|
||||
continue;
|
||||
}
|
||||
|
||||
dicAfterSale[coid] = JsonHelper.SerializeObject(addressObj);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//设置分销
|
||||
var SetPartnerSpuRst = SetPartnerSpu(shop, prod);
|
||||
@@ -1111,6 +1474,19 @@ namespace TemuKJD.ToolForms
|
||||
return lstRst;
|
||||
}
|
||||
|
||||
public string GetHotLst(ShopLoginInfo shop, JObject searchDataObj)
|
||||
{
|
||||
string url = "https://sc.ttdahuo.com/api/goods/freshman/mall/goods/list";
|
||||
string referer = "https://sc.ttdahuo.com/findCooperation/newlywedZone";
|
||||
var lstRst = JSTHttpResponseBLL.JSTPostResponse(shop, url, JsonHelper.SerializeObject(searchDataObj), referer, appVersion);
|
||||
for (int i = 0; i < 3 && !lstRst.Contains("\"success\":true"); i++)
|
||||
{
|
||||
Thread.Sleep(Randomx.GetId(1000, 2000));
|
||||
lstRst = JSTHttpResponseBLL.JSTPostResponse(shop, url, JsonHelper.SerializeObject(searchDataObj), referer, appVersion);
|
||||
}
|
||||
return lstRst;
|
||||
}
|
||||
|
||||
public string GetPddBaseData(ShopLoginInfo shop, JSTListProductInfo jstLstProd)
|
||||
{
|
||||
string url = "https://sc.scm121.com/api/goods/goods/goGoodsPdd/queryBaseData?itemSpuId=" + jstLstProd.itemSpuId + "&shelvesType=DISTRIBUTION&originator=SUPPLIER&itemCoId=" + jstLstProd.itemCoId;
|
||||
@@ -1169,6 +1545,53 @@ namespace TemuKJD.ToolForms
|
||||
return response;
|
||||
}
|
||||
|
||||
public string QueryRealCoid(ShopLoginInfo shop, JSTListProductInfo jstProd)
|
||||
{
|
||||
string url = "https://sc.scm121.com/api/goods/goodsQuery/queryGoodsDistributionHierarchyV2";
|
||||
string referer = "https://sc.scm121.com/findCooperation/newlywedZone/goodsDetail/" + jstProd.itemSpuId + "?itemCoId=" + jstProd.itemCoId +
|
||||
"&lookingFor=findCooperation&noBack=true";
|
||||
string data = "[{\"supplierCoId\":\"" + jstProd.itemCoId + "\",\"itemSpuIdList\":[\"" + jstProd.itemSpuId + "\"]}]";
|
||||
var response = JSTHttpResponseBLL.JSTPostResponse(shop, url, data, referer, appVersion);
|
||||
return response;
|
||||
}
|
||||
|
||||
public string BatchQueryRealCoid(ShopLoginInfo shop, string spuIds, string coid0 = "12840800")
|
||||
{
|
||||
string url = "https://sc.scm121.com/api/goods/goodsQuery/queryGoodsDistributionHierarchyV2";
|
||||
string referer = "https://sc.ttdahuo.com/findCooperation/newlywedZone";
|
||||
string data = "[{\"supplierCoId\":\"" + coid0 + "\",\"itemSpuIdList\":[\"" + spuIds.Replace(",", "\",\"") + "\"]}]";
|
||||
var response = JSTHttpResponseBLL.JSTPostResponse(shop, url, data, referer, appVersion);
|
||||
return response;
|
||||
}
|
||||
|
||||
public string GetAfterSaleAddress(ShopLoginInfo shop, string realSpuId, string spuId, string supCoId1, string supCoId0 = "12840800")
|
||||
{
|
||||
string url = "https://innerapi.scm121.com/api/aftersale/addresses/queryMultiLevelSupplierReturnAddressWithSwitch";
|
||||
string referer = "https://sc.scm121.com/findCooperation/newlywedZone/goodsDetail/" + spuId + "?itemCoId=" + supCoId0 + "&lookingFor=findCooperation&noBack=true";
|
||||
string data = @"{""params"":[{""supplierHierarchyInfos"":[{""supCoId"":""" + supCoId0 + @""",""level"":0},{""supCoId"":""" + supCoId1 +
|
||||
@""",""level"":1}],""spuId"":""" + realSpuId + @"""}]}";
|
||||
var response = JSTHttpResponseBLL.JSTPostResponse(shop, url, data, referer, appVersion);
|
||||
return response;
|
||||
}
|
||||
|
||||
public string GetAfterSaleAddressMobile(ShopLoginInfo shop, string addressId, string realSpuId, string spuId, string realCoid, string supCoId = "12840800")
|
||||
{
|
||||
string url = "https://sc.scm121.com/api/company/phoneQuery/aftersale/supplier/getReturnPhone?returnAddressId=" + addressId + "&supplierCoId=" + realCoid;
|
||||
string referer = "https://sc.scm121.com/findCooperation/newlywedZone/goodsDetail/" + spuId + "?itemCoId=" + supCoId + "&lookingFor=findCooperation&noBack=true";
|
||||
|
||||
var response = JSTHttpResponseBLL.JSTGetResponse(shop, url, referer, appVersion);
|
||||
return response;
|
||||
}
|
||||
public string GetAfterSaleAddressMobileById(ShopLoginInfo shop, string Id, string realSpuId, string spuId, string realCoid, string supCoId = "12840800")
|
||||
{
|
||||
string url = "https://innerapi.scm121.com/api/aftersale/middleman/addresses/queryPhone?id=" + Id;
|
||||
string referer = "https://sc.scm121.com/findCooperation/newlywedZone/goodsDetail/" + spuId + "?itemCoId=" + supCoId + "&lookingFor=findCooperation&noBack=true";
|
||||
// "https://sc.scm121.com/findCooperation/newlywedZone/goodsDetail/ ?itemCoId= &lookingFor=findCooperation&noBack=true
|
||||
|
||||
var response = JSTHttpResponseBLL.JSTGetResponse(shop, url, referer, appVersion);
|
||||
return response;
|
||||
}
|
||||
|
||||
public string SetPartnerSpu(ShopLoginInfo shop, JSTListProductInfo jstProd)
|
||||
{
|
||||
string url = "https://sc.scm121.com/api/goods/buyer/partnerSpu/add";
|
||||
@@ -1179,6 +1602,18 @@ namespace TemuKJD.ToolForms
|
||||
}
|
||||
|
||||
|
||||
|
||||
public string AuthV2(ShopLoginInfo shop, JSTListProductInfo jstProd, string authStr)
|
||||
{
|
||||
string url = "https://sc.scm121.com/api/company/open/auth/grantAuthV2";
|
||||
string referer = "https://sc.scm121.com/findCooperation/newlywedZone/goodsDetail/" + jstProd.spuId + "?itemCoId=" + jstProd.itemCoId +
|
||||
"&lookingFor=findCooperation&noBack=true";
|
||||
string data = @"{""code"":""" + authStr + @""",""sensitiveOperationErrorCode"":""50716""}";
|
||||
var response = JSTHttpResponseBLL.JSTPostResponse(shop, url, data, referer, appVersion);
|
||||
return response;
|
||||
}
|
||||
|
||||
|
||||
public string GetDownSkuLst(ShopLoginInfo shop, DateTime startTime, DateTime endTime, int pageNum, int pageSize)
|
||||
{
|
||||
string url = "https://sc.scm121.com/api/goods/goChannelPartnerSku/queryChannelPartnerSkuList";
|
||||
@@ -1261,7 +1696,7 @@ namespace TemuKJD.ToolForms
|
||||
if (jstDownSkuGetInfo.status != "done")
|
||||
BaseMsgForm.ShowError("采集并同步产品中断!");
|
||||
else
|
||||
BaseMsgForm.ShowError("采集并同步产品完成!");
|
||||
BaseMsgForm.ShowInfo("采集并同步产品完成!");
|
||||
pictureBox1.Visible = false;
|
||||
}));
|
||||
}, CancelGetDown.Token);
|
||||
@@ -1355,9 +1790,9 @@ namespace TemuKJD.ToolForms
|
||||
result = GetHtml.PostUtf8(url, data);
|
||||
if (!result.Contains("\"code\":200"))
|
||||
{
|
||||
var errMsg = BaseRegex.GetStringJson(ref rst, "message");
|
||||
var errMsg = BaseRegex.GetStringJson(ref result, "msg");
|
||||
if (string.IsNullOrEmpty(errMsg))
|
||||
errMsg = rst;
|
||||
errMsg = result;
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.statusBarUserControl1.lblTaskStatus.Text = "查询下架库错误:" + errMsg;
|
||||
@@ -1527,7 +1962,7 @@ namespace TemuKJD.ToolForms
|
||||
"&supplierName=" + downSku.supplierName +
|
||||
"&shelvesTime=" + downSku.shelvesTime +
|
||||
"&supplierCoId=" + downSku.supplierCoId +
|
||||
"&coId=" + downSku.coId +
|
||||
"&coId=" + downSku.coId + // 此处coId数值与供应商商品列表的coId不同,注意区分
|
||||
"&spuId=" + downSku.spuId +
|
||||
"&partnerSkuId=" + downSku.partnerSkuId +
|
||||
"&partnerSpuId=" + downSku.partnerSpuId +
|
||||
|
||||
@@ -120,6 +120,12 @@
|
||||
<metadata name="colCheck.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colCoId.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="colProductId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
|
||||
+111
-98
@@ -114,6 +114,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.lblWaitToUp = new System.Windows.Forms.Label();
|
||||
this.txtAddCount = new System.Windows.Forms.TextBox();
|
||||
this.btnRandomAdd = new DevComponents.DotNetBar.PanelEx();
|
||||
this.chkSevenDays = new TemuKJD.UserComponent.UcCheckBox(this.components);
|
||||
this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
|
||||
this.btnRefreshAuthor = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnSelectOffline = new DevComponents.DotNetBar.PanelEx();
|
||||
@@ -152,11 +153,6 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.txtSinglePriceAdd = new System.Windows.Forms.TextBox();
|
||||
this.chkTestNoAuditUpload = new TemuKJD.UserComponent.UcCheckBox(this.components);
|
||||
this.dgvSelectProduct = new TemuKJD.UserComponent.DataGridViewEx();
|
||||
this.splitContainer4 = new System.Windows.Forms.SplitContainer();
|
||||
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
|
||||
this.btnClear = new DevComponents.DotNetBar.PanelEx();
|
||||
this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.colSelectId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colSupplierId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
@@ -179,6 +175,11 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.ColDelete = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colAddTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colOpResult = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.splitContainer4 = new System.Windows.Forms.SplitContainer();
|
||||
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
|
||||
this.btnClear = new DevComponents.DotNetBar.PanelEx();
|
||||
this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
@@ -924,6 +925,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.ucGroupBoxEx4.Controls.Add(this.lblWaitToUp);
|
||||
this.ucGroupBoxEx4.Controls.Add(this.txtAddCount);
|
||||
this.ucGroupBoxEx4.Controls.Add(this.btnRandomAdd);
|
||||
this.ucGroupBoxEx4.Controls.Add(this.chkSevenDays);
|
||||
this.ucGroupBoxEx4.Location = new System.Drawing.Point(162, 2);
|
||||
this.ucGroupBoxEx4.Name = "ucGroupBoxEx4";
|
||||
this.ucGroupBoxEx4.Size = new System.Drawing.Size(410, 165);
|
||||
@@ -1120,10 +1122,10 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.btnClearFilter.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.btnClearFilter.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnClearFilter.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnClearFilter.Location = new System.Drawing.Point(343, 101);
|
||||
this.btnClearFilter.Location = new System.Drawing.Point(368, 101);
|
||||
this.btnClearFilter.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
|
||||
this.btnClearFilter.Name = "btnClearFilter";
|
||||
this.btnClearFilter.Size = new System.Drawing.Size(58, 25);
|
||||
this.btnClearFilter.Size = new System.Drawing.Size(33, 25);
|
||||
this.btnClearFilter.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnClearFilter.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.btnClearFilter.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
@@ -1137,7 +1139,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.btnClearFilter.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnClearFilter.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnClearFilter.TabIndex = 559;
|
||||
this.btnClearFilter.Text = "清除筛选";
|
||||
this.btnClearFilter.Text = "清除";
|
||||
this.btnClearFilter.Click += new System.EventHandler(this.btnClearFilter_Click);
|
||||
//
|
||||
// lblGoodsCount
|
||||
@@ -1267,6 +1269,16 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.btnRandomAdd.Text = "随机添加";
|
||||
this.btnRandomAdd.Click += new System.EventHandler(this.btnRandomAdd_Click);
|
||||
//
|
||||
// chkSevenDays
|
||||
//
|
||||
this.chkSevenDays.AutoSize = true;
|
||||
this.chkSevenDays.Location = new System.Drawing.Point(282, 103);
|
||||
this.chkSevenDays.Name = "chkSevenDays";
|
||||
this.chkSevenDays.Size = new System.Drawing.Size(87, 21);
|
||||
this.chkSevenDays.TabIndex = 805;
|
||||
this.chkSevenDays.Text = "近七日爆款";
|
||||
this.chkSevenDays.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// ucGroupBoxEx1
|
||||
//
|
||||
this.ucGroupBoxEx1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
@@ -1906,96 +1918,6 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.dgvSelectProduct.TabIndex = 187;
|
||||
this.dgvSelectProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSelectProduct_CellContentClick);
|
||||
//
|
||||
// splitContainer4
|
||||
//
|
||||
this.splitContainer4.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer4.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
|
||||
this.splitContainer4.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer4.Name = "splitContainer4";
|
||||
//
|
||||
// splitContainer4.Panel1
|
||||
//
|
||||
this.splitContainer4.Panel1.Controls.Add(this.statusBar);
|
||||
//
|
||||
// splitContainer4.Panel2
|
||||
//
|
||||
this.splitContainer4.Panel2.Controls.Add(this.btnClear);
|
||||
this.splitContainer4.Panel2.Controls.Add(this.panelEx1);
|
||||
this.splitContainer4.Size = new System.Drawing.Size(1542, 26);
|
||||
this.splitContainer4.SplitterDistance = 851;
|
||||
this.splitContainer4.TabIndex = 3;
|
||||
//
|
||||
// statusBar
|
||||
//
|
||||
this.statusBar.BackColor = System.Drawing.Color.White;
|
||||
this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.statusBar.Location = new System.Drawing.Point(0, 0);
|
||||
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.statusBar.Name = "statusBar";
|
||||
this.statusBar.Size = new System.Drawing.Size(851, 26);
|
||||
this.statusBar.TabIndex = 2;
|
||||
//
|
||||
// btnClear
|
||||
//
|
||||
this.btnClear.Anchor = System.Windows.Forms.AnchorStyles.Right;
|
||||
this.btnClear.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnClear.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnClear.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnClear.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnClear.Location = new System.Drawing.Point(475, 2);
|
||||
this.btnClear.Name = "btnClear";
|
||||
this.btnClear.Size = new System.Drawing.Size(90, 21);
|
||||
this.btnClear.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnClear.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnClear.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnClear.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnClear.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnClear.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnClear.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnClear.Style.GradientAngle = 90;
|
||||
this.btnClear.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnClear.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnClear.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnClear.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnClear.TabIndex = 440;
|
||||
this.btnClear.Text = "清空结果";
|
||||
this.btnClear.Visible = false;
|
||||
//
|
||||
// panelEx1
|
||||
//
|
||||
this.panelEx1.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.panelEx1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.panelEx1.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.panelEx1.Location = new System.Drawing.Point(568, 2);
|
||||
this.panelEx1.Name = "panelEx1";
|
||||
this.panelEx1.Size = new System.Drawing.Size(115, 21);
|
||||
this.panelEx1.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.panelEx1.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
|
||||
this.panelEx1.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.panelEx1.Style.GradientAngle = 90;
|
||||
this.panelEx1.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.panelEx1.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.panelEx1.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.panelEx1.TabIndex = 668;
|
||||
this.panelEx1.Text = "停止当前操作";
|
||||
this.panelEx1.Visible = false;
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.panel1.Location = new System.Drawing.Point(699, 552);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(881, 86);
|
||||
this.panel1.TabIndex = 189;
|
||||
//
|
||||
// colCheck
|
||||
//
|
||||
this.colCheck.Frozen = true;
|
||||
@@ -2176,6 +2098,96 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.colOpResult.ReadOnly = true;
|
||||
this.colOpResult.Width = 290;
|
||||
//
|
||||
// splitContainer4
|
||||
//
|
||||
this.splitContainer4.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.splitContainer4.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
|
||||
this.splitContainer4.Location = new System.Drawing.Point(0, 0);
|
||||
this.splitContainer4.Name = "splitContainer4";
|
||||
//
|
||||
// splitContainer4.Panel1
|
||||
//
|
||||
this.splitContainer4.Panel1.Controls.Add(this.statusBar);
|
||||
//
|
||||
// splitContainer4.Panel2
|
||||
//
|
||||
this.splitContainer4.Panel2.Controls.Add(this.btnClear);
|
||||
this.splitContainer4.Panel2.Controls.Add(this.panelEx1);
|
||||
this.splitContainer4.Size = new System.Drawing.Size(1542, 26);
|
||||
this.splitContainer4.SplitterDistance = 851;
|
||||
this.splitContainer4.TabIndex = 3;
|
||||
//
|
||||
// statusBar
|
||||
//
|
||||
this.statusBar.BackColor = System.Drawing.Color.White;
|
||||
this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.statusBar.Location = new System.Drawing.Point(0, 0);
|
||||
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.statusBar.Name = "statusBar";
|
||||
this.statusBar.Size = new System.Drawing.Size(851, 26);
|
||||
this.statusBar.TabIndex = 2;
|
||||
//
|
||||
// btnClear
|
||||
//
|
||||
this.btnClear.Anchor = System.Windows.Forms.AnchorStyles.Right;
|
||||
this.btnClear.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnClear.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnClear.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnClear.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnClear.Location = new System.Drawing.Point(475, 2);
|
||||
this.btnClear.Name = "btnClear";
|
||||
this.btnClear.Size = new System.Drawing.Size(90, 21);
|
||||
this.btnClear.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnClear.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnClear.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnClear.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnClear.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnClear.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnClear.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnClear.Style.GradientAngle = 90;
|
||||
this.btnClear.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnClear.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnClear.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnClear.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnClear.TabIndex = 440;
|
||||
this.btnClear.Text = "清空结果";
|
||||
this.btnClear.Visible = false;
|
||||
//
|
||||
// panelEx1
|
||||
//
|
||||
this.panelEx1.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.panelEx1.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.panelEx1.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.panelEx1.Location = new System.Drawing.Point(568, 2);
|
||||
this.panelEx1.Name = "panelEx1";
|
||||
this.panelEx1.Size = new System.Drawing.Size(115, 21);
|
||||
this.panelEx1.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.panelEx1.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
|
||||
this.panelEx1.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.panelEx1.Style.GradientAngle = 90;
|
||||
this.panelEx1.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.panelEx1.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.panelEx1.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.panelEx1.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.panelEx1.TabIndex = 668;
|
||||
this.panelEx1.Text = "停止当前操作";
|
||||
this.panelEx1.Visible = false;
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
| System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.panel1.Location = new System.Drawing.Point(699, 552);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(881, 86);
|
||||
this.panel1.TabIndex = 189;
|
||||
//
|
||||
// WXDBProdUploadForm
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
@@ -2367,5 +2379,6 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
private System.Windows.Forms.DataGridViewLinkColumn ColDelete;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colAddTime;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colOpResult;
|
||||
private UserComponent.UcCheckBox chkSevenDays;
|
||||
}
|
||||
}
|
||||
@@ -2022,8 +2022,11 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
{
|
||||
|
||||
var urlAfterSale = BaseClass.BuildObjString("product/wx_get_after_sale");
|
||||
var dataAfterSale = Work.UserLogin.GetSignaturex() +
|
||||
"&coid=" + dbProd.skc_id;
|
||||
var dataAfterSale = Work.UserLogin.GetSignaturex();
|
||||
if (!string.IsNullOrEmpty(dbProd.real_coid))
|
||||
dataAfterSale += "&coid=" + dbProd.skc_id + "->" + dbProd.real_coid;
|
||||
else
|
||||
dataAfterSale += "&coid=" + dbProd.skc_id;
|
||||
var htmlAfterSale = GetHtml.PostUtf8(urlAfterSale, dataAfterSale);
|
||||
if (string.IsNullOrEmpty(htmlAfterSale) || !htmlAfterSale.Contains("\"code\":200"))
|
||||
htmlAfterSale = GetHtml.PostUtf8(urlAfterSale, dataAfterSale);
|
||||
@@ -2954,6 +2957,10 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!prodInfo.detail.sku.Any(s => s.quantity.ParseToInt() > 0))
|
||||
{
|
||||
return "{\"success\":false,\"draftId\":0,\"status\":\"未上传\",\"errMsg\":\"源商品库存为0\"}";
|
||||
}
|
||||
foreach (var skuInfo in prodInfo.detail.sku)
|
||||
{
|
||||
productSkuParam skuParam = new productSkuParam();
|
||||
@@ -3727,6 +3734,8 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
data += "&wx_safe_status=" + cmbWxSafe.Text.Trim().Replace("安全+未校验", "安全商品,未校验");
|
||||
data += "&is_supplier_prod_ok=" + cmbJstInitSet.Text.Trim();
|
||||
data += "&product_name=" + txtSearchGoodsName.Text.Trim();
|
||||
if (chkSevenDays.Checked)
|
||||
data += "&add_days_less=7";
|
||||
}));
|
||||
var html = GetHtml.PostUtf8(url, data);
|
||||
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
|
||||
|
||||
@@ -704,11 +704,30 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
{
|
||||
row.Cells["colCouponNum"].Value = totalNum;
|
||||
}));
|
||||
if (totalNum.ParseToInt() > 0)
|
||||
|
||||
var issuedNum = 0;
|
||||
try
|
||||
{
|
||||
var jCoupons = JsonHelper.JObjectParse(searchCouponRst);
|
||||
foreach(var coupon in jCoupons)
|
||||
{
|
||||
var couponStr = JsonHelper.SerializeObject(coupon);
|
||||
|
||||
//var receiveNum = BaseRegex.GetStringJson(ref couponStr, "receiveNum");
|
||||
issuedNum = BaseRegex.GetStringJson(ref couponStr, "issuedNum").ParseToInt();
|
||||
if (issuedNum > 0)
|
||||
break;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
|
||||
if (issuedNum.ParseToInt() > 0)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colOpResult"].Value = "商品已设置专属优惠券,跳过";
|
||||
row.Cells["colOpResult"].Value = "商品还有未领取的专属优惠券,跳过";
|
||||
}));
|
||||
continue;
|
||||
}
|
||||
@@ -824,7 +843,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
Invoke(new Action(() => {
|
||||
if (shopRow != null)
|
||||
{
|
||||
shopRow.Cells["colMsg"].Value = error;
|
||||
shopRow.Cells["colOpResult"].Value = error;
|
||||
}
|
||||
}));
|
||||
break;
|
||||
@@ -1062,109 +1081,6 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
PreType = cmbPreType.Text.Trim();
|
||||
}
|
||||
|
||||
private void btnDown_Click(object sender, EventArgs e)
|
||||
{
|
||||
var rowLst = dgvSelectProduct.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true).ToList();
|
||||
if (rowLst.Count <= 0)
|
||||
{
|
||||
BaseMsgForm.ShowError("请勾选需要操作的商品!");
|
||||
return;
|
||||
}
|
||||
|
||||
this.pbLoading.Visible = true;
|
||||
this.btnSetPreSale.Enabled = false;
|
||||
cancellationTokenSource = new CancellationTokenSource();
|
||||
Task.Run(() =>
|
||||
{
|
||||
SetProdDown(rowLst);
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.statusBar.lblTaskStatus.Text = "商品下架完毕";
|
||||
BaseMsgForm.ShowInfo("商品下架完毕");
|
||||
this.pbLoading.Visible = false;
|
||||
this.btnSetPreSale.Enabled = true;
|
||||
}));
|
||||
}, cancellationTokenSource.Token);
|
||||
|
||||
}
|
||||
|
||||
void SetProdDown(List<DataGridViewRow> rowLst)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.pbLoading.Visible = true;
|
||||
this.statusBar.lblTaskStatus.Text = "正在下架" + "...".Substring(0, DateTime.Now.Second % 4);
|
||||
this.statusBar.pgbTaskProgress.Maximum = dgvSelectProduct.Rows.Count;
|
||||
this.statusBar.UpdateProgressBar(0);
|
||||
}));
|
||||
|
||||
foreach (var row in rowLst)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colOpResult"].Value = "";
|
||||
}));
|
||||
|
||||
if (cancellationTokenSource.IsCancellationRequested)
|
||||
break;
|
||||
|
||||
var prodId = row.Cells["colDraftId"].Value.ParseToString();
|
||||
var shopId = row.Cells["colSupplierId"].Value.ParseToString();
|
||||
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId);
|
||||
if (shop == null)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colOpResult"].Value = "店铺不存在";
|
||||
}));
|
||||
continue;
|
||||
}
|
||||
if (shop.LoginStatus != "登录成功")
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colOpResult"].Value = "店铺掉线";
|
||||
}));
|
||||
continue;
|
||||
}
|
||||
|
||||
var downProdRst = WXPreSale.DownProd(shop, prodId.ParseToLong());
|
||||
System.Threading.Thread.Sleep(Randomx.GetId(200, 500));
|
||||
if (!downProdRst.Contains("\"code\":0"))
|
||||
{
|
||||
if (downProdRst.Contains("biz magic invalid"))
|
||||
{
|
||||
WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
|
||||
if (shop.LoginStatus != "登录成功")
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colOpResult"].Value = "店铺掉线";
|
||||
}));
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
var errmsg = BaseRegex.GetStringJson(ref downProdRst, "msg");
|
||||
if (string.IsNullOrWhiteSpace(errmsg))
|
||||
errmsg = downProdRst;
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colOpResult"].Value = errmsg;
|
||||
}));
|
||||
}
|
||||
|
||||
if (downProdRst.Contains("\"code\":0"))
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colOpResult"].Value = "下架成功";
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void btnFiltSelectMoreThan_Click(object sender, EventArgs e)
|
||||
{
|
||||
foreach(DataGridViewRow row in dgvSelectProduct.Rows)
|
||||
|
||||
+379
-304
@@ -32,15 +32,20 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.components = new System.ComponentModel.Container();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = 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 dataGridViewCellStyle11 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle12 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle13 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle14 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle15 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle16 = new System.Windows.Forms.DataGridViewCellStyle();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.ucGroupBoxEx3 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
|
||||
this.btnBatchDel = new DevComponents.DotNetBar.PanelEx();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
this.txtFiltSaleNum = new System.Windows.Forms.TextBox();
|
||||
this.btnFiltSelect = new DevComponents.DotNetBar.PanelEx();
|
||||
this.panelEx3 = new DevComponents.DotNetBar.PanelEx();
|
||||
this.panelEx4 = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnDown = new DevComponents.DotNetBar.PanelEx();
|
||||
@@ -54,19 +59,21 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.btnClearDgv = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnSetPreSale = new DevComponents.DotNetBar.PanelEx();
|
||||
this.ucGroupBoxEx4 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
|
||||
this.cmbOnSaleStatus = new System.Windows.Forms.ComboBox();
|
||||
this.cmbPreType = new System.Windows.Forms.ComboBox();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.txtIdFilter = new System.Windows.Forms.TextBox();
|
||||
this.lblIdFilter = new System.Windows.Forms.Label();
|
||||
this.panelEx2 = new DevComponents.DotNetBar.PanelEx();
|
||||
this.txtPageEnd = new System.Windows.Forms.TextBox();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.txtProductName = new System.Windows.Forms.TextBox();
|
||||
this.label11 = new System.Windows.Forms.Label();
|
||||
this.btnClearFilter = new DevComponents.DotNetBar.PanelEx();
|
||||
this.txtIdFilter = new System.Windows.Forms.TextBox();
|
||||
this.txtExtCodeFilter = new System.Windows.Forms.TextBox();
|
||||
this.lblIdFilter = new System.Windows.Forms.Label();
|
||||
this.lblExtCodeFilter = new System.Windows.Forms.Label();
|
||||
this.btnSearchProd = new DevComponents.DotNetBar.PanelEx();
|
||||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.ucGroupBoxEx1 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
|
||||
this.btnRefreshAuthor = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnSelectOffline = new DevComponents.DotNetBar.PanelEx();
|
||||
@@ -104,6 +111,10 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.pbLoading = new System.Windows.Forms.PictureBox();
|
||||
this.chkTestNoAuditUpload = new TemuKJD.UserComponent.UcCheckBox(this.components);
|
||||
this.dgvSelectProduct = new TemuKJD.UserComponent.DataGridViewEx();
|
||||
this.splitContainer4 = new System.Windows.Forms.SplitContainer();
|
||||
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
|
||||
this.btnClear = new DevComponents.DotNetBar.PanelEx();
|
||||
this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
|
||||
this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.colSelectId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colSupplierId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
@@ -123,18 +134,12 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.colPrice = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colSoldNum = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colMsg = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colPreSale = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colNotes = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colUserNotes = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.ColDelete = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.colAddTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colOpResult = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.splitContainer4 = new System.Windows.Forms.SplitContainer();
|
||||
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
|
||||
this.btnClear = new DevComponents.DotNetBar.PanelEx();
|
||||
this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
|
||||
this.txtFiltSaleNum = new System.Windows.Forms.TextBox();
|
||||
this.btnFiltSelect = new DevComponents.DotNetBar.PanelEx();
|
||||
this.label4 = new System.Windows.Forms.Label();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
@@ -190,6 +195,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.ucGroupBoxEx3.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
|
||||
this.ucGroupBoxEx3.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.ucGroupBoxEx3.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND;
|
||||
this.ucGroupBoxEx3.Controls.Add(this.btnBatchDel);
|
||||
this.ucGroupBoxEx3.Controls.Add(this.label4);
|
||||
this.ucGroupBoxEx3.Controls.Add(this.txtFiltSaleNum);
|
||||
this.ucGroupBoxEx3.Controls.Add(this.btnFiltSelect);
|
||||
@@ -203,13 +209,82 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.ucGroupBoxEx3.TabStop = false;
|
||||
this.ucGroupBoxEx3.Text = "商品下架";
|
||||
//
|
||||
// btnBatchDel
|
||||
//
|
||||
this.btnBatchDel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnBatchDel.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnBatchDel.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnBatchDel.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnBatchDel.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnBatchDel.Location = new System.Drawing.Point(208, 61);
|
||||
this.btnBatchDel.Name = "btnBatchDel";
|
||||
this.btnBatchDel.Size = new System.Drawing.Size(84, 23);
|
||||
this.btnBatchDel.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnBatchDel.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnBatchDel.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnBatchDel.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnBatchDel.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnBatchDel.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnBatchDel.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnBatchDel.Style.GradientAngle = 90;
|
||||
this.btnBatchDel.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnBatchDel.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnBatchDel.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnBatchDel.TabIndex = 817;
|
||||
this.btnBatchDel.Text = "批量刪除";
|
||||
this.btnBatchDel.Click += new System.EventHandler(this.btnBatchDel_Click);
|
||||
//
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(96, 34);
|
||||
this.label4.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(56, 17);
|
||||
this.label4.TabIndex = 801;
|
||||
this.label4.Text = "销量低于";
|
||||
//
|
||||
// txtFiltSaleNum
|
||||
//
|
||||
this.txtFiltSaleNum.Location = new System.Drawing.Point(152, 31);
|
||||
this.txtFiltSaleNum.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.txtFiltSaleNum.Name = "txtFiltSaleNum";
|
||||
this.txtFiltSaleNum.Size = new System.Drawing.Size(33, 23);
|
||||
this.txtFiltSaleNum.TabIndex = 795;
|
||||
this.txtFiltSaleNum.Text = "1";
|
||||
//
|
||||
// btnFiltSelect
|
||||
//
|
||||
this.btnFiltSelect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnFiltSelect.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnFiltSelect.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnFiltSelect.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnFiltSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnFiltSelect.Location = new System.Drawing.Point(32, 31);
|
||||
this.btnFiltSelect.Name = "btnFiltSelect";
|
||||
this.btnFiltSelect.Size = new System.Drawing.Size(62, 23);
|
||||
this.btnFiltSelect.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnFiltSelect.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnFiltSelect.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnFiltSelect.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnFiltSelect.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnFiltSelect.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnFiltSelect.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnFiltSelect.Style.GradientAngle = 90;
|
||||
this.btnFiltSelect.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnFiltSelect.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnFiltSelect.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnFiltSelect.TabIndex = 794;
|
||||
this.btnFiltSelect.Text = "批量选择";
|
||||
this.btnFiltSelect.Click += new System.EventHandler(this.btnFiltSelect_Click);
|
||||
//
|
||||
// panelEx3
|
||||
//
|
||||
this.panelEx3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.panelEx3.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.panelEx3.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.panelEx3.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.panelEx3.Location = new System.Drawing.Point(208, 62);
|
||||
this.panelEx3.Location = new System.Drawing.Point(208, 91);
|
||||
this.panelEx3.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
|
||||
this.panelEx3.Name = "panelEx3";
|
||||
this.panelEx3.Size = new System.Drawing.Size(84, 23);
|
||||
@@ -226,7 +301,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.panelEx3.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.panelEx3.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.panelEx3.TabIndex = 546;
|
||||
this.panelEx3.Text = "停止下架";
|
||||
this.panelEx3.Text = "停止下/刪";
|
||||
this.panelEx3.Click += new System.EventHandler(this.btnStop_Click);
|
||||
//
|
||||
// panelEx4
|
||||
@@ -235,7 +310,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.panelEx4.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.panelEx4.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.panelEx4.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.panelEx4.Location = new System.Drawing.Point(208, 93);
|
||||
this.panelEx4.Location = new System.Drawing.Point(208, 121);
|
||||
this.panelEx4.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
|
||||
this.panelEx4.Name = "panelEx4";
|
||||
this.panelEx4.Size = new System.Drawing.Size(84, 23);
|
||||
@@ -440,19 +515,21 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
| System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.ucGroupBoxEx4.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.ucGroupBoxEx4.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND;
|
||||
this.ucGroupBoxEx4.Controls.Add(this.cmbOnSaleStatus);
|
||||
this.ucGroupBoxEx4.Controls.Add(this.cmbPreType);
|
||||
this.ucGroupBoxEx4.Controls.Add(this.label3);
|
||||
this.ucGroupBoxEx4.Controls.Add(this.txtIdFilter);
|
||||
this.ucGroupBoxEx4.Controls.Add(this.lblIdFilter);
|
||||
this.ucGroupBoxEx4.Controls.Add(this.panelEx2);
|
||||
this.ucGroupBoxEx4.Controls.Add(this.txtPageEnd);
|
||||
this.ucGroupBoxEx4.Controls.Add(this.label2);
|
||||
this.ucGroupBoxEx4.Controls.Add(this.txtProductName);
|
||||
this.ucGroupBoxEx4.Controls.Add(this.label11);
|
||||
this.ucGroupBoxEx4.Controls.Add(this.btnClearFilter);
|
||||
this.ucGroupBoxEx4.Controls.Add(this.txtIdFilter);
|
||||
this.ucGroupBoxEx4.Controls.Add(this.txtExtCodeFilter);
|
||||
this.ucGroupBoxEx4.Controls.Add(this.lblIdFilter);
|
||||
this.ucGroupBoxEx4.Controls.Add(this.lblExtCodeFilter);
|
||||
this.ucGroupBoxEx4.Controls.Add(this.btnSearchProd);
|
||||
this.ucGroupBoxEx4.Controls.Add(this.label5);
|
||||
this.ucGroupBoxEx4.Location = new System.Drawing.Point(162, 2);
|
||||
this.ucGroupBoxEx4.Name = "ucGroupBoxEx4";
|
||||
this.ucGroupBoxEx4.Size = new System.Drawing.Size(410, 165);
|
||||
@@ -460,6 +537,21 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.ucGroupBoxEx4.TabStop = false;
|
||||
this.ucGroupBoxEx4.Text = "商品查询";
|
||||
//
|
||||
// cmbOnSaleStatus
|
||||
//
|
||||
this.cmbOnSaleStatus.FormattingEnabled = true;
|
||||
this.cmbOnSaleStatus.Items.AddRange(new object[] {
|
||||
"全部",
|
||||
"在售",
|
||||
"下架"});
|
||||
this.cmbOnSaleStatus.Location = new System.Drawing.Point(68, 59);
|
||||
this.cmbOnSaleStatus.Name = "cmbOnSaleStatus";
|
||||
this.cmbOnSaleStatus.Size = new System.Drawing.Size(134, 25);
|
||||
this.cmbOnSaleStatus.TabIndex = 817;
|
||||
this.cmbOnSaleStatus.Text = "在售";
|
||||
this.cmbOnSaleStatus.SelectedIndexChanged += new System.EventHandler(this.cmbOnSaleStatus_SelectedIndexChanged);
|
||||
this.cmbOnSaleStatus.TextChanged += new System.EventHandler(this.cmbOnSaleStatus_TextChanged);
|
||||
//
|
||||
// cmbPreType
|
||||
//
|
||||
this.cmbPreType.FormattingEnabled = true;
|
||||
@@ -484,13 +576,34 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.label3.TabIndex = 806;
|
||||
this.label3.Text = "预售状态";
|
||||
//
|
||||
// txtIdFilter
|
||||
//
|
||||
this.txtIdFilter.Font = new System.Drawing.Font("微软雅黑", 10F);
|
||||
this.txtIdFilter.Location = new System.Drawing.Point(262, 59);
|
||||
this.txtIdFilter.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
|
||||
this.txtIdFilter.Name = "txtIdFilter";
|
||||
this.txtIdFilter.Size = new System.Drawing.Size(134, 25);
|
||||
this.txtIdFilter.TabIndex = 652;
|
||||
this.txtIdFilter.Visible = false;
|
||||
//
|
||||
// lblIdFilter
|
||||
//
|
||||
this.lblIdFilter.AutoSize = true;
|
||||
this.lblIdFilter.Location = new System.Drawing.Point(242, 63);
|
||||
this.lblIdFilter.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
|
||||
this.lblIdFilter.Name = "lblIdFilter";
|
||||
this.lblIdFilter.Size = new System.Drawing.Size(21, 17);
|
||||
this.lblIdFilter.TabIndex = 651;
|
||||
this.lblIdFilter.Text = "ID";
|
||||
this.lblIdFilter.Visible = false;
|
||||
//
|
||||
// panelEx2
|
||||
//
|
||||
this.panelEx2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.panelEx2.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.panelEx2.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.panelEx2.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.panelEx2.Location = new System.Drawing.Point(338, 128);
|
||||
this.panelEx2.Location = new System.Drawing.Point(338, 127);
|
||||
this.panelEx2.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
|
||||
this.panelEx2.Name = "panelEx2";
|
||||
this.panelEx2.Size = new System.Drawing.Size(58, 25);
|
||||
@@ -535,7 +648,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
// txtProductName
|
||||
//
|
||||
this.txtProductName.Font = new System.Drawing.Font("微软雅黑", 10F);
|
||||
this.txtProductName.Location = new System.Drawing.Point(68, 95);
|
||||
this.txtProductName.Location = new System.Drawing.Point(68, 93);
|
||||
this.txtProductName.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
|
||||
this.txtProductName.Name = "txtProductName";
|
||||
this.txtProductName.Size = new System.Drawing.Size(328, 25);
|
||||
@@ -559,7 +672,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.btnClearFilter.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.btnClearFilter.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnClearFilter.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnClearFilter.Location = new System.Drawing.Point(276, 128);
|
||||
this.btnClearFilter.Location = new System.Drawing.Point(276, 127);
|
||||
this.btnClearFilter.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
|
||||
this.btnClearFilter.Name = "btnClearFilter";
|
||||
this.btnClearFilter.Size = new System.Drawing.Size(58, 25);
|
||||
@@ -579,41 +692,20 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.btnClearFilter.Text = "清空条件";
|
||||
this.btnClearFilter.Click += new System.EventHandler(this.btnClearFilter_Click);
|
||||
//
|
||||
// txtIdFilter
|
||||
//
|
||||
this.txtIdFilter.Font = new System.Drawing.Font("微软雅黑", 10F);
|
||||
this.txtIdFilter.Location = new System.Drawing.Point(68, 60);
|
||||
this.txtIdFilter.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
|
||||
this.txtIdFilter.Name = "txtIdFilter";
|
||||
this.txtIdFilter.Size = new System.Drawing.Size(134, 25);
|
||||
this.txtIdFilter.TabIndex = 652;
|
||||
this.txtIdFilter.Visible = false;
|
||||
//
|
||||
// txtExtCodeFilter
|
||||
//
|
||||
this.txtExtCodeFilter.Font = new System.Drawing.Font("微软雅黑", 10F);
|
||||
this.txtExtCodeFilter.Location = new System.Drawing.Point(262, 60);
|
||||
this.txtExtCodeFilter.Location = new System.Drawing.Point(68, 127);
|
||||
this.txtExtCodeFilter.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
|
||||
this.txtExtCodeFilter.Name = "txtExtCodeFilter";
|
||||
this.txtExtCodeFilter.Size = new System.Drawing.Size(134, 25);
|
||||
this.txtExtCodeFilter.TabIndex = 555;
|
||||
this.txtExtCodeFilter.Visible = false;
|
||||
//
|
||||
// lblIdFilter
|
||||
//
|
||||
this.lblIdFilter.AutoSize = true;
|
||||
this.lblIdFilter.Location = new System.Drawing.Point(48, 65);
|
||||
this.lblIdFilter.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
|
||||
this.lblIdFilter.Name = "lblIdFilter";
|
||||
this.lblIdFilter.Size = new System.Drawing.Size(21, 17);
|
||||
this.lblIdFilter.TabIndex = 651;
|
||||
this.lblIdFilter.Text = "ID";
|
||||
this.lblIdFilter.Visible = false;
|
||||
//
|
||||
// lblExtCodeFilter
|
||||
//
|
||||
this.lblExtCodeFilter.AutoSize = true;
|
||||
this.lblExtCodeFilter.Location = new System.Drawing.Point(231, 64);
|
||||
this.lblExtCodeFilter.Location = new System.Drawing.Point(37, 131);
|
||||
this.lblExtCodeFilter.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
|
||||
this.lblExtCodeFilter.Name = "lblExtCodeFilter";
|
||||
this.lblExtCodeFilter.Size = new System.Drawing.Size(32, 17);
|
||||
@@ -627,7 +719,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.btnSearchProd.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnSearchProd.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnSearchProd.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnSearchProd.Location = new System.Drawing.Point(213, 128);
|
||||
this.btnSearchProd.Location = new System.Drawing.Point(213, 127);
|
||||
this.btnSearchProd.Name = "btnSearchProd";
|
||||
this.btnSearchProd.Size = new System.Drawing.Size(58, 25);
|
||||
this.btnSearchProd.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
@@ -645,6 +737,17 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.btnSearchProd.Text = "商品查询";
|
||||
this.btnSearchProd.Click += new System.EventHandler(this.btnSearchProd_Click);
|
||||
//
|
||||
// label5
|
||||
//
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(13, 63);
|
||||
this.label5.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
|
||||
this.label5.Size = new System.Drawing.Size(56, 17);
|
||||
this.label5.TabIndex = 818;
|
||||
this.label5.Text = "商品状态";
|
||||
//
|
||||
// ucGroupBoxEx1
|
||||
//
|
||||
this.ucGroupBoxEx1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
@@ -1015,19 +1118,19 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
//
|
||||
this.dgvShop.AllowUserToAddRows = false;
|
||||
this.dgvShop.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
|
||||
dataGridViewCellStyle9.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle9;
|
||||
this.dgvShop.AutoRowNumber = true;
|
||||
this.dgvShop.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvShop.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
dataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle2;
|
||||
dataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle10.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle10.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle10.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle10.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle10.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle10;
|
||||
this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colSelect,
|
||||
@@ -1198,19 +1301,19 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
//
|
||||
this.dgvSelectProduct.AllowUserToAddRows = false;
|
||||
this.dgvSelectProduct.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3;
|
||||
dataGridViewCellStyle11.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle11;
|
||||
this.dgvSelectProduct.AutoRowNumber = true;
|
||||
this.dgvSelectProduct.BackgroundColor = System.Drawing.Color.White;
|
||||
this.dgvSelectProduct.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
dataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle4.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle4;
|
||||
dataGridViewCellStyle12.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle12.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle12.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle12.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle12.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle12.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle12.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle12;
|
||||
this.dgvSelectProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvSelectProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colCheck,
|
||||
@@ -1232,6 +1335,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.colPrice,
|
||||
this.colSoldNum,
|
||||
this.colMsg,
|
||||
this.colPreSale,
|
||||
this.colNotes,
|
||||
this.colUserNotes,
|
||||
this.ColDelete,
|
||||
@@ -1246,201 +1350,6 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.dgvSelectProduct.TabIndex = 187;
|
||||
this.dgvSelectProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSelectProduct_CellContentClick);
|
||||
//
|
||||
// colCheck
|
||||
//
|
||||
this.colCheck.Frozen = true;
|
||||
this.colCheck.HeaderText = "选择";
|
||||
this.colCheck.Name = "colCheck";
|
||||
this.colCheck.ReadOnly = true;
|
||||
this.colCheck.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colCheck.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colCheck.Width = 30;
|
||||
//
|
||||
// colSelectId
|
||||
//
|
||||
this.colSelectId.HeaderText = "认领Id";
|
||||
this.colSelectId.Name = "colSelectId";
|
||||
this.colSelectId.ReadOnly = true;
|
||||
this.colSelectId.Visible = false;
|
||||
//
|
||||
// colSupplierId
|
||||
//
|
||||
this.colSupplierId.Frozen = true;
|
||||
this.colSupplierId.HeaderText = "店铺Id";
|
||||
this.colSupplierId.Name = "colSupplierId";
|
||||
this.colSupplierId.ReadOnly = true;
|
||||
//
|
||||
// colSupplierName
|
||||
//
|
||||
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle5;
|
||||
this.colSupplierName.Frozen = true;
|
||||
this.colSupplierName.HeaderText = "店铺名称";
|
||||
this.colSupplierName.Name = "colSupplierName";
|
||||
this.colSupplierName.ReadOnly = true;
|
||||
//
|
||||
// colLogin
|
||||
//
|
||||
this.colLogin.HeaderText = "登录";
|
||||
this.colLogin.Name = "colLogin";
|
||||
this.colLogin.ReadOnly = true;
|
||||
this.colLogin.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colLogin.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colLogin.Width = 40;
|
||||
//
|
||||
// colInShop
|
||||
//
|
||||
this.colInShop.HeaderText = "进店";
|
||||
this.colInShop.Name = "colInShop";
|
||||
this.colInShop.ReadOnly = true;
|
||||
this.colInShop.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colInShop.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colInShop.Width = 40;
|
||||
//
|
||||
// colSpuId
|
||||
//
|
||||
this.colSpuId.HeaderText = "源商品ID";
|
||||
this.colSpuId.Name = "colSpuId";
|
||||
this.colSpuId.ReadOnly = true;
|
||||
this.colSpuId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSpuId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colSpuId.Visible = false;
|
||||
//
|
||||
// colSkcId
|
||||
//
|
||||
this.colSkcId.FillWeight = 150F;
|
||||
this.colSkcId.HeaderText = "商品SKC";
|
||||
this.colSkcId.Name = "colSkcId";
|
||||
this.colSkcId.ReadOnly = true;
|
||||
this.colSkcId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSkcId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colSkcId.Visible = false;
|
||||
this.colSkcId.Width = 80;
|
||||
//
|
||||
// colDraftId
|
||||
//
|
||||
this.colDraftId.HeaderText = "商品Id";
|
||||
this.colDraftId.Name = "colDraftId";
|
||||
this.colDraftId.ReadOnly = true;
|
||||
this.colDraftId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colDraftId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
|
||||
this.colDraftId.Width = 120;
|
||||
//
|
||||
// colImgUrl
|
||||
//
|
||||
this.colImgUrl.HeaderText = "图片地址";
|
||||
this.colImgUrl.Name = "colImgUrl";
|
||||
this.colImgUrl.ReadOnly = true;
|
||||
this.colImgUrl.Visible = false;
|
||||
//
|
||||
// colProductSkcPic
|
||||
//
|
||||
this.colProductSkcPic.HeaderText = "图片";
|
||||
this.colProductSkcPic.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom;
|
||||
this.colProductSkcPic.Name = "colProductSkcPic";
|
||||
this.colProductSkcPic.ReadOnly = true;
|
||||
this.colProductSkcPic.Width = 60;
|
||||
//
|
||||
// colSkuFakeImgUrl
|
||||
//
|
||||
this.colSkuFakeImgUrl.HeaderText = "SKU替换图地址";
|
||||
this.colSkuFakeImgUrl.Name = "colSkuFakeImgUrl";
|
||||
this.colSkuFakeImgUrl.ReadOnly = true;
|
||||
this.colSkuFakeImgUrl.Visible = false;
|
||||
//
|
||||
// colSkuFakeImg
|
||||
//
|
||||
this.colSkuFakeImg.HeaderText = "SKU替换图";
|
||||
this.colSkuFakeImg.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom;
|
||||
this.colSkuFakeImg.Name = "colSkuFakeImg";
|
||||
this.colSkuFakeImg.ReadOnly = true;
|
||||
this.colSkuFakeImg.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSkuFakeImg.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colSkuFakeImg.Visible = false;
|
||||
this.colSkuFakeImg.Width = 60;
|
||||
//
|
||||
// colProductName
|
||||
//
|
||||
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductName.DefaultCellStyle = dataGridViewCellStyle6;
|
||||
this.colProductName.HeaderText = "商品标题";
|
||||
this.colProductName.Name = "colProductName";
|
||||
this.colProductName.ReadOnly = true;
|
||||
this.colProductName.Width = 150;
|
||||
//
|
||||
// colProductCat
|
||||
//
|
||||
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductCat.DefaultCellStyle = dataGridViewCellStyle7;
|
||||
this.colProductCat.HeaderText = "商品类目";
|
||||
this.colProductCat.Name = "colProductCat";
|
||||
this.colProductCat.ReadOnly = true;
|
||||
this.colProductCat.Width = 90;
|
||||
//
|
||||
// colExtCode
|
||||
//
|
||||
this.colExtCode.HeaderText = "商品货号";
|
||||
this.colExtCode.Name = "colExtCode";
|
||||
this.colExtCode.ReadOnly = true;
|
||||
this.colExtCode.Width = 145;
|
||||
//
|
||||
// colPrice
|
||||
//
|
||||
this.colPrice.HeaderText = "价格";
|
||||
this.colPrice.Name = "colPrice";
|
||||
this.colPrice.ReadOnly = true;
|
||||
this.colPrice.Width = 60;
|
||||
//
|
||||
// colSoldNum
|
||||
//
|
||||
this.colSoldNum.HeaderText = "销量";
|
||||
this.colSoldNum.Name = "colSoldNum";
|
||||
this.colSoldNum.ReadOnly = true;
|
||||
this.colSoldNum.Width = 60;
|
||||
//
|
||||
// colMsg
|
||||
//
|
||||
this.colMsg.HeaderText = "状态";
|
||||
this.colMsg.Name = "colMsg";
|
||||
this.colMsg.ReadOnly = true;
|
||||
//
|
||||
// colNotes
|
||||
//
|
||||
this.colNotes.HeaderText = "上传备注";
|
||||
this.colNotes.Name = "colNotes";
|
||||
this.colNotes.ReadOnly = true;
|
||||
this.colNotes.Visible = false;
|
||||
//
|
||||
// colUserNotes
|
||||
//
|
||||
this.colUserNotes.HeaderText = "重上/已买";
|
||||
this.colUserNotes.Name = "colUserNotes";
|
||||
this.colUserNotes.ReadOnly = true;
|
||||
this.colUserNotes.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colUserNotes.Visible = false;
|
||||
this.colUserNotes.Width = 75;
|
||||
//
|
||||
// ColDelete
|
||||
//
|
||||
this.ColDelete.HeaderText = "删除";
|
||||
this.ColDelete.Name = "ColDelete";
|
||||
this.ColDelete.ReadOnly = true;
|
||||
this.ColDelete.Visible = false;
|
||||
this.ColDelete.Width = 75;
|
||||
//
|
||||
// colAddTime
|
||||
//
|
||||
this.colAddTime.HeaderText = "上架时间";
|
||||
this.colAddTime.Name = "colAddTime";
|
||||
this.colAddTime.ReadOnly = true;
|
||||
//
|
||||
// colOpResult
|
||||
//
|
||||
this.colOpResult.HeaderText = "操作结果";
|
||||
this.colOpResult.Name = "colOpResult";
|
||||
this.colOpResult.ReadOnly = true;
|
||||
this.colOpResult.Width = 260;
|
||||
//
|
||||
// splitContainer4
|
||||
//
|
||||
this.splitContainer4.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
@@ -1521,49 +1430,211 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.panelEx1.Text = "停止当前操作";
|
||||
this.panelEx1.Visible = false;
|
||||
//
|
||||
// txtFiltSaleNum
|
||||
// colCheck
|
||||
//
|
||||
this.txtFiltSaleNum.Location = new System.Drawing.Point(152, 31);
|
||||
this.txtFiltSaleNum.Margin = new System.Windows.Forms.Padding(0, 3, 3, 3);
|
||||
this.txtFiltSaleNum.Name = "txtFiltSaleNum";
|
||||
this.txtFiltSaleNum.Size = new System.Drawing.Size(33, 23);
|
||||
this.txtFiltSaleNum.TabIndex = 795;
|
||||
this.txtFiltSaleNum.Text = "1";
|
||||
this.colCheck.Frozen = true;
|
||||
this.colCheck.HeaderText = "选择";
|
||||
this.colCheck.Name = "colCheck";
|
||||
this.colCheck.ReadOnly = true;
|
||||
this.colCheck.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colCheck.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colCheck.Width = 30;
|
||||
//
|
||||
// btnFiltSelect
|
||||
// colSelectId
|
||||
//
|
||||
this.btnFiltSelect.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnFiltSelect.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnFiltSelect.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnFiltSelect.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnFiltSelect.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnFiltSelect.Location = new System.Drawing.Point(32, 31);
|
||||
this.btnFiltSelect.Name = "btnFiltSelect";
|
||||
this.btnFiltSelect.Size = new System.Drawing.Size(62, 23);
|
||||
this.btnFiltSelect.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnFiltSelect.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnFiltSelect.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnFiltSelect.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnFiltSelect.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnFiltSelect.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnFiltSelect.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnFiltSelect.Style.GradientAngle = 90;
|
||||
this.btnFiltSelect.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnFiltSelect.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnFiltSelect.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnFiltSelect.TabIndex = 794;
|
||||
this.btnFiltSelect.Text = "批量选择";
|
||||
this.btnFiltSelect.Click += new System.EventHandler(this.btnFiltSelect_Click);
|
||||
this.colSelectId.HeaderText = "认领Id";
|
||||
this.colSelectId.Name = "colSelectId";
|
||||
this.colSelectId.ReadOnly = true;
|
||||
this.colSelectId.Visible = false;
|
||||
//
|
||||
// label4
|
||||
// colSupplierId
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(96, 34);
|
||||
this.label4.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(56, 17);
|
||||
this.label4.TabIndex = 801;
|
||||
this.label4.Text = "销量低于";
|
||||
this.colSupplierId.Frozen = true;
|
||||
this.colSupplierId.HeaderText = "店铺Id";
|
||||
this.colSupplierId.Name = "colSupplierId";
|
||||
this.colSupplierId.ReadOnly = true;
|
||||
//
|
||||
// colSupplierName
|
||||
//
|
||||
dataGridViewCellStyle13.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSupplierName.DefaultCellStyle = dataGridViewCellStyle13;
|
||||
this.colSupplierName.Frozen = true;
|
||||
this.colSupplierName.HeaderText = "店铺名称";
|
||||
this.colSupplierName.Name = "colSupplierName";
|
||||
this.colSupplierName.ReadOnly = true;
|
||||
//
|
||||
// colLogin
|
||||
//
|
||||
this.colLogin.HeaderText = "登录";
|
||||
this.colLogin.Name = "colLogin";
|
||||
this.colLogin.ReadOnly = true;
|
||||
this.colLogin.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colLogin.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colLogin.Width = 40;
|
||||
//
|
||||
// colInShop
|
||||
//
|
||||
this.colInShop.HeaderText = "进店";
|
||||
this.colInShop.Name = "colInShop";
|
||||
this.colInShop.ReadOnly = true;
|
||||
this.colInShop.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colInShop.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colInShop.Width = 40;
|
||||
//
|
||||
// colSpuId
|
||||
//
|
||||
this.colSpuId.HeaderText = "源商品ID";
|
||||
this.colSpuId.Name = "colSpuId";
|
||||
this.colSpuId.ReadOnly = true;
|
||||
this.colSpuId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSpuId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colSpuId.Visible = false;
|
||||
//
|
||||
// colSkcId
|
||||
//
|
||||
this.colSkcId.FillWeight = 150F;
|
||||
this.colSkcId.HeaderText = "商品SKC";
|
||||
this.colSkcId.Name = "colSkcId";
|
||||
this.colSkcId.ReadOnly = true;
|
||||
this.colSkcId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSkcId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colSkcId.Visible = false;
|
||||
this.colSkcId.Width = 80;
|
||||
//
|
||||
// colDraftId
|
||||
//
|
||||
this.colDraftId.HeaderText = "商品Id";
|
||||
this.colDraftId.Name = "colDraftId";
|
||||
this.colDraftId.ReadOnly = true;
|
||||
this.colDraftId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colDraftId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.NotSortable;
|
||||
this.colDraftId.Width = 115;
|
||||
//
|
||||
// colImgUrl
|
||||
//
|
||||
this.colImgUrl.HeaderText = "图片地址";
|
||||
this.colImgUrl.Name = "colImgUrl";
|
||||
this.colImgUrl.ReadOnly = true;
|
||||
this.colImgUrl.Visible = false;
|
||||
//
|
||||
// colProductSkcPic
|
||||
//
|
||||
this.colProductSkcPic.HeaderText = "图片";
|
||||
this.colProductSkcPic.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom;
|
||||
this.colProductSkcPic.Name = "colProductSkcPic";
|
||||
this.colProductSkcPic.ReadOnly = true;
|
||||
this.colProductSkcPic.Width = 60;
|
||||
//
|
||||
// colSkuFakeImgUrl
|
||||
//
|
||||
this.colSkuFakeImgUrl.HeaderText = "SKU替换图地址";
|
||||
this.colSkuFakeImgUrl.Name = "colSkuFakeImgUrl";
|
||||
this.colSkuFakeImgUrl.ReadOnly = true;
|
||||
this.colSkuFakeImgUrl.Visible = false;
|
||||
//
|
||||
// colSkuFakeImg
|
||||
//
|
||||
this.colSkuFakeImg.HeaderText = "SKU替换图";
|
||||
this.colSkuFakeImg.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom;
|
||||
this.colSkuFakeImg.Name = "colSkuFakeImg";
|
||||
this.colSkuFakeImg.ReadOnly = true;
|
||||
this.colSkuFakeImg.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colSkuFakeImg.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
this.colSkuFakeImg.Visible = false;
|
||||
this.colSkuFakeImg.Width = 60;
|
||||
//
|
||||
// colProductName
|
||||
//
|
||||
dataGridViewCellStyle14.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductName.DefaultCellStyle = dataGridViewCellStyle14;
|
||||
this.colProductName.HeaderText = "商品标题";
|
||||
this.colProductName.Name = "colProductName";
|
||||
this.colProductName.ReadOnly = true;
|
||||
this.colProductName.Width = 140;
|
||||
//
|
||||
// colProductCat
|
||||
//
|
||||
dataGridViewCellStyle15.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductCat.DefaultCellStyle = dataGridViewCellStyle15;
|
||||
this.colProductCat.HeaderText = "商品类目";
|
||||
this.colProductCat.Name = "colProductCat";
|
||||
this.colProductCat.ReadOnly = true;
|
||||
this.colProductCat.Width = 80;
|
||||
//
|
||||
// colExtCode
|
||||
//
|
||||
this.colExtCode.HeaderText = "商品货号";
|
||||
this.colExtCode.Name = "colExtCode";
|
||||
this.colExtCode.ReadOnly = true;
|
||||
this.colExtCode.Width = 145;
|
||||
//
|
||||
// colPrice
|
||||
//
|
||||
this.colPrice.HeaderText = "价格";
|
||||
this.colPrice.Name = "colPrice";
|
||||
this.colPrice.ReadOnly = true;
|
||||
this.colPrice.Width = 50;
|
||||
//
|
||||
// colSoldNum
|
||||
//
|
||||
this.colSoldNum.HeaderText = "销量";
|
||||
this.colSoldNum.Name = "colSoldNum";
|
||||
this.colSoldNum.ReadOnly = true;
|
||||
this.colSoldNum.Width = 50;
|
||||
//
|
||||
// colMsg
|
||||
//
|
||||
this.colMsg.HeaderText = "状态";
|
||||
this.colMsg.Name = "colMsg";
|
||||
this.colMsg.ReadOnly = true;
|
||||
this.colMsg.Width = 50;
|
||||
//
|
||||
// colPreSale
|
||||
//
|
||||
this.colPreSale.HeaderText = "预售";
|
||||
this.colPreSale.Name = "colPreSale";
|
||||
this.colPreSale.ReadOnly = true;
|
||||
this.colPreSale.Width = 50;
|
||||
//
|
||||
// colNotes
|
||||
//
|
||||
this.colNotes.HeaderText = "上传备注";
|
||||
this.colNotes.Name = "colNotes";
|
||||
this.colNotes.ReadOnly = true;
|
||||
this.colNotes.Visible = false;
|
||||
//
|
||||
// colUserNotes
|
||||
//
|
||||
this.colUserNotes.HeaderText = "重上/已买";
|
||||
this.colUserNotes.Name = "colUserNotes";
|
||||
this.colUserNotes.ReadOnly = true;
|
||||
this.colUserNotes.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colUserNotes.Visible = false;
|
||||
this.colUserNotes.Width = 75;
|
||||
//
|
||||
// ColDelete
|
||||
//
|
||||
this.ColDelete.HeaderText = "删除";
|
||||
this.ColDelete.Name = "ColDelete";
|
||||
this.ColDelete.ReadOnly = true;
|
||||
this.ColDelete.Visible = false;
|
||||
this.ColDelete.Width = 75;
|
||||
//
|
||||
// colAddTime
|
||||
//
|
||||
dataGridViewCellStyle16.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colAddTime.DefaultCellStyle = dataGridViewCellStyle16;
|
||||
this.colAddTime.HeaderText = "上架时间";
|
||||
this.colAddTime.Name = "colAddTime";
|
||||
this.colAddTime.ReadOnly = true;
|
||||
this.colAddTime.Width = 80;
|
||||
//
|
||||
// colOpResult
|
||||
//
|
||||
this.colOpResult.HeaderText = "操作结果";
|
||||
this.colOpResult.Name = "colOpResult";
|
||||
this.colOpResult.ReadOnly = true;
|
||||
this.colOpResult.Width = 240;
|
||||
//
|
||||
// WXProdPreSaleForm
|
||||
//
|
||||
@@ -1681,6 +1752,12 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
private DevComponents.DotNetBar.PanelEx panelEx3;
|
||||
private DevComponents.DotNetBar.PanelEx panelEx4;
|
||||
private DevComponents.DotNetBar.PanelEx btnDown;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.TextBox txtFiltSaleNum;
|
||||
private DevComponents.DotNetBar.PanelEx btnFiltSelect;
|
||||
private DevComponents.DotNetBar.PanelEx btnBatchDel;
|
||||
private System.Windows.Forms.ComboBox cmbOnSaleStatus;
|
||||
private System.Windows.Forms.Label label5;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSelectId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierId;
|
||||
@@ -1700,13 +1777,11 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colPrice;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colSoldNum;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colMsg;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colPreSale;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colNotes;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn colUserNotes;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn ColDelete;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colAddTime;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colOpResult;
|
||||
private System.Windows.Forms.Label label4;
|
||||
private System.Windows.Forms.TextBox txtFiltSaleNum;
|
||||
private DevComponents.DotNetBar.PanelEx btnFiltSelect;
|
||||
}
|
||||
}
|
||||
@@ -37,10 +37,12 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
int PageBegin = 1;
|
||||
int PageEnd = 999;
|
||||
string PreType = "";
|
||||
string OnSaleStatus = "在售";
|
||||
|
||||
public CancellationTokenSource cancellationTokenSource { get; set; } = null;
|
||||
public bool IsLoadComplate { get; set; } = false;
|
||||
|
||||
bool isInit = false;
|
||||
bool isInit = false;
|
||||
CheckBox chkSelectAll = null;
|
||||
ConcurrentList<AuthInfo> lstShopAuthInfo = new ConcurrentList<AuthInfo>();
|
||||
ConcurrentList<WXShopTokenInfo> lstWXShopTokenInfo = new ConcurrentList<WXShopTokenInfo>();
|
||||
@@ -52,8 +54,8 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
public Dictionary<string, bool> dicCheckedShopId = new Dictionary<string, bool>();
|
||||
public Dictionary<string, WxShopUploadInfo> dicShopUpload = new Dictionary<string, WxShopUploadInfo>();
|
||||
public string pdd_product_cates = "";
|
||||
public List<string> forceFilteKeyWords = new List<string>()
|
||||
{
|
||||
public List<string> forceFilteKeyWords = new List<string>()
|
||||
{
|
||||
"亏本", "冲量", "白菜价", "跳楼价", "xxx", "xx", "最大", "最小", "低价", "降价", "成本", "赔钱", "甩卖",
|
||||
"真丝", "蚕丝", "香云纱", "羊绒", "羊毛", "羊羔绒", "羊羔毛", "羽绒", "皮草"
|
||||
};
|
||||
@@ -80,7 +82,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
|
||||
lstAddPriceRule = NaiBa.Util.Helper.ConfigHelper.LoadConfig<NaiBa.Util.ConcurrentList<AddPriceRule>>("wx_add_price_rules");
|
||||
if (lstAddPriceRule == null)
|
||||
{
|
||||
{
|
||||
lstAddPriceRule = new NaiBa.Util.ConcurrentList<AddPriceRule>();
|
||||
lstAddPriceRule.Add(new AddPriceRule() { MoreThanPrice = 0, LessThanPrice = 10, AddPriceTimes = 2, AddMorePrice = 10, SinglePriceAdd = 1 });
|
||||
lstAddPriceRule.Add(new AddPriceRule() { MoreThanPrice = 10, LessThanPrice = 20, AddPriceTimes = 2, AddMorePrice = 10, SinglePriceAdd = 1 });
|
||||
@@ -96,7 +98,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
|
||||
defaultAddPriceRule = NaiBa.Util.Helper.ConfigHelper.LoadConfig<AddPriceRule>("wx_default_add_price_rule");
|
||||
if (defaultAddPriceRule == null)
|
||||
{
|
||||
{
|
||||
defaultAddPriceRule = new AddPriceRule() { AddPriceTimes = 1.3m, AddMorePrice = 1, SinglePriceAdd = 1 };
|
||||
}
|
||||
|
||||
@@ -170,7 +172,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
// }
|
||||
//}
|
||||
|
||||
//#if DEBUG
|
||||
//#if DEBUG
|
||||
if (BaseClass.SaLevel == 1)
|
||||
{
|
||||
//txtIdFilter.Visible = true;
|
||||
@@ -178,7 +180,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
//lblIdFilter.Visible = true;
|
||||
//lblExtCodeFilter.Visible = true;
|
||||
}
|
||||
//#endif
|
||||
//#endif
|
||||
IsLoadComplate = true;
|
||||
}
|
||||
|
||||
@@ -262,7 +264,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
while (tList.Where(ta => !ta.IsFaulted && !ta.IsCompleted).Count() >= 20) { Thread.Sleep(100); }
|
||||
}
|
||||
while (tList.Where(ta => !ta.IsFaulted && !ta.IsCompleted).Count() >= 1) { Thread.Sleep(100); }
|
||||
NaiBa.Util.Helper.ConfigHelper.SaveConfig( "wx_shop_auth_list", lstShopAuthInfo);
|
||||
NaiBa.Util.Helper.ConfigHelper.SaveConfig("wx_shop_auth_list", lstShopAuthInfo);
|
||||
Invoke(new Action(() => { pbLoadingShop.Visible = false; }));
|
||||
});
|
||||
}
|
||||
@@ -282,7 +284,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
foreach (DataGridViewRow row in dgvShop.Rows)
|
||||
{
|
||||
//if (list.Any(l => l == row.Cells["colShopId"]?.Value?.ToString()))
|
||||
if(row.Visible == true)
|
||||
if (row.Visible == true)
|
||||
row.Cells["colSelect"].Value = true;
|
||||
}
|
||||
}
|
||||
@@ -381,7 +383,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
canUse ? "在线" : "掉线",
|
||||
lstShopAuthInfo.FirstOrDefault(sa => sa.ShopId == shopEntity.ShopId)?.ExpiresTime > DateTime.Now.AddMinutes(5) ? "可用" : "过期",
|
||||
canUse,
|
||||
dicShopUpload.ContainsKey(shopEntity.ShopId) && dicShopUpload[shopEntity.ShopId].DicDayUploadCount.ContainsKey(day) ?
|
||||
dicShopUpload.ContainsKey(shopEntity.ShopId) && dicShopUpload[shopEntity.ShopId].DicDayUploadCount.ContainsKey(day) ?
|
||||
dicShopUpload[shopEntity.ShopId].DicDayUploadCount[day] : 0,
|
||||
dicShopUpload.ContainsKey(shopEntity.ShopId) && dicShopUpload[shopEntity.ShopId].OnSaleRefreshDay == DateTime.Now.ToString("yyyyMMdd").ParseToInt() ?
|
||||
dicShopUpload[shopEntity.ShopId].OnSaleCount : 0,
|
||||
@@ -614,7 +616,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.statusBar.pgbTaskProgress.Maximum = dgvSelectProduct.Rows.Count;
|
||||
this.statusBar.UpdateProgressBar(0);
|
||||
}));
|
||||
|
||||
|
||||
foreach (var row in rowLst)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
@@ -630,7 +632,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId);
|
||||
if (shop == null)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colOpResult"].Value = "店铺不存在";
|
||||
}));
|
||||
@@ -647,7 +649,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
//shop = new ShopLoginInfo();
|
||||
var getEditProdRst = WXUpload.getEditProductV2(shop, prodId);
|
||||
Thread.Sleep(Randomx.GetId(50, 100));
|
||||
if(getEditProdRst.Contains("biz magic invalid"))
|
||||
if (getEditProdRst.Contains("biz magic invalid"))
|
||||
{
|
||||
WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
|
||||
}
|
||||
@@ -690,6 +692,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
|
||||
// 提交免审修改(实际生效接口)
|
||||
var listingAuditFreeRst = WXUpload.listingAuditFree(shop, productJson, prodId, time1, time2);
|
||||
System.Threading.Thread.Sleep(Randomx.GetId(100, 500));
|
||||
if (!listingAuditFreeRst.Contains("\"code\":0"))
|
||||
{
|
||||
var errmsg = BaseRegex.GetStringJson(ref listingAuditFreeRst, "msg");
|
||||
@@ -711,8 +714,8 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
}
|
||||
|
||||
if (/*chkPreSale.Checked &&*/ chkFailDownProd.Checked)
|
||||
{
|
||||
var downProd = WXPreSale.DownProd(shop, prodId.ParseToLong());
|
||||
{
|
||||
var downProd = WXPreSale.DownProd(shop, prodId);
|
||||
System.Threading.Thread.Sleep(Randomx.GetId(50, 100));
|
||||
if (downProd.Contains("\"code\":0"))
|
||||
{
|
||||
@@ -736,7 +739,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private void btnStop_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (this.cancellationTokenSource != null)
|
||||
@@ -760,7 +763,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
{
|
||||
GetProduct(shopIdLst);
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
{
|
||||
this.statusBar.lblTaskStatus.Text = "商品查询完毕";
|
||||
BaseMsgForm.ShowInfo("商品查询完毕");
|
||||
pbLoading.Visible = false;
|
||||
@@ -772,9 +775,9 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
void GetProduct(List<string> shopIdLst)
|
||||
{
|
||||
List<ShopLoginInfo> shopLst = GlobalConfig.ShopLoginList.Where(s => shopIdLst.Contains(s.ShopId)).ToList();
|
||||
foreach(var shop in shopLst)
|
||||
foreach (var shop in shopLst)
|
||||
{
|
||||
if(cancellationTokenSource.IsCancellationRequested)
|
||||
if (cancellationTokenSource.IsCancellationRequested)
|
||||
break;
|
||||
|
||||
if (shop.LoginStatus != "登录成功")
|
||||
@@ -794,11 +797,16 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
break;
|
||||
|
||||
string getProdOnSaleRst = "";
|
||||
int onSaleStatusCode = -1;
|
||||
if (OnSaleStatus == "在售")
|
||||
onSaleStatusCode = 5;
|
||||
else if (OnSaleStatus == "下架")
|
||||
onSaleStatusCode = 11;
|
||||
|
||||
if (string.IsNullOrEmpty(PreType))
|
||||
getProdOnSaleRst = WXPreSale.scanProductPreview(shop, page, nextKey, pageSize);
|
||||
getProdOnSaleRst = WXPreSale.scanProductPreview(shop, page, nextKey, pageSize, onSaleStatusCode);
|
||||
else
|
||||
getProdOnSaleRst = WXPreSale.searchProduct(shop, page, PreType == "预售" ? 1 : 0, pageSize);
|
||||
getProdOnSaleRst = WXPreSale.searchProduct(shop, page, PreType == "预售" ? 1 : 0, pageSize, onSaleStatusCode);
|
||||
Thread.Sleep(Randomx.GetId(50, 100));
|
||||
if (!getProdOnSaleRst.Contains("\"success\":true"))
|
||||
{
|
||||
@@ -806,17 +814,18 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
if (string.IsNullOrEmpty(error))
|
||||
error = getProdOnSaleRst;
|
||||
|
||||
WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
|
||||
WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
|
||||
if (shop.LoginStatus != "登录成功")
|
||||
{
|
||||
Invoke(new Action(() => { BindShop(shop, shopIdLst, "店铺掉线"); }));
|
||||
}
|
||||
|
||||
var shopRow = dgvShop.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => r.Cells["colShopId"].Value.ParseToString() == shop.ShopId);
|
||||
Invoke(new Action(() => {
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
if (shopRow != null)
|
||||
{
|
||||
shopRow.Cells["colMsg"].Value = error;
|
||||
shopRow.Cells["colOpResult"].Value = error;
|
||||
}
|
||||
}));
|
||||
break;
|
||||
@@ -841,16 +850,21 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
foreach (JObject prod in prodObjs["productList"])
|
||||
{
|
||||
var pStr = JsonHelper.SerializeObject(prod);
|
||||
Invoke(new Action(() =>
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
decimal? price = null;
|
||||
try { price = prod["skuList"][0]["price"].ParseToDecimal() / 100; } catch { }
|
||||
var prodId = prod["productId"].ParseToString();
|
||||
if (dgvSelectProduct.Rows.Cast<DataGridViewRow>().Any(r => r.Cells["colDraftId"].ParseToString() == prodId))
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
|
||||
string StatusStr = "其他";
|
||||
if (prod["status"].ParseToInt() == 5)
|
||||
StatusStr = "在售";
|
||||
if (prod["status"].ParseToInt() == 11)
|
||||
StatusStr = "下架";
|
||||
|
||||
var rowIndex = this.dgvSelectProduct.Rows.Add(
|
||||
false,
|
||||
"",
|
||||
@@ -866,13 +880,14 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
"", // 替换图地址
|
||||
null, // 替换图
|
||||
prod["title"].ParseToString(), // 用户端显示商品原名
|
||||
(prod["recommendCategory"].IsJTokenNullOrEmpty() || prod["recommendCategory"]["categoryNames"].IsJTokenNullOrEmpty()) ?
|
||||
(prod["recommendCategory"].IsJTokenNullOrEmpty() || prod["recommendCategory"]["categoryNames"].IsJTokenNullOrEmpty()) ?
|
||||
"" : string.Join(" >> ", prod["recommendCategory"]["categoryNames"].Select(s => s.ParseToString())), // 类目名称
|
||||
prod["spuCode"].ParseToString(),
|
||||
//price,
|
||||
prod["price"].ParseToDecimal() * 0.01m,
|
||||
prod["soldNum"].ParseToInt(),
|
||||
"在售" + (prod["presaleTag"].ParseToInt() == 1 ? "[预售]" : ""),
|
||||
StatusStr,
|
||||
prod["presaleTag"].ParseToInt() == 1 ? "[预售]" : "",
|
||||
"", // 备注
|
||||
"",
|
||||
"删除",
|
||||
@@ -880,13 +895,14 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
"");
|
||||
|
||||
dgvSelectProduct.Rows[rowIndex].Height = 60;
|
||||
dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Style.ForeColor = dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Value.ParseToString().Contains("预售") ? Color.Orange : Color.Blue;
|
||||
dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Style.ForeColor = dgvSelectProduct.Rows[rowIndex].Cells["colMsg"].Value.ParseToString().Contains("在售") ? Color.Blue : Color.Red;
|
||||
dgvSelectProduct.Rows[rowIndex].Cells["colPreSale"].Style.ForeColor = dgvSelectProduct.Rows[rowIndex].Cells["colPreSale"].Value.ParseToString().Contains("预售") ? Color.Green : Color.Blue;
|
||||
}));
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -913,6 +929,8 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
txtIdFilter.Text = "";
|
||||
txtExtCodeFilter.Text = "";
|
||||
txtProductName.Text = "";
|
||||
cmbPreType.Text = "";
|
||||
cmbOnSaleStatus.Text = "在售";
|
||||
}
|
||||
|
||||
private void txtPreDays_TextChanged(object sender, EventArgs e)
|
||||
@@ -931,7 +949,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
|
||||
private void btnFilterShop_Click(object sender, EventArgs e)
|
||||
{
|
||||
foreach(DataGridViewRow row in dgvShop.Rows)
|
||||
foreach (DataGridViewRow row in dgvShop.Rows)
|
||||
{
|
||||
string notes = cmbFilterShopNotes.Text.Trim().Trim(';');
|
||||
if (notes == "全部")
|
||||
@@ -963,7 +981,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
|
||||
private void btnReverse_Click(object sender, EventArgs e)
|
||||
{
|
||||
foreach(DataGridViewRow row in dgvShop.Rows)
|
||||
foreach (DataGridViewRow row in dgvShop.Rows)
|
||||
{
|
||||
if (row.Visible == true)
|
||||
row.Cells["colSelect"].Value = !row.Cells["colSelect"].Value.ParseToBool();
|
||||
@@ -1066,7 +1084,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
|
||||
private void btnSelectPre_Click(object sender, EventArgs e)
|
||||
{
|
||||
foreach(DataGridViewRow row in dgvSelectProduct.Rows)
|
||||
foreach (DataGridViewRow row in dgvSelectProduct.Rows)
|
||||
{
|
||||
Invoke(new Action(() => { }));
|
||||
}
|
||||
@@ -1088,14 +1106,25 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
|
||||
this.pbLoading.Visible = true;
|
||||
this.btnSetPreSale.Enabled = false;
|
||||
if (cancellationTokenSource != null && !cancellationTokenSource.IsCancellationRequested)
|
||||
cancellationTokenSource.Cancel();
|
||||
cancellationTokenSource = new CancellationTokenSource();
|
||||
Task.Run(() =>
|
||||
{
|
||||
SetProdDown(rowLst);
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.statusBar.lblTaskStatus.Text = "商品下架完毕";
|
||||
BaseMsgForm.ShowInfo("商品下架完毕");
|
||||
if (cancellationTokenSource.IsCancellationRequested)
|
||||
{
|
||||
this.statusBar.lblTaskStatus.Text = "商品下架中断";
|
||||
BaseMsgForm.ShowInfo("商品下架中断");
|
||||
}
|
||||
else
|
||||
{
|
||||
this.statusBar.lblTaskStatus.Text = "商品下架完毕";
|
||||
BaseMsgForm.ShowInfo("商品下架完毕");
|
||||
}
|
||||
|
||||
this.pbLoading.Visible = false;
|
||||
this.btnSetPreSale.Enabled = true;
|
||||
}));
|
||||
@@ -1113,24 +1142,35 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
this.statusBar.UpdateProgressBar(0);
|
||||
}));
|
||||
|
||||
foreach (var row in rowLst)
|
||||
while (rowLst.Count > 0)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colOpResult"].Value = "";
|
||||
}));
|
||||
|
||||
if (cancellationTokenSource.IsCancellationRequested)
|
||||
break;
|
||||
|
||||
var prodId = row.Cells["colDraftId"].Value.ParseToString();
|
||||
var shopId = row.Cells["colSupplierId"].Value.ParseToString();
|
||||
var r0 = rowLst.FirstOrDefault();
|
||||
var shopId = r0.Cells["colSupplierId"].Value.ParseToString();
|
||||
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId);
|
||||
var rowLstTmp = rowLst.Where(r => r.Cells["colSupplierId"].Value.ParseToString() == shopId).Take(50).ToList();
|
||||
|
||||
foreach (var r in rowLstTmp)
|
||||
{
|
||||
rowLst.Remove(r);
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.statusBar.lblTaskStatus.Text = "正在下架" + "...".Substring(0, DateTime.Now.Second % 4);
|
||||
this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + 1);
|
||||
r.Cells["colOpResult"].Value = "";
|
||||
}));
|
||||
}
|
||||
if (shop == null)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colOpResult"].Value = "店铺不存在";
|
||||
foreach (var r in rowLstTmp)
|
||||
{
|
||||
r.Cells["colOpResult"].Value = "店铺不存在";
|
||||
}
|
||||
}));
|
||||
continue;
|
||||
}
|
||||
@@ -1138,13 +1178,23 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colOpResult"].Value = "店铺掉线";
|
||||
foreach (var r in rowLstTmp)
|
||||
{
|
||||
r.Cells["colOpResult"].Value = "店铺掉线";
|
||||
}
|
||||
}));
|
||||
continue;
|
||||
}
|
||||
|
||||
var downProdRst = WXPreSale.DownProd(shop, prodId.ParseToLong());
|
||||
System.Threading.Thread.Sleep(Randomx.GetId(200, 500));
|
||||
|
||||
List<string> prodIdLst = new List<string>();
|
||||
foreach (var row in rowLstTmp)
|
||||
{
|
||||
var prodId = row.Cells["colDraftId"].Value.ParseToString();
|
||||
prodIdLst.Add(prodId);
|
||||
}
|
||||
|
||||
var downProdRst = WXPreSale.DownProd(shop, string.Join(",", prodIdLst));
|
||||
Thread.Sleep(Randomx.GetId(1000, 1500));
|
||||
if (!downProdRst.Contains("\"code\":0"))
|
||||
{
|
||||
if (downProdRst.Contains("biz magic invalid"))
|
||||
@@ -1154,7 +1204,10 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colOpResult"].Value = "店铺掉线";
|
||||
foreach (var row in rowLstTmp)
|
||||
{
|
||||
row.Cells["colOpResult"].Value = "店铺掉线";
|
||||
}
|
||||
}));
|
||||
continue;
|
||||
}
|
||||
@@ -1166,15 +1219,30 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colOpResult"].Value = errmsg;
|
||||
foreach (var row in rowLstTmp)
|
||||
{
|
||||
if (downProdRst.Contains("\"code\":108002"))
|
||||
{
|
||||
var prodId = row.Cells["colDraftId"].Value.ParseToString();
|
||||
if (downProdRst.Contains(prodId))
|
||||
row.Cells["colOpResult"].Value = "下架失败,请检查商品是否已下架或不存在";
|
||||
else
|
||||
row.Cells["colOpResult"].Value = "下架成功";
|
||||
}
|
||||
else
|
||||
row.Cells["colOpResult"].Value = errmsg;
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
if (downProdRst.Contains("\"code\":0"))
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
row.Cells["colOpResult"].Value = "下架成功";
|
||||
foreach (var row in rowLstTmp)
|
||||
{
|
||||
row.Cells["colOpResult"].Value = "下架成功";
|
||||
}
|
||||
}));
|
||||
}
|
||||
}
|
||||
@@ -1182,7 +1250,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
|
||||
private void btnFiltSelect_Click(object sender, EventArgs e)
|
||||
{
|
||||
foreach(DataGridViewRow row in dgvSelectProduct.Rows)
|
||||
foreach (DataGridViewRow row in dgvSelectProduct.Rows)
|
||||
{
|
||||
if (row.Cells["colSoldNum"].Value.ParseToInt() >= txtFiltSaleNum.Text.Trim().ParseToInt())
|
||||
row.Cells["colCheck"].Value = false;
|
||||
@@ -1190,15 +1258,183 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
row.Cells["colCheck"].Value = true;
|
||||
}
|
||||
}
|
||||
|
||||
private void cmbOnSaleStatus_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void cmbOnSaleStatus_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
OnSaleStatus = cmbOnSaleStatus.Text;
|
||||
}
|
||||
|
||||
private void btnBatchDel_Click(object sender, EventArgs e)
|
||||
{
|
||||
var rowLst = dgvSelectProduct.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colCheck"].Value.ParseToBool() == true).ToList();
|
||||
if (rowLst.Count <= 0)
|
||||
{
|
||||
BaseMsgForm.ShowError("请勾选需要操作的商品!");
|
||||
return;
|
||||
}
|
||||
|
||||
this.pbLoading.Visible = true;
|
||||
this.btnSetPreSale.Enabled = false;
|
||||
if (cancellationTokenSource != null && !cancellationTokenSource.IsCancellationRequested)
|
||||
cancellationTokenSource.Cancel();
|
||||
cancellationTokenSource = new CancellationTokenSource();
|
||||
Task.Run(() =>
|
||||
{
|
||||
SetProdDel(rowLst);
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
if (cancellationTokenSource.IsCancellationRequested)
|
||||
{
|
||||
this.statusBar.lblTaskStatus.Text = "商品删除中断";
|
||||
BaseMsgForm.ShowInfo("商品删除中断");
|
||||
}
|
||||
else
|
||||
{
|
||||
this.statusBar.lblTaskStatus.Text = "商品删除完毕";
|
||||
BaseMsgForm.ShowInfo("商品删除完毕");
|
||||
}
|
||||
|
||||
this.pbLoading.Visible = false;
|
||||
this.btnSetPreSale.Enabled = true;
|
||||
}));
|
||||
}, cancellationTokenSource.Token);
|
||||
|
||||
}
|
||||
|
||||
void SetProdDel(List<DataGridViewRow> rowLst)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.pbLoading.Visible = true;
|
||||
this.statusBar.lblTaskStatus.Text = "正在删除" + "...".Substring(0, DateTime.Now.Second % 4);
|
||||
this.statusBar.pgbTaskProgress.Maximum = dgvSelectProduct.Rows.Count;
|
||||
this.statusBar.UpdateProgressBar(0);
|
||||
}));
|
||||
|
||||
while (rowLst.Count > 0)
|
||||
{
|
||||
if (cancellationTokenSource.IsCancellationRequested)
|
||||
break;
|
||||
|
||||
var r0 = rowLst.FirstOrDefault();
|
||||
var shopId = r0.Cells["colSupplierId"].Value.ParseToString();
|
||||
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == shopId);
|
||||
var rowLstTmp = rowLst.Where(r => r.Cells["colSupplierId"].Value.ParseToString() == shopId).Take(50).ToList();
|
||||
|
||||
foreach (var r in rowLstTmp)
|
||||
{
|
||||
rowLst.Remove(r);
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
this.statusBar.lblTaskStatus.Text = "正在删除" + "...".Substring(0, DateTime.Now.Second % 4);
|
||||
this.statusBar.UpdateProgressBar(this.statusBar.pgbTaskProgress.Value + 1);
|
||||
r.Cells["colOpResult"].Value = "";
|
||||
}));
|
||||
}
|
||||
if (shop == null)
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
foreach (var r in rowLstTmp)
|
||||
{
|
||||
r.Cells["colOpResult"].Value = "店铺不存在";
|
||||
}
|
||||
}));
|
||||
continue;
|
||||
}
|
||||
if (shop.LoginStatus != "登录成功")
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
foreach (var r in rowLstTmp)
|
||||
{
|
||||
r.Cells["colOpResult"].Value = "店铺掉线";
|
||||
}
|
||||
}));
|
||||
continue;
|
||||
}
|
||||
|
||||
List<string> prodIdLst = new List<string>();
|
||||
foreach (var row in rowLstTmp)
|
||||
{
|
||||
var prodId = row.Cells["colDraftId"].Value.ParseToString();
|
||||
prodIdLst.Add(prodId);
|
||||
}
|
||||
|
||||
var downProdRst = WXPreSale.DelProd(shop, string.Join(",", prodIdLst));
|
||||
Thread.Sleep(Randomx.GetId(1000, 1500));
|
||||
if (!downProdRst.Contains("\"code\":0"))
|
||||
{
|
||||
if (downProdRst.Contains("biz magic invalid"))
|
||||
{
|
||||
WXShopListForm.Instance.CheckShopLogin(new ShopLoginInfo[] { shop }, false);
|
||||
if (shop.LoginStatus != "登录成功")
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
foreach (var row in rowLstTmp)
|
||||
{
|
||||
row.Cells["colOpResult"].Value = "店铺掉线";
|
||||
}
|
||||
}));
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
var errmsg = BaseRegex.GetStringJson(ref downProdRst, "msg");
|
||||
if (string.IsNullOrWhiteSpace(errmsg))
|
||||
errmsg = downProdRst;
|
||||
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
foreach (var row in rowLstTmp)
|
||||
{
|
||||
if (downProdRst.Contains("\"code\":108002"))
|
||||
{
|
||||
var prodId = row.Cells["colDraftId"].Value.ParseToString();
|
||||
if (downProdRst.Contains(prodId))
|
||||
row.Cells["colOpResult"].Value = "删除失败,请检查商品是否已删除";
|
||||
else
|
||||
row.Cells["colOpResult"].Value = "删除成功";
|
||||
}
|
||||
else
|
||||
row.Cells["colOpResult"].Value = errmsg;
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
if (downProdRst.Contains("\"code\":0"))
|
||||
{
|
||||
Invoke(new Action(() =>
|
||||
{
|
||||
foreach (var row in rowLstTmp)
|
||||
{
|
||||
row.Cells["colOpResult"].Value = "删除成功";
|
||||
}
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class WXPreSale
|
||||
{
|
||||
public static string searchProduct(ShopLoginInfo shop, int pageNum, int? presaleType = null, int pageSize = 50, int? sortType = null)
|
||||
/// <summary>
|
||||
/// -1 全部 5 在售 11 下架
|
||||
/// </summary>
|
||||
/// <param name="status">-1 全部 5 在售 11 下架</param>
|
||||
/// <returns></returns>
|
||||
public static string searchProduct(ShopLoginInfo shop, int pageNum, int? presaleType = null, int pageSize = 50, int? sortType = null, int status=5)
|
||||
{
|
||||
//https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/searchProduct?token=&lang=zh_CN&pageSize=20&productStatus[]=-1&productSource=[1,16,32]&searchSource=1&useNew=true&pageNum=44&status[]=5&presaleType[]=1
|
||||
string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/searchProduct?token=&lang=zh_CN&" +
|
||||
"pageSize=" + pageSize + "&productStatus[]=-1&productSource=[1,16,32]&searchSource=1&useNew=true&pageNum=" + pageNum + "&status[]=5";
|
||||
"pageSize=" + pageSize + "&productStatus[]=-1&productSource=[1,16,32]&searchSource=1&useNew=true&pageNum=" + pageNum + "&status[]=" + status;
|
||||
if (presaleType != null)
|
||||
url += "&presaleType[]=" + presaleType;
|
||||
if (sortType != null)
|
||||
@@ -1209,7 +1445,12 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
return result;
|
||||
}
|
||||
|
||||
public static string scanProductPreview(ShopLoginInfo shop, int page, string nextKey = "", int pageSize = 50)
|
||||
/// <summary>
|
||||
/// -1 全部 5 在售 11 下架
|
||||
/// </summary>
|
||||
/// <param name="saleStatus">-1 全部 5 在售 11 下架</param>
|
||||
/// <returns></returns>
|
||||
public static string scanProductPreview(ShopLoginInfo shop, int page, string nextKey = "", int pageSize = 50, int saleStatus = 5)
|
||||
{
|
||||
string url = "https://store.weixin.qq.com/shop-faas/mmchannelstradeproductcore/cgi/goods/scanProductPreview?token=&lang=zh_CN";
|
||||
string referer = "https://store.weixin.qq.com/shop/goods/list?currentTab=PRODUCT_STATUS_ON";
|
||||
@@ -1218,7 +1459,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
//string body = @"{""pageSize"":20,""productStatus"":[-1],""productSource"":""[1,16,32]"",""searchSource"":1,""useNew"":true,""pageNum"":1,""status"":[5]}";
|
||||
//string body = @"{""pageSize"":20,""productStatus"":[-1],""productSource"":""[1,16,32]"",""searchSource"":1,""useNew"":true,""pageNum"":2,""status"":[5],""nextKey"":""ChwItc+24YajAhCD14bMBhjqLiDoDCgAMITXhswGEhwIy8im34ajAhCa74XMBhiaXyDeBygAMJrvhcwGGAEgeiiIEw==""}";
|
||||
string body = @"{""pageSize"":" + pageSize + @",""productStatus"":[-1],""productSource"":""[1,16,32]"",""searchSource"":1,""useNew"":true,""pageNum"":" + page +
|
||||
@",""status"":[5],""nextKey"":""" + nextKey + @"""}";
|
||||
@",""status"":[" + saleStatus + @"],""nextKey"":""" + nextKey + @"""}";
|
||||
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer);
|
||||
return result;
|
||||
}
|
||||
@@ -1229,11 +1470,27 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
/// <param name="shop"></param>
|
||||
/// <param name="prodId"></param>
|
||||
/// <returns></returns>
|
||||
public static string DownProd(ShopLoginInfo shop, long prodId)
|
||||
public static string DownProd(ShopLoginInfo shop, string prodIds)
|
||||
{
|
||||
string url = "https://store.weixin.qq.com/shop-faas/mmecnodeproductlist/cgi/goods/BatchUnListing?token=&lang=zh_CN";
|
||||
string referer = "https://store.weixin.qq.com/shop/goods/list";
|
||||
string body = @"{""ids"":[" + prodId + @"],""uploadSource"":6}";
|
||||
string body = @"{""ids"":[" + prodIds + @"],""uploadSource"":6}";
|
||||
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 下架商品
|
||||
/// </summary>
|
||||
/// <param name="shop"></param>
|
||||
/// <param name="prodId"></param>
|
||||
/// <returns></returns>
|
||||
public static string DelProd(ShopLoginInfo shop, string prodIds)
|
||||
{
|
||||
string url = "https://store.weixin.qq.com/shop-faas/mmecnodeproductlist/cgi/goods/batchDel?token=&lang=zh_CN";
|
||||
string referer = "https://store.weixin.qq.com/shop/goods/list";
|
||||
string body = @"{""ids"":[" + prodIds + @"],""uploadSource"":6}";
|
||||
var result = WXHttpResponseBLL.WeiXinPostResponse(shop, url, body, referer);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -207,6 +207,9 @@
|
||||
<metadata name="colMsg.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colPreSale.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>
|
||||
|
||||
+1555
File diff suppressed because it is too large.
Load diff
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,228 @@
|
||||
<?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="colApi.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="colUploadCount.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colOnSaleNum.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="colLogin.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="colSpuId.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="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="colSkuFakeImgUrl.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSkuFakeImg.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="colPrice.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colSoldNum.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="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>
|
||||
<metadata name="colAddTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colCouponNum.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colOpResult.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
</root>
|
||||
+9
-5
@@ -31,10 +31,12 @@
|
||||
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("商品管理", 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("商品管理", new System.Windows.Forms.TreeNode[] {
|
||||
treeNode1,
|
||||
treeNode2,
|
||||
treeNode3});
|
||||
treeNode3,
|
||||
treeNode4});
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.panel3 = new System.Windows.Forms.Panel();
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
@@ -131,10 +133,12 @@
|
||||
treeNode2.Text = "商品预售/下架";
|
||||
treeNode3.Name = "爆单神器";
|
||||
treeNode3.Text = "爆单神器";
|
||||
treeNode4.Name = "商品管理";
|
||||
treeNode4.Text = "商品管理";
|
||||
treeNode4.Name = "商品同步";
|
||||
treeNode4.Text = "商品同步";
|
||||
treeNode5.Name = "商品管理";
|
||||
treeNode5.Text = "商品管理";
|
||||
this.tv.Nodes.AddRange(new System.Windows.Forms.TreeNode[] {
|
||||
treeNode4});
|
||||
treeNode5});
|
||||
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;
|
||||
|
||||
@@ -19,6 +19,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
public Lazy<WXDBProdUploadForm> userSelectDbProductForm = new Lazy<WXDBProdUploadForm>();
|
||||
public Lazy<WXProdPreSaleForm> wxProdPreSaleForm = new Lazy<WXProdPreSaleForm>();
|
||||
public Lazy<WXProdCouponOrderBoomForm> wxProdCouponForm = new Lazy<WXProdCouponOrderBoomForm>();
|
||||
public Lazy<WXProdSyncForm> wxProdSyncForm = new Lazy<WXProdSyncForm>();
|
||||
|
||||
public WXProductForm()
|
||||
{
|
||||
@@ -28,7 +29,7 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
{
|
||||
tv.SelectedNode = tv.Nodes[0].Nodes[0];
|
||||
tv.ExpandGroup(tv.Nodes[0].Name);
|
||||
List<string> hideName = new List<string>() { "商品列表", "爆单神器1" };
|
||||
List<string> hideName = new List<string>() { "商品列表", "爆单神器1", "商品同步1" };
|
||||
|
||||
if (BaseClass.GroupId == 3)
|
||||
{
|
||||
@@ -76,6 +77,9 @@ namespace TemuKJD.WXForms.ProductForms
|
||||
case "爆单神器":
|
||||
SetForm(wxProdCouponForm.Value);
|
||||
break;
|
||||
case "商品同步":
|
||||
SetForm(wxProdSyncForm.Value);
|
||||
break;
|
||||
}
|
||||
}));
|
||||
}).Start();
|
||||
|
||||
@@ -187,7 +187,7 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
/// <param name="shopName">店铺名称</param>
|
||||
/// <param name="shopCookies">cookies</param>
|
||||
/// <param name="fromTool">工具名称(可不填写)</param>
|
||||
public static void UpdateServerShopCookies(ShopLoginInfo shop, string fromTool = null)
|
||||
public static string UpdateServerShopCookies(ShopLoginInfo shop, string fromTool = null, bool isShowProgress = true)
|
||||
{
|
||||
var fTool = string.IsNullOrEmpty(fromTool) ? "" : "&from_tool=" + fromTool;
|
||||
var url = BaseClass.BuildObjString("shop/mdy_shop_cookie_and_login_status");
|
||||
@@ -204,8 +204,13 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
result = GetHtml.PostUtf8(url, data);
|
||||
if (!result.Contains("\"code\":200"))
|
||||
{
|
||||
BaseMsgForm.ShowError("服务端登录状态保存失败!请检查网络连接。");
|
||||
var errMsg = BaseRegex.GetStringJson(ref result, "msg");
|
||||
if (isShowProgress)
|
||||
BaseMsgForm.ShowError("服务端登录状态保存失败!请检查网络连接。" + errMsg);
|
||||
else
|
||||
return "服务端登录状态保存失败!请检查网络连接。" + errMsg;
|
||||
}
|
||||
return "";
|
||||
}
|
||||
///// <summary>
|
||||
///// 获取店铺Cookies
|
||||
@@ -632,7 +637,7 @@ namespace TemuKJD.WXForms.ShopForms
|
||||
sc.LastRefreshDate = DateTime.Now.ToString("yyyyMMdd");
|
||||
}
|
||||
}
|
||||
UpdateServerShopCookies(shop); // 店铺cookie写入服务端,多店共用一个登录账号一组cookie
|
||||
UpdateServerShopCookies(shop, null, isShowProgress); // 店铺cookie写入服务端,多店共用一个登录账号一组cookie
|
||||
StartUp.SaveLocalShopLoginInfo();
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user