ActivePushTransactionResponse.cs 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using Edge.Core.Parser.BinaryParser.Attributes;
  2. using System;
  3. using static System.Globalization.CultureInfo;
  4. namespace HengShan_Pump_NonIC_Plus.MessageEntity
  5. {
  6. /// <summary>
  7. /// 0AFH:交易信息上报
  8. /// 加油量3+加油金额3+单价2+提枪时间7+流水号2+升累计6+金额累计6+挂枪时间7+交易类型1+校验
  9. /// </summary>
  10. public class ActivePushTransactionResponse : NonICMessageTemplateResponseBase
  11. {
  12. [Format(3, EncodingType.BCD, 3)]
  13. public int 加油量 { get; set; }
  14. [Format(3, EncodingType.BCD, 6)]
  15. public int 加油金额 { get; set; }
  16. [Format(2, EncodingType.BCD, 9)]
  17. public int 单价 { get; set; }
  18. [Format(7, EncodingType.BcdString, 12)]
  19. public string liftNozzle { get; set; }
  20. [Format(2, EncodingType.BCD, 13)]
  21. public int SequenceNo { get; set; }
  22. [Format(6, EncodingType.BcdString, 15)]
  23. public string volumeTotal { get; set; }
  24. [Format(6, EncodingType.BcdString, 16)]
  25. public string accountTotal { get; set; }
  26. [Format(7, EncodingType.BcdString, 18)]
  27. public string returnNozzle { get; set; }
  28. [Format(1, EncodingType.BIN, 20)]
  29. public byte trxType { get; set; }
  30. public DateTime 提枪时间
  31. {
  32. get { return DateTime.ParseExact(liftNozzle, "yyyyMMddHHmmss", CurrentCulture); }
  33. set {; }
  34. }
  35. public ulong 升累计
  36. {
  37. get { return ulong.Parse(volumeTotal); }
  38. set {; }
  39. }
  40. public ulong 金额累计
  41. {
  42. get { return ulong.Parse(accountTotal); }
  43. set {; }
  44. }
  45. public DateTime 挂枪时间
  46. {
  47. get { return DateTime.ParseExact(returnNozzle, "yyyyMMddHHmmss", CurrentCulture); }
  48. set {; }
  49. }
  50. public EnumTrxType 交易类型
  51. {
  52. get { return (EnumTrxType)trxType; }
  53. set {; }
  54. }
  55. public override string ToLogString()
  56. {
  57. return $"流水号: {SequenceNo}, 加油量: {加油量}, 加油金额: {加油金额}, 单价: {单价}," +
  58. $" 提枪时间: {提枪时间:yyyy-MM-dd HH:mm:ss},\r\n 升累计: {升累计}," +
  59. $" 金额累计: {金额累计}, 挂枪时间: {挂枪时间:yyyy-MM-dd HH:mm:ss}, 交易类型: {交易类型}";
  60. }
  61. }
  62. }