Files
SVSimServer/SVSim.Bootstrap/Models/Seed/PaymentItemSeed.cs
gamer147 c23c56d46c refactor(bootstrap): migrate payment items to seed file
Lifts ImportPaymentItems out of GlobalsImporter into a dedicated
PaymentItemImporter driven by Data/seeds/payment-items.json. Wired
into Program.cs and SVSimTestFactory.SeedGlobalsAsync after
PracticeOpponentImporter. Drops the prod-capture file in favor of
the extractor pipeline.

Canonical 4-test suite (basic, idempotent, leave-untouched, skip-zero)
keeps the dict-in-sync upsert pattern Task 2 established.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 13:59:50 -04:00

24 lines
1.4 KiB
C#

using System.Text.Json.Serialization;
namespace SVSim.Bootstrap.Models.Seed;
public sealed class PaymentItemSeed
{
[JsonPropertyName("record_id")] public int RecordId { get; set; }
[JsonPropertyName("product_id")] public int ProductId { get; set; }
[JsonPropertyName("store_product_id")] public long StoreProductId { get; set; }
[JsonPropertyName("name")] public string Name { get; set; } = "";
[JsonPropertyName("text")] public string Text { get; set; } = "";
[JsonPropertyName("price")] public string Price { get; set; } = "0";
[JsonPropertyName("charge_crystal_num")] public int ChargeCrystalNum { get; set; }
[JsonPropertyName("free_crystal_num")] public int FreeCrystalNum { get; set; }
[JsonPropertyName("purchase_limit")] public int PurchaseLimit { get; set; }
[JsonPropertyName("special_shop_flag")] public int SpecialShopFlag { get; set; }
[JsonPropertyName("image_name")] public string ImageName { get; set; } = "";
[JsonPropertyName("start_time")] public string StartTime { get; set; } = "";
[JsonPropertyName("end_time")] public string EndTime { get; set; } = "";
[JsonPropertyName("remaining_time")] public int RemainingTime { get; set; }
[JsonPropertyName("is_resale_product")] public int IsResaleProduct { get; set; }
[JsonPropertyName("resale_start_date")] public string ResaleStartDate { get; set; } = "";
}