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(); } /// /// 修改用户资料 /// /// /// [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); } /// /// 修改密码 /// /// /// [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); } /// /// 加载组织下面的所有用户 /// public async Task 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 获取权限数据 /// /// 获取用户可访问的账号 /// public async Task GetAccessedUsers() { var data = await _app.Load(new QueryUserListReq()); IEnumerable users = data.data; var result = new Dictionary(); 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 } }