HxzService.java 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package com.zswl.dataservice.service.payment;
  2. import com.zswl.dataservice.dao.mqtt.DeviceInfoDao;
  3. import com.zswl.dataservice.domain.mqtt.DeviceInfo;
  4. import com.zswl.dataservice.httpRequest.ApiRequestService;
  5. import com.zswl.dataservice.httpRequest.apiConf.APIResponseModel;
  6. import com.zswl.dataservice.httpRequest.conf.FullCardAPIConfig;
  7. import com.zswl.dataservice.model.payment.ServerTimeModel;
  8. import com.zswl.dataservice.model.payment.ServerTimeResult;
  9. import com.zswl.dataservice.service.base.SuperService;
  10. import com.zswl.dataservice.utils.result.ResultContent;
  11. import lombok.extern.slf4j.Slf4j;
  12. import org.apache.commons.lang3.ObjectUtils;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.stereotype.Service;
  15. import org.springframework.web.bind.annotation.RequestBody;
  16. import java.text.SimpleDateFormat;
  17. import java.time.DayOfWeek;
  18. import java.time.LocalDate;
  19. import java.util.Date;
  20. import java.util.LinkedHashMap;
  21. import java.util.Map;
  22. /**
  23. * @author TRX
  24. * @date 2024/6/25
  25. */
  26. @Slf4j
  27. @Service
  28. public class HxzService extends SuperService {
  29. @Autowired
  30. DeviceInfoDao deviceInfoDao;
  31. @Autowired
  32. RequestInfoService requestInfoService;
  33. @Autowired
  34. ApiRequestService apiRequestService;
  35. public ServerTimeResult serverTime(ServerTimeModel param) {
  36. String deviceId = param.getDeviceID().toString();
  37. ServerTimeResult result = new ServerTimeResult();
  38. DeviceInfo deviceInfo = deviceInfoDao.findTopByDeviceId(deviceId);
  39. if (ObjectUtils.isEmpty(deviceInfo)) {
  40. result.setFailed("设备未注册");
  41. requestInfoService.addHXZRequestInfo(param, result);
  42. return result;
  43. }
  44. // 业务验证
  45. APIResponseModel resultContent = apiRequestService.sendFullCardAPI(
  46. FullCardAPIConfig.ServerTime, param);
  47. if (resultContent.isSuccess()) {
  48. ServerTimeResult timeResult = resultContent.toBean(ServerTimeResult.class);
  49. if (timeResult.isSuccess()) {
  50. var nowTime = new Date(System.currentTimeMillis());
  51. LocalDate date = LocalDate.now();
  52. int week = Map.of(DayOfWeek.MONDAY, 1, DayOfWeek.TUESDAY, 2, DayOfWeek.WEDNESDAY, 3, DayOfWeek.THURSDAY, 4, DayOfWeek.FRIDAY, 5, DayOfWeek.SATURDAY, 6, DayOfWeek.SUNDAY, 0).get(date.getDayOfWeek());
  53. result.setSuccess();
  54. result.setTime(new SimpleDateFormat("yyyyMMddHHmmss").format(nowTime) + "" + week);
  55. result.setWLPage(0);
  56. result.setWLUptate(0);
  57. log.info("ServerTime : {} - {}", result);
  58. } else {
  59. result.setFailed(timeResult.getMsg());
  60. }
  61. } else {
  62. result.setFailed(resultContent.getMsg());
  63. }
  64. return result;
  65. }
  66. public ResultContent consumTransactions() {
  67. return ResultContent.buildSuccess();
  68. }
  69. }