对时记录
This commit is contained in:
parent
a436d200e5
commit
a7131add83
@ -13,7 +13,6 @@ import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
import static cn.hutool.core.date.DatePattern.UTC_FORMAT;
|
||||
import static cn.hutool.core.date.DatePattern.UTC_PATTERN;
|
||||
import static com.xhpc.pp.server.ChargingPileServer.REDIS;
|
||||
import static com.xhpc.pp.utils.security.CP56Time2a.cp56toDate;
|
||||
@ -32,15 +31,11 @@ public class PileTimeConfigReplyDataLogic implements ServiceLogic {
|
||||
PileTimeConfigReplyData pileTimeConfigReplyData = objectMapper.convertValue(req, PileTimeConfigReplyData.class);
|
||||
String pileNo = (String) req.get("pileNo");
|
||||
String pk = "pile:".concat(pileNo);
|
||||
String configTime = DateUtil.format(cp56toDate(pileTimeConfigReplyData.getSetTime()), UTC_PATTERN);
|
||||
Map<String, Object> cachePile = REDIS.getCacheMap(pk);
|
||||
String setTime = (String) cachePile.get("setTime");
|
||||
String configTime = pileTimeConfigReplyData.getSetTime();
|
||||
if (configTime.equals(setTime)) {
|
||||
log.info("({}) set time success: √[{}]", pileNo, DateUtil.format(cp56toDate(setTime), UTC_PATTERN));
|
||||
} else {
|
||||
// todo may call back mgmt backend
|
||||
log.error("({}) set time failed: √[{}] ×[{}]", pileNo, DateUtil.format(cp56toDate(setTime), UTC_PATTERN), DateUtil.format(cp56toDate(configTime), UTC_FORMAT));
|
||||
}
|
||||
cachePile.put("configTime", configTime);
|
||||
REDIS.setCacheMap(pk, cachePile);
|
||||
log.info("({}) set time success: √[{}]", pileNo, configTime);
|
||||
return new ServiceResult(false);
|
||||
}
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
package com.xhpc.pp.server;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.alibaba.nacos.api.exception.NacosException;
|
||||
import com.xhpc.common.api.dto.ChargingStationDto;
|
||||
import com.xhpc.pp.domain.ServiceField;
|
||||
@ -20,6 +21,7 @@ import org.slf4j.LoggerFactory;
|
||||
import java.io.IOException;
|
||||
import java.util.*;
|
||||
|
||||
import static cn.hutool.core.date.DatePattern.UTC_PATTERN;
|
||||
import static com.xhpc.common.data.redis.SeqUtil.seqHex;
|
||||
import static com.xhpc.pp.server.ChargingPileServer.REDIS;
|
||||
import static com.xhpc.pp.tx.ServiceResult.OK;
|
||||
@ -92,10 +94,10 @@ public class ChargingPileBinaryHandler implements ClientBinaryHandler {
|
||||
String pilekey = "pile:".concat(pileNo);
|
||||
if (SERVICE_REGISTER.equals(serviceName) && OK.equals(resultCode)) {
|
||||
regHandler(handler, pileNo, req);
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
String timebin = getTimeBin(seqHex(pilekey.concat("seqhex")), pileNo, calendar);
|
||||
Date date = Calendar.getInstance().getTime();
|
||||
String timebin = getTimeBin(seqHex(pilekey.concat("seqhex")), pileNo, date);
|
||||
Map<String, Object> cachePile = REDIS.getCacheMap(pilekey);
|
||||
cachePile.put("setTime", toCp56Hex(calendar.getTime()));
|
||||
cachePile.put("configTime", DateUtil.format(date, UTC_PATTERN));
|
||||
REDIS.setCacheMap(pilekey, cachePile);
|
||||
log.info("server send time config msg >>>> ({}) |{}|", pileNo, timebin);
|
||||
handler.sendClientBinary(HexUtils.toBytes(timebin));
|
||||
@ -111,9 +113,9 @@ public class ChargingPileBinaryHandler implements ClientBinaryHandler {
|
||||
}
|
||||
}
|
||||
|
||||
private String getTimeBin(String seqhex, String pileNo, Calendar calendar) {
|
||||
private String getTimeBin(String seqhex, String pileNo, Date date) {
|
||||
|
||||
String timebin = "6812".concat(seqhex).concat("0056").concat(pileNo).concat(toCp56Hex(calendar.getTime()));
|
||||
String timebin = "6812".concat(seqhex).concat("0056").concat(pileNo).concat(toCp56Hex(date));
|
||||
timebin = timebin.concat(CRCCalculator.calcCrc(timebin));
|
||||
return timebin;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user