SysUserManage.cs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Data.Common;
  5. using CB.Common;
  6. using CB.Entity;
  7. using CB.Interface.Infrastructure;
  8. namespace CB.Data.SqlServer
  9. {
  10. public class SysUserManage : Repository<SysUserInfo>, ISysUserService
  11. {
  12. public SysUserManage(string interfaceId)
  13. : base(interfaceId)
  14. {
  15. }
  16. public override bool Save(SysUserInfo entity)
  17. {
  18. DbParameter[] pars =
  19. {
  20. DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,250,@"INSERT INTO [SYS_SysUser]([UserName],[PassWord],[NickName],[GroupId],[Status],[Email],[TelPhone],[RegIP])VALUES(@UserName,@PassWord,@NickName,@GroupId,@Status,@Email,@TelPhone,@RegIP)"),
  21. DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,150,@"@UserName nchar(20),@PassWord char(32),@NickName nchar(20),@GroupId int,@Status bit,@Email nvarchar(50),@TelPhone nchar(20),@RegIP nchar(50)"),
  22. DbHelper.MakeInParam(InterfaceId,"@UserName",(DbType)SqlDbType.NChar,20,entity.UserName),
  23. DbHelper.MakeInParam(InterfaceId,"@PassWord",(DbType)SqlDbType.Char,32,entity.PassWord),
  24. DbHelper.MakeInParam(InterfaceId,"@NickName",(DbType)SqlDbType.NChar,20,entity.NickName),
  25. DbHelper.MakeInParam(InterfaceId,"@GroupId",(DbType)SqlDbType.Int,4,entity.GroupId),
  26. DbHelper.MakeInParam(InterfaceId,"@Status",(DbType)SqlDbType.Bit,1,entity.Status),
  27. DbHelper.MakeInParam(InterfaceId,"@Email",(DbType)SqlDbType.NVarChar,50,entity.Email),
  28. DbHelper.MakeInParam(InterfaceId,"@TelPhone",(DbType)SqlDbType.NChar,20,entity.TelPhone),
  29. DbHelper.MakeInParam(InterfaceId,"@RegIP",(DbType)SqlDbType.NChar,50,entity.RegIP)
  30. };
  31. return DbHelper.ExecuteNonQuery(InterfaceId,CommandType.StoredProcedure, "dbo.sp_executesql", pars) > 0 ? true : false;
  32. }
  33. public override bool Update(SysUserInfo entity)
  34. {
  35. DbParameter[] pars =
  36. {
  37. DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,170,@"UPDATE [SYS_SysUser] SET [NickName]=@NickName,[GroupId]=@GroupId,[Status]=@Status,[Email]=@Email,[TelPhone]=@TelPhone WHERE [Uid]=@Uid"),
  38. DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,150,@"@NickName nchar(20),@GroupId int,@Status bit,@Email nvarchar(50),@TelPhone nchar(20),@Uid int"),
  39. DbHelper.MakeInParam(InterfaceId,"@NickName",(DbType)SqlDbType.NChar,20,entity.NickName),
  40. DbHelper.MakeInParam(InterfaceId,"@GroupId",(DbType)SqlDbType.Int,4,entity.GroupId),
  41. DbHelper.MakeInParam(InterfaceId,"@Status",(DbType)SqlDbType.Bit,1,entity.Status),
  42. DbHelper.MakeInParam(InterfaceId,"@Email",(DbType)SqlDbType.NVarChar,50,entity.Email),
  43. DbHelper.MakeInParam(InterfaceId,"@TelPhone",(DbType)SqlDbType.NChar,20,entity.TelPhone),
  44. DbHelper.MakeInParam(InterfaceId,"@Uid",(DbType)SqlDbType.Int,4,entity.Uid)
  45. };
  46. return DbHelper.ExecuteNonQuery(InterfaceId,CommandType.StoredProcedure, "dbo.sp_executesql", pars) > 0 ? true : false;
  47. }
  48. public override bool Delete(int Id)
  49. {
  50. DbParameter[] pars =
  51. {
  52. DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,50,"DELETE FROM [SYS_SysUser] WHERE [Uid]=@Uid"),
  53. DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,10,"@Uid int"),
  54. DbHelper.MakeInParam(InterfaceId,"@Uid",(DbType)SqlDbType.Int,4,Id)
  55. };
  56. return DbHelper.ExecuteNonQuery(InterfaceId,CommandType.StoredProcedure, "dbo.sp_executesql", pars) > 0 ? true : false;
  57. }
  58. public override SysUserInfo Get<TKey>(TKey key)
  59. {
  60. DbParameter[] pars ={
  61. DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,200,"SELECT [Uid],[UserName],[PassWord],[NickName],[GroupId],[Status],[SuperAdmin],[Email],[TelPhone],[LoginTimes],[RegIP],[RegDate],[LastLoginIP],[LastLoginDate] FROM [SYS_SysUser] WHERE [Uid]=@uid"),
  62. DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,10,"@uid int"),
  63. DbHelper.MakeInParam(InterfaceId,"@uid",(DbType)SqlDbType.Int,4,key)
  64. };
  65. SysUserInfo entity = null;
  66. using (IDataReader reader = DbHelper.ExecuteReader(InterfaceId,CommandType.StoredProcedure, "[dbo].[sp_executesql]", pars))
  67. {
  68. if (reader.Read())
  69. {
  70. entity = LoadEntity(reader);
  71. }
  72. reader.Dispose();
  73. }
  74. return entity;
  75. }
  76. public override IList<SysUserInfo> ToList()
  77. {
  78. throw new NotImplementedException();
  79. }
  80. public override IList<SysUserInfo> ToList(SysUserInfo entity)
  81. {
  82. throw new NotImplementedException();
  83. }
  84. public override IList<SysUserInfo> ToPaging(SysUserInfo entity, int pageSize, int pageIndex, out int recordCount)
  85. {
  86. recordCount = 0;
  87. string where = " 1=1 ";
  88. if (!string.IsNullOrEmpty(entity.UserName))
  89. { where = string.Format("{0} AND [UserName] LIKE '%{1}%'", where, entity.UserName); }
  90. if (0 < entity.GroupId)
  91. { where = string.Format("{0} AND [GroupId]={1}", where, entity.GroupId); }
  92. DbParameter[] pars ={
  93. DbHelper.MakeInParam(InterfaceId,"@pageSize",(DbType)SqlDbType.Int,4,pageSize),
  94. DbHelper.MakeInParam(InterfaceId,"@page",(DbType)SqlDbType.Int,4,pageIndex),
  95. DbHelper.MakeInParam(InterfaceId,"@tableName",(DbType)SqlDbType.NVarChar,500,"[SYS_SysUser]"),
  96. DbHelper.MakeInParam(InterfaceId,"@field",(DbType)SqlDbType.NVarChar,1000,
  97. "[Uid],[UserName],[PassWord],[NickName],[GroupId],[Status],[SuperAdmin],[Email],[TelPhone],[LoginTimes],[RegIP],[RegDate],[LastLoginIP],[LastLoginDate]"),
  98. DbHelper.MakeInParam(InterfaceId,"@orderField",(DbType)SqlDbType.NVarChar,50,"[Uid] ASC"),
  99. DbHelper.MakeInParam(InterfaceId,"@where",(DbType)SqlDbType.NVarChar,2000,where)
  100. };
  101. IList<SysUserInfo> list = new List<SysUserInfo>();
  102. using (IDataReader reader = DbHelper.ExecuteReader(InterfaceId,CommandType.StoredProcedure, "usp_st_page", pars))
  103. {
  104. while (reader.Read())
  105. {
  106. list.Add(LoadEntity(reader));
  107. }
  108. if (reader.NextResult() && reader.Read())
  109. {
  110. recordCount = reader.GetInt32(0);
  111. }
  112. reader.Dispose();
  113. }
  114. return list;
  115. }
  116. public SysShortUserInfo GetShortSysUser(string userName, string passWord, string IP)
  117. {
  118. DbParameter[] pars ={
  119. DbHelper.MakeInParam(InterfaceId,"@username",(DbType)SqlDbType.NChar,20,userName),
  120. DbHelper.MakeInParam(InterfaceId,"@userpwd",(DbType)SqlDbType.Char,32,passWord),
  121. DbHelper.MakeInParam(InterfaceId,"@ip",(DbType)SqlDbType.NChar,50,IP)
  122. };
  123. SysShortUserInfo entity = null;
  124. using (IDataReader reader = DbHelper.ExecuteReader(InterfaceId,CommandType.StoredProcedure, "usp_SysUser_login", pars))
  125. {
  126. if (reader.Read())
  127. {
  128. entity = new SysShortUserInfo()
  129. {
  130. Uid = TypeConverter.ObjectToInt(reader["Uid"]),
  131. UserName = reader["UserName"].ToString().Trim(),
  132. PassWord = reader["PassWord"].ToString().Trim(),
  133. NickName = reader["NickName"].ToString().Trim(),
  134. GroupId = TypeConverter.ObjectToInt(reader["GroupId"]),
  135. Status = TypeConverter.ObjectToBool(reader["Status"], false),
  136. SuperAdmin = TypeConverter.ObjectToBool(reader["SuperAdmin"], false),
  137. };
  138. }
  139. reader.Dispose();
  140. }
  141. return entity;
  142. }
  143. public bool UpdateUserStatus(int uid)
  144. {
  145. DbParameter[] pars =
  146. {
  147. DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,0,"UPDATE [SYS_SysUser] SET [Status]=~[Status] WHERE [Uid]=@uid"),
  148. DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,10,"@uid int"),
  149. DbHelper.MakeInParam(InterfaceId,"@uid",(DbType)SqlDbType.Int,4,uid)
  150. };
  151. return DbHelper.ExecuteNonQuery(InterfaceId,CommandType.StoredProcedure, "dbo.sp_executesql", pars) > 0 ? true : false;
  152. }
  153. public bool UpdateUserPassWord(int uid, string oldPassWord, string newPassWord)
  154. {
  155. DbParameter[] pars =
  156. {
  157. DbHelper.MakeInParam(InterfaceId,"@statement",(DbType)SqlDbType.NVarChar,100,"UPDATE [SYS_SysUser] SET [PassWord]=@newpwd WHERE [Uid]=@uid AND [PassWord]=@oldpwd"),
  158. DbHelper.MakeInParam(InterfaceId,"@params",(DbType)SqlDbType.NVarChar,50,"@newpwd char(32),@uid int,@oldpwd char(32)"),
  159. DbHelper.MakeInParam(InterfaceId,"@uid",(DbType)SqlDbType.Int,4,uid),
  160. DbHelper.MakeInParam(InterfaceId,"@newpwd",(DbType)SqlDbType.Char,32,newPassWord),
  161. DbHelper.MakeInParam(InterfaceId,"@oldpwd",(DbType)SqlDbType.Char,32,oldPassWord)
  162. };
  163. return DbHelper.ExecuteNonQuery(InterfaceId,CommandType.StoredProcedure, "dbo.sp_executesql", pars) > 0 ? true : false;
  164. }
  165. protected override SysUserInfo LoadEntity(IDataReader reader)
  166. {
  167. return new SysUserInfo
  168. {
  169. Uid = TypeConverter.ObjectToInt(reader["Uid"]),
  170. UserName = reader["UserName"].ToString().Trim(),
  171. PassWord = reader["PassWord"].ToString().Trim(),
  172. NickName = reader["NickName"].ToString().Trim(),
  173. GroupId = TypeConverter.ObjectToInt(reader["GroupId"]),
  174. Status = TypeConverter.ObjectToBool(reader["Status"], false),
  175. SuperAdmin = TypeConverter.ObjectToBool(reader["SuperAdmin"], false),
  176. Email = reader["Email"].ToString(),
  177. TelPhone = reader["TelPhone"].ToString().Trim(),
  178. LoginTimes = TypeConverter.ObjectToInt(reader["LoginTimes"]),
  179. RegIP = reader["RegIP"].ToString().Trim(),
  180. RegDate = TypeConverter.ObjectToDateTime(reader["RegDate"], DateTime.MinValue),
  181. LastLoginIP = reader["LastLoginIP"].ToString().Trim(),
  182. LastLoginDate = TypeConverter.ObjectToDateTime(reader["LastLoginDate"], DateTime.MinValue)
  183. };
  184. }
  185. protected override SysUserInfo LoadEntity(DataRow dr)
  186. {
  187. return new SysUserInfo
  188. {
  189. Uid = TypeConverter.ObjectToInt(dr["Uid"]),
  190. UserName = dr["UserName"].ToString().Trim(),
  191. PassWord = dr["PassWord"].ToString().Trim(),
  192. NickName = dr["NickName"].ToString().Trim(),
  193. GroupId = TypeConverter.ObjectToInt(dr["GroupId"]),
  194. Status = TypeConverter.ObjectToBool(dr["Status"], false),
  195. SuperAdmin = TypeConverter.ObjectToBool(dr["SuperAdmin"], false),
  196. Email = dr["Email"].ToString(),
  197. TelPhone = dr["TelPhone"].ToString().Trim(),
  198. LoginTimes = TypeConverter.ObjectToInt(dr["LoginTimes"]),
  199. RegIP = dr["RegIP"].ToString().Trim(),
  200. RegDate = TypeConverter.ObjectToDateTime(dr["RegDate"], DateTime.MinValue),
  201. LastLoginIP = dr["LastLoginIP"].ToString().Trim(),
  202. LastLoginDate = TypeConverter.ObjectToDateTime(dr["LastLoginDate"], DateTime.MinValue)
  203. };
  204. }
  205. }
  206. }