Aggiunta cloning offerta!!!!!!!
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
using EgwCoreLib.Lux.Core.RestPayload;
|
||||
using EgwCoreLib.Lux.Data;
|
||||
using EgwCoreLib.Lux.Data.DbModel.Config;
|
||||
using EgwCoreLib.Lux.Data.Services;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.AspNetCore.SignalR;
|
||||
using NLog;
|
||||
using System.Diagnostics;
|
||||
|
||||
namespace Lux.API.Controllers
|
||||
{
|
||||
[Route("api/[controller]")]
|
||||
[ApiController]
|
||||
public class ProdController : ControllerBase
|
||||
{
|
||||
#region Public Constructors
|
||||
|
||||
public ProdController(IConfiguration config, IRedisService redisService, ImageCacheService imgServ)
|
||||
{
|
||||
_config = config;
|
||||
_redisService = redisService;
|
||||
chPub = _config.GetValue<string>("ServerConf:ChannelPub") ?? "";
|
||||
}
|
||||
|
||||
#endregion Public Constructors
|
||||
|
||||
#region Public Methods
|
||||
|
||||
/// <summary>
|
||||
/// Chiamata GET: test status alive
|
||||
/// GET: api/Prod/alive
|
||||
/// </summary>
|
||||
/// <param name="id">id oggetto</param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("alive")]
|
||||
public async Task<IActionResult> Alive()
|
||||
{
|
||||
Stopwatch sw = new Stopwatch();
|
||||
sw.Start();
|
||||
await Task.Delay(1);
|
||||
sw.Stop();
|
||||
Log.Info($"Alive | {sw.Elapsed.TotalMilliseconds:N3} ms");
|
||||
return Ok("OK");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Chiamata GET:
|
||||
/// - elenco delle richieste di stima da eseguire
|
||||
/// - vengono registrate come "passate" al calcolo alla data-ora della richiesta
|
||||
/// GET: api/Prod/estimation
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpGet("estimation")]
|
||||
public async Task<ActionResult<List<EstimReqPayloadDTO>>> EstimationRequestQueue()
|
||||
{
|
||||
Stopwatch sw = new Stopwatch();
|
||||
sw.Start();
|
||||
var listReq = new List<EstimReqPayloadDTO>();
|
||||
// vado a recuperare da REDIS elenco degli ordini NON ancora associati ad 1/+ prod
|
||||
|
||||
// opzione 1: restituisco TUTTI ordini NON ancora eseguiti
|
||||
// opzione 2: restituisco dall'inizio solo max(n) non ancora eseguiti? (es primi 5 ordini)
|
||||
|
||||
// genero elenco degli ordini e per ogni ordine aggiungo il Dict<ItemTag, OrderRowUid>
|
||||
await Task.Delay(100);
|
||||
|
||||
// opzione 1: per tutti gli ordini ritornato registro data-ora invio e tolgo dalla coda...
|
||||
// opzione 2: aspetto conferma dal sistema che li ha presi in carico e registro data-ora...
|
||||
|
||||
sw.Stop();
|
||||
Log.Info($"EstimationRequestQueue | {sw.Elapsed.TotalMilliseconds:N3} ms");
|
||||
return Ok(listReq);
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
|
||||
#region Private Fields
|
||||
|
||||
private static Logger Log = LogManager.GetCurrentClassLogger();
|
||||
private readonly IRedisService _redisService;
|
||||
private readonly string chPub = "";
|
||||
private IConfiguration _config;
|
||||
|
||||
#endregion Private Fields
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user