mirror of
https://gitea.tendokyu.moe/Kayori/MedusaPluginChargeMachine.git
synced 2026-10-03 12:37:58 +03:00
Update to use new handler methods
This commit is contained in:
@@ -1,27 +1,27 @@
|
||||
using System.Xml.Linq;
|
||||
using Abstractions.Entities;
|
||||
using Abstractions.Handlers;
|
||||
using Abstractions.SerializationTypes;
|
||||
using Abstractions.Services;
|
||||
using MedusaPluginChargeMachine.Models.Request;
|
||||
using MedusaPluginChargeMachine.Models.Response;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
using ISessionService = MedusaPluginChargeMachine.Services.ISessionService;
|
||||
|
||||
namespace MedusaPluginChargeMachine.Handlers.LA9
|
||||
{
|
||||
public class ChargeEaChargeHandler(ICardService cardService, ISessionService sessionService, UserManager<User> userManager, XDocument body): Handler
|
||||
public class ChargeEaChargeHandler(ICardService cardService, ISessionService sessionService, UserManager<User> userManager): Handler<ChargeRequest, ChargeResponse>
|
||||
{
|
||||
public override void Configure()
|
||||
{
|
||||
Module("eacharge");
|
||||
Method("charge");
|
||||
}
|
||||
public override async Task<XDocument> HandleAsync(string model)
|
||||
public override async Task<ChargeResponse> HandleAsync(ChargeRequest req, string model)
|
||||
{
|
||||
var rootCall = body.Root;
|
||||
var charge = rootCall?.Element("eacharge")!;
|
||||
var amount = int.Parse(charge.Element("chargenum")?.Value!) * 1000;
|
||||
var session = charge.Element("sessid")?.Value!;
|
||||
var amount = int.Parse(req.ChargeNumber) * 1000;
|
||||
|
||||
var foundSession = sessionService.GetSession(session);
|
||||
var foundSession = sessionService.GetSession(req.SessionId);
|
||||
|
||||
var card = await cardService.FindByCardId(foundSession.refId)!;
|
||||
|
||||
@@ -29,14 +29,16 @@ namespace MedusaPluginChargeMachine.Handlers.LA9
|
||||
|
||||
await userManager.UpdateAsync(card.User);
|
||||
|
||||
var balance = new XElement("balance", card.User.PaseliAmount, new XAttribute("__type", "s32"));
|
||||
var chargeDailyLimit = new XElement("chargedailylimit", 100000, new XAttribute("__type", "s32"));
|
||||
var chargeDaily = new XElement("chargedaily", 0, new XAttribute("__type", "s32"));
|
||||
var chargepoint = new XElement("chargepoint", amount, new XAttribute("__type", "s32"));
|
||||
|
||||
var eaCharge = new XElement("charge", balance, chargeDailyLimit, chargeDaily, chargepoint, new XAttribute("status", "0"));
|
||||
var document = new XDocument(new XElement("response", eaCharge));
|
||||
return document;
|
||||
var chargeResponse = new ChargeResponse()
|
||||
{
|
||||
Status = 0,
|
||||
Balance = new XrpcInt(card.User.PaseliAmount),
|
||||
ChargeDailyLimit = new XrpcInt(100000),
|
||||
ChargeDaily = new XrpcInt(0),
|
||||
ChargePoint = new XrpcInt(amount)
|
||||
};
|
||||
|
||||
return chargeResponse;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,41 +1,39 @@
|
||||
using System.Xml.Linq;
|
||||
using Abstractions.Handlers;
|
||||
using Abstractions.SerializationTypes;
|
||||
using Abstractions.Services;
|
||||
using MedusaPluginChargeMachine.Models.Request;
|
||||
using MedusaPluginChargeMachine.Models.Response;
|
||||
using MedusaPluginChargeMachine.Services;
|
||||
|
||||
namespace MedusaPluginChargeMachine.Handlers.LA9
|
||||
{
|
||||
public class CheckinEaChargeHandler(ISessionService sessionService, ICardService cardService, XDocument body): Handler
|
||||
public class CheckinEaChargeHandler(ISessionService sessionService, ICardService cardService): Handler<CheckinRequest, CheckinResponse>
|
||||
{
|
||||
private readonly XDocument _body = body;
|
||||
private readonly ISessionService _sessionService = sessionService;
|
||||
private readonly ICardService _cardService = cardService;
|
||||
|
||||
public override void Configure()
|
||||
{
|
||||
Module("eacharge");
|
||||
Method("checkin");
|
||||
}
|
||||
public override async Task<XDocument> HandleAsync(string model)
|
||||
public override async Task<CheckinResponse> HandleAsync(CheckinRequest req, string model)
|
||||
{
|
||||
var rootCall = _body.Root;
|
||||
var eaCharge = rootCall?.Element("eacharge")!;
|
||||
var cardId = eaCharge.Element("cardid")?.Value!;
|
||||
var sessionId = sessionService.AddSession(req.CardId);
|
||||
|
||||
var sessionId = _sessionService.AddSession(cardId);
|
||||
|
||||
var card = await _cardService.FindByCardId(cardId);
|
||||
var card = await cardService.FindByCardId(req.CardId);
|
||||
|
||||
var userPaseli = card!.User.PaseliAmount;
|
||||
|
||||
var sessseq = new XElement("sessseq", 0, new XAttribute("__type", "s32"));
|
||||
var acname = new XElement("acname", "DUMMY_NAME", new XAttribute("__type", "str"));
|
||||
var balance = new XElement("balance", userPaseli, new XAttribute("__type", "s32"));
|
||||
var buyablep = new XElement("buyablep", 100000, new XAttribute("__type", "s32"));
|
||||
var sessionIdXElement = new XElement("sessid", sessionId, new XAttribute("__type", "str"));
|
||||
var eacharge = new XElement("eacharge", sessseq, acname, balance, buyablep, sessionIdXElement, new XAttribute("status", "0"));
|
||||
var document = new XDocument(new XElement("response", eacharge));
|
||||
return document;
|
||||
var checkinResponse = new CheckinResponse()
|
||||
{
|
||||
Status = 0,
|
||||
Sessseq = new XrpcInt(0),
|
||||
AccountName = new XrpcString("DUMMY_NAME"),
|
||||
Balance = new XrpcInt(userPaseli),
|
||||
BuyablePaseli = new XrpcInt(100000),
|
||||
SessionId = new XrpcString(sessionId)
|
||||
};
|
||||
|
||||
return checkinResponse;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,29 +1,28 @@
|
||||
using System.Xml.Linq;
|
||||
using Abstractions.Handlers;
|
||||
using Abstractions.Services;
|
||||
using MedusaPluginChargeMachine.Models.Request;
|
||||
using MedusaPluginChargeMachine.Models.Response;
|
||||
using ISessionService = MedusaPluginChargeMachine.Services.ISessionService;
|
||||
|
||||
namespace MedusaPluginChargeMachine.Handlers.LA9
|
||||
{
|
||||
public class CheckoutEaCharge(ISessionService sessionService, XDocument body): Handler
|
||||
public class CheckoutEaCharge(ISessionService sessionService): Handler<CheckoutRequest, CheckoutResponse>
|
||||
{
|
||||
private readonly ISessionService _sessionService = sessionService;
|
||||
private readonly XDocument _body = body;
|
||||
public override void Configure()
|
||||
{
|
||||
Module("eacharge");
|
||||
Method("checkout");
|
||||
}
|
||||
public override XDocument Handle(string model)
|
||||
public override CheckoutResponse Handle(CheckoutRequest req, string model)
|
||||
{
|
||||
var eaCharge = _body.Root?.Element("eacharge")!;
|
||||
var sessionId = eaCharge.Element("sessid")!.Value!;
|
||||
sessionService.RemoveSession(req.SessionId);
|
||||
|
||||
_sessionService.RemoveSession(sessionId);
|
||||
|
||||
var checkoutCharge = new XElement("eacharge", new XAttribute("status", "0"));
|
||||
var document = new XDocument(new XElement("response", checkoutCharge));
|
||||
return document;
|
||||
var checkoutResponse = new CheckoutResponse()
|
||||
{
|
||||
Status = 0
|
||||
};
|
||||
return checkoutResponse;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,95 +1,108 @@
|
||||
using System.Xml.Linq;
|
||||
using Abstractions.Handlers;
|
||||
using Abstractions.SerializationTypes;
|
||||
using MedusaPluginChargeMachine.Models.Response;
|
||||
|
||||
namespace MedusaPluginChargeMachine.Handlers.LA9
|
||||
{
|
||||
public class GetConfigEaChargeHandler(XDocument body): Handler
|
||||
public class GetConfigEaChargeHandler: HandlerWithoutRequest<EaChargeConfigResponse>
|
||||
{
|
||||
private readonly XDocument _body = body;
|
||||
|
||||
public override void Configure()
|
||||
{
|
||||
Module("eacharge");
|
||||
Method("getconf");
|
||||
}
|
||||
|
||||
public override XDocument Handle(string model)
|
||||
public override EaChargeConfigResponse Handle(string model)
|
||||
{
|
||||
var articlerevision = new XElement("articlerevision", 1, new XAttribute("__type", "str"));
|
||||
var eaChargeConfig = new EaChargeConfigResponse()
|
||||
{
|
||||
Status = 0,
|
||||
Expire = 1200,
|
||||
ChargeArticle = new EaChargeConfigChargeArticle()
|
||||
{
|
||||
ArticleRevision = new XrpcString("1"),
|
||||
ArticleList = [
|
||||
new EaChargeConfigChargeArticleItem()
|
||||
{
|
||||
ArticleType = new XrpcString("DOCMT_0000"),
|
||||
ArticleDoc = new XrpcString("")
|
||||
},
|
||||
new EaChargeConfigChargeArticleItem()
|
||||
{
|
||||
ArticleType = new XrpcString("DOCMT_0001"),
|
||||
ArticleDoc = new XrpcString("")
|
||||
},
|
||||
new EaChargeConfigChargeArticleItem()
|
||||
{
|
||||
ArticleType = new XrpcString("DOCMT_0002"),
|
||||
ArticleDoc = new XrpcString("")
|
||||
},
|
||||
new EaChargeConfigChargeArticleItem()
|
||||
{
|
||||
ArticleType = new XrpcString("DOCMT_0003"),
|
||||
ArticleDoc = new XrpcString("")
|
||||
},
|
||||
new EaChargeConfigChargeArticleItem()
|
||||
{
|
||||
ArticleType = new XrpcString("URL_0001_A"),
|
||||
ArticleDoc = new XrpcString("http://eagate.573.jp")
|
||||
},
|
||||
new EaChargeConfigChargeArticleItem()
|
||||
{
|
||||
ArticleType = new XrpcString("URL_0001_B"),
|
||||
ArticleDoc = new XrpcString("http://eagate.573.jp")
|
||||
},
|
||||
new EaChargeConfigChargeArticleItem()
|
||||
{
|
||||
ArticleType = new XrpcString("URL_0002_A"),
|
||||
ArticleDoc = new XrpcString("http://eagate.573.jp")
|
||||
},
|
||||
new EaChargeConfigChargeArticleItem()
|
||||
{
|
||||
ArticleType = new XrpcString("URL_0002_B"),
|
||||
ArticleDoc = new XrpcString("http://eagate.573.jp")
|
||||
},
|
||||
new EaChargeConfigChargeArticleItem()
|
||||
{
|
||||
ArticleType = new XrpcString("URL_0003_A"),
|
||||
ArticleDoc = new XrpcString("http://eagate.573.jp")
|
||||
},
|
||||
new EaChargeConfigChargeArticleItem()
|
||||
{
|
||||
ArticleType = new XrpcString("URL_0003_B"),
|
||||
ArticleDoc = new XrpcString("http://eagate.573.jp")
|
||||
},
|
||||
new EaChargeConfigChargeArticleItem()
|
||||
{
|
||||
ArticleType = new XrpcString("URL_0004_A"),
|
||||
ArticleDoc = new XrpcString("http://eagate.573.jp")
|
||||
},
|
||||
new EaChargeConfigChargeArticleItem()
|
||||
{
|
||||
ArticleType = new XrpcString("URL_0041_B"),
|
||||
ArticleDoc = new XrpcString("http://eagate.573.jp")
|
||||
},
|
||||
new EaChargeConfigChargeArticleItem()
|
||||
{
|
||||
ArticleType = new XrpcString("PASELIUNIT"),
|
||||
ArticleDoc = new XrpcString("P")
|
||||
},
|
||||
]
|
||||
},
|
||||
ChargeDetail = new EaChargeConfigChargeDetail()
|
||||
{
|
||||
ChargeDaily = new XrpcInt(0),
|
||||
ChargeDailyLimit = new XrpcInt(100000)
|
||||
},
|
||||
ChargeStatus = new EaChargeConfigChargeStatus()
|
||||
{
|
||||
CurrentCode = new XrpcInt(0),
|
||||
LastChargeStatus = new XrpcInt(1)
|
||||
}
|
||||
};
|
||||
|
||||
var articletype1 = new XElement("articletype", "DOCMT_0000", new XAttribute("__type", "str"));
|
||||
var articledoc1 = new XElement("articledoc", new XAttribute("__type", "str"));
|
||||
var item1 = new XElement("item", articletype1, articledoc1);
|
||||
|
||||
var articletype2 = new XElement("articletype", "DOCMT_0001", new XAttribute("__type", "str"));
|
||||
var articledoc2 = new XElement("articledoc", new XAttribute("__type", "str"));
|
||||
var item2 = new XElement("item", articletype2, articledoc2);
|
||||
|
||||
var articletype3 = new XElement("articletype", "DOCMT_0002", new XAttribute("__type", "str"));
|
||||
var articledoc3 = new XElement("articledoc", new XAttribute("__type", "str"));
|
||||
var item3 = new XElement("item", articletype3, articledoc3);
|
||||
|
||||
var articletype4 = new XElement("articletype", "DOCMT_0003", new XAttribute("__type", "str"));
|
||||
var articledoc4 = new XElement("articledoc", new XAttribute("__type", "str"));
|
||||
var item4 = new XElement("item", articletype4, articledoc4);
|
||||
|
||||
var articletype5 = new XElement("articletype", "URL_0001_A", new XAttribute("__type", "str"));
|
||||
var articledoc5 = new XElement("articledoc", "http://eagate.573.jp", new XAttribute("__type", "str"));
|
||||
var item5 = new XElement("item", articletype5, articledoc5);
|
||||
|
||||
var articletype6 = new XElement("articletype", "URL_0001_B", new XAttribute("__type", "str"));
|
||||
var articledoc6 = new XElement("articledoc", "http://eagate.573.jp", new XAttribute("__type", "str"));
|
||||
var item6 = new XElement("item", articletype6, articledoc6);
|
||||
|
||||
var articletype7 = new XElement("articletype", "URL_0002_A", new XAttribute("__type", "str"));
|
||||
var articledoc7 = new XElement("articledoc", "http://eagate.573.jp", new XAttribute("__type", "str"));
|
||||
var item7 = new XElement("item", articletype7, articledoc7);
|
||||
|
||||
var articletype8 = new XElement("articletype", "URL_0002_B", new XAttribute("__type", "str"));
|
||||
var articledoc8 = new XElement("articledoc", "http://eagate.573.jp", new XAttribute("__type", "str"));
|
||||
var item8 = new XElement("item", articletype8, articledoc8);
|
||||
|
||||
var articletype9 = new XElement("articletype", "URL_0003_A", new XAttribute("__type", "str"));
|
||||
var articledoc9 = new XElement("articledoc", "http://eagate.573.jp", new XAttribute("__type", "str"));
|
||||
var item9 = new XElement("item", articletype9, articledoc9);
|
||||
|
||||
var articletype10 = new XElement("articletype", "URL_0003_B", new XAttribute("__type", "str"));
|
||||
var articledoc10 = new XElement("articledoc", "http://eagate.573.jp", new XAttribute("__type", "str"));
|
||||
var item10 = new XElement("item", articletype10, articledoc10);
|
||||
|
||||
var articletype11 = new XElement("articletype", "URL_0004_A", new XAttribute("__type", "str"));
|
||||
var articledoc11 = new XElement("articledoc", "http://eagate.573.jp", new XAttribute("__type", "str"));
|
||||
var item11 = new XElement("item", articletype11, articledoc11);
|
||||
|
||||
var articletype12 = new XElement("articletype", "URL_0004_B", new XAttribute("__type", "str"));
|
||||
var articledoc12 = new XElement("articledoc", "http://eagate.573.jp", new XAttribute("__type", "str"));
|
||||
var item12 = new XElement("item", articletype12, articledoc12);
|
||||
|
||||
var articletype13 = new XElement("articletype", "PASELIUNIT", new XAttribute("__type", "str"));
|
||||
var articledoc13 = new XElement("articledoc", "P", new XAttribute("__type", "str"));
|
||||
var item13 = new XElement("item", articletype13, articledoc13);
|
||||
|
||||
var articlelist = new XElement("articlelist", item1, item2, item3, item4, item5, item6, item7, item8, item9, item10, item11, item12, item13);
|
||||
var chargearticle = new XElement("chargearticle", articlerevision, articlelist);
|
||||
|
||||
var chargedaily = new XElement("chargedaily", 0, new XAttribute("__type", "s32"));
|
||||
var chargedailylimit = new XElement("chargedailylimit", 100000, new XAttribute("__type", "s32"));
|
||||
var chargedetail = new XElement("chargedetail", chargedaily, chargedailylimit);
|
||||
|
||||
var currentcode = new XElement("currentcode", 0, new XAttribute("__type", "s32"));
|
||||
var lastchargestatus = new XElement("lastchargestatus", 1, new XAttribute("__type", "s32"));
|
||||
var chargestatus = new XElement("chargestatus", currentcode, lastchargestatus);
|
||||
|
||||
var eacharge = new XElement("eacharge",
|
||||
new XAttribute("status", "0"), new XAttribute("expire", "1200"), chargearticle, chargedetail, chargestatus);
|
||||
|
||||
var document = new XDocument(
|
||||
new XElement("response",
|
||||
eacharge
|
||||
)
|
||||
);
|
||||
|
||||
return document;
|
||||
return eaChargeConfig;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
using System.Xml.Linq;
|
||||
using Abstractions.Handlers;
|
||||
using Abstractions.SerializationTypes;
|
||||
using MedusaPluginChargeMachine.Models.Response;
|
||||
|
||||
namespace MedusaPluginChargeMachine.Handlers.LA9;
|
||||
|
||||
public class GetLastLogEaChargeHandler(): Handler
|
||||
public class GetLastLogEaChargeHandler : HandlerWithoutRequest<GetLastLogEaChargeResponse>
|
||||
{
|
||||
public override void Configure()
|
||||
{
|
||||
@@ -11,19 +13,17 @@ public class GetLastLogEaChargeHandler(): Handler
|
||||
Method("getlastlog");
|
||||
}
|
||||
|
||||
public override XDocument Handle(string model)
|
||||
public override GetLastLogEaChargeResponse Handle(string model)
|
||||
{
|
||||
var chargedaily = new XElement("chargedaily", 0, new XAttribute("__type", "s32"));
|
||||
var header = new XElement("header", chargedaily);
|
||||
var getLastLog = new GetLastLogEaChargeResponse()
|
||||
{
|
||||
Status = 0,
|
||||
Header = new GetLastLogEaChargeHeader()
|
||||
{
|
||||
Chargedaily = new XrpcInt(0)
|
||||
}
|
||||
};
|
||||
|
||||
var getLastLog = new XElement("getlastlog", new XAttribute("status", "0"), header);
|
||||
|
||||
var document = new XDocument(
|
||||
new XElement("response",
|
||||
getLastLog
|
||||
)
|
||||
);
|
||||
|
||||
return document;
|
||||
return getLastLog;
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,13 @@
|
||||
using System.Xml.Linq;
|
||||
using Abstractions.Handlers;
|
||||
using Abstractions.SerializationTypes;
|
||||
using MedusaPluginChargeMachine.Models.Request;
|
||||
using MedusaPluginChargeMachine.Models.Response;
|
||||
using MedusaPluginChargeMachine.Services;
|
||||
|
||||
namespace MedusaPluginChargeMachine.Handlers.LA9;
|
||||
|
||||
public class OpCheckinEaChargeHandler(ISessionService sessionService, XDocument body): Handler
|
||||
public class OpCheckinEaChargeHandler(ISessionService sessionService): Handler<OpCheckinRequest, OpCheckinResponse>
|
||||
{
|
||||
public override void Configure()
|
||||
{
|
||||
@@ -12,21 +15,16 @@ public class OpCheckinEaChargeHandler(ISessionService sessionService, XDocument
|
||||
Method("opcheckin");
|
||||
}
|
||||
|
||||
public override XDocument Handle(string model)
|
||||
public override OpCheckinResponse Handle(OpCheckinRequest req, string model)
|
||||
{
|
||||
var rootCall = body.Root;
|
||||
var srcId = rootCall?.Attribute("srcid")?.Value!;
|
||||
var sessionId = sessionService.AddSession(srcId);
|
||||
var sessionId = sessionService.AddSession(req.SourceId);
|
||||
|
||||
var sessionIdXElement = new XElement("sessid", sessionId, new XAttribute("__type", "str"));
|
||||
var opCheckin = new XElement("opcheckin", sessionIdXElement, new XAttribute("status", "0"), new XAttribute("expire", "1200"));
|
||||
var response = new OpCheckinResponse()
|
||||
{
|
||||
Status = 0,
|
||||
SessionId = new XrpcString(sessionId)
|
||||
};
|
||||
|
||||
var document = new XDocument(
|
||||
new XElement("response",
|
||||
opCheckin
|
||||
)
|
||||
);
|
||||
|
||||
return document;
|
||||
return response;
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,12 @@
|
||||
using System.Xml.Linq;
|
||||
using Abstractions.Handlers;
|
||||
using MedusaPluginChargeMachine.Models.Request;
|
||||
using MedusaPluginChargeMachine.Models.Response;
|
||||
using MedusaPluginChargeMachine.Services;
|
||||
|
||||
namespace MedusaPluginChargeMachine.Handlers.LA9;
|
||||
|
||||
public class OpCheckoutEaChargeHandler(ISessionService sessionService, XDocument body): Handler
|
||||
public class OpCheckoutEaChargeHandler(ISessionService sessionService): Handler<OpCheckoutRequest, OpCheckoutResponse>
|
||||
{
|
||||
public override void Configure()
|
||||
{
|
||||
@@ -12,15 +14,15 @@ public class OpCheckoutEaChargeHandler(ISessionService sessionService, XDocument
|
||||
Method("opcheckout");
|
||||
}
|
||||
|
||||
public override XDocument Handle(string model)
|
||||
public override OpCheckoutResponse Handle(OpCheckoutRequest req, string model)
|
||||
{
|
||||
var eaCharge = body.Root?.Element("eacharge")!;
|
||||
var sessionId = eaCharge.Element("sessid")!.Value!;
|
||||
sessionService.RemoveSession(req.SessionId);
|
||||
|
||||
sessionService.RemoveSession(sessionId);
|
||||
|
||||
var checkoutCharge = new XElement("eacharge", new XAttribute("status", "0"));
|
||||
var document = new XDocument(new XElement("response", checkoutCharge));
|
||||
return document;
|
||||
var opCheckoutResponse = new OpCheckoutResponse()
|
||||
{
|
||||
Status = 0
|
||||
};
|
||||
|
||||
return opCheckoutResponse;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace MedusaPluginChargeMachine.Models.Request;
|
||||
|
||||
[XmlRoot("eacharge")]
|
||||
public class ChargeRequest
|
||||
{
|
||||
[XmlElement("chargenum")]
|
||||
public required string ChargeNumber { get; set; }
|
||||
|
||||
[XmlElement("sessid")]
|
||||
public required string SessionId { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace MedusaPluginChargeMachine.Models.Request;
|
||||
|
||||
[XmlRoot("eacharge")]
|
||||
public class CheckinRequest
|
||||
{
|
||||
[XmlElement("cardid")]
|
||||
public required string CardId { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace MedusaPluginChargeMachine.Models.Request;
|
||||
|
||||
[XmlRoot("eacharge")]
|
||||
public class CheckoutRequest
|
||||
{
|
||||
[XmlElement("sessid")]
|
||||
public required string SessionId { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace MedusaPluginChargeMachine.Models.Request;
|
||||
|
||||
[XmlRoot("eacharge")]
|
||||
public class OpCheckinRequest
|
||||
{
|
||||
[XmlElement("srcid")]
|
||||
public required string SourceId { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace MedusaPluginChargeMachine.Models.Request;
|
||||
|
||||
[XmlRoot("eacharge")]
|
||||
public class OpCheckoutRequest
|
||||
{
|
||||
[XmlElement("sessid")]
|
||||
public required string SessionId { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
using System.Xml.Serialization;
|
||||
using Abstractions.SerializationTypes;
|
||||
|
||||
namespace MedusaPluginChargeMachine.Models.Response;
|
||||
|
||||
[XmlRoot("eacharge")]
|
||||
[Serializable]
|
||||
public class ChargeResponse
|
||||
{
|
||||
[XmlAttribute("status")]
|
||||
public required int Status { get; set; }
|
||||
|
||||
[XmlElement("balance")]
|
||||
public XrpcInt Balance { get; set; }
|
||||
|
||||
[XmlElement("chargedailylimit")]
|
||||
public XrpcInt ChargeDailyLimit { get; set; }
|
||||
|
||||
[XmlElement("chargedaily")]
|
||||
public XrpcInt ChargeDaily { get; set; }
|
||||
|
||||
[XmlElement("chargepoint")]
|
||||
public XrpcInt ChargePoint { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
using System.Xml.Serialization;
|
||||
using Abstractions.SerializationTypes;
|
||||
|
||||
namespace MedusaPluginChargeMachine.Models.Response;
|
||||
|
||||
[XmlRoot("eacharge")]
|
||||
[Serializable]
|
||||
public class CheckinResponse
|
||||
{
|
||||
[XmlAttribute("status")]
|
||||
public int Status { get; set; }
|
||||
|
||||
[XmlElement("sessseq")]
|
||||
public XrpcInt Sessseq { get; set; }
|
||||
|
||||
[XmlElement("acname")]
|
||||
public XrpcString AccountName { get; set; }
|
||||
|
||||
[XmlElement("balance")]
|
||||
public XrpcInt Balance { get; set; }
|
||||
|
||||
[XmlElement("buyablep")]
|
||||
public XrpcInt BuyablePaseli { get; set; }
|
||||
|
||||
[XmlElement("sessid")]
|
||||
public XrpcString SessionId { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
using System.Xml.Serialization;
|
||||
|
||||
namespace MedusaPluginChargeMachine.Models.Response;
|
||||
|
||||
[XmlRoot("eacharge")]
|
||||
[Serializable]
|
||||
public class CheckoutResponse
|
||||
{
|
||||
[XmlAttribute("status")]
|
||||
public required int Status { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
using System.Xml.Serialization;
|
||||
using Abstractions.SerializationTypes;
|
||||
|
||||
namespace MedusaPluginChargeMachine.Models.Response;
|
||||
|
||||
[XmlRoot("eacharge")]
|
||||
[Serializable]
|
||||
public class EaChargeConfigResponse
|
||||
{
|
||||
[XmlAttribute("status")]
|
||||
public required int Status { get; set; }
|
||||
|
||||
[XmlAttribute("expire")]
|
||||
public required int Expire { get; set; }
|
||||
|
||||
[XmlElement("chargearticle")]
|
||||
public required EaChargeConfigChargeArticle ChargeArticle { get; set; }
|
||||
|
||||
[XmlElement("chargedetail")]
|
||||
public required EaChargeConfigChargeDetail ChargeDetail { get; set; }
|
||||
|
||||
[XmlElement("chargestatus")]
|
||||
public required EaChargeConfigChargeStatus ChargeStatus { get; set; }
|
||||
}
|
||||
|
||||
public record EaChargeConfigChargeArticle
|
||||
{
|
||||
[XmlElement("articlerevision")]
|
||||
public required XrpcString ArticleRevision { get; set; }
|
||||
|
||||
[XmlElement("articlelist")]
|
||||
public required List<EaChargeConfigChargeArticleItem> ArticleList { get; set; }
|
||||
}
|
||||
|
||||
public record EaChargeConfigChargeArticleItem
|
||||
{
|
||||
[XmlElement("articletype")]
|
||||
public required XrpcString ArticleType { get; set; }
|
||||
|
||||
[XmlElement("articledoc")]
|
||||
public required XrpcString ArticleDoc { get; set; }
|
||||
}
|
||||
|
||||
public record EaChargeConfigChargeDetail
|
||||
{
|
||||
[XmlElement("chargedaily")]
|
||||
public required XrpcInt ChargeDaily { get; set; }
|
||||
|
||||
[XmlElement("chargedailylimit")]
|
||||
public required XrpcInt ChargeDailyLimit { get; set; }
|
||||
}
|
||||
|
||||
public record EaChargeConfigChargeStatus
|
||||
{
|
||||
[XmlElement("currentcode")]
|
||||
public required XrpcInt CurrentCode { get; set; }
|
||||
|
||||
[XmlElement("lastchargestatus")]
|
||||
public required XrpcInt LastChargeStatus { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
using System.Xml.Serialization;
|
||||
using Abstractions.SerializationTypes;
|
||||
|
||||
namespace MedusaPluginChargeMachine.Models.Response;
|
||||
|
||||
[XmlRoot("getlastlog")]
|
||||
[Serializable]
|
||||
public class GetLastLogEaChargeResponse
|
||||
{
|
||||
[XmlAttribute("status")]
|
||||
public int Status { get; set; }
|
||||
|
||||
[XmlElement("header")]
|
||||
public required GetLastLogEaChargeHeader Header { get; set; }
|
||||
}
|
||||
|
||||
public record GetLastLogEaChargeHeader
|
||||
{
|
||||
[XmlElement("chargedaily")]
|
||||
public XrpcInt Chargedaily { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using System.Xml.Serialization;
|
||||
using Abstractions.SerializationTypes;
|
||||
|
||||
namespace MedusaPluginChargeMachine.Models.Response;
|
||||
|
||||
[XmlRoot("eacharge")]
|
||||
[Serializable]
|
||||
public class OpCheckinResponse
|
||||
{
|
||||
[XmlAttribute("status")]
|
||||
public required int Status { get; set; }
|
||||
|
||||
[XmlElement("sessid")]
|
||||
public required XrpcString SessionId { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using System.Xml.Serialization;
|
||||
using Abstractions.SerializationTypes;
|
||||
|
||||
namespace MedusaPluginChargeMachine.Models.Response;
|
||||
|
||||
[XmlRoot("eacharge")]
|
||||
[Serializable]
|
||||
public class OpCheckoutResponse
|
||||
{
|
||||
[XmlAttribute("status")]
|
||||
public required int Status { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user