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);
}
}