diff --git a/BBWY.Client/GlobalContext.cs b/BBWY.Client/GlobalContext.cs index 9978f5d2..ad6034e0 100644 --- a/BBWY.Client/GlobalContext.cs +++ b/BBWY.Client/GlobalContext.cs @@ -13,7 +13,7 @@ namespace BBWY.Client { ShopServiceGroupList = new List(); ShopServiceGroupLowerList = new List(); - ClientVersion = "10232"; + ClientVersion = "10234"; } diff --git a/BBWY.Client/Views/FallWare/PrintLSOrderWindow.xaml.cs b/BBWY.Client/Views/FallWare/PrintLSOrderWindow.xaml.cs index 06600b46..18e6b210 100644 --- a/BBWY.Client/Views/FallWare/PrintLSOrderWindow.xaml.cs +++ b/BBWY.Client/Views/FallWare/PrintLSOrderWindow.xaml.cs @@ -156,9 +156,6 @@ namespace BBWY.Client.Views.FallWare //lSAcceptOrderWindow.Show(); lSAcceptOrderWindow.PrintLSOrder(PrintName); }); - - //SealBoxPolicyDetailsWindow policyDetailsWindow = new SealBoxPolicyDetailsWindow(sealBoxSkus, SealBoxModel.ShopName, SealBoxModel.WareName, SealBoxModel.SealBoxId); - //policyDetailsWindow.PrintBox(PrintName); } } } diff --git a/BBWY.Client/Views/SealBox/SealBoxPolicyDetailsWindow.xaml b/BBWY.Client/Views/SealBox/SealBoxPolicyDetailsWindow.xaml index a8331b12..4d3e8ec2 100644 --- a/BBWY.Client/Views/SealBox/SealBoxPolicyDetailsWindow.xaml +++ b/BBWY.Client/Views/SealBox/SealBoxPolicyDetailsWindow.xaml @@ -34,15 +34,18 @@ --> - + - + - + + + + diff --git a/BBWY.Client/Views/SealBox/SealBoxPolicyDetailsWindow.xaml.cs b/BBWY.Client/Views/SealBox/SealBoxPolicyDetailsWindow.xaml.cs index f4b0818a..e789ee35 100644 --- a/BBWY.Client/Views/SealBox/SealBoxPolicyDetailsWindow.xaml.cs +++ b/BBWY.Client/Views/SealBox/SealBoxPolicyDetailsWindow.xaml.cs @@ -33,6 +33,7 @@ namespace BBWY.Client.Views.SealBox WareName = wareName; AcceptUserName = acceptUserName; SealBoxId = sealBoxId; + NowDateTime = DateTime.Now; this.UpdateLayout(); } @@ -47,6 +48,7 @@ namespace BBWY.Client.Views.SealBox public string AcceptUserName { get; set; } + public DateTime? NowDateTime { get; set; } public long SealBoxId { get; set; } public void PrintBox(string printName) @@ -62,6 +64,8 @@ namespace BBWY.Client.Views.SealBox System.Windows.MessageBox.Show("打印机处于错误状态"); return; } + NowDateTime = DateTime.Now; + this.UpdateLayout(); MyPrintHelper.SetDefaultPrint(printName);//设置默认打印机 PrintDialog printDialog = new PrintDialog(); printDialog.PrintTicket.PageOrientation = PageOrientation.Portrait;//设置为横向打印 PageOrientation.Landscape Portrait为纵向 diff --git a/BBWY.Server.API/Controllers/TestController.cs b/BBWY.Server.API/Controllers/TestController.cs index c05c2808..5099a92f 100644 --- a/BBWY.Server.API/Controllers/TestController.cs +++ b/BBWY.Server.API/Controllers/TestController.cs @@ -54,5 +54,11 @@ namespace BBWY.Server.API.Controllers { testBusiness.Test_20231221(); } + + [HttpPost] + public void UpdateSkuGift() + { + testBusiness.UpdateSkuGift(); + } } } diff --git a/BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs b/BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs index 3fff054a..0bb794d3 100644 --- a/BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs +++ b/BBWY.Server.Business/EvaluationAssistant/EvaluationAssistantBusiness.cs @@ -1,6 +1,7 @@ using BBWY.Common.Extensions; using BBWY.Common.Http; using BBWY.Common.Models; +using BBWY.Server.Business.Sync; using BBWY.Server.Model; using BBWY.Server.Model.Db; using BBWY.Server.Model.Dto; @@ -32,10 +33,22 @@ namespace BBWY.Server.Business private List preTaskStateList; private ProductBusiness productBusiness; private FreeSqlMultiDBManager freeSqlMultiDBManager; + private ProductSyncBusiness productSyncBusiness; private char[] spliter; - public EvaluationAssistantBusiness(RestApiService restApiService, IOptions options, YunDingBusiness yunDingBusiness, IFreeSql fsql, IIdGenerator idGenerator, TaskSchedulerManager taskSchedulerManager, VenderBusiness venderBusiness, QYMessageCenterBusiness qyMessageCenterBusiness, NLogManager nLogManager, ProductBusiness productBusiness, FreeSqlMultiDBManager freeSqlMultiDBManager) : base(restApiService, options, yunDingBusiness) + public EvaluationAssistantBusiness(RestApiService restApiService, + IOptions options, + YunDingBusiness yunDingBusiness, + IFreeSql fsql, + IIdGenerator idGenerator, + TaskSchedulerManager taskSchedulerManager, + VenderBusiness venderBusiness, + QYMessageCenterBusiness qyMessageCenterBusiness, + NLogManager nLogManager, + ProductBusiness productBusiness, + FreeSqlMultiDBManager freeSqlMultiDBManager, + ProductSyncBusiness productSyncBusiness) : base(restApiService, options, yunDingBusiness) { this.fsql = fsql; @@ -47,6 +60,7 @@ namespace BBWY.Server.Business this.nLogManager = nLogManager; this.productBusiness = productBusiness; this.freeSqlMultiDBManager = freeSqlMultiDBManager; + this.productSyncBusiness = productSyncBusiness; validOrderStateList = new List() { Enums.OrderState.待出库, @@ -723,15 +737,6 @@ namespace BBWY.Server.Business pt.PreTaskId == -1)).Any(); if (!haveNextTask) { - //if (!string.IsNullOrEmpty(shop.PJZSDingDingKey) && !string.IsNullOrEmpty(shop.PJZSDingDingWebHook)) - //{ - // try - // { - // dingDingBusiness.SendDingDingBotMessage(shop.PJZSDingDingKey, shop.PJZSDingDingWebHook, $"评价助手\n店铺:{shop.ShopName}\n任务列表无后续任务,为避免空档请及时设置后续任务"); - // } - // catch { } - //} - try { qyMessageCenterBusiness.SendMessage(shop.TeamId, shop.TeamId, shop.ShopId, "PJZS", shop.ShopName, "任务列表无后续任务,为避免空档请及时设置后续任务", "NOTASK", "PJZS API", string.Empty); @@ -739,6 +744,34 @@ namespace BBWY.Server.Business catch { } } #endregion + + #region 立即同步赠品到产品库 + { + if (startResponse.GiftSkuList != null && startResponse.GiftSkuList.Count() > 0) + { + var insertGiftSkuList = startResponse.GiftSkuList.Select(x => new ProductSku() + { + Id = x.Id, + IsGift = true, + Logo = x.Logo, + Platform = Enums.Platform.京东, + Price = x.Price, + ProductId = x.ProductId, + ShopId = shopId, + State = x.State, + Title = x.Title, + CategoryId = x.Source.Value("categoryId"), + CategoryName = productSyncBusiness.GetCategoryName(shop, x.Source.Value("categoryId")), + CreateTime = x.CreateTime + }); + try + { + fsql.Insert(insertGiftSkuList).ExecuteAffrows(); + } + catch { } + } + } + #endregion } /// diff --git a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs b/BBWY.Server.Business/PlatformSDK/JDBusiness.cs index c9b7a93d..fc7428e9 100644 --- a/BBWY.Server.Business/PlatformSDK/JDBusiness.cs +++ b/BBWY.Server.Business/PlatformSDK/JDBusiness.cs @@ -1620,7 +1620,8 @@ namespace BBWY.Server.Business { BrandName = brandName, JDPromotionId = promotionId, - DeleteGiftSkuList = giftSkuIdList + DeleteGiftSkuList = giftSkuIdList, + GiftSkuList = giftSkuList }; } catch (Exception ex) diff --git a/BBWY.Server.Business/Sync/JD/JDServiceOrderSyncBusiness.cs b/BBWY.Server.Business/Sync/JD/JDServiceOrderSyncBusiness.cs index 873a0e55..9eb4c02e 100644 --- a/BBWY.Server.Business/Sync/JD/JDServiceOrderSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/JD/JDServiceOrderSyncBusiness.cs @@ -25,6 +25,7 @@ namespace BBWY.Server.Business.Sync private IList kuaiDi100PushStateList_qianshou; private IList kuaiDi100PushStateList_paijian; private Dictionary processResultDic; + private List subscribeKD100ShopNames; public JDServiceOrderSyncBusiness(RestApiService restApiService, IOptions options, NLogManager nLogManager, IFreeSql fsql, IIdGenerator idGenerator, TaskSchedulerManager taskSchedulerManager, VenderBusiness venderBusiness, YunDingBusiness yunDingBusiness) : base(restApiService, options, nLogManager, fsql, idGenerator, taskSchedulerManager, venderBusiness, yunDingBusiness) @@ -92,6 +93,14 @@ huitongkuaidi 百世快递 { 90,Enums.ServiceResult.线下换新}, { 110,Enums.ServiceResult.商品补发} }; + subscribeKD100ShopNames = new List() + { +"知礼家居专营店", +"墨森玩具专营店", +"可优车品专营店", +"灵动母婴玩具专营店", +"佳尤汽车用品专营店" + }; } public void SyncServiceOrder() @@ -164,7 +173,7 @@ huitongkuaidi 百世快递 var isTuiHuoCang = false; Enums.ServiceResult? serviceResult = null; #region 待收货服务单,检查是否需要订阅快递100 - if (status == Enums.ServiceOrderState.待收货) + if (status == Enums.ServiceOrderState.待收货) //&& subscribeKD100ShopNames.Contains(shop.ShopName) { try { diff --git a/BBWY.Server.Business/Sync/ProductSyncBusiness.cs b/BBWY.Server.Business/Sync/ProductSyncBusiness.cs index 9ac8291f..9b603083 100644 --- a/BBWY.Server.Business/Sync/ProductSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/ProductSyncBusiness.cs @@ -276,7 +276,7 @@ namespace BBWY.Server.Business.Sync } } - private string GetCategoryName(ShopResponse shop, string categoryId) + public string GetCategoryName(ShopResponse shop, string categoryId) { if (categoryCache.TryGetValue(categoryId, out string name)) return name; diff --git a/BBWY.Server.Business/TestBusiness.cs b/BBWY.Server.Business/TestBusiness.cs index c8ed0a23..e79231db 100644 --- a/BBWY.Server.Business/TestBusiness.cs +++ b/BBWY.Server.Business/TestBusiness.cs @@ -6,6 +6,7 @@ using BBWY.Server.Model.Db; using BBWY.Server.Model.Db.Mds; using BBWY.Server.Model.Dto; using FreeSql; +using Jd.Api.Request; using Microsoft.Extensions.Caching.Memory; using Microsoft.Extensions.Options; using Newtonsoft.Json; @@ -425,6 +426,48 @@ namespace BBWY.Server.Business Console.WriteLine(b["123"]); } + public void UpdateSkuGift() + { + var dbSkuIdList = fsql.Select().Where(ps => ps.IsGift == false).ToList(ps => ps.Id); //非赠品sku + Console.WriteLine($"非赠品sku {dbSkuIdList.Count()}"); + var ptList = fsql.Select().Where(pt => !string.IsNullOrEmpty(pt.GiftTemplatePutNewSku)).ToList(); + var giftSkuList = new List(); + var splitChar = new char[] { ',' }; + foreach (var pt in ptList) + { + giftSkuList.AddRange(pt.GiftTemplatePutNewSku.Split(splitChar, StringSplitOptions.RemoveEmptyEntries)); + } + Console.WriteLine($"pjzs任务赠品sku {giftSkuList.Count()}"); + + var updateGiftSkuIdList = dbSkuIdList.Intersect(giftSkuList).ToList(); + Console.WriteLine($"两者交集 Intersect {updateGiftSkuIdList.Count()}"); + + var updateList = new List(); + var index = 1; + foreach (var skuId in updateGiftSkuIdList) + { + updateList.Add(skuId); + if (updateList.Count() == 20) + { + fsql.Transaction(() => + { + fsql.Update(updateList).Set(ps => ps.IsGift, true).ExecuteAffrows(); + }); + updateList.Clear(); + Console.WriteLine($"update productsku gift {index}"); + index++; + } + } + if (updateList.Count() > 0) + { + fsql.Transaction(() => + { + fsql.Update(updateList).Set(ps => ps.IsGift, true).ExecuteAffrows(); + }); + updateList.Clear(); + Console.WriteLine($"last update productsku gift"); + } + } } diff --git a/BBWY.Server.Model/Db/Product/ProductSku.cs b/BBWY.Server.Model/Db/Product/ProductSku.cs index 34580af0..e5969bb7 100644 --- a/BBWY.Server.Model/Db/Product/ProductSku.cs +++ b/BBWY.Server.Model/Db/Product/ProductSku.cs @@ -57,6 +57,11 @@ namespace BBWY.Server.Model.Db /// 1:业务团队 2:供应链 /// public int? Purchaser { get; set; } + + /// + /// 是否为赠品 + /// + public bool IsGift { get; set; } = false; } } diff --git a/BBWY.Server.Model/Dto/Response/PromotionTask/StartPromotionTaskResponse.cs b/BBWY.Server.Model/Dto/Response/PromotionTask/StartPromotionTaskResponse.cs index c3457e17..2000972a 100644 --- a/BBWY.Server.Model/Dto/Response/PromotionTask/StartPromotionTaskResponse.cs +++ b/BBWY.Server.Model/Dto/Response/PromotionTask/StartPromotionTaskResponse.cs @@ -1,4 +1,5 @@ -using System.Collections.Generic; +using BBWY.Server.Model.Db; +using System.Collections.Generic; namespace BBWY.Server.Model.Dto { @@ -9,6 +10,8 @@ namespace BBWY.Server.Model.Dto public long JDPromotionId { get; set; } public IList DeleteGiftSkuList { get; set; } + + public IList GiftSkuList { get; set; } } public class StartPromotionDelayTaskResponse