Add AI Catalog Price Check feature
Claude reviews every active catalog item against the shop's own operating costs and returns a per-item verdict (below-cost / thin-margin / high / ok) with a suggested price range, cost floor, and assumptions. - New entity: CatalogPriceCheckReport (JSON blob, archived per company) - New service: IAiCatalogPriceCheckService / AiCatalogPriceCheckService batches items 25 at a time to stay within model context limits - Two new controller actions: GET AiPriceCheck (view report) + POST RunAiPriceCheck - AiPriceCheck view: summary cards (counts by verdict), color-coded item cards with Edit Price link, assumptions detail, and loading spinner on submit - AI Price Check button added to catalog Index header - Migration AddCatalogPriceCheckReport applied Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
namespace PowderCoating.Core.Entities
|
||||
{
|
||||
/// <summary>
|
||||
/// Stores the result of the most recent AI catalog price check run for a company.
|
||||
/// ResultsJson holds the full per-item verdict array serialized as JSON, avoiding the
|
||||
/// need for a wide per-item table while still persisting the report across sessions.
|
||||
/// Only one report is kept per company — each new run overwrites the previous one.
|
||||
/// </summary>
|
||||
public class CatalogPriceCheckReport : BaseEntity
|
||||
{
|
||||
public DateTime RunAt { get; set; }
|
||||
public int ItemsChecked { get; set; }
|
||||
|
||||
/// <summary>JSON-serialized List<CatalogItemPriceVerdict>.</summary>
|
||||
public string ResultsJson { get; set; } = "[]";
|
||||
|
||||
/// <summary>Human-readable summary of the operating costs used for this run.</summary>
|
||||
public string OperatingCostsSummary { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user