123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310 |
- using AutoMapper;
- using Microsoft.AspNetCore.Authorization;
- using Microsoft.AspNetCore.Http;
- using Microsoft.AspNetCore.JsonPatch;
- using Microsoft.AspNetCore.Mvc;
- using Microsoft.Extensions.Logging;
- using Newtonsoft.Json;
- using Ropin.Inspection.Api.Common;
- using Ropin.Inspection.Model;
- using Ropin.Inspection.Model.SearchModel;
- using Ropin.Inspection.Model.ViewModel;
- using Ropin.Inspection.Service.Interface;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Threading.Tasks;
- namespace Ropin.Inspection.Api.Controllers
- {
- /// <summary>
- /// 系统用户
- /// </summary>
- public class TsysUserController : BaseController
- {
- public ILogger<TsysUserController> _logger { get; }
- private readonly ITsysUserService _tsysUserService;
- /// <summary>
- /// 构造函数
- /// </summary>
- /// <param name="tsysUserService"></param>
- /// <param name="logger"></param>
- public TsysUserController(ITsysUserService tsysUserService, ILogger<TsysUserController> logger)
- {
- _tsysUserService = tsysUserService;
- _logger = logger;
- }
- /// <summary>
- /// 通过用户ID获取用户信息
- /// </summary>
- /// <param name="userId"></param>
- /// <returns></returns>
- [HttpGet("GetUserAsync/{userId}")]
- public async Task<ApiResult> GetUserAsync(Guid userId)
- {
- if (Guid.Empty == userId)
- {
- return new ApiResult(ReturnCode.GeneralError);
- }
- try
- {
- var user = await _tsysUserService.GetByIdAsync(userId);
- return new ApiResult<TsysUserViewModel>(user);
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- /// <summary>
- /// 通过用户ID获取用户详细信息,包含角色,组织架构
- /// </summary>
- /// <param name="userId"></param>
- /// <returns></returns>
- [AllowAnonymous]
- [HttpGet("GetByUserIdAsync/{userId}")]
- public async Task<ApiResult> GetByUserIdAsync(Guid userId)
- {
- if (Guid.Empty == userId)
- {
- return new ApiResult(ReturnCode.GeneralError);
- }
- try
- {
- var user = await _tsysUserService.GetByUserIdAsync(userId);
- return new ApiResult<TsysUserDetailWithOrgRoleViewModel>(user);
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- /// <summary>
- /// 获取所有用户
- /// </summary>
- /// <returns></returns>
- [HttpGet("GetUsersAsync")]
- public async Task<ApiResult> GetUsersAsync()
- {
- try
- {
- var userList = await _tsysUserService.GetAllAsync();
- return new ApiResult<IEnumerable<TsysUserViewModel>>(userList);
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- /// <summary>
- /// 创建用户
- /// </summary>
- /// <param name="user"></param>
- /// <returns></returns>
- [Route("CreateUserAsync")]
- [HttpPost]
- public async Task<ApiResult> CreateUserAsync([FromBody] TsysUserCreateViewModel user)
- {
- if (user == null)
- {
- return new ApiResult(ReturnCode.ArgsError);
- }
- try
- {
- await _tsysUserService.CreateOneAsync(user);
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError,ex.Message);
- }
- return new ApiResult(ReturnCode.Success);
- }
- /// <summary>
- /// 删除用户
- /// </summary>
- /// <param name="userId"></param>
- /// <returns></returns>
- [HttpDelete("DeleteUserAsync/{userId}")]
- public async Task<ApiResult> DeleteUserAsync(Guid userId)
- {
- if (Guid.Empty == userId)
- {
- return new ApiResult(ReturnCode.GeneralError);
- }
- try
- {
- await _tsysUserService.DeleteAsync(userId);
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- return new ApiResult(ReturnCode.Success);
- }
- /// <summary>
- /// 更新用户
- /// </summary>
- /// <param name="userId"></param>
- /// <param name="updateUser"></param>
- /// <returns></returns>
- [HttpPut("UpdateUserAsync/{userId}")]
- public async Task<ApiResult> UpdateUserAsync(Guid userId, TsysUserUpdateViewModel updateUser)
- {
- if (Guid.Empty == userId)
- {
- return new ApiResult(ReturnCode.GeneralError);
- }
- try
- {
- await _tsysUserService.UpdateUserAsync(userId, updateUser);
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- return new ApiResult(ReturnCode.Success);
- }
- ///// <summary>
- ///// 部分更新用户
- ///// </summary>
- ///// <param name="userId"></param>
- ///// <param name="patchDocument"></param>
- ///// <returns></returns>
- //[HttpPatch("ParticallyUpdateUserAsync/{userId}")]
- //public async Task<ApiResult> ParticallyUpdateUserAsync(Guid userId, JsonPatchDocument<TsysUserUpdateViewModel> patchDocument)
- //{
- // if (Guid.Empty == userId)
- // {
- // return new ApiResult(ReturnCode.GeneralError);
- // }
- // try
- // {
- // await _tsysUserService.UpdateUserAsync(userId, patchDocument);
- // }
- // catch (Exception ex)
- // {
- // return new ApiResult(ReturnCode.GeneralError, ex.Message);
- // }
- //}
- /// <summary>
- /// 条件查询用户
- /// </summary>
- /// <param name="searchViewModel"></param>
- /// <returns></returns>
- [Route("GetUsersByAsync")]
- [HttpPost]
- public async Task<ApiResult> GetByAsync(TsysUserSearchModel searchViewModel)
- {
- try
- {
- var list = await _tsysUserService.GetByAsync(searchViewModel);
- return new ApiResult<PagesModel<TsysUserViewModel>>(new PagesModel<TsysUserViewModel>(list, searchViewModel));
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- /// <summary>
- /// 根据用户名等信息查询用户
- /// </summary>
- /// <param name="searchModel"></param>
- /// <returns></returns>
- [Route("GetByNameAsync")]
- [HttpPost]
- public async Task<ApiResult> GetByNameAsync(TsysUserSearchByNameModel searchModel)
- {
- try
- {
- var list = await _tsysUserService.GetByNameAsync(searchModel);
- return new ApiResult<PagesModel<TsysUserDetailWithOrgRoleViewModel>>(new PagesModel<TsysUserDetailWithOrgRoleViewModel>(list, searchModel));
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- /// <summary>
- /// 通过网点Code取关联的用户
- /// </summary>
- /// <param name="storeCode"></param>
- /// <returns></returns>
- [Route("GetByStoreCodeAsync/{storeCode}")]
- [HttpPost]
- public async Task<ApiResult> GetByStoreCodeAsync(string storeCode)
- {
- if (string.IsNullOrEmpty(storeCode))
- {
- return new ApiResult(ReturnCode.ArgsError);
- }
- try
- {
- var list = await _tsysUserService.GetByStoreCodeAsync(storeCode);
- return new ApiResult<IEnumerable<TsysUserViewModel>>(list);
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- /// <summary>
- /// 修改自己的密码
- /// </summary>
- /// <param name="userId">修改用户ID</param>
- /// <param name="passwordModel">密码Model</param>
- /// <returns></returns>
- [HttpPut("ChangePasswordAsync/{userId}")]
- public async Task<ApiResult> ChangePasswordAsync(Guid userId, [FromBody] ChangePasswordModel passwordModel)
- {
- try
- {
- await _tsysUserService.ChangePasswordAsync(userId, passwordModel);
- return new ApiResult(ReturnCode.Success, "修改密码成功");
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- /// <summary>
- /// 密码重置
- /// </summary>
- /// <param name="userId"></param>
- /// <returns></returns>
- [HttpPut("ResetPasswordAsync/{userId}")]
- public async Task<ApiResult> ResetPasswordAsync(Guid userId)
- {
- try
- {
- await _tsysUserService.ResetPasswordAsync(userId);
- return new ApiResult(ReturnCode.Success, "修改重置成功");
- }
- catch (Exception ex)
- {
- return new ApiResult(ReturnCode.GeneralError, ex.Message);
- }
- }
- /// <summary>
- /// 查看是否绑定过微信公众号
- /// </summary>
- /// <returns></returns>
- [HttpGet("IsNeedAuth")]
- public async Task<ApiResult> IsNeedAuth()
- {
- var result = await _tsysUserService.IsNeedAuth();
- return new ApiResult<bool>(result, ReturnCode.Success);
- }
- /// <summary>
- /// 绑定微信公众号
- /// </summary>
- /// <param name="openId"></param>
- /// <returns></returns>
- [HttpGet("SetOpenId/{openId}")]
- public async Task<ApiResult> SetOpenId(string openId)
- {
- var result = await _tsysUserService.SetOpenId(openId);
- return new ApiResult<bool>(result, ReturnCode.Success);
- }
- }
- }
|