pdd上货逻辑继续优化 temu选品数据店铺筛选功能
This commit is contained in:
1 parent
0e6a034d5f
commit
b868c718f0
19 files changed
+562
-271
No files matched your search
@@ -195,6 +195,7 @@
|
||||
<Compile Include="Model\Param\TemuProductManage\TemuProductWords.cs" />
|
||||
<Compile Include="Model\Param\TemuProductManage\TemuSizeSpecParam.cs" />
|
||||
<Compile Include="Model\Result\PDDResult\PDDChanceProductInfo.cs" />
|
||||
<Compile Include="Model\Result\PDDResult\PDDMaterialInfo.cs" />
|
||||
<Compile Include="Model\Result\PDDResult\PDDProductDecorationInfo.cs" />
|
||||
<Compile Include="Model\Result\PDDResult\PDDProductDetailInfo.cs" />
|
||||
<Compile Include="Model\Result\PDDResult\PDDProductInfo.cs" />
|
||||
|
||||
@@ -27,8 +27,8 @@ namespace AllBase
|
||||
/// <summary>
|
||||
/// 版本ID
|
||||
/// </summary>
|
||||
public static int VersionCount = 593;
|
||||
//public static int VersionCount = 593;
|
||||
public static int VersionCount = 596;
|
||||
//public static int VersionCount = 596;
|
||||
|
||||
/// <summary>
|
||||
/// 版本号
|
||||
|
||||
@@ -0,0 +1,17 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace AllBase.Model.Result.PDDResult
|
||||
{
|
||||
public class PDDMaterialInfo
|
||||
{
|
||||
public long? latest_material_id { get; set; }
|
||||
public string latest_material { get; set; }
|
||||
public int? check_status { get; set; }
|
||||
public object check_comment { get; set; }
|
||||
public string online_material { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -12,5 +12,13 @@ namespace AllBase.Model.Result.PDDResult
|
||||
public PDDSizeSpecInfo size { get; set; }
|
||||
public PDDProductDecorationInfo decoration { get; set; }
|
||||
public PDDProductPropertyInfo property { get; set; }
|
||||
/// <summary>
|
||||
/// 白底图
|
||||
/// </summary>
|
||||
public PDDMaterialInfo material1 { get; set; }
|
||||
/// <summary>
|
||||
/// 长图
|
||||
/// </summary>
|
||||
public PDDMaterialInfo material3 { get; set; }
|
||||
}
|
||||
}
|
||||
+84
-4
@@ -14,6 +14,79 @@ namespace TemuKJD.BLL
|
||||
{
|
||||
public class ShopBLL
|
||||
{
|
||||
public static string AddServerShop(ShopLoginInfo _shop)
|
||||
{
|
||||
var url = BaseClass.BuildObjString("shop/add_shop");
|
||||
var data = UserLogin.GetSignaturex()
|
||||
+ "&login_name=" + _shop.LoginName
|
||||
+ "&login_pass=" + GetHtml.UrlEncodeUtf8(_shop.Password)
|
||||
+ "&shop_id=" + _shop.ShopId
|
||||
+ "&shop_account=" + _shop.ShopAccount
|
||||
+ "&cookie=" + _shop.Cookies
|
||||
+ "&cookie2=" + _shop.Cookies2
|
||||
+ "&shop_group=" + GetHtml.UrlEncodeUtf8(_shop.GroupName)
|
||||
+ "&sub_user_name=" + GetHtml.UrlEncodeUtf8(_shop.SubUserName)
|
||||
+ "¬es=" + GetHtml.UrlEncodeUtf8(_shop.Notes)
|
||||
+ "&login_status=" + _shop.LoginStatus
|
||||
+ "&anti_contents=" + JsonHelper.SerializeObject(_shop.AntiContents);
|
||||
|
||||
var result = GetHtml.PostUtf8(url, data);
|
||||
if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在"))
|
||||
result = GetHtml.PostUtf8(url, data);
|
||||
if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在"))
|
||||
result = GetHtml.PostUtf8(url, data);
|
||||
if (!result.Contains("\"code\":200"))
|
||||
{
|
||||
var msg = BaseRegex.GetStringJson(ref result, "msg");
|
||||
if (string.IsNullOrEmpty(msg))
|
||||
msg = "店铺保存失败!";
|
||||
BaseMsgForm.ShowError(msg);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 更新店铺子账号和分组备注信息
|
||||
/// </summary>
|
||||
/// <param name="_shop"></param>
|
||||
/// <returns></returns>
|
||||
public static string MdyServerShopSubInfo(ShopLoginInfo _shop)
|
||||
{
|
||||
var url = BaseClass.BuildObjString("shop/mdy_shop");
|
||||
var data = UserLogin.GetSignaturex()
|
||||
+ "&login_name=" + _shop.LoginName
|
||||
+ "&login_pass=" + GetHtml.UrlEncodeUtf8(_shop.Password)
|
||||
+ "&shop_group=" + GetHtml.UrlEncodeUtf8(_shop.GroupName)
|
||||
+ "&sub_user_name=" + _shop.SubUserName
|
||||
+ "¬es=" + GetHtml.UrlEncodeUtf8(_shop.Notes);
|
||||
|
||||
var result = GetHtml.PostUtf8(url, data);
|
||||
if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在"))
|
||||
result = GetHtml.PostUtf8(url, data);
|
||||
if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在"))
|
||||
result = GetHtml.PostUtf8(url, data);
|
||||
if (!result.Contains("\"code\":200"))
|
||||
{
|
||||
var msg = BaseRegex.GetStringJson(ref result, "msg");
|
||||
if (string.IsNullOrEmpty(msg))
|
||||
msg = "店铺保存失败!";
|
||||
BaseMsgForm.ShowError(msg);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static string MdyAntiContent(ShopLoginInfo shop)
|
||||
{
|
||||
var urlAddress = BaseClass.BuildObjString("shop/mdy_anti_content");
|
||||
var data = UserLogin.GetSignaturex()
|
||||
+ "&login_name=" + shop.LoginName
|
||||
+ "&shop_id=" + shop.ShopId
|
||||
+ "&anti_contents=[]"; //+ JsonHelper.SerializeObject(shop.AntiContents);
|
||||
var result = GetHtml.PostUtf8(urlAddress, data);
|
||||
NaiBa.Util.Helper.ConfigHelper.SaveConfig("verifi_code\\" + shop.ShopId, JsonHelper.SerializeObject(shop.AntiContents));
|
||||
return result;
|
||||
}
|
||||
|
||||
public static List<ShopLoginInfo> AdminGetServerShopLstByIds(List<string> shop_ids)
|
||||
{
|
||||
List<ShopLoginInfo> list = new List<ShopLoginInfo>();
|
||||
@@ -66,16 +139,17 @@ namespace TemuKJD.BLL
|
||||
{
|
||||
var url = BaseClass.BuildObjString("shop/admin_add_shop");
|
||||
var data = UserLogin.GetSignaturex()
|
||||
+ "&shop_user_name=" + _shop.UserName
|
||||
+ "&login_name=" + _shop.LoginName
|
||||
+ "&login_pass=" + GetHtml.UrlEncodeUtf8(_shop.Password)
|
||||
+ "&shop_id=" + _shop.ShopId
|
||||
+ "&shop_account=" + _shop.ShopAccount
|
||||
+ "&cookie=" + _shop.Cookies
|
||||
+ "&cookie2=" + _shop.Cookies2
|
||||
+ "&shop_group=" + GetHtml.UrlEncodeUtf8(_shop.GroupName)
|
||||
+ "&sub_user_name=" + GetHtml.UrlEncodeUtf8(_shop.SubUserName)
|
||||
+ "¬es=" + GetHtml.UrlEncodeUtf8(_shop.Notes)
|
||||
+ "&login_status=" + _shop.LoginStatus;
|
||||
+ "&login_status=" + _shop.LoginStatus
|
||||
+ "&shop_user_name=" + _shop.UserName;
|
||||
|
||||
var result = GetHtml.PostUtf8(url, data);
|
||||
if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在"))
|
||||
@@ -162,8 +236,6 @@ namespace TemuKJD.BLL
|
||||
//shop.Cookies2 = BaseRegex.GetStringJson(ref shopStr, "cookie2").ParseToString();
|
||||
shop.Cookies2 = jObj["cookie2"].ToString();
|
||||
shop.Cookies2 = shop.Cookies2.Replace("&", "&").Replace("%", "%").Replace("+", "+");
|
||||
shop.AntiContents.Clear();
|
||||
shop.AntiContents.AddRange(JsonHelper.DeserializeJsonToList<string>(jObj["anti_contents"].IsNullOrEmpty() ? "[]" : jObj["anti_contents"].ToString()));
|
||||
shop.CompanyName = BaseRegex.GetStringJson(ref shopStr, "company_name");
|
||||
shop.Notes = BaseRegex.GetStringJson(ref shopStr, "notes");
|
||||
shop.LoginStatus = BaseRegex.GetStringJson(ref shopStr, "login_status");
|
||||
@@ -171,6 +243,14 @@ namespace TemuKJD.BLL
|
||||
shop.OperateSubSaName = BaseRegex.GetStringJson(ref shopStr, "operate_sub_sa_name");
|
||||
shop.AddProductRemaining = BaseRegex.GetIntJson(ref shopStr, "add_product_remaining");
|
||||
|
||||
if (BaseClass.MainPath == "binxixi")
|
||||
{
|
||||
shop.AntiContents.Clear();
|
||||
//shop.AntiContents.AddRange(JsonHelper.DeserializeJsonToList<string>(jObj["anti_contents"].IsNullOrEmpty() ? "[]" : jObj["anti_contents"].ToString()));
|
||||
shop.AntiContents = NaiBa.Util.Helper.ConfigHelper.LoadConfig<NaiBa.Util.ConcurrentList<string>>("verifi_code\\" + shop.ShopId);
|
||||
if (shop.AntiContents == null)
|
||||
shop.AntiContents = new NaiBa.Util.ConcurrentList<string>();
|
||||
}
|
||||
list.Add(shop);
|
||||
}
|
||||
return list;
|
||||
|
||||
@@ -30,11 +30,11 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
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 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();
|
||||
this.splitContainer1 = new System.Windows.Forms.SplitContainer();
|
||||
this.ucGroupBoxEx4 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
|
||||
this.pnlEmpty = new DevComponents.DotNetBar.PanelEx();
|
||||
@@ -98,6 +98,9 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
this.btnClear = new DevComponents.DotNetBar.PanelEx();
|
||||
this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
|
||||
this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
|
||||
this.txtFilter = new System.Windows.Forms.TextBox();
|
||||
this.btnFilter = new DevComponents.DotNetBar.PanelEx();
|
||||
this.btnRestore = new DevComponents.DotNetBar.PanelEx();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
@@ -439,6 +442,9 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
| System.Windows.Forms.AnchorStyles.Left)));
|
||||
this.ucGroupBoxEx1.BorderColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.ucGroupBoxEx1.BorderStyle = TemuKJD.UserComponent.UcGroupBoxEx.GroupBoxBorderStyle.ROUND;
|
||||
this.ucGroupBoxEx1.Controls.Add(this.btnRestore);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.btnFilter);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.txtFilter);
|
||||
this.ucGroupBoxEx1.Controls.Add(this.btnRefreshShop);
|
||||
this.ucGroupBoxEx1.Location = new System.Drawing.Point(3, 2);
|
||||
this.ucGroupBoxEx1.Name = "ucGroupBoxEx1";
|
||||
@@ -516,18 +522,18 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
//
|
||||
this.dgvShop.AllowUserToAddRows = false;
|
||||
this.dgvShop.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle1.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle1;
|
||||
dataGridViewCellStyle11.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvShop.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle11;
|
||||
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;
|
||||
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.dgvShop.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle12;
|
||||
this.dgvShop.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvShop.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colSelect,
|
||||
@@ -644,18 +650,18 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
//
|
||||
this.dgvSelectProduct.AllowUserToAddRows = false;
|
||||
this.dgvSelectProduct.AllowUserToDeleteRows = false;
|
||||
dataGridViewCellStyle3.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle3;
|
||||
dataGridViewCellStyle13.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.dgvSelectProduct.AlternatingRowsDefaultCellStyle = dataGridViewCellStyle13;
|
||||
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;
|
||||
dataGridViewCellStyle14.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft;
|
||||
dataGridViewCellStyle14.BackColor = System.Drawing.SystemColors.Control;
|
||||
dataGridViewCellStyle14.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
dataGridViewCellStyle14.ForeColor = System.Drawing.SystemColors.WindowText;
|
||||
dataGridViewCellStyle14.SelectionBackColor = System.Drawing.SystemColors.Highlight;
|
||||
dataGridViewCellStyle14.SelectionForeColor = System.Drawing.SystemColors.HighlightText;
|
||||
dataGridViewCellStyle14.WrapMode = System.Windows.Forms.DataGridViewTriState.False;
|
||||
this.dgvSelectProduct.ColumnHeadersDefaultCellStyle = dataGridViewCellStyle14;
|
||||
this.dgvSelectProduct.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
|
||||
this.dgvSelectProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colCheck,
|
||||
@@ -774,8 +780,8 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
//
|
||||
// colProductName
|
||||
//
|
||||
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductName.DefaultCellStyle = dataGridViewCellStyle5;
|
||||
dataGridViewCellStyle15.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.colProductName.DefaultCellStyle = dataGridViewCellStyle15;
|
||||
this.colProductName.HeaderText = "商品标题";
|
||||
this.colProductName.Name = "colProductName";
|
||||
this.colProductName.ReadOnly = true;
|
||||
@@ -915,14 +921,74 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
//
|
||||
this.ucSplitPage1.CurrentPage = 1;
|
||||
this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.ucSplitPage1.IsShowPageSize = false;
|
||||
this.ucSplitPage1.Location = new System.Drawing.Point(114, 0);
|
||||
this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.ucSplitPage1.Name = "ucSplitPage1";
|
||||
this.ucSplitPage1.Padding = new System.Windows.Forms.Padding(0, 0, 1, 0);
|
||||
this.ucSplitPage1.PageSize = 50;
|
||||
this.ucSplitPage1.Size = new System.Drawing.Size(573, 26);
|
||||
this.ucSplitPage1.TabIndex = 675;
|
||||
this.ucSplitPage1.TotalPage = 1;
|
||||
//
|
||||
// txtFilter
|
||||
//
|
||||
this.txtFilter.Location = new System.Drawing.Point(17, 59);
|
||||
this.txtFilter.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
|
||||
this.txtFilter.Name = "txtFilter";
|
||||
this.txtFilter.Size = new System.Drawing.Size(110, 23);
|
||||
this.txtFilter.TabIndex = 482;
|
||||
//
|
||||
// btnFilter
|
||||
//
|
||||
this.btnFilter.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.btnFilter.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnFilter.Cursor = System.Windows.Forms.Cursors.Hand;
|
||||
this.btnFilter.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnFilter.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnFilter.Location = new System.Drawing.Point(17, 86);
|
||||
this.btnFilter.Name = "btnFilter";
|
||||
this.btnFilter.Size = new System.Drawing.Size(67, 24);
|
||||
this.btnFilter.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnFilter.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnFilter.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnFilter.Style.BorderColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelBorder;
|
||||
this.btnFilter.Style.BorderDashStyle = System.Drawing.Drawing2D.DashStyle.Dash;
|
||||
this.btnFilter.Style.BorderSide = DevComponents.DotNetBar.eBorderSide.None;
|
||||
this.btnFilter.Style.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnFilter.Style.GradientAngle = 90;
|
||||
this.btnFilter.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnFilter.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnFilter.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(102)))), ((int)(((byte)(255)))));
|
||||
this.btnFilter.TabIndex = 486;
|
||||
this.btnFilter.Text = "筛选店铺";
|
||||
this.btnFilter.Click += new System.EventHandler(this.btnFilter_Click);
|
||||
//
|
||||
// btnRestore
|
||||
//
|
||||
this.btnRestore.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.btnRestore.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.btnRestore.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.btnRestore.Location = new System.Drawing.Point(86, 87);
|
||||
this.btnRestore.Margin = new System.Windows.Forms.Padding(4, 2, 2, 2);
|
||||
this.btnRestore.Name = "btnRestore";
|
||||
this.btnRestore.Size = new System.Drawing.Size(41, 23);
|
||||
this.btnRestore.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnRestore.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.btnRestore.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
|
||||
this.btnRestore.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
|
||||
this.btnRestore.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnRestore.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
|
||||
this.btnRestore.Style.GradientAngle = 90;
|
||||
this.btnRestore.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnRestore.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
|
||||
this.btnRestore.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnRestore.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
|
||||
this.btnRestore.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
|
||||
this.btnRestore.TabIndex = 508;
|
||||
this.btnRestore.Text = "还原";
|
||||
this.btnRestore.Click += new System.EventHandler(this.btnRestore_Click);
|
||||
//
|
||||
// DbProductUserSelectForm
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
@@ -941,6 +1007,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
this.ucGroupBoxEx4.ResumeLayout(false);
|
||||
this.ucGroupBoxEx4.PerformLayout();
|
||||
this.ucGroupBoxEx1.ResumeLayout(false);
|
||||
this.ucGroupBoxEx1.PerformLayout();
|
||||
this.splitContainer3.Panel1.ResumeLayout(false);
|
||||
this.splitContainer3.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer3)).EndInit();
|
||||
@@ -1025,5 +1092,8 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colCanUse;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colRemaining;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colMessage;
|
||||
private System.Windows.Forms.TextBox txtFilter;
|
||||
private DevComponents.DotNetBar.PanelEx btnRestore;
|
||||
private DevComponents.DotNetBar.PanelEx btnFilter;
|
||||
}
|
||||
}
|
||||
@@ -528,5 +528,33 @@ namespace TemuKJD.KJDForms.ProductSelectForms
|
||||
{
|
||||
ShowDgvImg();
|
||||
}
|
||||
|
||||
private void btnFilter_Click(object sender, EventArgs e)
|
||||
{
|
||||
var filterText = txtFilter.Text.Trim();
|
||||
foreach(DataGridViewRow row in this.dgvShop.Rows)
|
||||
{
|
||||
if (row.Cells["colShopId"].Value.ParseToString().Contains(filterText) ||
|
||||
row.Cells["colShopName"].Value.ParseToString().Contains(filterText) ||
|
||||
row.Cells["colShopNotes"].Value.ParseToString().Contains(filterText))
|
||||
{
|
||||
row.Visible = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
row.Visible = false;
|
||||
row.Cells["colSelect"].Value = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void btnRestore_Click(object sender, EventArgs e)
|
||||
{
|
||||
txtFilter.Text = "";
|
||||
foreach (DataGridViewRow row in this.dgvShop.Rows)
|
||||
{
|
||||
row.Visible = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -33,61 +33,6 @@ namespace TemuKJD.KJDForms.ShopForms
|
||||
private bool isLoading { get; set; } = false;
|
||||
|
||||
#region 服务端店铺管理
|
||||
public static string AddServerDouShop(ShopLoginInfo _shop)
|
||||
{
|
||||
var url = BaseClass.BuildObjString("shop/add_shop");
|
||||
var data = UserLogin.GetSignaturex()
|
||||
+ "&login_name=" + _shop.LoginName
|
||||
+ "&login_pass=" + GetHtml.UrlEncodeUtf8(_shop.Password)
|
||||
+ "&shop_id=" + _shop.ShopId
|
||||
+ "&shop_account=" + _shop.ShopAccount
|
||||
+ "&cookie=" + _shop.Cookies
|
||||
+ "&cookie2=" + _shop.Cookies2
|
||||
+ "&shop_group=" + GetHtml.UrlEncodeUtf8(_shop.GroupName)
|
||||
+ "&sub_user_name=" + GetHtml.UrlEncodeUtf8(_shop.SubUserName)
|
||||
+ "¬es=" + GetHtml.UrlEncodeUtf8(_shop.Notes)
|
||||
+ "&login_status=" + _shop.LoginStatus;
|
||||
|
||||
var result = GetHtml.PostUtf8(url, data);
|
||||
if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在"))
|
||||
result = GetHtml.PostUtf8(url, data);
|
||||
if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在"))
|
||||
result = GetHtml.PostUtf8(url, data);
|
||||
if (!result.Contains("\"code\":200"))
|
||||
{
|
||||
var msg = BaseRegex.GetStringJson(ref result, "msg");
|
||||
if (string.IsNullOrEmpty(msg))
|
||||
msg = "店铺保存失败!";
|
||||
BaseMsgForm.ShowError(msg);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static string MdyServerDouShop(ShopLoginInfo _shop)
|
||||
{
|
||||
var url = BaseClass.BuildObjString("shop/mdy_shop");
|
||||
var data = UserLogin.GetSignaturex()
|
||||
+ "&login_name=" + _shop.LoginName
|
||||
+ "&login_pass=" + GetHtml.UrlEncodeUtf8(_shop.Password)
|
||||
+ "&shop_group=" + GetHtml.UrlEncodeUtf8(_shop.GroupName)
|
||||
+ "&sub_user_name=" + _shop.SubUserName
|
||||
+ "¬es=" + GetHtml.UrlEncodeUtf8(_shop.Notes);
|
||||
|
||||
var result = GetHtml.PostUtf8(url, data);
|
||||
if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在"))
|
||||
result = GetHtml.PostUtf8(url, data);
|
||||
if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在"))
|
||||
result = GetHtml.PostUtf8(url, data);
|
||||
if (!result.Contains("\"code\":200"))
|
||||
{
|
||||
var msg = BaseRegex.GetStringJson(ref result, "msg");
|
||||
if (string.IsNullOrEmpty(msg))
|
||||
msg = "店铺保存失败!";
|
||||
BaseMsgForm.ShowError(msg);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static void UpdateShop()
|
||||
{
|
||||
// 获取本地店铺和服务端店铺。将服务端相关信息与本地店铺合并后暂时存在内存中(不保存敏感信息)。
|
||||
@@ -327,13 +272,13 @@ namespace TemuKJD.KJDForms.ShopForms
|
||||
}
|
||||
else
|
||||
{
|
||||
ShopListForm.AddServerDouShop(shopInfo);
|
||||
ShopBLL.AddServerShop(shopInfo);
|
||||
btnRefreshCookie_Click(null, null);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ShopListForm.MdyServerDouShop(shopInfo);
|
||||
ShopBLL.MdyServerShopSubInfo(shopInfo);
|
||||
btnRefreshCookie_Click(null, null);
|
||||
}
|
||||
}
|
||||
@@ -417,7 +362,7 @@ namespace TemuKJD.KJDForms.ShopForms
|
||||
else
|
||||
GlobalConfig.ShopLoginList.Add(shop);
|
||||
StartUp.SaveLocalShopLoginInfo();
|
||||
ShopListForm.AddServerDouShop(shop);
|
||||
ShopBLL.AddServerShop(shop);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ using System.Windows.Forms;
|
||||
using Work;
|
||||
using Work.BLL.Tools;
|
||||
using TemuKJD.KJDForms.AdminForms;
|
||||
using TemuKJD.BLL;
|
||||
|
||||
namespace TemuKJD.KJDForms.ShopForms
|
||||
{
|
||||
@@ -169,7 +170,7 @@ namespace TemuKJD.KJDForms.ShopForms
|
||||
if (oldShop == null)
|
||||
{
|
||||
GlobalConfig.ShopLoginList.Add(newShop);
|
||||
ShopListForm.AddServerDouShop(newShop); // 店铺写入到服务端
|
||||
ShopBLL.AddServerShop(newShop); // 店铺写入到服务端
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -276,7 +277,7 @@ namespace TemuKJD.KJDForms.ShopForms
|
||||
if (oldShop == null)
|
||||
{
|
||||
GlobalConfig.ShopLoginList.Add(newShop);
|
||||
ShopListForm.AddServerDouShop(newShop); // 店铺写入到服务端
|
||||
ShopBLL.AddServerShop(newShop); // 店铺写入到服务端
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -313,7 +313,7 @@ namespace TemuKJD.KJDForms.ShopForms
|
||||
if (updateFrom != SetCookieFromEnum.normal_user)
|
||||
ShopBLL.AdminAddServerShop(newShop); // 店铺写入到服务端
|
||||
else
|
||||
ShopListForm.AddServerDouShop(newShop); // 店铺写入到服务端
|
||||
ShopBLL.AddServerShop(newShop); // 店铺写入到服务端
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -188,13 +188,8 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
}
|
||||
else
|
||||
{
|
||||
shop.AntiContents = newShop.AntiContents;
|
||||
var urlAddress = BaseClass.BuildObjString("shop/mdy_anti_content");
|
||||
var data = UserLogin.GetSignaturex()
|
||||
+ "&login_name=" + shop.LoginName
|
||||
+ "&shop_id=" + shop.ShopId
|
||||
+ "&anti_contents=" + JsonHelper.SerializeObject(newShop.AntiContents);
|
||||
var result = GetHtml.PostUtf8(urlAddress, data);
|
||||
shop.AntiContents.AddRange(newShop.AntiContents);
|
||||
ShopBLL.MdyAntiContent(shop);
|
||||
}
|
||||
}
|
||||
shop.Cookies = cookies;
|
||||
@@ -508,15 +503,9 @@ namespace TemuKJD.PDDForms.AdminForms
|
||||
if (!string.IsNullOrEmpty(shop.ShopId) && GetAntiContentsTimes > 50)
|
||||
{
|
||||
GetAntiContentsTimes = 0;
|
||||
var antis = shop.AntiContents;
|
||||
Task.Run(() =>
|
||||
{
|
||||
var urlAddress = BaseClass.BuildObjString("shop/mdy_anti_content");
|
||||
var data = UserLogin.GetSignaturex()
|
||||
+ "&login_name=" + shop.LoginName
|
||||
+ "&shop_id=" + shop.ShopId
|
||||
+ "&anti_contents=" + JsonHelper.SerializeObject(antis);
|
||||
var result = GetHtml.PostUtf8(urlAddress, data);
|
||||
ShopBLL.MdyAntiContent(shop);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
+75
-49
@@ -59,8 +59,11 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
|
||||
this.pbLoading = new System.Windows.Forms.PictureBox();
|
||||
this.dgvDbProduct = new TemuKJD.UserComponent.DataGridViewEx();
|
||||
this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
|
||||
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
|
||||
this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn();
|
||||
this.col_db_id = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colFromShopId = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.col_product_name = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colImgUrl = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colMainImg = new System.Windows.Forms.DataGridViewImageColumn();
|
||||
@@ -75,11 +78,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.colEndWords = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colFissionWords = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colAddTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.colMdyTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
|
||||
this.col_edit = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.col_delete = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.col_select_product = new System.Windows.Forms.DataGridViewLinkColumn();
|
||||
this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
|
||||
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
|
||||
this.splitContainer1.Panel1.SuspendLayout();
|
||||
this.splitContainer1.Panel2.SuspendLayout();
|
||||
@@ -110,8 +112,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.splitContainer1.Panel1.Controls.Add(this.lblNotes);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.txtSPU);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.label5);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.txtSKC);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.label1);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.pnlEmpty);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.btnSearch);
|
||||
this.splitContainer1.Panel1.Controls.Add(this.txtExtCode);
|
||||
@@ -153,7 +153,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.cmbSort.Items.AddRange(new object[] {
|
||||
"入库时间",
|
||||
"认领总数"});
|
||||
this.cmbSort.Location = new System.Drawing.Point(1001, 15);
|
||||
this.cmbSort.Location = new System.Drawing.Point(887, 16);
|
||||
this.cmbSort.Name = "cmbSort";
|
||||
this.cmbSort.Size = new System.Drawing.Size(79, 25);
|
||||
this.cmbSort.TabIndex = 448;
|
||||
@@ -179,7 +179,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
//
|
||||
// txtNotes
|
||||
//
|
||||
this.txtNotes.Location = new System.Drawing.Point(683, 16);
|
||||
this.txtNotes.Location = new System.Drawing.Point(569, 17);
|
||||
this.txtNotes.Name = "txtNotes";
|
||||
this.txtNotes.Size = new System.Drawing.Size(90, 23);
|
||||
this.txtNotes.TabIndex = 439;
|
||||
@@ -187,7 +187,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
// lblNotes
|
||||
//
|
||||
this.lblNotes.AutoSize = true;
|
||||
this.lblNotes.Location = new System.Drawing.Point(649, 19);
|
||||
this.lblNotes.Location = new System.Drawing.Point(535, 20);
|
||||
this.lblNotes.Name = "lblNotes";
|
||||
this.lblNotes.Size = new System.Drawing.Size(44, 17);
|
||||
this.lblNotes.TabIndex = 440;
|
||||
@@ -195,7 +195,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
//
|
||||
// txtSPU
|
||||
//
|
||||
this.txtSPU.Location = new System.Drawing.Point(44, 16);
|
||||
this.txtSPU.Location = new System.Drawing.Point(57, 16);
|
||||
this.txtSPU.Name = "txtSPU";
|
||||
this.txtSPU.Size = new System.Drawing.Size(90, 23);
|
||||
this.txtSPU.TabIndex = 434;
|
||||
@@ -205,32 +205,34 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.label5.AutoSize = true;
|
||||
this.label5.Location = new System.Drawing.Point(11, 19);
|
||||
this.label5.Name = "label5";
|
||||
this.label5.Size = new System.Drawing.Size(43, 17);
|
||||
this.label5.Size = new System.Drawing.Size(57, 17);
|
||||
this.label5.TabIndex = 435;
|
||||
this.label5.Text = "SPU:";
|
||||
this.label5.Text = "商品ID:";
|
||||
//
|
||||
// txtSKC
|
||||
//
|
||||
this.txtSKC.Location = new System.Drawing.Point(171, 16);
|
||||
this.txtSKC.Location = new System.Drawing.Point(87, 80);
|
||||
this.txtSKC.Name = "txtSKC";
|
||||
this.txtSKC.Size = new System.Drawing.Size(90, 23);
|
||||
this.txtSKC.TabIndex = 432;
|
||||
this.txtSKC.Visible = false;
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(138, 19);
|
||||
this.label1.Location = new System.Drawing.Point(54, 83);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(43, 17);
|
||||
this.label1.TabIndex = 433;
|
||||
this.label1.Text = "SKC:";
|
||||
this.label1.Visible = false;
|
||||
//
|
||||
// pnlEmpty
|
||||
//
|
||||
this.pnlEmpty.CanvasColor = System.Drawing.SystemColors.Control;
|
||||
this.pnlEmpty.ColorSchemeStyle = DevComponents.DotNetBar.eDotNetBarStyle.StyleManagerControlled;
|
||||
this.pnlEmpty.DisabledBackColor = System.Drawing.Color.Empty;
|
||||
this.pnlEmpty.Location = new System.Drawing.Point(843, 14);
|
||||
this.pnlEmpty.Location = new System.Drawing.Point(729, 15);
|
||||
this.pnlEmpty.Name = "pnlEmpty";
|
||||
this.pnlEmpty.Size = new System.Drawing.Size(56, 26);
|
||||
this.pnlEmpty.Style.Alignment = System.Drawing.StringAlignment.Center;
|
||||
@@ -256,7 +258,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.btnSearch.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.btnSearch.ForeColor = System.Drawing.Color.White;
|
||||
this.btnSearch.Location = new System.Drawing.Point(782, 14);
|
||||
this.btnSearch.Location = new System.Drawing.Point(668, 15);
|
||||
this.btnSearch.Margin = new System.Windows.Forms.Padding(2);
|
||||
this.btnSearch.Name = "btnSearch";
|
||||
this.btnSearch.Size = new System.Drawing.Size(56, 26);
|
||||
@@ -267,7 +269,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
//
|
||||
// txtExtCode
|
||||
//
|
||||
this.txtExtCode.Location = new System.Drawing.Point(555, 16);
|
||||
this.txtExtCode.Location = new System.Drawing.Point(441, 17);
|
||||
this.txtExtCode.Name = "txtExtCode";
|
||||
this.txtExtCode.Size = new System.Drawing.Size(90, 23);
|
||||
this.txtExtCode.TabIndex = 429;
|
||||
@@ -275,7 +277,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
// label4
|
||||
//
|
||||
this.label4.AutoSize = true;
|
||||
this.label4.Location = new System.Drawing.Point(521, 19);
|
||||
this.label4.Location = new System.Drawing.Point(407, 20);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(44, 17);
|
||||
this.label4.TabIndex = 430;
|
||||
@@ -283,7 +285,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
//
|
||||
// txtProdName
|
||||
//
|
||||
this.txtProdName.Location = new System.Drawing.Point(427, 16);
|
||||
this.txtProdName.Location = new System.Drawing.Point(313, 17);
|
||||
this.txtProdName.Name = "txtProdName";
|
||||
this.txtProdName.Size = new System.Drawing.Size(90, 23);
|
||||
this.txtProdName.TabIndex = 427;
|
||||
@@ -291,7 +293,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(393, 19);
|
||||
this.label3.Location = new System.Drawing.Point(279, 20);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(44, 17);
|
||||
this.label3.TabIndex = 428;
|
||||
@@ -299,7 +301,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
//
|
||||
// txtCat
|
||||
//
|
||||
this.txtCat.Location = new System.Drawing.Point(299, 16);
|
||||
this.txtCat.Location = new System.Drawing.Point(185, 17);
|
||||
this.txtCat.Name = "txtCat";
|
||||
this.txtCat.Size = new System.Drawing.Size(90, 23);
|
||||
this.txtCat.TabIndex = 425;
|
||||
@@ -307,7 +309,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(265, 19);
|
||||
this.label2.Location = new System.Drawing.Point(151, 20);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(44, 17);
|
||||
this.label2.TabIndex = 426;
|
||||
@@ -316,7 +318,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
// label6
|
||||
//
|
||||
this.label6.AutoSize = true;
|
||||
this.label6.Location = new System.Drawing.Point(944, 19);
|
||||
this.label6.Location = new System.Drawing.Point(830, 20);
|
||||
this.label6.Name = "label6";
|
||||
this.label6.Size = new System.Drawing.Size(68, 17);
|
||||
this.label6.TabIndex = 449;
|
||||
@@ -333,6 +335,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
// splitContainer2.Panel1
|
||||
//
|
||||
this.splitContainer2.Panel1.Controls.Add(this.pbLoading);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.txtSKC);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.label1);
|
||||
this.splitContainer2.Panel1.Controls.Add(this.dgvDbProduct);
|
||||
this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 4, 0);
|
||||
//
|
||||
@@ -376,6 +380,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.dgvDbProduct.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] {
|
||||
this.colSelect,
|
||||
this.col_db_id,
|
||||
this.colFromShopId,
|
||||
this.col_product_name,
|
||||
this.colImgUrl,
|
||||
this.colMainImg,
|
||||
@@ -390,6 +395,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.colEndWords,
|
||||
this.colFissionWords,
|
||||
this.colAddTime,
|
||||
this.colMdyTime,
|
||||
this.col_edit,
|
||||
this.col_delete,
|
||||
this.col_select_product});
|
||||
@@ -403,6 +409,31 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.dgvDbProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvDbProduct_CellContentClick);
|
||||
this.dgvDbProduct.Scroll += new System.Windows.Forms.ScrollEventHandler(this.dgvDbProduct_Scroll);
|
||||
//
|
||||
// ucSplitPage1
|
||||
//
|
||||
this.ucSplitPage1.CurrentPage = 1;
|
||||
this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.ucSplitPage1.IsShowPageSize = false;
|
||||
this.ucSplitPage1.Location = new System.Drawing.Point(996, 0);
|
||||
this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.ucSplitPage1.Name = "ucSplitPage1";
|
||||
this.ucSplitPage1.Padding = new System.Windows.Forms.Padding(0, 0, 1, 0);
|
||||
this.ucSplitPage1.PageSize = 50;
|
||||
this.ucSplitPage1.Size = new System.Drawing.Size(362, 25);
|
||||
this.ucSplitPage1.TabIndex = 6;
|
||||
this.ucSplitPage1.TotalPage = 1;
|
||||
//
|
||||
// statusBar
|
||||
//
|
||||
this.statusBar.BackColor = System.Drawing.Color.White;
|
||||
this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.statusBar.Location = new System.Drawing.Point(0, 0);
|
||||
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.statusBar.Name = "statusBar";
|
||||
this.statusBar.Size = new System.Drawing.Size(1358, 25);
|
||||
this.statusBar.TabIndex = 5;
|
||||
//
|
||||
// colSelect
|
||||
//
|
||||
this.colSelect.FillWeight = 26F;
|
||||
@@ -414,16 +445,24 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
//
|
||||
// col_db_id
|
||||
//
|
||||
this.col_db_id.FillWeight = 50F;
|
||||
this.col_db_id.HeaderText = "数据库Id";
|
||||
this.col_db_id.Name = "col_db_id";
|
||||
this.col_db_id.ReadOnly = true;
|
||||
this.col_db_id.Visible = false;
|
||||
//
|
||||
// colFromShopId
|
||||
//
|
||||
this.colFromShopId.HeaderText = "来源店铺Id";
|
||||
this.colFromShopId.Name = "colFromShopId";
|
||||
this.colFromShopId.ReadOnly = true;
|
||||
this.colFromShopId.Visible = false;
|
||||
//
|
||||
// col_product_name
|
||||
//
|
||||
dataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.col_product_name.DefaultCellStyle = dataGridViewCellStyle3;
|
||||
this.col_product_name.FillWeight = 200F;
|
||||
this.col_product_name.FillWeight = 150F;
|
||||
this.col_product_name.HeaderText = "标题";
|
||||
this.col_product_name.Name = "col_product_name";
|
||||
this.col_product_name.ReadOnly = true;
|
||||
@@ -447,7 +486,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
//
|
||||
// col_spu_id
|
||||
//
|
||||
this.col_spu_id.HeaderText = "SPU Id";
|
||||
this.col_spu_id.HeaderText = "商品Id";
|
||||
this.col_spu_id.Name = "col_spu_id";
|
||||
this.col_spu_id.ReadOnly = true;
|
||||
//
|
||||
@@ -456,6 +495,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.col_skc_id.HeaderText = "SKC Id";
|
||||
this.col_skc_id.Name = "col_skc_id";
|
||||
this.col_skc_id.ReadOnly = true;
|
||||
this.col_skc_id.Visible = false;
|
||||
//
|
||||
// col_cat_name
|
||||
//
|
||||
@@ -520,10 +560,18 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
//
|
||||
// colAddTime
|
||||
//
|
||||
this.colAddTime.FillWeight = 80F;
|
||||
this.colAddTime.HeaderText = "入库时间";
|
||||
this.colAddTime.Name = "colAddTime";
|
||||
this.colAddTime.ReadOnly = true;
|
||||
//
|
||||
// colMdyTime
|
||||
//
|
||||
this.colMdyTime.FillWeight = 80F;
|
||||
this.colMdyTime.HeaderText = "更新时间";
|
||||
this.colMdyTime.Name = "colMdyTime";
|
||||
this.colMdyTime.ReadOnly = true;
|
||||
//
|
||||
// col_edit
|
||||
//
|
||||
this.col_edit.FillWeight = 60F;
|
||||
@@ -549,31 +597,6 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
this.col_select_product.Resizable = System.Windows.Forms.DataGridViewTriState.True;
|
||||
this.col_select_product.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
|
||||
//
|
||||
// ucSplitPage1
|
||||
//
|
||||
this.ucSplitPage1.CurrentPage = 1;
|
||||
this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right;
|
||||
this.ucSplitPage1.IsShowPageSize = false;
|
||||
this.ucSplitPage1.Location = new System.Drawing.Point(996, 0);
|
||||
this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.ucSplitPage1.Name = "ucSplitPage1";
|
||||
this.ucSplitPage1.Padding = new System.Windows.Forms.Padding(0, 0, 1, 0);
|
||||
this.ucSplitPage1.PageSize = 50;
|
||||
this.ucSplitPage1.Size = new System.Drawing.Size(362, 25);
|
||||
this.ucSplitPage1.TabIndex = 6;
|
||||
this.ucSplitPage1.TotalPage = 1;
|
||||
//
|
||||
// statusBar
|
||||
//
|
||||
this.statusBar.BackColor = System.Drawing.Color.White;
|
||||
this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
|
||||
this.statusBar.Location = new System.Drawing.Point(0, 0);
|
||||
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
|
||||
this.statusBar.Name = "statusBar";
|
||||
this.statusBar.Size = new System.Drawing.Size(1358, 25);
|
||||
this.statusBar.TabIndex = 5;
|
||||
//
|
||||
// PDDDBProdListForm
|
||||
//
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
|
||||
@@ -593,6 +616,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
|
||||
this.splitContainer1.ResumeLayout(false);
|
||||
this.splitContainer2.Panel1.ResumeLayout(false);
|
||||
this.splitContainer2.Panel1.PerformLayout();
|
||||
this.splitContainer2.Panel2.ResumeLayout(false);
|
||||
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
|
||||
this.splitContainer2.ResumeLayout(false);
|
||||
@@ -627,8 +651,10 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
private UserControls.ButtonEx btnSelect;
|
||||
private System.Windows.Forms.ComboBox cmbSort;
|
||||
private System.Windows.Forms.Label label6;
|
||||
private UserControls.ButtonEx btnDelSelect;
|
||||
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn col_db_id;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colFromShopId;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn col_product_name;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colImgUrl;
|
||||
private System.Windows.Forms.DataGridViewImageColumn colMainImg;
|
||||
@@ -643,9 +669,9 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colEndWords;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colFissionWords;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colAddTime;
|
||||
private System.Windows.Forms.DataGridViewTextBoxColumn colMdyTime;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn col_edit;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn col_delete;
|
||||
private System.Windows.Forms.DataGridViewLinkColumn col_select_product;
|
||||
private UserControls.ButtonEx btnDelSelect;
|
||||
}
|
||||
}
|
||||
@@ -42,6 +42,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
{
|
||||
if (BaseClass.SaLevel == 1 && shop == null) // 一级管理员且不是选品状态
|
||||
{
|
||||
this.dgvDbProduct.Columns["col_db_id"].Visible = true;
|
||||
this.dgvDbProduct.Columns["colFromShopId"].Visible = true;
|
||||
this.dgvDbProduct.Columns["col_delete"].Visible = true;
|
||||
this.dgvDbProduct.Columns["col_edit"].Visible = true;
|
||||
this.dgvDbProduct.Columns["colHeadWords"].Visible = true;
|
||||
@@ -55,6 +57,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
}
|
||||
else
|
||||
{
|
||||
this.dgvDbProduct.Columns["col_db_id"].Visible = false;
|
||||
this.dgvDbProduct.Columns["colFromShopId"].Visible = false;
|
||||
this.dgvDbProduct.Columns["col_delete"].Visible = false;
|
||||
this.dgvDbProduct.Columns["col_edit"].Visible = false;
|
||||
this.dgvDbProduct.Columns["colHeadWords"].Visible = false;
|
||||
@@ -128,6 +132,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
int rowIndex = this.dgvDbProduct.Rows.Add(
|
||||
false,
|
||||
prod.id,
|
||||
prod.from_shop_id,
|
||||
prod.product_name,
|
||||
prod?.main_img?.Replace("https", "http"),
|
||||
defaultBitmap, // prod.main_img,
|
||||
@@ -141,7 +146,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
prod.head_words,
|
||||
prod.end_words,
|
||||
prod.fission_words,
|
||||
prod.add_time,
|
||||
prod.add_time.ToString("yy-MM-dd HH:mm"),
|
||||
prod.mdy_time.ToString("yy-MM-dd HH:mm"),
|
||||
"编辑",
|
||||
"删除",
|
||||
"认领");
|
||||
|
||||
@@ -123,6 +123,9 @@
|
||||
<metadata name="col_db_id.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colFromShopId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="col_product_name.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
@@ -165,6 +168,9 @@
|
||||
<metadata name="colAddTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colMdyTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="col_edit.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
|
||||
@@ -1260,7 +1260,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
content = (propInfo.values.FirstOrDefault()?.value).ParseToString(),
|
||||
};
|
||||
|
||||
sleepTime = Randomx.GetId(500, 1500);
|
||||
sleepTime = Randomx.GetId(500, 1399);
|
||||
sleepTimeTotal += sleepTime;
|
||||
Thread.Sleep(sleepTime);
|
||||
if (!isChanceApi)
|
||||
@@ -1419,6 +1419,42 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
prodParam.out_goods_sn = prodInfo.detail.out_goods_sn;
|
||||
prodParam.oversea_goods = prodInfo.detail.oversea_goods == null ? new object() : prodInfo.detail.oversea_goods;
|
||||
prodParam.prefillWhitePic = ""; // 白底图,需要研究如何获取
|
||||
// 白底图
|
||||
if (prodInfo.material1 != null && !string.IsNullOrEmpty(prodInfo.material1.online_material))
|
||||
{
|
||||
prodParam.prefillWhitePic = prodInfo.material1.online_material;
|
||||
|
||||
sleepTime = Randomx.GetId(500, 1440);
|
||||
sleepTimeTotal += sleepTime;
|
||||
Thread.Sleep(sleepTime);
|
||||
var material_html = create_material(shop, prodParam.prefillWhitePic, 1, prodParam.cat_ids,
|
||||
prodParam.goods_id.ParseToString(), prodParam.goods_commit_id);
|
||||
if (!material_html.Contains("\"success\":true"))
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref material_html, "error_msg");
|
||||
if (string.IsNullOrEmpty(error))
|
||||
error = material_html;
|
||||
return "上传失败 " + error;
|
||||
}
|
||||
}
|
||||
// 长图
|
||||
if (prodInfo.material3 != null && !string.IsNullOrEmpty(prodInfo.material3.online_material))
|
||||
{
|
||||
//prodParam.prefillWhitePic = prodInfo.material3.online_material;
|
||||
sleepTime = Randomx.GetId(500, 1399);
|
||||
sleepTimeTotal += sleepTime;
|
||||
Thread.Sleep(sleepTime);
|
||||
var material_html = create_material(shop, prodInfo.material3.online_material, 3, prodParam.cat_ids,
|
||||
prodParam.goods_id.ParseToString(), prodParam.goods_commit_id);
|
||||
if (!material_html.Contains("\"success\":true"))
|
||||
{
|
||||
var error = BaseRegex.GetStringJson(ref material_html, "error_msg");
|
||||
if (string.IsNullOrEmpty(error))
|
||||
error = material_html;
|
||||
return "上传失败 " + error;
|
||||
}
|
||||
}
|
||||
|
||||
prodParam.pre_sale_time = prodInfo.detail.pre_sale_time.ParseToString();
|
||||
prodParam.privacy_delivery = prodInfo.detail.privacy_delivery;
|
||||
prodParam.processing_charges = prodInfo.detail.processing_charges.ParseToInt();
|
||||
@@ -1650,6 +1686,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
|
||||
var specModule = prodCatTemplateInfo.spec_module;
|
||||
var specProp = prodCatTemplateInfo.spec_module.properties.FirstOrDefault(p => p.name_alias == skuSpec.parent_name);
|
||||
var defaultPropValue = specProp.values.FirstOrDefault();
|
||||
var defaultGroup = (defaultPropValue?.group) == null ? 2 : defaultPropValue.group.id;
|
||||
var specPropValue = specProp.values.FirstOrDefault(v => v.value == skuSpec.spec_name);
|
||||
if (specProp != null)
|
||||
{
|
||||
@@ -1665,7 +1703,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
spec_id = skuSpec.spec_id,
|
||||
note = "",
|
||||
img_url = "",
|
||||
group_id = 1, //specPropValue == null ? 2 : (specPropValue?.group?.id).ParseToInt(),
|
||||
group_id = /*2, */ (specPropValue?.group?.id) == null ? defaultGroup : (specPropValue.group.id).ParseToInt(),
|
||||
template_module_id = specModule.id,
|
||||
};
|
||||
prodParam.goods_properties.Add(spec_prop);
|
||||
@@ -1684,6 +1722,8 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
|
||||
var specModule = prodCatTemplateInfo.spec_module;
|
||||
var specProp = prodCatTemplateInfo.spec_module.properties.FirstOrDefault(p => p.name_alias == skuSpec.parent_name);
|
||||
var defaultPropValue = specProp.values.FirstOrDefault();
|
||||
var defaultGroup = (defaultPropValue?.group) == null ? 3 : defaultPropValue.group.id;
|
||||
var specPropValue = specProp.values.FirstOrDefault(v => v.value == skuSpec.spec_name);
|
||||
if (specProp != null)
|
||||
{
|
||||
@@ -1699,7 +1739,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
spec_id = skuSpec.spec_id,
|
||||
note = "",
|
||||
img_url = "",
|
||||
group_id = 2, //specPropValue == null ? 2 : (specPropValue?.group?.id).ParseToInt(),
|
||||
group_id = /*3, */ (specPropValue?.group?.id) == null ? defaultGroup : (specPropValue.group.id).ParseToInt(),
|
||||
template_module_id = specModule.id,
|
||||
};
|
||||
prodParam.goods_properties.Add(spec_prop);
|
||||
@@ -2082,6 +2122,50 @@ namespace TemuKJD.PDDForms.ProductSelectForms
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 创建物料 1为白底图 whitepic
|
||||
/// </summary>
|
||||
/// <param name="shop"></param>
|
||||
/// <param name="imgUrl"></param>
|
||||
/// <param name="type"></param>
|
||||
/// <param name="catList"></param>
|
||||
/// <param name="goodsId"></param>
|
||||
/// <param name="commitId"></param>
|
||||
/// <returns></returns>
|
||||
private string create_material(ShopLoginInfo shop, string imgUrl, int type, List<int?> catList, string goodsId, string commitId)
|
||||
{
|
||||
if (catList == null)
|
||||
catList = new List<int?>();
|
||||
while (catList.Count < 4)
|
||||
catList.Add(null);
|
||||
|
||||
var anti = shop.AntiContents.LastOrDefault().ParseToString();
|
||||
if (shop.AntiContents.Count > 0)
|
||||
anti = shop.AntiContents[Randomx.GetId(shop.AntiContents.Count)];
|
||||
string url = "https://mms.pinduoduo.com/giraffe/mms/material/create"; // 商品已存在
|
||||
url = "https://mms.pinduoduo.com/giraffe/mms/material/createDraft"; // 新建商品
|
||||
string body = @"{""content"":""" + imgUrl + @""",""type"":" + type + @",""source"":2,""cat_id_1"":" + catList[0] +
|
||||
@",""cat_id_2"":" + catList[1] + @",""cat_id_3"":" + catList[2] + @",""cat_id_4"":" + catList[3] + @",""goods_id"":" + goodsId + @"}";
|
||||
string refere = "https://mms.pinduoduo.com/goods/goods_add/index?type=add&from=category&id=" + commitId +
|
||||
"&goods_id=" + goodsId + "&sourcePage=goodsList";
|
||||
if (isChanceApi)
|
||||
refere = "https://mms.pinduoduo.com/goods/goods_add/index?type=add&from=chance&id=" + commitId +
|
||||
"&goods_id=" + goodsId + "&chance_tab=search&sourcePage=goodsListTopButton_CHANCE";
|
||||
var result = HttpResponseBLL.PDDPostResponse(shop, url, body, refere, anti);
|
||||
for (int i = 0; i < 5 && result.Contains("网络繁忙,请不要频繁操作"); i++)
|
||||
{
|
||||
shop.AntiContents.Remove(anti);
|
||||
anti = shop.AntiContents.FirstOrDefault().ParseToString();
|
||||
if (shop.AntiContents.Count > 0)
|
||||
{
|
||||
Thread.Sleep(Randomx.GetId(300, 500));
|
||||
anti = shop.AntiContents[Randomx.GetId(shop.AntiContents.Count)];
|
||||
result = HttpResponseBLL.PDDPostResponse(shop, url, body, refere, anti);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private string reusable_sizespec(ShopLoginInfo shop, string catId, string goodsId, string commitId)
|
||||
{
|
||||
var anti = shop.AntiContents.LastOrDefault().ParseToString();
|
||||
|
||||
@@ -64,6 +64,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
return;
|
||||
}
|
||||
|
||||
Thread.Sleep(Randomx.GetId(10, 50));
|
||||
var detail_json = "{}";
|
||||
PDDProductDetailInfo product = null;
|
||||
try
|
||||
@@ -84,6 +85,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
return;
|
||||
}
|
||||
|
||||
Thread.Sleep(Randomx.GetId(10, 50));
|
||||
var size_json = "{}";
|
||||
if (product.size_spec_id.ParseToLong() != 0)
|
||||
{
|
||||
@@ -121,6 +123,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
// }
|
||||
//}
|
||||
|
||||
Thread.Sleep(Randomx.GetId(10, 50));
|
||||
var property_json = "{}";
|
||||
PDDProductPropertyInfo property = null;
|
||||
try
|
||||
@@ -138,35 +141,6 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
return;
|
||||
}
|
||||
|
||||
var decoration_json = "{}";
|
||||
PDDProductDecorationInfo decoration = null;
|
||||
try
|
||||
{
|
||||
var prod_decoration_rst = GetPddProdDecoration(sourceShop, sourceProdId.ToString(), commitId);
|
||||
if (!prod_decoration_rst.Contains("\"success\":true"))
|
||||
{
|
||||
var errMsg = BaseRegex.GetStringJson(ref prod_decoration_rst, "error_msg");
|
||||
if (string.IsNullOrEmpty(errMsg))
|
||||
errMsg = commit_id_rst;
|
||||
OnInfoReceived("商品获取失败!商品详情图获取失败!" + errMsg);
|
||||
return;
|
||||
}
|
||||
JObject prod_decoration_obj = JObject.Parse(prod_decoration_rst);
|
||||
if (!prod_decoration_obj["result"].IsNullOrEmpty())
|
||||
decoration_json = JsonHelper.SerializeObject(prod_decoration_obj["result"]);
|
||||
decoration = JsonHelper.DeserializeJsonToObject<PDDProductDecorationInfo>(decoration_json);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
OnInfoReceived("商品获取失败!商品详情图获取失败!" + ex.Message);
|
||||
return;
|
||||
}
|
||||
if (decoration == null)
|
||||
{
|
||||
OnInfoReceived("商品获取失败!商品详情图获取失败!");
|
||||
return;
|
||||
}
|
||||
|
||||
// 属性模板暂时注释
|
||||
//var prop_template_json = "{}";
|
||||
//PDDProductTemplateInfo templateInfo = null;
|
||||
@@ -184,6 +158,97 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
// return;
|
||||
//}
|
||||
|
||||
Thread.Sleep(Randomx.GetId(10, 50));
|
||||
var decoration_json = "{}";
|
||||
PDDProductDecorationInfo decoration = null;
|
||||
try
|
||||
{
|
||||
var prod_decoration_rst = GetPddProdDecoration(sourceShop, sourceProdId.ToString(), commitId);
|
||||
if (!prod_decoration_rst.Contains("\"success\":true"))
|
||||
{
|
||||
var errMsg = BaseRegex.GetStringJson(ref prod_decoration_rst, "error_msg");
|
||||
if (string.IsNullOrEmpty(errMsg))
|
||||
errMsg = prod_decoration_rst;
|
||||
OnInfoReceived("商品获取失败!商品详情图获取失败!" + errMsg);
|
||||
return;
|
||||
}
|
||||
JObject prod_decoration_obj = JObject.Parse(prod_decoration_rst);
|
||||
if (!prod_decoration_obj["result"].IsNullOrEmpty())
|
||||
decoration_json = JsonHelper.SerializeObject(prod_decoration_obj["result"]);
|
||||
decoration = JsonHelper.DeserializeJsonToObject<PDDProductDecorationInfo>(decoration_json);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
OnInfoReceived("商品获取失败!商品详情图获取失败!" + ex.Message);
|
||||
return;
|
||||
}
|
||||
if (decoration == null)
|
||||
{
|
||||
OnInfoReceived("商品获取失败!商品详情图获取失败!");
|
||||
return;
|
||||
}
|
||||
|
||||
Thread.Sleep(Randomx.GetId(10, 50));
|
||||
var material3_json = "{}";
|
||||
PDDMaterialInfo material3 = null;
|
||||
try
|
||||
{
|
||||
var material3_rst = GetPddGoodsMaterial(sourceShop, sourceProdId.ToString(), commitId, 3);
|
||||
if (!material3_rst.Contains("\"success\":true"))
|
||||
{
|
||||
var errMsg = BaseRegex.GetStringJson(ref material3_rst, "error_msg");
|
||||
if (string.IsNullOrEmpty(errMsg))
|
||||
errMsg = material3_rst;
|
||||
OnInfoReceived("商品获取失败!商品长图获取失败!" + errMsg);
|
||||
return;
|
||||
}
|
||||
JObject material3_obj = JObject.Parse(material3_rst);
|
||||
if (!material3_obj["result"].IsNullOrEmpty())
|
||||
material3_json = JsonHelper.SerializeObject(material3_obj["result"]);
|
||||
material3 = JsonHelper.DeserializeJsonToObject<PDDMaterialInfo>(material3_json);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
OnInfoReceived("商品获取失败!商品长图获取失败!" + ex.Message);
|
||||
return;
|
||||
}
|
||||
if (material3 == null)
|
||||
{
|
||||
OnInfoReceived("商品获取失败!商品长图获取失败!");
|
||||
return;
|
||||
}
|
||||
|
||||
Thread.Sleep(Randomx.GetId(10, 50));
|
||||
var material1_json = "{}";
|
||||
PDDMaterialInfo material1 = null;
|
||||
try
|
||||
{
|
||||
var material1_rst = GetPddGoodsMaterial(sourceShop, sourceProdId.ToString(), commitId, 1);
|
||||
if (!material1_rst.Contains("\"success\":true"))
|
||||
{
|
||||
var errMsg = BaseRegex.GetStringJson(ref material1_rst, "error_msg");
|
||||
if (string.IsNullOrEmpty(errMsg))
|
||||
errMsg = material1_rst;
|
||||
OnInfoReceived("商品获取失败!商品白底图获取失败!" + errMsg);
|
||||
return;
|
||||
}
|
||||
JObject material1_obj = JObject.Parse(material1_rst);
|
||||
if (!material1_obj["result"].IsNullOrEmpty())
|
||||
material1_json = JsonHelper.SerializeObject(material1_obj["result"]);
|
||||
material1 = JsonHelper.DeserializeJsonToObject<PDDMaterialInfo>(material1_json);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
OnInfoReceived("商品获取失败!商品白底图获取失败!" + ex.Message);
|
||||
return;
|
||||
}
|
||||
if (material1 == null)
|
||||
{
|
||||
OnInfoReceived("商品获取失败!商品白底图获取失败!");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
bool isExist = false;
|
||||
var existUrl = BaseClass.BuildObjString("product/get_product_list");
|
||||
string existData = UserLogin.GetSignaturex() + "&search_spu=" + product.goods_id;
|
||||
@@ -199,7 +264,8 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
}
|
||||
|
||||
|
||||
string product_json = "{\"detail\":" + detail_json + ",\"size\":" + size_json + ",\"decoration\":" + decoration_json + ",\"property\":" + property_json + "}";
|
||||
string product_json = "{\"detail\":" + detail_json + ",\"size\":" + size_json + ",\"decoration\":" + decoration_json +
|
||||
",\"material3\":" + material3_json + ",\"material1\":" + material1_json + ",\"property\":" + property_json + "}";
|
||||
string main_img = product.image_url;
|
||||
if (string.IsNullOrEmpty(main_img))
|
||||
main_img = product.hd_thumb_url;
|
||||
@@ -594,6 +660,38 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取物料详情 type = 1 或者 3 1是白底图,3是长图
|
||||
/// </summary>
|
||||
/// <param name="shop"></param>
|
||||
/// <param name="catId"></param>
|
||||
/// <param name="prodId"></param>
|
||||
/// <param name="commitId"></param>
|
||||
/// <param name="type"></param>
|
||||
/// <returns></returns>
|
||||
private string GetPddGoodsMaterial(ShopLoginInfo shop, string prodId, string commitId, int type)
|
||||
{
|
||||
var anti = shop.AntiContents.LastOrDefault().ParseToString();
|
||||
if (shop.AntiContents.Count > 0)
|
||||
anti = shop.AntiContents[Randomx.GetId(shop.AntiContents.Count)];
|
||||
string url = "https://mms.pinduoduo.com/giraffe/mms/material/goodsMaterialInfo";
|
||||
string body = @"{""goods_id"":" + prodId + @",""type"":" + type + "}";
|
||||
string refere = "https://mms.pinduoduo.com/goods/goods_add/index?id=" + commitId + "&goods_id=" + prodId + "&type=edit";
|
||||
var result = HttpResponseBLL.PDDPostResponse(shop, url, body, refere, anti);
|
||||
for (int i = 0; i < 5 && (result.Contains("操作太过频繁") || result.Contains("网络繁忙,请不要频繁操作")); i++)
|
||||
{
|
||||
shop.AntiContents.Remove(anti);
|
||||
anti = shop.AntiContents.LastOrDefault().ParseToString();
|
||||
if (shop.AntiContents.Count > 0)
|
||||
{
|
||||
Thread.Sleep(Randomx.GetId(300, 500));
|
||||
anti = shop.AntiContents[Randomx.GetId(shop.AntiContents.Count)];
|
||||
result = HttpResponseBLL.PDDPostResponse(shop, url, body, refere, anti);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
private string GetPddCatPropTemplate(ShopLoginInfo shop, string catId, string prodId, string commitId)
|
||||
{
|
||||
var anti = shop.AntiContents.LastOrDefault().ParseToString();
|
||||
@@ -602,8 +700,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
string url = "https://mms.pinduoduo.com/draco-ms/mms/template/mall?catId=" + catId +
|
||||
"&goodsCommitId=" + commitId + "&goodsId=" + prodId;
|
||||
string body = @"";
|
||||
string refere = "https://mms.pinduoduo.com/goods/goods_add/index?type=add&from=category&id=" + commitId +
|
||||
"&goods_id=" + prodId + "&sourcePage=goodsList";
|
||||
string refere = "https://mms.pinduoduo.com/goods/goods_add/index?id=" + commitId + "&goods_id=" + prodId + "&type=edit";
|
||||
var result = HttpResponseBLL.PDDGetResponse(shop, url, body, refere, anti);
|
||||
for (int i = 0; i < 5 && (result.Contains("操作太过频繁") || result.Contains("网络繁忙,请不要频繁操作")); i++)
|
||||
{
|
||||
|
||||
@@ -33,64 +33,6 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
private bool isLoading { get; set; } = false;
|
||||
|
||||
#region 服务端店铺管理
|
||||
public static string AddServerPddShop(ShopLoginInfo _shop)
|
||||
{
|
||||
var url = BaseClass.BuildObjString("shop/add_shop");
|
||||
var data = UserLogin.GetSignaturex()
|
||||
+ "&login_name=" + _shop.LoginName
|
||||
+ "&login_pass=" + GetHtml.UrlEncodeUtf8(_shop.Password)
|
||||
+ "&shop_id=" + _shop.ShopId
|
||||
+ "&shop_account=" + _shop.ShopAccount
|
||||
+ "&cookie=" + _shop.Cookies
|
||||
+ "&cookie2=" + _shop.Cookies2
|
||||
+ "&anti_contents=" + JsonHelper.SerializeObject(_shop.AntiContents)
|
||||
+ "&shop_group=" + GetHtml.UrlEncodeUtf8(_shop.GroupName)
|
||||
+ "&sub_user_name=" + GetHtml.UrlEncodeUtf8(_shop.SubUserName)
|
||||
+ "¬es=" + GetHtml.UrlEncodeUtf8(_shop.Notes)
|
||||
+ "&login_status=" + _shop.LoginStatus;
|
||||
|
||||
var result = GetHtml.PostUtf8(url, data);
|
||||
if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在"))
|
||||
result = GetHtml.PostUtf8(url, data);
|
||||
if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在"))
|
||||
result = GetHtml.PostUtf8(url, data);
|
||||
if (!result.Contains("\"code\":200"))
|
||||
{
|
||||
var msg = BaseRegex.GetStringJson(ref result, "msg");
|
||||
if (string.IsNullOrEmpty(msg))
|
||||
msg = "店铺保存失败!";
|
||||
BaseMsgForm.ShowError(msg);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static string MdyServerPddShop(ShopLoginInfo _shop)
|
||||
{
|
||||
var url = BaseClass.BuildObjString("shop/mdy_shop");
|
||||
var data = UserLogin.GetSignaturex()
|
||||
+ "&login_name=" + _shop.LoginName
|
||||
+ "&login_pass=" + GetHtml.UrlEncodeUtf8(_shop.Password)
|
||||
+ "&shop_id=" + _shop.ShopId
|
||||
+ "&shop_account=" + _shop.ShopAccount
|
||||
+ "&shop_group=" + GetHtml.UrlEncodeUtf8(_shop.GroupName)
|
||||
+ "&sub_user_name=" + _shop.SubUserName
|
||||
+ "¬es=" + GetHtml.UrlEncodeUtf8(_shop.Notes);
|
||||
|
||||
var result = GetHtml.PostUtf8(url, data);
|
||||
if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在"))
|
||||
result = GetHtml.PostUtf8(url, data);
|
||||
if (!result.Contains("\"code\":200") && !result.Contains("已达上限") && !result.Contains("已存在"))
|
||||
result = GetHtml.PostUtf8(url, data);
|
||||
if (!result.Contains("\"code\":200"))
|
||||
{
|
||||
var msg = BaseRegex.GetStringJson(ref result, "msg");
|
||||
if (string.IsNullOrEmpty(msg))
|
||||
msg = "店铺保存失败!";
|
||||
BaseMsgForm.ShowError(msg);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public static void UpdateShop()
|
||||
{
|
||||
// 获取本地店铺和服务端店铺。将服务端相关信息与本地店铺合并后暂时存在内存中(不保存敏感信息)。
|
||||
@@ -320,13 +262,13 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
}
|
||||
else
|
||||
{
|
||||
PDDShopListForm.AddServerPddShop(shopInfo);
|
||||
ShopBLL.AddServerShop(shopInfo);
|
||||
btnRefreshCookie_Click(null, null);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
PDDShopListForm.MdyServerPddShop(shopInfo);
|
||||
ShopBLL.MdyServerShopSubInfo(shopInfo);
|
||||
btnRefreshCookie_Click(null, null);
|
||||
}
|
||||
}
|
||||
@@ -410,7 +352,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
else
|
||||
GlobalConfig.ShopLoginList.Add(shop);
|
||||
StartUp.SaveLocalShopLoginInfo();
|
||||
PDDShopListForm.AddServerPddShop(shop);
|
||||
ShopBLL.AddServerShop(shop);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,6 +24,7 @@ using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
using Work;
|
||||
using Work.BLL.Tools;
|
||||
using TemuKJD.BLL;
|
||||
|
||||
namespace TemuKJD.PDDForms.ShopForms
|
||||
{
|
||||
@@ -165,7 +166,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
if (oldShop == null)
|
||||
{
|
||||
GlobalConfig.ShopLoginList.Add(newShop);
|
||||
PDDShopListForm.AddServerPddShop(newShop); // 店铺写入到服务端
|
||||
ShopBLL.AddServerShop(newShop); // 店铺写入到服务端
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -188,12 +189,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
+ "&shop_account=" + oldShop.ShopAccount;
|
||||
var result = GetHtml.PostUtf8(url, data);
|
||||
|
||||
var urlAddress = BaseClass.BuildObjString("shop/mdy_anti_content");
|
||||
data = UserLogin.GetSignaturex()
|
||||
+ "&login_name=" + shop.LoginName
|
||||
+ "&shop_id=" + shop.ShopId
|
||||
+ "&anti_contents=" + JsonHelper.SerializeObject(shop.AntiContents);
|
||||
result = GetHtml.PostUtf8(urlAddress, data);
|
||||
ShopBLL.MdyAntiContent(oldShop);
|
||||
}
|
||||
}
|
||||
var lstShop = GlobalConfig.ShopLoginList.Where(l => l.LoginName == shop.LoginName).ToList();
|
||||
@@ -460,28 +456,23 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(sb.ToString());
|
||||
}
|
||||
|
||||
int GetAntiContentsTimes = 40;
|
||||
static int GetAntiContentsTimes = 40;
|
||||
private void RequestHandler_ResourceLoadComplete(object sender, string url, string postData, string responseData, IRequest request)
|
||||
{
|
||||
var antiContent = request.Headers.AllKeys.Contains("Anti-Content") ? request.Headers["Anti-Content"] : "";
|
||||
if (shop != null && !url.StartsWith("https://mms.pinduoduo.com/janus/api/userinfo") && !string.IsNullOrEmpty(antiContent))
|
||||
{
|
||||
GetAntiContentsTimes++;
|
||||
Invoke(new Action(() => { this.TitleText = "店铺登录 - " + GetAntiContentsTimes; }));
|
||||
shop.AntiContents.Add(antiContent);
|
||||
while (shop.AntiContents.Count > 50)
|
||||
shop.AntiContents.RemoveAt(0);
|
||||
if (!string.IsNullOrEmpty(shop.ShopId) && GetAntiContentsTimes > 50)
|
||||
if (!string.IsNullOrEmpty(shop.ShopId) && GetAntiContentsTimes > 500)
|
||||
{
|
||||
GetAntiContentsTimes = 0;
|
||||
var antis = shop.AntiContents;
|
||||
Task.Run(() =>
|
||||
{
|
||||
var urlAddress = BaseClass.BuildObjString("shop/mdy_anti_content");
|
||||
var data = UserLogin.GetSignaturex()
|
||||
+ "&login_name=" + shop.LoginName
|
||||
+ "&shop_id=" + shop.ShopId
|
||||
+ "&anti_contents=" + JsonHelper.SerializeObject(antis);
|
||||
var result = GetHtml.PostUtf8(urlAddress, data);
|
||||
ShopBLL.MdyAntiContent(shop);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -312,7 +312,7 @@ namespace TemuKJD.PDDForms.ShopForms
|
||||
if (updateFrom != SetCookieFromEnum.normal_user)
|
||||
ShopBLL.AdminAddServerShop(newShop); // 店铺写入到服务端
|
||||
else
|
||||
PDDShopListForm.AddServerPddShop(newShop); // 店铺写入到服务端
|
||||
ShopBLL.AddServerShop(newShop); // 店铺写入到服务端
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user