From 41601a43ab9d3d2b65aad02b33c8d57dba7da055 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期三, 04 六月 2025 17:29:33 +0800
Subject: [PATCH] 开卡附加充值、充值、补卡
---
pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/dto/ActiveCard.java | 1
pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardSv.java | 231 ++++++++++++++++++++--------
pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/dto/CardSimple.java | 30 +++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTermRecharge.java | 11 -
pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/dto/DtoReissue.java | 60 +++++++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTermActiveCard.java | 36 ++++
pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardCtrl.java | 58 ++++++
pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml | 2
pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/dto/DtoRecharge.java | 1
9 files changed, 346 insertions(+), 84 deletions(-)
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTermActiveCard.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTermActiveCard.java
new file mode 100644
index 0000000..e138fc3
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTermActiveCard.java
@@ -0,0 +1,36 @@
+package com.dy.pipIrrGlobal.voSe;
+
+import com.alibaba.fastjson2.annotation.JSONField;
+import com.alibaba.fastjson2.writer.ObjectWriterImplToString;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonPropertyOrder;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2025-06-04 11:45
+ * @LastEditTime 2025-06-04 11:45
+ * @Description 鍏呭�兼満寮�鍗¤繑鍥炶鍥惧璞�
+ */
+
+@Data
+@JsonPropertyOrder({"projectNo", "cardNum", "balance", "waterPrice", "time", "orderNo"})
+public class VoTermActiveCard {
+ public static final long serialVersionUID = 202506041146001L;
+
+ private Integer projectNo;
+
+ @JSONField(serializeUsing= ObjectWriterImplToString.class)
+ private Long cardNum;
+
+ private Float balance;
+
+ private Double waterPrice;
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+ private Date time;
+
+ private String orderNo;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTermRecharge.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTermRecharge.java
index e0d69f8..10af526 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTermRecharge.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTermRecharge.java
@@ -12,11 +12,11 @@
* @author ZhuBaoMin
* @date 2025-05-08 15:59
* @LastEditTime 2025-05-08 15:59
- * @Description
+ * @Description 鍏呭�兼満鍏呭�艰繑鍥炶鍥惧璞�
*/
@Data
-@JsonPropertyOrder({"projectNo", "cardNum", "balance", "waterPrice", "time", "orderNo"})
+@JsonPropertyOrder({"projectNo", "cardNum", "orderNo"})
public class VoTermRecharge {
public static final long serialVersionUID = 202505081559001L;
@@ -24,13 +24,6 @@
@JSONField(serializeUsing= ObjectWriterImplToString.class)
private Long cardNum;
-
- private Float balance;
-
- private Double waterPrice;
-
- @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
- private Date time;
private String orderNo;
}
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
index e37b6d4..b4d514e 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/application-global.yml
@@ -85,7 +85,7 @@
pipIrr:
global:
- dev: false #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse
+ dev: true #鏄惁寮�鍙戦樁娈碉紝true鎴杅alse
dsName: ym #寮�鍙戦樁娈碉紝璁剧疆涓存椂鐨勬暟鎹簱鍚嶇О
nginx:
root: D:/apps/pipIrr/nginx-1.27.0
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardCtrl.java
index 1c6cc15..33a1ec5 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/CardCtrl.java
@@ -3,14 +3,15 @@
import com.dy.common.aop.SsoAop;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.BaseResponseUtils;
+import com.dy.pipIrrGlobal.voSe.VoTermActiveCard;
import com.dy.pipIrrGlobal.voSe.VoTermRecharge;
import com.dy.pipIrrTerminal.card.dto.ActiveCard;
-import io.swagger.v3.oas.annotations.tags.Tag;
+import com.dy.pipIrrTerminal.card.dto.DtoRecharge;
+import com.dy.pipIrrTerminal.card.dto.DtoReissue;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.MediaType;
-import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -34,10 +35,15 @@
public class CardCtrl {
private final CardSv cardSv;
- @PostMapping(path = "activeTermCard", consumes = MediaType.APPLICATION_JSON_VALUE)
- @Transactional(rollbackFor = Exception.class)
+ /**
+ * 寮�鍗★紙鍚厖鍊硷級
+ * @param po
+ * @param bindingResult
+ * @return
+ */
+ @PostMapping(path = "termActiveCard", consumes = MediaType.APPLICATION_JSON_VALUE)
@SsoAop()
- public BaseResponse<VoTermRecharge> activeTermCard(@RequestBody @Valid ActiveCard po, BindingResult bindingResult) {
+ public BaseResponse<VoTermActiveCard> termActiveCard(@RequestBody @Valid ActiveCard po, BindingResult bindingResult) {
if (bindingResult != null && bindingResult.hasErrors()) {
return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
}
@@ -49,4 +55,46 @@
return BaseResponseUtils.buildSuccess(map_result.get("content")) ;
}
+
+ /**
+ * 鍏呭��
+ * @param po
+ * @param bindingResult
+ * @return
+ */
+ @PostMapping(path = "termRecharge", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @SsoAop()
+ public BaseResponse<VoTermRecharge> termRecharge(@RequestBody @Valid DtoRecharge po, BindingResult bindingResult) {
+ if (bindingResult != null && bindingResult.hasErrors()) {
+ return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+ }
+
+ Map map_result = cardSv.addRecharge(po);
+ if(map_result.get("success").equals(false)) {
+ return BaseResponseUtils.buildErrorMsg(map_result.get("msg").toString());
+ }
+ return BaseResponseUtils.buildSuccess(map_result.get("content")) ;
+
+ }
+
+ /**
+ * 琛ュ崱
+ * @param po
+ * @param bindingResult
+ * @return
+ */
+ @PostMapping(path = "termReissue", consumes = MediaType.APPLICATION_JSON_VALUE)
+ @SsoAop()
+ public BaseResponse<VoTermRecharge> termReissue(@RequestBody @Valid DtoReissue po, BindingResult bindingResult) {
+ if (bindingResult != null && bindingResult.hasErrors()) {
+ return BaseResponseUtils.buildErrorMsg(Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage());
+ }
+
+ Map map_result = cardSv.reissue(po);
+ if(map_result.get("success").equals(false)) {
+ return BaseResponseUtils.buildErrorMsg(map_result.get("msg").toString());
+ }
+ return BaseResponseUtils.buildSuccess(map_result.get("content")) ;
+
+ }
}
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 8a8e2bc..ded6fa1 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
@@ -1,17 +1,19 @@
package com.dy.pipIrrTerminal.card;
-import com.dy.common.webUtil.BaseResponse;
-import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.pipIrrGlobal.daoPr.PrWaterPriceMapper;
import com.dy.pipIrrGlobal.daoSe.SeCardOperateMapper;
import com.dy.pipIrrGlobal.daoSe.SeClientCardMapper;
import com.dy.pipIrrGlobal.daoSe.SeClientMapper;
+import com.dy.pipIrrGlobal.daoSe.SeRechargeHistoryMapper;
import com.dy.pipIrrGlobal.pojoSe.SeCardOperate;
import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
import com.dy.pipIrrGlobal.pojoSe.SeRechargeHistory;
+import com.dy.pipIrrGlobal.voSe.VoTermActiveCard;
import com.dy.pipIrrGlobal.voSe.VoTermRecharge;
import com.dy.pipIrrTerminal.card.dto.ActiveCard;
+import com.dy.pipIrrTerminal.card.dto.CardSimple;
import com.dy.pipIrrTerminal.card.dto.DtoRecharge;
+import com.dy.pipIrrTerminal.card.dto.DtoReissue;
import com.dy.pipIrrTerminal.card.enums.CardStateENUM;
import com.dy.pipIrrTerminal.card.enums.LastOperateENUM;
import com.dy.pipIrrTerminal.card.enums.OperateTypeENUM;
@@ -20,6 +22,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
@@ -47,6 +50,9 @@
@Autowired
private PrWaterPriceMapper prWaterPriceMapper;
+ @Autowired
+ private SeRechargeHistoryMapper seRechargeHistoryMapper;
+
@Value("${project.projectNo}")
private Integer projectNo;
@@ -69,6 +75,70 @@
}
return false;
+ }
+
+ /**
+ * 鏍规嵁姘村崱缂栧彿鍒ゆ柇璇ュ崱鏄惁鍙互鍏呭��
+ * @param po
+ * @return true:鍙互鍏呭��
+ */
+ public Map canRecharge(DtoRecharge po) {
+ Map map = new HashMap<>();
+ map.put("success", false);
+ map.put("content", null);
+
+ String stateName = Optional.ofNullable(seClientCardMapper.getCardStateByCardNum(po.getCardNum())).orElse("");
+ // 鍗曠嫭鍏呭�兼椂鍗$墖蹇呴』涓烘甯�
+ if((po.getRechargeType() == RechargeTypeENUM.RECHARGE.getCode()) && !stateName.equals("姝e父")) {
+ map.put("msg", stateName + ", " + "姘村崱鐘舵�佷笉鏀寔褰撳墠鎿嶄綔");
+ return map;
+ }
+
+ map.put("success", true);
+ return map;
+ }
+
+ /**
+ * 鏍规嵁姘村崱缂栧彿鍒ゆ柇璇ュ崱鏄惁鍙互琛ュ崱
+ * @param po
+ * @return true:鍙互琛ュ崱
+ */
+ public Map canReissue(DtoReissue po) {
+ Map map = new HashMap<>();
+ map.put("success", false);
+ map.put("content", null);
+
+ Long cardNum = po.getCardNum();
+ Integer lostCount = seClientCardMapper.getLostCount(cardNum);
+ Integer replacedCount = seClientCardMapper.getReplacedCount(cardNum);
+ if(lostCount == 0 || replacedCount > 0) {
+ map.put("msg", "姘村崱鏈寕澶辨垨宸茶ˉ鍗★紝涓嶈兘琛ュ崱");
+ return map;
+ }
+
+ Float reissueAmount = po.getReissueAmount();
+ if (reissueAmount != null && reissueAmount > 0) {
+ Double tradeAmount = seCardOperateMapper.getTradeAmountByCardNo(cardNum);
+ if (tradeAmount != null && tradeAmount > 0) {
+ map.put("msg", "鍘熷崱鎸傚け鏃跺凡閫�娆撅紝琛ュ崱鏃朵笉鑳借ˉ璐圭敤");
+ return map;
+ }
+ }
+
+ Map map_card = Optional.ofNullable(seClientCardMapper.getCardIdAndClientNum(cardNum)).orElse(new HashMap());
+ if (map_card == null || map_card.size() <= 0) {
+ map.put("msg", "鍗″彿閿欒锛岃鍗′笉瀛樺湪");
+ return map;
+ }
+
+ CardSimple card = new CardSimple();
+ card.setCardId(Long.parseLong(map_card.get("cardId").toString()));
+ card.setClientId(Long.parseLong(map_card.get("clientId").toString()));
+ card.setProtocol(map_card.get("protocol").toString());
+
+ map.put("success", true);
+ map.put("content", card);
+ return map;
}
/**
@@ -127,7 +197,6 @@
}
return dtf.format(dateTime) + sb.toString();
}
-
public Map addCardAndOperate(ActiveCard po, Long cardNum, String orderNo) {
Map map = new HashMap<>();
@@ -191,11 +260,20 @@
return map;
}
+ /**
+ * 寮�鍗¢檮鍔犲厖鍊�
+ * @param po
+ * @param cardNum
+ * @return
+ */
public Map plusRecharge(ActiveCard po, Long cardNum) {
Map map = new HashMap<>();
map.put("success", false);
map.put("content", null);
+ /**
+ * 娣诲姞姘村崱鎿嶄綔璁板綍
+ */
DtoRecharge dtoRecharge = new DtoRecharge();
dtoRecharge.setCardNum(cardNum);
dtoRecharge.setAmount(po.getAmount());
@@ -205,17 +283,21 @@
dtoRecharge.setMoney(0f);
dtoRecharge.setGift(0f);
dtoRecharge.setPrice(0f);
- //BaseResponse<Boolean> job = cardOperateSv.addRecharge(dtoRecharge);
- BaseResponse<Boolean> job = null;
- if (!job.getCode().equals("0001")) {
+ Map map_plusRecharge = addRecharge(dtoRecharge);
+ if (!map_plusRecharge.get("success").equals(true)) {
map.put("msg", "寮�鍗″け璐�-鍏呭�煎紓甯�");
return map;
}
-
map.put("success", true);
return map;
}
+ /**
+ * 婵�娲绘垨琛ュ崱
+ * @param po
+ * @return
+ */
+ @Transactional(rollbackFor = Exception.class)
public Map activeOrReissueTermCard(ActiveCard po) {
Map map = new HashMap<>();
map.put("success", false);
@@ -253,68 +335,30 @@
Float balance = Optional.ofNullable(seClientCardMapper.getMoneyByCardNum(cardNum)).orElse(0f);
Double waterPrice = prWaterPriceMapper.getPrice();
- VoTermRecharge voTermRecharge = new VoTermRecharge();
- voTermRecharge.setProjectNo(projectNo);
- voTermRecharge.setCardNum(cardNum);
- voTermRecharge.setBalance(balance);
- voTermRecharge.setWaterPrice(waterPrice);
- voTermRecharge.setTime(new Date());
- voTermRecharge.setOrderNo(orderNo);
+ VoTermActiveCard voTermActiveCard = new VoTermActiveCard();
+ voTermActiveCard.setProjectNo(projectNo);
+ voTermActiveCard.setCardNum(cardNum);
+ voTermActiveCard.setBalance(balance);
+ voTermActiveCard.setWaterPrice(waterPrice);
+ voTermActiveCard.setTime(new Date());
+ voTermActiveCard.setOrderNo(orderNo);
map.put("success", true);
map.put("msg", "鎿嶄綔鎴愬姛");
- map.put("content", voTermRecharge);
+ map.put("content", voTermActiveCard);
return map;
}
- public Map canRecharge(DtoRecharge po) {
- Map map = new HashMap<>();
- map.put("success", false);
- map.put("content", null);
-
- String stateName = Optional.ofNullable(seClientCardMapper.getCardStateByCardNum(po.getCardNum())).orElse("");
- // 鍗曠嫭鍏呭�兼椂鍗$墖蹇呴』涓烘甯�
- if((po.getRechargeType() == RechargeTypeENUM.RECHARGE.getCode()) && !stateName.equals("姝e父")) {
- map.put("msg", stateName + ", " + "姘村崱鐘舵�佷笉鏀寔褰撳墠鎿嶄綔");
- return map;
- }
-
- map.put("success", true);
- return map;
- }
-
+ /**
+ * 鍏呭��
+ * @param po
+ * @return
+ */
+ @Transactional(rollbackFor = Exception.class)
public Map addRecharge(DtoRecharge po) {
Map map = new HashMap<>();
map.put("success", false);
map.put("content", null);
-
- /**
- * cardId 姘村崱缂栧彿锛堜緷鎹按鍗$紪鍙疯幏鍙栵級
- * clientId 鍐滄埛缂栧彿锛堜緷鎹按鍗$紪鍙疯幏鍙栵級
- * cardNum 姘村崱缂栧彿
- * money 鍗$墖浣欓
- * amount 鍏呭�奸噾棰�
- * gift 璧犻�侀噾棰�
- * afterRecharge 鍏呭�煎悗浣欓
- * paymentId 鏀粯鏂瑰紡缂栧彿
- * price 姘翠环
- * remarks 澶囨敞
- * operator 鎿嶄綔浜虹紪鍙�
- * rechargeTime 鍏呭�兼椂闂�
- */
-
- //Long cardId = 0L;
- //Long clientId = 0L;
- //Long cardNum = po.getCardNum();
- //Float money = po.getMoney();
- //Float amount = po.getAmount();
- //Float gift = po.getGift();
- //Float afterRecharge = money + amount + gift;
- //Long paymentId = po.getPaymentId();
- //Float price = po.getPrice();
- //String remarks = po.getRemarks();
- //Long operator = po.getOperator();
- //Date rechargeTime = new Date();
Map map_canRecharge = canRecharge(po);
if(map_canRecharge.get("success").equals(false)) {
@@ -332,6 +376,7 @@
}
Long cardId = Long.parseLong(map_cardAndClient.get("cardId").toString());
Long clientId = Long.parseLong(map_cardAndClient.get("clientId").toString());
+ String orderNo = generateOrderNo();
/**
* 娣诲姞姘村崱鍏呭�兼搷浣滆褰�
@@ -348,11 +393,13 @@
seCardOperate.setRemarks(po.getRemarks());
seCardOperate.setOperator(po.getOperator());
seCardOperate.setOperateDt(new Date());
+ seCardOperate.setOrderNo(orderNo);
seCardOperate.setOperateValid((byte) 1);
seCardOperateMapper.insert(seCardOperate);
Long rec = Optional.ofNullable(seCardOperate.getId()).orElse(0L);
if (rec == 0) {
- //return BaseResponseUtils.buildErrorMsg("鍏呭�煎け璐�-鍏呭�艰褰曞啓鍏ュ紓甯�");
+ map.put("msg", "鍏呭�煎け璐�-鍏呭�艰褰曞啓鍏ュ紓甯�");
+ return map;
}
/**
@@ -372,19 +419,65 @@
seRechargeHistory.setOperator(po.getOperator());
seRechargeHistory.setOperatedt(new Date());
seRechargeHistory.setOperateValid((byte) 1);
- //seRechargeHistoryMapper.insert(seRechargeHistory);
+ seRechargeHistoryMapper.insert(seRechargeHistory);
Long rec_seRechargeHistory = Optional.ofNullable(seRechargeHistory.getId()).orElse(0L);
- //if (rec_seRechargeHistory == 0) {
- // return BaseResponseUtils.buildErrorMsg("鍏呭�煎け璐�-鍏呭�煎巻鍙茶褰曞啓鍏ュ紓甯�");
- //}
+ if (rec_seRechargeHistory == 0) {
+ map.put("msg", "鍏呭�煎け璐�-鍏呭�煎巻鍙茶褰曞啓鍏ュ紓甯�");
+ return map;
+ }
- //Map map_response = new HashMap();
- //map_response.put("projectNo", String.format("%02x", projectNo));
- //map_response.put("orderNumber", rec);
- //map_response.put("cardNum", cardNum);
- //return BaseResponseUtils.buildSuccess(map_response);
+ VoTermRecharge voTermRecharge = new VoTermRecharge();
+ voTermRecharge.setProjectNo(projectNo);
+ voTermRecharge.setCardNum(po.getCardNum());
+ voTermRecharge.setOrderNo(orderNo);
+ map.put("success", true);
+ map.put("msg", "鎿嶄綔鎴愬姛");
+ map.put("content", voTermRecharge);
return map;
}
+ /**
+ * 琛ュ崱
+ * @param po
+ * @return
+ */
+ @Transactional(rollbackFor = Exception.class)
+ public Map reissue(DtoReissue po) {
+ Map map = new HashMap<>();
+ map.put("success", false);
+ map.put("content", null);
+
+ Map map_canReissue = canReissue(po);
+ if(map_canReissue.get("success").equals(false)) {
+ map.put("msg", map_canReissue.get("msg").toString());
+ return map;
+ }
+ CardSimple card = (CardSimple) map_canReissue.get("content");
+ Long cardId = card.getCardId();
+ Long clientId = card.getClientId();
+ String protocol = card.getProtocol();
+
+ /**
+ * 娣诲姞寮�鍗¤褰曪紝閫�杩橀噾棰濆啿鍒版柊鍗′腑
+ */
+ ActiveCard activeCard = new ActiveCard();
+ activeCard.setProtocol(protocol);
+ activeCard.setCardAddr(po.getCardAddr());
+ activeCard.setClientId(clientId);
+ activeCard.setOriginalCardId(cardId);
+ activeCard.setCardCost(po.getCardCost());
+ activeCard.setAmount(po.getReissueAmount());
+ activeCard.setPaymentId(po.getPaymentId());
+ activeCard.setRemarks(po.getRemarks());
+ activeCard.setOperator(po.getOperator());
+
+ Map map_newCard = activeOrReissueTermCard(activeCard);
+ VoTermActiveCard voTermActiveCard = (VoTermActiveCard) map_newCard.get("content");
+
+ map.put("success", true);
+ map.put("msg", "鎿嶄綔鎴愬姛");
+ map.put("content", voTermActiveCard);
+ return map;
+ }
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/dto/ActiveCard.java b/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/dto/ActiveCard.java
index 5e5f365..6082c9c 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/dto/ActiveCard.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/dto/ActiveCard.java
@@ -66,4 +66,5 @@
*/
@NotNull(message = "鎿嶄綔浜轰笉鑳戒负绌�")
private Long operator;
+
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/dto/CardSimple.java b/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/dto/CardSimple.java
new file mode 100644
index 0000000..a7bf744
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/dto/CardSimple.java
@@ -0,0 +1,30 @@
+package com.dy.pipIrrTerminal.card.dto;
+
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2025-06-04 16:26
+ * @LastEditTime 2025-06-04 16:26
+ * @Description 姘村崱绠�鍗曚俊鎭�
+ */
+
+@Data
+public class CardSimple {
+ public static final long serialVersionUID = 202506041628001L;
+
+ /**
+ * 姘村崱ID
+ */
+ private Long cardId;
+
+ /**
+ * 鍐滄埛ID
+ */
+ private Long clientId;
+
+ /**
+ * 鍗忚鍚嶇О
+ */
+ private String protocol;
+}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/dto/DtoRecharge.java b/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/dto/DtoRecharge.java
index 0605f3a..1ff7254 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/dto/DtoRecharge.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/dto/DtoRecharge.java
@@ -74,5 +74,6 @@
/**
* 鍏呭�肩被鍨嬶細1-寮�鍗″悓姝ュ厖鍊硷紝2-鍏呭��
*/
+ @NotNull(message = "鍏呭�肩被鍨嬩笉鑳戒负绌�")
private Byte rechargeType;
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/dto/DtoReissue.java b/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/dto/DtoReissue.java
new file mode 100644
index 0000000..9e5321a
--- /dev/null
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-terminal/src/main/java/com/dy/pipIrrTerminal/card/dto/DtoReissue.java
@@ -0,0 +1,60 @@
+package com.dy.pipIrrTerminal.card.dto;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.*;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2025-06-04 14:42
+ * @LastEditTime 2025-06-04 14:42
+ * @Description 琛ュ崱浼犲叆瀵硅薄
+ */
+
+@Data
+@Builder
+@ToString
+@NoArgsConstructor
+@AllArgsConstructor
+public class DtoReissue {
+ public static final long serialVersionUID = 202506041446001L;
+ /**
+ * 姘村崱鍦板潃
+ */
+ @NotBlank(message = "姘村崱鍦板潃涓嶈兘涓虹┖")
+ private String cardAddr;
+
+ /**
+ * 姘村崱缂栧彿
+ */
+ @NotNull(message = "姘村崱缂栧彿涓嶈兘涓虹┖")
+ private Long cardNum;
+
+ /**
+ * 鍗$墖璐圭敤
+ */
+ private Integer cardCost;
+
+ /**
+ * 閫�杩橀噾棰�
+ */
+ private Float reissueAmount;
+
+ /**
+ * 鏀粯鏂瑰紡
+ */
+ @NotNull(message = "鏀粯鏂瑰紡涓嶈兘涓虹┖")
+ private Long paymentId;
+
+ /**
+ * 澶囨敞淇℃伅
+ */
+ private String remarks;
+
+ /**
+ * 鎿嶄綔浜虹紪鍙�
+ */
+ @NotNull(message = "鎿嶄綔浜轰笉鑳戒负绌�")
+ private Long operator;
+}
--
Gitblit v1.8.0