using Dlhis.Basic.Organization.Filters; using Dlhis.Basic.Organization.Request; using Dlhis.Basic.Organization.Response; using Dlhis.Basic.Organization.Services; using Kurisu.AspNetCore.MVC; using Kurisu.Core.DataAccess.Dto; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace Dlhis.Basic.MealUser.Controllers; /// /// sap档案表 /// [Authorize] [ApiDefinition("SAP", Description = "晶科sap组织架构信息")] [Route("api/[controller]")] [ApiController] public class GainfosController : ControllerBase { private readonly IGainfoService _gainfoService; public GainfosController(IGainfoService gainfoService) { _gainfoService = gainfoService; } /// /// 档案表保存 /// /// /// [HttpPost("save")] public async Task SaveAsync(List requests) { await _gainfoService.SaveAsync(requests); } /// /// 档案分页 /// /// /// [HttpGet("page")] public async Task> GetPageAsync([FromQuery] GainfoPageRequest request) { return await _gainfoService.GetPageAsync(request); } /// /// 档案表修改 /// /// /// [HttpPut("update")] public async Task UpdateAsync(GainfoSaveRequest request) { await _gainfoService.UpdateAsync(request); } /// /// 离职 /// /// /// [HttpPost("dimission")] public async Task DimissionAsync(GainfoDimissionRequest request) { await _gainfoService.DimissionAsync(request); } /// /// 入职 /// /// /// [HttpPost("onboarding")] public async Task OnboardingAsync(GainfoDimissionRequest request) { await _gainfoService.OnboardingAsync(request); } /// /// 当前人员信息 /// /// [HttpGet("current")] public async Task CurrentUserInfoAsync() { return await _gainfoService.CurrentUserInfoAsync(); } /// /// 上传人脸头像 /// /// [HttpPost("face")] public async Task UploadFaceAsync(GainfoUploadFaceRequest request) { await _gainfoService.UploadFaceAsync(request); } /// /// 获取人脸照片 /// /// /// [NotFound] [AllowAnonymous] [HttpGet("face")] public async Task GetFaceAsync(string token) { return await _gainfoService.GetFaceAsync(token); } /// /// 获取人脸照片 /// /// /// [HttpGet("face/{userCode}")] public async Task GetFaceByUserCodeAsync(string userCode) { return await _gainfoService.GetFaceByUserCodeAsync(userCode); } }