From 25a7186138a2b076bcc71238a937da98b8e9a7fe Mon Sep 17 00:00:00 2001
From: zhubaomin <zhubaomin>
Date: 星期六, 14 九月 2024 16:29:52 +0800
Subject: [PATCH] 2024-09-14 朱宝民 创建了一个新的获取充值记录接口,管理平台使用

---
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java   |   19 ++++
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml                             |   73 +++++++++++++++---
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java |   22 ++++-
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRecharge.java                        |    3 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRechargeNew.java                     |   71 +++++++++++++++++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java              |   15 +++
 6 files changed, 183 insertions(+), 20 deletions(-)

diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java
index 0bbc69e..dca9467 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java
@@ -3,7 +3,6 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dy.pipIrrGlobal.pojoSe.SeCardOperate;
 import com.dy.pipIrrGlobal.voSe.*;
-import com.dy.pipIrrGlobal.voSt.VoClient;
 import com.dy.pipIrrGlobal.voSt.VoClientOpenCardCount;
 import com.dy.pipIrrGlobal.voSt.VoClientRechargeTotal;
 import org.apache.ibatis.annotations.Mapper;
@@ -46,6 +45,20 @@
      */
     List<VoRecharge> getRecharges(Map<?, ?> params);
 
+    /**
+     * 鑾峰彇鍏呭�艰褰曟暟閲忥紝绠$悊骞冲彴鍏呭�煎垪琛ㄤ娇鐢紝APP鏈娇鐢�
+     * @param params
+     * @return
+     */
+    Long getRechargesCountNew(Map<?, ?> params);
+
+    /**
+     * 鑾峰彇鍏呭�艰褰曪紝绠$悊骞冲彴鍏呭�煎垪琛ㄤ娇鐢紝APP鏈娇鐢�
+     * @param params
+     * @return
+     */
+    List<VoRechargeNew> getRechargesNew(Map<?, ?> params);
+
 
     /**
      * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍鏁�
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRecharge.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRecharge.java
index 1434dd0..fb4e01b 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRecharge.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRecharge.java
@@ -22,9 +22,6 @@
 public class VoRecharge implements BaseEntity {
     private static final long serialVersionUID = 1L;
 
-    //@Schema(title = "ID")
-    //private String id;
-
     @JSONField(serializeUsing= ObjectWriterImplToString.class)
     private Long opeId;
 
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRechargeNew.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRechargeNew.java
new file mode 100644
index 0000000..178d753
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoRechargeNew.java
@@ -0,0 +1,71 @@
+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 org.springframework.format.annotation.DateTimeFormat;
+
+import java.util.Date;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-09-14 15:50
+ * @LastEditTime 2024-09-14 15:50
+ * @Description 鍏呭�艰褰曡鍥惧璞★紝绠$悊骞冲彴鍏呭�煎垪琛ㄤ娇鐢紝APP鏈娇鐢�
+ */
+
+@Data
+@JsonPropertyOrder({"clientName", "clientNum", "cardNum", "amount", "gift", "afterRecharge", "paymentName", "operator", "operateTime"})
+public class VoRechargeNew {
+    private static final long serialVersionUID = 202409141554001L;
+
+    /**
+     * 鍐滄埛濮撳悕
+     */
+    private String clientName;
+
+    /**
+     * 鍐滄埛缂栧彿
+     */
+    private String clientNum;
+
+    /**
+     * 姘村崱缂栧彿
+     */
+    @JSONField(serializeUsing= ObjectWriterImplToString.class)
+    private Long cardNum;
+
+    /**
+     * 鍏呭�奸噾棰�
+     */
+    private Float amount;
+
+    /**
+     * 璧犻�侀噾棰�
+     */
+    private Float gift;
+
+    /**
+     * 鍏呭�煎悗浣欓
+     */
+    private Float afterRecharge;
+
+    /**
+     * 鏀粯鏂瑰紡
+     */
+    private String paymentName;
+
+    /**
+     * 鎿嶄綔浜�
+     */
+    private String operator;
+
+    /**
+     * 鎿嶄綔鏃堕棿
+     */
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date operateTime;
+}
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
index 0d22785..376c5ab 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
@@ -275,10 +275,6 @@
       cli.address,
       card.money,
       cardNum,
-<!--      CASE-->
-<!--        WHEN card.cardNum LIKE '10%' THEN CONCAT(SUBSTRING(card.cardNum, 7, 6),SUBSTRING(card.cardNum, 14, 4))-->
-<!--        ELSE card.cardNum-->
-<!--      END AS cardNum,-->
       IFNULL(ope.card_cost,0) AS cardCost,
       IFNULL(ope.trade_amount, 0) AS amount,
       IFNULL(ope.refund_amount, 0) AS refundAmount,
@@ -310,14 +306,6 @@
       <if test = "cardNum != null and cardNum !=''">
         AND card.cardNum like CONCAT('%',#{cardNum},'%')
       </if>
-
-<!--      <if test = "paymentId != null and paymentId > 0">-->
-<!--        AND ope.payment_id = ${paymentId}-->
-<!--      </if>-->
-
-<!--      <if test = "rechargeTimeStart != null and rechargeTimeStop != null">-->
-<!--        AND ope.operate_dt BETWEEN #{rechargeTimeStart} AND #{rechargeTimeStop}-->
-<!--      </if>-->
     </where>
     ORDER BY ope.operate_dt DESC
     <trim prefix="limit " >
@@ -894,4 +882,65 @@
       </if>
     </trim>
   </select>
+
+  <!--鑾峰彇鍏呭�艰褰曟暟閲忥紝绠$悊骞冲彴鍏呭�煎垪琛ㄤ娇鐢紝APP鏈娇鐢�-->
+  <select id="getRechargesCountNew" resultType="java.lang.Long">
+    SELECT COUNT(*) AS recordCount
+    FROM se_client_card card
+        INNER JOIN se_client cli ON cli.id = card.clientId
+        LEFT JOIN se_recharge_history rch ON rch.cardId = card.id
+        LEFT JOIN se_payment_method pay ON pay.id = rch.paymentId
+        INNER JOIN ba_user us ON us.id = rch.operator
+    <where>
+      <if test = "clientName != null and clientName !=''">
+        AND cli.name like CONCAT('%',#{clientName},'%')
+      </if>
+
+      <if test = "clientNum != null and clientNum > 0">
+        AND cli.clientNum like CONCAT('%',#{clientNum},'%')
+      </if>
+
+      <if test = "cardNum != null and cardNum !=''">
+        AND card.cardNum like CONCAT('%',#{cardNum},'%')
+      </if>
+    </where>
+  </select>
+
+  <!--鑾峰彇鍏呭�艰褰曪紝绠$悊骞冲彴鍏呭�煎垪琛ㄤ娇鐢紝APP鏈娇鐢�-->
+  <select id="getRechargesNew" resultType="com.dy.pipIrrGlobal.voSe.VoRechargeNew">
+    SELECT
+        cli.name AS clientName,
+        cli.clientNum,
+        card.cardNum,
+        IFNULL(rch.amount, 0) AS amount,
+        IFNULL(rch.gift, 0) AS gift,
+        IFNULL(rch.afterRecharge, 0) AS afterRecharge,
+        pay.name AS paymentName,
+        us.name AS operator,
+        rch.operateDt AS operateTime
+    FROM se_client_card card
+        INNER JOIN se_client cli ON cli.id = card.clientId
+        LEFT JOIN se_recharge_history rch ON rch.cardId = card.id
+        LEFT JOIN se_payment_method pay ON pay.id = rch.paymentId
+        INNER JOIN ba_user us ON us.id = rch.operator
+    <where>
+      <if test = "clientName != null and clientName !=''">
+        AND cli.name like CONCAT('%',#{clientName},'%')
+      </if>
+
+      <if test = "clientNum != null and clientNum > 0">
+        AND cli.clientNum like CONCAT('%',#{clientNum},'%')
+      </if>
+
+      <if test = "cardNum != null and cardNum !=''">
+        AND card.cardNum like CONCAT('%',#{cardNum},'%')
+      </if>
+    </where>
+    ORDER BY rch.operateDt DESC
+    <trim prefix="limit " >
+      <if test="start != null and count != null">
+        #{start,javaType=Integer,jdbcType=INTEGER}, #{count,javaType=Integer,jdbcType=INTEGER}
+      </if>
+    </trim>
+  </select>
 </mapper>
\ No newline at end of file
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 c3638e5..b67e8ba 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
@@ -11,10 +11,7 @@
 import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
 import com.dy.pipIrrGlobal.pojoSe.SeManagerCard;
 import com.dy.pipIrrGlobal.util.AmountToChinese;
-import com.dy.pipIrrGlobal.voSe.VoActiveCard;
-import com.dy.pipIrrGlobal.voSe.VoOperate;
-import com.dy.pipIrrGlobal.voSe.VoRecharge;
-import com.dy.pipIrrGlobal.voSe.VoReissueCard;
+import com.dy.pipIrrGlobal.voSe.*;
 import com.dy.pipIrrSell.cardOperate.dto.*;
 import com.dy.pipIrrSell.cardOperate.enums.OperateTypeENUM;
 import com.dy.pipIrrSell.cardOperate.qo.*;
@@ -855,6 +852,23 @@
     }
 
     /**
+     * 鑾峰彇鍏呭�艰褰曪紝绠$悊骞冲彴鍏呭�煎垪琛ㄤ娇鐢紝APP鏈娇鐢�
+     * @param vo
+     * @return
+     */
+    @GetMapping(path = "/getRechargesNew")
+    @SsoAop()
+    public BaseResponse<QueryResultVo<List<VoRechargeNew>>> getRechargesNew(QoRecharge vo){
+        try {
+            QueryResultVo<List<VoRechargeNew>> res = cardOperateSv.getRechargesNew(vo);
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鑾峰彇鍏呭�艰褰曞紓甯�", e);
+            return BaseResponseUtils.buildException(e.getMessage()) ;
+        }
+    }
+
+    /**
      * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗鏄庣粏
      * @param vo
      * @return
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 86bd4d3..1e09c0a 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
@@ -306,6 +306,25 @@
     }
 
     /**
+     * 鑾峰彇鍏呭�艰褰曪紝绠$悊骞冲彴鍏呭�煎垪琛ㄤ娇鐢紝APP鏈娇鐢�
+     * @param queryVo
+     * @return
+     */
+    public QueryResultVo<List<VoRechargeNew>> getRechargesNew(QoRecharge queryVo) {
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(queryVo);
+
+        Long itemTotal = seCardOperateMapper.getRechargesCountNew(params);
+
+        QueryResultVo<List<VoRechargeNew>> rsVo = new QueryResultVo<>() ;
+        rsVo.pageSize = queryVo.pageSize ;
+        rsVo.pageCurr = queryVo.pageCurr ;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = seCardOperateMapper.getRechargesNew(params);
+        return rsVo ;
+    }
+
+    /**
      * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍
      * @param vo
      * @return

--
Gitblit v1.8.0