571 lines
19 KiB
C#
571 lines
19 KiB
C#
using CsharpHttpHelper;
|
|
using DeviceRepair.DataAccess;
|
|
using DeviceRepair.Models;
|
|
using DeviceRepair.Utils.Security;
|
|
using Newtonsoft.Json;
|
|
using System;
|
|
|
|
namespace DeviceRepairAndOptimization.Biz
|
|
{
|
|
/// <summary>
|
|
/// 用户相关
|
|
/// </summary>
|
|
public class UserManager
|
|
{
|
|
private static UserManager manager;
|
|
public static UserManager Instance
|
|
{
|
|
get
|
|
{
|
|
if (manager == null)
|
|
manager = new UserManager();
|
|
return manager;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 用户登录
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
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;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 用户登出
|
|
/// </summary>
|
|
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);
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 验证账户密码
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
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;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 验证账户密码
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
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;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 使用默认密码重置
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
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;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 查询最后修改密码时间
|
|
/// </summary>
|
|
/// <param name="LoginCode"></param>
|
|
/// <returns></returns>
|
|
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;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取所有用户
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
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;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取用户名称及用户编号映射
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
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;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 修改
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
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;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据主键编号是插入/更新
|
|
/// </summary>
|
|
/// <param name="Item"></param>
|
|
/// <returns></returns>
|
|
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;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 判断用户名是否存在
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
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;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 通过用户主键获取当前权限
|
|
/// </summary>
|
|
/// <param name="UserAutoID"></param>
|
|
/// <returns></returns>
|
|
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;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 电子签
|
|
/// </summary>
|
|
/// <param name="userConfirm"></param>
|
|
/// <returns></returns>
|
|
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;
|
|
}
|
|
}
|
|
}
|