/// <summary> /// 查看短信配置 /// </summary> /// <param name="model"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <returns></returns> public Tuple <List <VipPaintPackageSmsConfig>, int> SelectPackageSmsConfig (VipPaintPackageSmsConfig model, int pageIndex, int pageSize) { var result = null as List <VipPaintPackageSmsConfig>; var totalCount = 0; try { result = dbScopeManagerConfigurationRead.Execute(conn => DalVipPaintPackage.SelectPackageSmsConfig(conn, model, pageIndex, pageSize, out totalCount)); var vipUsers = new VipBaoYangPackageManager().GetAllBaoYangPackageUser(); if (result != null && result.Any() && vipUsers != null && vipUsers.Any()) { result.ForEach(s => { s.VipUserName = vipUsers.FirstOrDefault(v => string.Equals(v.VipUserId, s.VipUserId.ToString()))?.VipUserName; }); } } catch (Exception ex) { Logger.Error("SelectVipPaintPackageSmsConfig", ex); } return(Tuple.Create(result, totalCount)); }
/// <summary> /// 添加或更新短信配置 /// </summary> /// <param name="model"></param> /// <returns></returns> public bool UpdateOrInsertPackageSmsPackage(VipPaintPackageSmsConfig model) { var result = false; try { var oldValue = dbScopeManagerConfigurationRead.Execute(conn => DalVipPaintPackage.GetPackageSendSmsConfig(conn, model.PackageId)); if (oldValue != null) { result = dbScopeManagerConfiguration.Execute(conn => DalVipPaintPackage.UpdatePackageSendSms(conn, model)); if (result) { model.PKID = oldValue.PKID; model.CreateDateTime = oldValue.CreateDateTime; model.LastUpdateDateTime = DateTime.Now; var log = new { ObjectId = $"SmsConfig_{model.PackageName}", ObjectType = "VipPaintPackage", BeforeValue = JsonConvert.SerializeObject(oldValue), AfterValue = JsonConvert.SerializeObject(model), Remark = $"喷漆大客户套餐:{model.PackageName}的短信配置由{oldValue.IsSendSms}改为{model.IsSendSms}", Creator = model.Operator }; LoggerManager.InsertLog("CommonConfigLog", log); } } else { var pkid = dbScopeManagerConfiguration.Execute(conn => DalVipPaintPackage.InsertPackageSmsConfig(conn, model)); result = pkid > 0; if (result) { model.PKID = pkid; model.CreateDateTime = DateTime.Now; model.LastUpdateDateTime = DateTime.Now; var log = new { ObjectId = $"SmsConfig_{model.PackageName}", ObjectType = "VipPaintPackage", BeforeValue = "", AfterValue = JsonConvert.SerializeObject(model), Remark = $"喷漆大客户套餐:{model.PackageName}的短信配置设置为{model.IsSendSms}", Creator = model.Operator }; LoggerManager.InsertLog("CommonConfigLog", log); } } } catch (Exception ex) { Logger.Error("UpdateOrInsertPackageSmsPackage", ex); } return(result); }
public ActionResult UpdOrInsPackageSmsPackage(VipPaintPackageSmsConfig model) { if (model == null || model.PackageId < 1) { return(Json(new { Status = false, Msg = "未知的对象" })); } var manager = new VipPaintPackageManager(); model.Operator = User.Identity.Name; var result = manager.UpdateOrInsertPackageSmsPackage(model); return(Json(new { Status = result, Msg = $"更新短信配置{(result ? "成功" : "失败")}" })); }
/// <summary> /// 查看短信配置 /// </summary> /// <param name="conn"></param> /// <param name="model"></param> /// <param name="pageIndex"></param> /// <param name="pageSize"></param> /// <param name="totalCount"></param> /// <returns></returns> public static List <VipPaintPackageSmsConfig> SelectPackageSmsConfig (SqlConnection conn, VipPaintPackageSmsConfig model, int pageIndex, int pageSize, out int totalCount) { #region Sql var sql = @"SELECT @Total = COUNT(1) FROM Configuration..VipPaintPackageSmsConfig AS s WITH ( NOLOCK ) RIGHT JOIN Configuration..VipPaintPackageConfig AS c WITH ( NOLOCK ) ON s.PackageId = c.PKID WHERE c.IsDeleted = 0 AND ( @VipUserId IS NULL OR @VipUserId = N'00000000-0000-0000-0000-000000000000' OR c.VipUserId = @VipUserId ) AND ( @PackageId < 1 OR c.PKID = @PackageId ); SELECT c.VipUserId , c.PKID AS PackageId , c.PackagePid , c.PackageName , ISNULL(s.IsSendSms, 0) AS IsSendSms FROM Configuration..VipPaintPackageSmsConfig AS s WITH ( NOLOCK ) RIGHT JOIN Configuration..VipPaintPackageConfig AS c WITH ( NOLOCK ) ON s.PackageId = c.PKID WHERE c.IsDeleted = 0 AND ( @VipUserId IS NULL OR @VipUserId = N'00000000-0000-0000-0000-000000000000' OR c.VipUserId = @VipUserId ) AND ( @PackageId < 1 OR c.PKID = @PackageId ) ORDER BY c.PKID DESC OFFSET ( @PageIndex - 1 ) * @PageSize ROWS FETCH NEXT @PageSize ROWS ONLY;"; #endregion var parameters = new[] { new SqlParameter("@VipUserId", model.VipUserId), new SqlParameter("@PackageId", model.PackageId), new SqlParameter("@PageIndex", pageIndex), new SqlParameter("@PageSize", pageSize), new SqlParameter("@Total", SqlDbType.Int) { Direction = ParameterDirection.Output } }; var result = SqlHelper.ExecuteDataTable(conn, CommandType.Text, sql, parameters) .ConvertTo <VipPaintPackageSmsConfig>().ToList(); totalCount = Convert.ToInt32(parameters.LastOrDefault().Value.ToString()); return(result); }
/// <summary> /// 插入短信配置 /// </summary> /// <param name="conn"></param> /// <param name="model"></param> /// <returns></returns> public static int InsertPackageSmsConfig(SqlConnection conn, VipPaintPackageSmsConfig model) { var sql = @"INSERT INTO Configuration..VipPaintPackageSmsConfig ( PackageId, IsSendSms, Operator ) OUTPUT inserted.PKID VALUES ( @PackageId, @IsSendSms, @Operator );"; var parameters = new[] { new SqlParameter("@PackageId", model.PackageId), new SqlParameter("@IsSendSms", model.IsSendSms), new SqlParameter("@Operator", model.Operator) }; var result = Convert.ToInt32(SqlHelper.ExecuteScalar(conn, CommandType.Text, sql, parameters)); return(result); }
/// <summary> /// 更新短信配置 /// </summary> /// <param name="conn"></param> /// <param name="packageId"></param> /// <returns></returns> public static bool UpdatePackageSendSms(SqlConnection conn, VipPaintPackageSmsConfig model) { var sql = @"UPDATE Configuration..VipPaintPackageSmsConfig SET IsSendSms = @IsSendSms , Operator = @Operator , LastUpdateDateTime = GETDATE() WHERE PackageId = @PackageId;"; var parameters = new[] { new SqlParameter("@IsSendSms", model.IsSendSms), new SqlParameter("@Operator", model.Operator), new SqlParameter("@PackageId", model.PackageId) }; var result = SqlHelper.ExecuteNonQuery(conn, CommandType.Text, sql, parameters) > 0; return(result); }