From 1bebc1c02563033f6daaa3a13c482f1af04f1a21 Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期五, 13 九月 2024 09:47:03 +0800
Subject: [PATCH] 2024-09-12 朱宝民 代码优化

---
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java |   92 ++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 85 insertions(+), 7 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 76bb686..2fabd7b 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
@@ -8,9 +8,7 @@
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.pipIrrGlobal.daoBa.BaSettingsMapper;
 import com.dy.pipIrrGlobal.daoSe.*;
-import com.dy.pipIrrGlobal.pojoSe.SeCardOperate;
-import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
-import com.dy.pipIrrGlobal.pojoSe.SeManagerCard;
+import com.dy.pipIrrGlobal.pojoSe.*;
 import com.dy.pipIrrGlobal.voSe.*;
 import com.dy.pipIrrSell.cardOperate.dto.DtoRecharge;
 import com.dy.pipIrrSell.cardOperate.enums.OperateTypeENUM;
@@ -57,6 +55,12 @@
 
     @Autowired
     private SeManagerCardMapper seManagerCardMapper;
+
+    @Autowired
+    private SePaymentMethodMapper sePaymentMethodMapper;
+
+    @Autowired
+    private SeRechargeHistoryMapper seRechargeHistoryMapper;
 
     @Value("${project.projectNo}")
     private Integer projectNo;
@@ -142,7 +146,7 @@
 
     /**
      * 娣诲姞鍏呭�艰褰�
-     * 淇敼鍐滄埛淇℃伅銆佹坊鍔犲厖鍊艰褰�
+     * 淇敼鍐滄埛淇℃伅銆佹坊鍔犳按鍗℃搷浣滆褰曘�佹坊鍔犲厖鍊艰褰�
      * @param po
      * @return
      */
@@ -195,10 +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);
+        //if(paymentName != null && paymentName.equals("鎹㈠崱")) {
+        //    seClientCard.setLastoper(LastOperateENUM.CHANGE_RECHARGE.getCode ());
+        //}else {
+        //    seClientCard.setLastoper(LastOperateENUM.RECHARGE.getCode ());
+        //}
         seClientCard.setLastoper(LastOperateENUM.RECHARGE.getCode ());
         Integer rec_updateClientCard = Optional.ofNullable(clientCardSv.UpdateClientCard(seClientCard)).orElse(0);
         if(rec_updateClientCard == 0) {
@@ -206,7 +220,7 @@
         }
 
         /**
-         * 娣诲姞鍏呭�艰褰�
+         * 娣诲姞姘村崱鎿嶄綔璁板綍
          */
         SeCardOperate seCardOperate = new SeCardOperate();
         seCardOperate.setCardId(cardId);
@@ -214,6 +228,11 @@
         seCardOperate.setMoney(money);
         seCardOperate.setTradeAmount(amount);
         seCardOperate.setGift(gift);
+        //if(paymentName != null && paymentName.equals("鎹㈠崱")) {
+        //    seCardOperate.setOperateType(OperateTypeENUM.CHANGE_RECHARGE.getCode());
+        //}else {
+        //    seCardOperate.setOperateType(OperateTypeENUM.RECHARGE.getCode());
+        //}
         seCardOperate.setOperateType(OperateTypeENUM.RECHARGE.getCode());
         seCardOperate.setPaymentId(paymentId);
         seCardOperate.setPrice(price);
@@ -224,11 +243,31 @@
         seCardOperateMapper.insert(seCardOperate);
         Long rec = Optional.ofNullable(seCardOperate.getId()).orElse(0L);
         if(rec == 0) {
-            return BaseResponseUtils.buildErrorMsg(SellResultCode.REPLACE_FAIL_WRITE_RECHARGE_ERROR.getMessage());
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.RECHARGE_FAIL_WRITE_RECHARGE_ERROR.getMessage());
+        }
+
+        /**
+         * 娣诲姞鍏呭�煎巻鍙茶褰�
+         */
+        SeRechargeHistory seRechargeHistory = new SeRechargeHistory();
+        seRechargeHistory.setCardid(cardId);
+        seRechargeHistory.setClientid(clientId);
+        seRechargeHistory.setMoney(money);
+        seRechargeHistory.setAmount(amount);
+        seRechargeHistory.setGift(gift);
+        seRechargeHistory.setAfterrecharge(afterRecharge);
+        seRechargeHistory.setPaymentid(paymentId);
+        seRechargeHistory.setPrice(price);
+        seRechargeHistory.setRemarks(remarks);
+        seRechargeHistory.setOperator(operator);
+        seRechargeHistory.setOperatedt(rechargeTime);
+        seRechargeHistoryMapper.insert(seRechargeHistory);
+        Long rec_seRechargeHistory = Optional.ofNullable(seRechargeHistory.getId()).orElse(0L);
+        if(rec_seRechargeHistory == 0) {
+            return BaseResponseUtils.buildErrorMsg(SellResultCode.RECHARGE_FAIL_WRITE_RECHARGE_HISTORY_ERROR.getMessage());
         }
 
         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);
@@ -291,6 +330,11 @@
         // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
         Long itemTotal = Optional.ofNullable(seCardOperateMapper.getTransactionRecordCount(params)).orElse(0L);
 
+        QueryResultVo rsVo = new QueryResultVo<>() ;
+        rsVo.pageSize = vo.pageSize ;
+        rsVo.pageCurr = vo.pageCurr ;
+        rsVo.calculateAndSet(itemTotal, params);
+
         List<VoTradeDetails> list = seCardOperateMapper.getTransactions(params);
         if(list.size() == 0) {
             return new HashMap();
@@ -299,13 +343,21 @@
         // 閬嶅巻浜ゆ槗鏄庣粏璁板綍锛屾眹鎬昏喘姘撮噾棰濄�佽喘鍗¢噾棰�
         Double totalWaterCost = 0.0;
         Double totalCardCost = 0.0;
+        Double totalGift = 0.0;
+        Double totalRefund = 0.0;
+
         JSONArray array= JSONArray.parseArray(JSON.toJSONString(list));
         for(int i = 0; i < array.size(); i++) {
             JSONObject job = array.getJSONObject(i);
             Double waterCost = Optional.ofNullable(job.getDouble("waterCost")).orElse(0.0);
             Double cardCost = Optional.ofNullable(job.getDouble("cardCost")).orElse(0.0);
+            Double gift = Optional.ofNullable(job.getDouble("gift")).orElse(0.0);
+            Double refundAmount = Optional.ofNullable(job.getDouble("refundAmount")).orElse(0.0);
+
             totalWaterCost = totalWaterCost + waterCost;
             totalCardCost = totalCardCost + cardCost;
+            totalGift = totalGift + gift;
+            totalRefund = totalRefund + refundAmount;
         }
 
         Map map_record = new HashMap();
@@ -315,6 +367,10 @@
         Map map_result = new HashMap();
         map_result.put("waterCost", df.format(totalWaterCost));
         map_result.put("cardCost", df.format(totalCardCost));
+        map_result.put("gift", df.format(totalGift));
+        map_result.put("refund", df.format(totalRefund));
+
+
         map_result.put("records", map_record);
 
         return map_result;
@@ -491,4 +547,26 @@
     public Double getTradeAmountByCardNo(Long cardNum) {
         return seCardOperateMapper.getTradeAmountByCardNo(cardNum);
     }
+
+    /**
+     * 鏍规嵁姘村崱鍦板潃鍒ゆ柇璇ュ崱鏄惁鍙互寮�鍗�
+     * @param cardAddr
+     * @return
+     */
+    public Boolean canActiveCard(String cardAddr) {
+
+        // 鎸囧畾姘村崱鍦板潃鐨勬按鍗℃暟閲�
+        Long cardCount = Optional.ofNullable(seClientCardMapper.getCountByCardAddr(cardAddr)).orElse(0L);
+        if(cardCount == 0) {
+           return true;
+        }
+
+        // 鎸囧畾姘村崱鍦板潃涓旀甯哥姸鎬佹垨鎸傚け鐘舵�佺殑姘村崱鏁伴噺
+        cardCount = Optional.ofNullable(seClientCardMapper.getCountByCardAddrAndState(cardAddr)).orElse(0L);
+        if(cardCount == 0) {
+            return true;
+        }
+
+        return false;
+    }
 }

--
Gitblit v1.8.0