using AMREZ.EOP.Abstractions.Applications.UseCases.Payments.SlipVerification; using AMREZ.EOP.Contracts.DTOs.Payments.SlipVerification; using Microsoft.AspNetCore.Mvc; namespace AMREZ.EOP.API.Controllers; [ApiController] [Route("api/[controller]")] public class SCBController : ControllerBase { private readonly IVerifyFromImageUseCase _verifyFromImage; public SCBController(IVerifyFromImageUseCase verifyFromImage) { _verifyFromImage = verifyFromImage; } /// /// อัปโหลด "รูปสลิป" เพื่อตรวจสอบกับธนาคาร (ไม่ใช้ OCR — scan QR + heuristic) /// [HttpPost("slips/verify")] [Consumes("multipart/form-data")] [RequestSizeLimit(5_000_000)] public async Task VerifySlipFromImage( [FromForm(Name = "Image")] IFormFile? Image, [FromForm] string? OverrideSendingBank, CancellationToken ct) { if (Image is null || Image.Length == 0) return BadRequest(new { message = "Missing slip image" }); var res = await _verifyFromImage.ExecuteAsync(new VerifyFromImageRequest { Image = Image, OverrideSendingBank = OverrideSendingBank }, ct); if (res is null) return NotFound(new { message = "Cannot extract transRef or verification failed" }); return Ok(res); } }