using CsharpHttpHelper; using DeviceRepair.DataAccess; using DeviceRepair.Models; using DeviceRepair.Utils.Security; using Newtonsoft.Json; using System; namespace DeviceRepairAndOptimization.Biz { /// /// 用户相关 /// public class UserManager { private static UserManager manager; public static UserManager Instance { get { if (manager == null) manager = new UserManager(); return manager; } } /// /// 用户登录 /// /// /// public APIResponseData GetDataByCodeAndPwd(UserInfoModel model) { APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = "登录失败!" }; try { switch (DeviceRepair.Utils.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": apiResponseData = ApiHelper.Instance.SendMessage(new HttpItem { URL = ServiceRouteConstValue.UserLogin, Method = "Post", ContentType = "application/json;charset=utf-8", Postdata = JsonConvert.SerializeObject(model) }); break; default: apiResponseData = UserAccess.Instance.GetLoginEntity(model.LoginCode, model.PassWord, GlobalInfo.OperationInfo); break; } return apiResponseData; } catch (Exception ex) { apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } return apiResponseData; } /// /// 用户登出 /// public void LogOut() { try { switch (DeviceRepair.Utils.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": ApiHelper.Instance.SendMessage(new HttpItem { URL = ServiceRouteConstValue.LogOut, Method = "Post", ContentType = "application/json;charset=utf-8", }); break; default: UserAccess.Instance.LogOut(GlobalInfo.OperationInfo); break; } } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); } } /// /// 验证账户密码 /// /// /// public APIResponseData ValidePassWord(string LoginCode, string PassWord) { APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = "账户或密码不正确!" }; try { switch (DeviceRepair.Utils.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": #region api apiResponseData = ApiHelper.Instance.SendMessage(new HttpItem { URL = $"{ServiceRouteConstValue.ValidePassWord}?LoginCode={LoginCode}&PassWord={PassWord}", Method = "Post", ContentType = "application/x-www-form-urlencoded", }); #endregion break; case "sql": #region sql apiResponseData = UserAccess.Instance.ValidePassWord(LoginCode, PassWord); #endregion break; default: break; } } catch (Exception ex) { apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } return apiResponseData; } /// /// 验证账户密码 /// /// /// public APIResponseData UpdateUserPassword(string LoginCode, string PassWord) { APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = "账户或密码不正确!" }; try { switch (DeviceRepair.Utils.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": #region api apiResponseData = ApiHelper.Instance.SendMessage(new HttpItem { URL = $"{ServiceRouteConstValue.UpdateUserPassword}?LoginCode={LoginCode}&PassWord={PassWord}", Method = "Post", ContentType = "application/x-www-form-urlencoded", }); #endregion break; case "sql": #region sql apiResponseData = UserAccess.Instance.UpdateUserPassword(LoginCode, PassWord, GlobalInfo.OperationInfo); #endregion break; default: break; } } catch (Exception ex) { apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } return apiResponseData; } /// /// 使用默认密码重置 /// /// /// public APIResponseData ReprovisionDefaultPassword(string LoginCode, string PassWord = "", bool UserDefalutPwd = true) { APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = "账户或密码不正确!" }; try { switch (DeviceRepair.Utils.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": #region api apiResponseData = ApiHelper.Instance.SendMessage(new HttpItem { URL = $"{ServiceRouteConstValue.ReprovisionDefaultPassword}?LoginCode={EncryptionHelper.UrlEncry(LoginCode)}&PassWord={PassWord}", Method = "Post", ContentType = "application/x-www-form-urlencoded", }); #endregion break; case "sql": #region sql apiResponseData = UserAccess.Instance.ReprovisionDefaultPassword(LoginCode, GlobalInfo.OperationInfo, PassWord, UserDefalutPwd); #endregion break; default: break; } } catch (Exception ex) { apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } return apiResponseData; } /// /// 查询最后修改密码时间 /// /// /// public APIResponseData CheckChangePwdDate(string LoginCode) { APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = "账户或密码不正确!" }; try { switch (DeviceRepair.Utils.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": #region api apiResponseData = ApiHelper.Instance.SendMessage(new HttpItem { URL = $"{ServiceRouteConstValue.CheckChangePwdDate}?LoginCode={LoginCode}", Method = "Get", ContentType = "application/x-www-form-urlencoded", }); #endregion break; case "sql": #region sql apiResponseData = UserAccess.Instance.CheckChangePwdDate(LoginCode); #endregion break; default: break; } } catch (Exception ex) { apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } return apiResponseData; } /// /// 获取所有用户 /// /// public APIResponseData GetAllUsers() { APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = "没有查询到数据!" }; try { switch (DeviceRepair.Utils.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": #region api apiResponseData = ApiHelper.Instance.SendMessage(new HttpItem { URL = ServiceRouteConstValue.GetAllUsers, Method = "Get", ContentType = "application/json; charset=utf-8" }); #endregion break; case "sql": #region sql apiResponseData = UserAccess.Instance.GetAllUsers(); #endregion break; default: break; } } catch (Exception ex) { apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } return apiResponseData; } /// /// 获取用户名称及用户编号映射 /// /// public APIResponseData GetUserMapping() { APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = "没有查询到数据!" }; try { switch (DeviceRepair.Utils.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": #region api apiResponseData = ApiHelper.Instance.SendMessage(new HttpItem { URL = ServiceRouteConstValue.GetUserMapping, Method = "Get", ContentType = "application/json; charset=utf-8" }); #endregion break; case "sql": #region sql apiResponseData = UserAccess.Instance.GetUserMapping(); #endregion break; default: break; } } catch (Exception ex) { apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } return apiResponseData; } /// /// 修改 /// /// /// public APIResponseData Update(UserInfoModel Item) { APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = "操作失败!" }; try { Item.ModifyBy = GlobalInfo.CurrentUser.AutoID; switch (DeviceRepair.Utils.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": #region api apiResponseData = ApiHelper.Instance.SendMessage(new HttpItem { URL = ServiceRouteConstValue.EditUser, Method = "Post", ContentType = "application/json;charset=utf-8", Postdata = JsonConvert.SerializeObject(Item) }); #endregion break; case "sql": #region sql apiResponseData = UserAccess.Instance.Update(Item, GlobalInfo.OperationInfo); #endregion break; default: break; } } catch (Exception ex) { apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } return apiResponseData; } /// /// 根据主键编号是插入/更新 /// /// /// public APIResponseData InsertOrEdit(UserInfoModel Item) { APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = "操作失败!" }; try { Item.ModifyBy = GlobalInfo.CurrentUser.AutoID; switch (DeviceRepair.Utils.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": #region api apiResponseData = ApiHelper.Instance.SendMessage(new HttpItem { URL = ServiceRouteConstValue.InsertOrEdit, Method = "Post", ContentType = "application/json;charset=utf-8", Postdata = JsonConvert.SerializeObject(Item) }); #endregion break; case "sql": #region sql apiResponseData = UserAccess.Instance.InsertOrEdit(Item, GlobalInfo.OperationInfo); #endregion break; default: break; } } catch (Exception ex) { apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } return apiResponseData; } /// /// 判断用户名是否存在 /// /// /// public APIResponseData ExistLoginCode(string LoginCode) { APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = "账户或密码不正确!" }; try { switch (DeviceRepair.Utils.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": #region api apiResponseData = ApiHelper.Instance.SendMessage(new HttpItem { URL = $"{ServiceRouteConstValue.ExistLoginCode}?LoginCode={LoginCode}", Method = "Get", ContentType = "application/x-www-form-urlencoded", }); #endregion break; case "sql": #region sql apiResponseData = UserAccess.Instance.ExistLoginCode(LoginCode); #endregion break; default: break; } } catch (Exception ex) { apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } return apiResponseData; } /// /// 通过用户主键获取当前权限 /// /// /// public APIResponseData GetUserAuthsByUserID(int UserAutoID) { APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = "没有查询到数据!" }; try { switch (DeviceRepair.Utils.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": apiResponseData = ApiHelper.Instance.SendMessage(new HttpItem { URL = $"{ServiceRouteConstValue.GetUserAuthsByUserID}?UserAutoID={UserAutoID}", Method = "Get", ContentType = "application/json; charset=utf-8", }, false); break; case "sql": apiResponseData = RoleAccess.Instance.GetUserAuthsByUserID(UserAutoID); break; default: break; } } catch (Exception ex) { apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } return apiResponseData; } /// /// 电子签 /// /// /// public APIResponseData UserConfirm(DeviceRepair.Models.History.UserConfirmHistory userConfirm) { APIResponseData apiResponseData = new APIResponseData { Code = -1, Message = "电子签接口调用出错!" }; try { switch (DeviceRepair.Utils.Config.Configurations.Properties.ConnType?.ToLower()) { case "api": apiResponseData = ApiHelper.Instance.SendMessage(new HttpItem { URL = $"{ServiceRouteConstValue.User_Set_Comfirm}", Method = "Post", ContentType = "application/json; charset=utf-8", Postdata = JsonConvert.SerializeObject(userConfirm) }); break; case "sql": apiResponseData = UserAccess.Instance.UserConfirm(userConfirm, GlobalInfo.OperationInfo); break; default: break; } } catch (Exception ex) { apiResponseData.Code = -1; apiResponseData.Message = ex.Message; } return apiResponseData; } } }