public IActionResult ReturnChemicals([FromBody] SolveFormParam param) { try { RpcWrapper.CallServiceByPost("/api/claim/return", JsonSerializer.Serialize(param)); return(Ok()); } catch (Exception e) { _logger.LogError(e.Message); return(NotFound(e.Message)); } }
public IActionResult ApproveFinancial([FromBody] SolveFormParam param) { try { RpcWrapper.CallServiceByPost("/api/financial/approve", JsonSerializer.Serialize(param)); return(Ok()); } catch (Exception e) { _logger.LogError(e.Message); return(NotFound(e.Message)); } }
public IActionResult Declear([FromBody] PostDeclarationFormParam param) { try { param.Form.SubmitTime = DateTime.Now; RpcWrapper.CallServiceByPost("/api/declaration/apply", JsonSerializer.Serialize(param)); return(Ok()); } catch (Exception e) { _logger.LogError(e.Message); return(NotFound(e.Message)); } }
public IActionResult Claim([FromBody] PostClaimFormParam param) { _logger.LogInformation("Post claim form. formid: {formid}", param.Form.Id); _logger.LogInformation("With {count} chemicals.", param.Chemicals.Count); try { param.Form.SubmitTime = DateTime.Now; RpcWrapper.CallServiceByPost("/api/claim/apply", JsonSerializer.Serialize(param)); return(Ok()); } catch (Exception e) { _logger.LogError(e.Message); return(NotFound(e.Message)); } }
public IActionResult ReadStatusChange([FromBody] NotifyUpdateParam param) { var certification = HttpContext.Request.Headers["certification"]; if (UserRoleCache.TryGetUserRole(certification, out var userRole)) { param.UserId = userRole.User.UserId; try { var response = RpcWrapper.CallServiceByPost("/api/entity/notify", JsonSerializer.Serialize(param)); return(Ok()); } catch (Exception) { return(NotFound("try again")); } } return(Unauthorized()); }
public IActionResult RejectDeclear([FromBody] SolveFormParam param) { if (UserRoleCache.TryGetUserRole(HttpContext.Request.Headers["certification"], out UserRoleResult result)) { if (!result.Roles.Exists(r => r.LabId == param.LabId)) { return(Unauthorized()); } } try { RpcWrapper.CallServiceByPost("/api/declaration/reject", JsonSerializer.Serialize(param)); return(Ok()); } catch (Exception e) { _logger.LogError(e.Message); return(NotFound(e.Message)); } }
public void RunJob() { while (true) { while (_core.DeclearQueue.TryPeek(out var peek)) { if (peek.Deadline < DateTime.Now) { _logger.LogInformation("Start reject declaration form: {formid}.", peek.FormId); var info = RpcWrapper.CallServiceByPost("/api/declaration/reject", JsonSerializer.Serialize(new SolveFormParam { FormId = peek.FormId, UserId = 7, UserName = "******", })); _logger.LogInformation("Result: " + info); } else { break; } _core.DeclearQueue.Dequeue(); } while (_core.FinancialQueue.TryPeek(out var peek)) { if (peek.Deadline < DateTime.Now) { _logger.LogInformation("Start reject financial form: {formid}.", peek.FormId); var info = RpcWrapper.CallServiceByPost("/api/financial/reject", JsonSerializer.Serialize(new SolveFormParam { FormId = peek.FormId, UserId = 7, UserName = "******", })); _logger.LogInformation("Result: " + info); } else { break; } _core.FinancialQueue.Dequeue(); } while (_core.ClaimQueue.TryPeek(out var peek)) { if (peek.Deadline < DateTime.Now) { _logger.LogInformation("Start reject financial form: {formid}.", peek.FormId); var info = RpcWrapper.CallServiceByPost("/api/financial/reject", JsonSerializer.Serialize(new SolveFormParam { FormId = peek.FormId, UserId = 7, UserName = "******", })); _logger.LogInformation("Result: " + info); } else { break; } _core.ClaimQueue.Dequeue(); } // check the queue every 5 minutes Thread.Sleep(300000); } }