TransactionDataRequest.cs 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. using Edge.Core.Parser.BinaryParser.Attributes;
  2. using HengshanPaymentTerminal.Support;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Text;
  6. namespace HengshanPaymentTerminal.MessageEntity.Incoming
  7. {
  8. public class TransactionDataRequest : CardMessageBase
  9. {
  10. public TransactionDataRequest() : base(Command.TransactionData)
  11. {
  12. }
  13. [Format(4, EncodingType.BcdString, -90)]
  14. public string TerminalId { get; set; }
  15. [Format(4, EncodingType.BIN, -89)]
  16. public int DitTTC { get; set; }
  17. [Format(2, EncodingType.BIN, -88)]
  18. public ushort SeqNo { get; set; }
  19. [Format(1, EncodingType.BIN, -87)]
  20. public byte TrxType { get; set; }
  21. [Format(7, EncodingType.BcdString, -86)]
  22. public string TrxTime { get; set; }
  23. [Format(10, EncodingType.BcdString, -85)]
  24. public string Asn { get; set; }
  25. [Format(4, EncodingType.BIN, -84)]
  26. public int CardBalance { get; set; }
  27. [Format(3, EncodingType.BIN, -83)]
  28. public int FillingAmount { get; set; }
  29. [Format(3, EncodingType.BIN, -82)]
  30. public int PaymentAmount { get; set; }
  31. [Format(1, EncodingType.BIN, -81)]
  32. public byte PaymentMethodLocation { get; set; }
  33. [Format(2, EncodingType.BIN, -80)]
  34. public ushort DiscountNo { get; set; }
  35. [Format(3, EncodingType.HexString, -79)]
  36. public string CardInfo { get; set; }
  37. [Format(2, EncodingType.HexString, -77)]
  38. public string FPCode { get; set; }
  39. [Format(2, EncodingType.BIN, -76)]
  40. public ushort Price { get; set; }
  41. [Format(2, EncodingType.BCD, -75)]
  42. public int ProductCode { get; set; }
  43. [Format(3, EncodingType.BIN, -74)]
  44. public int Volume { get; set; }
  45. [Format(4, EncodingType.BIN, -73)]
  46. public int VolumeTotal { get; set; }
  47. [Format(7, EncodingType.BcdString, -72)]
  48. public string TrxEndTime { get; set; }
  49. [Format(10, EncodingType.BcdString, -71)]
  50. public string PsamAsn { get; set; }
  51. [Format(4, EncodingType.HexString, -70)]
  52. public string PsamTac { get; set; }
  53. [Format(6, EncodingType.BcdString, -69)]
  54. public string PsamTid { get; set; }
  55. [Format(4, EncodingType.HexString, -68)]
  56. public string PsamTtc { get; set; }
  57. [Format(4, EncodingType.HexString, -67)]
  58. public string Tac { get; set; }
  59. [Format(4, EncodingType.HexString, -66)]
  60. public string Gmac { get; set; }
  61. [Format(4, EncodingType.HexString, -65)]
  62. public string Tmac { get; set; }
  63. [Format(3, EncodingType.BcdString, -64)]
  64. public string LineCode { get; set; }
  65. [Format(3, EncodingType.BcdString, -63)]
  66. public string CarCode { get; set; }
  67. [Format(16, EncodingType.HexString, -62)]
  68. public string VehicleNo { get; set; }
  69. [Format(4, EncodingType.BcdString, -61)]
  70. public string LoyaltyCardNo { get; set; }
  71. public CardInfo CurrentCardInfo
  72. {
  73. get
  74. {
  75. return new CardInfo
  76. {
  77. CardType = CardInfo.Substring(0, 2).ToByte(),
  78. CardCtc = CardInfo.Substring(2, 4).ToUInt16()
  79. };
  80. }
  81. }
  82. public FuelingPointCode FuelingPoint
  83. {
  84. get
  85. {
  86. return new FuelingPointCode
  87. {
  88. NozzleNo = FPCode.Substring(0, 2).ToByte(),
  89. PumpNo = FPCode.Substring(2, 2).ToByte()
  90. };
  91. }
  92. }
  93. }
  94. }