From 0230c8b9866083341749d51393046053ab978a7e Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期五, 05 七月 2024 16:25:53 +0800
Subject: [PATCH] 2024-07-05 朱宝民 1.多数据源配置,2.注销、挂失、冲正、解锁优化返回值

---
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java |   86 ++++++++++++++++++++++++++++++++----------
 1 files changed, 65 insertions(+), 21 deletions(-)

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 97ddce7..540a0e3 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
@@ -6,6 +6,7 @@
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.daoBa.BaSettingsMapper;
 import com.dy.pipIrrGlobal.daoSe.SeCardOperateMapper;
 import com.dy.pipIrrGlobal.daoSe.SeClientCardMapper;
 import com.dy.pipIrrGlobal.daoSe.SeClientMapper;
@@ -52,6 +53,9 @@
     @Autowired
     private SeGeneralMapper seGeneralMapper;
 
+    @Autowired
+    private BaSettingsMapper baSettingsMapper;
+
 
     /**
      * 娣诲姞寮�鍗¤褰�
@@ -68,8 +72,12 @@
      * @param clientNum 鍐滄埛缂栧彿
      * @return 5绾ц鏀垮尯鍒掍唬鐮�
      */
-    public Long getAreaCodeByNum(String clientNum) {
-        return seClientMapper.getAreaCodeByNum(clientNum);
+    public String getAreaCodeByNum(String clientNum) {
+        Long areaCode = seClientMapper.getAreaCodeByNum(clientNum);
+        if (areaCode == null) {
+            return "";
+        }
+        return String.valueOf(areaCode);
     }
 
     /**
@@ -142,11 +150,17 @@
         Long operator = po.getOperator();
         Date rechargeTime = new Date();
 
+        // 濡傛灉浼犲叆鐨勬槸10浣嶇殑姘村崱缂栧彿锛屽崌涓�17浣嶆按鍗$紪鍙�
+        String cardNumS = String.valueOf(cardNum).trim();
+        if(cardNumS.length() == 10) {
+            cardNumS = "100000" + cardNumS.substring(0,6) + "0" + cardNumS.substring(6);
+        }
+        cardNum = Long.valueOf(cardNumS);
 
         // 楠岃瘉姘村崱鐘舵�佹槸鍚︽敮鎸佸綋鍓嶆搷浣�
         String stateName = Optional.ofNullable(clientCardSv.getCardStateByCardNum(cardNum)).orElse("");
         if(stateName.length() == 0 || !stateName.equals("姝e父")) {
-            return BaseResponseUtils.buildFail(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
+            return BaseResponseUtils.buildErrorMsg(stateName + ", " + SellResultCode.THE_CARD_NOT_SUPPORT_THIS_OPERATION.getMessage());
         }
 
         /**
@@ -154,7 +168,7 @@
          */
         Map map = Optional.ofNullable(clientCardSv.getCardIdAndClientNum(cardNum)).orElse(new HashMap());
         if(map == null || map.size() <= 0) {
-            return BaseResponseUtils.buildFail(SellResultCode.CARD_NUMBER_MISTAKE.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.CARD_NUMBER_MISTAKE.getMessage());
         }
         cardId = Long.parseLong(map.get("cardId").toString());
         clientId = Long.parseLong(map.get("clientId").toString());
@@ -171,7 +185,7 @@
         seClientCard.setLastoper(LastOperateENUM.RECHARGE.getCode ());
         Integer rec_updateClientCard = Optional.ofNullable(clientCardSv.UpdateClientCard(seClientCard)).orElse(0);
         if(rec_updateClientCard == 0) {
-            return BaseResponseUtils.buildFail(SellResultCode.RECHARGE_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.RECHARGE_FAIL_WRITE_CLIENT_CARD_ERROR.getMessage());
         }
 
         /**
@@ -193,10 +207,22 @@
         seCardOperateMapper.insert(seCardOperate);
         Long rec = Optional.ofNullable(seCardOperate.getId()).orElse(0L);
         if(rec == 0) {
-            return BaseResponseUtils.buildFail(SellResultCode.REPLACE_FAIL_WRITE_RECHARGE_ERROR.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.REPLACE_FAIL_WRITE_RECHARGE_ERROR.getMessage());
         }
 
-        return BaseResponseUtils.buildSuccess(true) ;
+        //return BaseResponseUtils.buildSuccess(true) ;
+
+        cardNumS = String.valueOf(cardNum).trim();
+        if(cardNumS.substring(0,2).equals("10")) {
+            cardNumS = cardNumS.substring(6,12) + cardNumS.substring(13);
+        }
+        cardNum = Long.parseLong(cardNumS);
+
+        Map map_response = new HashMap();
+        map_response.put("projectNo", String.format("%02x", Integer.parseInt(getProjectNo())));
+        map_response.put("orderNumber", rec);
+        map_response.put("cardNum", cardNum);
+        return BaseResponseUtils.buildSuccess(map_response) ;
     }
 
     /**
@@ -206,16 +232,16 @@
      */
     public QueryResultVo<List<VoRecharge>> getRecharges(QoRecharge queryVo) {
         //瀹屽杽鏌ヨ鍏呭�艰褰曠殑璧锋鏃堕棿
-        String rechargeTimeStart = queryVo.rechargeTimeStart;
-        String rechargeTimeStop = queryVo.rechargeTimeStop;
-        if(rechargeTimeStart != null) {
-            rechargeTimeStart = rechargeTimeStart + " 00:00:00";
-            queryVo.setRechargeTimeStart(rechargeTimeStart);
-        }
-        if(rechargeTimeStop != null) {
-            rechargeTimeStop = rechargeTimeStop + " 23:59:59";
-            queryVo.setRechargeTimeStop(rechargeTimeStop);
-        }
+        //String rechargeTimeStart = queryVo.rechargeTimeStart;
+        //String rechargeTimeStop = queryVo.rechargeTimeStop;
+        //if(rechargeTimeStart != null) {
+        //    rechargeTimeStart = rechargeTimeStart + " 00:00:00";
+        //    queryVo.setRechargeTimeStart(rechargeTimeStart);
+        //}
+        //if(rechargeTimeStop != null) {
+        //    rechargeTimeStop = rechargeTimeStop + " 23:59:59";
+        //    queryVo.setRechargeTimeStop(rechargeTimeStop);
+        //}
 
         Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
 
@@ -422,11 +448,12 @@
      * @return 鏄惁宸叉寕澶辨湭琛ュ崱
      */
     public Boolean isLostAndUnreplaced(Long cardNum) {
-        Integer rec = seClientCardMapper.isLostAndUnreplaced(cardNum);
-        if(rec != null && rec > 0) {
-            return false;
+        Integer lostCount = seClientCardMapper.getLostCount(cardNum);
+        Integer replacedCount = seClientCardMapper.getReplacedCount(cardNum);
+        if(lostCount > 0 && replacedCount == 0) {
+            return true;
         }
-        return true;
+        return false;
     }
 
     /**
@@ -437,4 +464,21 @@
     public Integer updateClientCard(SeClientCard po) {
         return seClientCardMapper.updateByPrimaryKeySelective(po);
     }
+
+    /**
+     * 鑾峰彇椤圭洰缂栧彿
+     * @return
+     */
+    public String getProjectNo() {
+        return baSettingsMapper.getItemValue("projectNo");
+    }
+
+    /**
+     * 鏍规嵁姘村崱缂栧彿鑾峰彇鍏舵寕澶辨椂閫�娆鹃噾棰濓紙琛ュ崱鏃跺垽鏂娇鐢級
+     * @param cardNum
+     * @return
+     */
+    public Double getTradeAmountByCardNo(Long cardNum) {
+        return seCardOperateMapper.getTradeAmountByCardNo(cardNum);
+    }
 }

--
Gitblit v1.8.0