OpenAuth.Net/OpenAuth.Mvc/Controllers/UserManagerController.cs
2020-12-17 23:04:04 +08:00

152 lines
4.2 KiB
C#

using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Infrastructure;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App;
using OpenAuth.App.Interface;
using OpenAuth.App.Request;
using OpenAuth.App.Response;
namespace OpenAuth.Mvc.Controllers
{
public class UserManagerController : BaseController
{
private readonly UserManagerApp _app;
public UserManagerController(IAuth authUtil, UserManagerApp app) : base(authUtil)
{
_app = app;
}
//
// GET: /UserManager/
public ActionResult Index()
{
return View();
}
public ActionResult Profile()
{
return View();
}
public ActionResult ChangePassword()
{
return View();
}
/// <summary>
/// 修改用户资料
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public string ChangeProfile(ChangeProfileReq request)
{
try
{
_app.ChangeProfile(request);
Result.Message = "修改成功,重新登录生效";
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
/// <summary>
/// 修改密码
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public string ChangePassword(ChangePasswordReq request)
{
try
{
_app.ChangePassword(request);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
//添加或修改组织
[HttpPost]
public string AddOrUpdate(UpdateUserReq request)
{
try
{
_app.AddOrUpdate(request);
}
catch (Exception ex)
{
Result.Code = 500;
Result.Message = ex.InnerException?.Message ?? ex.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
/// <summary>
/// 加载组织下面的所有用户
/// </summary>
public async Task<string> Load([FromQuery]QueryUserListReq request)
{
var load = await _app.Load(request);
return JsonHelper.Instance.Serialize(load);
}
[HttpPost]
public string Delete(string[] ids)
{
try
{
_app.Delete(ids);
}
catch (Exception e)
{
Result.Code = 500;
Result.Message = e.InnerException?.Message ?? e.Message;
}
return JsonHelper.Instance.Serialize(Result);
}
#region
/// <summary>
/// 获取用户可访问的账号
/// </summary>
public async Task<string> GetAccessedUsers()
{
var data = await _app.Load(new QueryUserListReq());
IEnumerable<UserView> users = data.data;
var result = new Dictionary<string, object>();
foreach (var user in users)
{
var item = new
{
Account = user.Account,
RealName = user.Name,
id = user.Id,
text = user.Name,
value = user.Account,
parentId = "0",
showcheck = true,
img = "fa fa-user",
};
result.Add(user.Id, item);
}
return JsonHelper.Instance.Serialize(result);
}
#endregion
}
}