diff --git a/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs b/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs index 63ac8a3..301ed96 100644 --- a/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs +++ b/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs @@ -305,22 +305,43 @@ namespace BBWYB.Server.Business List deletePurchaseSchemeIdList = new List(); List> updatePurchaseSchemeList = new List>(); List insertPurchaseSchemeGroupsList = new List(); + IInsert insertPurchaseSchemeGroupIndex = null; + IUpdate updatePurchaseSchemeGroupIndex = null; if (batchCURDSchemeRequest.AddPurchaseSchemeList != null && batchCURDSchemeRequest.AddPurchaseSchemeList.Count > 0) { + var firstScheme = batchCURDSchemeRequest.AddPurchaseSchemeList.First(); + ExtractNewPurchaser(batchCURDSchemeRequest.AddPurchaseSchemeList, newPurchaserList); #region 新建分组 long? newPurchaseGroupId = null; if (batchCURDSchemeRequest.AddPurchaseSchemeList.Any(ps => ps.SchemeGroupId == 0 || ps.SchemeGroupId == null)) { - //新增分组 - var firstScheme = batchCURDSchemeRequest.AddPurchaseSchemeList.First(); + var dbPurchaseSchemeGroupIndex = fsql.Select().Where(psgi => psgi.ProductId == firstScheme.ProductId).ToOne(); + if (dbPurchaseSchemeGroupIndex == null) + { + dbPurchaseSchemeGroupIndex = new PurchaseSchemeGroupIndex() + { + CreateTime = DateTime.Now, + Index = 1, + ProductId = firstScheme.ProductId, + ShopId = firstScheme.ShopId + }; + insertPurchaseSchemeGroupIndex = fsql.Insert(dbPurchaseSchemeGroupIndex); + } + else + { + dbPurchaseSchemeGroupIndex.Index++; + updatePurchaseSchemeGroupIndex = fsql.Update(dbPurchaseSchemeGroupIndex.ProductId) + .Set(x => x.Index, dbPurchaseSchemeGroupIndex.Index); + } + var insertSchemeGroup = new PurchaseSchemeGroup() { Id = idGenerator.NewLong(), CreateTime = DateTime.Now, - GroupName = $"{firstScheme.ProductId}-{DateTime.Now:yyyyMMddHHmmss}", + GroupName = $"{firstScheme.ProductId}-{dbPurchaseSchemeGroupIndex.Index}", ProductId = firstScheme.ProductId, ShopId = firstScheme.ShopId }; @@ -436,6 +457,8 @@ namespace BBWYB.Server.Business foreach (var update in updatePurchaseSchemeList) update.ExecuteAffrows(); } + insertPurchaseSchemeGroupIndex?.ExecuteAffrows(); + updatePurchaseSchemeGroupIndex?.ExecuteAffrows(); }); }