using CsharpHttpHelper; using DeviceRepairAndOptimization.Models; using DeviceRepairAndOptimization.Utils; using Newtonsoft.Json; using System; using System.Collections.Generic; namespace DeviceRepairAndOptimization.Data { /// /// 用户信息数据交互对象 /// public class UserInfoDataMaintenance { private static UserInfoDataMaintenance manager; public static UserInfoDataMaintenance Instance { get { if (manager == null) manager = new UserInfoDataMaintenance(); return manager; } } /// /// 获取全部数据 /// /// public List GetAll() { List lst = null; try { switch (Models.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": #region api APIResponseData result = ApiHelper.Instance.SendMessage(new HttpItem { URL = ServiceRoute.GetAllUserInfo, Method = "Post", ContentType = "application/json; charset=utf-8" }); if (result.Code == 1) { lst = JsonConvert.DeserializeObject>(result.Data + ""); } else { throw new Exception(result.Message); } #endregion break; case "sql": #region sql lst = UserInfoAccess.Instance().GetAll(); #endregion break; default: break; } } catch (Exception ex) { throw ex; } return lst; } /// /// 通过用户名查询用户信息 /// /// /// public UserInfoModel GetDataByLoginCode(string LoginCode) { UserInfoModel entity = null; try { if (string.IsNullOrWhiteSpace(LoginCode)) return entity; switch (Models.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": #region api APIResponseData result = ApiHelper.Instance.SendMessage(new HttpItem { URL = ServiceRoute.GetUserByLoginCode, Method = "Post", ContentType = "application/json; charset=utf-8", Postdata = JsonConvert.SerializeObject(new { logincode = LoginCode }) }); if (result.Code == 1) { entity = JsonConvert.DeserializeObject(result.Data + ""); } else { throw new Exception(result.Message); } #endregion break; case "sql": #region sql entity = UserInfoAccess.Instance().GetDataByLoginCode(LoginCode); break; #endregion default: break; } } catch (Exception ex) { throw ex; } return entity; } /// /// 用户登录 /// /// /// public APIResponseData GetDataByCodeAndPwd(UserInfoModel model) { APIResponseData result = new APIResponseData { Code = -1, Message = "登录失败!" }; UserInfoModel us = null; try { if (!model.IsValid()) return new APIResponseData { Code = -1, Message = "用户名或密码不允许为空!" }; switch (Models.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": #region api result = ApiHelper.Instance.SendMessage(new HttpItem { URL = ServiceRoute.UserLogin, Method = "Post", ContentType = "application/json;charset=utf-8", Postdata = JsonConvert.SerializeObject(model.ToArrayAndCompress()) }); us = JsonConvert.DeserializeObject(result.Data + ""); #endregion break; case "sql": #region sql UserInfoModel m = UserInfoAccess.Instance().GetDataByCodeAndPwd(model.LoginCode, model.PassWord); #endregion break; default: break; } if (us != null) { if (!us.Status) { result.Code = -1; result.Message = $"用户被锁定,无法登录!"; return result; } //GlobalInfo.CurrentUser = us; } if (!string.IsNullOrEmpty(result.Token)) GlobalInfo.token = result.Token; return new APIResponseData { Code = 1 }; } catch (Exception ex) { result.Code = -1; result.Message = ex.Message; } return result; } /// /// 验证账户密码 /// /// /// public APIResponseData ValidePassWord(UserInfoModel model) { APIResponseData result = new APIResponseData { Code = -1, Message = "账户或密码不正确!" }; try { if (!model.IsValid()) return new APIResponseData { Code = -1, Message = "用户名或密码不允许为空!" }; switch (Models.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": #region api result = ApiHelper.Instance.SendMessage(new HttpItem { URL = ServiceRoute.ValidePassWord, Method = "Post", ContentType = "application/json;charset=utf-8", Postdata = JsonConvert.SerializeObject(model.ToArrayAndCompress()) }); #endregion break; case "sql": #region sql result = UserInfoAccess.Instance().ValidePassWord(model); #endregion break; default: break; } } catch (Exception ex) { result.Code = -1; result.Message = ex.Message; } return result; } /// /// 锁定/解锁 用户 /// /// /// public APIResponseData UpdateUserStatus(UserInfoModel model) { APIResponseData result = new APIResponseData { Code = -1, Message = "操作失败!" }; try { switch (Models.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": #region api result = ApiHelper.Instance.SendMessage(new HttpItem { URL = ServiceRoute.UpdateUserStatus, Method = "Post", ContentType = "application/json;charset=utf-8", Postdata = JsonConvert.SerializeObject(model.ToArrayAndCompress()) }); #endregion break; case "sql": #region sql result = UserInfoAccess.Instance().UpdateUserStatus(model); #endregion break; default: break; } } catch (Exception ex) { result.Code = -1; result.Message = ex.Message; } return result; } /// /// 修改账户密码 /// /// /// public APIResponseData UpdateUserPassword(UserInfoModel model) { APIResponseData result = new APIResponseData { Code = -1, Message = "操作失败!" }; try { if (!model.IsValid()) return new APIResponseData { Code = -1, Message = "用户名或密码不允许为空!" }; switch (Models.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": #region api result = ApiHelper.Instance.SendMessage(new HttpItem { URL = ServiceRoute.UpdateUserPassword, Method = "Post", ContentType = "application/json;charset=utf-8", Postdata = JsonConvert.SerializeObject(model.ToArrayAndCompress()) }); #endregion break; case "sql": #region sql result = UserInfoAccess.Instance().UpdateUserPassword(model); #endregion break; default: break; } } catch (Exception ex) { result.Code = -1; result.Message = ex.Message; } return result; } /// /// 根据主键编号是插入/更新 /// /// /// public APIResponseData InsertOrEdit(UserInfoModel model) { APIResponseData result = new APIResponseData { Code = -1, Message = "操作失败!" }; try { //if (!model.IsValid()) // return new APIResponseData { Code = -1, Message = "用户名或密码不允许为空!" }; switch (Models.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": #region api result = ApiHelper.Instance.SendMessage(new HttpItem { URL = ServiceRoute.InsertOrEdit, Method = "Post", ContentType = "application/json;charset=utf-8", Postdata = JsonConvert.SerializeObject(model.ToArrayAndCompress()) }); #endregion break; case "sql": #region sql result = UserInfoAccess.Instance().InsertOrEdit(model); #endregion break; default: break; } } catch (Exception ex) { result.Code = -1; result.Message = ex.Message; } return result; } /// /// 根据角色编号查询用户 /// /// /// public APIResponseData GetUserByRoleID(int RoleID) { APIResponseData result = new APIResponseData { Code = -1 }; try { switch (Models.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": #region api result = ApiHelper.Instance.SendMessage(new HttpItem { URL = ServiceRoute.GetUserByRoleID, Method = "Post", ContentType = "application/json; charset=utf-8", Postdata = JsonConvert.SerializeObject(new { RoleID = RoleID }) }); if (result.Code == 1) { result.Data = JsonConvert.DeserializeObject>(result.Data + ""); } else { throw new Exception(result.Message); } #endregion break; case "sql": #region sql result = UserInfoAccess.Instance().GetUserByRoleID(RoleID); break; #endregion default: break; } } catch (Exception ex) { result.Code = -1; result.Message = ex.Message; } return result; } } }