perfection, fix something.

This commit is contained in:
ZZ 2021-12-12 16:51:04 +08:00
parent 34a726baa0
commit bd81a0b595
5 changed files with 45 additions and 37 deletions

View File

@ -41,7 +41,7 @@ public class CacheOrderData extends BaseData {
private Integer status;//1自动结算2异常 private Integer status;//1自动结算2异常
public CacheOrderData() { public CacheOrderData() {
super();
} }
public CacheOrderData(CacheRealtimeData cacheRData, String startTime, Integer startSoc, Integer endSoc) { public CacheOrderData(CacheRealtimeData cacheRData, String startTime, Integer startSoc, Integer endSoc) {

View File

@ -160,20 +160,21 @@ public class ChargingController {
// r = R.fail("错误的订单号"); // r = R.fail("错误的订单号");
// } 算了容易坑 // } 算了容易坑
String gunStatus = REDIS.getCacheMapValue(gunkey, "status"); String gunStatus = REDIS.getCacheMapValue(gunkey, "status");
if (!("空闲".equals(gunStatus) || "离线".equals(gunStatus) || "故障".equals(gunStatus))) { if (("空闲".equals(gunStatus) || "离线".equals(gunStatus) || "故障".equals(gunStatus))) {
if (r.getCode() == 200) { log.error("端口不在充电中, status[{}]", gunStatus);
String svcSrv = cachePile.get("svcSrv");
String response = HttpUtils.get(fmt(svcSrv)
.concat("/native/charging/stop/")
.concat(pileNo).concat("/")
.concat(connectorId).concat("/")
.concat(version));
r = getRR(response);
}
} else {
log.error("端口不在充电中, status[{}]", status);
r = R.fail("端口不在充电中");
} }
if (r.getCode() == 200) {
String svcSrv = cachePile.get("svcSrv");
String response = HttpUtils.get(fmt(svcSrv)
.concat("/native/charging/stop/")
.concat(pileNo).concat("/")
.concat(connectorId).concat("/")
.concat(version));
r = getRR(response);
}
// } else {
// r = R.fail("端口不在充电中");
// }
return r; return r;
} }

View File

@ -143,7 +143,7 @@ public class RealtimeDataLogic implements ServiceLogic {
cacheOrder.put("realtimeDataList", realtimeDataList); cacheOrder.put("realtimeDataList", realtimeDataList);
pileOrderService.pileRimeOrder(orderNo); pileOrderService.pileRimeOrder(orderNo);
Integer vul = (Integer) cachePile.get("voltageUpperLimits"); Integer vul = (Integer) cachePile.get("voltageUpperLimits");
Integer cul = (Integer) cachePile.get("current"); Integer cul = (Integer) cachePile.get("currentLimit");
if (wc > cul || wv > vul) { if (wc > cul || wv > vul) {
R r = chargingController.nativeStopCharging(pileNo, gunId, default_version); R r = chargingController.nativeStopCharging(pileNo, gunId, default_version);
if (r.getCode() == 200) { if (r.getCode() == 200) {

View File

@ -3,6 +3,7 @@ package com.xhpc.pp.utils.security;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.xhpc.pp.utils.HexUtils; import com.xhpc.pp.utils.HexUtils;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.InvocationTargetException;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@ -16,30 +17,36 @@ public class CacheDataUtils {
public static Object reflectTranslate(Object srcobj, Class tarclz, Class srcclz, Field[] targetfields) throws IllegalAccessException, InvocationTargetException, InstantiationException { public static Object reflectTranslate(Object srcobj, Class tarclz, Class srcclz, Field[] targetfields) throws IllegalAccessException, InvocationTargetException, InstantiationException {
Object tarobj = tarclz.getConstructors()[0].newInstance(); Constructor[] constructors = tarclz.getConstructors();
for (Field tarfield : targetfields) { Object tarobj = null;
String tarFieldName = tarfield.getName(); for (Constructor c : constructors) {
String srcval = null; if (c.getParameters().length == 0) {
try { tarobj = constructors[0].newInstance();
srcval = (String) srcclz.getMethod("get".concat(capitalize(tarFieldName))).invoke(srcobj); for (Field tarfield : targetfields) {
Object tarval; String tarFieldName = tarfield.getName();
if (tarfield.getType().getSimpleName().equals("Integer") && !tarfield.getName().equals("stopReason")) { String srcval = null;
if (srcval.length() == 2) { try {
tarval = Integer.valueOf(srcval, 16); srcval = (String) srcclz.getMethod("get".concat(capitalize(tarFieldName))).invoke(srcobj);
if (tarfield.getName().endsWith("Temperature")) { Object tarval;
tarval = (Integer) tarval - 50; if (tarfield.getType().getSimpleName().equals("Integer") && !tarfield.getName().equals("stopReason")) {
tarval = (Integer) tarval > 0 ? tarval : 0; if (srcval.length() == 2) {
tarval = Integer.valueOf(srcval, 16);
if (tarfield.getName().endsWith("Temperature")) {
tarval = (Integer) tarval - 50;
tarval = (Integer) tarval > 0 ? tarval : 0;
}
} else {
tarval = HexUtils.reverseHexInt(srcval);
}
} else if (tarFieldName.contains("ime")) {
tarval = DateUtil.format(cp56toDate(srcval), NORM_DATETIME_FORMAT);
} else {
tarval = srcval;
} }
} else { tarclz.getMethod("set".concat(capitalize(tarFieldName)), tarfield.getType()).invoke(tarobj, tarval);
tarval = HexUtils.reverseHexInt(srcval); } catch (NoSuchMethodException ignored) {
} }
} else if (tarFieldName.contains("ime")) {
tarval = DateUtil.format(cp56toDate(srcval), NORM_DATETIME_FORMAT);
} else {
tarval = srcval;
} }
tarclz.getMethod("set".concat(capitalize(tarFieldName)), tarfield.getType()).invoke(tarobj, tarval);
} catch (NoSuchMethodException ignored) {
} }
} }
return tarobj; return tarobj;

View File

@ -59,7 +59,7 @@
</appender> </appender>
<!-- 系统模块日志级别控制 --> <!-- 系统模块日志级别控制 -->
<logger name="com.xhpc.pp" level="info"/> <logger name="com.xhpc.pp" level="debug"/>
<!-- Spring日志级别控制 --> <!-- Spring日志级别控制 -->
<logger name="org.springframework" level="warn"/> <logger name="org.springframework" level="warn"/>
<!-- nacos --> <!-- nacos -->