From 0909caac96ddac21f007d6c7ba6b348de9d2981a Mon Sep 17 00:00:00 2001
From: liurunyu <lry9898@163.com>
Date: 星期三, 25 六月 2025 16:03:56 +0800
Subject: [PATCH] MQTT设备命令日志功能实现
---
pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardSv.java | 63 ++++++++++++++++++++++++++++---
1 files changed, 56 insertions(+), 7 deletions(-)
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardSv.java
index f41c589..31520d5 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardSv.java
@@ -936,7 +936,7 @@
seCardOperate.setClientId(clientId);
seCardOperate.setMoney(po.getBalance());
seCardOperate.setRefundAmount(po.getSupplementMoney());
- seCardOperate.setOperateType(OperateTypeENUM.WRITE_BACK.getCode());
+ seCardOperate.setOperateType(OperateTypeENUM.SUPPLEMENT.getCode());
seCardOperate.setRemarks(po.getRemarks());
seCardOperate.setOperator(po.getOperator());
seCardOperate.setOperateDt(operateTime);
@@ -975,13 +975,20 @@
Integer operateType = po.getOperateType();
String orderNumber = po.getOrderNumber();
+ // 鍏堟鏌ユ槸鍚︿负绠$悊鍗�
+ if (operateType.equals(OperateTypeENUM.MANAGEMENT_CARD_WRITE.getCode().intValue())) {
+ // 绠$悊绫诲瀷鍗″啓鍗¢�昏緫
+ return handleManagementCardWrite(cardAddr, orderNumber);
+ }
+
+ // 澶勭悊鍐滄埛鍗¢�昏緫
Long cardId = seClientCardMapper.getCardIdByAddr(cardAddr);
if (cardId == null || cardId.equals(0)) {
map.put("msg", "鎮ㄦ寚瀹氱殑姘村崱涓嶅瓨鍦�");
return map;
}
- if (operateType == 1) {
+ if (operateType.equals(OperateTypeENUM.ACTIVE.getCode().intValue())) {
/**
* 寮�鍗℃搷浣滄墽琛岄�氱煡
* 1.渚濇嵁璁㈠崟鍙峰皢鏃犳晥鐘舵�佺殑鎿嶄綔璁板綍鏀逛负鏈夋晥
@@ -1003,7 +1010,7 @@
turnRechargeHistoryValidByOrderNumber(orderNumber);
updateCard(cardId, orderNumber + "p");
}
- } else if (operateType == 2) {
+ } else if (operateType.equals(OperateTypeENUM.RECHARGE.getCode().intValue())) {
/**
* 鍏呭�兼搷浣滄墽琛岄�氱煡
* 1. 鎿嶄綔璁板綍鏀逛负鏈夋晥
@@ -1013,7 +1020,7 @@
turnOperateValidByOrderNumber(orderNumber + "p");
turnRechargeHistoryValidByOrderNumber(orderNumber);
updateCard(cardId, orderNumber + "p");
- } else if (operateType == 3) {
+ } else if (operateType.equals(OperateTypeENUM.CANCEL.getCode().intValue())) {
/**
* 閿�鍗℃搷浣滄墽琛岄�氱煡
* 1. 鎿嶄綔璁板綍鏀逛负鏈夋晥
@@ -1027,7 +1034,7 @@
return map;
}
- } else if (operateType == 4) {
+ } else if (operateType.equals(OperateTypeENUM.REISSUE.getCode().intValue())) {
/**
* 琛ュ崱鎿嶄綔鎵ц閫氱煡
* 1. 鏂版按鍗¤褰曟敼涓烘湁鏁�
@@ -1042,7 +1049,7 @@
map.put("msg", "琛ュ崱鍥炶皟澶辫触");
return map;
}
- } else if (operateType == 5) {
+ } else if (operateType.equals(OperateTypeENUM.REFUND.getCode().intValue())) {
/**
* 琛ユ墸鎿嶄綔鎵ц閫氱煡
* 1. 鎿嶄綔璁板綍鏀逛负鏈夋晥
@@ -1054,7 +1061,7 @@
map.put("msg", "琛ユ墸鍥炶皟澶辫触");
return map;
}
- } else if (operateType == 6) {
+ } else if (operateType.equals(OperateTypeENUM.SUPPLEMENT.getCode().intValue())) {
/**
* 杩旇繕鎿嶄綔鎵ц閫氱煡
* 1. 鎿嶄綔璁板綍鏀逛负鏈夋晥
@@ -1073,6 +1080,48 @@
return map;
}
+ /**
+ * 澶勭悊绠$悊绫诲瀷鍗″啓鍗″洖璋�
+ *
+ * @param cardAddr 鍗″湴鍧�
+ * @param orderNumber 璁㈠崟鍙�
+ * @return 澶勭悊缁撴灉
+ */
+ private Map<String, Object> handleManagementCardWrite(String cardAddr, String orderNumber) {
+ Map<String, Object> map = new HashMap<>();
+ map.put("success", false);
+ map.put("content", null);
+
+ try {
+ // 鏍规嵁鍗″湴鍧�鍜岃鍗曞彿鏌ユ壘绠$悊鍗�
+ SeManagementCard managementCard = seManagementCardMapper.selectOne(
+ com.baomidou.mybatisplus.core.toolkit.Wrappers.<SeManagementCard>lambdaQuery()
+ .eq(SeManagementCard::getCardAddr, cardAddr)
+ .eq(SeManagementCard::getOrderNo, orderNumber));
+
+ if (managementCard == null) {
+ map.put("msg", "鏈壘鍒板搴旂殑绠$悊鍗¤褰�");
+ return map;
+ }
+
+ // 鏇存柊绠$悊鍗$姸鎬佷负姝e父
+ managementCard.setState(ManagementCardStateENUM.NORMAL.getCode());
+
+ int updateResult = seManagementCardMapper.updateByPrimaryKeySelective(managementCard);
+ if (updateResult > 0) {
+ map.put("success", true);
+ map.put("msg", "绠$悊鍗″啓鍗″畬鎴愶紝鐘舵�佸凡鏇存柊涓烘甯�");
+ } else {
+ map.put("msg", "绠$悊鍗$姸鎬佹洿鏂板け璐�");
+ }
+ } catch (Exception e) {
+ log.error("澶勭悊绠$悊鍗″啓鍗″洖璋冨紓甯�", e);
+ map.put("msg", "澶勭悊绠$悊鍗″啓鍗″洖璋冩椂鍙戠敓寮傚父锛�" + e.getMessage());
+ }
+
+ return map;
+ }
+
// 鏍规嵁璁㈠崟鍙峰皢鎿嶄綔璁板綍鏀逛负鏈夋晥
public Integer turnOperateValidByOrderNumber(String orderNumber) {
return seCardOperateMapper.turnOperateValidByOrderNumber(orderNumber);
--
Gitblit v1.8.0