From a75d9020e09b7000d0e66387cc43211da04d2292 Mon Sep 17 00:00:00 2001 From: zuoxiao <lf_zuo@163.com> Date: 星期三, 25 六月 2025 19:51:39 +0800 Subject: [PATCH] feat(card): 为 DtoRecharge 类的 paymentId 字段添加 NotNull 注解 --- pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardSv.java | 73 ++++++++++++++++++++++++++++++++---- 1 files changed, 64 insertions(+), 9 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 33e01ca..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 @@ -14,6 +14,7 @@ import com.dy.pipIrrTerminal.card.qo.QoLostCards; import com.dy.pipIrrTerminal.card.enums.CardStateENUM; import com.dy.pipIrrTerminal.card.enums.LastOperateENUM; +import com.dy.pipIrrTerminal.card.enums.ManagementCardStateENUM; import com.dy.pipIrrTerminal.card.enums.OperateTypeENUM; import com.dy.pipIrrTerminal.card.enums.RechargeTypeENUM; import lombok.extern.slf4j.Slf4j; @@ -22,6 +23,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import com.dy.common.util.IDLongGenerator; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; @@ -57,6 +59,9 @@ @Autowired private SeManagementCardMapper seManagementCardMapper; + + @Autowired + private IDLongGenerator idLongGenerator; @Value("${project.projectNo}") private Integer projectNo; @@ -931,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); @@ -970,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.渚濇嵁璁㈠崟鍙峰皢鏃犳晥鐘舵�佺殑鎿嶄綔璁板綍鏀逛负鏈夋晥 @@ -998,7 +1010,7 @@ turnRechargeHistoryValidByOrderNumber(orderNumber); updateCard(cardId, orderNumber + "p"); } - } else if (operateType == 2) { + } else if (operateType.equals(OperateTypeENUM.RECHARGE.getCode().intValue())) { /** * 鍏呭�兼搷浣滄墽琛岄�氱煡 * 1. 鎿嶄綔璁板綍鏀逛负鏈夋晥 @@ -1008,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. 鎿嶄綔璁板綍鏀逛负鏈夋晥 @@ -1022,7 +1034,7 @@ return map; } - } else if (operateType == 4) { + } else if (operateType.equals(OperateTypeENUM.REISSUE.getCode().intValue())) { /** * 琛ュ崱鎿嶄綔鎵ц閫氱煡 * 1. 鏂版按鍗¤褰曟敼涓烘湁鏁� @@ -1037,7 +1049,7 @@ map.put("msg", "琛ュ崱鍥炶皟澶辫触"); return map; } - } else if (operateType == 5) { + } else if (operateType.equals(OperateTypeENUM.REFUND.getCode().intValue())) { /** * 琛ユ墸鎿嶄綔鎵ц閫氱煡 * 1. 鎿嶄綔璁板綍鏀逛负鏈夋晥 @@ -1049,7 +1061,7 @@ map.put("msg", "琛ユ墸鍥炶皟澶辫触"); return map; } - } else if (operateType == 6) { + } else if (operateType.equals(OperateTypeENUM.SUPPLEMENT.getCode().intValue())) { /** * 杩旇繕鎿嶄綔鎵ц閫氱煡 * 1. 鎿嶄綔璁板綍鏀逛负鏈夋晥 @@ -1065,6 +1077,48 @@ map.put("success", true); map.put("msg", "鎿嶄綔鎴愬姛"); + 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; } @@ -1306,8 +1360,8 @@ // 鍙傝�僼ermActiveCard閫昏緫锛氱敓鎴愯鍗曞彿 String orderNo = generateOrderNo(); - // 鍙傝�僼ermActiveCard閫昏緫锛氱敓鎴愬敮涓�ID锛屼娇鐢ㄦ椂闂存埑 - Long id = System.currentTimeMillis(); + // 浣跨敤IDLongGenerator鐢熸垚鍞竴ID + Long id = idLongGenerator.generate(); Date createTime = new Date(); // 鏋勫缓绠$悊鍗″璞� @@ -1325,6 +1379,7 @@ .domain(dto.getDomain()) .openClostTime(dto.getOpenClostTime()) .remarks(dto.getRemarks()) + .state(ManagementCardStateENUM.UNWRITTEN.getCode()) // 榛樿鐘舵�佷负鏈啓鍗� .build(); // 鎻掑叆鏁版嵁搴� -- Gitblit v1.8.0