public List <PackageActivityConfig> SelectPackageActivity(string activityID, string activityName, DateTime?startTime, DateTime?endTime, int pageIndex, int pageSize) { List <PackageActivityConfig> result = new List <PackageActivityConfig>(); List <OrderLists> orderInfo = new List <OrderLists>(); var activityId = Guid.Empty; try { dbReadScopeManager.Execute(conn => { if (!string.IsNullOrEmpty(activityID)) { activityId = Guid.Parse(activityID); } result = DALPackageActivity.SelectPackageActivity(conn, activityId, activityName, startTime, endTime, pageIndex, pageSize); if (result != null && result.Any()) { result.ForEach(x => x.RoundConfig = DALPackageActivity.SelectPackageActivitySceneConfig(conn, x.ActivityId)); } }); if (result != null && result.Any()) { foreach (var item in result) { if (item.RoundConfig != null && item.RoundConfig.Any()) { var flashSaleLog = DALPackageActivity.SelectFlashSalRecordsLog(item.ActivityId); if (flashSaleLog != null && flashSaleLog.Any()) { flashSaleLog = flashSaleLog.GroupBy(x => x.OrderId).Select(g => g.FirstOrDefault()).ToList(); dbReadScopeManager.Execute(conn => { orderInfo = DALPackageActivity.SelectOrderInfo(conn, flashSaleLog.Select(x => x.OrderId).Distinct().ToList()); }); flashSaleLog = (from fs in flashSaleLog join or in orderInfo on fs.OrderId equals or.OrderId into temp from t in temp.DefaultIfEmpty() select new FlashSaleRecordsLog() { CreateDate = fs.CreateDate, OrderStatus = t != null ? t.Status : string.Empty, OrderId = t != null ? t.OrderId : 0 }).Where(x => !string.Equals(x.OrderStatus, "7Canceled") && x.OrderId > 0).ToList(); } item.RoundConfig.ForEach(_ => { _.SurplusNum = _.LimitedQuantity - flashSaleLog.Where(x => x.CreateDate >= _.StartTime && x.CreateDate <= _.EndTime).Count(); }); item.AllSurplusNum = item.MaxSaleQuantity - flashSaleLog.Count(); } } } } catch (Exception ex) { logger.Error(ex); } return(result); }
public PackageActivityConfig SelectPackageActivityConfig(Guid activityId) { PackageActivityConfig result = new PackageActivityConfig(); try { dbReadScopeManager.Execute(conn => { result = DALPackageActivity.SelectPackageActivity(conn, activityId, "", null, null, 1, 99).FirstOrDefault(); if (result != null && result.ActivityId != Guid.Empty) { result.ShopConfig = DALPackageActivity.SelectPackageActivityShopConfig(conn, activityId); result.RoundConfig = DALPackageActivity.SelectPackageActivitySceneConfig(conn, activityId); result.ProductConfig = DALPackageActivity.SelectPackageActivityProductConfig(conn, activityId); result.VehicleConfig = DALPackageActivity.SelectPackageActivityVehicleConfig(conn, activityId); result.PriceConfig = DALPackageActivity.SelectPackageActivityPriceConfig(conn, activityId); } }); } catch (Exception ex) { logger.Error(ex); } return(result); }
public bool DeletePackageActivityConfig(Guid activityId, string user) { var result = false; try { dbScopeManager.CreateTransaction(conn => { DALPackageActivity.DeleteBaoYangPricingConfig(conn, activityId); DALPackageActivity.DeletePackageActivitySceneConfig(conn, activityId); DALPackageActivity.DeletePackageActivityShopConfig(conn, activityId); DALPackageActivity.DeletePackageActivityProductConfig(conn, activityId); DALPackageActivity.DeletePackageActivityPriceConfig(conn, activityId); result = true; }); } catch (Exception ex) { logger.Error(ex); } if (result) { InsertLog("DeletePackageActivityConfig", activityId.ToString(), "删除配置", "删除配置", user, LogType); Thread.Sleep(2000); RefreshPackageBaoYangCache(activityId); } return(result); }
public List <string> GetAllVehicleBrand() { List <string> result = null; try { result = dbReadScopeManager.Execute(conn => DALPackageActivity.SelectAllVehicleBrand(conn))?.ToList(); } catch (Exception ex) { logger.Error(ex.Message, ex); } return(result ?? new List <string>()); }
/// <summary> /// 查询日志 /// </summary> /// <param name="objectId"></param> /// <param name="type"></param> /// <returns></returns> public List <PackageActivityLog> SelectOperationLog(string objectId) { List <PackageActivityLog> result = new List <PackageActivityLog>(); try { result = DALPackageActivity.SelectOperationLog(objectId, LogType); } catch (Exception ex) { logger.Error(ex); } return(result); }
/// <summary> /// 查询车型 /// </summary> /// <param name="series"></param> /// <param name="brands"></param> /// <param name="excludeVehicleIds"></param> /// <param name="minPrice"></param> /// <param name="maxPrice"></param> /// <returns></returns> public Tuple <int, List <VehicleSimpleInfo> > GetVehicles(IEnumerable <string> series, IEnumerable <string> brands, IEnumerable <string> excludeVehicleIds, double minPrice, double maxPrice, int index, int size) { List <VehicleSimpleInfo> result = null; int total = 0; try { var temp = dbReadScopeManager.Execute(conn => DALPackageActivity.SelectVehicles(conn, series, brands, excludeVehicleIds, minPrice, maxPrice, index, size)); result = temp.Item2?.ToList(); total = temp.Item1; } catch (Exception ex) { logger.Error(ex.Message, ex); } return(Tuple.Create(total, result ?? new List <VehicleSimpleInfo>())); }
public bool UpsertPaceageActivityConfig(PackageActivityConfig data, string user) { var result = false; string msg = ""; try { dbScopeManager.CreateTransaction(conn => { var flag = false; if (data.ActivityId != Guid.Empty) { msg = "更新活动配置"; flag = DALPackageActivity.UpdatePackageActivityConfig(conn, data, user); } else { msg = "添加活动配置"; data.ActivityId = Guid.NewGuid(); flag = DALPackageActivity.InsertPackageActivityConfig(conn, data, user); } if (flag) { DALPackageActivity.DeletePackageActivitySceneConfig(conn, data.ActivityId); DALPackageActivity.DeletePackageActivityShopConfig(conn, data.ActivityId); DALPackageActivity.DeletePackageActivityProductConfig(conn, data.ActivityId); DALPackageActivity.DeletePackageActivityVehicleConfig(conn, data.ActivityId); DALPackageActivity.DeletePackageActivityPriceConfig(conn, data.ActivityId); if (data.RoundConfig != null && data.RoundConfig.Any()) { foreach (var item in data.RoundConfig) { item.ActivityId = data.ActivityId; DALPackageActivity.InsertPackageActivitySceneConfig(conn, item); } } if (data.ProductConfig != null && data.ProductConfig.Any()) { foreach (var item in data.ProductConfig) { item.ActivityId = data.ActivityId; DALPackageActivity.InsertPackageActivityProductConfig(conn, item); } } if (data.ShopConfig != null && data.ShopConfig.Any()) { foreach (var item in data.ShopConfig) { item.ActivityId = data.ActivityId; DALPackageActivity.InsertPackageActivityShopConfig(conn, item); } } if (data.VehicleConfig != null && data.VehicleConfig.Any()) { var vehicleIds = data.VehicleConfig.Select(x => x.VehicleID).Distinct(); foreach (var vehicleId in vehicleIds) { DALPackageActivity.InsertPackageActivityVehicleConfig(conn, data.ActivityId, vehicleId); } } if (data.PriceConfig != null && data.PriceConfig.Any()) { var priceConfigs = data.PriceConfig; foreach (var priceConfig in priceConfigs) { DALPackageActivity.InsertPackageActivityPriceConfig(conn, data.ActivityId, priceConfig); } } result = true; } }); } catch (Exception ex) { logger.Error(ex); } if (result) { data.ProductConfig = new List <PackageActivityProductConfig>(); data.RoundConfig = new List <PackageActivityRoundConfig>(); data.VehicleConfig = new List <PackageActivityVehicleConfig>(); RecordActivityTypeLog(data.ActivityId, data.StartTime, data.EndTime); InsertLog("UpsertPaceageActivityConfig", data.ActivityId.ToString(), JsonConvert.SerializeObject(data), msg, user, LogType); Thread.Sleep(2000); RefreshPackageBaoYangCache(data.ActivityId); } return(result); }