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>
This commit is contained in:
23
SVSim.Bootstrap/Models/Seed/PaymentItemSeed.cs
Normal file
23
SVSim.Bootstrap/Models/Seed/PaymentItemSeed.cs
Normal file
@@ -0,0 +1,23 @@
|
||||
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; } = "";
|
||||
}
|
||||
Reference in New Issue
Block a user