package com.zswl.dataservice.service.payment; import com.zswl.dataservice.dao.mqtt.DeviceInfoDao; import com.zswl.dataservice.domain.mqtt.DeviceInfo; import com.zswl.dataservice.httpRequest.ApiRequestService; import com.zswl.dataservice.httpRequest.apiConf.APIResponseModel; import com.zswl.dataservice.httpRequest.conf.FullCardAPIConfig; import com.zswl.dataservice.model.payment.ServerTimeModel; import com.zswl.dataservice.model.payment.ServerTimeResult; import com.zswl.dataservice.service.base.SuperService; import com.zswl.dataservice.utils.result.ResultContent; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.ObjectUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.RequestBody; import java.text.SimpleDateFormat; import java.time.DayOfWeek; import java.time.LocalDate; import java.util.Date; import java.util.LinkedHashMap; import java.util.Map; /** * @author TRX * @date 2024/6/25 */ @Slf4j @Service public class HxzService extends SuperService { @Autowired DeviceInfoDao deviceInfoDao; @Autowired RequestInfoService requestInfoService; @Autowired ApiRequestService apiRequestService; public ServerTimeResult serverTime(ServerTimeModel param) { String deviceId = param.getDeviceID().toString(); ServerTimeResult result = new ServerTimeResult(); DeviceInfo deviceInfo = deviceInfoDao.findTopByDeviceId(deviceId); if (ObjectUtils.isEmpty(deviceInfo)) { result.setFailed("设备未注册"); requestInfoService.addHXZRequestInfo(param, result); return result; } // 业务验证 APIResponseModel resultContent = apiRequestService.sendFullCardAPI( FullCardAPIConfig.ServerTime, param); if (resultContent.isSuccess()) { ServerTimeResult timeResult = resultContent.toBean(ServerTimeResult.class); if (timeResult.isSuccess()) { var nowTime = new Date(System.currentTimeMillis()); LocalDate date = LocalDate.now(); 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()); result.setSuccess(); result.setTime(new SimpleDateFormat("yyyyMMddHHmmss").format(nowTime) + "" + week); result.setWLPage(0); result.setWLUptate(0); log.info("ServerTime : {} - {}", result); } else { result.setFailed(timeResult.getMsg()); } } else { result.setFailed(resultContent.getMsg()); } return result; } public ResultContent consumTransactions() { return ResultContent.buildSuccess(); } }