/// <summary> /// 添加配置 /// </summary> /// <param name="config"></param> /// <returns></returns> public bool AddRedemptionCodeConfig(RedemptionConfig config) { bool result = false; try { config.ConfigId = Guid.NewGuid(); config.Auditor = string.Empty; config.AuditStatus = "Pending"; result = DbTuhuGrouponScopeManager.Execute(conn => DALUnivRedemptionCode.AddRedemptionCodeConfig(conn, config)); if (result) { InsertBeautyOprLog(new { LogType = RedemptionCodeConfigType, IdentityID = config.ConfigId, OldValue = string.Empty, NewValue = JsonConvert.SerializeObject(config), OperateUser = config.CreateUser, Remarks = "add", }); } } catch (Exception ex) { Logger.Error(nameof(AddRedemptionCodeConfig), ex); result = false; } return(result); }
/// <summary> /// 更新配置 /// </summary> /// <param name="config"></param> /// <returns></returns> public bool UpdateRedemptionCodeConfig(RedemptionConfig config) { bool result = false; try { var oldConfig = GetRedemptionCodeConfig(config.ConfigId); if (oldConfig != null) { result = DbTuhuGrouponScopeManager.Execute(conn => DALUnivRedemptionCode.UpdateRedemptionCodeConfig(conn, config)); } if (result) { InsertBeautyOprLog(new { LogType = RedemptionCodeConfigType, IdentityID = config.ConfigId, OldValue = JsonConvert.SerializeObject(oldConfig), NewValue = JsonConvert.SerializeObject(config), OperateUser = config.CreateUser, Remarks = "update", }); } } catch (Exception ex) { Logger.Error(nameof(UpdateRedemptionCodeConfig), ex); result = false; } return(result); }
/// <summary> /// 更新兑换码配置 /// </summary> /// <param name="conn"></param> /// <param name="config"></param> /// <returns></returns> public static bool UpdateRedemptionCodeConfig(SqlConnection conn, RedemptionConfig config) { const string sql = @"UPDATE Tuhu_groupon..RedemptionConfig SET CooperateId = @CooperateId , Name = @Name , EffectiveDay = @EffectiveDay , AtLeastNum = @AtLeastNum , AtMostNum = @AtMostNum , SettlementMethod = @SettlementMethod , GenerateType = @GenerateType , Description = @Description , IsActive = @IsActive , AuditStatus = @AuditStatus, UpdateTime = GETDATE(), GroupId=@GroupId WHERE ConfigId = @ConfigId;"; var result = conn.Execute(sql, new { config.GroupId, config.CooperateId, config.ConfigId, config.Name, config.EffectiveDay, config.AtLeastNum, config.AtMostNum, config.SettlementMethod, config.GenerateType, config.Description, config.IsActive, AuditStatus = AudioStatus.Pending.ToString(), }, commandType: CommandType.Text); return(result > 0); }
/// <summary> /// 添加兑换码模板配置 /// </summary> /// <param name="conn"></param> /// <param name="config"></param> /// <returns></returns> public static bool AddRedemptionCodeConfig(SqlConnection conn, RedemptionConfig config) { const string sql = @"INSERT INTO Tuhu_groupon..RedemptionConfig ( ConfigId , CooperateId , Name , EffectiveDay , AtLeastNum , AtMostNum , SettlementMethod , GenerateType , Description , IsActive , AuditStatus , CreateUser , Auditor , CreateTime , UpdateTime , GroupId ) VALUES ( @ConfigId , @CooperateId , @Name , @EffectiveDay , @AtLeastNum , @AtMostNum , @SettlementMethod , @GenerateType , @Description , @IsActive , @AuditStatus , @CreateUser , @Auditor , GETDATE() , GETDATE() , @GroupId );"; var result = conn.Execute(sql, new { config.GroupId, config.ConfigId, config.CooperateId, config.Name, config.EffectiveDay, config.AtLeastNum, config.AtMostNum, config.SettlementMethod, config.GenerateType, config.Description, config.IsActive, config.AuditStatus, config.CreateUser, config.Auditor }, commandType: System.Data.CommandType.Text); return(result > 0); }
/// <summary> /// 是否存在配置 /// </summary> /// <param name="conn"></param> /// <param name="config"></param> /// <returns></returns> public static bool IsExistsRedemptionConfig(SqlConnection conn, RedemptionConfig config) { var sql = @"SELECT COUNT(1) FROM Tuhu_groupon..RedemptionConfig AS t WITH ( NOLOCK ) WHERE t.Name = @Name AND ( @ConfigId IS NULL OR t.ConfigId <> @ConfigId );"; var count = Convert.ToInt32(conn.ExecuteScalar(sql, new { config.Name, config.ConfigId }, commandType: System.Data.CommandType.Text)); return(count > 0); }
/// <summary> /// 更加ConfigID获取配置 /// </summary> /// <param name="configId"></param> /// <returns></returns> public RedemptionConfig GetRedemptionCodeConfig(Guid configId) { RedemptionConfig result = null; try { result = DbTuhuGrouponScopeReadManager.Execute(conn => DALUnivRedemptionCode.GetRedemptionCodeConfig(conn, configId)); } catch (Exception ex) { Logger.Error(nameof(GetRedemptionCodeConfig), ex); } return(result); }
/// <summary> /// 是否已经存在配置 /// </summary> /// <param name="config"></param> /// <returns></returns> public bool IsExistsRedemptionConfig(RedemptionConfig config) { bool result = false; try { result = DbTuhuGrouponScopeReadManager.Execute(conn => DALUnivRedemptionCode.IsExistsRedemptionConfig(conn, config)); } catch (Exception ex) { Logger.Error(nameof(IsExistsRedemptionConfig), ex); result = false; } return(result); }
public ActionResult AddOrUpdateRedemptionCodeConfig(RedemptionConfig config) { #region validated if (config == null || string.IsNullOrWhiteSpace(config.Name) || config.CooperateId <= 0 || string.IsNullOrWhiteSpace(config.CooperateName) || config.EffectiveDay <= 0 || config.AtLeastNum <= 0 || config.AtMostNum <= 0) { return(Json(new { status = false, msg = "配置不能为空,参数错误" })); } config.GenerateType = string.Equals(config.GenerateType, BATCH_TYPE, StringComparison.OrdinalIgnoreCase) ? BATCH_TYPE : (string.Equals(config.GenerateType, INTERFACE_TYPE, StringComparison.OrdinalIgnoreCase) ? INTERFACE_TYPE : string.Empty); if (string.IsNullOrEmpty(config.GenerateType)) { return(Json(new { status = false, msg = "生成类型有误,请重试" })); } config.Name = config.Name.Trim(); config.SettlementMethod = string.Equals(BATCH_PRESETTLED, config.SettlementMethod, StringComparison.OrdinalIgnoreCase) ? BATCH_PRESETTLED : string.Empty; var exists = manager.IsExistsRedemptionConfig(config); if (exists) { return(Json(new { status = false, msg = "已存在相同名称的配置" })); } if (config.GroupId != null) { var isUpdate = config.ConfigId != Guid.Empty; var groupSetting = manager.GetGroupSettingByGroupId(config.GroupId ?? Guid.Empty); if (groupSetting == null) { return(Json(new { status = false, msg = $"所选群组不存在:{config.GroupId}" })); } var RedeemMrCodeConfigs = manager.GetRedeemMrCodeConfigs(config.ConfigId); if (groupSetting.SendCodeType == 1 && config.IsActive)//自动发码 { var groupConfigs = manager.GetRedemptionConfigsGroupId(config.GroupId ?? Guid.Empty); if (!isUpdate && groupConfigs != null && groupConfigs.Any()) { return(Json(new { status = false, msg = "所选群组为自动发码,已经存在一个套餐=》自动发码群组只能有一个套餐" })); } if (isUpdate && groupConfigs != null && groupConfigs.Count() >= 1 && groupConfigs.Any(a => a.ConfigId != config.ConfigId)) { return(Json(new { status = false, msg = "所选群组为自动发码,已经存在一个套餐=》自动发码群组只能有一个套餐" })); } } if (RedeemMrCodeConfigs != null && RedeemMrCodeConfigs.Any(a => !a.IsRequired)) { return(Json(new { status = false, msg = "配置了群组的模板,模板详情内容都应该必选" })); } } #endregion config.CreateUser = User.Identity.Name; var result = config.ConfigId != Guid.Empty ? manager.UpdateRedemptionCodeConfig(config) : manager.AddRedemptionCodeConfig(config); return(Json(new { status = result })); }