using System; using System.Threading.Tasks; using Infrastructure; using Microsoft.AspNetCore.Mvc; using OpenAuth.App; using OpenAuth.App.Request; using OpenAuth.App.Response; namespace OpenAuth.WebApi.Controllers { /// /// 用户操作 /// [Route("api/[controller]/[action]")] [ApiController] [ApiExplorerSettings(GroupName = "用户管理_Users")] public class UsersController : ControllerBase { private readonly UserManagerApp _app; [HttpGet] public Response Get(string id) { var result = new Response(); try { result.Result = _app.Get(id); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } /// /// 修改用户资料 /// /// /// [HttpPost] public Response ChangeProfile(ChangeProfileReq request) { var result = new Response(); try { _app.ChangeProfile(request); result.Message = "修改成功,重新登录生效"; } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } /// /// 修改密码 /// /// /// [HttpPost] public Response ChangePassword(ChangePasswordReq request) { var result = new Response(); try { _app.ChangePassword(request); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } //添加或修改 [HttpPost] public Response AddOrUpdate(UpdateUserReq obj) { var result = new Response(); try { _app.AddOrUpdate(obj); result.Result = obj.Id; //返回ID } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } /// /// 加载列表 /// 获取当前登录用户可访问的一个部门及子部门全部用户 /// [HttpGet] public async Task Load([FromQuery]QueryUserListReq request) { return await _app.Load(request); } [HttpPost] public Response Delete([FromBody]string[] ids) { var result = new Response(); try { _app.Delete(ids); } catch (Exception ex) { result.Code = 500; result.Message = ex.InnerException?.Message ?? ex.Message; } return result; } /// /// 加载指定角色的用户 /// [HttpGet] public async Task LoadByRole([FromQuery]QueryUserListByRoleReq request) { return await _app.LoadByRole(request); } /// /// 加载指定部门的用户 /// 不包含下级部门的用户 /// [HttpGet] public async Task LoadByOrg([FromQuery]QueryUserListByOrgReq request) { return await _app.LoadByOrg(request); } public UsersController(UserManagerApp app) { _app = app; } } }