/// <summary> /// 获取单个浮动设置模型 /// </summary> /// <param name="id"></param> /// <returns></returns> public BaoYangResultEntity <CouponActivityConfigV2Model> GetCouponActivityConfig(int id) { var result = new BaoYangResultEntity <CouponActivityConfigV2Model>() { Status = false }; try { dbScopeManagerConfigurationRead.Execute(conn => { var config = DalCouponActivityConfigV2.GetCouponActivityConfigById(conn, id); if (config == null) { result.Status = true; result.Msg = "没有查询到数据"; } else { config.ChannelConfigs = DalCouponActivityConfigV2.GetChannelConfigs(conn, config.Id, string.Empty); result.Status = true; result.Data = config; } }); } catch (Exception ex) { result.Status = false; result.Msg = "程序遇见错误,请联系管理员"; Logger.Error("GetCouponActivityConfigs", ex); } return(result); }
/// <summary> /// 修改配置 /// </summary> /// <param name="model"></param> /// <returns></returns> public BaoYangResultEntity <bool> UpdateBatteryLevelUp(BatteryLevelUpEntity model, string name) { var result = new BaoYangResultEntity <bool>(); try { result = SaveCheckBatteryLevelUp(model); if (result.Status) { var oldbatteryLevelUp = GetBatteryLevelUpEntity(model.PKID).Data; if (oldbatteryLevelUp != null) { result = dbScopeManagerBaoYang.Execute(conn => { result.Data = DALBatteryLevelUp.UpdateBatteryLevelUp(conn, model); return(result); }); } if (result.Data) { SaveBatteryLevelUpLog(oldbatteryLevelUp, model, name); } } } catch (Exception ex) { Logger.Error(ex.Message, ex); result = new BaoYangResultEntity <bool>() { Status = false, Msg = "修改失败" }; } return(result); }
public ActionResult GetCouponActivityConfigs(CouponActivityConfigPageRequestModel request) { var result = new BaoYangResultEntity <Tuple <int, List <CouponActivityConfigV2Model> > >() { Status = false }; if (request == null) { result.Msg = "参数验证失败"; return(Json(result)); } if (request.PageIndex <= 0) { request.PageIndex = 1; } if (request.PageSize <= 0) { request.PageSize = 10; } var manager = new CouponActivityConfigManagerV2(); result = manager.GetCouponActivityConfigs(request); return(Json(result)); }
public JsonResult GetProductNameByPid(string pid) { BaoYangResultEntity <string> result = new BaoYangResultEntity <string>() { Status = false }; if (string.IsNullOrEmpty(pid)) { result.Msg = "参数验证失败"; } else { var pids = new[] { pid.Trim() }; var manager = new ProductManager(); var productDetailDic = manager.SelectProductDetail(new List <string> { pid.Trim() }); if (productDetailDic != null && productDetailDic.Any() && productDetailDic.ContainsKey(pid.Trim())) { result.Status = true; result.Data = productDetailDic[pid.Trim()].Name; } } return(Json(result, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 获取配置列表 /// </summary> /// <param name="model"></param> /// <returns></returns> public BaoYangResultEntity <Tuple <int, List <BatteryLevelUpReslut> > > GetBatteryLeveUpList(BatteryLevelUpRequest model) { var result = new BaoYangResultEntity <Tuple <int, List <BatteryLevelUpReslut> > >() { Status = false }; try { List <BatteryLevelUpReslut> list = new List <BatteryLevelUpReslut>(); var btaaeryTuple = dbScopeManagerBaoYangRead.Execute(conn => { var data = DALBatteryLevelUp.GetBatteryLeveUpList(conn, model); return(data); }); var pids = btaaeryTuple.Item2.Select(x => x.NewPID).ToList(); pids.AddRange(btaaeryTuple.Item2.Select(x => x.OriginalPID).ToList()); pids = pids.Distinct().ToList(); var productDic = new ProductManager().SelectProductDetail(pids); foreach (var item in btaaeryTuple.Item2) { BatteryLevelUpReslut resultModel = new BatteryLevelUpReslut() { Copywriting = item.Copywriting, NewPID = item.NewPID, OriginalPID = item.OriginalPID, CreateDateTime = item.CreateDateTime, IsEnabled = item.IsEnabled, PKID = item.PKID, LsatUpdateDateTime = item.LsatUpdateDateTime }; if (productDic.ContainsKey(item.NewPID)) { resultModel.NewDisplayName = productDic[item.NewPID].Name; } if (productDic.ContainsKey(item.OriginalPID)) { resultModel.OriginalDisplayName = productDic[item.OriginalPID].Name; } list.Add(resultModel); } result.Data = Tuple.Create(btaaeryTuple.Item1, list); result.Status = true; return(result); } catch (Exception ex) { Logger.Error(ex.Message, ex); result = new BaoYangResultEntity <Tuple <int, List <BatteryLevelUpReslut> > >() { Status = false, Msg = "获取失败" }; } return(result); }
public async Task <ActionResult> RemoveCouponActivityConfigCache(int id) { var result = new BaoYangResultEntity <bool>() { Status = false }; var manager = new CouponActivityConfigManagerV2(); result = await manager.RemoveCouponActivityConfigCache(id); return(Json(result, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 修改蓄电池/加油卡浮动配置 /// </summary> /// <param name="request"></param> /// <returns></returns> public BaoYangResultEntity <bool> UpdateCouponActivityConfig(CouponActivityConfigV2Model configModel, string name) { var result = new BaoYangResultEntity <bool>() { Status = false }; try { var oldModel = GetCouponActivityConfig(configModel.Id).Data; dbScopeManagerConfiguration.CreateTransaction(conn => { if (DalCouponActivityConfigV2.UpdateCouponActivityConfig(conn, configModel)) { if (configModel.ChannelConfigs != null && configModel.ChannelConfigs.Any()) { var configIds = new List <int> { configModel.Id }; DalCouponActivityConfigV2.DeleteChannelConfigsByConfigId(conn, configIds); foreach (var item in configModel.ChannelConfigs) { DalCouponActivityConfigV2.InsertChannelConfigsById(conn, item); } result.Status = true; result.Data = true; } else { result.Status = true; result.Data = true; } } else { result.Data = false; } }); if (result.Status) { SaveCouponActivityConfigLog(oldModel, configModel, name); } } catch (Exception ex) { result.Status = false; result.Msg = "程序遇见错误,请联系管理员"; Logger.Error("GetCouponActivityConfigs", ex); } return(result); }
/// <summary> /// 保存时检查 /// </summary> /// <param name="model"></param> /// <returns></returns> public BaoYangResultEntity <bool> SaveCheckBatteryLevelUp(BatteryLevelUpEntity model) { var result = new BaoYangResultEntity <bool>() { Status = true }; try { result = dbScopeManagerBaoYangRead.Execute(conn => { var entity = DALBatteryLevelUp.GetBatteryLevelUpEntityByOriginalPid(conn, model.OriginalPID); //重复原始ID 查询 if (entity != null && entity.PKID != model.PKID) { result.Status = false; result.Msg = "该原始产品已经配置了升级购"; return(result); } entity = DALBatteryLevelUp.GetBatteryLevelUpEntityByNewPID(conn, model.NewPID); if (entity != null && entity.PKID != model.PKID) { result.Status = false; result.Msg = "该升级产品已经配置了升级购"; return(result); } entity = DALBatteryLevelUp.GetBatteryLevelUpEntity(conn, model.OriginalPID, model.NewPID); if (entity != null) { result.Status = false; result.Msg = "升级链不能循环升级"; return(result); } return(result); }); } catch (Exception ex) { Logger.Error(ex.Message, ex); result = new BaoYangResultEntity <bool>() { Status = false, Msg = "修改失败" }; } return(result); }
/// <summary> /// 添加蓄电池/加油卡浮动配置 /// </summary> /// <param name="request"></param> /// <returns></returns> public BaoYangResultEntity <bool> InsertCouponActivityConfig(CouponActivityConfigV2Model request, string name) { var result = new BaoYangResultEntity <bool>() { Status = false }; try { dbScopeManagerConfiguration.CreateTransaction(conn => { request.ActivityNum = Guid.NewGuid().ToString(); var configId = DalCouponActivityConfigV2.InsertCouponActivityConfig(conn, request); if (configId > 0) { if (request.ChannelConfigs != null && request.ChannelConfigs.Any()) { foreach (var item in request.ChannelConfigs) { item.ConfigId = configId; DalCouponActivityConfigV2.InsertChannelConfigsById(conn, item); } } result.Status = true; result.Data = true; request.Id = configId; } else { result.Data = false; } }); if (result.Status) { SaveCouponActivityConfigLog(null, request, name); } } catch (Exception ex) { result.Status = false; result.Msg = "程序遇见错误,请联系管理员"; Logger.Error("GetCouponActivityConfigs", ex); } return(result); }
public ActionResult SaveCouponActivityConfig(CouponActivityConfigV2Model request) { BaoYangResultEntity <bool> result = new BaoYangResultEntity <bool>() { Status = false }; if (request == null || string.IsNullOrWhiteSpace(request.ActivityImage) || string.IsNullOrWhiteSpace(request.LayerImage) || string.IsNullOrWhiteSpace(request.ActivityName) || request.Type <= 0 ) { result.Status = false; result.Msg = "参数验证失败"; return(Json(result)); } var manager = new CouponActivityConfigManagerV2(); if (request.Channels != null && request.Channels.Any()) { request.Channels = request.Channels.Distinct().ToList(); request.Channel = string.Join(",", request.Channels); } var resultValidation = manager.Validation(request); if (resultValidation.Status) { if (request.Id > 0) { result = manager.UpdateCouponActivityConfig(request, User.Identity.Name); } else { result = manager.InsertCouponActivityConfig(request, User.Identity.Name); } } else { result = resultValidation; } return(Json(result)); }
public ActionResult GetCouponActivityConfig(int id) { var result = new BaoYangResultEntity <CouponActivityConfigV2Model>() { Status = false }; if (id <= 0) { result.Msg = "参数验证失败"; result.Status = false; return(Json(result)); } var manager = new CouponActivityConfigManagerV2(); result = manager.GetCouponActivityConfig(id); return(Json(result)); }
public ActionResult UploadImg() { var result = new BaoYangResultEntity <Dictionary <string, string> >() { Status = false }; if (Request.Files.Count <= 0) { result.Msg = "未找到上传文件"; return(Json(result)); } var imgDic = new Dictionary <string, string>(); var imgType = new[] { "JPG", "PNG", "GIF", "BMP" }; foreach (var key in Request.Files.AllKeys) { Stream stream; HttpPostedFileBase file = Request.Files[key]; if (file == null || file.InputStream.Length <= 0) { result.Msg = $"文件没有包含任何数据{file.FileName}"; continue; } var imgName = file.FileName.Split('.'); if (imgName.Length < 2 || !imgType.Contains(imgName.Last().ToUpper())) { result.Msg = $"图片验证失败{file.FileName}"; continue; } byte[] fileByte = new byte[file.InputStream.Length]; stream = file.InputStream; stream.Read(fileByte, 0, fileByte.Length); var manager = new FileUploadManager(); var serviceResult = manager.UploadImg(fileByte); if (!imgDic.ContainsKey(file.FileName)) { imgDic.Add(file.FileName, $"https://img1.tuhu.org{serviceResult}"); } } result.Status = true; result.Data = imgDic; return(Json(result)); }
/// <summary> /// 删除升级购配置 /// </summary> /// <param name="pkid"></param> /// <returns></returns> public async Task <BaoYangResultEntity <bool> > DeleteBatteryLevelUpByPkid(int pkid, string name) { var result = new BaoYangResultEntity <bool>() { Status = true }; try { var batteryLevelUp = GetBatteryLevelUpEntity(pkid).Data; if (batteryLevelUp != null) { result = dbScopeManagerBaoYang.Execute(conn => { result.Data = DALBatteryLevelUp.DeleteBatteryByPkid(conn, pkid); return(result); }); } if (result.Data) { SaveBatteryLevelUpLog(batteryLevelUp, null, name); var cacheResult = await RemoveCacheByTypeAsync("BatteryLevelUpConfig", new List <string> { batteryLevelUp.OriginalPID }); if (!cacheResult) { result.Status = false; result.Msg = "删除成功 但删除缓存失败"; result.Data = false; } } } catch (Exception ex) { Logger.Error(ex.Message, ex); result = new BaoYangResultEntity <bool>() { Status = false, Msg = "删除失败" }; } return(result); }
public async Task <ActionResult> DeleteChannelConfigsByConfigId(int id) { var result = new BaoYangResultEntity <bool>() { Status = false }; if (id <= 0) { result.Msg = "参数验证失败"; result.Status = false; return(Json(result)); } var manager = new CouponActivityConfigManagerV2(); result = await manager.DeleteChannelConfigsByConfigId(id, User.Identity.Name); return(Json(result, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 获取蓄电池/加油卡浮动配置分页列表 /// </summary> /// <param name="request"></param> /// <returns></returns> public BaoYangResultEntity <Tuple <int, List <CouponActivityConfigV2Model> > > GetCouponActivityConfigs(CouponActivityConfigPageRequestModel request) { var result = new BaoYangResultEntity <Tuple <int, List <CouponActivityConfigV2Model> > >() { Status = false }; try { dbScopeManagerConfigurationRead.Execute(conn => { var tupleConfigs = DalCouponActivityConfigV2.GetCouponActivityConfigs(conn, request); if (tupleConfigs == null || !tupleConfigs.Item2.Any() || tupleConfigs.Item1 <= 0) { result.Status = true; result.Msg = "未查找到数据"; } else { var ChannelConfigs = DalCouponActivityConfigV2.GetChannelConfigs(conn, tupleConfigs.Item2.Select(x => x.Id).ToList()); var ChannelConfigDic = ChannelConfigs.GroupBy(x => x.ConfigId).Select(x => new { x.Key, x }).ToDictionary(k => k.Key, v => v.x); foreach (var item in tupleConfigs.Item2) { item.Channels = item.Channel == null ? new List <string>() : item.Channel.Split(',').ToList(); if (ChannelConfigDic.ContainsKey(item.Id)) { item.ChannelConfigs = ChannelConfigDic[item.Id].ToList(); } } result.Status = true; result.Data = tupleConfigs; } }); } catch (Exception ex) { result.Status = false; result.Msg = "程序遇见错误,请联系管理员"; Logger.Error("GetCouponActivityConfigs", ex); } return(result); }
/// <summary> /// 添加日志 /// </summary> /// <param name="model"></param> /// <param name="name"></param> /// <returns></returns> public BaoYangResultEntity <bool> SaveBatteryLevelUpLog(BatteryLevelUpEntity oldbatteryLevelUp, BatteryLevelUpEntity newbatteryLevelUp, string name) { BaoYangResultEntity <bool> result = new BaoYangResultEntity <bool>() { Status = true }; var log = new BaoYangOprLog() { CreateTime = DateTime.Now, LogType = "BaoYangProductBatteryLevelUpSetting", Remarks = oldbatteryLevelUp == null ? "添加" : (newbatteryLevelUp == null ? "删除" : "修改"), IdentityID = newbatteryLevelUp == null ? oldbatteryLevelUp.OriginalPID : newbatteryLevelUp.OriginalPID, NewValue = JsonConvert.SerializeObject(newbatteryLevelUp ?? new BatteryLevelUpEntity()), OldValue = JsonConvert.SerializeObject(oldbatteryLevelUp ?? new BatteryLevelUpEntity()), OperateUser = name }; LoggerManager.InsertLog("BYOprLog", log); return(result); }
/// <summary> /// 添加日志 /// </summary> /// <param name="model"></param> /// <param name="name"></param> /// <returns></returns> public BaoYangResultEntity <bool> SaveCouponActivityConfigLog(CouponActivityConfigV2Model oldModel, CouponActivityConfigV2Model newmodel, string name) { BaoYangResultEntity <bool> result = new BaoYangResultEntity <bool>() { Status = true }; var log = new BaoYangOprLog() { CreateTime = DateTime.Now, LogType = "BaoYangCouponActivityConfigSetting", Remarks = oldModel == null ? "添加" : (newmodel == null ? "删除" : "修改"), IdentityID = newmodel == null?oldModel.Id.ToString() : newmodel.Id.ToString(), NewValue = JsonConvert.SerializeObject(newmodel ?? new CouponActivityConfigV2Model()), OldValue = JsonConvert.SerializeObject(oldModel ?? new CouponActivityConfigV2Model()), OperateUser = name }; LoggerManager.InsertLog("BYOprLog", log); return(result); }
/// <summary> /// 根据ID 删除单个模型 /// </summary> /// <param name="id"></param> /// <returns></returns> public async Task <BaoYangResultEntity <bool> > DeleteChannelConfigsByConfigId(int id, string name) { var result = new BaoYangResultEntity <bool>() { Status = false }; try { var oldModel = GetCouponActivityConfig(id).Data; await RemoveCouponActivityConfigCache(id); dbScopeManagerConfiguration.CreateTransaction(conn => { if (DalCouponActivityConfigV2.DeleteCouponActivityConfig(conn, id)) { var configIds = new List <int> { id }; result.Data = DalCouponActivityConfigV2.DeleteChannelConfigsByConfigId(conn, configIds); result.Status = true; result.Data = true; } else { result.Data = false; } }); if (result.Status && oldModel != null) { SaveCouponActivityConfigLog(oldModel, null, name); } } catch (Exception ex) { result.Status = false; result.Msg = "程序遇见错误,请联系管理员"; Logger.Error("GetCouponActivityConfigs", ex); } return(result); }
/// <summary> /// 验证蓄电池/加油卡浮动配置实体 /// </summary> /// <param name="model"></param> /// <returns></returns> public BaoYangResultEntity <bool> Validation(CouponActivityConfigV2Model model) { var result = new BaoYangResultEntity <bool>() { Status = true }; if (model.ChannelConfigs != null && model.ChannelConfigs.Any()) { foreach (var item in model.ChannelConfigs) { if (item.Type == ChannelConfigType.URL.ToString() && string.IsNullOrWhiteSpace(item.Url)) { result.Status = false; result.Msg = $"类型{item.Channel}必须输入跳转地址"; break; } if (item.Type == ChannelConfigType.Coupon.ToString()) { if (item.GetRuleGUID == Guid.Empty) { result.Status = false; result.Msg = $"优惠券码为空或不符合优惠券码规则"; break; } //验证优惠券 PromotionActivityManager manager = new PromotionActivityManager(); SE_GetPromotionActivityCouponInfoConfig Couponresult = manager.GetCouponValidate(item.GetRuleGUID); if (Couponresult == null) { result.Status = false; result.Msg = $"优惠券码{item.GetRuleGUID.ToString()} 验证失败"; break; } } } } return(result); }
/// <summary> /// 清除蓄电池/加油卡浮动配置缓存 /// </summary> /// <returns></returns> public async Task <BaoYangResultEntity <bool> > RemoveCouponActivityConfigCache(int id) { var result = new BaoYangResultEntity <bool>() { Status = false }; try { var model = GetCouponActivityConfig(id).Data; if (model != null) { using (var cacheCilent = new CacheClient()) { var cacheName = "CouponActivityConfig"; var cacheKey = $"CouponActivityConfig/{model.ActivityNum}/{model.Type}"; var cacheResult = await cacheCilent.RemoveRedisCacheKeyAsync(cacheName, cacheKey); if (cacheResult.Success) { cacheKey = $"CouponActivityChannelConfig/{model.Id}"; cacheResult = await cacheCilent.RemoveRedisCacheKeyAsync(cacheName, cacheKey); result.Status = true; result.Data = cacheResult.Success; } } } } catch (Exception ex) { result.Status = false; result.Msg = "程序遇见错误,请联系管理员"; Logger.Error("GetCouponActivityConfigs", ex); } return(result); }
/// <summary> /// 获取单个实体 /// </summary> /// <param name="pkid"></param> /// <returns></returns> public BaoYangResultEntity <BatteryLevelUpEntity> GetBatteryLevelUpEntity(int pkid) { var result = new BaoYangResultEntity <BatteryLevelUpEntity>(); try { result = dbScopeManagerBaoYangRead.Execute(conn => { return(new BaoYangResultEntity <BatteryLevelUpEntity> { Status = true, Data = DALBatteryLevelUp.GetBatteryLevelUpEntity(conn, pkid) }); }); } catch (Exception ex) { Logger.Error(ex.Message, ex); result = new BaoYangResultEntity <BatteryLevelUpEntity>() { Status = false, Msg = "获取失败" }; } return(result); }
/// <summary> /// 删除缓存 /// </summary> /// <returns></returns> public async Task <BaoYangResultEntity <bool> > RemoveBtaaeryLevelUpCache() { var result = new BaoYangResultEntity <bool>() { Status = true }; try { var pids = dbScopeManagerBaoYang.Execute(conn => DALBatteryLevelUp.GetAllOriginalPID(conn)); var type = "BatteryLevelUpConfig"; result.Data = await RemoveCacheByTypeAsync(type, pids); } catch (Exception ex) { Logger.Error(ex.Message, ex); result = new BaoYangResultEntity <bool>() { Status = true, Msg = "删除失败" }; } return(result); }