From f392d72c505996c4525436129356f64f69bd9ae5 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期一, 09 九月 2024 16:47:01 +0800
Subject: [PATCH] 2024-09-09 朱宝民 添加换卡功能,包括换卡开卡、换卡充值

---
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/LastOperateENUM.java        |    4 +++-
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java         |   22 +++++++++++++++++++---
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java       |   18 +++++++++++++++---
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/enums/OperateTypeENUM.java |    4 +++-
 pipIrr-platform/pipIrr-global/src/main/resources/init-config.xml                                                  |    1 +
 5 files changed, 41 insertions(+), 8 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/init-config.xml b/pipIrr-platform/pipIrr-global/src/main/resources/init-config.xml
index b28eb79..8e726f1 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/init-config.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/init-config.xml
@@ -24,6 +24,7 @@
                 <item2 name="寰俊鏀粯"/>
                 <item3 name="鏀粯瀹濇敮浠�"/>
                 <item4 name="閾惰杞处"/>
+                <item5 name="鎹㈠崱"/>
             </payments>
             <settings>
                 <item1 item_name="lng" item_value="101.87345" remarks="缁忓害"/>
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java
index 3367773..4eb7374 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java
@@ -63,6 +63,7 @@
     private Integer projectNo;
     /**
      * 寮�鍗�
+     * 褰撳崱鐗囪垂鐢ㄤ负0鏃跺嵆涓烘崲鍗℃搷浣滐紝涓嶆敹鍗$墖璐圭敤锛屼笉鏀朵綑棰�
      * @param po 寮�鍗′紶鍏ュ璞�
      * @param bindingResult
      * @return 姘村崱缂栧彿
@@ -142,7 +143,14 @@
             seClientCard.setOriginalCardId(originalCardId);
         }
         seClientCard.setCreatedt(activeTime);
-        seClientCard.setLastoper(LastOperateENUM.ACTIVE.getCode());
+        if(cardCost == 0) {
+            // 鎹㈠崱
+            seClientCard.setLastoper(LastOperateENUM.CHANGE_CARD.getCode());
+        }else {
+            // 寮�鍗�
+            seClientCard.setLastoper(LastOperateENUM.ACTIVE.getCode());
+        }
+        //seClientCard.setLastoper(LastOperateENUM.ACTIVE.getCode());
         Long cardId = Optional.ofNullable(clientCardSv.add(seClientCard)).orElse(0L) ;
         if(cardId == 0) {
             return BaseResponseUtils.buildErrorMsg(SellResultCode.ACTIVE_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage());
@@ -161,8 +169,12 @@
             // 琛ュ崱
             seCardOperate.setOperateType(OperateTypeENUM.REISSUE.getCode());
         }else {
-            // 寮�鏂板崱
-            seCardOperate.setOperateType(OperateTypeENUM.ACTIVE.getCode());
+            // 寮�鏂板崱鎴栨崲鍗�
+            if(cardCost > 0) {
+                seCardOperate.setOperateType(OperateTypeENUM.ACTIVE.getCode());
+            }else {
+                seCardOperate.setOperateType(OperateTypeENUM.CHANGE_CARD.getCode());
+            }
         }
         seCardOperate.setRemarks(remarks);
         seCardOperate.setOperator(operator);
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java
index 7fb7ae2..5daf122 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java
@@ -11,6 +11,7 @@
 import com.dy.pipIrrGlobal.pojoSe.SeCardOperate;
 import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
 import com.dy.pipIrrGlobal.pojoSe.SeManagerCard;
+import com.dy.pipIrrGlobal.pojoSe.SePaymentMethod;
 import com.dy.pipIrrGlobal.voSe.*;
 import com.dy.pipIrrSell.cardOperate.dto.DtoRecharge;
 import com.dy.pipIrrSell.cardOperate.enums.OperateTypeENUM;
@@ -57,6 +58,9 @@
 
     @Autowired
     private SeManagerCardMapper seManagerCardMapper;
+
+    @Autowired
+    private SePaymentMethodMapper sePaymentMethodMapper;
 
     @Value("${project.projectNo}")
     private Integer projectNo;
@@ -195,11 +199,20 @@
          *      琛ュ崱鏃堕棿
          *      鏈�鍚庢搷浣滅被鍨�-2
          */
+
+        // 鏍规嵁鏀粯鏂瑰紡ID鑾峰彇鏀粯鏂瑰紡鍚嶇О
+        SePaymentMethod sePaymentMethod = sePaymentMethodMapper.selectByPrimaryKey(paymentId);
+        String paymentName = sePaymentMethod.getName();
+
         SeClientCard seClientCard = new SeClientCard();
         seClientCard.setId(cardId);
         seClientCard.setMoney(afterRecharge);
         seClientCard.setRechargedt(rechargeTime);
-        seClientCard.setLastoper(LastOperateENUM.RECHARGE.getCode ());
+        if(paymentName != null && paymentName.equals("鎹㈠崱")) {
+            seClientCard.setLastoper(LastOperateENUM.CHANGE_RECHARGE.getCode ());
+        }else {
+            seClientCard.setLastoper(LastOperateENUM.RECHARGE.getCode ());
+        }
         Integer rec_updateClientCard = Optional.ofNullable(clientCardSv.UpdateClientCard(seClientCard)).orElse(0);
         if(rec_updateClientCard == 0) {
             return BaseResponseUtils.buildErrorMsg(SellResultCode.RECHARGE_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage());
@@ -214,7 +227,11 @@
         seCardOperate.setMoney(money);
         seCardOperate.setTradeAmount(amount);
         seCardOperate.setGift(gift);
-        seCardOperate.setOperateType(OperateTypeENUM.RECHARGE.getCode());
+        if(paymentName != null && paymentName.equals("鎹㈠崱")) {
+            seCardOperate.setOperateType(OperateTypeENUM.CHANGE_RECHARGE.getCode());
+        }else {
+            seCardOperate.setOperateType(OperateTypeENUM.RECHARGE.getCode());
+        }
         seCardOperate.setPaymentId(paymentId);
         seCardOperate.setPrice(price);
         seCardOperate.setRemarks(remarks);
@@ -228,7 +245,6 @@
         }
 
         Map map_response = new HashMap();
-//        map_response.put("projectNo", String.format("%02x", Integer.parseInt(getProjectNo())));
         map_response.put("projectNo", String.format("%02x", projectNo));
         map_response.put("orderNumber", rec);
         map_response.put("cardNum", cardNum);
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/enums/OperateTypeENUM.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/enums/OperateTypeENUM.java
index f584ab5..7d5eb01 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/enums/OperateTypeENUM.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/enums/OperateTypeENUM.java
@@ -21,7 +21,9 @@
     LOSS((byte)6, "鎸傚け"),
     REVERSAL((byte)7, "鍐叉"),
     UNLOCK((byte)8, "瑙i攣"),
-    CONSUME((byte)9, "娑堣垂");
+    CONSUME((byte)9, "娑堣垂"),
+    CHANGE_CARD((byte)10, "鎹㈠崱"),
+    CHANGE_RECHARGE((byte)11, "鎹㈠崱鍏呭��");
 
     private final Byte code;
     private final String message;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/LastOperateENUM.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/LastOperateENUM.java
index 63b4107..0f0ee95 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/LastOperateENUM.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/clientCard/LastOperateENUM.java
@@ -21,7 +21,9 @@
     LOSS((byte)6, "鎸傚け"),
     REVERSAL((byte)7, "鍐叉"),
     UNLOCK((byte)8, "瑙i攣"),
-    CONSUME((byte)9, "娑堣垂");
+    CONSUME((byte)9, "娑堣垂"),
+    CHANGE_CARD((byte)10,"鎹㈠崱"),
+    CHANGE_RECHARGE((byte)11,"鎹㈠崱鍏呭��");
 
     private final Byte code;
     private final String message;

--
Gitblit v1.8.0