|
@@ -20,6 +20,9 @@ using System.IO;
|
|
|
|
|
|
namespace PMS.NetCore.Controllers
|
|
|
{
|
|
|
+ /// <summary>
|
|
|
+ /// 用户信息
|
|
|
+ /// </summary>
|
|
|
[Produces("application/json;charset=UTF-8")]
|
|
|
[Route("api/User")]
|
|
|
[ServiceFilter(typeof(Filter.TokenAuthorize))]
|
|
@@ -39,7 +42,15 @@ namespace PMS.NetCore.Controllers
|
|
|
/// 令牌获取和验证类
|
|
|
/// </summary>
|
|
|
private readonly ITokenHelper tokenHelper = null;
|
|
|
-
|
|
|
+ /// <summary>
|
|
|
+ /// 用户信息控制器
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="memoryCache"></param>
|
|
|
+ /// <param name="httpclientfactory"></param>
|
|
|
+ /// <param name="userManager"></param>
|
|
|
+ /// <param name="signInManager"></param>
|
|
|
+ /// <param name="_tokenHelper"></param>
|
|
|
+ /// <param name="configuration"></param>
|
|
|
public UserController(IMemoryCache memoryCache, IHttpClientFactory httpclientfactory, UserManager<AppUser> userManager,
|
|
|
SignInManager<AppUser> signInManager, ITokenHelper _tokenHelper,
|
|
|
IConfiguration configuration)
|
|
@@ -53,6 +64,11 @@ namespace PMS.NetCore.Controllers
|
|
|
tokenHelper = _tokenHelper;
|
|
|
}
|
|
|
|
|
|
+ /// <summary>
|
|
|
+ /// 用户登录
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="request">用户名,密码</param>
|
|
|
+ /// <returns></returns>
|
|
|
[AllowAnonymous]
|
|
|
[HttpPost]
|
|
|
[Route("")]
|
|
@@ -77,10 +93,27 @@ namespace PMS.NetCore.Controllers
|
|
|
//loginUser.IsSuccess = false;
|
|
|
if (ComparePasswords(user.Password, request.Password))
|
|
|
{
|
|
|
- //获取用户的所有角色
|
|
|
- var rolesList = new rolesManager().GetRoles(user.StaffCode);
|
|
|
- loginUser.Roles = rolesList;
|
|
|
- loginUser.User = user;
|
|
|
+ var isLock = user.IsLock == 0 ? false : true;
|
|
|
+ var isSys = user.IsSystem == 1 ? true : false;
|
|
|
+ if(!isLock||isSys)
|
|
|
+ {
|
|
|
+ //获取用户的所有角色
|
|
|
+ var rolesList = new rolesManager().GetRoles(user.StaffCode);
|
|
|
+ loginUser.Roles = rolesList;
|
|
|
+ loginUser.User = user;
|
|
|
+ loginUser.User.Password = ""; //密码不返回接口
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ var res1 = new ApiResponse
|
|
|
+ {
|
|
|
+ Code = 200,
|
|
|
+ IsSuccess = false,
|
|
|
+ ErrMsg = "帐号已被冻结"
|
|
|
+
|
|
|
+ };
|
|
|
+ return Json(res1);
|
|
|
+ }
|
|
|
|
|
|
}
|
|
|
else
|
|
@@ -100,7 +133,7 @@ namespace PMS.NetCore.Controllers
|
|
|
loginUser.License = new licenseManager().GetList().FirstOrDefault();
|
|
|
loginUser.DeptName = new deptsManager().Db.Queryable<depts>().First(m => m.DeptCode == loginUser.User.DeptCode)?.DeptName;
|
|
|
|
|
|
- //获取令牌,返回客户端
|
|
|
+ //获取令牌,返回客户端
|
|
|
Dictionary<string, string> keyValuePairs = new Dictionary<string, string>
|
|
|
{
|
|
|
{ "UserID", user.UserID }
|
|
@@ -120,6 +153,67 @@ namespace PMS.NetCore.Controllers
|
|
|
logger.Info($"【ValidateUser】登录接口输出:{JsonConvert.SerializeObject(res)}");
|
|
|
return Json(res);
|
|
|
}
|
|
|
+ /// <summary>
|
|
|
+ /// 根据用户编号获取用户所有角色
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="staffcode">用户编号</param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost]
|
|
|
+ [Route("GetRoles")]
|
|
|
+ public JsonResult GetRoles(string staffcode)
|
|
|
+ {
|
|
|
+ logger.Info($"【GetRoles】staffcode:{staffcode}");
|
|
|
+ //获取用户的所有角色
|
|
|
+ var rolesList = new rolesManager().GetRoles(staffcode);
|
|
|
+ logger.Info($"【GetRoles】rolesList:{JsonConvert.SerializeObject( rolesList)}");
|
|
|
+ return Json(rolesList);
|
|
|
+ }
|
|
|
+ /// <summary>
|
|
|
+ /// 根据用户编号获取打印权限
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="staffcode"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost]
|
|
|
+ [Route("GetPrintfiles")]
|
|
|
+ public JsonResult GetPrintfiles(string staffcode)
|
|
|
+ {
|
|
|
+ logger.Info($"【GetPrintfiles】staffcode:{staffcode}");
|
|
|
+ //获取打印权限
|
|
|
+ var printList = new rolesManager().GetPrintfiles(staffcode);
|
|
|
+ logger.Info($"【GetPrintfiles】printList:{JsonConvert.SerializeObject(printList)}");
|
|
|
+ return Json(printList);
|
|
|
+ }
|
|
|
+ /// <summary>
|
|
|
+ /// 根据用户编号获取用户消息语句权限
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="staffcode"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost]
|
|
|
+ [Route("GetMsgtypes")]
|
|
|
+ public JsonResult GetMsgtypes(string staffcode)
|
|
|
+ {
|
|
|
+ logger.Info($"【GetMsgtypes】staffcode:{staffcode}");
|
|
|
+ //获取打印权限
|
|
|
+ var msgList = new rolesManager().GetMsgtypes(staffcode);
|
|
|
+ logger.Info($"【GetMsgtypes】msgList:{JsonConvert.SerializeObject(msgList)}");
|
|
|
+ return Json(msgList);
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 根据角色ID获取用户功能模块权限
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="roleid"></param>
|
|
|
+ /// <returns></returns>
|
|
|
+ [HttpPost]
|
|
|
+ [Route("GetFuncs")]
|
|
|
+ public JsonResult GetFuncs(string roleid)
|
|
|
+ {
|
|
|
+ logger.Info($"【GetFuncs】roleid:{roleid}");
|
|
|
+ //获取打印权限
|
|
|
+ var List = new rolesManager().GetFuncs(roleid);
|
|
|
+ logger.Info($"【GetFuncs】List:{JsonConvert.SerializeObject(List)}");
|
|
|
+ return Json(List);
|
|
|
+ }
|
|
|
|
|
|
#region 比较存储在数据库中的用户密码和输入的用户密码是否一致
|
|
|
/// <summary>
|