103 lines
3.2 KiB
C#
103 lines
3.2 KiB
C#
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text.Json;
|
|
using RIZO.Server.IService;
|
|
using RIZO.Server.IConfiguration;
|
|
using RIZO.Server.Models;
|
|
|
|
namespace RIZO.Server.Start.Controllers
|
|
{
|
|
//EFCoreContext
|
|
[Route("api/[controller]")]
|
|
[ApiController]
|
|
public class UserController : Controller
|
|
{
|
|
ILoginService _loginService;
|
|
IMenuService _menuService;
|
|
IUserService _userService;
|
|
IUtils _utils;
|
|
public UserController(ILoginService loginService, IMenuService menuService, IUserService userService, IUtils utils)
|
|
{
|
|
_loginService = loginService;
|
|
_menuService = menuService;
|
|
_userService = userService;
|
|
_utils = utils;
|
|
}
|
|
[HttpPost]
|
|
[Route("login")]
|
|
public IActionResult Login([FromForm] string username, [FromForm] string password)
|
|
{
|
|
// string pwd = _utils.GetMD5Str(_utils.GetMD5Str(password) + "|" + username);
|
|
string pwd = password;
|
|
var users = _loginService.Query<SysUserInfo>(u => u.UserName == username && u.Password == pwd);
|
|
|
|
if (users?.Count() > 0)
|
|
{
|
|
var userInfo = users.ToList();
|
|
SysUserInfo sysUserInfo = userInfo[0];
|
|
|
|
// 菜单
|
|
// 需要进行权限管理
|
|
// menu<->role_menu<->role<->role_user<->user
|
|
List<MenuInfo> menus = _menuService.GetMenusByUserId(sysUserInfo.UserId);
|
|
sysUserInfo.Menus = menus;
|
|
|
|
return Ok(sysUserInfo);
|
|
}
|
|
else
|
|
{
|
|
return NoContent();
|
|
}
|
|
}
|
|
|
|
//[HttpGet]
|
|
//[Route("test")]
|
|
//public ActionResult Test([FromQuery] string userid, [FromQuery] string startdate, [FromQuery] string enddate)
|
|
//{
|
|
|
|
// return Ok();
|
|
//}
|
|
[HttpGet]
|
|
[Route("all")]
|
|
public IActionResult GetUsers()
|
|
{
|
|
return Ok(_userService.Query<SysUserInfo>(u => true));
|
|
}
|
|
|
|
|
|
//private string GetMd5Str(string inputStr)
|
|
//{
|
|
// if (string.IsNullOrEmpty(inputStr)) return "";
|
|
|
|
// byte[] result = Encoding.Default.GetBytes(inputStr); //tbPass为输入密码的文本框
|
|
// MD5 md5 = new MD5CryptoServiceProvider();
|
|
// byte[] output = md5.ComputeHash(result);
|
|
// return BitConverter.ToString(output).Replace("-", ""); //tbMd5pass为输出加密文本的文本框
|
|
//}
|
|
|
|
[HttpGet("roles/{userId}")]
|
|
public JsonResult GetRolesByUserId(int userId)
|
|
{
|
|
return Json(_userService.GetRolesByUserId(userId));
|
|
}
|
|
|
|
[HttpPost]
|
|
[Route("resetpwd")]
|
|
public IActionResult ResetPassword([FromForm] IFormCollection form)
|
|
{
|
|
_userService.ResetPassword(int.Parse(form["userId"]));
|
|
return Ok();
|
|
}
|
|
|
|
[HttpPost]
|
|
[Route("save")]
|
|
public IActionResult UpdateUserInfo([FromBody] JsonElement data)
|
|
{
|
|
_userService.SaveUser(data.ToString());
|
|
return Ok(data);
|
|
}
|
|
}
|
|
}
|