1优化cookie登录检测逻辑 2调整标题重组逻辑不再强制前缀 3库存上传、选品上传显示提交时间 4备货管理使用双接口处理

This commit is contained in:
wule committed 2025-08-01 18:55:24 +08:00
1 parent c203c161a2
commit 7ea35b6866
22 files changed
+479 -490

No files matched your search

+2 -2
View File
@@ -27,8 +27,8 @@ namespace AllBase
/// <summary> /// <summary>
/// 版本ID /// 版本ID
/// </summary> /// </summary>
public static int VersionCount = 395; public static int VersionCount = 397;
//public static int VersionCount = 395; //public static int VersionCount = 397;
/// <summary> /// <summary>
/// 版本号 /// 版本号
+3
View File
@@ -162,6 +162,9 @@ namespace AllBase.Model.Result
public int Y { get; set; } public int Y { get; set; }
public List<int> LstShopCategory { get; set; } = new List<int>(); public List<int> LstShopCategory { get; set; } = new List<int>();
//在一次检测中是否已检测同一个账户下的不同店铺,如果已检测,使用相同cookie即可,不用多次检测
public bool isCheckLogin { get; set; }
} }
public class AuthInfo public class AuthInfo
+5 -5
View File
@@ -227,11 +227,11 @@
<Compile Include="KJDForms\AdminForms\AdminShopLoginForm.Designer.cs"> <Compile Include="KJDForms\AdminForms\AdminShopLoginForm.Designer.cs">
<DependentUpon>AdminShopLoginForm.cs</DependentUpon> <DependentUpon>AdminShopLoginForm.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="KJDForms\AdminForms\AdminShopForm.cs"> <Compile Include="KJDForms\AdminForms\AdminShopListForm.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="KJDForms\AdminForms\AdminShopForm.Designer.cs"> <Compile Include="KJDForms\AdminForms\AdminShopListForm.Designer.cs">
<DependentUpon>AdminShopForm.cs</DependentUpon> <DependentUpon>AdminShopListForm.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="KJDForms\AdminForms\AdminAccountForm.cs"> <Compile Include="KJDForms\AdminForms\AdminAccountForm.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
@@ -888,8 +888,8 @@
<EmbeddedResource Include="KJDForms\AdminForms\AdminShopLoginForm.resx"> <EmbeddedResource Include="KJDForms\AdminForms\AdminShopLoginForm.resx">
<DependentUpon>AdminShopLoginForm.cs</DependentUpon> <DependentUpon>AdminShopLoginForm.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="KJDForms\AdminForms\AdminShopForm.resx"> <EmbeddedResource Include="KJDForms\AdminForms\AdminShopListForm.resx">
<DependentUpon>AdminShopForm.cs</DependentUpon> <DependentUpon>AdminShopListForm.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="KJDForms\BaseForms\BaseForm.resx"> <EmbeddedResource Include="KJDForms\BaseForms\BaseForm.resx">
<DependentUpon>BaseForm.cs</DependentUpon> <DependentUpon>BaseForm.cs</DependentUpon>
+1 -1
View File
@@ -19,7 +19,7 @@ namespace TemuKJD.KJDForms.AdminForms
public partial class AdminForm : BaseForm public partial class AdminForm : BaseForm
{ {
public Lazy<AdminAccountForm> adminAccountForm = new Lazy<AdminAccountForm>(); public Lazy<AdminAccountForm> adminAccountForm = new Lazy<AdminAccountForm>();
public Lazy<AdminShopForm> adminShopForm = new Lazy<AdminShopForm>(); public Lazy<AdminShopListForm> adminShopForm = new Lazy<AdminShopListForm>();
public Lazy<DbProductListForm> dbProductListForm = new Lazy<DbProductListForm>(); public Lazy<DbProductListForm> dbProductListForm = new Lazy<DbProductListForm>();
public Lazy<DbProductSelectListManageForm> dbProductSelectListManageForm = new Lazy<DbProductSelectListManageForm>(); public Lazy<DbProductSelectListManageForm> dbProductSelectListManageForm = new Lazy<DbProductSelectListManageForm>();
public Lazy<ProductThirdSelectListManageForm> productThirdSelectListManageForm = new Lazy<ProductThirdSelectListManageForm>(); public Lazy<ProductThirdSelectListManageForm> productThirdSelectListManageForm = new Lazy<ProductThirdSelectListManageForm>();
@@ -1,7 +1,7 @@
namespace TemuKJD.KJDForms.AdminForms namespace TemuKJD.KJDForms.AdminForms
{ {
partial class AdminShopForm partial class AdminShopListForm
{ {
/// <summary> /// <summary>
/// Required designer variable. /// Required designer variable.
@@ -635,7 +635,7 @@ namespace TemuKJD.KJDForms.AdminForms
// colImportCookies // colImportCookies
// //
this.colImportCookies.FillWeight = 70F; this.colImportCookies.FillWeight = 70F;
this.colImportCookies.HeaderText = "导入Cookies"; this.colImportCookies.HeaderText = "导入Cookie";
this.colImportCookies.Name = "colImportCookies"; this.colImportCookies.Name = "colImportCookies";
this.colImportCookies.ReadOnly = true; this.colImportCookies.ReadOnly = true;
this.colImportCookies.Resizable = System.Windows.Forms.DataGridViewTriState.True; this.colImportCookies.Resizable = System.Windows.Forms.DataGridViewTriState.True;
@@ -644,7 +644,7 @@ namespace TemuKJD.KJDForms.AdminForms
// colCopyCookies // colCopyCookies
// //
this.colCopyCookies.FillWeight = 70F; this.colCopyCookies.FillWeight = 70F;
this.colCopyCookies.HeaderText = "复制Cookies"; this.colCopyCookies.HeaderText = "复制Cookie";
this.colCopyCookies.Name = "colCopyCookies"; this.colCopyCookies.Name = "colCopyCookies";
this.colCopyCookies.ReadOnly = true; this.colCopyCookies.ReadOnly = true;
this.colCopyCookies.Resizable = System.Windows.Forms.DataGridViewTriState.True; this.colCopyCookies.Resizable = System.Windows.Forms.DataGridViewTriState.True;
@@ -22,11 +22,11 @@ using Work;
namespace TemuKJD.KJDForms.AdminForms namespace TemuKJD.KJDForms.AdminForms
{ {
public partial class AdminShopForm : BaseForm public partial class AdminShopListForm : BaseForm
{ {
public static List<ShopLoginInfo> lstAdminShopInfo = new List<ShopLoginInfo>(); public static List<ShopLoginInfo> lstAdminShopInfo { get; set; } = new List<ShopLoginInfo>();
public AdminShopForm() public AdminShopListForm()
{ {
InitializeComponent(); InitializeComponent();
} }
@@ -62,6 +62,7 @@ namespace TemuKJD.KJDForms.AdminForms
public void SearchShop(int page) public void SearchShop(int page)
{ {
List<string> shopIdList = GetCheckedShopIdList();
if (InvokeRequired) if (InvokeRequired)
{ {
Invoke(new Action(() => Invoke(new Action(() =>
@@ -80,7 +81,7 @@ namespace TemuKJD.KJDForms.AdminForms
Task.Run(() => Task.Run(() =>
{ {
int pageCount; int pageCount;
var list = AdminGetServerShop(out pageCount, page); var list = AdminGetServerShopLst(out pageCount, page);
lstAdminShopInfo.AddRange(list); lstAdminShopInfo.AddRange(list);
this.ucSplitPage1.TotalPage = pageCount; this.ucSplitPage1.TotalPage = pageCount;
@@ -89,7 +90,7 @@ namespace TemuKJD.KJDForms.AdminForms
Invoke(new Action(() => Invoke(new Action(() =>
{ {
int rowIndex = this.dgvShop.Rows.Add( int rowIndex = this.dgvShop.Rows.Add(
false, shopIdList.Contains(shop.ShopId + shop.UserName),
shop.LoginName, shop.LoginName,
shop.ShopId, shop.ShopId,
shop.ShopAccount, shop.ShopAccount,
@@ -109,8 +110,8 @@ namespace TemuKJD.KJDForms.AdminForms
"多重登录", "多重登录",
shop.ApiAuthStatus, shop.ApiAuthStatus,
shop.BuyApiAuth.ApiAuthStatus, shop.BuyApiAuth.ApiAuthStatus,
"导入Cookies", "导入Cookie",
"复制Cookies", "复制Cookie",
"上传", "上传",
shop.OperateSubSaName, shop.OperateSubSaName,
"编辑", "编辑",
@@ -208,7 +209,7 @@ namespace TemuKJD.KJDForms.AdminForms
} }
IsOperate = false; IsOperate = false;
break; break;
case "复制Cookies": case "复制Cookie":
string cook = shop.Cookies; string cook = shop.Cookies;
string cookJs = ""; string cookJs = "";
var keys = new string[] { "a42", "_bee", "_f77", "_nano_fp", "api_uid", "rckk", "ru1k", "ru2k", "SUB_PASS_ID" }; var keys = new string[] { "a42", "_bee", "_f77", "_nano_fp", "api_uid", "rckk", "ru1k", "ru2k", "SUB_PASS_ID" };
@@ -257,7 +258,7 @@ namespace TemuKJD.KJDForms.AdminForms
Clipboard.SetDataObject(cookJs); Clipboard.SetDataObject(cookJs);
BaseMsgForm.ShowInfo("复制成功"); BaseMsgForm.ShowInfo("复制成功");
break; break;
case "导入Cookies": case "导入Cookie":
ShopUpdateCookieForm updateCookieForm = new ShopUpdateCookieForm(shop, SetCookieFromEnum.sa); ShopUpdateCookieForm updateCookieForm = new ShopUpdateCookieForm(shop, SetCookieFromEnum.sa);
updateCookieForm.SaveComplete += UpdateCookieForm_SaveComplete; updateCookieForm.SaveComplete += UpdateCookieForm_SaveComplete;
updateCookieForm.ShowDialog(); updateCookieForm.ShowDialog();
@@ -344,7 +345,22 @@ namespace TemuKJD.KJDForms.AdminForms
return shopNameList; return shopNameList;
} }
public List<ShopLoginInfo> AdminGetServerShop(out int pageCount, int page = 1, int pageSize = 50) private List<string> GetCheckedShopIdList()
{
List<string> shopNameList = new List<string>();
for (int i = 0; i < dgvShop.Rows.Count; i++)
{
if (dgvShop.Rows[i].Cells["colSelect"].Value.ParseToBool())
{
string shopName = dgvShop.Rows[i].Cells["colShopId"].Value.ParseToString();
shopName += dgvShop.Rows[i].Cells["colUser"].Value.ParseToString();
shopNameList.Add(shopName);
}
}
return shopNameList;
}
public List<ShopLoginInfo> AdminGetServerShopLst(out int pageCount, int page = 1, int pageSize = 50)
{ {
List<ShopLoginInfo> list = new List<ShopLoginInfo>(); List<ShopLoginInfo> list = new List<ShopLoginInfo>();
pageCount = 1; pageCount = 1;
@@ -375,9 +391,67 @@ namespace TemuKJD.KJDForms.AdminForms
pageCount = Math.Ceiling(1.0 * count / pageSize).ParseToInt(); pageCount = Math.Ceiling(1.0 * count / pageSize).ParseToInt();
pageCount = Math.Max(pageCount, 1); pageCount = Math.Max(pageCount, 1);
var jArr = JObject.Parse(html)["data"]; return DeserializationShop(html);
}
public static List<ShopLoginInfo> AdminGetServerShopLstByIds(List<string> shop_ids)
{
List<ShopLoginInfo> list = new List<ShopLoginInfo>();
shop_ids = shop_ids.Where(s => !string.IsNullOrEmpty(s)).ToList();
var url = BaseClass.BuildObjString("shop/admin_get_shop_list");
var data = UserLogin.GetSignaturex() +
"&shop_ids='" + string.Join("','", shop_ids) + "'";
data += "&page_size=200";
var html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html)
|| !html.Contains("shop_id") || !html.Contains("shop_account") || !html.Contains("login_pass"))
{
return new List<ShopLoginInfo>();
}
return DeserializationShop(html);
}
public static string AdminGetServerShopLstForSetCookie(ShopLoginInfo loginShop, List<ShopLoginInfo> lstRst)
{
if (lstRst == null)
lstRst = new List<ShopLoginInfo>();
var url = BaseClass.BuildObjString("shop/admin_get_shop_list");
var data = UserLogin.GetSignaturex() +
"&search_user_name=" + loginShop.UserName +
"&search_login_name=" + loginShop.LoginName;
var html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html)
|| !html.Contains("shop_id") || !html.Contains("shop_account") || !html.Contains("login_pass"))
{
return "获取失败:" + BaseRegex.GetStringJson(ref html, "msg");
}
lstRst.AddRange(DeserializationShop(html));
return "success";
}
public static List<ShopLoginInfo> DeserializationShop(string shopJson)
{
List<ShopLoginInfo> list = new List<ShopLoginInfo>();
if (!shopJson.Contains("data"))
return list;
var jArr = JObject.Parse(shopJson)["data"];
if (jArr.Count() == 0) if (jArr.Count() == 0)
return list; return list;
foreach (JObject jObj in jArr) foreach (JObject jObj in jArr)
{ {
string shopStr = jObj.ToString(); string shopStr = jObj.ToString();
@@ -401,6 +475,7 @@ namespace TemuKJD.KJDForms.AdminForms
shop.LoginStatus = BaseRegex.GetStringJson(ref shopStr, "login_status"); shop.LoginStatus = BaseRegex.GetStringJson(ref shopStr, "login_status");
shop.LoginStatus2 = BaseRegex.GetStringJson(ref shopStr, "login_status2"); shop.LoginStatus2 = BaseRegex.GetStringJson(ref shopStr, "login_status2");
shop.OperateSubSaName = BaseRegex.GetStringJson(ref shopStr, "operate_sub_sa_name"); shop.OperateSubSaName = BaseRegex.GetStringJson(ref shopStr, "operate_sub_sa_name");
shop.AddProductRemaining = BaseRegex.GetIntJson(ref shopStr, "add_product_remaining");
list.Add(shop); list.Add(shop);
} }
@@ -514,7 +589,8 @@ namespace TemuKJD.KJDForms.AdminForms
})); }));
} }
CheckShopLogin(shopNames, isShowProgress); var shops = lstAdminShopInfo.Where(s => shopNames.Contains(s.LoginName));
CheckShopLogin(shops.ToArray(), isShowProgress);
if (this.Created && isShowProgress) if (this.Created && isShowProgress)
{ {
@@ -526,21 +602,38 @@ namespace TemuKJD.KJDForms.AdminForms
} }
} }
public void CheckShopLogin(string[] shopNames, bool isShowProgress = true) public void CheckShopLogin(ShopLoginInfo[] shops, bool isShowProgress = true)
{ {
for (int i = 0; i < shopNames.Length; i++) var shopLoginNames = shops.Select(s => s.LoginName).Distinct().ToArray();
for (int i = 0; i < shopLoginNames.Length; i++)
{ {
var shop = lstAdminShopInfo.FirstOrDefault(v => v.LoginName == shopNames[i]); var campanys = shops.Where(v => v.LoginName == shopLoginNames[i]).ToList();
var campanys = lstAdminShopInfo.Where(v => v.LoginName == shopNames[i]).ToList(); var shop = shops.FirstOrDefault(v => v.LoginName == shopLoginNames[i]);
// 先从服务端取最新cookie
var serverCampanys = AdminGetServerShopLstByIds(campanys.Select(c => c.ShopId).ToList());
var serverShop = serverCampanys.FirstOrDefault();
if (shop != null && serverShop != null)
{
shop.Cookies = serverShop.Cookies;
shop.Cookies2 = serverShop.Cookies2;
foreach (var sc in campanys)
{
sc.Cookies = serverShop.Cookies;
sc.Cookies2 = serverShop.Cookies2;
}
}
if (shop != null) if (shop != null)
{ {
//var loginResult = "\"code\":0";//GetShopStatus(shop);
var loginResult = ShopListForm.GetShopStatus(shop); var loginResult = ShopListForm.GetShopStatus(shop);
if (!loginResult.Contains("\"success\":true")) if (!loginResult.Contains("\"success\":true"))
{ {
shop.Cookies = "empty=true;";
foreach (var sc in campanys) foreach (var sc in campanys)
{ {
sc.LoginStatus = "未登录"; sc.LoginStatus = "未登录";
shop.Cookies = "empty=true;";
} }
} }
else else
@@ -548,6 +641,7 @@ namespace TemuKJD.KJDForms.AdminForms
foreach (var sc in campanys) foreach (var sc in campanys)
{ {
sc.LoginStatus = "登录成功"; sc.LoginStatus = "登录成功";
sc.LastRefreshDate = DateTime.Now.ToString("yyyyMMdd");
} }
} }
loginResult = ShopListForm.GetShopStatus2(shop); loginResult = ShopListForm.GetShopStatus2(shop);
@@ -575,7 +669,7 @@ namespace TemuKJD.KJDForms.AdminForms
{ {
this.statusBar.lblTaskStatus.Text = "正在检测..."; this.statusBar.lblTaskStatus.Text = "正在检测...";
this.statusBar.pgbTaskProgress.Value = (i + 1); this.statusBar.pgbTaskProgress.Value = (i + 1);
this.statusBar.pgbTaskProgress.Text = (i + 1) + "/" + shopNames.Length; this.statusBar.pgbTaskProgress.Text = (i + 1) + "/" + shopLoginNames.Length;
})); }));
} }
} }
@@ -164,7 +164,7 @@ namespace TemuKJD.KJDForms.AdminForms
{ {
newShop.LoginStatus = "登录成功"; newShop.LoginStatus = "登录成功";
newShop.LastRefreshDate = DateTime.Now.ToString("yyyyMMdd"); newShop.LastRefreshDate = DateTime.Now.ToString("yyyyMMdd");
var html = AdminShopForm.AdminAddServerShop(newShop); // 店铺写入到服务端 var html = AdminShopListForm.AdminAddServerShop(newShop); // 店铺写入到服务端
if (!html.Contains("\"code\":200")) if (!html.Contains("\"code\":200"))
isSuccess = false; isSuccess = false;
} }
@@ -261,7 +261,7 @@ namespace TemuKJD.KJDForms.AdminForms
{ {
newShop.LoginStatus2 = "国际版在线"; newShop.LoginStatus2 = "国际版在线";
newShop.LastRefreshDate = DateTime.Now.ToString("yyyyMMdd"); newShop.LastRefreshDate = DateTime.Now.ToString("yyyyMMdd");
var html = AdminShopForm.AdminAddServerShop(newShop); // 店铺写入到服务端 var html = AdminShopListForm.AdminAddServerShop(newShop); // 店铺写入到服务端
if (!html.Contains("\"code\":200")) if (!html.Contains("\"code\":200"))
isSuccess = false; isSuccess = false;
} }
@@ -29,7 +29,7 @@ namespace TemuKJD.KJDForms.AdminForms
BaseMsgForm.ShowError("商品Id不存在!"); BaseMsgForm.ShowError("商品Id不存在!");
return "failed"; return "failed";
} }
var shop = AdminShopForm.lstAdminShopInfo.FirstOrDefault(s => s.ShopId == supplierId.ToString()); var shop = AdminShopListForm.lstAdminShopInfo.FirstOrDefault(s => s.ShopId == supplierId.ToString());
if (supplierId <= 0 || shop == null) if (supplierId <= 0 || shop == null)
{ {
BaseMsgForm.ShowError("店铺不存在!"); BaseMsgForm.ShowError("店铺不存在!");
@@ -68,7 +68,7 @@
this.panelCopyCookies.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center; this.panelCopyCookies.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.panelCopyCookies.StyleMouseOver.BackColor2.Color = System.Drawing.Color.LightGray; this.panelCopyCookies.StyleMouseOver.BackColor2.Color = System.Drawing.Color.LightGray;
this.panelCopyCookies.TabIndex = 575; this.panelCopyCookies.TabIndex = 575;
this.panelCopyCookies.Text = "复制Cookies成功后点我"; this.panelCopyCookies.Text = "复制Cookie成功后点我";
this.panelCopyCookies.Click += new System.EventHandler(this.panelCopyCookies_Click); this.panelCopyCookies.Click += new System.EventHandler(this.panelCopyCookies_Click);
// //
// panelInstall // panelInstall
@@ -203,7 +203,7 @@
this.label5.Name = "label5"; this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(551, 12); this.label5.Size = new System.Drawing.Size(551, 12);
this.label5.TabIndex = 595; this.label5.TabIndex = 595;
this.label5.Text = "第三步:解除滑块之后,点击点我复制原滑块链接按钮,复制网址到浏览器中,按照下面指示复制cookies"; this.label5.Text = "第三步:解除滑块之后,点击点我复制原滑块链接按钮,复制网址到浏览器中,按照下面指示复制Cookie";
// //
// pictureBox1 // pictureBox1
// //
+68 -69
View File
@@ -70,6 +70,13 @@ namespace TemuKJD.KJDForms.ProductForms
this.btnStop = new DevComponents.DotNetBar.PanelEx(); this.btnStop = new DevComponents.DotNetBar.PanelEx();
this.label1 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label();
this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx(); this.dgvShop = new TemuKJD.UserComponent.DataGridViewEx();
this.colSelect = new TemuKJD.UserComponent.UcDataGridViewCheckBoxColumn(this.components);
this.colShopLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colShopName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colLoginStatus = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colCanUse = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.ucGroupBoxEx99 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components); this.ucGroupBoxEx99 = new TemuKJD.UserComponent.UcGroupBoxEx(this.components);
this.cmbCity = new DevComponents.DotNetBar.Controls.ComboBoxEx(); this.cmbCity = new DevComponents.DotNetBar.Controls.ComboBoxEx();
this.cmbProvince = new DevComponents.DotNetBar.Controls.ComboBoxEx(); this.cmbProvince = new DevComponents.DotNetBar.Controls.ComboBoxEx();
@@ -132,13 +139,6 @@ namespace TemuKJD.KJDForms.ProductForms
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
this.panelEx1 = new DevComponents.DotNetBar.PanelEx(); this.panelEx1 = new DevComponents.DotNetBar.PanelEx();
this.btnClear = new DevComponents.DotNetBar.PanelEx(); this.btnClear = new DevComponents.DotNetBar.PanelEx();
this.colSelect = new TemuKJD.UserComponent.UcDataGridViewCheckBoxColumn(this.components);
this.colShopLoginName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colShopId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colShopName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colLoginStatus = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colCanUse = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.colMessage = new System.Windows.Forms.DataGridViewTextBoxColumn();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout();
@@ -221,17 +221,16 @@ namespace TemuKJD.KJDForms.ProductForms
// //
// ucCheckBox1 // ucCheckBox1
// //
this.ucCheckBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.ucCheckBox1.AutoSize = true; this.ucCheckBox1.AutoSize = true;
this.ucCheckBox1.Checked = true; this.ucCheckBox1.Location = new System.Drawing.Point(557, 34);
this.ucCheckBox1.CheckState = System.Windows.Forms.CheckState.Checked;
this.ucCheckBox1.Location = new System.Drawing.Point(505, 28);
this.ucCheckBox1.Name = "ucCheckBox1"; this.ucCheckBox1.Name = "ucCheckBox1";
this.ucCheckBox1.Size = new System.Drawing.Size(69, 21); this.ucCheckBox1.Size = new System.Drawing.Size(87, 21);
this.ucCheckBox1.TabIndex = 713; this.ucCheckBox1.TabIndex = 713;
this.ucCheckBox1.Text = "123456"; this.ucCheckBox1.Text = "使用新接口";
this.ucCheckBox1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; this.ucCheckBox1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
this.ucCheckBox1.UseVisualStyleBackColor = true; this.ucCheckBox1.UseVisualStyleBackColor = true;
this.ucCheckBox1.Visible = false; this.ucCheckBox1.CheckedChanged += new System.EventHandler(this.chkNewService_CheckedChanged);
// //
// flowLayoutPanel1 // flowLayoutPanel1
// //
@@ -749,6 +748,62 @@ namespace TemuKJD.KJDForms.ProductForms
this.dgvShop.TabIndex = 6; this.dgvShop.TabIndex = 6;
this.dgvShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick); this.dgvShop.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvShop_CellContentClick);
// //
// colSelect
//
this.colSelect.HeaderText = "全选";
this.colSelect.Name = "colSelect";
this.colSelect.ReadOnly = true;
this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colSelect.Width = 28;
//
// colShopLoginName
//
this.colShopLoginName.HeaderText = "店铺登录名";
this.colShopLoginName.Name = "colShopLoginName";
this.colShopLoginName.ReadOnly = true;
this.colShopLoginName.Visible = false;
//
// colShopId
//
this.colShopId.HeaderText = "店铺Id";
this.colShopId.Name = "colShopId";
this.colShopId.ReadOnly = true;
this.colShopId.Visible = false;
this.colShopId.Width = 55;
//
// colShopName
//
this.colShopName.FillWeight = 150F;
this.colShopName.HeaderText = "店铺名称";
this.colShopName.Name = "colShopName";
this.colShopName.ReadOnly = true;
this.colShopName.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colShopName.Width = 75;
//
// colLoginStatus
//
this.colLoginStatus.HeaderText = "登录状态";
this.colLoginStatus.Name = "colLoginStatus";
this.colLoginStatus.ReadOnly = true;
this.colLoginStatus.Width = 65;
//
// colCanUse
//
this.colCanUse.HeaderText = "可用";
this.colCanUse.Name = "colCanUse";
this.colCanUse.ReadOnly = true;
this.colCanUse.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colCanUse.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colCanUse.Width = 28;
//
// colMessage
//
this.colMessage.HeaderText = "消息";
this.colMessage.Name = "colMessage";
this.colMessage.ReadOnly = true;
this.colMessage.Width = 120;
//
// ucGroupBoxEx99 // ucGroupBoxEx99
// //
this.ucGroupBoxEx99.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.ucGroupBoxEx99.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
@@ -1524,62 +1579,6 @@ namespace TemuKJD.KJDForms.ProductForms
this.btnClear.Text = "清空结果"; this.btnClear.Text = "清空结果";
this.btnClear.Visible = false; this.btnClear.Visible = false;
// //
// colSelect
//
this.colSelect.HeaderText = "全选";
this.colSelect.Name = "colSelect";
this.colSelect.ReadOnly = true;
this.colSelect.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colSelect.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colSelect.Width = 28;
//
// colShopLoginName
//
this.colShopLoginName.HeaderText = "店铺登录名";
this.colShopLoginName.Name = "colShopLoginName";
this.colShopLoginName.ReadOnly = true;
this.colShopLoginName.Visible = false;
//
// colShopId
//
this.colShopId.HeaderText = "店铺Id";
this.colShopId.Name = "colShopId";
this.colShopId.ReadOnly = true;
this.colShopId.Visible = false;
this.colShopId.Width = 55;
//
// colShopName
//
this.colShopName.FillWeight = 150F;
this.colShopName.HeaderText = "店铺名称";
this.colShopName.Name = "colShopName";
this.colShopName.ReadOnly = true;
this.colShopName.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colShopName.Width = 75;
//
// colLoginStatus
//
this.colLoginStatus.HeaderText = "登录状态";
this.colLoginStatus.Name = "colLoginStatus";
this.colLoginStatus.ReadOnly = true;
this.colLoginStatus.Width = 65;
//
// colCanUse
//
this.colCanUse.HeaderText = "可用";
this.colCanUse.Name = "colCanUse";
this.colCanUse.ReadOnly = true;
this.colCanUse.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colCanUse.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colCanUse.Width = 28;
//
// colMessage
//
this.colMessage.HeaderText = "消息";
this.colMessage.Name = "colMessage";
this.colMessage.ReadOnly = true;
this.colMessage.Width = 120;
//
// SaleStockUpForm // SaleStockUpForm
// //
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
@@ -27,6 +27,8 @@ namespace TemuKJD.KJDForms.ProductForms
/// </summary> /// </summary>
public partial class SaleStockUpForm : BaseForm public partial class SaleStockUpForm : BaseForm
{ {
public bool isNewService = false;
private CheckBox chkSelectAll = null; private CheckBox chkSelectAll = null;
//private CheckBox chkCheckAll = null; //private CheckBox chkCheckAll = null;
public CancellationTokenSource cancellationTokenSource { get; set; } = null; public CancellationTokenSource cancellationTokenSource { get; set; } = null;
@@ -350,13 +352,16 @@ namespace TemuKJD.KJDForms.ProductForms
} }
/// <summary> /// <summary>
/// 根据店铺获取备货单列表 /// 根据店铺获取备货单列表 首页--备货单管理--我的备货单
/// </summary> /// </summary>
/// <param name="shop"></param> /// <param name="shop"></param>
/// <param name="page"></param> /// <param name="page"></param>
/// <returns></returns> /// <returns></returns>
private string GetShopStockList(ShopLoginInfo shop, int page = 1, string type = "待创建") private string GetShopStockList(ShopLoginInfo shop, int page = 1, string type = "待创建")
{ {
if (isNewService)
return GetShopStockList2(shop, page, type);
page = Math.Max(page, 1); page = Math.Max(page, 1);
string url = "https://seller.kuajingmaihuo.com/oms/bg/venom/api/supplier/purchase/manager/querySubOrderList"; string url = "https://seller.kuajingmaihuo.com/oms/bg/venom/api/supplier/purchase/manager/querySubOrderList";
string body; string body;
@@ -370,14 +375,32 @@ namespace TemuKJD.KJDForms.ProductForms
return KJDHttpResponse.PostResponse(shop, url, body,refere); return KJDHttpResponse.PostResponse(shop, url, body,refere);
} }
private string GetShopStockList2(ShopLoginInfo shop, int page = 1, string type = "待创建")
{
page = Math.Max(page, 1);
string url = "https://agentseller.temu.com/mms/venom/api/supplier/purchase/manager/querySubOrderList";
string body;
if (type == "已送货")
body = @"{""pageNo"":" + page + @",""pageSize"":20,""urgencyType"":0,""isCustomGoods"":false,""statusList"":[2],""oneDimensionSort"":{""firstOrderByParam"":""realDeliverTime"",""firstOrderByDesc"":1}}"; //已送货
else
body = @"{""pageNo"":" + page + @",""pageSize"":20,""urgencyType"":0,""isCustomGoods"":false,""statusList"":[0],""oneDimensionSort"":{""firstOrderByParam"":""expectLatestDeliverTime"",""firstOrderByDesc"":0}}"; //待创建
string refere = "https://agentseller.temu.com/stock/fully-mgt/order-manage-urgency";
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
}
/// <summary> /// <summary>
/// 取消待创建 /// 取消待创建备货单 首页--备货单管理--我的备货单
/// </summary> /// </summary>
/// <param name="shop"></param> /// <param name="shop"></param>
/// <param name="subPurchaseOrderSn"></param> /// <param name="subPurchaseOrderSn"></param>
/// <returns></returns> /// <returns></returns>
private string CancelSubPurchaseOrder(ShopLoginInfo shop, string subPurchaseOrderSn) private string CancelSubPurchaseOrder(ShopLoginInfo shop, string subPurchaseOrderSn)
{ {
if (isNewService)
return CancelSubPurchaseOrder2(shop, subPurchaseOrderSn);
string url = "https://seller.kuajingmaihuo.com/oms/bg/venom/api/supplier/purchase/manager/batchCancelSubPurchaseOrder"; string url = "https://seller.kuajingmaihuo.com/oms/bg/venom/api/supplier/purchase/manager/batchCancelSubPurchaseOrder";
string body = "{\"subPurchaseOrderSnList\":[\"" + subPurchaseOrderSn + "\"]}"; string body = "{\"subPurchaseOrderSnList\":[\"" + subPurchaseOrderSn + "\"]}";
string refere = "https://seller.kuajingmaihuo.com/main/order-manage"; string refere = "https://seller.kuajingmaihuo.com/main/order-manage";
@@ -385,8 +408,26 @@ namespace TemuKJD.KJDForms.ProductForms
return KJDHttpResponse.PostResponse(shop, url, body, refere); return KJDHttpResponse.PostResponse(shop, url, body, refere);
} }
private string CancelSubPurchaseOrder2(ShopLoginInfo shop, string subPurchaseOrderSn)
{
string url = "https://agentseller.temu.com/mms/venom/api/supplier/purchase/manager/batchCancelSubPurchaseOrder";
string body = "{\"subPurchaseOrderSnList\":[\"" + subPurchaseOrderSn + "\"]}";
string refere = "https://agentseller.temu.com/stock/fully-mgt/order-manage";
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
}
/// <summary>
/// 查询销售列表
/// </summary>
/// <param name="shop"></param>
/// <param name="page"></param>
/// <returns></returns>
private string GetWarehouseList(ShopLoginInfo shop, int page = 1) private string GetWarehouseList(ShopLoginInfo shop, int page = 1)
{ {
if (isNewService)
return GetWarehouseList2(shop, page);
page = Math.Max(page, 1); page = Math.Max(page, 1);
string url = "https://seller.kuajingmaihuo.com/marvel-mms/cn/api/kiana/venom/sales/management/listWarehouse"; 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"":10,""isLack"":0,""selectStatusList"":[12],""priceAdjustRecentDays"":7}";
@@ -395,6 +436,16 @@ namespace TemuKJD.KJDForms.ProductForms
return KJDHttpResponse.PostResponse(shop, url, body, refere); return KJDHttpResponse.PostResponse(shop, url, body, refere);
} }
private string GetWarehouseList2(ShopLoginInfo shop, int page = 1)
{
page = Math.Max(page, 1);
string url = "https://agentseller.temu.com/mms/venom/api/supplier/sales/management/listWarehouse";
string body = @"{""pageNo"":" + page + @",""pageSize"":10,""isLack"":0,""selectStatusList"":[12],""priceAdjustRecentDays"":7}";
string refere = "https://agentseller.temu.com/stock/fully-mgt/sale-manage/main";
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
}
/// <summary> /// <summary>
/// 查询单个商品申请备货条件 /// 查询单个商品申请备货条件
/// </summary> /// </summary>
@@ -403,13 +454,25 @@ namespace TemuKJD.KJDForms.ProductForms
/// <returns></returns> /// <returns></returns>
private string QueryStockBaseInfo(ShopLoginInfo shop, SubOrderInfo subOrderInfo) private string QueryStockBaseInfo(ShopLoginInfo shop, SubOrderInfo subOrderInfo)
{ {
if (isNewService)
return QueryStockBaseInfo2(shop, subOrderInfo);
string url = "https://seller.kuajingmaihuo.com/oms/bg/venom/api/supplier/sales/management/queryStockBaseInfo"; string url = "https://seller.kuajingmaihuo.com/oms/bg/venom/api/supplier/sales/management/queryStockBaseInfo";
string body = "{\"productSkcId\":" + subOrderInfo.productSkcId string body = "{\"productSkcId\":" + subOrderInfo.productSkcId
+ ",\"warehouseGroupId\":" + subOrderInfo.warehouseGroupIdList.FirstOrDefault() + "}"; + ",\"warehouseGroupId\":" + subOrderInfo.warehouseGroupIdList.FirstOrDefault() + "}";
string refere = "https://seller.kuajingmaihuo.com/main/sale-manage/main"; string refere = "https://seller.kuajingmaihuo.com/main/sale-manage/main";
return KJDHttpResponse.PostResponse(shop, url, body, refere); return KJDHttpResponse.PostResponse(shop, url, body, refere);
} }
private string QueryStockBaseInfo2(ShopLoginInfo shop, SubOrderInfo subOrderInfo)
{
string url = "https://agentseller.temu.com/mms/venom/api/supplier/sales/management/queryStockBaseInfo";
string body = "{\"productSkcId\":" + subOrderInfo.productSkcId
+ ",\"warehouseGroupId\":" + subOrderInfo.warehouseGroupIdList.FirstOrDefault() + "}";
string refere = "https://agentseller.temu.com/stock/fully-mgt/sale-manage/main";
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
}
/// <summary> /// <summary>
/// 单个商品申请备货 /// 单个商品申请备货
/// </summary> /// </summary>
@@ -418,6 +481,9 @@ namespace TemuKJD.KJDForms.ProductForms
/// <returns></returns> /// <returns></returns>
private string CreateStockOrder(ShopLoginInfo shop, SubOrderInfo subOrderInfo) private string CreateStockOrder(ShopLoginInfo shop, SubOrderInfo subOrderInfo)
{ {
if (isNewService)
return CreateStockOrder2(shop, subOrderInfo);
string url = "https://seller.kuajingmaihuo.com/oms/bg/venom/api/supplier/sales/management/createStockOrder"; string url = "https://seller.kuajingmaihuo.com/oms/bg/venom/api/supplier/sales/management/createStockOrder";
string body = "{\"productSkcId\":" + subOrderInfo.productSkcId + "," + string body = "{\"productSkcId\":" + subOrderInfo.productSkcId + "," +
"\"purchaseDetailList\":["; "\"purchaseDetailList\":[";
@@ -432,6 +498,22 @@ namespace TemuKJD.KJDForms.ProductForms
return KJDHttpResponse.PostResponse(shop, url, body, refere); return KJDHttpResponse.PostResponse(shop, url, body, refere);
} }
private string CreateStockOrder2(ShopLoginInfo shop, SubOrderInfo subOrderInfo)
{
string url = "https://agentseller.temu.com/mms/venom/api/supplier/sales/management/createStockOrder";
string body = "{\"productSkcId\":" + subOrderInfo.productSkcId + "," +
"\"purchaseDetailList\":[";
foreach (var sku in subOrderInfo.skuQuantityDetailList)
{
if (sku.wantStockUpBound > 0)
body += "{\"productSkuId\":" + sku.productSkuId + ",\"productSkuPurchaseQuantity\":\"" + sku.wantStockUpBound + "\"},";
}
body = body.TrimEnd(',');
body += "],\"warehouseGroupId\":" + subOrderInfo.warehouseGroupIdList.FirstOrDefault() + "}";
string refere = "https://agentseller.temu.com/stock/fully-mgt/sale-manage/main";
return KJDHttpResponse.PostResponse2(shop, url, body, refere);
}
private void dgvShop_CellContentClick(object sender, DataGridViewCellEventArgs e) private void dgvShop_CellContentClick(object sender, DataGridViewCellEventArgs e)
{ {
@@ -1042,5 +1124,10 @@ namespace TemuKJD.KJDForms.ProductForms
this.lblMinBound.Text = "备货量小于" + txtMinBound.Text.ParseToInt() + "按"; this.lblMinBound.Text = "备货量小于" + txtMinBound.Text.ParseToInt() + "按";
//this.chkIfLessMakeZero.Text = "平台允许备货数量小于" + txtMinBound.Text.ParseToInt() + "不备货"; //this.chkIfLessMakeZero.Text = "平台允许备货数量小于" + txtMinBound.Text.ParseToInt() + "不备货";
} }
private void chkNewService_CheckedChanged(object sender, EventArgs e)
{
this.isNewService = ucCheckBox1.Checked;
}
} }
} }
@@ -430,17 +430,17 @@ namespace TemuKJD.KJDForms.ProductSelectForms
int maxNum = 19; int maxNum = 19;
if (numbers.Count > 0 && numbers[0] > 0) if (numbers.Count > 0 && numbers[0] > 0)
{ {
minNum = numbers[0]; minNum = numbers[0];
if (numbers.Count > 1 && numbers[1] > 0)
{
maxNum = numbers[1];
}
if (maxNum < minNum)
{
maxNum = minNum;
}
headWords += Randomx.GetId(minNum, maxNum + 1) + "个";
} }
if (numbers.Count > 1 && numbers[1] > 0)
{
maxNum = numbers[1];
}
if (maxNum < minNum)
{
maxNum = minNum;
}
headWords += Randomx.GetId(minNum, maxNum + 1) + "个";
} }
//string endWords = string.IsNullOrEmpty(prod.end_words) ? "适合不同的搭配风格" : prod.end_words; //string endWords = string.IsNullOrEmpty(prod.end_words) ? "适合不同的搭配风格" : prod.end_words;
@@ -33,6 +33,10 @@
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = 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 dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DbProductSelectListManageForm)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DbProductSelectListManageForm));
this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.btnReFission = new TemuKJD.UserControls.ButtonEx(); this.btnReFission = new TemuKJD.UserControls.ButtonEx();
@@ -62,6 +66,8 @@
this.splitContainer2 = new System.Windows.Forms.SplitContainer(); this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.pbLoading = new System.Windows.Forms.PictureBox(); this.pbLoading = new System.Windows.Forms.PictureBox();
this.dgvSelectProduct = new TemuKJD.UserComponent.DataGridViewEx(); this.dgvSelectProduct = new TemuKJD.UserComponent.DataGridViewEx();
this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn(); this.colSelect = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.colSelectId = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colSelectId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colSupplierId = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colSupplierId = new System.Windows.Forms.DataGridViewTextBoxColumn();
@@ -79,6 +85,7 @@
this.colExtCode = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colExtCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colStatus = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colStatus = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colDraftId = new System.Windows.Forms.DataGridViewLinkColumn(); this.colDraftId = new System.Windows.Forms.DataGridViewLinkColumn();
this.colAddTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colMdyTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colMdyTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colSubSa = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colSubSa = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colSubSaNick = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colSubSaNick = new System.Windows.Forms.DataGridViewTextBoxColumn();
@@ -86,8 +93,6 @@
this.colEditNotes = new System.Windows.Forms.DataGridViewLinkColumn(); this.colEditNotes = new System.Windows.Forms.DataGridViewLinkColumn();
this.colDelete = new System.Windows.Forms.DataGridViewLinkColumn(); this.colDelete = new System.Windows.Forms.DataGridViewLinkColumn();
this.colOpResult = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colOpResult = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
this.statusBar = new TemuKJD.UserControls.StatusBarUserControl();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout();
@@ -522,6 +527,7 @@
this.colExtCode, this.colExtCode,
this.colStatus, this.colStatus,
this.colDraftId, this.colDraftId,
this.colAddTime,
this.colMdyTime, this.colMdyTime,
this.colSubSa, this.colSubSa,
this.colSubSaNick, this.colSubSaNick,
@@ -540,6 +546,29 @@
this.dgvSelectProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSelectProduct_CellContentClick); this.dgvSelectProduct.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgvSelectProduct_CellContentClick);
this.dgvSelectProduct.Scroll += new System.Windows.Forms.ScrollEventHandler(this.dgvSelectProduct_Scroll); this.dgvSelectProduct.Scroll += new System.Windows.Forms.ScrollEventHandler(this.dgvSelectProduct_Scroll);
// //
// ucSplitPage1
//
this.ucSplitPage1.CurrentPage = 1;
this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right;
this.ucSplitPage1.Location = new System.Drawing.Point(1076, 0);
this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0);
this.ucSplitPage1.Name = "ucSplitPage1";
this.ucSplitPage1.Padding = new System.Windows.Forms.Padding(0, 0, 1, 0);
this.ucSplitPage1.Size = new System.Drawing.Size(362, 25);
this.ucSplitPage1.TabIndex = 6;
this.ucSplitPage1.TotalPage = 1;
//
// statusBar
//
this.statusBar.BackColor = System.Drawing.Color.White;
this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.statusBar.Location = new System.Drawing.Point(0, 0);
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
this.statusBar.Name = "statusBar";
this.statusBar.Size = new System.Drawing.Size(1438, 25);
this.statusBar.TabIndex = 5;
//
// colSelect // colSelect
// //
this.colSelect.HeaderText = "选择"; this.colSelect.HeaderText = "选择";
@@ -587,21 +616,21 @@
// //
// colImportCookies // colImportCookies
// //
this.colImportCookies.HeaderText = "导入Cookies"; this.colImportCookies.HeaderText = "导入Cookie";
this.colImportCookies.Name = "colImportCookies"; this.colImportCookies.Name = "colImportCookies";
this.colImportCookies.ReadOnly = true; this.colImportCookies.ReadOnly = true;
this.colImportCookies.Resizable = System.Windows.Forms.DataGridViewTriState.True; this.colImportCookies.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colImportCookies.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; this.colImportCookies.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colImportCookies.Width = 85; this.colImportCookies.Width = 80;
// //
// colCopyCookies // colCopyCookies
// //
this.colCopyCookies.HeaderText = "复制Cookies"; this.colCopyCookies.HeaderText = "复制Cookie";
this.colCopyCookies.Name = "colCopyCookies"; this.colCopyCookies.Name = "colCopyCookies";
this.colCopyCookies.ReadOnly = true; this.colCopyCookies.ReadOnly = true;
this.colCopyCookies.Resizable = System.Windows.Forms.DataGridViewTriState.True; this.colCopyCookies.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colCopyCookies.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; this.colCopyCookies.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colCopyCookies.Width = 85; this.colCopyCookies.Width = 80;
// //
// colSpuId // colSpuId
// //
@@ -644,14 +673,16 @@
this.colProductName.HeaderText = "商品标题"; this.colProductName.HeaderText = "商品标题";
this.colProductName.Name = "colProductName"; this.colProductName.Name = "colProductName";
this.colProductName.ReadOnly = true; this.colProductName.ReadOnly = true;
this.colProductName.Width = 180; this.colProductName.Width = 160;
// //
// colProductCat // colProductCat
// //
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colProductCat.DefaultCellStyle = dataGridViewCellStyle4;
this.colProductCat.HeaderText = "商品类目"; this.colProductCat.HeaderText = "商品类目";
this.colProductCat.Name = "colProductCat"; this.colProductCat.Name = "colProductCat";
this.colProductCat.ReadOnly = true; this.colProductCat.ReadOnly = true;
this.colProductCat.Width = 90; this.colProductCat.Width = 72;
// //
// colExtCode // colExtCode
// //
@@ -676,12 +707,23 @@
this.colDraftId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; this.colDraftId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colDraftId.Width = 88; this.colDraftId.Width = 88;
// //
// colAddTime
//
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colAddTime.DefaultCellStyle = dataGridViewCellStyle5;
this.colAddTime.HeaderText = "认领时间";
this.colAddTime.Name = "colAddTime";
this.colAddTime.ReadOnly = true;
this.colAddTime.Width = 65;
//
// colMdyTime // colMdyTime
// //
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colMdyTime.DefaultCellStyle = dataGridViewCellStyle6;
this.colMdyTime.HeaderText = "上传时间"; this.colMdyTime.HeaderText = "上传时间";
this.colMdyTime.Name = "colMdyTime"; this.colMdyTime.Name = "colMdyTime";
this.colMdyTime.ReadOnly = true; this.colMdyTime.ReadOnly = true;
this.colMdyTime.Width = 95; this.colMdyTime.Width = 65;
// //
// colSubSa // colSubSa
// //
@@ -692,15 +734,17 @@
// //
// colSubSaNick // colSubSaNick
// //
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colSubSaNick.DefaultCellStyle = dataGridViewCellStyle7;
this.colSubSaNick.HeaderText = "二级超管"; this.colSubSaNick.HeaderText = "二级超管";
this.colSubSaNick.Name = "colSubSaNick"; this.colSubSaNick.Name = "colSubSaNick";
this.colSubSaNick.ReadOnly = true; this.colSubSaNick.ReadOnly = true;
this.colSubSaNick.Width = 80; this.colSubSaNick.Width = 65;
// //
// colNotes // colNotes
// //
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True; dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colNotes.DefaultCellStyle = dataGridViewCellStyle4; this.colNotes.DefaultCellStyle = dataGridViewCellStyle8;
this.colNotes.HeaderText = "备注"; this.colNotes.HeaderText = "备注";
this.colNotes.Name = "colNotes"; this.colNotes.Name = "colNotes";
this.colNotes.ReadOnly = true; this.colNotes.ReadOnly = true;
@@ -728,29 +772,6 @@
this.colOpResult.ReadOnly = true; this.colOpResult.ReadOnly = true;
this.colOpResult.Width = 150; this.colOpResult.Width = 150;
// //
// ucSplitPage1
//
this.ucSplitPage1.CurrentPage = 1;
this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right;
this.ucSplitPage1.Location = new System.Drawing.Point(1076, 0);
this.ucSplitPage1.Margin = new System.Windows.Forms.Padding(0);
this.ucSplitPage1.Name = "ucSplitPage1";
this.ucSplitPage1.Padding = new System.Windows.Forms.Padding(0, 0, 1, 0);
this.ucSplitPage1.Size = new System.Drawing.Size(362, 25);
this.ucSplitPage1.TabIndex = 6;
this.ucSplitPage1.TotalPage = 1;
//
// statusBar
//
this.statusBar.BackColor = System.Drawing.Color.White;
this.statusBar.Dock = System.Windows.Forms.DockStyle.Fill;
this.statusBar.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.statusBar.Location = new System.Drawing.Point(0, 0);
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
this.statusBar.Name = "statusBar";
this.statusBar.Size = new System.Drawing.Size(1438, 25);
this.statusBar.TabIndex = 5;
//
// DbProductSelectListManageForm // DbProductSelectListManageForm
// //
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
@@ -812,6 +833,7 @@
private UserComponent.DataGridViewEx dgvSelectProduct; private UserComponent.DataGridViewEx dgvSelectProduct;
private UserComponent.UcCheckBox chkShowDel; private UserComponent.UcCheckBox chkShowDel;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1; private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private UserControls.ButtonEx btnReFission;
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
private System.Windows.Forms.DataGridViewTextBoxColumn colSelectId; private System.Windows.Forms.DataGridViewTextBoxColumn colSelectId;
private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierId; private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierId;
@@ -829,6 +851,7 @@
private System.Windows.Forms.DataGridViewTextBoxColumn colExtCode; private System.Windows.Forms.DataGridViewTextBoxColumn colExtCode;
private System.Windows.Forms.DataGridViewTextBoxColumn colStatus; private System.Windows.Forms.DataGridViewTextBoxColumn colStatus;
private System.Windows.Forms.DataGridViewLinkColumn colDraftId; private System.Windows.Forms.DataGridViewLinkColumn colDraftId;
private System.Windows.Forms.DataGridViewTextBoxColumn colAddTime;
private System.Windows.Forms.DataGridViewTextBoxColumn colMdyTime; private System.Windows.Forms.DataGridViewTextBoxColumn colMdyTime;
private System.Windows.Forms.DataGridViewTextBoxColumn colSubSa; private System.Windows.Forms.DataGridViewTextBoxColumn colSubSa;
private System.Windows.Forms.DataGridViewTextBoxColumn colSubSaNick; private System.Windows.Forms.DataGridViewTextBoxColumn colSubSaNick;
@@ -836,6 +859,5 @@
private System.Windows.Forms.DataGridViewLinkColumn colEditNotes; private System.Windows.Forms.DataGridViewLinkColumn colEditNotes;
private System.Windows.Forms.DataGridViewLinkColumn colDelete; private System.Windows.Forms.DataGridViewLinkColumn colDelete;
private System.Windows.Forms.DataGridViewTextBoxColumn colOpResult; private System.Windows.Forms.DataGridViewTextBoxColumn colOpResult;
private UserControls.ButtonEx btnReFission;
} }
} }
@@ -107,7 +107,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms
this.ucSplitPage1.TotalPage = pageCount; this.ucSplitPage1.TotalPage = pageCount;
var shopIdLst = list.Select(p => p.shop_id).Distinct().ToList(); var shopIdLst = list.Select(p => p.shop_id).Distinct().ToList();
shopLst = AdminGetServerShopLst(shopIdLst); shopLst = AdminShopListForm.AdminGetServerShopLstByIds(shopIdLst);
if (defaultBitmap == null) if (defaultBitmap == null)
defaultBitmap = new Bitmap(80, 80); defaultBitmap = new Bitmap(80, 80);
@@ -128,8 +128,8 @@ namespace TemuKJD.KJDForms.ProductSelectForms
prodSelect.shop_account, prodSelect.shop_account,
"进店", "进店",
shopLst.FirstOrDefault(s=>s.ShopId == prodSelect.shop_id)?.LoginStatus2 == "国际版在线" ? "在线" : "登录", shopLst.FirstOrDefault(s=>s.ShopId == prodSelect.shop_id)?.LoginStatus2 == "国际版在线" ? "在线" : "登录",
"导入Cookies", "导入Cookie",
"复制Cookies", "复制Cookie",
prodSelect.spu_id, prodSelect.spu_id,
prodSelect.skc_id, prodSelect.skc_id,
prodSelect.main_img.Replace("https:","http:"), prodSelect.main_img.Replace("https:","http:"),
@@ -139,7 +139,8 @@ namespace TemuKJD.KJDForms.ProductSelectForms
prodSelect.ext_code, prodSelect.ext_code,
prodSelect.status, prodSelect.status,
prodSelect.draft_id, prodSelect.draft_id,
prodSelect.status == "待上传" ? "-" : prodSelect.mdy_time.ToString("yy/MM/dd HH:mm"), prodSelect.add_time.ToString("yy/MM/dd\r\n HH:mm"),
prodSelect.status == "待上传" ? "-" : prodSelect.mdy_time.ToString("yy/MM/dd\r\n HH:mm"),
prodSelect.operate_sub_sa_name == "" ? "-" : prodSelect.operate_sub_sa_name, prodSelect.operate_sub_sa_name == "" ? "-" : prodSelect.operate_sub_sa_name,
prodSelect.operate_sub_sa_nick == "" ? "-" : prodSelect.operate_sub_sa_nick, prodSelect.operate_sub_sa_nick == "" ? "-" : prodSelect.operate_sub_sa_nick,
prodSelect.notes, prodSelect.notes,
@@ -342,15 +343,15 @@ namespace TemuKJD.KJDForms.ProductSelectForms
} }
break; break;
case "导入Cookies": case "导入Cookie":
{ {
var shop = GetShop(shopId); var shop = GetShop(shopId);
ShopUpdateCookieForm updateCookieForm = new ShopUpdateCookieForm(shop, SetCookieFromEnum.sa, "国际版"); ShopUpdateCookieForm updateCookieForm = new ShopUpdateCookieForm(shop, SetCookieFromEnum.sa, "国内版");
updateCookieForm.SaveComplete += UpdateCookieForm_SaveComplete; updateCookieForm.SaveComplete += UpdateCookieForm_SaveComplete;
updateCookieForm.ShowDialog(); updateCookieForm.ShowDialog();
} }
break; break;
case "复制Cookies": case "复制Cookie":
{ {
var shop = GetShop(shopId); var shop = GetShop(shopId);
string cookJs = ""; string cookJs = "";
@@ -653,62 +654,10 @@ namespace TemuKJD.KJDForms.ProductSelectForms
public ShopLoginInfo AdminGetServerShop(string shop_id) public ShopLoginInfo AdminGetServerShop(string shop_id)
{ {
List<ShopLoginInfo> list = AdminGetServerShopLst(new string[] { shop_id }.ToList()); List<ShopLoginInfo> list = AdminShopListForm.AdminGetServerShopLstByIds(new string[] { shop_id }.ToList());
return list.FirstOrDefault(); return list.FirstOrDefault();
} }
public List<ShopLoginInfo> AdminGetServerShopLst(List<string> shop_ids)
{
List<ShopLoginInfo> list = new List<ShopLoginInfo>();
var url = BaseClass.BuildObjString("shop/admin_get_shop_list");
var data = UserLogin.GetSignaturex() +
"&shop_ids='" + string.Join("','", shop_ids) + "'";
data += "&page_size=200";
var html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html)
|| !html.Contains("shop_id") || !html.Contains("shop_account") || !html.Contains("login_pass"))
{
return new List<ShopLoginInfo>();
}
var jArr = JObject.Parse(html)["data"];
if (jArr.Count() == 0)
return new List<ShopLoginInfo>();
foreach (JObject jObj in jArr)
{
string shopStr = jObj.ToString();
ShopLoginInfo shop = new ShopLoginInfo();
shop.DbId = BaseRegex.GetStringJson(ref shopStr, "id");
if (shop.DbId == null)
continue;
shop.LoginName = BaseRegex.GetStringJson(ref shopStr, "login_name");
shop.Password = BaseRegex.GetStringJson(ref shopStr, "login_pass");
shop.ShopId = BaseRegex.GetStringJson(ref shopStr, "shop_id");
shop.ShopAccount = BaseRegex.GetStringJson(ref shopStr, "shop_account");
shop.UserName = BaseRegex.GetStringJson(ref shopStr, "user_name");
shop.SubUserName = BaseRegex.GetStringJson(ref shopStr, "sub_user_name");
shop.GroupName = BaseRegex.GetStringJson(ref shopStr, "shop_group");
shop.Cookies = BaseRegex.GetStringJson(ref shopStr, "cookie");
shop.Cookies = shop.Cookies.Replace("&", "&").Replace("%", "%").Replace("+", "+");
shop.Cookies2 = BaseRegex.GetStringJson(ref shopStr, "cookie2");
shop.Cookies2 = shop.Cookies2.Replace("&", "&").Replace("%", "%").Replace("+", "+");
shop.CompanyName = BaseRegex.GetStringJson(ref shopStr, "company_name");
shop.Notes = BaseRegex.GetStringJson(ref shopStr, "notes");
shop.LoginStatus = BaseRegex.GetStringJson(ref shopStr, "login_status");
shop.LoginStatus2 = BaseRegex.GetStringJson(ref shopStr, "login_status2");
shop.OperateSubSaName = BaseRegex.GetStringJson(ref shopStr, "operate_sub_sa_name");
list.Add(shop);
}
return list;
}
public static TemuDBProduct GetProductDetail(string prodDbId) public static TemuDBProduct GetProductDetail(string prodDbId)
{ {
if (string.IsNullOrEmpty(prodDbId)) if (string.IsNullOrEmpty(prodDbId))
@@ -165,6 +165,9 @@
<metadata name="colDraftId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="colDraftId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<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"> <metadata name="colMdyTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
@@ -33,6 +33,10 @@
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle2 = 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 dataGridViewCellStyle3 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle(); System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle4 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle5 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle6 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle7 = new System.Windows.Forms.DataGridViewCellStyle();
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle8 = new System.Windows.Forms.DataGridViewCellStyle();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ProductThirdSelectListManageForm)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ProductThirdSelectListManageForm));
this.splitContainer1 = new System.Windows.Forms.SplitContainer(); this.splitContainer1 = new System.Windows.Forms.SplitContainer();
this.pbFissionSetting = new System.Windows.Forms.PictureBox(); this.pbFissionSetting = new System.Windows.Forms.PictureBox();
@@ -80,6 +84,7 @@
this.colExtCode = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colExtCode = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colStatus = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colStatus = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colDraftId = new System.Windows.Forms.DataGridViewLinkColumn(); this.colDraftId = new System.Windows.Forms.DataGridViewLinkColumn();
this.colAddTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colMdyTime = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colMdyTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colSubSa = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colSubSa = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colSubSaNick = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.colSubSaNick = new System.Windows.Forms.DataGridViewTextBoxColumn();
@@ -539,6 +544,7 @@
this.colExtCode, this.colExtCode,
this.colStatus, this.colStatus,
this.colDraftId, this.colDraftId,
this.colAddTime,
this.colMdyTime, this.colMdyTime,
this.colSubSa, this.colSubSa,
this.colSubSaNick, this.colSubSaNick,
@@ -604,21 +610,21 @@
// //
// colImportCookies // colImportCookies
// //
this.colImportCookies.HeaderText = "导入Cookies"; this.colImportCookies.HeaderText = "导入Cookie";
this.colImportCookies.Name = "colImportCookies"; this.colImportCookies.Name = "colImportCookies";
this.colImportCookies.ReadOnly = true; this.colImportCookies.ReadOnly = true;
this.colImportCookies.Resizable = System.Windows.Forms.DataGridViewTriState.True; this.colImportCookies.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colImportCookies.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; this.colImportCookies.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colImportCookies.Width = 85; this.colImportCookies.Width = 80;
// //
// colCopyCookies // colCopyCookies
// //
this.colCopyCookies.HeaderText = "复制Cookies"; this.colCopyCookies.HeaderText = "复制Cookie";
this.colCopyCookies.Name = "colCopyCookies"; this.colCopyCookies.Name = "colCopyCookies";
this.colCopyCookies.ReadOnly = true; this.colCopyCookies.ReadOnly = true;
this.colCopyCookies.Resizable = System.Windows.Forms.DataGridViewTriState.True; this.colCopyCookies.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colCopyCookies.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; this.colCopyCookies.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colCopyCookies.Width = 85; this.colCopyCookies.Width = 80;
// //
// colSpuId // colSpuId
// //
@@ -661,14 +667,16 @@
this.colProductName.HeaderText = "商品标题"; this.colProductName.HeaderText = "商品标题";
this.colProductName.Name = "colProductName"; this.colProductName.Name = "colProductName";
this.colProductName.ReadOnly = true; this.colProductName.ReadOnly = true;
this.colProductName.Width = 180; this.colProductName.Width = 160;
// //
// colProductCat // colProductCat
// //
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colProductCat.DefaultCellStyle = dataGridViewCellStyle4;
this.colProductCat.HeaderText = "商品类目"; this.colProductCat.HeaderText = "商品类目";
this.colProductCat.Name = "colProductCat"; this.colProductCat.Name = "colProductCat";
this.colProductCat.ReadOnly = true; this.colProductCat.ReadOnly = true;
this.colProductCat.Width = 90; this.colProductCat.Width = 72;
// //
// colExtCode // colExtCode
// //
@@ -693,12 +701,23 @@
this.colDraftId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic; this.colDraftId.SortMode = System.Windows.Forms.DataGridViewColumnSortMode.Automatic;
this.colDraftId.Width = 88; this.colDraftId.Width = 88;
// //
// colAddTime
//
dataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colAddTime.DefaultCellStyle = dataGridViewCellStyle5;
this.colAddTime.HeaderText = "添加时间";
this.colAddTime.Name = "colAddTime";
this.colAddTime.ReadOnly = true;
this.colAddTime.Width = 65;
//
// colMdyTime // colMdyTime
// //
dataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colMdyTime.DefaultCellStyle = dataGridViewCellStyle6;
this.colMdyTime.HeaderText = "上传时间"; this.colMdyTime.HeaderText = "上传时间";
this.colMdyTime.Name = "colMdyTime"; this.colMdyTime.Name = "colMdyTime";
this.colMdyTime.ReadOnly = true; this.colMdyTime.ReadOnly = true;
this.colMdyTime.Width = 95; this.colMdyTime.Width = 65;
// //
// colSubSa // colSubSa
// //
@@ -709,15 +728,17 @@
// //
// colSubSaNick // colSubSaNick
// //
dataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colSubSaNick.DefaultCellStyle = dataGridViewCellStyle7;
this.colSubSaNick.HeaderText = "二级超管"; this.colSubSaNick.HeaderText = "二级超管";
this.colSubSaNick.Name = "colSubSaNick"; this.colSubSaNick.Name = "colSubSaNick";
this.colSubSaNick.ReadOnly = true; this.colSubSaNick.ReadOnly = true;
this.colSubSaNick.Width = 80; this.colSubSaNick.Width = 65;
// //
// colNotes // colNotes
// //
dataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.True; dataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.True;
this.colNotes.DefaultCellStyle = dataGridViewCellStyle4; this.colNotes.DefaultCellStyle = dataGridViewCellStyle8;
this.colNotes.HeaderText = "备注"; this.colNotes.HeaderText = "备注";
this.colNotes.Name = "colNotes"; this.colNotes.Name = "colNotes";
this.colNotes.ReadOnly = true; this.colNotes.ReadOnly = true;
@@ -831,6 +852,8 @@
private System.Windows.Forms.Label label4; private System.Windows.Forms.Label label4;
private System.Windows.Forms.TextBox txtProdName; private System.Windows.Forms.TextBox txtProdName;
private UserComponent.UcCheckBox chkNoSubSa; private UserComponent.UcCheckBox chkNoSubSa;
private UserControls.ButtonEx btnReFission;
private System.Windows.Forms.PictureBox pbFissionSetting;
private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect; private System.Windows.Forms.DataGridViewCheckBoxColumn colSelect;
private System.Windows.Forms.DataGridViewTextBoxColumn colSelectId; private System.Windows.Forms.DataGridViewTextBoxColumn colSelectId;
private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierId; private System.Windows.Forms.DataGridViewTextBoxColumn colSupplierId;
@@ -848,6 +871,7 @@
private System.Windows.Forms.DataGridViewTextBoxColumn colExtCode; private System.Windows.Forms.DataGridViewTextBoxColumn colExtCode;
private System.Windows.Forms.DataGridViewTextBoxColumn colStatus; private System.Windows.Forms.DataGridViewTextBoxColumn colStatus;
private System.Windows.Forms.DataGridViewLinkColumn colDraftId; private System.Windows.Forms.DataGridViewLinkColumn colDraftId;
private System.Windows.Forms.DataGridViewTextBoxColumn colAddTime;
private System.Windows.Forms.DataGridViewTextBoxColumn colMdyTime; private System.Windows.Forms.DataGridViewTextBoxColumn colMdyTime;
private System.Windows.Forms.DataGridViewTextBoxColumn colSubSa; private System.Windows.Forms.DataGridViewTextBoxColumn colSubSa;
private System.Windows.Forms.DataGridViewTextBoxColumn colSubSaNick; private System.Windows.Forms.DataGridViewTextBoxColumn colSubSaNick;
@@ -855,7 +879,5 @@
private System.Windows.Forms.DataGridViewLinkColumn colEditNotes; private System.Windows.Forms.DataGridViewLinkColumn colEditNotes;
private System.Windows.Forms.DataGridViewLinkColumn ColDelete; private System.Windows.Forms.DataGridViewLinkColumn ColDelete;
private System.Windows.Forms.DataGridViewTextBoxColumn colOpResult; private System.Windows.Forms.DataGridViewTextBoxColumn colOpResult;
private UserControls.ButtonEx btnReFission;
private System.Windows.Forms.PictureBox pbFissionSetting;
} }
} }
@@ -111,7 +111,7 @@ namespace TemuKJD.KJDForms.ProductThirdSelectForms
this.ucSplitPage1.TotalPage = pageCount; this.ucSplitPage1.TotalPage = pageCount;
var shopIdLst = list.Select(p => p.shop_id).Distinct().ToList(); var shopIdLst = list.Select(p => p.shop_id).Distinct().ToList();
shopLst = AdminGetServerShopLst(shopIdLst); shopLst = AdminShopListForm.AdminGetServerShopLstByIds(shopIdLst);
if (defaultBitmap == null) if (defaultBitmap == null)
defaultBitmap = new Bitmap(80, 80); defaultBitmap = new Bitmap(80, 80);
@@ -132,8 +132,8 @@ namespace TemuKJD.KJDForms.ProductThirdSelectForms
prodSelect.shop_account, prodSelect.shop_account,
"进店", "进店",
shopLst.FirstOrDefault(s => s.ShopId == prodSelect.shop_id)?.LoginStatus2 == "国际版在线" ? "在线" : "登录", shopLst.FirstOrDefault(s => s.ShopId == prodSelect.shop_id)?.LoginStatus2 == "国际版在线" ? "在线" : "登录",
"导入Cookies", "导入Cookie",
"复制Cookies", "复制Cookie",
prodSelect.spu_id, prodSelect.spu_id,
prodSelect.skc_id, prodSelect.skc_id,
prodSelect.main_img.Replace("https:", "http:"), prodSelect.main_img.Replace("https:", "http:"),
@@ -143,7 +143,8 @@ namespace TemuKJD.KJDForms.ProductThirdSelectForms
prodSelect.ext_code, prodSelect.ext_code,
prodSelect.status, prodSelect.status,
prodSelect.draft_id, prodSelect.draft_id,
prodSelect.status == "待上传" ? "-" : prodSelect.mdy_time.ToString("yy/MM/dd HH:mm"), prodSelect.add_time.ToString("yy/MM/dd\r\n HH:mm"),
prodSelect.status == "待上传" ? "-" : prodSelect.mdy_time.ToString("yy/MM/dd\r\n HH:mm"),
string.IsNullOrEmpty(prodSelect.operate_sub_sa_name) ? "-" : prodSelect.operate_sub_sa_name, string.IsNullOrEmpty(prodSelect.operate_sub_sa_name) ? "-" : prodSelect.operate_sub_sa_name,
string.IsNullOrEmpty(prodSelect.operate_sub_sa_nick) ? "-" : prodSelect.operate_sub_sa_nick, string.IsNullOrEmpty(prodSelect.operate_sub_sa_nick) ? "-" : prodSelect.operate_sub_sa_nick,
prodSelect.notes, prodSelect.notes,
@@ -346,15 +347,15 @@ namespace TemuKJD.KJDForms.ProductThirdSelectForms
} }
break; break;
case "导入Cookies": case "导入Cookie":
{ {
var shop = GetShop(shopId); var shop = GetShop(shopId);
ShopUpdateCookieForm updateCookieForm = new ShopUpdateCookieForm(shop, SetCookieFromEnum.sa, "国际版"); ShopUpdateCookieForm updateCookieForm = new ShopUpdateCookieForm(shop, SetCookieFromEnum.sa, "国内版");
updateCookieForm.SaveComplete += UpdateCookieForm_SaveComplete; updateCookieForm.SaveComplete += UpdateCookieForm_SaveComplete;
updateCookieForm.ShowDialog(); updateCookieForm.ShowDialog();
} }
break; break;
case "复制Cookies": case "复制Cookie":
{ {
var shop = GetShop(shopId); var shop = GetShop(shopId);
string cookJs = ""; string cookJs = "";
@@ -440,7 +441,7 @@ namespace TemuKJD.KJDForms.ProductThirdSelectForms
var shop = shopLst.FirstOrDefault(s => s.ShopId == shopId); var shop = shopLst.FirstOrDefault(s => s.ShopId == shopId);
if (shop == null) if (shop == null)
{ {
shop = AdminGetServerShop(shopId); shop = GetServerShopById(shopId);
if (shop == null) if (shop == null)
{ {
shop = new ShopLoginInfo() { ShopId = shopId }; shop = new ShopLoginInfo() { ShopId = shopId };
@@ -526,7 +527,7 @@ namespace TemuKJD.KJDForms.ProductThirdSelectForms
var shop = shopLst.FirstOrDefault(s => s.ShopId == prod.shop_id); var shop = shopLst.FirstOrDefault(s => s.ShopId == prod.shop_id);
if (shop == null) if (shop == null)
{ {
shop = AdminGetServerShop(prod.shop_id); shop = GetServerShopById(prod.shop_id);
if (shop == null) if (shop == null)
{ {
shop = new ShopLoginInfo() { ShopId = prod.shop_id }; shop = new ShopLoginInfo() { ShopId = prod.shop_id };
@@ -667,64 +668,12 @@ namespace TemuKJD.KJDForms.ProductThirdSelectForms
})); }));
} }
public ShopLoginInfo AdminGetServerShop(string shop_id) public ShopLoginInfo GetServerShopById(string shop_id)
{ {
List<ShopLoginInfo> list = AdminGetServerShopLst(new string[] { shop_id }.ToList()); List<ShopLoginInfo> list = AdminShopListForm.AdminGetServerShopLstByIds(new string[] { shop_id }.ToList());
return list.FirstOrDefault(); return list.FirstOrDefault();
} }
public List<ShopLoginInfo> AdminGetServerShopLst(List<string> shop_ids)
{
List<ShopLoginInfo> list = new List<ShopLoginInfo>();
var url = BaseClass.BuildObjString("shop/admin_get_shop_list");
var data = UserLogin.GetSignaturex() +
"&shop_ids='" + string.Join("','", shop_ids) + "'";
data += "&page_size=200";
var html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html)
|| !html.Contains("shop_id") || !html.Contains("shop_account") || !html.Contains("login_pass"))
{
return new List<ShopLoginInfo>();
}
var jArr = JObject.Parse(html)["data"];
if (jArr.Count() == 0)
return new List<ShopLoginInfo>();
foreach (JObject jObj in jArr)
{
string shopStr = jObj.ToString();
ShopLoginInfo shop = new ShopLoginInfo();
shop.DbId = BaseRegex.GetStringJson(ref shopStr, "id");
if (shop.DbId == null)
continue;
shop.LoginName = BaseRegex.GetStringJson(ref shopStr, "login_name");
shop.Password = BaseRegex.GetStringJson(ref shopStr, "login_pass");
shop.ShopId = BaseRegex.GetStringJson(ref shopStr, "shop_id");
shop.ShopAccount = BaseRegex.GetStringJson(ref shopStr, "shop_account");
shop.UserName = BaseRegex.GetStringJson(ref shopStr, "user_name");
shop.SubUserName = BaseRegex.GetStringJson(ref shopStr, "sub_user_name");
shop.GroupName = BaseRegex.GetStringJson(ref shopStr, "shop_group");
shop.Cookies = BaseRegex.GetStringJson(ref shopStr, "cookie");
shop.Cookies = shop.Cookies.Replace("&", "&").Replace("%", "%").Replace("+", "+");
shop.Cookies2 = BaseRegex.GetStringJson(ref shopStr, "cookie2");
shop.Cookies2 = shop.Cookies2.Replace("&", "&").Replace("%", "%").Replace("+", "+");
shop.CompanyName = BaseRegex.GetStringJson(ref shopStr, "company_name");
shop.Notes = BaseRegex.GetStringJson(ref shopStr, "notes");
shop.LoginStatus = BaseRegex.GetStringJson(ref shopStr, "login_status");
shop.LoginStatus2 = BaseRegex.GetStringJson(ref shopStr, "login_status2");
shop.OperateSubSaName = BaseRegex.GetStringJson(ref shopStr, "operate_sub_sa_name");
list.Add(shop);
}
return list;
}
public TemuDBProduct GetProductDetail(string prodDbId) public TemuDBProduct GetProductDetail(string prodDbId)
{ {
if (string.IsNullOrEmpty(prodDbId)) if (string.IsNullOrEmpty(prodDbId))
@@ -1354,16 +1303,16 @@ namespace TemuKJD.KJDForms.ProductThirdSelectForms
if (numbers.Count > 0 && numbers[0] > 0) if (numbers.Count > 0 && numbers[0] > 0)
{ {
minNum = numbers[0]; minNum = numbers[0];
if (numbers.Count > 1 && numbers[1] > 0)
{
maxNum = numbers[1];
}
if (maxNum < minNum)
{
maxNum = minNum;
}
headWords += Randomx.GetId(minNum, maxNum + 1) + "个";
} }
if (numbers.Count > 1 && numbers[1] > 0)
{
maxNum = numbers[1];
}
if (maxNum < minNum)
{
maxNum = minNum;
}
headWords += Randomx.GetId(minNum, maxNum + 1) + "个";
} }
string endWords = string.IsNullOrWhiteSpace(GlobalConfig.ProductWords.EndWords) ? "" : GlobalConfig.ProductWords.EndWords; string endWords = string.IsNullOrWhiteSpace(GlobalConfig.ProductWords.EndWords) ? "" : GlobalConfig.ProductWords.EndWords;
@@ -165,6 +165,9 @@
<metadata name="colDraftId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="colDraftId.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<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"> <metadata name="colMdyTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
+2 -2
View File
@@ -617,7 +617,7 @@
// colUpdateCookies // colUpdateCookies
// //
this.colUpdateCookies.FillWeight = 67F; this.colUpdateCookies.FillWeight = 67F;
this.colUpdateCookies.HeaderText = "导入Cookies"; this.colUpdateCookies.HeaderText = "导入Cookie";
this.colUpdateCookies.Name = "colUpdateCookies"; this.colUpdateCookies.Name = "colUpdateCookies";
this.colUpdateCookies.ReadOnly = true; this.colUpdateCookies.ReadOnly = true;
this.colUpdateCookies.Resizable = System.Windows.Forms.DataGridViewTriState.True; this.colUpdateCookies.Resizable = System.Windows.Forms.DataGridViewTriState.True;
@@ -626,7 +626,7 @@
// colCopyCookies // colCopyCookies
// //
this.colCopyCookies.FillWeight = 70F; this.colCopyCookies.FillWeight = 70F;
this.colCopyCookies.HeaderText = "复制Cookies"; this.colCopyCookies.HeaderText = "复制Cookie";
this.colCopyCookies.Name = "colCopyCookies"; this.colCopyCookies.Name = "colCopyCookies";
this.colCopyCookies.ReadOnly = true; this.colCopyCookies.ReadOnly = true;
this.colCopyCookies.Resizable = System.Windows.Forms.DataGridViewTriState.True; this.colCopyCookies.Resizable = System.Windows.Forms.DataGridViewTriState.True;
+47 -135
View File
@@ -20,6 +20,7 @@ using System.Windows.Forms;
using Work; using Work;
using NaiBa.Util; using NaiBa.Util;
using System.Globalization; using System.Globalization;
using TemuKJD.KJDForms.AdminForms;
namespace TemuKJD.KJDForms.ShopForms namespace TemuKJD.KJDForms.ShopForms
{ {
@@ -169,72 +170,8 @@ namespace TemuKJD.KJDForms.ShopForms
var jArr = JObject.Parse(html)["data"]; var jArr = JObject.Parse(html)["data"];
if (jArr.Count() == 0) if (jArr.Count() == 0)
break; break;
foreach (JObject jObj in jArr)
{
string shopStr = jObj.ToString();
ShopLoginInfo shop = new ShopLoginInfo();
shop.DbId = BaseRegex.GetStringJson(ref shopStr, "id");
if (shop.DbId == null)
continue;
shop.LoginName = BaseRegex.GetStringJson(ref shopStr, "login_name");
shop.Password = BaseRegex.GetStringJson(ref shopStr, "login_pass");
shop.ShopId = BaseRegex.GetStringJson(ref shopStr, "shop_id");
shop.ShopAccount = BaseRegex.GetStringJson(ref shopStr, "shop_account");
shop.UserName = BaseRegex.GetStringJson(ref shopStr, "user_name");
shop.SubUserName = BaseRegex.GetStringJson(ref shopStr, "sub_user_name");
shop.GroupName = BaseRegex.GetStringJson(ref shopStr, "shop_group");
shop.Cookies = BaseRegex.GetStringJson(ref shopStr, "cookie");
shop.Cookies = shop.Cookies.Replace("&", "&").Replace("%", "%").Replace("+", "+");
shop.Cookies2 = BaseRegex.GetStringJson(ref shopStr, "cookie2").ParseToString();
shop.Cookies2 = shop.Cookies2.Replace("&", "&").Replace("%", "%").Replace("+", "+");
shop.CompanyName = BaseRegex.GetStringJson(ref shopStr, "company_name");
shop.Notes = BaseRegex.GetStringJson(ref shopStr, "notes");
shop.LoginStatus = BaseRegex.GetStringJson(ref shopStr, "login_status");
shop.LoginStatus2 = BaseRegex.GetStringJson(ref shopStr, "login_status2");
shop.AddProductRemaining = BaseRegex.GetIntJson(ref shopStr, "add_product_remaining");
shop.OperateSubSaName = BaseRegex.GetStringJson(ref shopStr, "operate_sub_sa_name");
//shop.PayStatus = BaseRegex.GetIntJson(ref shopStr, "shop_pay_status");
//if (list.Any(l => l.ShopId == shop.ShopId) || list.Any(l => l.ShopName == shop.ShopName))
// continue;
list.Add(shop); list.AddRange(AdminForms.AdminShopListForm.DeserializationShop(html));
}
}
if (list.Count > 0)
{
#region 获取服务端保存的店铺cookies 暂时作废
//string shopNames = "";
//foreach (var shop in list)
//{
// shopNames += shop.ShopName + ",";
//}
//var cookies = GetServerShopCookies(shopNames);
//if (cookies?.Contains("\"code\":200") == false)
// cookies = GetServerShopCookies(shopNames);
//if (cookies?.Contains("\"code\":200") == false)
// cookies = GetServerShopCookies(shopNames);
//if (!string.IsNullOrEmpty(cookies) && cookies.Contains("\"code\":200"))
//{
// var data = JObject.Parse(cookies)["data"];
// foreach (var shop in list)
// {
// for (int j = 0; data != null && j < data.Count(); j++)
// {
// if (data[j][shop.ShopName] != null)
// {
// shop.Cookies = data[j][shop.ShopName].ToString().Replace("&", "&").Replace("%", "%").Replace("+", "+");
// break;
// }
// }
// }
//}
#endregion
#region 获取服务端保存的店铺授权信息 暂时作废
//UpdateShopTokens(list);
#endregion
} }
return list; return list;
} }
@@ -525,6 +462,7 @@ namespace TemuKJD.KJDForms.ShopForms
shopList = shopList.Where(s => s.ShopAccount.ParseToString().ToLower().Contains(txtShopName.Text.ToLower())).ToList(); shopList = shopList.Where(s => s.ShopAccount.ParseToString().ToLower().Contains(txtShopName.Text.ToLower())).ToList();
} }
List<string> shopIdList = GetCheckedShopIdList();
this.Invoke(new Action(() => this.Invoke(new Action(() =>
{ {
this.dgvShop.Rows.Clear(); this.dgvShop.Rows.Clear();
@@ -543,7 +481,7 @@ namespace TemuKJD.KJDForms.ShopForms
this.statusBar.pgbTaskProgress.Text = (i + 1) + "/" + shopList.Count; this.statusBar.pgbTaskProgress.Text = (i + 1) + "/" + shopList.Count;
})); }));
} }
AddDataGridViewRow(shopList[i], true); AddDataGridViewRow(shopList[i], true, shopIdList.Contains(shopList[i].ShopId));
} }
if (this.Created) if (this.Created)
{ {
@@ -558,7 +496,7 @@ namespace TemuKJD.KJDForms.ShopForms
}); });
} }
private void AddDataGridViewRow(ShopLoginInfo param, bool isRefresh = false) private void AddDataGridViewRow(ShopLoginInfo param, bool isRefresh = false, bool isRowCheck = false)
{ {
if (!this.Created) if (!this.Created)
return; return;
@@ -579,7 +517,7 @@ namespace TemuKJD.KJDForms.ShopForms
else else
{ {
int rowIndex = this.dgvShop.Rows.Add( int rowIndex = this.dgvShop.Rows.Add(
false, isRowCheck,
param.LoginName, param.LoginName,
param.ShopId, param.ShopId,
param.ShopAccount, param.ShopAccount,
@@ -598,8 +536,8 @@ namespace TemuKJD.KJDForms.ShopForms
"多重登录", "多重登录",
param.ApiAuthStatus, param.ApiAuthStatus,
param.BuyApiAuth.ApiAuthStatus, param.BuyApiAuth.ApiAuthStatus,
"导入Cookies", "导入Cookie",
"复制Cookies", "复制Cookie",
"编辑", "编辑",
"删除"); "删除");
if (!isRefresh) if (!isRefresh)
@@ -662,19 +600,37 @@ namespace TemuKJD.KJDForms.ShopForms
public void CheckShopLogin(string[] shopNames, bool isShowProgress = true) public void CheckShopLogin(string[] shopNames, bool isShowProgress = true)
{ {
for (int i = 0; i < shopNames.Length; i++) for (int i = 0; i < shopNames.Length; i++)
{ {
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(v => v.LoginName == shopNames[i]);
var campanys = GlobalConfig.ShopLoginList.Where(v => v.LoginName == shopNames[i]).ToList(); var campanys = GlobalConfig.ShopLoginList.Where(v => v.LoginName == shopNames[i]).ToList();
var shop = GlobalConfig.ShopLoginList.FirstOrDefault(v => v.LoginName == shopNames[i]);
// 先从服务端取最新cookie
var serverCampanys = AdminShopListForm.AdminGetServerShopLstByIds(campanys.Select(c => c.ShopId).ToList());
var sss = string.Join(",", serverCampanys.Select(s => s.UserName + s.ShopAccount));
var serverShop = serverCampanys.FirstOrDefault();
if (shop != null && serverShop != null)
{
shop.Cookies = serverShop.Cookies;
shop.Cookies2 = serverShop.Cookies2;
foreach (var sc in campanys)
{
sc.Cookies = serverShop.Cookies;
sc.Cookies2 = serverShop.Cookies2;
}
}
if (shop != null) if (shop != null)
{ {
//var loginResult = "\"code\":0";//GetShopStatus(shop);
var loginResult = GetShopStatus(shop); var loginResult = GetShopStatus(shop);
if (!loginResult.Contains("\"success\":true")) if (!loginResult.Contains("\"success\":true"))
{ {
shop.Cookies = "empty=true;";
foreach (var sc in campanys) foreach (var sc in campanys)
{ {
sc.LoginStatus = "未登录"; sc.LoginStatus = "未登录";
shop.Cookies = "empty=true;";
} }
} }
else else
@@ -682,10 +638,9 @@ namespace TemuKJD.KJDForms.ShopForms
foreach(var sc in campanys) foreach(var sc in campanys)
{ {
sc.LoginStatus = "登录成功"; sc.LoginStatus = "登录成功";
sc.LastRefreshDate = DateTime.Now.ToString("yyyyMMdd");
} }
} }
//if (!string.IsNullOrEmpty(loginResult))
// shop.LastRefreshDate = DateTime.Now.ToString("yyyyMMdd");
loginResult = ShopListForm.GetShopStatus2(shop); loginResult = ShopListForm.GetShopStatus2(shop);
if (!loginResult.Contains("\"success\":true")) if (!loginResult.Contains("\"success\":true"))
{ {
@@ -701,9 +656,10 @@ namespace TemuKJD.KJDForms.ShopForms
foreach (var sc in campanys) foreach (var sc in campanys)
{ {
sc.LoginStatus2 = "国际版在线"; sc.LoginStatus2 = "国际版在线";
} }
} }
//if (!string.IsNullOrEmpty(loginResult))
// shop.LastRefreshDate = DateTime.Now.ToString("yyyyMMdd");
UpdateServerShopCookies(shop); // 店铺cookie写入服务端,多店共用一个登录账号一组cookie UpdateServerShopCookies(shop); // 店铺cookie写入服务端,多店共用一个登录账号一组cookie
StartUp.SaveLocalShopLoginInfo(); StartUp.SaveLocalShopLoginInfo();
} }
@@ -725,64 +681,6 @@ namespace TemuKJD.KJDForms.ShopForms
string refere = "https://seller.kuajingmaihuo.com/"; string refere = "https://seller.kuajingmaihuo.com/";
string body = @"{}"; string body = @"{}";
return KJDHttpResponse.PostResponse(shop, url, body, refere); return KJDHttpResponse.PostResponse(shop, url, body, refere);
//HttpWebResponse response = null;
//string result;
//try
//{
// string url = "https://seller.kuajingmaihuo.com/bg/quiet/api/mms/userInfo";
// HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
// request.KeepAlive = true;
// request.Headers.Set(HttpRequestHeader.CacheControl, "max-age=0");
// request.Headers.Add("Anti-Content", @"0aqAfqFyXcGvBgd9Q0HiJJ7kvWcKK7muUHnJ6oMAdmem0tmm_enmX1DBr-nJNxmoki33dqHTkZU18BU2p8P72Cg2uEZ_acOOBCxGmIs-Gym4EtKpTdZ6kWRCSClS9L6maLm0imx0GIjodHtLnwpx4ayHnhzNnCXEFecZSC8lBRHb9WCAoyY79kMLIWxBMZZSZrR2_LYUJ5UXzf-82ob455f7OvJa6s895N4wiMGR4vbVH8gFN2VuCxS27RpXDa2WCQQQd6XsJPw7amSUaob6oZ2MXuYb9K3ZqoCX5-nJimNZDR0rNCLB13sYgWq9jy0Q3gjnsFY2dJQDh3ewXS2vvf2DN9IAEzInwWTY31Fn0B6-s8DqwIm61OlXsfYt1AYOOyNMLzkw5llaDaqK21f7vspAuXwnJdAdKXJXSyyEimvTyF_AYLp1gkNqBqN1_ik_jc6cKTDJtGUgFjRojR4g4zM7Ww3wfW63WQrJftYhiTIJiS1tZcsceZht3Zu3MsvyxpAbx4bxFrvL0A6OFx752XsVi04Tm6HDhgt7MmpsrTO5WD_KjgjxNX8VNoGndD0OmriAYVn6kwmZXE6Y_khGedxumIGy4sOQI36__CeiuiPIvB8itfOqd7eyqyeCIaEODrh9dSLBQz8AxQ2xt60OTn4HSiPmlwo1J0TFtjUw2DUZB68tdrINb7ugulMsaIwMKr8S0bilSKW6JuYw3oAsmK3daQfJWy3mzVowY1UwPQfTB4Ibz6uRQxHkvhsRTXkrAygGeZIc9S");
// request.Headers.Add("sec-ch-ua-platform", @"""Windows""");
// request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36";
// request.Headers.Add("sec-ch-ua", @"""Google Chrome"";v=""137"", ""Chromium"";v=""137"", ""Not/A)Brand"";v=""24""");
// request.Headers.Add("Sec-Purpose", @"prefetch;prerender");
// request.ContentType = "application/json";
// request.Headers.Add("sec-ch-ua-mobile", @"?0");
// request.Accept = "*/*";
// request.Headers.Add("Origin", @"https://seller.kuajingmaihuo.com");
// request.Headers.Add("Purpose", @"prefetch");
// request.Headers.Add("Sec-Fetch-Site", @"same-origin");
// request.Headers.Add("Sec-Fetch-Mode", @"cors");
// request.Headers.Add("Sec-Fetch-Dest", @"empty");
// request.Referer = "https://seller.kuajingmaihuo.com/";
// request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate, br, zstd");
// //request.Headers.Set(HttpRequestHeader.AcceptEncoding, "gzip, deflate");
// request.Headers.Set(HttpRequestHeader.AcceptLanguage, "zh-CN,zh;q=0.9");
// request.Headers.Set(HttpRequestHeader.Cookie, shop.Cookies);
// request.Method = "POST";
// request.ServicePoint.Expect100Continue = false;
// string body = @"{}";
// byte[] postBytes = System.Text.Encoding.UTF8.GetBytes(body);
// request.ContentLength = postBytes.Length;
// Stream stream = request.GetRequestStream();
// stream.Write(postBytes, 0, postBytes.Length);
// stream.Close();
// response = (HttpWebResponse)request.GetResponse();
//}
//catch (WebException ex)
//{
// if (ex.Status == WebExceptionStatus.ProtocolError)
// {
// response = (HttpWebResponse)ex.Response;
// result = GetProxyHtml.ReadResponse(response);
// return result;
// }
// else return ex.Message;
//}
//catch (Exception e)
//{
// if (response != null) response.Close();
// return e.Message;
//}
//result = GetProxyHtml.ReadResponse(response);
//return result;
} }
/// <summary> /// <summary>
@@ -884,7 +782,7 @@ namespace TemuKJD.KJDForms.ShopForms
IsOperate = false; IsOperate = false;
} }
break; break;
case "复制Cookies": case "复制Cookie":
//SUB_PASS_ID=eyJ0IjoiRHBPWTBvVGxKWlZCZ1FmNVpPNGFwUjczdDZzUGk5bWVzbHZGejBUYlFkK3c4VjN4ZUIyV1RtZ24ybCtwWkhyNSIsInYiOjEsInMiOjEwMDAwLCJ1IjoyNDg3NDUxOTIxNzE0fQ== //SUB_PASS_ID=eyJ0IjoiRHBPWTBvVGxKWlZCZ1FmNVpPNGFwUjczdDZzUGk5bWVzbHZGejBUYlFkK3c4VjN4ZUIyV1RtZ24ybCtwWkhyNSIsInYiOjEsInMiOjEwMDAwLCJ1IjoyNDg3NDUxOTIxNzE0fQ==
string cook = shop.Cookies; string cook = shop.Cookies;
//cook = BaseRegex.GetStringCookie(ref cook, "SUB_PASS_ID"); //cook = BaseRegex.GetStringCookie(ref cook, "SUB_PASS_ID");
@@ -946,7 +844,7 @@ namespace TemuKJD.KJDForms.ShopForms
Clipboard.SetDataObject(cookJs); Clipboard.SetDataObject(cookJs);
BaseMsgForm.ShowInfo("复制成功"); BaseMsgForm.ShowInfo("复制成功");
break; break;
case "导入Cookies": case "导入Cookie":
ShopUpdateCookieForm updateCookieForm = new ShopUpdateCookieForm(shop); ShopUpdateCookieForm updateCookieForm = new ShopUpdateCookieForm(shop);
updateCookieForm.SaveComplete += UpdateCookieForm_SaveComplete; updateCookieForm.SaveComplete += UpdateCookieForm_SaveComplete;
updateCookieForm.ShowDialog(); updateCookieForm.ShowDialog();
@@ -1095,6 +993,20 @@ namespace TemuKJD.KJDForms.ShopForms
return shopNameList; return shopNameList;
} }
private List<string> GetCheckedShopIdList()
{
List<string> shopNameList = new List<string>();
for (int i = 0; i < dgvShop.Rows.Count; i++)
{
if (dgvShop.Rows[i].Cells["colSelect"].Value.ParseToBool())
{
string shopName = dgvShop.Rows[i].Cells["colShopId"].Value.ParseToString();
shopNameList.Add(shopName);
}
}
return shopNameList;
}
private void btnLoginSelect_Click(object sender, EventArgs e) private void btnLoginSelect_Click(object sender, EventArgs e)
{ {
ShopListForm.IsOperate = true; ShopListForm.IsOperate = true;
@@ -136,7 +136,7 @@ namespace TemuKJD.KJDForms.ShopForms
} }
List<ShopLoginInfo> serverShopLst = new List<ShopLoginInfo>(); List<ShopLoginInfo> serverShopLst = new List<ShopLoginInfo>();
var rst = AdminGetServerShopListForSetCookie(shopLoginInfo, serverShopLst); var rst = AdminShopListForm.AdminGetServerShopLstForSetCookie(shopLoginInfo, serverShopLst);
if (rst != "success") if (rst != "success")
{ {
@@ -211,7 +211,7 @@ namespace TemuKJD.KJDForms.ShopForms
} }
List<ShopLoginInfo> serverShopLst = new List<ShopLoginInfo>(); List<ShopLoginInfo> serverShopLst = new List<ShopLoginInfo>();
var rst = AdminGetServerShopListForSetCookie(shopLoginInfo, serverShopLst); var rst = AdminShopListForm.AdminGetServerShopLstForSetCookie(shopLoginInfo, serverShopLst);
if (rst != "success") if (rst != "success")
{ {
@@ -290,67 +290,13 @@ namespace TemuKJD.KJDForms.ShopForms
if (oldServerShop == null) if (oldServerShop == null)
{ {
if (updateFrom != SetCookieFromEnum.normal_user) if (updateFrom != SetCookieFromEnum.normal_user)
AdminShopForm.AdminAddServerShop(newShop); // 店铺写入到服务端 AdminShopListForm.AdminAddServerShop(newShop); // 店铺写入到服务端
else else
ShopListForm.AddServerDouShop(newShop); // 店铺写入到服务端 ShopListForm.AddServerDouShop(newShop); // 店铺写入到服务端
} }
} }
} }
public static string AdminGetServerShopListForSetCookie(ShopLoginInfo loginShop, List<ShopLoginInfo> lstRst)
{
if (lstRst == null)
lstRst = new List<ShopLoginInfo>();
var url = BaseClass.BuildObjString("shop/admin_get_shop_list");
var data = UserLogin.GetSignaturex() +
"&search_user_name=" + loginShop.UserName +
"&search_login_name=" + loginShop.LoginName;
var html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200"))
html = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(html)
|| !html.Contains("shop_id") || !html.Contains("shop_account") || !html.Contains("login_pass"))
{
return "获取失败:" + BaseRegex.GetStringJson(ref html, "msg");
}
var jArr = JObject.Parse(html)["data"];
if (jArr.Count() == 0)
return "获取失败:未获取到data数据";
foreach (JObject jObj in jArr)
{
string shopStr = jObj.ToString();
ShopLoginInfo shop = new ShopLoginInfo();
shop.DbId = BaseRegex.GetStringJson(ref shopStr, "id");
if (shop.DbId == null)
continue;
shop.LoginName = BaseRegex.GetStringJson(ref shopStr, "login_name");
shop.Password = BaseRegex.GetStringJson(ref shopStr, "login_pass");
shop.ShopId = BaseRegex.GetStringJson(ref shopStr, "shop_id");
shop.ShopAccount = BaseRegex.GetStringJson(ref shopStr, "shop_account");
shop.UserName = BaseRegex.GetStringJson(ref shopStr, "user_name");
shop.SubUserName = BaseRegex.GetStringJson(ref shopStr, "sub_user_name");
shop.GroupName = BaseRegex.GetStringJson(ref shopStr, "shop_group");
shop.Cookies = BaseRegex.GetStringJson(ref shopStr, "cookie");
shop.Cookies = shop.Cookies.Replace("&", "&").Replace("%", "%").Replace("+", "+");
shop.Cookies2 = BaseRegex.GetStringJson(ref shopStr, "cookie2");
shop.Cookies2 = shop.Cookies2.Replace("&", "&").Replace("%", "%").Replace("+", "+");
shop.CompanyName = BaseRegex.GetStringJson(ref shopStr, "company_name");
shop.Notes = BaseRegex.GetStringJson(ref shopStr, "notes");
shop.LoginStatus = BaseRegex.GetStringJson(ref shopStr, "login_status");
shop.LoginStatus2 = BaseRegex.GetStringJson(ref shopStr, "login_status2");
shop.OperateSubSaName = BaseRegex.GetStringJson(ref shopStr, "operate_sub_sa_name");
lstRst.Add(shop);
}
return "success";
}
private void btnGetCookie_Click(object sender, EventArgs e) private void btnGetCookie_Click(object sender, EventArgs e)
{ {
//复制cookie //复制cookie