CommonAnswerBack.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. namespace HengshanPaymentTerminal.MessageEntity.Incoming
  7. {
  8. /// <summary>
  9. /// 普通应答格式数据包
  10. /// </summary>
  11. public class CommonAnswerBack : CommonMessage
  12. {
  13. /// <summary>
  14. /// 原命令字
  15. /// </summary>
  16. public Byte Command { get; set; }
  17. /// <summary>
  18. /// 枪号,无枪号填0
  19. /// </summary>
  20. public int NozzleNum { get; set; }
  21. /// <summary>
  22. /// 应答命令状态
  23. /// </summary>
  24. public RESULT Result { get; set; }
  25. //public override string ToLogString()
  26. //{
  27. // return "";
  28. //}
  29. public override CommonMessage ToObject(byte[] datas)
  30. {
  31. string v = BitConverter.ToString(datas).Replace("-", " ");
  32. getBaseData(datas);
  33. this.Command = datas[7];
  34. this.NozzleNum = datas[8];
  35. if (Enum.IsDefined(typeof(RESULT), datas[9]))
  36. {
  37. this.Result = (RESULT)datas[9];
  38. }
  39. return this;
  40. }
  41. public override byte[] ToCommonByteArray()
  42. {
  43. return new byte[0];
  44. }
  45. }
  46. public enum RESULT:Byte
  47. {
  48. /// <summary>
  49. /// 命令收到,处理完成
  50. /// </summary>
  51. OVER = 0x01,
  52. /// <summary>
  53. /// 命令收到,在处理,需通过轮询返回结果
  54. /// </summary>
  55. IN_PROCESS = 0x02,
  56. /// <summary>
  57. /// 某差错造成不能处理的命令,可重发 1 次
  58. /// </summary>
  59. CANNOT_PROCESS = 0x03,
  60. /// <summary>
  61. /// 命令收到,也正确,但不适合处理或不处理
  62. /// </summary>
  63. NO_PROCESS = 0x04,
  64. /// <summary>
  65. /// 收到交易数据,正确
  66. /// </summary>
  67. GOT_TRN_RIGHT = 0x05,
  68. /// <summary>
  69. /// 收到交易数据,T-MAC 错
  70. /// </summary>
  71. GOT_TRN_TMAC_ERR = 0x06
  72. }
  73. }