/// <summary> /// 修改蓄电池/加油卡浮动配置 /// </summary> /// <param name="conn"></param> /// <param name="model"></param> /// <returns></returns> public static bool UpdateCouponActivityConfig(SqlConnection conn, CouponActivityConfigV2Model model) { const string sql = @"UPDATE [Configuration].[dbo].[SE_CouponActivityConfig] SET ActivityName = @ActivityName , ActivityStatus = @ActivityStatus , CheckStatus = @CheckStatus , Type=@Type, LayerImage = @LayerImage , CouponId = @CouponId , ButtonChar = @ButtonChar , ActivityImage = @ActivityImage, UpdateTime = GETDATE(), Channel=@Channel, GetRuleGUID=@GetRuleGUID WHERE Id = @Id"; var sqlParameters = new SqlParameter[] { new SqlParameter("@ActivityName", model.ActivityName), new SqlParameter("@ActivityNum", model.ActivityNum), new SqlParameter("@ActivityStatus", model.ActivityStatus), new SqlParameter("@ButtonChar", model.ButtonChar), new SqlParameter("@CheckStatus", model.CheckStatus), new SqlParameter("@CouponId", model.CouponId), new SqlParameter("@LayerImage", model.LayerImage), new SqlParameter("@Id", model.Id), new SqlParameter("@ActivityImage", model.ActivityImage), new SqlParameter("@GetRuleGUID", model.GetRuleGUID ?? string.Empty), new SqlParameter("@Type", model.Type), new SqlParameter("@Channel", model.Channel) }; return(SqlHelper.ExecuteNonQuery(conn, CommandType.Text, sql, sqlParameters) > 0); }
/// <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="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)); }
/// <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> /// 验证蓄电池/加油卡浮动配置实体 /// </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); }