| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- using Admin.NET.Plugin.AiDOP.Const.S8;
- using Admin.NET.Plugin.AiDOP.Infrastructure;
- using Admin.NET.Plugin.AiDOP.Infrastructure.S8;
- using Admin.NET.Plugin.AiDOP.Service.S8;
- namespace Admin.NET.Plugin.AiDOP.Controllers.S8;
- /// <summary>
- /// S8 主数据下拉:优先复用 S0 已落库主数据语义(部门等),无则返回空列表,不把「下拉查询」误建成独立业务表。
- ///
- /// <para><b>S8-P0-3-MASTERDATA-TRUSTED-SCOPE-1</b>:本控制器原先是 KNOWN-ISSUES I-001 里
- /// 「6 个未接入可信作用域解析」之一。<c>GET /master-data/employees?factoryRefId=<任意工厂></c>
- /// 实测可返回 500 条其它租户员工的工号与真实姓名,现已接入 <see cref="S8TrustedScopeResolver"/>。</para>
- ///
- /// <para><b>入参语义</b>:<c>factoryRefId</c> 已从所有 Action 签名移除;客户端继续携带也不产生授权效果。</para>
- /// </summary>
- [ApiController]
- [Route("api/aidop/s8/master-data")]
- [NonUnify]
- public class AdoS8MasterDataController : ControllerBase
- {
- private readonly S8MasterDataAdapter _svc;
- private readonly S8TrustedScopeResolver _scope;
- public AdoS8MasterDataController(S8MasterDataAdapter svc, S8TrustedScopeResolver scope)
- {
- _svc = svc;
- _scope = scope;
- }
- [HttpGet("departments")]
- [S8Permission(S8PermissionCatalog.ExceptionRead)]
- public async Task<IActionResult> DepartmentsAsync()
- {
- try { return Ok(await _svc.GetDepartmentsAsync(await _scope.ResolveAsync())); }
- catch (S8BizException ex) { return BadRequest(new { message = ex.Message }); }
- }
- [HttpGet("employees")]
- [S8Permission(S8PermissionCatalog.ExceptionRead)]
- public async Task<IActionResult> EmployeesAsync()
- {
- try { return Ok(await _svc.GetEmployeesAsync(await _scope.ResolveAsync())); }
- catch (S8BizException ex) { return BadRequest(new { message = ex.Message }); }
- }
- [HttpGet("lines")]
- [S8Permission(S8PermissionCatalog.ExceptionRead)]
- public async Task<IActionResult> LinesAsync()
- {
- try { return Ok(await _svc.GetLinesAsync(await _scope.ResolveAsync())); }
- catch (S8BizException ex) { return BadRequest(new { message = ex.Message }); }
- }
- }
|