mirror of
https://gitea.tendokyu.moe/Kayori/MedusaPluginChargeMachine.git
synced 2026-10-02 03:57:56 +03:00
Fix multi-bill display, charge amount parsing, and charge log responses
- chargeoptions is the real field gating 2000/5000/10000 yen display - chargeid (not chargenum) carries the actual denomination on charge - getrecentcharge/getlastlog: fixed num mismatch, added missing result section, and added placeholder items for empty result sets
This commit is contained in:
@@ -8,6 +8,14 @@ public class ChargeRequest
|
||||
[XmlElement("chargenum")]
|
||||
public required string ChargeNumber { get; set; }
|
||||
|
||||
// The actual denomination, not chargenum - real traffic (spice2x
|
||||
// "automap" capture) shows chargenum is always the quantity ("1" for a
|
||||
// single bill), while chargeid carries the value as e.g. "N10000P"
|
||||
// (Note/10000/Paseli). chargenum * 1000 alone reports every bill as
|
||||
// 1000 yen regardless of what was actually inserted.
|
||||
[XmlElement("chargeid")]
|
||||
public required string ChargeId { get; set; }
|
||||
|
||||
[XmlElement("sessid")]
|
||||
public required string SessionId { get; set; }
|
||||
}
|
||||
@@ -5,6 +5,9 @@ namespace MedusaPluginChargeMachine.Models.Request;
|
||||
[XmlRoot("eacharge")]
|
||||
public class GetRecentChargeRequest
|
||||
{
|
||||
[XmlElement("num")]
|
||||
public string? Num { get; set; }
|
||||
|
||||
[XmlElement("sessid")]
|
||||
public string? SessionId { get; set; }
|
||||
|
||||
|
||||
@@ -12,7 +12,10 @@ public class EaChargeConfigResponse
|
||||
|
||||
[XmlAttribute("expire")]
|
||||
public required int Expire { get; set; }
|
||||
|
||||
|
||||
[XmlElement("chargeoptions")]
|
||||
public required XrpcString ChargeOptions { get; set; }
|
||||
|
||||
[XmlElement("chargearticle")]
|
||||
public required EaChargeConfigChargeArticle ChargeArticle { get; set; }
|
||||
|
||||
|
||||
@@ -12,6 +12,9 @@ public class GetLastLogEaChargeResponse
|
||||
|
||||
[XmlElement("header")]
|
||||
public required GetLastLogEaChargeHeader Header { get; set; }
|
||||
|
||||
[XmlElement("result")]
|
||||
public required GetLastLogEaChargeResult Result { get; set; }
|
||||
}
|
||||
|
||||
public record GetLastLogEaChargeHeader
|
||||
@@ -33,4 +36,28 @@ public record GetLastLogChargeItem
|
||||
|
||||
[XmlElement("chargeamount")]
|
||||
public XrpcInt ChargeAmount { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
public record GetLastLogEaChargeResult
|
||||
{
|
||||
[XmlElement("item")]
|
||||
public List<GetLastLogResultItem> Items { get; set; } = [];
|
||||
}
|
||||
|
||||
public record GetLastLogResultItem
|
||||
{
|
||||
[XmlElement("orderdate")]
|
||||
public XrpcString OrderDate { get; set; }
|
||||
|
||||
[XmlElement("chargeid")]
|
||||
public XrpcString ChargeId { get; set; }
|
||||
|
||||
[XmlElement("chargenum")]
|
||||
public XrpcInt ChargeNum { get; set; }
|
||||
|
||||
[XmlElement("cardtype")]
|
||||
public XrpcInt CardType { get; set; }
|
||||
|
||||
[XmlElement("cardno")]
|
||||
public XrpcString CardNo { get; set; }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user