CommonAnswerBack.cs 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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. getBaseData(datas);
  32. this.Command = datas[7];
  33. this.NozzleNum = datas[8];
  34. if (Enum.IsDefined(typeof(RESULT), datas[9]))
  35. {
  36. this.Result = (RESULT)datas[9];
  37. }
  38. return this;
  39. }
  40. public override byte[] ToCommonByteArray()
  41. {
  42. throw new NotImplementedException();
  43. }
  44. }
  45. public enum RESULT
  46. {
  47. /// <summary>
  48. /// 命令收到,处理完成
  49. /// </summary>
  50. OVER = 0x01,
  51. /// <summary>
  52. /// 命令收到,在处理,需通过轮询返回结果
  53. /// </summary>
  54. IN_PROCESS = 0x02,
  55. /// <summary>
  56. /// 某差错造成不能处理的命令,可重发 1 次
  57. /// </summary>
  58. CANNOT_PROCESS = 0x03,
  59. /// <summary>
  60. /// 命令收到,也正确,但不适合处理或不处理
  61. /// </summary>
  62. NO_PROCESS = 0x04,
  63. /// <summary>
  64. /// 收到交易数据,正确
  65. /// </summary>
  66. GOT_TRN_RIGHT = 0x05,
  67. /// <summary>
  68. /// 收到交易数据,T-MAC 错
  69. /// </summary>
  70. GOT_TRN_TMAC_ERR = 0x06
  71. }
  72. }