GateAction.java 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. package net.mingsoft.tf.wx.gate;
  2. import lombok.extern.slf4j.Slf4j;
  3. import net.mingsoft.tf.biz.IBrowseBiz;
  4. import net.mingsoft.tf.biz.IGateService;
  5. import org.springframework.beans.factory.annotation.Autowired;
  6. import org.springframework.core.env.Environment;
  7. import org.springframework.stereotype.Controller;
  8. import org.springframework.web.bind.annotation.*;
  9. import java.time.LocalDateTime;
  10. import java.time.format.DateTimeFormatter;
  11. /**
  12. * 闸机控制
  13. *
  14. * @author hosea
  15. * @date 2026-01-14
  16. */
  17. @Slf4j
  18. @Controller
  19. @RequestMapping("/api/SelfDevice")
  20. public class GateAction {
  21. @Autowired
  22. private IGateService gateService;
  23. @Autowired
  24. private Environment env;
  25. @Autowired
  26. private IBrowseBiz browseBiz;
  27. /**
  28. * 心跳
  29. */
  30. @ResponseBody
  31. @GetMapping(value = "/Conne/{deviceNumber}")
  32. public GateResults<String> heartbeat(@PathVariable("deviceNumber") String deviceNumber) {
  33. String message = "Conne " + deviceNumber;
  34. log.info(message);
  35. return GateResults.<String>builder()
  36. .Code(200)
  37. .Message(message)
  38. .Data(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")))
  39. .build();
  40. }
  41. /**
  42. * 上线
  43. */
  44. @ResponseBody
  45. @PostMapping(value = "/DeviceOnline")
  46. public GateResults<GateOnlineResponse> online(@RequestBody GateOnlineRequest request) {
  47. String message = "DeviceOnline " + request.toString();
  48. log.info(message);
  49. return GateResults.<GateOnlineResponse>builder()
  50. .Code(200)
  51. .Message(message)
  52. .Data(GateOnlineResponse.builder()
  53. .deviceNumber(request.getDeviceNumber())
  54. .deviceType(request.getDeviceType())
  55. .secretKey(env.getProperty("gate.key." + request.getDeviceNumber()))
  56. .build())
  57. .build();
  58. }
  59. /**
  60. * 闸机核销验票接口
  61. */
  62. @ResponseBody
  63. @PostMapping(value = "/TicketVerify")
  64. public GateResults<TicketCheckResponse> ticketCheck(@RequestBody TicketCheckRequest request) {
  65. String message = "TicketVerify " + request.toString();
  66. log.info(message);
  67. TicketCheckResponse.TicketCheckResponseBuilder builder = TicketCheckResponse.builder()
  68. .ticketCode(request.getTicketCode())
  69. .code(0)
  70. .msg("无效");
  71. if (gateService.checkCode(request.getTicketCode())) {
  72. browseBiz.addBrowseAdmission();
  73. builder.code(1)
  74. .msg("通过");
  75. }
  76. return GateResults.<TicketCheckResponse>builder()
  77. .Code(200)
  78. .Message(message)
  79. .Data(builder.build())
  80. .build();
  81. }
  82. /**
  83. * 闸机身份证核销接口
  84. */
  85. @PostMapping(value = "/identityCardCheck")
  86. public void identityCardCheck() {
  87. }
  88. }