/** 版本信息模板在安装目录下,可自行修改。 * admin_user.cs * * 功 能: N/A * 类 名: admin_user * * Ver 变更日期 负责人 变更内容 * ─────────────────────────────────── * V0.01 2021/3/30 8:46:18 N/A 初版 * * Copyright (c) 2012 Maticsoft Corporation. All rights reserved. *┌──────────────────────────────────┐ *│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │ *│ 版权所有:动软卓越(北京)科技有限公司              │ *└──────────────────────────────────┘ */ using System; using System.Data; using System.Collections.Generic; using Maticsoft.Common; using DataService.Model; using System.Web; using System.Linq; using System.Security.Cryptography; using System.Text; namespace DataService.BLL { /// /// admin_user /// public partial class admin_user { private readonly DataService.DAL.admin_user dal = new DataService.DAL.admin_user(); public admin_user() { } #region BasicMethod /// /// 是否存在该记录 /// public bool Exists(string user_id) { return dal.Exists(user_id); } /// /// 增加一条数据 /// public bool Add(DataService.Model.admin_user model) { return dal.Add(model); } /// /// 更新一条数据 /// public bool Update(DataService.Model.admin_user model) { return dal.Update(model); } /// /// 删除一条数据 /// public bool Delete(string user_id) { return dal.Delete(user_id); } /// /// 删除一条数据 /// public bool DeleteList(string user_idlist) { return dal.DeleteList(user_idlist); } /// /// 得到一个对象实体 /// public DataService.Model.admin_user GetModel(string user_id) { return dal.GetModel(user_id); } /// /// 得到一个对象实体,从缓存中 /// public DataService.Model.admin_user GetModelByCache(string user_id) { string CacheKey = "admin_userModel-" + user_id; object objModel = Maticsoft.Common.DataCache.GetCache(CacheKey); if (objModel == null) { try { objModel = dal.GetModel(user_id); if (objModel != null) { int ModelCache = Maticsoft.Common.ConfigHelper.GetConfigInt("ModelCache"); Maticsoft.Common.DataCache.SetCache(CacheKey, objModel, DateTime.Now.AddMinutes(ModelCache), TimeSpan.Zero); } } catch { } } return (DataService.Model.admin_user)objModel; } /// /// 获得数据列表 /// public DataSet GetList(string strWhere) { return dal.GetList(strWhere); } /// /// 获得数据列表 /// public List GetModelList(string strWhere) { DataSet ds = dal.GetList(strWhere); return DataTableToList(ds.Tables[0]); } /// /// 获得数据列表 /// public List DataTableToList(DataTable dt) { List modelList = new List(); int rowsCount = dt.Rows.Count; if (rowsCount > 0) { DataService.Model.admin_user model; for (int n = 0; n < rowsCount; n++) { model = dal.DataRowToModel(dt.Rows[n]); if (model != null) { modelList.Add(model); } } } return modelList; } /// /// 获得数据列表 /// public DataSet GetAllList() { return GetList(""); } /// /// 分页获取数据列表 /// public int GetRecordCount(string strWhere) { return dal.GetRecordCount(strWhere); } /// /// 分页获取数据列表 /// public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex) { return dal.GetListByPage(strWhere, orderby, startIndex, endIndex); } /// /// 分页获取数据列表 /// //public DataSet GetList(int PageSize,int PageIndex,string strWhere) //{ //return dal.GetList(PageSize,PageIndex,strWhere); //} #endregion BasicMethod #region ExtensionMethod /// /// 获取教员及管理员 /// /// /// public DataSet GetSysUsers(string strWhere) { return dal.GetSysUsers(strWhere); } /// /// 获取学员 /// /// /// public DataSet GetUsrUsers(string strWhere) { return dal.GetUsrUsers(strWhere); } public DateTime? GetMaxLoginTime() { return dal.GetMaxLoginTime(); } /// /// 获取学员 /// /// /// public List GetUsrUsersByFault(string strWhere) { DataSet ds = dal.GetList(strWhere); return DataTableToList(ds.Tables[0]); } /// /// 加载登录信息 /// /// public static DataService.Model.admin_user load_login_old() { DataService.Model.admin_user admin_cookie_user = new DataService.Model.admin_user(); HttpContext context = HttpContext.Current; if (HttpContext.Current.Request.Cookies["admin_user_token"] != null) { if (HttpContext.Current.Request.Cookies["admin_user_token"].Values.Count > 1) { string tmpUid = HttpUtility.UrlDecode(HttpContext.Current.Request.Cookies["admin_user_token"].Values.Get(0)); string user_desc = HttpContext.Current.Request.Cookies["admin_user_token"].Values.Get(1).Replace("'", ""); user_desc = HttpUtility.UrlDecode(user_desc); string[] temp = user_desc.Split('|'); admin_cookie_user.user_id = temp[0]; admin_cookie_user.login_name = temp[1]; admin_cookie_user.real_name = temp[2]; //admin_cookie_user.grade = temp[3]; // admin_cookie_user.major = temp[4]; //var expires1 = HttpContext.Current.Request.Cookies["admin_user_token"].Expires; //var expires2 = HttpContext.Current.Response.Cookies["admin_user_token"].Expires; } else { HttpContext.Current.Response.Redirect("~/Login.aspx"); } } else { HttpContext.Current.Response.Redirect("~/Login.aspx"); } return admin_cookie_user; } public static DataService.Model.admin_user load_login() { DataService.Model.admin_user admin_cookie_user = new DataService.Model.admin_user(); HttpContext context = HttpContext.Current; if (HttpContext.Current.Request.Cookies["admin_user_token"] != null) { if (HttpContext.Current.Request.Cookies["admin_user_token"].Values.Count > 1) { //string tmpUid = HttpUtility.UrlDecode(HttpContext.Current.Request.Cookies["admin_user_token"].Values.Get(0)); //string user_desc = HttpContext.Current.Request.Cookies["admin_user_token"].Values.Get(1).Replace("'", ""); //user_desc = HttpUtility.UrlDecode(user_desc); try { string user_desc = HttpContext.Current.Request.Cookies["admin_user_token"].Values.Get(1); user_desc = EncryptionAndDecryption.DecryptByLgzn(user_desc); string[] temp = user_desc.Split('|'); admin_cookie_user.user_id = temp[0]; admin_cookie_user.login_name = temp[1]; admin_cookie_user.real_name = temp[2]; } catch (Exception ex) { HttpContext.Current.Response.Write(" "); HttpContext.Current.Response.End(); } } else { HttpContext.Current.Response.Write(" "); HttpContext.Current.Response.End(); } } else { //HttpContext.Current.Response.Redirect("~/Login.aspx"); HttpContext.Current.Response.Write(" "); HttpContext.Current.Response.End(); } return admin_cookie_user; } /// /// 是否存在该记录-按照工号查询 /// public bool ExistsByJobNumber(string job_number) { return dal.ExistsByJobNumber(job_number); } /// /// 是否存在该记录-按照身份证号查询 /// public bool ExistsByIdcard(string id_card) { return dal.ExistsByIdcard(id_card); } public static DataService.Model.admin_user load_log_user() { DataService.Model.admin_user admin_cookie_user = new DataService.Model.admin_user(); HttpContext context = HttpContext.Current; if (HttpContext.Current.Request.Cookies["admin_user_token"] != null) { if (HttpContext.Current.Request.Cookies["admin_user_token"].Values.Count > 1) { /* string tmpUid = HttpUtility.UrlDecode(HttpContext.Current.Request.Cookies["admin_user_token"].Values.Get(0)); string user_desc = HttpContext.Current.Request.Cookies["admin_user_token"].Values.Get(1).Replace("'", ""); user_desc = HttpUtility.UrlDecode(user_desc); string[] temp = user_desc.Split('|'); admin_cookie_user.user_id = temp[0]; admin_cookie_user.login_name = temp[1]; admin_cookie_user.real_name = temp[2];*/ string user_desc = HttpContext.Current.Request.Cookies["admin_user_token"].Values.Get(1).Replace("'", ""); user_desc = HttpUtility.UrlDecode(user_desc); string[] temp = user_desc.Split('|'); admin_cookie_user.user_id = temp[0]; admin_cookie_user.login_name = temp[1]; admin_cookie_user.real_name = temp[2]; } } return admin_cookie_user; } public DataService.Model.admin_user GetModelBylogin_name(string school_id, string login_name) { return dal.GetModelBylogin_name(school_id, login_name); } public DataService.Model.admin_user GetModelBylogin_name(string login_name) { return dal.GetModelBylogin_name(login_name); } /// /// 得到一个对象实体--根据工号 /// public DataService.Model.admin_user GetModelByJobNumber(string job_number) { return dal.GetModelByJobNumber(job_number); } public DataService.Model.admin_user GetModelByIdcard(string id_card) { return dal.GetModelByIdcard(id_card); } /// /// 批量更新学员故障点 /// /// /// /// public bool update_fault(string fault_id, string user_idlist) { return dal.update_fault(fault_id, user_idlist); } /// /// 获取带有故障编码的学员信息 /// /// /// public DataSet GetUsrUsersWithFault(string strWhere) { return dal.GetUsrUsersWithFault(strWhere); } /// /// 枚举字段值 /// /// public List GetFieldValues(string filedName) { List list = new List(); var dt = dal.GetFieldValues(filedName).Tables[0]; int rowsCount = dt.Rows.Count; for (int n = 0; n < rowsCount; n++) { var row = dt.Rows[n]; var value = row[0].ToString(); list.Add(value); } return list; } /// /// 枚举字段值 /// /// public List GetGradeValues(string filedName) { List list = new List(); var dt = dal.GetGradeValues(filedName).Tables[0]; int rowsCount = dt.Rows.Count; for (int n = 0; n < rowsCount; n++) { var row = dt.Rows[n]; var value = row[0].ToString(); list.Add(value); } return list; } /* public bool IsAdministrator(DataService.Model.admin_user user ) { if (null != user && user.id_card == "admin") return true; return false; } */ /// /// 是否老师 /// /// /// public bool IsTeacher(DataService.Model.admin_user user) { if (null != user) { if (user.role_id == getTeacherRoleId()) return true; } return false; } /// /// 是否学员 /// public bool IsStudent(DataService.Model.admin_user user) { if (null != user) { if (user.role_id == getStudentRoleId()) return true; } return false; } /* public bool IsAdministrator(DataService.Model.admin_user user) { if (null != user && (user.role_id == getAdminRoleId() || user.role_id == getTeacherRoleId())) return true; return false; } */ /// /// 超级管理员 /// /// /// public bool IsAdministrator(DataService.Model.admin_user user) { if (null != user && user.role_id == getAdminRoleId() ) return true; return false; } /// /// 学校管理员 /// /// /// public bool IsSchoolAdministrator(DataService.Model.admin_user user) { if (null != user && user.role_id == getSchoolAdminRoleId()) return true; return false; } /// /// 管理员 /// /// public string getAdminRoleId() { return "0"; } /// /// 老师 /// /// public string getTeacherRoleId() { return "1"; } /// /// 学生 /// /// public string getStudentRoleId() { return "2"; } /// /// 学校管理员 /// /// public string getSchoolAdminRoleId() { return "3"; } public int BatchAdd_Update(List list_Insert, List list_update) { return dal.BatchAdd_Update(list_Insert, list_update); } /// /// 判断没有成绩的用户是否存在 /// /// /// public bool IsUserExistsResult(string user_id) { var sb = new StringBuilder(); sb.Append(" 1=1 and user_id not in (select user_id from exam_result ) "); sb.Append(" and user_id not in (select user_id from exam_result_match ) "); //sb.Append(" and user_id not in (select user_id from pro_exam_batch_result ) "); sb.AppendFormat(" and user_id ='{0}' ", user_id); string where =sb.ToString(); int count= dal.GetRecordCount(where); if (count <= 0) { return true; } else { return false; } } /// /// 获取已启动用户数量 /// /// /// /// public int GetStartedUsers(string school_id,string role_id) { var qry = string.Format("school_id='{0}' and role_id='{1}' and is_lock=0 ", school_id, role_id); var exist_number = GetModelList(qry).Count(); return exist_number; } #endregion ExtensionMethod } public class EncryptionAndDecryption { #region ========加密======== /// /// md5密码加密 /// /// /// public static string GetMD5(string passWord) { MD5 md5 = new MD5CryptoServiceProvider(); byte[] bt = Encoding.Default.GetBytes(passWord);//将待加密字符转为 字节型数组 byte[] resualt = md5.ComputeHash(bt);//将字节数组转为加密的字节数组 string pwds = BitConverter.ToString(resualt).Replace("-", ""); passWord = pwds; return passWord; } /// /// 加密 /// /// /// public static string Encrypt(string Text) { return Encrypt(Text, string.Format("NJ-{0}-ZGD", DateTime.Now.ToString("yyyy-MM-dd-HH"))); } /// /// 加密 /// /// /// public static string EncryptByLgzn(string Text) { return Encrypt(Text, "LGZN"); } /// /// 解密 /// /// /// public static string DecryptByLgzn(string Text) { return Decrypt(Text, "LGZN"); } /// /// 加密数据 /// /// 明文 /// 密钥 /// public static string Encrypt(string Text, string sKey) { DESCryptoServiceProvider des = new DESCryptoServiceProvider(); byte[] inputByteArray; inputByteArray = Encoding.Default.GetBytes(Text); des.Key = ASCIIEncoding.ASCII.GetBytes(GetMD5(sKey).Substring(0, 8)); des.IV = ASCIIEncoding.ASCII.GetBytes(GetMD5(sKey).Substring(0, 8)); System.IO.MemoryStream ms = new System.IO.MemoryStream(); CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write); cs.Write(inputByteArray, 0, inputByteArray.Length); cs.FlushFinalBlock(); StringBuilder ret = new StringBuilder(); foreach (byte b in ms.ToArray()) { ret.AppendFormat("{0:X2}", b); } return ret.ToString(); } #endregion #region ========解密======== /// /// 解密 /// /// /// public static string Decrypt(string Text) { return Decrypt(Text, string.Format("NJ-{0}-ZGD", DateTime.Now.ToString("yyyy-MM-dd-HH"))); } /// /// 解密数据 /// /// 密文 /// 密钥 /// public static string Decrypt(string Text, string sKey) { try { DESCryptoServiceProvider des = new DESCryptoServiceProvider(); int len; len = Text.Length / 2; byte[] inputByteArray = new byte[len]; int x, i; for (x = 0; x < len; x++) { i = Convert.ToInt32(Text.Substring(x * 2, 2), 16); inputByteArray[x] = (byte)i; } des.Key = ASCIIEncoding.ASCII.GetBytes(GetMD5(sKey).Substring(0, 8)); des.IV = ASCIIEncoding.ASCII.GetBytes(GetMD5(sKey).Substring(0, 8)); System.IO.MemoryStream ms = new System.IO.MemoryStream(); CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write); cs.Write(inputByteArray, 0, inputByteArray.Length); cs.FlushFinalBlock(); return Encoding.Default.GetString(ms.ToArray()); } catch { return null; } } #endregion } }