1退货包裹保存到服务端

This commit is contained in:
wule_5900x committed 2025-08-11 00:16:14 +08:00
1 parent c3dc9979d1
commit 77ec460f4d
12 files changed
+296 -460

No files matched your search

+2 -2
View File
@@ -27,8 +27,8 @@ namespace AllBase
/// <summary>
/// 版本ID
/// </summary>
public static int VersionCount = 513;
//public static int VersionCount = 513;
public static int VersionCount = 518;
//public static int VersionCount = 518;
/// <summary>
/// 版本号
@@ -41,6 +41,12 @@ namespace AllBase.Model.Result
public List<string> reasonDesc { get; set; }
public string remark { get; set; }
public string extCode { get; set; }
public TemuProductSkcSpec spec1 { get; set; }
public TemuProductSkcSpec spec2 { get; set; }
/// <summary>
/// 同一个包裹里所有商品数量总和
/// </summary>
public int returnTotalNum { get; set; }
}
public class TemuReturnPackageDetailParam
@@ -58,6 +64,10 @@ namespace AllBase.Model.Result
/// </summary>
public string itemNo { get; set; }
/// <summary>
/// 包裹内的总件数
/// </summary>
public int returnTotalNum { get; set; }
/// <summary>
/// /9j/开头的base64图片
/// </summary>
public string productSkcPicture { get; set; }
@@ -428,5 +428,43 @@ namespace KJD_Web.BLL
return "{\"code\":1,\"msg\":\"原密码错误。\"}";
}
}
public string return_package_secret_key { get; set; } = "aaMETt2bPe6YHzZ1ojbC+6wOvgtwehqc6A+/Rz+pCUU=";
public string GetPackageSign(string inputData)
{
if (!string.IsNullOrEmpty(inputData))
{
var mobile = RegexUtils.GetStringQuery(ref inputData, "mobile")?.Replace("'", "\\'");
var password = RegexUtils.GetStringQuery(ref inputData, "password")?.Replace("'", "\\'");
var timestamp = RegexUtils.GetStringQuery(ref inputData, "timestamp")?.Replace("'", "\\'");
var mallId = RegexUtils.GetStringQuery(ref inputData, "mallId")?.Replace("'", "\\'");
var returnPackageNo = RegexUtils.GetStringQuery(ref inputData, "returnPackageNo")?.Replace("'", "\\'");
int r2 = RegexUtils.GetStringQuery(ref inputData, "r2").ParseToInt();
string c2 = RegexUtils.GetStringQuery(ref inputData, "c2");
if (EncrypUtil.Encryption(r2) != c2)
return "{\"code\":2,\"msg\":\"不合法的输入内容\"}";
string conn = System.Configuration.ConfigurationManager.ConnectionStrings["ConnKJD"].ConnectionString;
MysqlUtils mySql = new MysqlUtils(conn);
string sql = "select * from kjd.user where user_name='"
+ mobile + "' and password='" + password + "'";
sql = "select * from kjd.user where user_name='" + mobile + "'";
var dt = mySql.ExecuteDataTable(sql);
mySql.Close();
if (dt == null || dt.Rows.Count <=0)
{
return "{\"code\":1,\"msg\":\"用户不存在\"}";
}
string sign = EncrypUtil.GetMd5(timestamp + return_package_secret_key + mallId + returnPackageNo).ToLower();
return "{\"code\":200, \"sign\":\"" + sign + "\", \"msg\":\"\"}";
}
return "{\"code\":19999,\"msg\":\"输入为空\"}";
}
}
}
@@ -66,6 +66,18 @@ namespace KJD_Web
Context.Response.End();
}
[WebMethod]
public void get_package_sign()
{
string jsontext = GetRequestJsonString();
var result = jsontext;
result = new UserManage().GetPackageSign(jsontext);
Context.Response.Write(result);
Context.Response.End();
}
[WebMethod]
public void change_password()
{
@@ -19,5 +19,27 @@ namespace KJD_Web.Utils
TimeSpan toNow = new TimeSpan(lTime);
return dateTimeStart.Add(toNow);
}
/// <summary>
/// C#格式时间转换为Unix时间戳(秒)
/// </summary>
/// <param name="time"></param>
/// <returns></returns>
public static int DateTimeToTimestampSeconds(DateTime time)
{
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
return (int)(time - startTime).TotalSeconds;
}
/// <summary>
/// C#格式时间转换为Unix时间戳(毫秒)
/// </summary>
/// <param name="time"></param>
/// <returns></returns>
public static long DateTimeToTimestampMilliseconds(DateTime time)
{
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
return (long)(time - startTime).TotalMilliseconds;
}
}
}
+2 -2
View File
@@ -83,13 +83,13 @@
this.splitContainer1.Panel2.Controls.Add(this.btnReload);
this.splitContainer1.Panel2.Controls.Add(this.chkCloseAfterLogin);
this.splitContainer1.Size = new System.Drawing.Size(1438, 736);
this.splitContainer1.SplitterDistance = 672;
this.splitContainer1.SplitterDistance = 673;
this.splitContainer1.SplitterWidth = 3;
this.splitContainer1.TabIndex = 4;
//
// btnReturnPackage
//
this.btnReturnPackage.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnReturnPackage.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.btnReturnPackage.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnReturnPackage.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnReturnPackage.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
@@ -59,6 +59,10 @@ namespace TemuKJD.KJDForms.AdminForms
private void ShopLoginForm_Load(object sender, EventArgs e)
{
//this.splitContainer1.SplitterDistance = 674;
if (BaseClass.SaLevel == 1)
this.btnReturnPackage.Visible = true;
else
this.btnReturnPackage.Visible = false;
if (openType == EnumOpenType.login)
{
+26 -342
View File
@@ -29,7 +29,6 @@ namespace TemuKJD.KJDForms.ShopForms
/// </summary>
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();
@@ -42,27 +41,6 @@ namespace TemuKJD.KJDForms.ShopForms
this.dtpStartDate = new System.Windows.Forms.DateTimePicker();
this.btnAdd = new TemuKJD.UserControls.ButtonEx();
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.label6 = new System.Windows.Forms.Label();
this.chkShowDel = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.txtShopId = new System.Windows.Forms.TextBox();
this.chkNoSubSa = new TemuKJD.UserComponent.UcCheckBox(this.components);
this.pnlEmpty = new DevComponents.DotNetBar.PanelEx();
this.label7 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.txtShopName = new System.Windows.Forms.TextBox();
this.label5 = new System.Windows.Forms.Label();
this.btnSearch = new TemuKJD.UserControls.ButtonEx();
this.txtSKC = new System.Windows.Forms.TextBox();
this.txtSPU = new System.Windows.Forms.TextBox();
this.label1 = new System.Windows.Forms.Label();
this.label2 = new System.Windows.Forms.Label();
this.txtCat = new System.Windows.Forms.TextBox();
this.txtExtCode = new System.Windows.Forms.TextBox();
this.label3 = new System.Windows.Forms.Label();
this.label4 = new System.Windows.Forms.Label();
this.txtProdName = new System.Windows.Forms.TextBox();
this.cmbStatus = new System.Windows.Forms.ComboBox();
this.pbLoading = new System.Windows.Forms.PictureBox();
this.dgvSelectProduct = new TemuKJD.UserComponent.DataGridViewEx();
this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage();
@@ -78,6 +56,7 @@ namespace TemuKJD.KJDForms.ShopForms
this.colPurchaseSubOrderSn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colReason = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colPackageSn = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colReturnTotalNum = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colSkuNumber = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colOutboundTime = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.colOpResult = new System.Windows.Forms.DataGridViewTextBoxColumn();
@@ -90,7 +69,6 @@ namespace TemuKJD.KJDForms.ShopForms
this.splitContainer2.Panel1.SuspendLayout();
this.splitContainer2.Panel2.SuspendLayout();
this.splitContainer2.SuspendLayout();
this.tableLayoutPanel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.dgvSelectProduct)).BeginInit();
this.SuspendLayout();
@@ -102,7 +80,7 @@ namespace TemuKJD.KJDForms.ShopForms
this.panel2.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel2.Location = new System.Drawing.Point(1, 33);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(1278, 466);
this.panel2.Size = new System.Drawing.Size(1364, 526);
this.panel2.TabIndex = 1;
//
// splitContainer1
@@ -125,7 +103,7 @@ namespace TemuKJD.KJDForms.ShopForms
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.Controls.Add(this.splitContainer2);
this.splitContainer1.Size = new System.Drawing.Size(1278, 466);
this.splitContainer1.Size = new System.Drawing.Size(1364, 526);
this.splitContainer1.SplitterDistance = 66;
this.splitContainer1.TabIndex = 3;
//
@@ -173,7 +151,7 @@ namespace TemuKJD.KJDForms.ShopForms
this.btnAdd.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnAdd.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnAdd.ForeColor = System.Drawing.Color.White;
this.btnAdd.Location = new System.Drawing.Point(1100, 19);
this.btnAdd.Location = new System.Drawing.Point(1186, 19);
this.btnAdd.Margin = new System.Windows.Forms.Padding(2);
this.btnAdd.Name = "btnAdd";
this.btnAdd.Size = new System.Drawing.Size(171, 26);
@@ -192,7 +170,6 @@ namespace TemuKJD.KJDForms.ShopForms
//
// splitContainer2.Panel1
//
this.splitContainer2.Panel1.Controls.Add(this.tableLayoutPanel1);
this.splitContainer2.Panel1.Controls.Add(this.pbLoading);
this.splitContainer2.Panel1.Controls.Add(this.dgvSelectProduct);
this.splitContainer2.Panel1.Padding = new System.Windows.Forms.Padding(4, 0, 4, 0);
@@ -201,297 +178,15 @@ namespace TemuKJD.KJDForms.ShopForms
//
this.splitContainer2.Panel2.Controls.Add(this.ucSplitPage1);
this.splitContainer2.Panel2.Controls.Add(this.statusBar);
this.splitContainer2.Size = new System.Drawing.Size(1278, 396);
this.splitContainer2.SplitterDistance = 367;
this.splitContainer2.Size = new System.Drawing.Size(1364, 456);
this.splitContainer2.SplitterDistance = 427;
this.splitContainer2.TabIndex = 0;
//
// tableLayoutPanel1
//
this.tableLayoutPanel1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tableLayoutPanel1.ColumnCount = 20;
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 12.5F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 12.5F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 12.5F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 12.5F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 12.5F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 12.5F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 12.5F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 12.5F));
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());
this.tableLayoutPanel1.Controls.Add(this.label6, 0, 0);
this.tableLayoutPanel1.Controls.Add(this.chkShowDel, 19, 0);
this.tableLayoutPanel1.Controls.Add(this.txtShopId, 1, 0);
this.tableLayoutPanel1.Controls.Add(this.chkNoSubSa, 18, 0);
this.tableLayoutPanel1.Controls.Add(this.pnlEmpty, 17, 0);
this.tableLayoutPanel1.Controls.Add(this.label7, 2, 0);
this.tableLayoutPanel1.Controls.Add(this.label8, 14, 0);
this.tableLayoutPanel1.Controls.Add(this.txtShopName, 3, 0);
this.tableLayoutPanel1.Controls.Add(this.label5, 4, 0);
this.tableLayoutPanel1.Controls.Add(this.btnSearch, 16, 0);
this.tableLayoutPanel1.Controls.Add(this.txtSKC, 7, 0);
this.tableLayoutPanel1.Controls.Add(this.txtSPU, 5, 0);
this.tableLayoutPanel1.Controls.Add(this.label1, 6, 0);
this.tableLayoutPanel1.Controls.Add(this.label2, 8, 0);
this.tableLayoutPanel1.Controls.Add(this.txtCat, 9, 0);
this.tableLayoutPanel1.Controls.Add(this.txtExtCode, 13, 0);
this.tableLayoutPanel1.Controls.Add(this.label3, 10, 0);
this.tableLayoutPanel1.Controls.Add(this.label4, 12, 0);
this.tableLayoutPanel1.Controls.Add(this.txtProdName, 11, 0);
this.tableLayoutPanel1.Controls.Add(this.cmbStatus, 15, 0);
this.tableLayoutPanel1.Location = new System.Drawing.Point(7, 313);
this.tableLayoutPanel1.Name = "tableLayoutPanel1";
this.tableLayoutPanel1.RowCount = 1;
this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));
this.tableLayoutPanel1.Size = new System.Drawing.Size(960, 32);
this.tableLayoutPanel1.TabIndex = 469;
this.tableLayoutPanel1.Visible = false;
//
// label6
//
this.label6.Anchor = System.Windows.Forms.AnchorStyles.Left;
this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(3, 10);
this.label6.Margin = new System.Windows.Forms.Padding(3, 0, 0, 0);
this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(41, 12);
this.label6.TabIndex = 449;
this.label6.Text = "店铺Id";
//
// chkShowDel
//
this.chkShowDel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.chkShowDel.AutoSize = true;
this.chkShowDel.Location = new System.Drawing.Point(885, 8);
this.chkShowDel.Name = "chkShowDel";
this.chkShowDel.Size = new System.Drawing.Size(72, 16);
this.chkShowDel.TabIndex = 471;
this.chkShowDel.Text = "显示删除";
this.chkShowDel.UseVisualStyleBackColor = true;
//
// txtShopId
//
this.txtShopId.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.txtShopId.Location = new System.Drawing.Point(44, 5);
this.txtShopId.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
this.txtShopId.Name = "txtShopId";
this.txtShopId.Size = new System.Drawing.Size(42, 21);
this.txtShopId.TabIndex = 448;
//
// chkNoSubSa
//
this.chkNoSubSa.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.chkNoSubSa.AutoSize = true;
this.chkNoSubSa.Location = new System.Drawing.Point(795, 8);
this.chkNoSubSa.Margin = new System.Windows.Forms.Padding(8, 3, 3, 3);
this.chkNoSubSa.Name = "chkNoSubSa";
this.chkNoSubSa.Size = new System.Drawing.Size(84, 16);
this.chkNoSubSa.TabIndex = 470;
this.chkNoSubSa.Text = "未分配超管";
this.chkNoSubSa.UseVisualStyleBackColor = true;
//
// pnlEmpty
//
this.pnlEmpty.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
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(728, 5);
this.pnlEmpty.Name = "pnlEmpty";
this.pnlEmpty.Size = new System.Drawing.Size(56, 22);
this.pnlEmpty.Style.Alignment = System.Drawing.StringAlignment.Center;
this.pnlEmpty.Style.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
this.pnlEmpty.Style.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(185)))), ((int)(((byte)(215)))), ((int)(((byte)(255)))));
this.pnlEmpty.Style.Border = DevComponents.DotNetBar.eBorderType.SingleLine;
this.pnlEmpty.Style.BorderColor.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.pnlEmpty.Style.ForeColor.ColorSchemePart = DevComponents.DotNetBar.eColorSchemePart.PanelText;
this.pnlEmpty.Style.GradientAngle = 90;
this.pnlEmpty.StyleMouseDown.Alignment = System.Drawing.StringAlignment.Center;
this.pnlEmpty.StyleMouseOver.Alignment = System.Drawing.StringAlignment.Center;
this.pnlEmpty.StyleMouseOver.BackColor1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.pnlEmpty.StyleMouseOver.BackColor2.Color = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.pnlEmpty.StyleMouseOver.ForeColor.Color = System.Drawing.Color.White;
this.pnlEmpty.TabIndex = 431;
this.pnlEmpty.Text = "清空条件";
//
// label7
//
this.label7.Anchor = System.Windows.Forms.AnchorStyles.Left;
this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(92, 10);
this.label7.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(53, 12);
this.label7.TabIndex = 452;
this.label7.Text = "店铺名称";
//
// label8
//
this.label8.Anchor = System.Windows.Forms.AnchorStyles.Left;
this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(566, 10);
this.label8.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(53, 12);
this.label8.TabIndex = 458;
this.label8.Text = "认领状态";
//
// txtShopName
//
this.txtShopName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.txtShopName.Location = new System.Drawing.Point(145, 5);
this.txtShopName.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
this.txtShopName.Name = "txtShopName";
this.txtShopName.Size = new System.Drawing.Size(42, 21);
this.txtShopName.TabIndex = 451;
//
// label5
//
this.label5.Anchor = System.Windows.Forms.AnchorStyles.Left;
this.label5.AutoSize = true;
this.label5.Location = new System.Drawing.Point(193, 10);
this.label5.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.label5.Name = "label5";
this.label5.Size = new System.Drawing.Size(23, 12);
this.label5.TabIndex = 435;
this.label5.Text = "SPU";
//
// btnSearch
//
this.btnSearch.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.btnSearch.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnSearch.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnSearch.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnSearch.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnSearch.ForeColor = System.Drawing.Color.White;
this.btnSearch.Location = new System.Drawing.Point(667, 4);
this.btnSearch.Margin = new System.Windows.Forms.Padding(6, 2, 2, 2);
this.btnSearch.Name = "btnSearch";
this.btnSearch.Size = new System.Drawing.Size(56, 24);
this.btnSearch.TabIndex = 424;
this.btnSearch.Text = "搜索";
this.btnSearch.UseVisualStyleBackColor = false;
//
// txtSKC
//
this.txtSKC.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.txtSKC.Location = new System.Drawing.Point(287, 5);
this.txtSKC.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
this.txtSKC.Name = "txtSKC";
this.txtSKC.Size = new System.Drawing.Size(42, 21);
this.txtSKC.TabIndex = 432;
//
// txtSPU
//
this.txtSPU.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.txtSPU.Location = new System.Drawing.Point(216, 5);
this.txtSPU.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
this.txtSPU.Name = "txtSPU";
this.txtSPU.Size = new System.Drawing.Size(42, 21);
this.txtSPU.TabIndex = 434;
//
// label1
//
this.label1.Anchor = System.Windows.Forms.AnchorStyles.Left;
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(264, 10);
this.label1.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(23, 12);
this.label1.TabIndex = 433;
this.label1.Text = "SKC";
//
// label2
//
this.label2.Anchor = System.Windows.Forms.AnchorStyles.Left;
this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(335, 10);
this.label2.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(29, 12);
this.label2.TabIndex = 426;
this.label2.Text = "类目";
//
// txtCat
//
this.txtCat.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.txtCat.Location = new System.Drawing.Point(364, 5);
this.txtCat.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
this.txtCat.Name = "txtCat";
this.txtCat.Size = new System.Drawing.Size(42, 21);
this.txtCat.TabIndex = 425;
//
// txtExtCode
//
this.txtExtCode.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.txtExtCode.Location = new System.Drawing.Point(518, 5);
this.txtExtCode.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
this.txtExtCode.Name = "txtExtCode";
this.txtExtCode.Size = new System.Drawing.Size(42, 21);
this.txtExtCode.TabIndex = 429;
//
// label3
//
this.label3.Anchor = System.Windows.Forms.AnchorStyles.Left;
this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(412, 10);
this.label3.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(29, 12);
this.label3.TabIndex = 428;
this.label3.Text = "标题";
//
// label4
//
this.label4.Anchor = System.Windows.Forms.AnchorStyles.Left;
this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(489, 10);
this.label4.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0);
this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(29, 12);
this.label4.TabIndex = 430;
this.label4.Text = "货号";
//
// txtProdName
//
this.txtProdName.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.txtProdName.Location = new System.Drawing.Point(441, 5);
this.txtProdName.Margin = new System.Windows.Forms.Padding(0, 2, 0, 2);
this.txtProdName.Name = "txtProdName";
this.txtProdName.Size = new System.Drawing.Size(42, 21);
this.txtProdName.TabIndex = 427;
//
// cmbStatus
//
this.cmbStatus.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
this.cmbStatus.FormattingEnabled = true;
this.cmbStatus.Items.AddRange(new object[] {
"待上传",
"已上传",
"全部"});
this.cmbStatus.Location = new System.Drawing.Point(619, 6);
this.cmbStatus.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
this.cmbStatus.Name = "cmbStatus";
this.cmbStatus.Size = new System.Drawing.Size(42, 20);
this.cmbStatus.TabIndex = 459;
this.cmbStatus.Text = "待上传";
//
// pbLoading
//
this.pbLoading.Anchor = System.Windows.Forms.AnchorStyles.None;
this.pbLoading.Image = global::TemuKJD.Properties.Resources.loading_blue;
this.pbLoading.Location = new System.Drawing.Point(614, 142);
this.pbLoading.Location = new System.Drawing.Point(657, 188);
this.pbLoading.Name = "pbLoading";
this.pbLoading.Size = new System.Drawing.Size(50, 50);
this.pbLoading.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
@@ -527,6 +222,7 @@ namespace TemuKJD.KJDForms.ShopForms
this.colPurchaseSubOrderSn,
this.colReason,
this.colPackageSn,
this.colReturnTotalNum,
this.colSkuNumber,
this.colOutboundTime,
this.colOpResult});
@@ -536,7 +232,7 @@ namespace TemuKJD.KJDForms.ShopForms
this.dgvSelectProduct.ReadOnly = true;
this.dgvSelectProduct.RowHeadersWidth = 51;
this.dgvSelectProduct.RowTemplate.Height = 23;
this.dgvSelectProduct.Size = new System.Drawing.Size(1270, 367);
this.dgvSelectProduct.Size = new System.Drawing.Size(1356, 427);
this.dgvSelectProduct.TabIndex = 190;
this.dgvSelectProduct.Scroll += new System.Windows.Forms.ScrollEventHandler(this.dgvSelectProduct_Scroll);
//
@@ -544,7 +240,7 @@ namespace TemuKJD.KJDForms.ShopForms
//
this.ucSplitPage1.CurrentPage = 1;
this.ucSplitPage1.Dock = System.Windows.Forms.DockStyle.Right;
this.ucSplitPage1.Location = new System.Drawing.Point(916, 0);
this.ucSplitPage1.Location = new System.Drawing.Point(1002, 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);
@@ -561,7 +257,7 @@ namespace TemuKJD.KJDForms.ShopForms
this.statusBar.Location = new System.Drawing.Point(0, 0);
this.statusBar.Margin = new System.Windows.Forms.Padding(0);
this.statusBar.Name = "statusBar";
this.statusBar.Size = new System.Drawing.Size(1278, 25);
this.statusBar.Size = new System.Drawing.Size(1364, 25);
this.statusBar.TabIndex = 5;
//
// colSelect
@@ -579,12 +275,14 @@ namespace TemuKJD.KJDForms.ShopForms
this.colSpu.HeaderText = "SPU";
this.colSpu.Name = "colSpu";
this.colSpu.ReadOnly = true;
this.colSpu.Width = 88;
//
// colSku
//
this.colSku.HeaderText = "SKU";
this.colSku.Name = "colSku";
this.colSku.ReadOnly = true;
this.colSku.Width = 88;
//
// colImgUrl
//
@@ -629,6 +327,7 @@ namespace TemuKJD.KJDForms.ShopForms
this.colPurchaseSubOrderSn.Name = "colPurchaseSubOrderSn";
this.colPurchaseSubOrderSn.ReadOnly = true;
this.colPurchaseSubOrderSn.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colPurchaseSubOrderSn.Visible = false;
this.colPurchaseSubOrderSn.Width = 120;
//
// colReason
@@ -645,7 +344,14 @@ namespace TemuKJD.KJDForms.ShopForms
this.colPackageSn.Name = "colPackageSn";
this.colPackageSn.ReadOnly = true;
this.colPackageSn.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colPackageSn.Width = 120;
this.colPackageSn.Width = 136;
//
// colReturnTotalNum
//
this.colReturnTotalNum.HeaderText = "包裹总件数";
this.colReturnTotalNum.Name = "colReturnTotalNum";
this.colReturnTotalNum.ReadOnly = true;
this.colReturnTotalNum.Width = 80;
//
// colSkuNumber
//
@@ -654,7 +360,7 @@ namespace TemuKJD.KJDForms.ShopForms
this.colSkuNumber.Name = "colSkuNumber";
this.colSkuNumber.ReadOnly = true;
this.colSkuNumber.Resizable = System.Windows.Forms.DataGridViewTriState.True;
this.colSkuNumber.Width = 80;
this.colSkuNumber.Width = 70;
//
// colOutboundTime
//
@@ -670,12 +376,12 @@ namespace TemuKJD.KJDForms.ShopForms
this.colOpResult.HeaderText = "上传结果";
this.colOpResult.Name = "colOpResult";
this.colOpResult.ReadOnly = true;
this.colOpResult.Width = 150;
this.colOpResult.Width = 200;
//
// ReturnPackageDetailForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.ClientSize = new System.Drawing.Size(1280, 500);
this.ClientSize = new System.Drawing.Size(1366, 560);
this.Controls.Add(this.panel2);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.Name = "ReturnPackageDetailForm";
@@ -693,8 +399,6 @@ namespace TemuKJD.KJDForms.ShopForms
this.splitContainer2.Panel2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.splitContainer2)).EndInit();
this.splitContainer2.ResumeLayout(false);
this.tableLayoutPanel1.ResumeLayout(false);
this.tableLayoutPanel1.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.pbLoading)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.dgvSelectProduct)).EndInit();
this.ResumeLayout(false);
@@ -705,27 +409,6 @@ namespace TemuKJD.KJDForms.ShopForms
private System.Windows.Forms.Panel panel2;
private System.Windows.Forms.SplitContainer splitContainer1;
private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
private System.Windows.Forms.Label label6;
private UserComponent.UcCheckBox chkShowDel;
private System.Windows.Forms.TextBox txtShopId;
private UserComponent.UcCheckBox chkNoSubSa;
private DevComponents.DotNetBar.PanelEx pnlEmpty;
private System.Windows.Forms.Label label7;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.TextBox txtShopName;
private System.Windows.Forms.Label label5;
private UserControls.ButtonEx btnSearch;
private System.Windows.Forms.TextBox txtSKC;
private System.Windows.Forms.TextBox txtSPU;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.TextBox txtCat;
private System.Windows.Forms.TextBox txtExtCode;
private System.Windows.Forms.Label label3;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.TextBox txtProdName;
private System.Windows.Forms.ComboBox cmbStatus;
private UserControls.ButtonEx btnAdd;
private System.Windows.Forms.SplitContainer splitContainer2;
private System.Windows.Forms.PictureBox pbLoading;
@@ -747,6 +430,7 @@ namespace TemuKJD.KJDForms.ShopForms
private System.Windows.Forms.DataGridViewTextBoxColumn colPurchaseSubOrderSn;
private System.Windows.Forms.DataGridViewTextBoxColumn colReason;
private System.Windows.Forms.DataGridViewTextBoxColumn colPackageSn;
private System.Windows.Forms.DataGridViewTextBoxColumn colReturnTotalNum;
private System.Windows.Forms.DataGridViewTextBoxColumn colSkuNumber;
private System.Windows.Forms.DataGridViewTextBoxColumn colOutboundTime;
private System.Windows.Forms.DataGridViewTextBoxColumn colOpResult;
@@ -81,8 +81,8 @@ namespace TemuKJD.KJDForms.ShopForms
this.Invoke(new Action(() =>
{
this.statusBar.lblTaskStatus.Text = "正在查询" + midTime.ToString(" yyyy年MM月dd日 至 ") + endTime.ToString("yyyy年MM月dd日 ") + "...";
this.statusBar.pgbTaskProgress.Maximum = lstShop.Count;
this.statusBar.lblTaskStatus.Text = "正在查询" + midTime.ToString(" yy年MM月dd日 至 ") + endTime.ToString("yy年MM月dd日 ") + "...";
this.statusBar.pgbTaskProgress.Maximum = i + 1;
this.statusBar.UpdateProgressBar(i + 1);
i++;
}));
@@ -144,13 +144,11 @@ namespace TemuKJD.KJDForms.ShopForms
int totalPage = 1;
bool isError = false;
string errMsg = "";
List<TemuReturnPackageDetailInfo> packageLstTmp = new List<TemuReturnPackageDetailInfo>();
while (page < totalPage)
{
page++;
if (cancellationTokenSource.IsCancellationRequested)
break;
Thread.Sleep(Randomx.GetId(100, 300));
int tryCount = 0;
@@ -193,19 +191,18 @@ namespace TemuKJD.KJDForms.ShopForms
}
catch (Exception ex) { BaseMsgForm.ShowError(ex.Message); }
List<TemuReturnPackageDetailInfo> packageLst = new List<TemuReturnPackageDetailInfo>();
foreach (var item in jArr)
{
string sItem = item.ToString();
TemuReturnPackageDetailInfo pInfo = JsonHelper.DeserializeJsonToObject<TemuReturnPackageDetailInfo>(sItem); // 反序列化得到类
if (pInfo != null && !lstReturnPackageInfo.Any(a => a.purchaseSubOrderSn == pInfo.purchaseSubOrderSn))
{
packageLst.Add(pInfo);
packageLstTmp.Add(pInfo);
}
}
string prodJsonStr = "";
string skcIds = string.Join(",", packageLst.Select(p => p.productSkcId).Distinct());
string skcIds = string.Join(",", packageLstTmp.Select(p => p.productSkuId).Distinct());
if (skcIds.Length > 0)
{
prodJsonStr = GetProductList(shop, skcIds);
@@ -224,119 +221,159 @@ namespace TemuKJD.KJDForms.ShopForms
{
long productSkcId = prod["productSkcId"].ParseToLong();
string extCode = prod["extCode"].ParseToString();
foreach (var pack in packageLst)
foreach (var pack in packageLstTmp)
{
if (pack.productSkcId == productSkcId)
pack.extCode = extCode;
}
foreach(var sku in prod["productSkuSummaries"])
{
long skuId = sku["productSkuId"].ParseToLong();
foreach (var pack in packageLstTmp)
{
if (pack.productSkuId == skuId)
{
string s1 = sku["productSkuSpecList"]?.FirstOrDefault()?.ToString();
string s2 = sku["productSkuSpecList"]?.LastOrDefault()?.ToString();
pack.spec1 = JsonHelper.DeserializeJsonToObject<TemuProductSkcSpec>(s1);
pack.spec2 = JsonHelper.DeserializeJsonToObject<TemuProductSkcSpec>(s2);
}
}
}
}
}
catch (Exception ex) { BaseMsgForm.ShowError(ex.Message); }
}
}
}
foreach(var pack in packageLst)
{
if (defaultBitmap == null)
defaultBitmap = new Bitmap(80, 80);
Image image = null;
string getImgError="";
string imgUrl = pack.thumbUrl.Replace("https:", "http:");
if (!string.IsNullOrWhiteSpace(imgUrl))
image = GetHtml.GetUrlImg(imgUrl, out getImgError);
if (!string.IsNullOrEmpty(getImgError))
BaseMsgForm.ShowError(getImgError);
string imgBase64 = "";
using (MemoryStream memoryStream = new MemoryStream())
{
image.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] imageBytes = memoryStream.ToArray();
imgBase64 = Convert.ToBase64String(imageBytes);
}
TemuReturnPackageDetailParam packageParam = new TemuReturnPackageDetailParam
{
itemNo = pack.extCode,
mallId = shop.ShopId,
productColor = pack.mainSaleSpec,
productSize = pack.secondarySaleSpec,
productCount = pack.quantity.ParseToInt(),
productSkcId = pack.productSkcId.ParseToString(),
productSkcPicture = imgBase64,
productSkuId = pack.productSkuId.ParseToString(),
returnPackageNo = pack.packageSn,
returnReason = string.Join(",", pack.reasonDesc),
};
long timestamp = BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now);
string secretKey = "aaMETt2bPe6YHzZ1ojbC+6wOvgtwehqc6A+/Rz+pCUU=";
string mallId = packageParam.mallId;
string returnPackageNo = packageParam.returnPackageNo;
string sign = BaseClass.GetMd5(timestamp + secretKey + mallId + returnPackageNo).ToLower();
string html = "\"success\":true";
//html = ReturnPackagePostResponse(shop, "url", JsonHelper.SerializeObject(packageParam), "referer", timestamp.ParseToString(), sign);
string rst = "";
if (html.Contains("\"success\":true"))
{
rst = "上传仓管成功";
}
else
{
rst = "失败" + BaseRegex.GetStringJson(ref html, "errorMsg");
}
Invoke(new Action(() =>
{
int rowId = this.dgvSelectProduct.Rows.Add(
true,
//shop.ShopAccount,
pack.productSpuId,
pack.productSkuId,
imgUrl,
defaultBitmap, //image, // skc图片
pack.productSkcId,
/*"①" +*/ pack.mainSaleSpec + " " + /*"②" +*/ pack.secondarySaleSpec,
pack.extCode,
pack.purchaseSubOrderSn, // 备货单号
string.Join(",", pack.reasonDesc),
pack.packageSn,
pack.quantity,
BaseClass.StampToDateTime((pack.outboundTime.ParseToLong() / 1000).ParseToInt()), // 出库时间
"" // 操作结果,状态
);
dgvSelectProduct.Rows[rowId].Height = 60;
}));
}
lstReturnPackageInfo.AddRange(packageLst);
int total = BaseRegex.GetStringJson(ref jsonStr, "total").ParseToInt();
totalPage = Math.Ceiling(total / 10.0).ParseToInt();
ShowDgvImg();
int total = BaseRegex.GetStringJson(ref jsonStr, "total").ParseToInt();
totalPage = Math.Ceiling(total / 10.0).ParseToInt();
}
//以上一次查完一整个月的再合并,因为同一个包裹里可能有相同的退货包裹号sku号数量等等这些全一致的,需要手动合并到一起一把上传
List<TemuReturnPackageDetailInfo> packageLst = new List<TemuReturnPackageDetailInfo>();
foreach (var packTmp in packageLstTmp)
{
var packageExist = packageLst.FirstOrDefault(p => p.productSkuId == packTmp.productSkuId && p.packageSn == packTmp.packageSn);
if (packageExist == null)
{
packageLst.Add(packTmp);
}
else
{
packageExist.quantity += packTmp.quantity;
packageExist.reasonDesc.AddRange(packTmp.reasonDesc);
packageExist.reasonDesc = packageExist.reasonDesc.Distinct().ToList();
}
}
Invoke(new Action(() =>
// 计算包裹内商品总数
foreach (var pack in packageLst)
{
//var rows = this.dgvShop.Rows.Cast<DataGridViewRow>().Where(r => r.Cells["colShopId"].Value.ToString() == shop.ShopId);
//pack.returnTotalNum = packageLst.Where(p => p.packageSn == pack.packageSn).Select(n => n.quantity.ParseToInt()).Count();
pack.returnTotalNum = packageLst.Where(p => p.packageSn == pack.packageSn).Sum(n => n.quantity.ParseToInt());
}
//packageLst = packageLst.OrderByDescending(p => p.outboundTime).ToList();
//if (!isError)
//{
// foreach (var row in rows)
// {
// row.Cells["colMessage"].Value = "已查询";
// }
//}
//else
//{
// foreach (var row in rows)
// {
// row.Cells["colMessage"].Value = "查询失败 " + errMsg;
// }
//}
}));
foreach (var pack in packageLst)
{
if (defaultBitmap == null)
defaultBitmap = new Bitmap(80, 80);
Image image = null;
string getImgError = "";
string imgUrl = pack.thumbUrl.Replace("https:", "http:");
if (!string.IsNullOrWhiteSpace(imgUrl))
image = GetHtml.GetUrlImg(imgUrl, out getImgError);
if (!string.IsNullOrEmpty(getImgError))
BaseMsgForm.ShowError(getImgError);
string imgBase64 = "";
using (MemoryStream memoryStream = new MemoryStream())
{
image.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Jpeg);
byte[] imageBytes = memoryStream.ToArray();
imgBase64 = Convert.ToBase64String(imageBytes);
}
TemuReturnPackageDetailParam packageParam = new TemuReturnPackageDetailParam
{
itemNo = pack.extCode,
mallId = shop.ShopId,
productColor = pack.spec1.parentSpecName == "颜色" ? pack.spec1.specName : pack.spec2.specName,
productSize = pack.spec1.parentSpecName == "颜色" ? pack.spec2.specName : pack.spec1.specName,
productCount = pack.quantity.ParseToInt(),
productSkcId = pack.productSkcId.ParseToString(),
productSkcPicture = imgBase64,
productSkuId = pack.productSkuId.ParseToString(),
returnPackageNo = pack.packageSn,
returnReason = string.Join(",", pack.reasonDesc),
returnTotalNum = pack.returnTotalNum,
};
long timestamp = BaseClass.DateTimeToTimestampMilliseconds(DateTime.Now);
//string secretKey = "aaMETt2bPe6YHzZ1ojbC+6wOvgtwehqc6A+/Rz+pCUU=";
string mallId = packageParam.mallId;
string returnPackageNo = packageParam.returnPackageNo;
//string sign = BaseClass.GetMd5(timestamp + secretKey + mallId + returnPackageNo).ToLower();
int r2 = DateTime.Now.Millisecond;
var url = BaseClass.BuildObjString("user/get_package_sign");
var data = Work.UserLogin.GetSignaturex() +
"&timestamp=" + timestamp +
"&mallId=" + mallId +
"&returnPackageNo=" + returnPackageNo +
"&r2=" + r2 +
"&c2=" + Work.UserLogin.Encryption(r2);
string signHtml = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(signHtml) || !signHtml.Contains("\"code\":200"))
signHtml = GetHtml.PostUtf8(url, data);
if (string.IsNullOrEmpty(signHtml) || !signHtml.Contains("\"code\":200"))
signHtml = GetHtml.PostUtf8(url, data);
string sign = BaseRegex.GetStringJson(ref signHtml, "sign");
string html = "\"code\":200";
string url2 = "https://temu.tuihuocangku.cn/prod-api/api/return/addReturnGoods";
string referer2 = "https://temu.tuihuocangku.cn/prod-api/api/return";
string postData = JsonHelper.SerializeObject(packageParam);
//634418210534062 测试店铺
html = ReturnPackagePostResponse(shop, url2, postData, referer2, timestamp.ParseToString(), sign);
Thread.Sleep(Randomx.GetId(60));
string rst = "";
if (html.Contains("\"code\":200"))
{
rst = "退货订单插入成功";
}
else
{
rst = BaseRegex.GetStringJson(ref html, "msg");
}
Invoke(new Action(() =>
{
int rowId = this.dgvSelectProduct.Rows.Add(
true,
//shop.ShopAccount,
pack.productSpuId,
pack.productSkuId,
imgUrl,
defaultBitmap, //image, // skc图片
pack.productSkcId,
/*"①" +*/ pack.mainSaleSpec + " " + /*"②" +*/ pack.secondarySaleSpec,
pack.extCode,
pack.purchaseSubOrderSn, // 备货单号
string.Join(",", pack.reasonDesc),
pack.packageSn,
pack.returnTotalNum,
pack.quantity,
BaseClass.StampToDateTime((pack.outboundTime.ParseToLong() / 1000).ParseToInt()), // 出库时间
rst // 操作结果,状态
);
dgvSelectProduct.Rows[rowId].Height = 60;
}));
}
lstReturnPackageInfo.AddRange(packageLst);
ShowDgvImg();
}
Invoke(new Action(() =>
{
@@ -422,7 +459,7 @@ namespace TemuKJD.KJDForms.ShopForms
page = Math.Max(page, 1);
string url = "https://agentseller.temu.com/visage-agent-seller/product/skc/pageQuery";
string body;
body = @"{""productSkcIds"":[" + skcIds + @"],""page"":" + page + @",""pageSize"":200}";
body = @"{""productSkuIds"":[" + skcIds + @"],""page"":" + page + @",""pageSize"":200}";
string refere = "https://agentseller.temu.com/goods/list";
@@ -441,11 +478,11 @@ namespace TemuKJD.KJDForms.ShopForms
request.KeepAlive = true;
request.Headers.Set(HttpRequestHeader.CacheControl, "max-age=0");
request.Headers.Add("sec-ch-ua", @"""Google Chrome"";v=""137"", ""Chromium"";v=""137"", ""Not/A)Brand"";v=""24""");
request.Headers.Add("sec-ch-ua-mobile", @"?0");
request.Headers.Add("sec-ch-ua-platform", @"""Windows""");
//request.Headers.Add("sec-ch-ua", @"""Google Chrome"";v=""137"", ""Chromium"";v=""137"", ""Not/A)Brand"";v=""24""");
//request.Headers.Add("sec-ch-ua-mobile", @"?0");
//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("timeStamp", timeStamp);
request.Headers.Add("timestamp", timeStamp);
request.Headers.Add("sign", sign);
request.ContentType = "application/json";
request.Accept = "*/*";
@@ -150,6 +150,9 @@
<metadata name="colPackageSn.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colReturnTotalNum.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="colOutboundTime.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
+22 -2
View File
@@ -46,6 +46,7 @@
this.chkCloseAfterLogin = new DevComponents.DotNetBar.Controls.CheckBoxX();
this.splitContainer2 = new System.Windows.Forms.SplitContainer();
this.txtAddress = new System.Windows.Forms.TextBox();
this.btnReturnPackage = new TemuKJD.UserControls.ButtonEx();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel2.SuspendLayout();
this.splitContainer1.SuspendLayout();
@@ -69,6 +70,7 @@
// splitContainer1.Panel2
//
this.splitContainer1.Panel2.BackColor = System.Drawing.Color.White;
this.splitContainer1.Panel2.Controls.Add(this.btnReturnPackage);
this.splitContainer1.Panel2.Controls.Add(this.btnLoginAgain);
this.splitContainer1.Panel2.Controls.Add(this.pnlMultiLogin);
this.splitContainer1.Panel2.Controls.Add(this.label2);
@@ -81,7 +83,7 @@
this.splitContainer1.Panel2.Controls.Add(this.btnReload);
this.splitContainer1.Panel2.Controls.Add(this.chkCloseAfterLogin);
this.splitContainer1.Size = new System.Drawing.Size(1438, 736);
this.splitContainer1.SplitterDistance = 674;
this.splitContainer1.SplitterDistance = 675;
this.splitContainer1.SplitterWidth = 3;
this.splitContainer1.TabIndex = 4;
//
@@ -319,7 +321,7 @@
//
// txtAddress
//
this.txtAddress.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
this.txtAddress.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.txtAddress.Location = new System.Drawing.Point(3, 3);
this.txtAddress.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
@@ -328,6 +330,23 @@
this.txtAddress.TabIndex = 7;
this.txtAddress.KeyDown += new System.Windows.Forms.KeyEventHandler(this.txtAddress_KeyDown);
//
// btnReturnPackage
//
this.btnReturnPackage.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.btnReturnPackage.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(63)))), ((int)(((byte)(126)))), ((int)(((byte)(255)))));
this.btnReturnPackage.Cursor = System.Windows.Forms.Cursors.Hand;
this.btnReturnPackage.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnReturnPackage.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
this.btnReturnPackage.ForeColor = System.Drawing.Color.White;
this.btnReturnPackage.Location = new System.Drawing.Point(651, 28);
this.btnReturnPackage.Margin = new System.Windows.Forms.Padding(2);
this.btnReturnPackage.Name = "btnReturnPackage";
this.btnReturnPackage.Size = new System.Drawing.Size(136, 25);
this.btnReturnPackage.TabIndex = 464;
this.btnReturnPackage.Text = "提交退货到库存管理";
this.btnReturnPackage.UseVisualStyleBackColor = false;
this.btnReturnPackage.Click += new System.EventHandler(this.btnReturnPackage_Click);
//
// ShopLoginForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
@@ -375,5 +394,6 @@
private DevComponents.DotNetBar.PanelEx btnMultiLogin;
private System.Windows.Forms.Panel pnlMultiLogin;
private UserControls.ButtonEx btnLoginAgain;
private UserControls.ButtonEx btnReturnPackage;
}
}
@@ -1066,5 +1066,11 @@ function getElementWithText(sText)
InputUserNameAndPassword(cefWebBrowser, shop.LoginName, DataOpenSSL.DecryptString(shop.Password));
});
}
private void btnReturnPackage_Click(object sender, EventArgs e)
{
ReturnPackageDetailForm form = new ReturnPackageDetailForm(this.shop);
form.ShowDialog();
}
}
}