调整备货逻辑不允许品质分过低的商品自动备货(完成但尚未测试) 注释无用的相关接口(原小奶狗,小奶兔)

This commit is contained in:
wule committed 2025-08-18 19:19:42 +08:00
1 parent fceead357f
commit 8445ec1828
19 files changed
+865 -540

No files matched your search

+1
View File
@@ -196,6 +196,7 @@
<Compile Include="Model\Result\TemuActivityMatchProductInfo.cs" />
<Compile Include="Model\Result\TemuDBPriceInfo.cs" />
<Compile Include="Model\Result\TemuDBProductSelect.cs" />
<Compile Include="Model\Result\TemuGoodsQualityInfo.cs" />
<Compile Include="Model\Result\TemuPriceAdjustInfo.cs" />
<Compile Include="Model\Result\TemuProductInfo.cs" />
<Compile Include="Model\Param\TemuProductManage\TemuProductParam.cs" />
@@ -0,0 +1,51 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AllBase.Model.Result
{
public class TemuGoodsQualityInfo
{
/// <summary>
/// spuid
/// </summary>
public long? productId { get; set; }
public long? goodsId { get; set; }
public string productName { get; set; }
public string carouselImageUrl { get; set; }
public long? cateId { get; set; }
public string categoryName { get; set; }
public decimal? goodsAfsScore { get; set; }
public decimal? qltyAfsOrdrRate { get; set; }
public int? qltyAfsOrdCnt { get; set; }
public decimal? sizeAfsOrdrRate { get; set; }
public decimal? largeSizeAfsOrdrRate { get; set; }
public decimal? smallSizeAfsOrdrRate { get; set; }
public decimal? sizeAfsOrdrCnt { get; set; }
public List<problAfsItem> problAfsItemList { get; set; }
public decimal? revCnt { get; set; }
public decimal? avgRevScr { get; set; }
public decimal? trueRevRate { get; set; }
public decimal? largeRevRate { get; set; }
public decimal? smallRevRate { get; set; }
public List<problRevItem> problRevItemList { get; set; }
public List<string> badKeywordsList { get; set; }
public object goodsOptimizeTask { get; set; }
}
public class problAfsItem
{
public string problemName { get; set; }
public object matchHighlight { get; set; }
public int? quantity { get; set; }
}
public class problRevItem
{
public string problemName { get; set; }
public object matchHighlight { get; set; }
public int? quantity { get; set; }
}
}
+2
View File
@@ -105,6 +105,8 @@ namespace AllBase.Model.Result
/// 临时存储已创建备货单信息
/// </summary>
public bool isStockUp { get; set; } = false;
public decimal? goodsAfsScore { get; set; } = null;
}
/// <summary>
@@ -366,8 +366,8 @@ namespace KJD_Web.BLL
sql += "update kjd.shop set add_product_remaining=" + add_product_remaining + " where shop_id=" + shop_id + ";";
sql += "update kjd.product set select_total_count=select_total_count+1 where id=" + out_product_Id + ";";
//sql += "update kjd.shop_add_prod_count set add_product_remaining=" + add_product_remaining + " where shop_id=" + shop_id + ";";
//sql += "INSERT INTO kjd.shop_add_prod_count(shop_id, add_product_remaining) VALUES('" + shop_id + "'," + add_product_remaining + ")" +
// "ON DUPLICATE KEY UPDATE add_product_remaining=VALUES(add_product_remaining)";
sql += "INSERT INTO kjd.shop_add_prod_count(shop_id, add_product_remaining) VALUES('" + shop_id + "'," + add_product_remaining + ")" +
"ON DUPLICATE KEY UPDATE add_product_remaining=VALUES(add_product_remaining)";
}
var rst = mySql.ExecuteNonQuery(sql);
mySql.Close();
@@ -317,8 +317,8 @@ namespace KJD_Web.BLL
sql += "\r\n";
sql += "update kjd.shop set add_product_remaining=" + add_product_remaining + " where shop_id=" + shop_id + ";";
//sql += "update kjd.shop_add_prod_count set add_product_remaining=" + add_product_remaining + " where shop_id=" + shop_id + ";";
//sql += "INSERT INTO kjd.shop_add_prod_count(shop_id, add_product_remaining) VALUES('" + shop_id + "'," + add_product_remaining + ")" +
// "ON DUPLICATE KEY UPDATE add_product_remaining=VALUES(add_product_remaining)";
sql += "INSERT INTO kjd.shop_add_prod_count(shop_id, add_product_remaining) VALUES('" + shop_id + "'," + add_product_remaining + ")" +
"ON DUPLICATE KEY UPDATE add_product_remaining=VALUES(add_product_remaining)";
}
var rst = mySql.ExecuteNonQuery(sql);
mySql.Close();
+27 -14
View File
@@ -76,12 +76,11 @@ namespace KJD_Web.BLL
}
else
{
// LEFT JOIN kjd.product_select s ON p.id=s.out_product_id
sql = "SELECT s.id,s.login_name,s.login_pass,s.cookie,s.cookie2,s.shop_id,s.shop_account,s.sub_user_name,s.user_name," +
"s.company_name,s.notes,s.login_status,s.login_status2,s.add_product_remaining,s.add_product_month,s.add_time,s.mdy_time," +
"s.company_name,s.notes,s.login_status,s.login_status2,c.add_product_remaining,c.add_product_month,s.add_time,s.mdy_time," +
"s.add_sub_sa_time,s.operate_sub_sa_name";
sql += " FROM kjd.shop s WHERE 1=1";
//sql += " FROM kjd.shop s LEFT JOIN kjd.shop_add_prod_count c ON s.shop_id=c.shop_id WHERE 1=1";
//sql += " FROM kjd.shop s WHERE 1=1";
sql += " FROM kjd.shop s LEFT JOIN kjd.shop_add_prod_count c ON s.shop_id=c.shop_id WHERE 1=1";
sql += where; // where 子句
@@ -118,6 +117,20 @@ namespace KJD_Web.BLL
};
shopList.Add(shop);
}
//sql = "\r\nINSERT INTO kjd.shop_add_prod_count(shop_id,shop_account,add_product_remaining,add_product_month) VALUES ";
//foreach (var shop in shopList)
//{
// sql += "\r\n('" + shop.shop_id + "','" + shop.shop_account + "'," + shop.add_product_remaining + "," + shop.add_product_month + "),";
//}
//sql = sql.TrimEnd(',') + " \r\n";
//sql += "ON DUPLICATE KEY UPDATE " +
// "shop_account=VALUES(shop_account)," +
// "add_product_remaining=VALUES(add_product_remaining)," +
// "add_product_month=VALUES(add_product_month);";
//var result = mySql.ExecuteNonQuery(sql);
//mySql.Close();
int month = DateTime.Now.Month;
var shopMonthList = shopList.Where(s => s.add_product_month != month);
if (shopMonthList.Count() > 0)
@@ -130,16 +143,16 @@ namespace KJD_Web.BLL
sql += "update kjd.shop set add_product_remaining=" + remainCount + ", add_product_month=" + month +
" where 1=1 and id in (" + ids + ");";
//sql += "\r\nINSERT INTO kjd.shop_add_prod_count(shop_id,shop_account,add_product_remaining,add_product_month) VALUES ";
//foreach (var shop in shopList)
//{
//sql+= "\r\n('" + shop.shop_id + "','" + shop.shop_account + "'," + remainCount + "," + month + "),";
//}
//sql = sql.TrimEnd(',') + " \r\n";
//sql += "ON DUPLICATE KEY UPDATE " +
//"shop_account=VALUES(shop_account)," +
//"add_product_remaining=VALUES(add_product_remaining)," +
//"add_product_month=VALUES(add_product_month);";
sql += "\r\nINSERT INTO kjd.shop_add_prod_count(shop_id,shop_account,add_product_remaining,add_product_month) VALUES ";
foreach (var shop in shopMonthList)
{
sql+= "\r\n('" + shop.shop_id + "','" + shop.shop_account + "'," + remainCount + "," + month + "),";
}
sql = sql.TrimEnd(',') + " \r\n";
sql += "ON DUPLICATE KEY UPDATE " +
"shop_account=VALUES(shop_account)," +
"add_product_remaining=VALUES(add_product_remaining)," +
"add_product_month=VALUES(add_product_month);";
var rst = mySql.ExecuteNonQuery(sql);
mySql.Close();
+5 -3
View File
@@ -26,15 +26,17 @@ namespace TemuKJD
{
Task.Run(() =>
{
while (!Work.Initialization.IsCheckFilesFinish || !Program.IsInit)
while (!Work.Initialization.IsCheckFilesFinish || !Program.IsInit || this.progressBarX1.Value < 50)
{
Thread.Sleep(10);
Thread.Sleep(new Random().Next(10, 50));
Invoke(new Action(() =>
{
this.progressBarX1.Value = Work.Initialization.InitPercent;
this.progressBarX1.Value = Work.Initialization.InitPercent++;
this.progressBarX1.Maximum = 50;
}));
if (this.progressBarX1.Value >= 50)
Thread.Sleep(300);
}
Invoke(new Action(() =>
{
+103 -93
View File
@@ -56,10 +56,15 @@ namespace TemuKJD.KJDForms.ProductForms
this.colCanUse = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.dgvAdjust = new TemuKJD.UserComponent.DataGridViewEx();
this.splitContainer4 = new System.Windows.Forms.SplitContainer();
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
this.btnClear = new DevComponents.DotNetBar.PanelEx();
this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.colSupplierId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colSupplierName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colPriceOrderSn = new System.Windows.Forms.DataGridViewLinkColumn();
this.colImgUrl = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colProductSkcPic = new System.Windows.Forms.DataGridViewImageColumn();
this.colProductId = new System.Windows.Forms.DataGridViewLinkColumn();
this.colProdSkc = new System.Windows.Forms.DataGridViewLinkColumn();
@@ -72,10 +77,6 @@ namespace TemuKJD.KJDForms.ProductForms
this.colChangeType = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colChangeReason = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colMsg = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.splitContainer4 = new System.Windows.Forms.SplitContainer();
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
this.btnClear = new DevComponents.DotNetBar.PanelEx();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
@@ -427,6 +428,7 @@ namespace TemuKJD.KJDForms.ProductForms
this.colSupplierId,
this.colSupplierName,
this.colPriceOrderSn,
this.colImgUrl,
this.colProductSkcPic,
this.colProductId,
this.colProdSkc,
@@ -447,6 +449,87 @@ namespace TemuKJD.KJDForms.ProductForms
this.dgvAdjust.Size = new System.Drawing.Size(822, 443);
this.dgvAdjust.TabIndex = 187;
this.dgvAdjust.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvStock_CellContentClick);
this.dgvAdjust.Scroll += new System.Windows.Forms.ScrollEventHandler(this.dgvAdjust_Scroll);
//
// 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.panelEx1);
this.splitContainer4.Panel2.Controls.Add(this.btnClear);
this.splitContainer4.Size = new System.Drawing.Size(1110, 26);
this.splitContainer4.SplitterDistance = 832;
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(832, 26);
this.statusBar.TabIndex = 2;
//
// 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(155, 0);
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.Click += new System.EventHandler(this.panelEx1_Click);
//
// 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(47, 0);
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;
//
// colCheck
//
@@ -479,13 +562,19 @@ namespace TemuKJD.KJDForms.ProductForms
this.colPriceOrderSn.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colPriceOrderSn.Width = 125;
//
// colImgUrl
//
this.colImgUrl.HeaderText = "图片路径";
this.colImgUrl.Name = "colImgUrl";
this.colImgUrl.ReadOnly = true;
this.colImgUrl.Visible = false;
//
// colProductSkcPic
//
this.colProductSkcPic.HeaderText = "Skc图片";
this.colProductSkcPic.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom;
this.colProductSkcPic.Name = "colProductSkcPic";
this.colProductSkcPic.ReadOnly = true;
this.colProductSkcPic.Visible = false;
this.colProductSkcPic.Width = 60;
//
// colProductId
@@ -570,86 +659,6 @@ namespace TemuKJD.KJDForms.ProductForms
this.colMsg.ReadOnly = true;
this.colMsg.Width = 400;
//
// 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.panelEx1);
this.splitContainer4.Panel2.Controls.Add(this.btnClear);
this.splitContainer4.Size = new System.Drawing.Size(1110, 26);
this.splitContainer4.SplitterDistance = 832;
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(832, 26);
this.statusBar.TabIndex = 2;
//
// 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(155, 0);
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.Click += new System.EventHandler(this.panelEx1_Click);
//
// 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(47, 0);
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;
//
// PriceManageForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
@@ -708,10 +717,19 @@ namespace TemuKJD.KJDForms.ProductForms
private System.Windows.Forms.TextBox txtScale1;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.CheckBox chkHasSuccess;
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
private System.Windows.Forms.DataGridViewTextBoxColumn colShopLoginName;
private System.Windows.Forms.DataGridViewTextBoxColumn colShopId;
private System.Windows.Forms.DataGridViewTextBoxColumn colShopName;
private System.Windows.Forms.DataGridViewTextBoxColumn colShopNotes;
private System.Windows.Forms.DataGridViewTextBoxColumn colLoginStatus;
private System.Windows.Forms.DataGridViewCheckBoxColumn colCanUse;
private System.Windows.Forms.DataGridViewTextBoxColumn colMessage;
private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck;
private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierId;
private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierName;
private System.Windows.Forms.DataGridViewLinkColumn colPriceOrderSn;
private System.Windows.Forms.DataGridViewTextBoxColumn colImgUrl;
private System.Windows.Forms.DataGridViewImageColumn colProductSkcPic;
private System.Windows.Forms.DataGridViewLinkColumn colProductId;
private System.Windows.Forms.DataGridViewLinkColumn colProdSkc;
@@ -724,13 +742,5 @@ namespace TemuKJD.KJDForms.ProductForms
private System.Windows.Forms.DataGridViewTextBoxColumn colChangeType;
private System.Windows.Forms.DataGridViewTextBoxColumn colChangeReason;
private System.Windows.Forms.DataGridViewTextBoxColumn colMsg;
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
private System.Windows.Forms.DataGridViewTextBoxColumn colShopLoginName;
private System.Windows.Forms.DataGridViewTextBoxColumn colShopId;
private System.Windows.Forms.DataGridViewTextBoxColumn colShopName;
private System.Windows.Forms.DataGridViewTextBoxColumn colShopNotes;
private System.Windows.Forms.DataGridViewTextBoxColumn colLoginStatus;
private System.Windows.Forms.DataGridViewCheckBoxColumn colCanUse;
private System.Windows.Forms.DataGridViewTextBoxColumn colMessage;
}
}
@@ -291,6 +291,7 @@ namespace TemuKJD.KJDForms.ProductForms
if (jsonStr.Contains("当前操作人数太多,请稍后重试") && tryCount < 5)
{
tryCount++;
Thread.Sleep(Randomx.GetId(500,1000));
goto tryAgain;
}
if (jsonStr.Contains("当前操作人数太多,请稍后重试"))
@@ -306,6 +307,7 @@ namespace TemuKJD.KJDForms.ProductForms
continue;
}
string snTag = BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now).ToString();
if (jsonStr.Contains("\"success\":true"))
{
var jArr = new JArray();
@@ -323,6 +325,7 @@ namespace TemuKJD.KJDForms.ProductForms
TemuPriceAdjustInfo pInfo = JsonHelper.DeserializeJsonToObject<TemuPriceAdjustInfo>(sItem); // 反序列化得到类
if (pInfo != null && !lstPriceAdjustInfo.Any(a=>a.priceOrderSn == pInfo.priceOrderSn))
{
pInfo.snTag = snTag;
lstPriceAdjustInfo.Add(pInfo);
//string url = pInfo.image.Replace("https", "http");
@@ -335,7 +338,8 @@ namespace TemuKJD.KJDForms.ProductForms
pInfo.supplierId,
shop.ShopAccount, // pInfo.supplierName, // 列表里取不到,这里取shop里的
pInfo.priceOrderSn,
null,//image, // skc图片
pInfo.image.Replace("https", "http"),
defaultBitmap,//image, // skc图片
pInfo.productId,
pInfo.skcId,
pInfo.productName + "\r\n" + pInfo.skuSpecs, // 商品标题+sku名称
@@ -353,6 +357,10 @@ namespace TemuKJD.KJDForms.ProductForms
}));
}
}
Invoke(new Action(() =>
{
ShowDgvImg();
}));
int total = BaseRegex.GetStringJson(ref jsonStr, "total").ParseToInt();
totalPage = Math.Ceiling(total / 10.0).ParseToInt();
@@ -513,8 +521,13 @@ namespace TemuKJD.KJDForms.ProductForms
Thread.Sleep(200 + Randomx.GetId(100));
//var adjustLst = lstPriceAdjustInfo.Where(a => a.skuIds == priceAdjust.skuIds && a.isRefuseAdjust == false).ToList();
var adjustLst = lstPriceAdjustInfo.Where(a =>
priceAdjust.skuInfoItemList.Any(sku => a.skuIds.Contains(sku.productSkuId.ToString())) && a.isRefuseAdjust == false).ToList();
//var adjustLst = lstPriceAdjustInfo.Where(a =>
// priceAdjust.skuInfoItemList.Any(sku => a.skuIds.Contains(sku.productSkuId.ToString())) && a.isRefuseAdjust == false).ToList();
// 同一页的一起提交
var adjustLst = lstPriceAdjustInfo.Where(a =>
a.snTag == priceAdjust.snTag && // 选中商品的同页商品
lstPriceAdjust.Any(s => s.skcId == a.skcId) && // 该商品也需要有同skc商品被选中
a.isRefuseAdjust == false).ToList(); // 没有被取消调价过
var adjustStrLst = adjustLst.Select(s => s.id.ParseToString()).ToList();
@@ -526,6 +539,13 @@ namespace TemuKJD.KJDForms.ProductForms
foreach(var adj in adjustLst)
{
adj.isRefuseAdjust = true;
var rs = this.dgvAdjust.Rows.Cast<DataGridViewRow>().Where(r =>
r.Cells["colPriceOrderSn"].Value.ToString() == adj.priceOrderSn.ParseToString());
Invoke(new Action(() =>
{
foreach(var r in rs)
r.Cells["colMsg"].Value = "已拒绝跟价";
}));
}
}
@@ -598,5 +618,57 @@ namespace TemuKJD.KJDForms.ProductForms
break;
}
}
Bitmap defaultBitmap = new Bitmap(80, 80);
void ShowDgvImg()
{
Task.Run(() =>
{
foreach (DataGridViewRow row in this.dgvAdjust.Rows)
{
if (row.Index > 0 && row.Cells["colProductSkcPic"].Displayed == false)
{
try
{
Invoke(new Action(() =>
{
row.Cells["colProductSkcPic"].Value = defaultBitmap;
}));
}
catch
{
}
continue;
}
if (row.Cells["colProductSkcPic"].Value != null && row.Cells["colProductSkcPic"].Value != defaultBitmap)
continue;
Image image = null;
string imgUrl = row.Cells["colImgUrl"]?.Value.ParseToString();
string getImgError = "";
if (!string.IsNullOrWhiteSpace(imgUrl))
image = GetHtml.GetUrlImg(imgUrl, out getImgError);
if (!string.IsNullOrEmpty(getImgError))
BaseMsgForm.ShowError(getImgError);
try
{
Invoke(new Action(() =>
{
row.Cells["colProductSkcPic"].Value = image;
}));
}
catch
{
}
}
});
}
private void dgvAdjust_Scroll(object sender, ScrollEventArgs e)
{
ShowDgvImg();
}
}
}
@@ -150,6 +150,9 @@
<metadata name="colPriceOrderSn.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>
+194 -176
View File
@@ -117,12 +117,17 @@ namespace TemuKJD.KJDForms.ProductForms
this.btnStopAdd = new DevComponents.DotNetBar.PanelEx();
this.chkLimited = new System.Windows.Forms.CheckBox();
this.dgvStock = new TemuKJD.UserComponent.DataGridViewEx();
this.splitContainer4 = new System.Windows.Forms.SplitContainer();
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
this.btnClear = new DevComponents.DotNetBar.PanelEx();
this.colUpId = new System.Windows.Forms.DataGridViewLinkColumn();
this.colCheck = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.colSupplierId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colSupplierName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colStockId = new System.Windows.Forms.DataGridViewLinkColumn();
this.colParentStockId = new System.Windows.Forms.DataGridViewLinkColumn();
this.colImgUrl = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colProductSkcPic = new System.Windows.Forms.DataGridViewImageColumn();
this.colProductId = new System.Windows.Forms.DataGridViewLinkColumn();
this.colProdSkc = new System.Windows.Forms.DataGridViewLinkColumn();
@@ -134,12 +139,9 @@ namespace TemuKJD.KJDForms.ProductForms
this.colTodaySaleVolume = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colSalesInventoryNum = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colWaitReceiveNum = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colQualityScore = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colNeedStockUp = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colMsg = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.splitContainer4 = new System.Windows.Forms.SplitContainer();
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
this.btnClear = new DevComponents.DotNetBar.PanelEx();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
@@ -1334,6 +1336,7 @@ namespace TemuKJD.KJDForms.ProductForms
this.colSupplierName,
this.colStockId,
this.colParentStockId,
this.colImgUrl,
this.colProductSkcPic,
this.colProductId,
this.colProdSkc,
@@ -1345,6 +1348,7 @@ namespace TemuKJD.KJDForms.ProductForms
this.colTodaySaleVolume,
this.colSalesInventoryNum,
this.colWaitReceiveNum,
this.colQualityScore,
this.colNeedStockUp,
this.colMsg});
this.dgvStock.Dock = System.Windows.Forms.DockStyle.Fill;
@@ -1355,159 +1359,7 @@ namespace TemuKJD.KJDForms.ProductForms
this.dgvStock.Size = new System.Drawing.Size(860, 435);
this.dgvStock.TabIndex = 187;
this.dgvStock.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvStock_CellContentClick);
//
// colUpId
//
this.colUpId.HeaderText = "上家Id";
this.colUpId.Name = "colUpId";
this.colUpId.ReadOnly = true;
this.colUpId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colUpId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colUpId.Visible = false;
this.colUpId.Width = 95;
//
// colCheck
//
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;
//
// colSupplierId
//
this.colSupplierId.HeaderText = "店铺Id";
this.colSupplierId.Name = "colSupplierId";
this.colSupplierId.ReadOnly = true;
//
// colSupplierName
//
this.colSupplierName.HeaderText = "店铺名称";
this.colSupplierName.Name = "colSupplierName";
this.colSupplierName.ReadOnly = true;
this.colSupplierName.Width = 110;
//
// colStockId
//
this.colStockId.HeaderText = "备货单号";
this.colStockId.Name = "colStockId";
this.colStockId.ReadOnly = true;
this.colStockId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colStockId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colStockId.Width = 120;
//
// colParentStockId
//
this.colParentStockId.HeaderText = "备货母单号";
this.colParentStockId.Name = "colParentStockId";
this.colParentStockId.ReadOnly = true;
this.colParentStockId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colParentStockId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colParentStockId.Width = 120;
//
// colProductSkcPic
//
this.colProductSkcPic.HeaderText = "Skc图片";
this.colProductSkcPic.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom;
this.colProductSkcPic.Name = "colProductSkcPic";
this.colProductSkcPic.ReadOnly = true;
this.colProductSkcPic.Visible = false;
this.colProductSkcPic.Width = 60;
//
// colProductId
//
this.colProductId.HeaderText = "商品Id";
this.colProductId.Name = "colProductId";
this.colProductId.ReadOnly = true;
this.colProductId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colProductId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colProductId.Visible = false;
//
// colProdSkc
//
this.colProdSkc.FillWeight = 150F;
this.colProdSkc.HeaderText = "商品SKC";
this.colProdSkc.Name = "colProdSkc";
this.colProdSkc.ReadOnly = true;
this.colProdSkc.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colProdSkc.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colProdSkc.Width = 90;
//
// colProdName
//
this.colProdName.HeaderText = "标题";
this.colProdName.Name = "colProdName";
this.colProdName.ReadOnly = true;
this.colProdName.Width = 200;
//
// colPrcie
//
this.colPrcie.HeaderText = "价格";
this.colPrcie.Name = "colPrcie";
this.colPrcie.ReadOnly = true;
this.colPrcie.Visible = false;
//
// colFrom
//
this.colFrom.HeaderText = "来源";
this.colFrom.Name = "colFrom";
this.colFrom.ReadOnly = true;
this.colFrom.Visible = false;
//
// colFromFake
//
this.colFromFake.HeaderText = "来源";
this.colFromFake.Name = "colFromFake";
this.colFromFake.ReadOnly = true;
this.colFromFake.Visible = false;
//
// colInCartNumber7d
//
this.colInCartNumber7d.HeaderText = "近七日加购";
this.colInCartNumber7d.Name = "colInCartNumber7d";
this.colInCartNumber7d.ReadOnly = true;
this.colInCartNumber7d.Visible = false;
this.colInCartNumber7d.Width = 75;
//
// colTodaySaleVolume
//
this.colTodaySaleVolume.HeaderText = "今日销量";
this.colTodaySaleVolume.Name = "colTodaySaleVolume";
this.colTodaySaleVolume.ReadOnly = true;
this.colTodaySaleVolume.Visible = false;
this.colTodaySaleVolume.Width = 70;
//
// colSalesInventoryNum
//
this.colSalesInventoryNum.HeaderText = "仓库可用库存";
this.colSalesInventoryNum.Name = "colSalesInventoryNum";
this.colSalesInventoryNum.ReadOnly = true;
this.colSalesInventoryNum.Visible = false;
this.colSalesInventoryNum.Width = 90;
//
// colWaitReceiveNum
//
this.colWaitReceiveNum.HeaderText = "已发货库存";
this.colWaitReceiveNum.Name = "colWaitReceiveNum";
this.colWaitReceiveNum.ReadOnly = true;
this.colWaitReceiveNum.Visible = false;
this.colWaitReceiveNum.Width = 75;
//
// colNeedStockUp
//
this.colNeedStockUp.HeaderText = "是否需备货";
this.colNeedStockUp.Name = "colNeedStockUp";
this.colNeedStockUp.ReadOnly = true;
this.colNeedStockUp.Visible = false;
this.colNeedStockUp.Width = 75;
//
// colMsg
//
this.colMsg.HeaderText = "状态";
this.colMsg.Name = "colMsg";
this.colMsg.ReadOnly = true;
this.colMsg.Width = 400;
this.dgvStock.Scroll += new System.Windows.Forms.ScrollEventHandler(this.dgvStock_Scroll);
//
// splitContainer4
//
@@ -1589,6 +1441,170 @@ namespace TemuKJD.KJDForms.ProductForms
this.btnClear.Text = "清空结果";
this.btnClear.Visible = false;
//
// colUpId
//
this.colUpId.HeaderText = "上家Id";
this.colUpId.Name = "colUpId";
this.colUpId.ReadOnly = true;
this.colUpId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colUpId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colUpId.Visible = false;
this.colUpId.Width = 95;
//
// colCheck
//
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;
//
// colSupplierId
//
this.colSupplierId.HeaderText = "店铺Id";
this.colSupplierId.Name = "colSupplierId";
this.colSupplierId.ReadOnly = true;
//
// colSupplierName
//
this.colSupplierName.HeaderText = "店铺名称";
this.colSupplierName.Name = "colSupplierName";
this.colSupplierName.ReadOnly = true;
this.colSupplierName.Width = 110;
//
// colStockId
//
this.colStockId.HeaderText = "备货单号";
this.colStockId.Name = "colStockId";
this.colStockId.ReadOnly = true;
this.colStockId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colStockId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colStockId.Width = 120;
//
// colParentStockId
//
this.colParentStockId.HeaderText = "备货母单号";
this.colParentStockId.Name = "colParentStockId";
this.colParentStockId.ReadOnly = true;
this.colParentStockId.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colParentStockId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colParentStockId.Width = 120;
//
// colImgUrl
//
this.colImgUrl.HeaderText = "图片路径";
this.colImgUrl.Name = "colImgUrl";
this.colImgUrl.ReadOnly = true;
this.colImgUrl.Visible = false;
//
// colProductSkcPic
//
this.colProductSkcPic.HeaderText = "Skc图片";
this.colProductSkcPic.ImageLayout = System.Windows.Forms.DataGridViewImageCellLayout.Zoom;
this.colProductSkcPic.Name = "colProductSkcPic";
this.colProductSkcPic.ReadOnly = true;
this.colProductSkcPic.Width = 60;
//
// colProductId
//
this.colProductId.HeaderText = "商品Id";
this.colProductId.Name = "colProductId";
this.colProductId.ReadOnly = true;
this.colProductId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
//
// colProdSkc
//
this.colProdSkc.FillWeight = 150F;
this.colProdSkc.HeaderText = "商品SKC";
this.colProdSkc.Name = "colProdSkc";
this.colProdSkc.ReadOnly = true;
this.colProdSkc.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colProdSkc.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colProdSkc.Width = 90;
//
// colProdName
//
this.colProdName.HeaderText = "标题";
this.colProdName.Name = "colProdName";
this.colProdName.ReadOnly = true;
this.colProdName.Width = 200;
//
// colPrcie
//
this.colPrcie.HeaderText = "价格";
this.colPrcie.Name = "colPrcie";
this.colPrcie.ReadOnly = true;
this.colPrcie.Visible = false;
//
// colFrom
//
this.colFrom.HeaderText = "来源";
this.colFrom.Name = "colFrom";
this.colFrom.ReadOnly = true;
this.colFrom.Visible = false;
//
// colFromFake
//
this.colFromFake.HeaderText = "来源";
this.colFromFake.Name = "colFromFake";
this.colFromFake.ReadOnly = true;
this.colFromFake.Visible = false;
//
// colInCartNumber7d
//
this.colInCartNumber7d.HeaderText = "近七日加购";
this.colInCartNumber7d.Name = "colInCartNumber7d";
this.colInCartNumber7d.ReadOnly = true;
this.colInCartNumber7d.Visible = false;
this.colInCartNumber7d.Width = 75;
//
// colTodaySaleVolume
//
this.colTodaySaleVolume.HeaderText = "今日销量";
this.colTodaySaleVolume.Name = "colTodaySaleVolume";
this.colTodaySaleVolume.ReadOnly = true;
this.colTodaySaleVolume.Visible = false;
this.colTodaySaleVolume.Width = 70;
//
// colSalesInventoryNum
//
this.colSalesInventoryNum.HeaderText = "仓库可用库存";
this.colSalesInventoryNum.Name = "colSalesInventoryNum";
this.colSalesInventoryNum.ReadOnly = true;
this.colSalesInventoryNum.Visible = false;
this.colSalesInventoryNum.Width = 90;
//
// colWaitReceiveNum
//
this.colWaitReceiveNum.HeaderText = "已发货库存";
this.colWaitReceiveNum.Name = "colWaitReceiveNum";
this.colWaitReceiveNum.ReadOnly = true;
this.colWaitReceiveNum.Visible = false;
this.colWaitReceiveNum.Width = 75;
//
// colQualityScore
//
this.colQualityScore.HeaderText = "品质分";
this.colQualityScore.Name = "colQualityScore";
this.colQualityScore.ReadOnly = true;
this.colQualityScore.Width = 60;
//
// colNeedStockUp
//
this.colNeedStockUp.HeaderText = "是否需备货";
this.colNeedStockUp.Name = "colNeedStockUp";
this.colNeedStockUp.ReadOnly = true;
this.colNeedStockUp.Visible = false;
this.colNeedStockUp.Width = 75;
//
// colMsg
//
this.colMsg.HeaderText = "状态";
this.colMsg.Name = "colMsg";
this.colMsg.ReadOnly = true;
this.colMsg.Width = 400;
//
// SaleStockUpForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
@@ -1716,25 +1732,6 @@ namespace TemuKJD.KJDForms.ProductForms
private System.Windows.Forms.TextBox txtScale2;
private System.Windows.Forms.Label label14;
private DevComponents.DotNetBar.PanelEx panelEx1;
private System.Windows.Forms.DataGridViewLinkColumn colUpId;
private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck;
private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierId;
private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierName;
private System.Windows.Forms.DataGridViewLinkColumn colStockId;
private System.Windows.Forms.DataGridViewLinkColumn colParentStockId;
private System.Windows.Forms.DataGridViewImageColumn colProductSkcPic;
private System.Windows.Forms.DataGridViewLinkColumn colProductId;
private System.Windows.Forms.DataGridViewLinkColumn colProdSkc;
private System.Windows.Forms.DataGridViewTextBoxColumn colProdName;
private System.Windows.Forms.DataGridViewTextBoxColumn colPrcie;
private System.Windows.Forms.DataGridViewTextBoxColumn colFrom;
private System.Windows.Forms.DataGridViewTextBoxColumn colFromFake;
private System.Windows.Forms.DataGridViewTextBoxColumn colInCartNumber7d;
private System.Windows.Forms.DataGridViewTextBoxColumn colTodaySaleVolume;
private System.Windows.Forms.DataGridViewTextBoxColumn colSalesInventoryNum;
private System.Windows.Forms.DataGridViewTextBoxColumn colWaitReceiveNum;
private System.Windows.Forms.DataGridViewTextBoxColumn colNeedStockUp;
private System.Windows.Forms.DataGridViewTextBoxColumn colMsg;
private System.Windows.Forms.TextBox txtMinBound;
private System.Windows.Forms.Label label15;
private System.Windows.Forms.Label lblMinBound;
@@ -1752,5 +1749,26 @@ namespace TemuKJD.KJDForms.ProductForms
private System.Windows.Forms.DataGridViewTextBoxColumn colLoginStatus;
private System.Windows.Forms.DataGridViewCheckBoxColumn colCanUse;
private System.Windows.Forms.DataGridViewTextBoxColumn colMessage;
private System.Windows.Forms.DataGridViewLinkColumn colUpId;
private System.Windows.Forms.DataGridViewCheckBoxColumn colCheck;
private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierId;
private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierName;
private System.Windows.Forms.DataGridViewLinkColumn colStockId;
private System.Windows.Forms.DataGridViewLinkColumn colParentStockId;
private System.Windows.Forms.DataGridViewTextBoxColumn colImgUrl;
private System.Windows.Forms.DataGridViewImageColumn colProductSkcPic;
private System.Windows.Forms.DataGridViewLinkColumn colProductId;
private System.Windows.Forms.DataGridViewLinkColumn colProdSkc;
private System.Windows.Forms.DataGridViewTextBoxColumn colProdName;
private System.Windows.Forms.DataGridViewTextBoxColumn colPrcie;
private System.Windows.Forms.DataGridViewTextBoxColumn colFrom;
private System.Windows.Forms.DataGridViewTextBoxColumn colFromFake;
private System.Windows.Forms.DataGridViewTextBoxColumn colInCartNumber7d;
private System.Windows.Forms.DataGridViewTextBoxColumn colTodaySaleVolume;
private System.Windows.Forms.DataGridViewTextBoxColumn colSalesInventoryNum;
private System.Windows.Forms.DataGridViewTextBoxColumn colWaitReceiveNum;
private System.Windows.Forms.DataGridViewTextBoxColumn colQualityScore;
private System.Windows.Forms.DataGridViewTextBoxColumn colNeedStockUp;
private System.Windows.Forms.DataGridViewTextBoxColumn colMsg;
}
}
+190 -45
View File
@@ -165,7 +165,7 @@ namespace TemuKJD.KJDForms.ProductForms
col.Visible = true;
}
if (col.Name == "colTodaySaleVolume" || col.Name == "colInCartNumber7d" || col.Name == "colSalesInventoryNum"
|| col.Name == "colWaitReceiveNum" || col.Name == "colNeedStockUp")
|| col.Name == "colWaitReceiveNum" || col.Name == "colNeedStockUp" || col.Name == "colQualityScore")
{
col.Visible = false;
}
@@ -296,6 +296,7 @@ namespace TemuKJD.KJDForms.ProductForms
sInfo.supplierName,
sInfo.subPurchaseOrderSn,
sInfo.originalPurchaseOrderSn,
sInfo.productSkcPicture.Replace("https", "http"),
null,//image,
sInfo.productId,
sInfo.productSkcId,
@@ -306,6 +307,7 @@ namespace TemuKJD.KJDForms.ProductForms
"",
"",
"",
0.0,
"",
""
);
@@ -314,6 +316,10 @@ namespace TemuKJD.KJDForms.ProductForms
}));
}
}
Invoke(new Action(() =>
{
ShowDgvImg();
}));
int total = BaseRegex.GetStringJson(ref jsonStr, "total").ParseToInt();
totalPage = Math.Ceiling(total / 20.0).ParseToInt();
@@ -435,7 +441,7 @@ namespace TemuKJD.KJDForms.ProductForms
page = Math.Max(page, 1);
string url = "https://seller.kuajingmaihuo.com/marvel-mms/cn/api/kiana/venom/sales/management/listWarehouse";
string body = @"{""pageNo"":" + page + @",""pageSize"":10,""isLack"":0,""selectStatusList"":[12],""priceAdjustRecentDays"":7}";
string body = @"{""pageNo"":" + page + @",""pageSize"":40,""isLack"":0,""selectStatusList"":[12],""priceAdjustRecentDays"":7}";
string refere = "https://seller.kuajingmaihuo.com/main/sale-manage/main";
return KJDHttpResponse.PostResponse(shop, url, body, refere);
@@ -520,6 +526,47 @@ namespace TemuKJD.KJDForms.ProductForms
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
}
/// <summary>
/// 小于60分商品
/// </summary>
private string GetQualityInfo1_2(ShopLoginInfo shop, string productIds)
{
string url = "https://agentseller.temu.com/bg-luna-agent-seller/goods/quality/supplyChain/qualityMetrics/pageQuery";
string body = @"{""page"":1,""pageSize"":40,""qualityScoreEnum"":1,""productIds"":[" + productIds + "]}";
string refere = "https://agentseller.temu.com/main/quality/dashboard";
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
}
/// <summary>
/// 60分到70分商品
/// </summary>
private string GetQualityInfo2_2(ShopLoginInfo shop, string productIds)
{
string url = "https://agentseller.temu.com/bg-luna-agent-seller/goods/quality/supplyChain/qualityMetrics/pageQuery";
string body = @"{""page"":1,""pageSize"":40,""qualityScoreEnum"":2,""productIds"":[" + productIds + "]}";
string refere = "https://agentseller.temu.com/main/quality/dashboard";
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
}
/// <summary>
/// 70分到90分商品
/// </summary>
private string GetQualityInfo3_2(ShopLoginInfo shop, string productIds)
{
string url = "https://agentseller.temu.com/bg-luna-agent-seller/goods/quality/supplyChain/qualityMetrics/pageQuery";
string body = @"{""page"":1,""pageSize"":40,""qualityScoreEnum"":3,""productIds"":[" + productIds + "]}";
string refere = "https://agentseller.temu.com/main/quality/dashboard";
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
}
/// <summary>
/// 90分以上
/// </summary>
private string GetQualityInfo4_2(ShopLoginInfo shop, string productIds, int qualityScoreEnum = 4)
{
string url = "https://agentseller.temu.com/bg-luna-agent-seller/goods/quality/supplyChain/qualityMetrics/pageQuery";
string body = @"{""page"":1,""pageSize"":40,""qualityScoreEnum"":" + qualityScoreEnum + @",""productIds"":[" + productIds + "]}";
string refere = "https://agentseller.temu.com/main/quality/dashboard";
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
}
private void dgvShop_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex < 0 || e.RowIndex < 0)
@@ -730,7 +777,7 @@ namespace TemuKJD.KJDForms.ProductForms
col.Visible = false;
}
if (col.Name == "colTodaySaleVolume" || col.Name == "colInCartNumber7d" || col.Name == "colSalesInventoryNum"
|| col.Name == "colWaitReceiveNum" || col.Name == "colNeedStockUp")
|| col.Name == "colWaitReceiveNum" || col.Name == "colNeedStockUp" || col.Name == "colQualityScore")
{
col.Visible = true;
}
@@ -832,6 +879,8 @@ namespace TemuKJD.KJDForms.ProductForms
{
BaseMsgForm.ShowError(ex.Message);
}
List<SubOrderInfo> subOrderInfoLstTmp = new List<SubOrderInfo>();
foreach (var item in jArr)
{
string sItem = item.ToString();
@@ -862,50 +911,83 @@ namespace TemuKJD.KJDForms.ProductForms
sInfo.needStockUp = true;
else
sInfo.needStockUp = false;
lstSubOrderInfo.Add(sInfo);
//string url = sInfo.productSkcPicture.Replace("https", "http");
//// var stream = WebRequest.Create(url).GetResponse().GetResponseStream();
//Image image = null;
//using (Stream stream = WebRequest.Create(url).GetResponse().GetResponseStream())
//{
// try {
// image = Image.FromStream(stream);
// }
// catch (Exception ex)
// {
// }
//}
Invoke(new Action(() =>
{
var rowId = this.dgvStock.Rows.Add(
"",
true,
sInfo.supplierId,
sInfo.supplierName,
"",//sInfo.subPurchaseOrderSn,
"",//sInfo.originalPurchaseOrderSn,
null,//image,
sInfo.productId,
sInfo.productSkcId,
sInfo.productName,
"",
"",
"",
sInfo.skuQuantityTotalInfo.inCartNumber7d,
sInfo.skuQuantityTotalInfo.todaySaleVolume,
sInfo.skuQuantityTotalInfo.inventoryNumInfo.warehouseInventoryNum,
sInfo.skuQuantityTotalInfo.inventoryNumInfo.waitReceiveNum,
sInfo.needStockUp == false ? "无需备货" : "可备货",
""
);
if (rowId >= 0)
dgvStock.Rows[rowId].Height = 60;
//dgvStock.Rows.Cast[dgvStock.Rows].Height=60;
}));
subOrderInfoLstTmp.Add(sInfo);
}
}
//获取品质信息------------------------------------------------------------------------
List<TemuGoodsQualityInfo> qualityInfoLst = new List<TemuGoodsQualityInfo>();
string productIds = string.Join(",", subOrderInfoLstTmp.Select(o=>o.productId));
string qualityErr = "";
try
{
for (int j = 1; j <= 4; j++)
{
var qualityRst1 = this.GetQualityInfo4_2(shop, productIds, j);
if (qualityRst1.Contains("\"success\":true"))
{
var jObj = JObject.Parse(qualityRst1);
string jStr = JsonHelper.SerializeObject(jObj["result"]["pageItems"]);
qualityInfoLst.AddRange(JsonHelper.DeserializeJsonToList<TemuGoodsQualityInfo>(jStr));
}
else
{
qualityErr = BaseRegex.GetStringJson(ref qualityRst1, "errorMsg");
if (string.IsNullOrWhiteSpace(qualityErr))
qualityErr += BaseRegex.GetStringJson(ref qualityRst1, "error_msg");
}
Thread.Sleep(Randomx.GetId(100, 200));
}
}
catch (Exception ex) { qualityErr += "\r\n" + ex.Message; };
if (qualityErr != "")
{
BaseMsgForm.ShowError("获取商品品质信息失败!" + qualityErr);
}
foreach (var qualityInfo in qualityInfoLst)
{
var order = subOrderInfoLstTmp.FirstOrDefault(o => o.productId == qualityInfo.productId);
if (order != null)
order.goodsAfsScore = qualityInfo.goodsAfsScore;
}
//---------------------------------------------------------------------------------------
lstSubOrderInfo.AddRange(subOrderInfoLstTmp);
foreach (var sInfo in subOrderInfoLstTmp)
{
Invoke(new Action(() =>
{
var rowId = this.dgvStock.Rows.Add(
"",
true,
sInfo.supplierId,
sInfo.supplierName,
"",//sInfo.subPurchaseOrderSn,
"",//sInfo.originalPurchaseOrderSn,
sInfo.productSkcPicture.Replace("https", "http"),
defaultBitmap,//image,
sInfo.productId,
sInfo.productSkcId,
sInfo.productName,
"",
"",
"",
sInfo.skuQuantityTotalInfo.inCartNumber7d,
sInfo.skuQuantityTotalInfo.todaySaleVolume,
sInfo.skuQuantityTotalInfo.inventoryNumInfo.warehouseInventoryNum,
sInfo.skuQuantityTotalInfo.inventoryNumInfo.waitReceiveNum,
sInfo.goodsAfsScore == null ? "-" : (Math.Round(sInfo.goodsAfsScore.Value * 10) / 10).ToString(),
sInfo.needStockUp == false ? "无需备货" : "可备货",
""
);
if (rowId >= 0)
dgvStock.Rows[rowId].Height = 60;
}));
}
Invoke(new Action(() =>
{
ShowDgvImg();
}));
int total = BaseRegex.GetStringJson(ref jsonStr, "total").ParseToInt();
totalPage = Math.Ceiling(total / 10.0).ParseToInt();
@@ -995,6 +1077,17 @@ namespace TemuKJD.KJDForms.ProductForms
}));
continue;
}
if (stockUp.goodsAfsScore != null && stockUp.goodsAfsScore < 75)
{
Invoke(new Action(() =>
{
foreach (var row in rows)
{
row.Cells["colMsg"].Value = "商品品质得分过低,请去网页手动备货";
}
}));
continue;
}
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(s => s.ShopId == stockUp.supplierId.ToString());
if (shop == null || shop.LoginStatus != "登录成功")
@@ -1134,5 +1227,57 @@ namespace TemuKJD.KJDForms.ProductForms
{
this.isNewService = ucCheckBox1.Checked;
}
Bitmap defaultBitmap = new Bitmap(80, 80);
void ShowDgvImg()
{
Task.Run(() =>
{
foreach (DataGridViewRow row in this.dgvStock.Rows)
{
if (row.Index > 0 && row.Cells["colProductSkcPic"].Displayed == false)
{
try
{
Invoke(new Action(() =>
{
row.Cells["colProductSkcPic"].Value = defaultBitmap;
}));
}
catch
{
}
continue;
}
if (row.Cells["colProductSkcPic"].Value != null && row.Cells["colProductSkcPic"].Value != defaultBitmap)
continue;
Image image = null;
string imgUrl = row.Cells["colImgUrl"]?.Value.ParseToString();
string getImgError = "";
if (!string.IsNullOrWhiteSpace(imgUrl))
image = GetHtml.GetUrlImg(imgUrl, out getImgError);
if (!string.IsNullOrEmpty(getImgError))
BaseMsgForm.ShowError(getImgError);
try
{
Invoke(new Action(() =>
{
row.Cells["colProductSkcPic"].Value = image;
}));
}
catch
{
}
}
});
}
private void dgvStock_Scroll(object sender, ScrollEventArgs e)
{
ShowDgvImg();
}
}
}
@@ -156,6 +156,9 @@
<metadata name="colParentStockId.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>
@@ -186,6 +189,9 @@
<metadata name="colWaitReceiveNum.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colQualityScore.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colNeedStockUp.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
+8 -8
View File
@@ -757,14 +757,14 @@ namespace Work.Api
public static void Ini()
{
string[] l = FileBase.ReadAllLines("taobao_cat.ico");
for (int i = 0; l != null && i < l.Length; i++)
{
if (!l[i].Contains("\t"))
continue;
string[] s = l[i].Split('\t');
TaobaoCat.Add(int.Parse(s[0]), s[1]);
}
//string[] l = FileBase.ReadAllLines("taobao_cat.ico");
//for (int i = 0; l != null && i < l.Length; i++)
//{
// if (!l[i].Contains("\t"))
// continue;
// string[] s = l[i].Split('\t');
// TaobaoCat.Add(int.Parse(s[0]), s[1]);
//}
}
}
}
+36 -36
View File
@@ -15,44 +15,44 @@ namespace Work.Api
public static void Ini()
{
if (DefaultProperties.Count == 0)
{
GetDefaultProperties();
}
//string file = FileBase.ReadAllText("mobelx.dll");
//if (string.IsNullOrEmpty(file))
// return;
//CatTemplate = JsonHelper.DeserializeJsonToObject<Dictionary<int, CatTemplateBase>>(file);
//if (CatTemplate == null)
// CatTemplate = new Dictionary<int, CatTemplateBase>();
//for (int i = 0; i < Properties.Count; i++)
//if (DefaultProperties.Count == 0)
//{
// Properties[i].value_unit = "";
// for (int j = 0; j < Properties[i].Values.Count; j++)
// {
// if (string.IsNullOrEmpty(Properties[i].Values[j].p_unit))
// Properties[i].Values[j].p_unit = "";
// }
// if (Properties[i].pid == 93)
// {
// for (int j = 0; j < Properties[i].cats.Count; j++)
// {
// if (Properties.Exists(p => p.pid == 59 && p.cats.Contains(Properties[i].cats[j])))
// continue;
// var m = new ModelBase();
// m.name = "中国国家强制性产品认证证书";
// m.name_all = "中国国家强制性产品认证证书";
// m.must = true;
// m.show_type = 1;
// m.template_pid = 33178;
// m.template_module_id = 7207;
// m.pid = 59;
// m.cats = Properties[i].cats;
// m.value_unit = "";
// Properties.Add(m);
// }
// }
// GetDefaultProperties();
//}
////string file = FileBase.ReadAllText("mobelx.dll");
////if (string.IsNullOrEmpty(file))
//// return;
////CatTemplate = JsonHelper.DeserializeJsonToObject<Dictionary<int, CatTemplateBase>>(file);
////if (CatTemplate == null)
//// CatTemplate = new Dictionary<int, CatTemplateBase>();
////for (int i = 0; i < Properties.Count; i++)
////{
//// Properties[i].value_unit = "";
//// for (int j = 0; j < Properties[i].Values.Count; j++)
//// {
//// if (string.IsNullOrEmpty(Properties[i].Values[j].p_unit))
//// Properties[i].Values[j].p_unit = "";
//// }
//// if (Properties[i].pid == 93)
//// {
//// for (int j = 0; j < Properties[i].cats.Count; j++)
//// {
//// if (Properties.Exists(p => p.pid == 59 && p.cats.Contains(Properties[i].cats[j])))
//// continue;
//// var m = new ModelBase();
//// m.name = "中国国家强制性产品认证证书";
//// m.name_all = "中国国家强制性产品认证证书";
//// m.must = true;
//// m.show_type = 1;
//// m.template_pid = 33178;
//// m.template_module_id = 7207;
//// m.pid = 59;
//// m.cats = Properties[i].cats;
//// m.value_unit = "";
//// Properties.Add(m);
//// }
//// }
////}
}
/// <summary>
/// 获取必填项
+51 -51
View File
@@ -22,58 +22,58 @@ namespace Work.CollectClass
/// </summary>
public void Get()
{
string url = BaseClass.LoginApiUrl + "taobao/筛选词.txt";
string path = "temp/notitleword.tjm";
string html;
if (FileBase.Exists(path))
html = FileBase.ReadAllText(path, Encoding.Default);
else
{
html = GetHtml.Utf8(url);
FileBase.WriteAllText(path, html, Encoding.Default);
}
if (string.IsNullOrEmpty(html))
{
LogSave.Add("链接云数据库失败");
return;
}
string[] l = html.Split('\n');
for (int i = 0; i < l.Length; i++)
{
string s = l[i].Trim();
if (string.IsNullOrEmpty(s) || s.Length < 2)
continue;
string num = BaseRegex.GetMatchRegexString(ref s, @"([\d]+)");
if (!string.IsNullOrEmpty(num) && num.Length == s.Length)
continue;
NoTitleWord.Add(s);
}
//string url = BaseClass.LoginApiUrl + "taobao/筛选词.txt";
//string path = "temp/notitleword.tjm";
//string html;
//if (FileBase.Exists(path))
// html = FileBase.ReadAllText(path, Encoding.Default);
//else
//{
// html = GetHtml.Utf8(url);
// FileBase.WriteAllText(path, html, Encoding.Default);
//}
//if (string.IsNullOrEmpty(html))
//{
// LogSave.Add("链接云数据库失败");
// return;
//}
//string[] l = html.Split('\n');
//for (int i = 0; i < l.Length; i++)
//{
// string s = l[i].Trim();
// if (string.IsNullOrEmpty(s) || s.Length < 2)
// continue;
// string num = BaseRegex.GetMatchRegexString(ref s, @"([\d]+)");
// if (!string.IsNullOrEmpty(num) && num.Length == s.Length)
// continue;
// NoTitleWord.Add(s);
//}
url = BaseClass.LoginApiUrl + "taobao/品牌词.txt";
path = "temp/nobrand.tjm";
if (FileBase.Exists(path))
html = FileBase.ReadAllText(path, Encoding.Default);
else
{
html = GetHtml.Utf8(url);
FileBase.WriteAllText(path, html, Encoding.Default);
}
if (string.IsNullOrEmpty(html))
{
LogSave.Add("链接云数据库失败");
return;
}
l = html.Split('\n');
for (int i = 0; i < l.Length; i++)
{
string s = l[i].Trim();
if (string.IsNullOrEmpty(s) || s.Length < 2)
continue;
string num = BaseRegex.GetMatchRegexString(ref s, @"([\d]+)");
if (!string.IsNullOrEmpty(num) && num.Length == s.Length)
continue;
NoBrand.Add(s);
}
//url = BaseClass.LoginApiUrl + "taobao/品牌词.txt";
//path = "temp/nobrand.tjm";
//if (FileBase.Exists(path))
// html = FileBase.ReadAllText(path, Encoding.Default);
//else
//{
// html = GetHtml.Utf8(url);
// FileBase.WriteAllText(path, html, Encoding.Default);
//}
//if (string.IsNullOrEmpty(html))
//{
// LogSave.Add("链接云数据库失败");
// return;
//}
//l = html.Split('\n');
//for (int i = 0; i < l.Length; i++)
//{
// string s = l[i].Trim();
// if (string.IsNullOrEmpty(s) || s.Length < 2)
// continue;
// string num = BaseRegex.GetMatchRegexString(ref s, @"([\d]+)");
// if (!string.IsNullOrEmpty(num) && num.Length == s.Length)
// continue;
// NoBrand.Add(s);
//}
}
}
+12 -12
View File
@@ -2112,18 +2112,18 @@ namespace Work.CollectClass
public static void GetServerCookies()
{
string url = BaseClass.LoginApiUrl + "?obj=upshopid/user_cookies";
string html = GetHtml.PostUtf8(url, "act=get_rand");
if (string.IsNullOrEmpty(html))
html = GetHtml.PostUtf8(url, "act=get_rand");
var m = BaseRegex.GetMatchRegex(ref html, "<user([^>]+?>)");
for (int i = 0; m != null && i < m.Count; i++)
{
string list = m[i].Groups[0].Value;
string mobile = BaseRegex.GetStringJson(ref list, "mobile");
string cookies = BaseRegex.GetStringJson(ref list, "cookies");
Mobiles.Add(new KeyValueBase(mobile, cookies));
}
//string url = BaseClass.LoginApiUrl + "?obj=upshopid/user_cookies";
//string html = GetHtml.PostUtf8(url, "act=get_rand");
//if (string.IsNullOrEmpty(html))
// html = GetHtml.PostUtf8(url, "act=get_rand");
//var m = BaseRegex.GetMatchRegex(ref html, "<user([^>]+?>)");
//for (int i = 0; m != null && i < m.Count; i++)
//{
// string list = m[i].Groups[0].Value;
// string mobile = BaseRegex.GetStringJson(ref list, "mobile");
// string cookies = BaseRegex.GetStringJson(ref list, "cookies");
// Mobiles.Add(new KeyValueBase(mobile, cookies));
//}
}
public static string GetRandomPDDAccessToken(Func<PinDuoDuoTokenInfo, bool> predicateToken)
+64 -61
View File
@@ -32,6 +32,7 @@ namespace Work
public static void InitProgress(int i)
{
Thread.Sleep(Randomx.GetId(10, 100));
InitPercent += i;
if (InitPercent > 100)
InitPercent = 100;
@@ -91,22 +92,22 @@ offCountPara,false;offProductPara,100;IrregularitiesPara,true;noNeerPara,true;no
Directory.Delete(System.Environment.CurrentDirectory + "\\data1", true);
});
//Task.Run(() => { Update(); InitProgress(1); });
Task.Run(() => { CheckUpdate(); InitProgress(1); });
Task.Run(() => { CheckUpdate(); InitProgress(2); });
Task.Run(() => { GetAuthConfig(); InitProgress(1); });
Task.Run(() => { CheckFiles(); IsCheckFilesFinish = true; InitProgress(1); });
Task.Run(() => { CheckFiles(); IsCheckFilesFinish = true; InitProgress(2); });
//Task.Run(() => { CheckUpdataFile(); });
Task.Run(() => { new Segment().GetWord(); InitProgress(1); });
//Task.Run(() => { new PinduoduoCatList().Get(); InitProgress(1); }); // pdd cat
Task.Run(() => { GetMacCode(); InitProgress(1); });
#if DEBUG
if (!File.Exists(System.Environment.CurrentDirectory + "\\TemuKJD.exe.choice.debug.tools"))
Task.Run(() => { new CheckHecker().Check(); InitProgress(1); }); // 防止破解
Task.Run(() => { new CheckHecker().Check(); InitProgress(2); }); // 防止破解
#else
Task.Run(() => { new CheckHecker().Check(); InitProgress(1); }); // 防止破解
Task.Run(() => { new CheckHecker().Check(); InitProgress(2); }); // 防止破解
#endif
Task.Run(() => { PinduoduoProductCollect.GetServerCookies(); InitProgress(1); });
Task.Run(() => { new LoadCloudData().Get(); InitProgress(1); }); // 加载云数据
Task.Run(() => { new BigDataBuild("").Ini(); InitProgress(1); }); // 加载云数据
Task.Run(() => { PinduoduoProductCollect.GetServerCookies(); InitProgress(2); });
Task.Run(() => { new LoadCloudData().Get(); InitProgress(2); }); // 加载云数据
Task.Run(() => { new BigDataBuild("").Ini(); InitProgress(2); }); // 加载云数据
new FromTitleToCat();
InitProgress(1);
@@ -288,26 +289,26 @@ offCountPara,false;offProductPara,100;IrregularitiesPara,true;noNeerPara,true;no
/// </summary>
private void Update()
{
string upfilepath = Application.StartupPath + "\\Updatex.exe";
File.WriteAllText(Application.StartupPath + "\\updateconfig.ini", BaseClass.VersionCount
+ "\r\nhttps://update.qixiaoke.com/littlerabbit_update/uploader.php");
if (File.Exists(upfilepath))
{
string fc = GetMD5(upfilepath);
if (fc != "001EC5642914325F1DCF6E69BBA90738")
{
GetHtml.DownloadFile("http://dl.qixiaoke.com/Update3.1.exe", upfilepath);
}
}
else//如果自动更新文件不存在,则强制更新主文件
GetHtml.DownloadFile("http://dl.qixiaoke.com/Update3.1.exe", upfilepath);
try
{
Process.Start(upfilepath);
}
catch
{
}
//string upfilepath = Application.StartupPath + "\\Updatex.exe";
//File.WriteAllText(Application.StartupPath + "\\updateconfig.ini", BaseClass.VersionCount
//+ "\r\nhttps://update.qixiaoke.com/littlerabbit_update/uploader.php");
//if (File.Exists(upfilepath))
//{
// string fc = GetMD5(upfilepath);
// if (fc != "001EC5642914325F1DCF6E69BBA90738")
// {
// GetHtml.DownloadFile("http://dl.qixiaoke.com/Update3.1.exe", upfilepath);
// }
//}
//else//如果自动更新文件不存在,则强制更新主文件
// GetHtml.DownloadFile("http://dl.qixiaoke.com/Update3.1.exe", upfilepath);
//try
//{
// Process.Start(upfilepath);
//}
//catch
//{
//}
InitProgress(1);
}
@@ -679,12 +680,14 @@ offCountPara,false;offProductPara,100;IrregularitiesPara,true;noNeerPara,true;no
Directory.CreateDirectory("x64");
if (!Directory.Exists("x86"))
Directory.CreateDirectory("x86");
if (!Directory.Exists("ru-ru"))
Directory.CreateDirectory("ru-ru");
//if (!Directory.Exists("ru-ru"))
// Directory.CreateDirectory("ru-ru");
if (!Directory.Exists("temp"))
Directory.CreateDirectory("temp");
if (!Directory.Exists("temp/image"))
Directory.CreateDirectory("temp/image");
//if (!Directory.Exists("temp/image"))
// Directory.CreateDirectory("temp/image");
/*
List<KeyValueBase> files = new List<KeyValueBase>();
files.Add(new KeyValueBase("标题包含过滤_new.txt", "config/标题包含过滤x.ini"));
files.Add(new KeyValueBase("标题过滤词_new.txt", "config/标题过滤词x.ini"));
@@ -804,7 +807,7 @@ offCountPara,false;offProductPara,100;IrregularitiesPara,true;noNeerPara,true;no
else
{
InitProgress(20);
}
}*/
Task.Run(() => { new AddressSetIni().Ini(); InitProgress(1); });
Task.Run(() => { new AddressSetIni().getAddress1688(); InitProgress(1); });
Task.Run(() => { FromTitleToCat.Ini(); InitProgress(1); });
@@ -815,32 +818,32 @@ offCountPara,false;offProductPara,100;IrregularitiesPara,true;noNeerPara,true;no
try
{
//加载违规商品Id
string idslines = File.ReadAllText("temp/ids.dll", Encoding.Default);
if (!string.IsNullOrEmpty(idslines))
{
foreach (string s in idslines.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries))
{
if (string.IsNullOrEmpty(s) || s == "0" || s.Contains("?") || s.Contains("@"))
continue;
if (s.Trim().Length < 2)
continue;
UploadPinduoduoMain.RuleIds.Add(s);
}
}
//加载违规商品标题
string tidslines = File.ReadAllText("temp/tids.dll", Encoding.Default);
if (!string.IsNullOrEmpty(tidslines))
{
foreach (string s in tidslines.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries))
{
if (string.IsNullOrEmpty(s) || s == "0")
continue;
if (s.Trim().Length < 2)
continue;
UploadPinduoduoMain.RuleTitles.Add(s);
}
}
////加载违规商品Id
//string idslines = File.ReadAllText("temp/ids.dll", Encoding.Default);
//if (!string.IsNullOrEmpty(idslines))
//{
// foreach (string s in idslines.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries))
// {
// if (string.IsNullOrEmpty(s) || s == "0" || s.Contains("?") || s.Contains("@"))
// continue;
// if (s.Trim().Length < 2)
// continue;
// UploadPinduoduoMain.RuleIds.Add(s);
// }
//}
////加载违规商品标题
//string tidslines = File.ReadAllText("temp/tids.dll", Encoding.Default);
//if (!string.IsNullOrEmpty(tidslines))
//{
// foreach (string s in tidslines.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries))
// {
// if (string.IsNullOrEmpty(s) || s == "0")
// continue;
// if (s.Trim().Length < 2)
// continue;
// UploadPinduoduoMain.RuleTitles.Add(s);
// }
//}
InitProgress(1);
}
@@ -865,7 +868,7 @@ offCountPara,false;offProductPara,100;IrregularitiesPara,true;noNeerPara,true;no
// AlibabaShop.NoTitleWords.Add(s.Trim());
// }
//
// InitProgress(1);
InitProgress(1);
//}
//lines = File.ReadAllText("config/属性过滤词x.ini", Encoding.Default);
@@ -882,7 +885,7 @@ offCountPara,false;offProductPara,100;IrregularitiesPara,true;noNeerPara,true;no
//AlibabaShop.NoPropWords.Add(s.Trim());
//}
//InitProgress(1);
InitProgress(1);
//}
//lines = File.ReadAllText("config/品牌属性过滤x.ini", Encoding.Default);
//if (!string.IsNullOrEmpty(lines))
@@ -898,7 +901,7 @@ offCountPara,false;offProductPara,100;IrregularitiesPara,true;noNeerPara,true;no
//AlibabaShop.NoBrandName.Add(s.Trim());
//}
//InitProgress(1);
InitProgress(1);
//}
//lines = File.ReadAllText("config/标题包含过滤x.ini", Encoding.Default);
//if (!string.IsNullOrEmpty(lines))
+33 -34
View File
@@ -40,42 +40,41 @@ namespace Work.ManageClass
}
public void getAddress1688()
{
string strContent = FileBase.ReadAllText("1688_address.tjm");
strContent = GetHtml.UrlDecode(strContent);
var m = BaseRegex.GetMatchRegex(ref strContent, @"{[^}]+?}");
for (int i = 0; m != null && i < m.Count; i++)
{
//string strContent = FileBase.ReadAllText("1688_address.tjm");
//strContent = GetHtml.UrlDecode(strContent);
//var m = BaseRegex.GetMatchRegex(ref strContent, @"{[^}]+?}");
//for (int i = 0; m != null && i < m.Count; i++)
//{
string addressContent = m[i].Groups[0].Value;
AddressBase a = new AddressBase();
string[] addressArray = addressContent.Split(',');
for (int j = 0; j < addressArray.Length; j++)
{
var itemMatch = BaseRegex.GetMatchRegex(ref addressArray[j], @"([\w\W]+?):([\w\W]+)");
string itemname = itemMatch[0].Groups[1].Value.Replace("{", "");
string itemvalue = itemMatch[0].Groups[2].Value.Replace("\"", "").Replace("}", "");
if (itemname == "a")
{
a.Id = int.Parse(itemvalue);
}
if (itemname == "n")
{
a.Name = itemvalue;
}
if (itemname == "p")
{
a.UpId = int.Parse(itemvalue);
}
}
AddressAllList.Add(a);
if (!Addressdic.ContainsKey(a.Id))
Addressdic.Add(a.Id, new List<AddressBase>());
if (!Addressdic.ContainsKey(a.UpId))
Addressdic.Add(a.UpId, new List<AddressBase>());
Addressdic[a.UpId].Add(a);
}
// string addressContent = m[i].Groups[0].Value;
// AddressBase a = new AddressBase();
// string[] addressArray = addressContent.Split(',');
// for (int j = 0; j < addressArray.Length; j++)
// {
// var itemMatch = BaseRegex.GetMatchRegex(ref addressArray[j], @"([\w\W]+?):([\w\W]+)");
// string itemname = itemMatch[0].Groups[1].Value.Replace("{", "");
// string itemvalue = itemMatch[0].Groups[2].Value.Replace("\"", "").Replace("}", "");
// if (itemname == "a")
// {
// a.Id = int.Parse(itemvalue);
// }
// if (itemname == "n")
// {
// a.Name = itemvalue;
// }
// if (itemname == "p")
// {
// a.UpId = int.Parse(itemvalue);
// }
// }
// AddressAllList.Add(a);
// if (!Addressdic.ContainsKey(a.Id))
// Addressdic.Add(a.Id, new List<AddressBase>());
// if (!Addressdic.ContainsKey(a.UpId))
// Addressdic.Add(a.UpId, new List<AddressBase>());
// Addressdic[a.UpId].Add(a);
//}
}
}
public class AddressBase