From 0e7665cf9a109efe25ca847c4773ed49436911ea Mon Sep 17 00:00:00 2001
From: wenhui <1455474577@qq.com>
Date: Wed, 2 Mar 2022 14:11:12 +0800
Subject: [PATCH 1/4] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=B9=B3=E5=8F=B0?=
=?UTF-8?q?=E6=88=96=E8=BF=90=E8=90=A5=E5=95=86=E7=AB=AF=E5=90=84=E7=A7=8D?=
=?UTF-8?q?=E7=B1=BB=E5=9E=8B=E7=94=A8=E6=88=B7=E7=9A=84=E6=8E=A5=E5=8F=A3?=
=?UTF-8?q?=E7=9A=84bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../java/com/xhpc/card/service/impl/XhpcCardServiceImpl.java | 2 +-
.../main/resources/mapper/XhpcCommunityPersonnelMapper.xml | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/service/impl/XhpcCardServiceImpl.java b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/service/impl/XhpcCardServiceImpl.java
index 2a30d9f2..d650d733 100644
--- a/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/service/impl/XhpcCardServiceImpl.java
+++ b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/service/impl/XhpcCardServiceImpl.java
@@ -355,7 +355,7 @@ public class XhpcCardServiceImpl implements IXhpcCardService {
case 3:
XhpcCustomersPersonnel xhpcCustomersPersonnel = xhpcCustomersPersonnelMapper.selectByAccount(bindCardInfo.getUserAccount());
Long customersId = xhpcCustomersPersonnel.getCustomersId();
- xhpcCustomersPersonnel.setCustomersId(customersId);
+ xhpcIcCardInfo.setUserId(customersId);
break;
default:
return R.fail("没有此用户类型");
diff --git a/xhpc-modules/xhpc-card/src/main/resources/mapper/XhpcCommunityPersonnelMapper.xml b/xhpc-modules/xhpc-card/src/main/resources/mapper/XhpcCommunityPersonnelMapper.xml
index 6d5413aa..c32c8689 100644
--- a/xhpc-modules/xhpc-card/src/main/resources/mapper/XhpcCommunityPersonnelMapper.xml
+++ b/xhpc-modules/xhpc-card/src/main/resources/mapper/XhpcCommunityPersonnelMapper.xml
@@ -58,7 +58,7 @@
and account like concat('%',#{queryCondition.userAccount},'%')
- and communitiy_personnel_id not in
+ and community_personnel_id not in
#{userId}
@@ -74,7 +74,7 @@
and account like concat('%',#{queryCondition.userAccount},'%')
- and communitiy_personnel_id not in
+ and community_personnel_id not in
#{userId}
From 6573045986cf5d89914adbf7c0bcca0648e493f0 Mon Sep 17 00:00:00 2001
From: wenhui <1455474577@qq.com>
Date: Wed, 2 Mar 2022 16:03:42 +0800
Subject: [PATCH 2/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9F=A5=E8=AF=A2?=
=?UTF-8?q?=E5=8D=A1=E6=8E=88=E6=9D=83=E6=97=A5=E5=BF=97Bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../java/com/xhpc/card/mapper/XhpcOperatorMapper.java | 10 ++++++++++
.../xhpc/card/service/impl/XhpcCardServiceImpl.java | 2 +-
.../src/main/resources/mapper/XhpcOperatorMapper.xml | 8 ++++++++
3 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/mapper/XhpcOperatorMapper.java b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/mapper/XhpcOperatorMapper.java
index 8172891c..d182eaec 100644
--- a/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/mapper/XhpcOperatorMapper.java
+++ b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/mapper/XhpcOperatorMapper.java
@@ -1,6 +1,7 @@
package com.xhpc.card.mapper;
import com.xhpc.card.pojo.XhpcOperator;
+import org.apache.ibatis.annotations.Param;
import java.util.List;
@@ -36,4 +37,13 @@ public interface XhpcOperatorMapper {
*/
List selectAll(String tenantId);
+ /**
+ * query XhpcOperator according corpNo
+ *
+ * @author WH
+ * @date 2022/3/2 14:57
+ * @since version-1.0
+ */
+ XhpcOperator selectOneByCorpNoAndTenantId(@Param("corpNo") String corpNo, @Param("tenantId") String tenantId);
+
}
\ No newline at end of file
diff --git a/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/service/impl/XhpcCardServiceImpl.java b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/service/impl/XhpcCardServiceImpl.java
index d650d733..286e7bc8 100644
--- a/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/service/impl/XhpcCardServiceImpl.java
+++ b/xhpc-modules/xhpc-card/src/main/java/com/xhpc/card/service/impl/XhpcCardServiceImpl.java
@@ -508,7 +508,7 @@ public class XhpcCardServiceImpl implements IXhpcCardService {
String log = tIccardLog.getLog();
CardLogInfo cardLogInfo = JSONUtil.toBean(log, CardLogInfo.class);
CardLogInfo.CardInfoDTO cardInfo = cardLogInfo.getCardInfo();
- XhpcOperator operator = xhpcOperatorMapper.selectByPrimaryKey(Long.valueOf(cardInfo.getCorpNo()));
+ XhpcOperator operator = xhpcOperatorMapper.selectOneByCorpNoAndTenantId(cardInfo.getCorpNo(), tokenService.getLoginUser().getSysUser().getTenantId());
dataDTO.setGrantOperatorName(operator.getName());
dataDTO.setCardSerialNumber(tIccardLog.getUniqueid());
dataDTO.setOperate(Integer.valueOf(tIccardLog.getOperate()));
diff --git a/xhpc-modules/xhpc-card/src/main/resources/mapper/XhpcOperatorMapper.xml b/xhpc-modules/xhpc-card/src/main/resources/mapper/XhpcOperatorMapper.xml
index 32b40468..984e61e8 100644
--- a/xhpc-modules/xhpc-card/src/main/resources/mapper/XhpcOperatorMapper.xml
+++ b/xhpc-modules/xhpc-card/src/main/resources/mapper/XhpcOperatorMapper.xml
@@ -60,6 +60,14 @@
FROM xhpc_operator
where tenant_id = #{tenantId}
+
delete
from xhpc_operator
From 472db29426342b1bd5ca70c2d32e993e9948c669 Mon Sep 17 00:00:00 2001
From: wenhui <1455474577@qq.com>
Date: Thu, 3 Mar 2022 10:48:46 +0800
Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=8F=91=E7=A5=A8?=
=?UTF-8?q?=E5=88=97=E8=A1=A8=E6=8E=A5=E5=8F=A3bug?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/main/resources/mapper/XhpcInvoiceMapper.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/xhpc-modules/xhpc-invoice/src/main/resources/mapper/XhpcInvoiceMapper.xml b/xhpc-modules/xhpc-invoice/src/main/resources/mapper/XhpcInvoiceMapper.xml
index c09bd97f..f2b4bc28 100644
--- a/xhpc-modules/xhpc-invoice/src/main/resources/mapper/XhpcInvoiceMapper.xml
+++ b/xhpc-modules/xhpc-invoice/src/main/resources/mapper/XhpcInvoiceMapper.xml
@@ -87,7 +87,7 @@
xhpc_invoice
del_flag IS NULL
-
+
and creator = #{creator}
From 7cd29efcc98badb2c14dcc806ec6f30f7f8f2fc9 Mon Sep 17 00:00:00 2001
From: zz
Date: Thu, 3 Mar 2022 12:07:37 +0800
Subject: [PATCH 4/4] =?UTF-8?q?=E5=8D=8F=E8=AE=AE=E5=AE=9E=E7=8E=B0?=
=?UTF-8?q?=E6=9B=B4=E6=96=B0=EF=BC=8C=E5=85=BC=E5=AE=B91.0=E3=80=812.0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../main/java/com/xhpc/pp/logic/OrderDataLogic.java | 2 +-
.../java/com/xhpc/pp/logic/RateModelRequestLogic.java | 2 +-
.../com/xhpc/pp/logic/RateModelValidateLogic.java | 2 +-
.../java/com/xhpc/pp/logic/RealtimeDataLogic.java | 2 +-
.../java/com/xhpc/pp/server/ChargingPileServer.java | 3 ++-
.../main/java/com/xhpc/pp/server/RateModelTask.java | 4 ++--
.../com/xhpc/pp/utils/security/CacheDataUtils.java | 11 ++++++++++-
.../xhpc-power-pile/src/main/resources/bootstrap.yml | 4 ++--
8 files changed, 20 insertions(+), 10 deletions(-)
diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/OrderDataLogic.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/OrderDataLogic.java
index 6a394017..c041c25c 100644
--- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/OrderDataLogic.java
+++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/OrderDataLogic.java
@@ -59,7 +59,7 @@ public class OrderDataLogic implements ServiceLogic {
REDIS.setCacheMap(gunkey, cacheGun);
Long rdtime = (Long) cacheOrder.get("rdtime");
Map cachePile = REDIS.getCacheMap("pile:".concat(orderData.getPileNo()));
- if (cachePile.get("version").equals("0B")) {
+ if (cachePile.get("version").equals("0C")) {
final String hex = orderData.getHex();
String cdhex = hex.substring(0xA2 * 2 + 4, hex.length() - 4);
if (cdhex.length() > 0) {
diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RateModelRequestLogic.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RateModelRequestLogic.java
index 8248b532..b1f35f72 100644
--- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RateModelRequestLogic.java
+++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RateModelRequestLogic.java
@@ -66,7 +66,7 @@ public class RateModelRequestLogic implements ServiceLogic {
String rateModel = translate(cacheRateModel);
String skey = "pile:".concat(pileNo).concat(".seqhex");
String resultStr;
- if ("0A".equals(version))
+ if (!"0C".equals(version))
resultStr = "685E".concat(seqHex(skey)).concat(svc).concat(pileNo).concat(String.format("%04X",
stationRateModelId)).concat(rateModel);
else
diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RateModelValidateLogic.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RateModelValidateLogic.java
index 98404078..12665367 100644
--- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RateModelValidateLogic.java
+++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RateModelValidateLogic.java
@@ -52,7 +52,7 @@ public class RateModelValidateLogic implements ServiceLogic {
String hexCode = ServiceResult.HEX_00;
Long rateModelId;
String version = (String) cachePile.get("version");
- if ("0A".equals(version)) rateModelId = Long.valueOf(Integer.parseInt(rateModelIdStr, 16));
+ if ("0C".equals(version)) rateModelId = Long.valueOf(HexUtils.reverseHexInt(rateModelIdStr));
else rateModelId = Long.valueOf(rateModelIdStr);
Long csRateModelId = rateModelId;
if (!charging) {
diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RealtimeDataLogic.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RealtimeDataLogic.java
index ad7a457b..04337e55 100644
--- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RealtimeDataLogic.java
+++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/logic/RealtimeDataLogic.java
@@ -133,7 +133,7 @@ public class RealtimeDataLogic implements ServiceLogic {
Integer cacheStartSoc = (Integer) cacheOrder.get("startSoc");
if (cacheStartSoc == null && socInt != 0) cacheOrder.put("startSoc", socInt);
if (socInt != 0) cacheOrder.put("endSoc", socInt);
- if (cachePile.get("version").equals("0B")) {
+ if (cachePile.get("version").equals("0C")) {
final String hex = realtimeData.getHex();
String cdhex = hex.substring(0x40 * 2 + 4, hex.length() - 4);
if (cdhex.length() > 0) {
diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/server/ChargingPileServer.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/server/ChargingPileServer.java
index 171b8588..aa2fe3a2 100644
--- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/server/ChargingPileServer.java
+++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/server/ChargingPileServer.java
@@ -119,7 +119,8 @@ public class ChargingPileServer {
cachePile.put("status", DISCONNECTED);
REDIS.setCacheMap(pkey, cachePile);
putemDisconn(pileNo, cachePile);
- log.debug("remove handler [{}] for ({})", handler.getName(), pileNo);
+ log.debug("remove handler [{}] for ({}), now try to close conn..", handler.getName(), pileNo);
+ handler.closeConnection();
pileMap.remove(handler.getName());
versionMapper.remove(handler.getName());
}
diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/server/RateModelTask.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/server/RateModelTask.java
index 185ed381..dc5e7096 100644
--- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/server/RateModelTask.java
+++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/server/RateModelTask.java
@@ -30,9 +30,9 @@ public class RateModelTask {
if (rateModelIdStation != null) {
Set pks = stationDto.getPiles();
if (pks != null) for (String pileNo : pks) {
- Long rateModelIdPile = REDIS.getCacheMapValue(pileNo, "rateModelId");
+ String pk = "pile:".concat(pileNo);
+ Long rateModelIdPile = REDIS.getCacheMapValue(pk, "rateModelId");
if (!rateModelIdStation.equals(rateModelIdPile)) {
- String pk = "pile:".concat(pileNo);
String gkPattern = ("gun:").concat(pk).concat("*");
Collection gks = REDIS.keys(gkPattern);
boolean charging = false;
diff --git a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/utils/security/CacheDataUtils.java b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/utils/security/CacheDataUtils.java
index 779ab9f1..aaedb618 100644
--- a/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/utils/security/CacheDataUtils.java
+++ b/xhpc-modules/xhpc-power-pile/src/main/java/com/xhpc/pp/utils/security/CacheDataUtils.java
@@ -2,6 +2,7 @@ package com.xhpc.pp.utils.security;
import cn.hutool.core.date.DateUtil;
import com.xhpc.pp.utils.HexUtils;
+import lombok.extern.slf4j.Slf4j;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
@@ -13,6 +14,7 @@ import static com.xhpc.common.core.utils.StringUtils.capitalize;
import static com.xhpc.common.data.redis.StaticBeanUtil.REDIS;
import static com.xhpc.pp.utils.security.CP56Time2a.cp56toDate;
+@Slf4j
public class CacheDataUtils {
public static Object reflectTranslate(Object srcobj, Class tarclz, Class srcclz, Field[] targetfields) throws IllegalAccessException, InvocationTargetException, InstantiationException {
@@ -36,7 +38,12 @@ public class CacheDataUtils {
tarval = (Integer) tarval > 0 ? tarval : 0;
}
} else {
- tarval = HexUtils.reverseHexInt(srcval);
+ try {
+ tarval = HexUtils.reverseHexInt(srcval);
+ } catch (java.lang.NumberFormatException e) { // todo 测试代码,不应该在生产环境运行到这里
+ log.error("fatal!! 4 bytes (bin) number: {} - {}", tarfield.getName(), srcval);
+ tarval = 0;
+ }
}
} else if (tarFieldName.contains("ime")) {
tarval = DateUtil.format(cp56toDate(srcval), NORM_DATETIME_FORMAT);
@@ -47,6 +54,8 @@ public class CacheDataUtils {
}
tarclz.getMethod("set".concat(capitalize(tarFieldName)), tarfield.getType()).invoke(tarobj, tarval);
} catch (NoSuchMethodException ignored) {
+ log.warn(" src[{}], tar[{}] NoSuchMethodException {}", tarclz.getName(),
+ srcclz.getName(), "set".concat(capitalize(tarFieldName)));
}
}
}
diff --git a/xhpc-modules/xhpc-power-pile/src/main/resources/bootstrap.yml b/xhpc-modules/xhpc-power-pile/src/main/resources/bootstrap.yml
index df3a5bc9..8c12f14b 100644
--- a/xhpc-modules/xhpc-power-pile/src/main/resources/bootstrap.yml
+++ b/xhpc-modules/xhpc-power-pile/src/main/resources/bootstrap.yml
@@ -18,10 +18,10 @@ spring:
nacos:
discovery:
# 服务注册地址
- server-addr: 172.31.183.135:8848
+ server-addr: 127.0.0.1:8848
config:
# 配置中心地址
- server-addr: 172.31.183.135:8848
+ server-addr: 127.0.0.1:8848
# 配置文件格式
file-extension: yml
# 共享配置