using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Logging; using Ropin.Inspection.Api.Common; 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 TsysUserPostController : BaseController { public ILogger<TsysUserPostController> _logger { get; } private readonly ITsysUserPostService _service; /// <summary> /// 构造函数 /// </summary> /// <param name="service"></param> /// <param name="logger"></param> public TsysUserPostController(ITsysUserPostService service, ILogger<TsysUserPostController> logger) { _service = service; _logger = logger; } /// <summary> /// 添加人员岗位 /// </summary> /// <param name="createViewModel"></param> /// <returns></returns> [Route("CreateOneAsync")] [HttpPost] public async Task<ApiResult> CreateOneAsync(TsysUserPostViewModel createViewModel) { if (createViewModel == null) { return new ApiResult(ReturnCode.ArgsError); } if (createViewModel.G_UserCode.Equals(Guid.Empty)) { throw new Exception("请选择人员"); } if (createViewModel.G_PostCode.Equals(Guid.Empty)) { throw new Exception("请选择岗位"); } try { await _service.CreateOneAsync(createViewModel); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } /// <summary> /// 通过用户ID取职位 /// </summary> /// <param name="userId"></param> /// <returns></returns> [HttpGet("GetUserPostByUserIdAsync/{id}")] public async Task<ApiResult> GetUserPostByUserIdAsync(Guid userId) { if (Guid.Empty == userId) { return new ApiResult(ReturnCode.GeneralError); } try { var post = await _service.GetUserPostsByUserIdAsync(userId); return new ApiResult<TsysUserPostViewModel>(post); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } } /// <summary> /// 删除 /// </summary> /// <param name="id"></param> /// <returns></returns> [HttpDelete("DeleteUserPostAsync/{id}")] public async Task<ApiResult> DeleteUserPostAsync(Guid id) { if (Guid.Empty == id) { return new ApiResult(ReturnCode.GeneralError); } try { await _service.DeleteAsync(id); } catch (Exception ex) { return new ApiResult(ReturnCode.GeneralError, ex.Message); } return new ApiResult(ReturnCode.Success); } } }