Browse Source

1

AddValidOverTime
shanji 2 years ago
parent
commit
31a0ff2636
  1. 71
      BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs
  2. 3
      BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrderSku.cs
  3. 6
      BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrderV2.cs
  4. 2
      BBWY.Server.Model/Dto/Request/PurchaseOrderV2/BatchPurchase2/BatchPurchaseCargoParamRequestV2.cs
  5. 9
      BBWY.Server.Model/Dto/Request/PurchaseOrderV2/BatchPurchase2/BatchPurchaseCreateOrderRequestV2.cs
  6. 11
      BBWY.Server.Model/Enums.cs

71
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<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,34 +686,22 @@ 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)
{
skuPackConfigList.Add(new
purchaseTaskModels.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)
})
skuCount = firstProductParam.BelongQuantity,
positionType = GetQiKuWareType(firstProductParam.StockType.Value)
});
}
}
}
var purchaseOrderV2 = new PurchaseOrderV2()
{
@ -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();

3
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; }
}
}

6
BBWY.Server.Model/Db/PurchaseOrder/PurchaseOrderV2.cs

@ -214,6 +214,12 @@ namespace BBWY.Server.Model.Db
/// </summary>
[Column(MapType = typeof(int))]
public Enums.PackState PackState { get; set; }
/// <summary>
/// 入仓类型 (发回齐越 = 0, 厂商代发入仓 = 1)
/// </summary>
[Column(MapType = typeof(int?))]
public Enums.IntoStoreType? IntoStoreType { get; set; }
}
}

2
BBWY.Server.Model/Dto/Request/PurchaseOrderV2/BatchPurchase2/BatchPurchaseCargoParamRequestV2.cs

@ -61,6 +61,8 @@ namespace BBWY.Server.Model.Dto
/// 采购方案Id
/// </summary>
public long BelongSchemeId { get; set; }
public Enums.StockType? StockType { get; set; }
#endregion
}

9
BBWY.Server.Model/Dto/Request/PurchaseOrderV2/BatchPurchase2/BatchPurchaseCreateOrderRequestV2.cs

@ -21,8 +21,13 @@ namespace BBWY.Server.Model.Dto
public string AutoPay { get; set; } = "fail";
/// <summary>
/// 打包设置
/// 入仓类型
/// </summary>
public IList<PackSkuConfigRequest> PackSkuConfigList { get; set; }
public Enums.IntoStoreType? IntoStoreType { get; set; }
///// <summary>
///// 打包设置
///// </summary>
//public IList<PackSkuConfigRequest> PackSkuConfigList { get; set; }
}
}

11
BBWY.Server.Model/Enums.cs

@ -208,11 +208,11 @@
}
/// <summary>
/// 京东仓库类型 商家仓 = 1, 京仓 = 2, 云仓 = 3
/// 仓库类型(如业务不需要则为null) 商家仓 = 1, 京仓 = 2, 云仓 = 3, 聚水潭=4
/// </summary>
public enum StockType
{
= 1, = 2, = 3
= 1, = 2, = 3, = 4
}
/// <summary>
@ -381,5 +381,12 @@
= 1
}
/// <summary>
/// 入仓类型 (发回齐越 = 0, 厂商代发入仓 = 1)
/// </summary>
public enum IntoStoreType
{
= 0, = 1
}
}
}

Loading…
Cancel
Save