diff --git a/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs b/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs index e409944..249e537 100644 --- a/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs +++ b/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs @@ -1260,21 +1260,72 @@ namespace BBWYB.Server.Business .InnerJoin((s1, s2) => s1.MaxId == s2.Id) .ToList((s1, s2) => new { s2.ProductId, s2.BelongSkuId, s2.CreateTime }); + var qtSpuList = fsql.Select().ToList(); + var jdSkuIdList = qtlist.Select(x => x.BelongSkuId).Distinct().ToList(); var jdSkuList = freeSqlMultiDBManager.BBWYCfsql.Select(jdSkuIdList).ToList(); var hycatsList = freeSqlMultiDBManager.HYfsql.Select().ToList(); + #region 拳探商品类目 + var client = opPlatformClientFactory.GetClient(AdapterEnums.PlatformType.拳探); + var request = new OP_QueryProductCategoryRequest() + { + PageIndex = 1, + PageSize = 500, + AppKey = "BBWYB2023022501", + AppSecret = "3a1521deccc6819d61788a0d6baae49e9", + AppToken = "9", + Level = 0 + }; + + var L1_qtCategoryList = new List(); + var L1_response = client.GetProductCategoryList(request); + if (L1_response.Items != null) + L1_qtCategoryList.AddRange(L1_response.Items); + + request.Level = 1; + var L2_qtCategoryList = new List(); + var L2_response = client.GetProductCategoryList(request); + if (L2_response.Items != null) + L2_qtCategoryList.AddRange(L2_response.Items); + + request.Level = 2; + var L3_qtCategoryList = new List(); + var L3_response = client.GetProductCategoryList(request); + if (L3_response.Items != null) + L3_qtCategoryList.AddRange(L3_response.Items); + #endregion + var result = new List(); foreach (var qt in qtlist) { HyCats l1category = null; HyCats l2category = null; HyCats l3category = null; - var ps = jdSkuList.FirstOrDefault(x => x.Id == qt.BelongSkuId); - if (ps != null && ps.CategoryId != null) + OP_ProductCategoryResponse qt_l1category = null; + OP_ProductCategoryResponse qt_l2category = null; + OP_ProductCategoryResponse qt_l3category = null; + + var qtspu = qtSpuList.FirstOrDefault(x => x.Id == qt.ProductId); + if (qtspu != null) + { + qt_l3category = L3_qtCategoryList.FirstOrDefault(x => x.CategoryId == qtspu.CategoryId?.ToString()); + if (qt_l3category != null) + { + var parentPathIdArray = qt_l3category.CategoryPath.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); + if (parentPathIdArray.Length != 3) + continue; + qt_l2category = L2_qtCategoryList.FirstOrDefault(x => x.CategoryId == parentPathIdArray[1]); + qt_l1category = L1_qtCategoryList.FirstOrDefault(x => x.CategoryId == parentPathIdArray[0]); + } + } + + var jdps = jdSkuList.FirstOrDefault(x => x.Id == qt.BelongSkuId); + + if (jdps != null && jdps.CategoryId != null) { - l3category = hycatsList.FirstOrDefault(x => x.Id == ps.CategoryId.ToString()); + l3category = hycatsList.FirstOrDefault(x => x.Id == jdps.CategoryId.ToString()); if (l3category != null && !string.IsNullOrEmpty(l3category.ParentId)) { l2category = hycatsList.FirstOrDefault(x => x.Id == l3category.ParentId); @@ -1282,9 +1333,9 @@ namespace BBWYB.Server.Business l1category = hycatsList.FirstOrDefault(x => x.Id == l2category.ParentId); } } - result.Add($"{qt.ProductId},{qt.BelongSkuId},{l1category?.Id},{l1category?.Name},{l2category?.Id},{l2category?.Name},{l3category?.Id},{l3category?.Name}"); + result.Add($"{qt.ProductId},{qt_l1category?.CategoryName},{qt_l2category?.CategoryName},{qt_l3category?.CategoryName},{qt.BelongSkuId},{l1category?.Name},{l2category?.Name},{l3category?.Name}"); } - result.Insert(0, "拳探spu,京东sku,京东1级类目Id,京东1级类目名称,京东2级类目Id,京东2级类目名称,京东3级类目Id,京东3级类目名称"); + result.Insert(0, "拳探spu,拳探1级类目,拳探2级类目,拳探3级类目,京东sku,京东1级类目,京东2级类目,京东3级类目"); var path = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "ExportQTSpuAndJDSku.csv"); System.IO.File.WriteAllLines(path, result, System.Text.Encoding.UTF8); }