using CallCenter.Utility; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Threading.Tasks; namespace CallCenterApi.BLL { /// /// T_Sys_UserAccount /// public partial class T_Sys_UserAccount { private readonly DAL.T_Sys_UserAccount dal = new DAL.T_Sys_UserAccount(); public T_Sys_UserAccount() { } #region BasicMethod /// /// 得到最大ID /// public int GetMaxId() { return dal.GetMaxId(); } /// /// 是否存在该记录 /// public bool Exists(int F_UserId) { return dal.Exists(F_UserId); } /// /// 增加一条数据 /// public int Add(Model.T_Sys_UserAccount model) { OutRedis(); return dal.Add(model); } /// /// 更新一条数据 /// public bool Update(Model.T_Sys_UserAccount model) { OutRedis(); return dal.Update(model); } /// /// 删除一条数据 /// public bool Delete(int F_UserId) { OutRedis(); return dal.Delete(F_UserId); } /// /// 删除一条数据 /// public bool DeleteList(string F_UserIdlist) { OutRedis(); return dal.DeleteList(F_UserIdlist); } /// /// 更新数据状态 批量 /// public bool DeleteList(string F_UserIdlist, int state) { OutRedis(); return dal.DeleteList(F_UserIdlist, state); } /// /// 根据用户code获取用户名称 /// /// /// public string GetUserName(string code) { var dt = GetRedis(); if (dt != null) { var drs = dt.Select("F_UserCode = '" + code + "'"); if (drs != null && drs.Length > 0) { return drs[0]["F_UserName"].ToString(); } else { return ""; } } else { var dt1 = dal.GetList("F_UserCode = '" + code + "'").Tables[0]; if (dt1.Rows.Count > 0) { return dt1.Rows[0]["F_UserName"].ToString(); } return ""; } } /// /// 得到一个对象实体 /// public Model.T_Sys_UserAccount GetModel(int F_UserId) { var dt = GetRedis(); if (dt != null) { var dr = dt.Select("F_UserId=" + F_UserId); if (dr != null && dr.Count() > 0) { var model = dal.DataRowToModel2(dr[0]); if (model.F_DeptId > 0) { model.depname = new T_Sys_Department().GetModel(model.F_DeptId)?.F_DeptName ?? ""; } if (model.F_RoleId > 0) { var role = new T_Sys_RoleInfo().GetModel(model.F_RoleId); if (role != null) { model.rolname = role.F_RoleName; model.F_RoleCode = role.F_RoleCode; } } if (!string.IsNullOrEmpty(model.F_SeartGroupCode)) { var group = new T_Sys_SeatGroup().GetList("F_ZXZCode='" + model.F_SeartGroupCode + "' ").Tables[0]; if (group != null && group.Rows.Count > 0) { model.zxzname = group.Rows[0]["F_ZXZName"] != null ? group.Rows[0]["F_ZXZName"].ToString() : ""; } } return model; } else { return null; } } else { return dal.GetModel(F_UserId); } // return dal.GetModel(F_UserId); } /// /// 得到一个对象实体 /// public Model.T_Sys_UserAccount GetModel(string F_UserCode) { var dt = GetRedis(); if (dt != null) { var dr = dt.Select("F_UserCode='" + F_UserCode + "'"); if (dr != null && dr.Count() > 0) { var model = dal.DataRowToModel2(dr[0]); if (model.F_DeptId > 0) { model.depname = new T_Sys_Department().GetModel(model.F_DeptId)?.F_DeptName ?? ""; } if (model.F_RoleId > 0) { var role = new T_Sys_RoleInfo().GetModel(model.F_RoleId); if (role != null) { model.rolname = role.F_RoleName; model.F_RoleCode = role.F_RoleCode; } } if (!string.IsNullOrEmpty(model.F_SeartGroupCode)) { var group = new T_Sys_SeatGroup().GetList("F_ZXZCode='" + model.F_SeartGroupCode + "' ").Tables[0]; if (group != null && group.Rows.Count > 0) { model.zxzname = group.Rows[0]["F_ZXZName"] != null ? group.Rows[0]["F_ZXZName"].ToString() : ""; } } return model; } else { return null; } } else { return dal.GetModel(F_UserCode); } //return dal.GetModel(F_UserCode); } /// /// 得到一个对象实体 /// public Model.T_Sys_UserAccount GetModelByWxOpenId(string F_UserCode) { return dal.GetModelByWxOpenId(F_UserCode); } /// /// 登录得到一个对象实体 /// public Model.T_Sys_UserAccount LoginGetModel(string F_UserCode, string F_Password) { return dal.LoginGetModel(F_UserCode, F_Password); } ///// ///// 得到一个对象实体,从缓存中 ///// //public Model.T_Sys_UserAccount GetModelByCache(int F_UserId) //{ // string CacheKey = "T_Sys_UserAccountModel-" + F_UserId; // object objModel = Maticsoft.Common.DataCache.GetCache(CacheKey); // if (objModel == null) // { // try // { // objModel = dal.GetModel(F_UserId); // if (objModel != null) // { // int ModelCache = Maticsoft.Common.ConfigHelper.GetConfigInt("ModelCache"); // Maticsoft.Common.DataCache.SetCache(CacheKey, objModel, DateTime.Now.AddMinutes(ModelCache), TimeSpan.Zero); // } // } // catch{} // } // return (Model.T_Sys_UserAccount)objModel; //} ///// ///// 获得数据列表 ///// //public DataSet GetList(string strWhere, string filedOrder = "") //{ // return dal.GetList(strWhere, filedOrder); // // return dal.GetList(strWhere, filedOrder); //} /// /// 获得数据列表 /// public DataSet GetList(string strWhere, string filedOrder = "") { var dt = GetRedis(); if (dt != null) { var ds = new DataSet(); if (string.IsNullOrEmpty(strWhere)) { ds.Tables.Add(dt.Copy()); } else { var drs = dt.Select(strWhere, filedOrder); if (drs.Length > 0) { ds.Tables.Add(drs.CopyToDataTable()); } else { ds.Tables.Add(new DataTable()); } } return ds; } else { return dal.GetList(strWhere, filedOrder); } } /// /// 获得数据列表 /// public DataSet GetListNoCache(string strWhere) { return dal.GetList(strWhere); } public DataSet GetListView(string strWhere) { return dal.GetListView(strWhere); } /// /// 获得前几行数据 /// public DataSet GetList(int Top, string strWhere, string filedOrder) { return dal.GetList(Top, strWhere, filedOrder); } /// /// 获得前几行数据 /// public DataSet GetSeatList(string strWhere, string filedOrder) { return dal.GetList(strWhere, filedOrder); } /// /// 获得数据列表 /// public List GetModelList(string strWhere, string filedOrder = "") { var dt = GetRedis(); if (dt != null) { var dtnew = new DataTable(); var drs = dt.Select(strWhere, filedOrder); if (drs.Length > 0) { dtnew = drs.CopyToDataTable(); } return DataTableToList(dtnew); } else { DataSet ds = dal.GetList(strWhere, filedOrder); return DataTableToList(ds.Tables[0]); } // DataSet ds = dal.GetList(strWhere, filedOrder); // return DataTableToList(ds.Tables[0]); } /// /// 获得数据列表 /// public List GetModelList1(string strWhere, string filedOrder = "") { var dt = GetRedis(); if (dt != null) { var dtnew = new DataTable(); var drs = dt.Select(strWhere, filedOrder); if (drs.Length > 0) { dtnew = drs.CopyToDataTable(); } return DataTableToList1(dtnew); } else { DataSet ds = dal.GetList(strWhere, filedOrder); return DataTableToList(ds.Tables[0]); } // DataSet ds = dal.GetList(strWhere, filedOrder); // return DataTableToList(ds.Tables[0]); } /// /// 获得数据列表 /// public List GetModelListNoCache(string strWhere, string filedOrder = "") { DataSet ds = dal.GetList(strWhere, filedOrder); return DataTableToList(ds.Tables[0]); } /// /// 获得数据列表 /// public List DataTableToList(DataTable dt) { List modelList = new List(); int rowsCount = dt.Rows.Count; if (rowsCount > 0) { var deptbll = new T_Sys_Department(); var rolebll = new T_Sys_RoleInfo(); var seatbll = new T_Sys_SeatGroup(); var dept = deptbll.GetModelList(""); var roles = rolebll.GetModelList(""); var seat = seatbll.GetModelList(""); Model.T_Sys_UserAccount model; for (int n = 0; n < rowsCount; n++) { model = dal.DataRowToModel2(dt.Rows[n]); if (model != null) { if (model.F_DeptId > 0) { var dept1 = dept.Where(x => x.F_DeptId == model.F_DeptId); if (dept1!=null&& dept1.Count() > 0) { model.depname = dept1.FirstOrDefault().F_DeptName ?? ""; } } if (model.F_RoleId > 0) { var role = roles.Where(x=>x.F_RoleId==model.F_RoleId); if (role != null&& role.Count() > 0) { model.rolname = role.FirstOrDefault().F_RoleName; model.F_RoleCode = role.FirstOrDefault().F_RoleCode; } } if (!string.IsNullOrEmpty(model.F_SeartGroupCode)) { var group = seat.Where(x => x.F_ZXZCode == model.F_SeartGroupCode); if (group != null && group.Count() > 0) { model.zxzname = group.FirstOrDefault().F_ZXZName != null ? group.FirstOrDefault().F_ZXZName : ""; } } modelList.Add(model); } } } return modelList; } public List DataTableToList1(DataTable dt) { List modelList = new List(); int rowsCount = dt.Rows.Count; if (rowsCount > 0) { Model.T_Sys_UserAccount model; for (int n = 0; n < rowsCount; n++) { model = dal.DataRowToModel1(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 #endregion ExtensionMethod private DataTable GetRedis() { var strList = RedisHelper2.StringGet("T_Sys_UserAccount"); if (strList != null) { return strList.ToString().ToObject(); } else { return InRedis(); } } private DataTable InRedis() { var dt = dal.GetList("").Tables[0]; RedisHelper2.StringSet("T_Sys_UserAccount", dt.ToJson(), new TimeSpan(24, 0, 0)); return dt; } private void OutRedis() { RedisHelper2.KeyDelete("T_Sys_UserAccount"); } } }