using Dlhis.Basic.Organization.Filters; using Dlhis.Basic.Organization.Request; using Dlhis.Basic.Organization.Response; using Dlhis.Basic.Organization.Services; using Kurisu.AspNetCore.DataAccess.SqlSugar.Aop; using Kurisu.Core.DataAccess.Dto; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace Dlhis.Basic.MealUser.Controllers; /// /// sap档案表 /// [Authorize] [Route("api/[controller]")] [ApiController] public class GainfosController : ControllerBase { private readonly IGainfoService _gainfoService; private readonly IGainfoFaceService _gainfoFaceService; public GainfosController(IGainfoService gainfoService, IGainfoFaceService gainfoFaceService) { _gainfoService = gainfoService; _gainfoFaceService = gainfoFaceService; } /// /// 档案分页 /// /// /// [HttpPost("page")] public async Task> GetPageAsync(GainfoPageRequest request) { return await _gainfoService.GetPageAsync(request); } /// /// 档案分页(所有人) /// /// /// [HttpGet("page-all")] public async Task> GetPageByCodeAsync(string code) { return await _gainfoService.GetPageByCodeAsync(code); } /// /// 当前人员信息,余额 /// /// [HttpGet("current")] [IgnoreTenant] public async Task CurrentUserInfoAsync() { return await _gainfoService.CurrentUserInfoAsync(); } /// /// 上传人脸照片 /// /// [HttpPost("face")] [IgnoreTenant] [Transactional] public async Task UploadFaceAsync(GainfoUploadFaceRequest request) { await _gainfoService.UploadFaceAsync(request); } /// /// 上传外部人员人脸照片 /// /// [AllowAnonymous] [HttpPost("external/face")] public async Task UploadExternalFaceAsync(GainfoUploadFaceRequest request) { await _gainfoFaceService.UploadExternalFaceAsync(request); } /// /// 批量上传人脸照片 /// /// /// [HttpPost("batchface")] [IgnoreTenant] public async Task UploadFaceAsync(List request) { await _gainfoService.UploadFacesAsync(request); } /// /// 通过token获取人脸照片,失效或者找不到返回HttpStatus404状态码 /// /// /// [NotFound] [AllowAnonymous] [HttpGet("face")] public async Task GetFaceAsync(string token) { return await _gainfoService.GetFaceAsync(token); } /// /// 通过学工号获取人脸照片url地址 /// /// /// [HttpGet("face/{userCode}")] public async Task GetFaceByUserCodeAsync(string userCode) { return await _gainfoService.GetFaceByUserCodeAsync(userCode); } /// /// 批量获取人脸照片url地址 /// /// /// [IgnoreDataCase] [HttpPost("faces")] public async Task> GetFaceByUserCodesAsync(GetFaceByUserCodesRequest request) { return await _gainfoService.GetFaceByUserCodesAsync(request); } /// /// 档案列表 /// /// /// [HttpGet("list")] public async Task> GetGainfoListTaskAsync([FromQuery] GainfoListRequest request) { return await _gainfoService.GetGainfoListAsync(request); } /// /// 档案详情 /// /// /// [HttpGet("detail")] public async Task GetGainfoDetailAsync([FromQuery] GainfoDetailRequest request) { return await _gainfoService.GetGainfoDetailAsync(request); } /// /// 数据迁移 /// /// [AllowAnonymous] [HttpPost("migrations")] public async Task MigrationAsync(MigrationRequest request) { await _gainfoService.MigrationAsync(request); } /// /// 检查idno和名称是否匹配 /// /// /// [AllowAnonymous] [HttpPost("check/idnoWithName")] public async Task CheckIdNoAndNameMatchAsync(GainfoCheckIdNoAndNameRequest request) { await _gainfoService.CheckIdNoAndNameMatchAsync(request); } }