From 1487bc31c8bd252ac2d0c8064261ac49304f8cf8 Mon Sep 17 00:00:00 2001 From: wule Date: Tue, 14 Oct 2025 20:07:55 +0800 Subject: [PATCH] =?UTF-8?q?1=E8=B7=A8=E5=A2=83=E8=BE=BEsku=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E9=9A=8F=E6=9C=BA=E5=AD=97=E7=AC=A6=202=E8=B7=A8?= =?UTF-8?q?=E5=A2=83=E8=BE=BE=E6=90=9C=E7=B4=A2=E5=90=8C=E8=B4=A7=E5=8F=B7?= =?UTF-8?q?=E5=95=86=E5=93=81=E9=9A=8F=E6=9C=BA=E6=9B=BF=E6=8D=A2=E4=B8=BB?= =?UTF-8?q?=E5=9B=BE=E5=8F=8Asku=E9=9A=8F=E6=9C=BA=E8=BD=AC=E4=B8=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AllBase/BaseClass.cs | 2 +- TEMUKJD/KJD.csproj.user | 2 +- .../DbProductSelectListManageForm.Designer.cs | 15 ++++ .../DbProductSelectListManageForm.cs | 87 ++++++++++++++++++- .../ShopForms/ReturnPackageDetailForm.cs | 3 +- .../PDDDBProdUserSelectForm.cs | 2 +- .../PDDForms/ShopForms/PDDShopLoginForm.cs | 32 +++++++ TEMUKJD/StartUp.cs | 5 +- 8 files changed, 141 insertions(+), 7 deletions(-) diff --git a/AllBase/BaseClass.cs b/AllBase/BaseClass.cs index d958ab5..47e9342 100644 --- a/AllBase/BaseClass.cs +++ b/AllBase/BaseClass.cs @@ -27,7 +27,7 @@ namespace AllBase /// /// 版本ID /// - public static int VersionCount = 630; + public static int VersionCount = 631; //public static int VersionCount = 613; /// diff --git a/TEMUKJD/KJD.csproj.user b/TEMUKJD/KJD.csproj.user index 7a74901..cebb4cf 100644 --- a/TEMUKJD/KJD.csproj.user +++ b/TEMUKJD/KJD.csproj.user @@ -1,7 +1,7 @@  - ShowAllFiles + ProjectFiles publish\ diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.Designer.cs b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.Designer.cs index 5d44f2a..e6e1ffc 100644 --- a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.Designer.cs +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.Designer.cs @@ -144,6 +144,7 @@ this.colOpResult = new System.Windows.Forms.DataGridViewTextBoxColumn(); this.ucSplitPage1 = new TemuKJD.UserControls.UcSplitPage(); this.statusBar = new TemuKJD.UserControls.StatusBarUserControl(); + this.chkSameExtcodeRandomMainImg = new TemuKJD.UserComponent.UcCheckBox(this.components); ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit(); this.splitContainer1.Panel1.SuspendLayout(); this.splitContainer1.Panel2.SuspendLayout(); @@ -183,6 +184,7 @@ // // splitContainer1.Panel1 // + this.splitContainer1.Panel1.Controls.Add(this.chkSameExtcodeRandomMainImg); this.splitContainer1.Panel1.Controls.Add(this.lblSkuRandomLetterNotes); this.splitContainer1.Panel1.Controls.Add(this.btnAdd); this.splitContainer1.Panel1.Controls.Add(this.label21); @@ -1669,6 +1671,18 @@ this.statusBar.Size = new System.Drawing.Size(1558, 25); this.statusBar.TabIndex = 5; // + // chkSameExtcodeRandomMainImg + // + this.chkSameExtcodeRandomMainImg.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.chkSameExtcodeRandomMainImg.AutoSize = true; + this.chkSameExtcodeRandomMainImg.Location = new System.Drawing.Point(1372, 71); + this.chkSameExtcodeRandomMainImg.Margin = new System.Windows.Forms.Padding(6, 0, 0, 0); + this.chkSameExtcodeRandomMainImg.Name = "chkSameExtcodeRandomMainImg"; + this.chkSameExtcodeRandomMainImg.Size = new System.Drawing.Size(188, 21); + this.chkSameExtcodeRandomMainImg.TabIndex = 488; + this.chkSameExtcodeRandomMainImg.Text = "同货号主图随机+sku随机转主"; + this.chkSameExtcodeRandomMainImg.UseVisualStyleBackColor = true; + // // DbProductSelectListManageForm // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; @@ -1824,5 +1838,6 @@ private DevComponents.DotNetBar.PanelEx btnSearch; private UserComponent.UcCheckBox chkSkuRandomLetter; private System.Windows.Forms.Label lblSkuRandomLetterNotes; + private UserComponent.UcCheckBox chkSameExtcodeRandomMainImg; } } \ No newline at end of file diff --git a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs index fd7db05..932c423 100644 --- a/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs +++ b/TEMUKJD/KJDForms/ProductSelectForms/DbProductSelectListManageForm.cs @@ -815,7 +815,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms return list.FirstOrDefault(); } - public static KJDDBProduct GetProductDetail(string prodDbId) + public static KJDDBProduct GetProductDetail(string prodDbId, string extCode="") { if (string.IsNullOrEmpty(prodDbId)) return new KJDDBProduct(); @@ -826,6 +826,10 @@ namespace TemuKJD.KJDForms.ProductSelectForms var data = ""; data = UserLogin.GetSignaturex() + "&search_db_ids=" + prodDbId; + if (!string.IsNullOrEmpty(extCode)) + { + data += "&search_ext_code=" + extCode; + } var html = GetHtml.PostUtf8(url, data); if (string.IsNullOrEmpty(html) || !html.Contains("\"code\":200")) @@ -856,6 +860,44 @@ namespace TemuKJD.KJDForms.ProductSelectForms } } + public static List< KJDDBProduct> GetProductSameExtCodeDetailList(string extCode) + { + if (string.IsNullOrEmpty(extCode)) + return new List(); + + List list = new List(); + + var url = BaseClass.BuildObjString("product/get_product_detail_list"); + var data = ""; + + data = UserLogin.GetSignaturex() + "&search_ext_code=" + extCode; + + 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("\"code\":200")) + { + return null; + } + + var jArr = JObject.Parse(html)["data"]; + if (jArr.Count() == 0) + return null; + var sProd = JsonHelper.SerializeObject(jArr); + + try + { + list = JsonHelper.DeserializeJsonToList(sProd); + return list; + } + catch (Exception ex) + { + return null; + } + } + string UploadProduct(ShopLoginInfo shop, KJDDBProduct dbProd, TemuDBProductSelect selectProd, DataGridViewCell cell) { if (shop == null || string.IsNullOrEmpty(shop.ShopId) || shop.LoginStatus != "登录成功" || shop.LoginStatus2 != "国际版在线") @@ -940,7 +982,7 @@ namespace TemuKJD.KJDForms.ProductSelectForms List realCarouselImageUrls = new List(); realCarouselImageUrls.AddRange(prodInfo.carouselImageUrls); - if (chkCustomPic.Checked) // 上传自定义图片 + if (chkCustomPic.Checked) // 上传自定义图片 自定义主图 { for (int i = 0; i < prodParam.carouselImageUrls.Count; i++) { @@ -952,6 +994,47 @@ namespace TemuKJD.KJDForms.ProductSelectForms } } + if (chkSameExtcodeRandomMainImg.Checked) //选择同货号(extcode)的商品主图和sku图做随机主图 + { + var sameExtCodeDBProdLst = GetProductSameExtCodeDetailList(dbProd.ext_code); + var sameExtCodeProdInfoLst = new List(); + var sameExtCodeMainImgUrlLst = new List(); + var sameExtCodeSkuImgUrlLst = new List(); + try + { + foreach(var sameExtCodeDbProd in sameExtCodeDBProdLst) + { + var pInfo = JsonHelper.DeserializeJsonToObject(sameExtCodeDbProd.product_json); + sameExtCodeProdInfoLst.Add(pInfo); + sameExtCodeMainImgUrlLst.AddRange(pInfo.carouselImageUrls); + foreach (var sku in pInfo.productSkcList.FirstOrDefault().productSkuList) + { + sameExtCodeSkuImgUrlLst.Add(sku.thumbUrl); + } + } + if (sameExtCodeMainImgUrlLst.Count > 0 && sameExtCodeSkuImgUrlLst.Count > 0) + { + bool isUseDefault = false; + for (int i = 0; i < prodParam.carouselImageUrls.Count; i++) + { + // 主图 :sku转主 比例 2 :1 + if (Randomx.GetId(3) > 0 || (isUseDefault == false && i == prodParam.carouselImageUrls.Count - 1)) + { + isUseDefault = true; + prodParam.carouselImageUrls[i] = sameExtCodeMainImgUrlLst[Randomx.GetId(sameExtCodeMainImgUrlLst.Count)]; + } + else + { + prodParam.carouselImageUrls[i] = sameExtCodeSkuImgUrlLst[Randomx.GetId(sameExtCodeSkuImgUrlLst.Count)]; + } + } + } + } + catch (Exception ex) + { + } + } + prodParam.goodsAdvantageLabelTypes = prodInfo.goodsAdvantageLabelVOList != null ? prodInfo.goodsAdvantageLabelVOList : new List(); prodParam.goodsLayerDecorationCustomizeI18nReqs = prodInfo.goodsLayerDecorationCustomizeI18nVOList; diff --git a/TEMUKJD/KJDForms/ShopForms/ReturnPackageDetailForm.cs b/TEMUKJD/KJDForms/ShopForms/ReturnPackageDetailForm.cs index b9faa44..99db259 100644 --- a/TEMUKJD/KJDForms/ShopForms/ReturnPackageDetailForm.cs +++ b/TEMUKJD/KJDForms/ShopForms/ReturnPackageDetailForm.cs @@ -495,7 +495,8 @@ namespace TemuKJD.KJDForms.ShopForms { splitContainer1.Panel1.Enabled = true; pbLoading.Visible = false; - string sRst = "已完成退货包裹明细查询!"; + var pacCount = lstReturnPackageInfo.Select(p => p.packageSn).Distinct().ToList().Count; + string sRst = "已完成退货包裹明细查询!共有 " + pacCount + " 个退货包裹。"; if (cancellationTokenSource.IsCancellationRequested) sRst = "已取消查询!"; diff --git a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs index f0fd24e..18c42e5 100644 --- a/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs +++ b/TEMUKJD/PDDForms/ProductSelectForms/PDDDBProdUserSelectForm.cs @@ -1937,7 +1937,7 @@ namespace TemuKJD.PDDForms.ProductSelectForms { img_type = "拖鞋"; } - else if (sneakersCatName.Contains(dbProd.cat_name) || sneakersCatName.Contains("鞋")) + else if (sneakersCatName.Contains(dbProd.cat_name) || dbProd.cat_name.Contains("鞋")) { img_type = "鞋(不含拖鞋)"; } diff --git a/TEMUKJD/PDDForms/ShopForms/PDDShopLoginForm.cs b/TEMUKJD/PDDForms/ShopForms/PDDShopLoginForm.cs index 27ca155..099fd82 100644 --- a/TEMUKJD/PDDForms/ShopForms/PDDShopLoginForm.cs +++ b/TEMUKJD/PDDForms/ShopForms/PDDShopLoginForm.cs @@ -1378,6 +1378,8 @@ function getElementWithText(sText) BaseMsgForm.ShowError("上传窗口不存在!"); return; } + //var t4 = cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync("alert('" + 22 + "');"); + //t4.Wait(2000); try { @@ -1385,6 +1387,27 @@ function getElementWithText(sText) var prodInfoStr = JsonHelper.SerializeObject(jObj["result"]); PDDProductDetailInfo detailInfo = JsonHelper.DeserializeJsonToObject(prodInfoStr); + //string jsStr = "function getSkuChange() {" + + // " var spec1 = document.getElementsByClassName('property-container-v2 package');" + + // " var spec2 = document.getElementsByClassName('goods-spec-row');" + + // " if (spec1) return 'success';" + + // " if (spec1) return spec1;" + + // " else if (spec2) return spec2;" + + // " else return document.body;" + + // "}" + + // "getSkuChange();"; + + //Task.Run(() => + //{ + // var t1 = cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync(jsStr); + // t1.Wait(); + + + // var t2 = cefWebBrowser.GetBrowser().MainFrame.EvaluateScriptAsync("alert('" + 333 + "');"); + // t2.Wait(2000); + //}); + //return; + var skuPrice = (this.txtSendPrice.Text.ParseToDecimal() * 100).ParseToInt(); foreach (var sku in detailInfo.sku) { @@ -1395,6 +1418,15 @@ function getElementWithText(sText) { detailInfo.market_price = skuPrice + 1000; } + List skuTmpLst = new List(); + foreach (var sku in detailInfo.sku) + { + if (1==1) + { + skuTmpLst.Add(sku); + } + } + detailInfo.sku = skuTmpLst; jObj = JObject.Parse(pddSourceGoodsDecorationTemp); var prodDecorationTStr = JsonHelper.SerializeObject(jObj["result"]); diff --git a/TEMUKJD/StartUp.cs b/TEMUKJD/StartUp.cs index 4b6b4b3..4c7734b 100644 --- a/TEMUKJD/StartUp.cs +++ b/TEMUKJD/StartUp.cs @@ -119,6 +119,8 @@ namespace TemuKJD while (true) { +#if DEBUG +#else foreach (var shop in GlobalConfig.ShopLoginList) { if (string.IsNullOrEmpty(shop.ShopId)) @@ -133,6 +135,7 @@ namespace TemuKJD dicUpReturn[shop] = DateTime.Now.ToString("yyyyMMdd"); } } +#endif #if DEBUG for (int i = 0; i < 3600; i++) { @@ -143,7 +146,7 @@ namespace TemuKJD #endif } }); - #endregion +#endregion } public static void InitProxy()