|
|
@ -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<Shops>().Where(s => s.ShopId == request.ShopId.ToString()).ToOne(); |
|
|
|
if (shop == null) |
|
|
|
throw new BusinessException("无效的店铺Id"); |
|
|
|
var successSkuIdList = new List<string>(); |
|
|
|
var failSkuList = new List<BatchCreareOrderFailDetail>(); |
|
|
|
var qikuPackSkuConfigRequestList = new List<object>(); |
|
|
|
var qikuTaskList = new List<object>(); |
|
|
|
|
|
|
|
var extJArray = JsonConvert.DeserializeObject<JArray>(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<long> updatePurchaseTimeSchemeIdList = purchaseGroup.CargoParamList.Select(p => p.BelongSchemeId).Distinct().ToList(); |
|
|
|
List<PurchaseOrderSku> insertPurchaseOrderSkuList = new List<PurchaseOrderSku>(); |
|
|
|
|
|
|
|
List<object> skuPackConfigList = null; |
|
|
|
List<object> purchaseTaskModels = null; |
|
|
|
if (purchaseGroup.PurchasePlatform == Enums.Platform.拳探) |
|
|
|
skuPackConfigList = new List<object>(); |
|
|
|
purchaseTaskModels = new List<object>(); |
|
|
|
|
|
|
|
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(); |
|
|
|