From 31a0ff26366fb3fe2c3a7bce8309faf8a949d696 Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Mon, 3 Jul 2023 00:11:24 +0800 Subject: [PATCH] 1 --- .../BatchPurchase/BatchPurchaseBusiness.cs | 75 ++++++++++--------- .../Db/PurchaseOrder/PurchaseOrderSku.cs | 3 + .../Db/PurchaseOrder/PurchaseOrderV2.cs | 6 ++ .../BatchPurchaseCargoParamRequestV2.cs | 2 + .../BatchPurchaseCreateOrderRequestV2.cs | 9 ++- BBWY.Server.Model/Enums.cs | 11 ++- 6 files changed, 65 insertions(+), 41 deletions(-) diff --git a/BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs b/BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs index d11bd4a0..1c24aa6b 100644 --- a/BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs +++ b/BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs @@ -559,13 +559,20 @@ namespace BBWY.Server.Business throw new BusinessException("缺少收货人信息"); if (request.PurchaseAccountList == null || request.PurchaseAccountList.Count() == 0) throw new BusinessException("缺少采购账号"); + if (request.IntoStoreType == Enums.IntoStoreType.发回齐越) + { + if (request.CargoParamGroupList.Any(c => c.CargoParamList.Any(x => x.StockType == null))) + { + throw new BusinessException("缺少落仓信息"); + } + } var shop = freeSqlMultiDBManager.MDSfsql.Select().Where(s => s.ShopId == request.ShopId.ToString()).ToOne(); if (shop == null) throw new BusinessException("无效的店铺Id"); var successSkuIdList = new List(); var failSkuList = new List(); - var qikuPackSkuConfigRequestList = new List(); + var qikuTaskList = new List(); var extJArray = JsonConvert.DeserializeObject(request.Extensions); @@ -634,7 +641,6 @@ namespace BBWY.Server.Business TradeMode = tradeMode, Extensions = cardId, AutoPay = request.AutoPay, - }); var purchaseOrderSimpleInfo = platformSDKBusinessList.FirstOrDefault(p => p.Platform == purchaseGroup.PurchasePlatform).GetOrderSimpleInfo(new GetOrderInfoRequest() @@ -649,9 +655,9 @@ namespace BBWY.Server.Business List updatePurchaseTimeSchemeIdList = purchaseGroup.CargoParamList.Select(p => p.BelongSchemeId).Distinct().ToList(); List insertPurchaseOrderSkuList = new List(); - List skuPackConfigList = null; + List purchaseTaskModels = null; if (purchaseGroup.PurchasePlatform == Enums.Platform.拳探) - skuPackConfigList = new List(); + purchaseTaskModels = new List(); foreach (var belongSkuGroup in belongSkuGroups) { @@ -680,32 +686,20 @@ namespace BBWY.Server.Business PurchaseAmount = currentOrderSkuProductAmount + currentOrderSkuFreightAmount, ProductAmount = currentOrderSkuProductAmount, PurchaseFreight = currentOrderSkuFreightAmount, - CreateTime = DateTime.Now + CreateTime = DateTime.Now, + StockType = request.IntoStoreType == Enums.IntoStoreType.发回齐越 ? firstProductParam.StockType : null }; insertPurchaseOrderSkuList.Add(purchaseOrderSku); - if (purchaseGroup.PurchasePlatform == Enums.Platform.拳探) + if (purchaseGroup.PurchasePlatform == Enums.Platform.拳探 && request.IntoStoreType == Enums.IntoStoreType.发回齐越) { - var skuPackConfig = request.PackSkuConfigList?.FirstOrDefault(s => s.SkuId == firstProductParam.BelongSkuId); - - if (skuPackConfig != null) + purchaseTaskModels.Add(new { - - skuPackConfigList.Add(new - { - skuId = firstProductParam.BelongSkuId, - skuCount = skuPackConfig.PurchaseCount, - markMessage = skuPackConfig.RemarkMessage, - wareHourses = skuPackConfig.PackSkuSplitConfigList.Select(x => new - { - wareId = x.IsJST ? "qiyuejushuitan" : x.Store.Id, - wareName = x.IsJST ? "齐越聚水潭" : x.Store.Name, - count = x.PackCount, - wareType = x.IsJST ? 3 : GetQiKuWareType(x.Store.Type) - }) - }); - } + skuId = firstProductParam.BelongSkuId, + skuCount = firstProductParam.BelongQuantity, + positionType = GetQiKuWareType(firstProductParam.StockType.Value) + }); } } @@ -732,7 +726,8 @@ namespace BBWY.Server.Business Remark = purchaseGroup.Remark, CreateTime = DateTime.Now, PurchaseMethod = Enums.PurchaseMethod.线上采购, - PurchaseOrderMode = request.PurchaseOrderMode + PurchaseOrderMode = request.PurchaseOrderMode, + IntoStoreType = request.IntoStoreType }; if (createOrderResponse.IsPay) purchaseOrderV2.PayTime = DateTime.Now; @@ -746,17 +741,20 @@ namespace BBWY.Server.Business }); successSkuIdList.AddRange(belongSkuGroups.Select(g => g.Key)); - if (purchaseGroup.PurchasePlatform == Enums.Platform.拳探) + if (purchaseGroup.PurchasePlatform == Enums.Platform.拳探 && request.IntoStoreType == Enums.IntoStoreType.发回齐越) { - qikuPackSkuConfigRequestList.Add(new + qikuTaskList.Add(new { orderId = purchaseOrderV2.Id, + orderSn = purchaseOrderV2.OrderSn, //shopId = request.ShopId.ToString(), shopId = purchaseGroup.PurchaserId, //拳探店铺Id(商家Id) + originShopId = request.ShopId.ToString(), originShopName = request.ShopName, - userName = purchaseAccount.AccountName, + userId = "", //待定 + //userName = purchaseAccount.AccountName, platform = Enums.Platform.拳探, - purchaseTaskModels = skuPackConfigList + purchaseTaskModels }); } } @@ -771,17 +769,17 @@ namespace BBWY.Server.Business } } - if (qikuPackSkuConfigRequestList.Count() > 0) + if (qikuTaskList.Count() > 0) { Task.Factory.StartNew(() => { - foreach (var qikuPackSkuConfigRequest in qikuPackSkuConfigRequestList) + foreach (var qikuTask in qikuTaskList) { try { var qikuResponse = restApiService.SendRequest("http://qiku.qiyue666.com/", - "api/PackPurchaseTask/BatchPublicPurchaseTask", - qikuPackSkuConfigRequest, + "api/PackPurchaseTask/BatchPublicPurchaseTaskV2", + qikuTask, null, HttpMethod.Post); if (qikuResponse.StatusCode != System.Net.HttpStatusCode.OK) @@ -789,7 +787,7 @@ namespace BBWY.Server.Business } catch (Exception ex) { - nLogManager.GetLogger($"发布打包任务-{request.ShopName}").Error(ex, JsonConvert.SerializeObject(qikuPackSkuConfigRequest)); + nLogManager.GetLogger($"发布齐库采购单任务-{request.ShopName}").Error(ex, JsonConvert.SerializeObject(qikuTask)); } } }); @@ -805,11 +803,13 @@ namespace BBWY.Server.Business private int GetQiKuWareType(Enums.StockType stockType) { if (stockType == Enums.StockType.京仓) - return 0; + return 2; if (stockType == Enums.StockType.云仓) return 1; if (stockType == Enums.StockType.商家仓) - return 2; + return 0; + if (stockType == Enums.StockType.聚水潭) + return 3; return 0; } @@ -888,7 +888,8 @@ namespace BBWY.Server.Business PurchaseOrderMode = po.PurchaseOrderMode, ExpressName = po.ExpressName, WaybillNo = po.WaybillNo, - PackState = po.PackState + PackState = po.PackState, + IntoStoreType = po.IntoStoreType }); var purchaseOrderIdList = purchaseOrderList.Select(p => p.Id).ToList(); diff --git a/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrderSku.cs b/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrderSku.cs index b52e4c8a..4a908ca0 100644 --- a/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrderSku.cs +++ b/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrderSku.cs @@ -117,6 +117,9 @@ namespace BBWY.Server.Model.Db public string SkuTitle { get; set; } + [Column(MapType = typeof(int?))] + public Enums.StockType? StockType { get; set; } + } } diff --git a/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrderV2.cs b/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrderV2.cs index 0f69e9dc..602d1798 100644 --- a/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrderV2.cs +++ b/BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrderV2.cs @@ -214,6 +214,12 @@ namespace BBWY.Server.Model.Db /// [Column(MapType = typeof(int))] public Enums.PackState PackState { get; set; } + + /// + /// 入仓类型 (发回齐越 = 0, 厂商代发入仓 = 1) + /// + [Column(MapType = typeof(int?))] + public Enums.IntoStoreType? IntoStoreType { get; set; } } } diff --git a/BBWY.Server.Model/Dto/Request/PurchaseOrderV2/BatchPurchase2/BatchPurchaseCargoParamRequestV2.cs b/BBWY.Server.Model/Dto/Request/PurchaseOrderV2/BatchPurchase2/BatchPurchaseCargoParamRequestV2.cs index 2b1319ad..39702868 100644 --- a/BBWY.Server.Model/Dto/Request/PurchaseOrderV2/BatchPurchase2/BatchPurchaseCargoParamRequestV2.cs +++ b/BBWY.Server.Model/Dto/Request/PurchaseOrderV2/BatchPurchase2/BatchPurchaseCargoParamRequestV2.cs @@ -61,6 +61,8 @@ namespace BBWY.Server.Model.Dto /// 采购方案Id /// public long BelongSchemeId { get; set; } + + public Enums.StockType? StockType { get; set; } #endregion } diff --git a/BBWY.Server.Model/Dto/Request/PurchaseOrderV2/BatchPurchase2/BatchPurchaseCreateOrderRequestV2.cs b/BBWY.Server.Model/Dto/Request/PurchaseOrderV2/BatchPurchase2/BatchPurchaseCreateOrderRequestV2.cs index d18ec8aa..3a5a43cd 100644 --- a/BBWY.Server.Model/Dto/Request/PurchaseOrderV2/BatchPurchase2/BatchPurchaseCreateOrderRequestV2.cs +++ b/BBWY.Server.Model/Dto/Request/PurchaseOrderV2/BatchPurchase2/BatchPurchaseCreateOrderRequestV2.cs @@ -21,8 +21,13 @@ namespace BBWY.Server.Model.Dto public string AutoPay { get; set; } = "fail"; /// - /// 打包设置 + /// 入仓类型 /// - public IList PackSkuConfigList { get; set; } + public Enums.IntoStoreType? IntoStoreType { get; set; } + + ///// + ///// 打包设置 + ///// + //public IList PackSkuConfigList { get; set; } } } diff --git a/BBWY.Server.Model/Enums.cs b/BBWY.Server.Model/Enums.cs index 784e9920..e75bc721 100644 --- a/BBWY.Server.Model/Enums.cs +++ b/BBWY.Server.Model/Enums.cs @@ -208,11 +208,11 @@ } /// - /// 京东仓库类型 商家仓 = 1, 京仓 = 2, 云仓 = 3 + /// 仓库类型(如业务不需要则为null) 商家仓 = 1, 京仓 = 2, 云仓 = 3, 聚水潭=4 /// public enum StockType { - 商家仓 = 1, 京仓 = 2, 云仓 = 3 + 商家仓 = 1, 京仓 = 2, 云仓 = 3, 聚水潭 = 4 } /// @@ -381,5 +381,12 @@ 拳探 = 1 } + /// + /// 入仓类型 (发回齐越 = 0, 厂商代发入仓 = 1) + /// + public enum IntoStoreType + { + 发回齐越 = 0, 厂商代发入仓 = 1 + } } }