From f27bcdd3a3dcc85fdb8334399240d27d7f964c01 Mon Sep 17 00:00:00 2001
From: Administrator <zhubaomin>
Date: 星期二, 23 一月 2024 09:04:39 +0800
Subject: [PATCH] 2024-01-23 朱宝民 添加交易明细接口和交易统计接口

---
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateSv.java              |  165 +++++++++
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml                                        |  158 +++++++++
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/CardOperateCtrl.java            |   54 +++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTransaction.java                                |   44 +-
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoTransactionStatistics.java |   14 
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java                         |   54 +++
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTransactionStatistics.java                      |   33 +
 pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml                                             |  173 ----------
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java                        |  120 -------
 /dev/null                                                                                                              |   42 --
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java                      |   54 ---
 pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientMapper.java                              |   43 --
 pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoTransaction.java           |   15 
 13 files changed, 501 insertions(+), 468 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 340bbf4..0b905c9 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,10 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dy.pipIrrGlobal.pojoSe.SeCardOperate;
 import com.dy.pipIrrGlobal.voSe.VoRecharge;
+import com.dy.pipIrrGlobal.voSe.VoTransaction;
+import com.dy.pipIrrGlobal.voSe.VoTransactionStatistics;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 import java.util.Map;
@@ -42,4 +45,55 @@
      * @return
      */
     List<VoRecharge> getRecharges(Map<?, ?> params);
+
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍鏁�
+     * @param params
+     * @return
+     */
+    Long getTransactionRecordCount(Map<?, ?> params);
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍
+     * @param params
+     * @return
+     */
+    List<VoTransaction> getTransactions(Map<?, ?> params);
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇璐按姹囨�诲拰璐崱姹囨�伙紝鑾峰彇浜ゆ槗鏄庣粏浣跨敤
+     * @param params
+     * @return
+     */
+    Map getTransactionSums(Map<?, ?> params);
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗缁熻璁板綍鏁�
+     * @param params
+     * @return
+     */
+    Long getTransactionStatisticsRecordCount(Map<?, ?> params);
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗缁熻璁板綍
+     * @param params
+     * @return
+     */
+    List<VoTransactionStatistics> getTransactionStatistics(Map<?, ?> params);
+
+    /**
+     * 鏍瑰熀鎸囧畾鏉′欢鑾峰彇绗旀暟鍚堣銆佸疄鏀堕噾棰濆悎璁°�佽禒閫侀噾棰濆悎璁�
+     * @param params
+     * @return
+     */
+    Map getTransactionStatisticsSums(Map<?, ?> params);
+
+    /**
+     * 鑾峰彇鎸囧畾鏃ユ湡銆佹寚瀹氭敮浠樻柟寮忓疄鏀堕噾棰濆悎璁�
+     * @param params
+     * @return
+     */
+    //Float getPaymentSums(Map<?, ?> params);
+    Float getPaymentSums(@Param("tradeDate") String tradeDate, @Param("paymentId") Long paymentId);
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientMapper.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientMapper.java
index 9c3b551..907eab3 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientMapper.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeClientMapper.java
@@ -3,8 +3,6 @@
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.dy.pipIrrGlobal.pojoSe.SeClient;
 import com.dy.pipIrrGlobal.voSe.VoClient;
-import com.dy.pipIrrGlobal.voSe.VoOperate;
-import com.dy.pipIrrGlobal.voSe.VoStatistics;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -100,45 +98,4 @@
      */
     List<Map<String, Object>> getWaterTypes();
 
-    /**
-     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇璐按姹囨�诲拰璐崱姹囨��
-     * @param params 缁熻鏉′欢
-     * @return 璐按閲戦銆佽喘鍗¢噾棰�
-     */
-    Map getSums(Map<?, ?> params);
-
-    /**
-     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鎿嶄綔璁板綍鏁�
-     * @param params 鏌ヨ鏉′欢
-     * @return 绗﹀悎鏉′欢鐨勮褰曟暟
-     */
-    Long getOperateRecordCount(Map<?, ?> params);
-
-    /**
-     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鎿嶄綔璁板綍
-     * @param params 鏌ヨ鏉′欢
-     * @return 绗﹀悎鏉′欢鐨勪氦鏄撹褰�
-     */
-    List<VoOperate> getOperates(Map<?, ?> params);
-
-    /**
-     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗绗旀暟姹囨�诲拰浜ゆ槗閲戦姹囨��
-     * @param params
-     * @return
-     */
-    Map getStatisticSums(Map<?, ?> params);
-
-    /**
-     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇姹囨�昏褰曟暟
-     * @param params
-     * @return
-     */
-    Long getStatisticRecordCount(Map<?, ?> params);
-
-    /**
-     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇缁熻璁板綍
-     * @param params
-     * @return
-     */
-    List<VoStatistics> getStatistics(Map<?, ?> params);
 }
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoStatistics.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoStatistics.java
deleted file mode 100644
index a003b59..0000000
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoStatistics.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package com.dy.pipIrrGlobal.voSe;
-
-import com.dy.common.po.BaseEntity;
-import com.fasterxml.jackson.annotation.JsonFormat;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.util.Date;
-
-/**
- * @author ZhuBaoMin
- * @date 2023-12-27 15:01
- * @LastEditTime 2023-12-27 15:01
- * @Description
- */
-
-@Data
-@Schema(title = "浜ゆ槗姹囨�昏鍥惧璞�")
-public class VoStatistics implements BaseEntity {
-    private static final long serialVersionUID = 1L;
-
-    @Schema(title = "鏉戝簞ID")
-    private Long villageId;
-
-    @Schema(title = "鏉戝簞")
-    private String districtTitle;
-
-    @Schema(title = "涓氬姟绫诲瀷")
-    private String operateType;
-
-    @Schema(title = "浜ゆ槗鏃ユ湡")
-    @DateTimeFormat(pattern = "yyyy-MM-dd")
-    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
-    private Date operateDt;
-
-    @Schema(title = "浜ゆ槗绗旀暟")
-    private Integer count;
-
-    @Schema(title = "浜ゆ槗閲戦")
-    private Float money;
-}
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoOperate.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTransaction.java
similarity index 69%
rename from pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoOperate.java
rename to pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTransaction.java
index 711ea95..3774f72 100644
--- a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoOperate.java
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTransaction.java
@@ -16,20 +16,23 @@
  */
 
 @Data
-@Schema(title = "鎿嶄綔璁板綍瑙嗗浘瀵硅薄")
-public class VoOperate implements BaseEntity {
+@Schema(title = "浜ゆ槗璁板綍瑙嗗浘瀵硅薄")
+public class VoTransaction implements BaseEntity {
     private static final long serialVersionUID = 1L;
 
-    @Schema(title = "鏉慖D")
+    @Schema(title = "璁㈠崟缂栧彿")
+    private Long orderNumber;
+
+    @Schema(title = "鏉戝簞ID")
     private Long villageId;
 
-    @Schema(title = "鍖哄垝鍚嶇О涓�")
+    @Schema(title = "鏉戝簞")
     private String districtTitle;
 
     @Schema(title = "鍐滄埛缂栧彿")
     private String clientNum;
 
-    @Schema(title = "鍐滄埛濮撳悕")
+    @Schema(title = "濮撳悕")
     private String name;
 
     @Schema(title = "姘村崱缂栧彿")
@@ -38,20 +41,8 @@
     @Schema(title = "韬唤璇佸彿")
     private String idCard;
 
-    @Schema(title = "鎵嬫満鍙�")
+    @Schema(title = "鑱旂郴鐢佃瘽")
     private String phone;
-
-    @Schema(title = "鍏呭�奸噾棰�")
-    private Float money;
-
-    @Schema(title = "璐崱閲戦")
-    private Integer cardCost;
-
-    @Schema(title = "鏀粯鏂瑰紡缂栧彿")
-    private Long paymentId;
-
-    @Schema(title = "鏀粯鏂瑰紡鍚嶇О")
-    private String paymentMethod;
 
     @Schema(title = "涓氬姟绫诲瀷")
     private String operateType;
@@ -59,7 +50,22 @@
     @Schema(title = "浜ゆ槗鏃堕棿")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
-    private Date operateDt;
+    private Date operateTime;
+
+    @Schema(title = "浣欓")
+    private Float money;
+
+    @Schema(title = "璐按閲戦")
+    private Float waterCost;
+
+    @Schema(title = "璧犻�侀噾棰�")
+    private Float gift;
+
+    @Schema(title = "璐崱閲戦")
+    private Integer cardCost;
+
+    @Schema(title = "鏀粯鏂瑰紡")
+    private String paymentMethod;
 
     @Schema(title = "鎿嶄綔鍛�")
     private String operatorName;
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTransactionStatistics.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTransactionStatistics.java
new file mode 100644
index 0000000..84a9aa0
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSe/VoTransactionStatistics.java
@@ -0,0 +1,33 @@
+package com.dy.pipIrrGlobal.voSe;
+
+import com.dy.common.po.BaseEntity;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+/**
+ * @author ZhuBaoMin
+ * @date 2024-01-22 18:27
+ * @LastEditTime 2024-01-22 18:27
+ * @Description
+ */
+
+@Data
+@Schema(title = "浜ゆ槗璁板綍姹囨�昏鍥惧璞�")
+public class VoTransactionStatistics implements BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    @Schema(title = "涓氬姟绫诲瀷")
+    private String operateType;
+
+    @Schema(title = "浜ゆ槗鏃ユ湡")
+    private String tradeDate;
+
+    @Schema(title = "浜ゆ槗绗旀暟")
+    private Integer count;
+
+    @Schema(title = "瀹炴敹閲戦")
+    private Float received;
+
+    @Schema(title = "璧犻�侀噾棰�")
+    private Float gift;
+}
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 df474b2..553c23f 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
@@ -293,4 +293,162 @@
       LIMIT ${pageCurr}, ${pageSize}
     </if>
   </select>
+
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍鏁�-->
+  <select id="getTransactionRecordCount" parameterType="java.util.Map" resultType="java.lang.Long">
+    SELECT
+        COUNT(*) AS recordCount
+    FROM se_card_operate ope
+        INNER JOIN se_client cli ON ope.client_id = cli.id
+        INNER JOIN se_client_card card ON ope.card_id = card.id
+        INNER JOIN ba_user user ON ope.operator = user.id
+        INNER JOIN se_payment_method pay ON ope.payment_id = pay.id
+    <where>
+      AND ope.operate_type IN(1,2,3,4)
+      <if test = "villageId != null and villageId > 0">
+        AND cli.villageId = ${villageId}
+      </if>
+
+      <if test = "cardNum != null and cardNum >0">
+        AND card.cardNum = ${cardNum}
+      </if>
+
+      <if test = "operateTimeStart != null and operateTimeStop != null">
+        AND ope.operate_dt BETWEEN #{operateTimeStart} AND #{operateTimeStop}
+      </if>
+    </where>
+  </select>
+
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍-->
+  <select id="getTransactions" resultType="com.dy.pipIrrGlobal.voSe.VoTransaction">
+    SELECT
+        ope.id AS orderNumber,
+        cli.villageId,
+        cli.districtTitle,
+        cli.clientNum,
+        cli.`name`,
+        card.cardNum,
+        cli.idCard,
+        cli.phone,
+        (CASE operate_type
+            WHEN 1 THEN '寮�鍗�'
+            WHEN 2 THEN '鍏呭��'
+            WHEN 3 THEN '閿�鍗�'
+            WHEN 4 THEN '琛ュ崱'
+        END) AS operateType,
+        ope.operate_dt AS operateTime,
+        IFNULL(ope.money, 0) AS money,
+        IFNULL(ope.trade_amount, 0) AS waterCost,
+        IFNULL(ope.gift, 0) AS gift,
+        IFNULL(ope.card_cost, 0) AS cardCost,
+        pay.`name` paymentMethod,
+        user.name AS operatorName
+    FROM se_card_operate ope
+        INNER JOIN se_client cli ON ope.client_id = cli.id
+        INNER JOIN se_client_card card ON ope.card_id = card.id
+        INNER JOIN ba_user user ON ope.operator = user.id
+        INNER JOIN se_payment_method pay ON ope.payment_id = pay.id
+    <where>
+      AND ope.operate_type IN(1,2,3,4)
+      <if test = "villageId != null and villageId > 0">
+        AND cli.villageId = ${villageId}
+      </if>
+
+      <if test = "cardNum != null and cardNum >0">
+        AND card.cardNum = ${cardNum}
+      </if>
+
+      <if test = "operateTimeStart != null and operateTimeStop != null">
+        AND ope.operate_dt BETWEEN #{operateTimeStart} AND #{operateTimeStop}
+      </if>
+    </where>
+    ORDER BY ope.operate_dt
+    <if test="pageCurr != null and pageSize != null">
+      LIMIT ${pageCurr}, ${pageSize}
+    </if>
+  </select>
+
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璐按姹囨�诲拰璐崱姹囨�伙紝鑾峰彇浜ゆ槗鏄庣粏浣跨敤-->
+  <select id="getTransactionSums" resultType="java.util.Map">
+    SELECT
+        IFNULL(SUM(trade_amount),0) AS waterCost,
+        IFNULL(SUM(card_cost),0) AS cardCost
+    FROM se_card_operate ope
+        INNER JOIN se_client cli ON ope.client_id = cli.id
+        INNER JOIN se_client_card card ON ope.card_id = card.id
+        INNER JOIN ba_user user ON ope.operator = user.id
+        INNER JOIN se_payment_method pay ON ope.payment_id = pay.id
+    <where>
+      AND ope.operate_type IN(1,2,3,4)
+      <if test = "villageId != null and villageId > 0">
+        AND cli.villageId = ${villageId}
+      </if>
+
+      <if test = "cardNum != null and cardNum >0">
+        AND card.cardNum = ${cardNum}
+      </if>
+
+      <if test = "operateTimeStart != null and operateTimeStop != null">
+        AND ope.operate_dt BETWEEN #{operateTimeStart} AND #{operateTimeStop}
+      </if>
+    </where>
+  </select>
+
+
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗缁熻璁板綍鏁�-->
+  <select id="getTransactionStatisticsRecordCount" parameterType="java.util.Map" resultType="java.lang.Long">
+    SELECT
+        COUNT(*) AS recordCount
+    FROM v_transactionstatistics
+    <where>
+      <if test = "operateTimeStart != null and operateTimeStop != null">
+        AND tradeDate BETWEEN #{operateTimeStart} AND #{operateTimeStop}
+      </if>
+    </where>
+  </select>
+
+  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗缁熻璁板綍-->
+  <select id="getTransactionStatistics" resultType="com.dy.pipIrrGlobal.voSe.VoTransactionStatistics">
+    SELECT * FROM v_transactionstatistics
+    <where>
+      <if test = "operateTimeStart != null and operateTimeStop != null">
+        AND tradeDate BETWEEN #{operateTimeStart} AND #{operateTimeStop}
+      </if>
+    </where>
+    ORDER BY tradeDate
+    <if test="pageCurr != null and pageSize != null">
+      LIMIT ${pageCurr}, ${pageSize}
+    </if>
+  </select>
+
+  <!--鏍瑰熀鎸囧畾鏉′欢鑾峰彇绗旀暟鍚堣銆佸疄鏀堕噾棰濆悎璁°�佽禒閫侀噾棰濆悎璁�-->
+  <select id="getTransactionStatisticsSums" resultType="java.util.Map">
+    SELECT
+      SUM(count) AS totalCount,
+      SUM(received) AS totalReceived,
+      SUM(gift) AS totalGift
+    FROM v_transactionstatistics
+    <where>
+      <if test = "operateTimeStart != null and operateTimeStop != null">
+        AND tradeDate BETWEEN #{operateTimeStart} AND #{operateTimeStop}
+      </if>
+    </where>
+  </select>
+
+  <!--鑾峰彇鎸囧畾鏃ユ湡銆佹寚瀹氭敮浠樻柟寮忓疄鏀堕噾棰濆悎璁�-->
+  <select id="getPaymentSums" resultType="java.lang.Float">
+    SELECT
+      SUM(ope.trade_amount) AS tradeAmount
+    FROM se_card_operate ope
+    <where>
+      <if test = "tradeDate != null and tradeDate !=''">
+        AND Date(ope.operate_dt) = #{tradeDate}
+      </if>
+
+      <if test = "paymentId != null and paymentId >0">
+        AND ope.payment_id = ${paymentId}
+      </if>
+    </where>
+    GROUP BY ope.payment_id,  Date(ope.operate_dt)
+  </select>
 </mapper>
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml
index 244dd55..a191c70 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeClientMapper.xml
@@ -429,177 +429,4 @@
     SELECT id, typeName from se_water_type
   </select>
 
-  <!-- 涓嬪垪鍐呭涓轰氦鏄撴槑缁嗘煡璇� -->
-  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇璐按姹囨�诲拰璐崱姹囨��-->
-  <select id="getSums" resultType="java.util.Map">
-    SELECT
-        SUM(money) AS money,
-        SUM(cardCost) AS cardCost
-    FROM v_operate
-    <where>
-      <if test = "villageId != null and villageId > 0">
-        AND villageId = ${villageId}
-      </if>
-
-      <if test = "paymentId != null and paymentId >0">
-        AND paymentId = ${paymentId}
-      </if>
-
-      <if test = "operateTimeStart != null and operateTimeStop != null">
-        AND operateDt BETWEEN #{operateTimeStart} AND #{operateTimeStop}
-      </if>
-    </where>
-  </select>
-
-  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍鏁�-->
-  <select id="getOperateRecordCount" parameterType="java.util.Map" resultType="java.lang.Long">
-    SELECT
-        COUNT(*) AS recordCount
-    FROM v_operate
-    <where>
-      <if test = "villageId != null and villageId > 0">
-        AND villageId = ${villageId}
-      </if>
-
-      <if test = "paymentId != null and paymentId >0">
-        AND paymentId = ${paymentId}
-      </if>
-
-      <if test = "operateTimeStart != null and operateTimeStop != null">
-        AND operateDt BETWEEN #{operateTimeStart} AND #{operateTimeStop}
-      </if>
-    </where>
-  </select>
-
-  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍-->
-  <select id="getOperates" resultType="com.dy.pipIrrGlobal.voSe.VoOperate">
-    SELECT
-        villageId,
-        districtTitle,
-        clientNum,
-        `name`,
-        cardNum,
-        idCard,
-        phone,
-        money,
-        cardCost,
-        paymentId,
-        paymentMethod,
-        operateType,
-        operateDt,
-        operatorName
-    FROM v_operate
-    <where>
-      <if test = "villageId != null and villageId > 0">
-        AND villageId = ${villageId}
-      </if>
-
-      <if test = "paymentId != null and paymentId >0">
-        AND paymentId = ${paymentId}
-      </if>
-
-      <if test = "operateTimeStart != null and operateTimeStop != null">
-        AND operateDt BETWEEN #{operateTimeStart} AND #{operateTimeStop}
-      </if>
-    </where>
-    ORDER BY operateDt
-    <if test="pageCurr != null and pageSize != null">
-      LIMIT ${pageCurr}, ${pageSize}
-    </if>
-  </select>
-
-  <!-- 涓嬪垪鍐呭涓轰氦鏄撶粺璁℃煡璇� -->
-  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗绗旀暟姹囨�诲拰浜ゆ槗閲戦姹囨��-->
-  <select id="getStatisticSums" resultType="java.util.Map">
-    SELECT
-    SUM(count) AS count,
-    SUM(money) AS money
-    FROM
-    (
-      SELECT
-      villageId,
-      districtTitle,
-      operateType,
-      operateDt,
-      count(*) AS count,
-      (sum(money) + sum(cardCost)) AS money
-      FROM v_operate
-      <where>
-        <if test = "villageId != null and villageId > 0">
-          AND villageId = ${villageId}
-        </if>
-
-<!--        <if test = "paymentId != null and paymentId >0">-->
-<!--          AND paymentId = ${paymentId}-->
-<!--        </if>-->
-
-        <if test = "operateTimeStart != null and operateTimeStop != null">
-          AND operateDt BETWEEN #{operateTimeStart} AND #{operateTimeStop}
-        </if>
-      </where>
-      GROUP BY villageId, districtTitle, operateType, operateDt
-    ) temp
-  </select>
-
-  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇姹囨�昏褰曟暟-->
-  <select id="getStatisticRecordCount" parameterType="java.util.Map" resultType="java.lang.Long">
-    SELECT
-        COUNT(*) AS recordCount
-    FROM
-    (
-        SELECT
-          villageId,
-          districtTitle,
-          operateType,
-          operateDt,
-          count(*) AS count,
-          (sum(money) + sum(cardCost)) AS money
-        FROM v_operate
-        <where>
-          <if test = "villageId != null and villageId > 0">
-            AND villageId = ${villageId}
-          </if>
-
-<!--          <if test = "paymentId != null and paymentId >0">-->
-<!--            AND paymentId = ${paymentId}-->
-<!--          </if>-->
-
-          <if test = "operateTimeStart != null and operateTimeStop != null">
-            AND operateDt BETWEEN #{operateTimeStart} AND #{operateTimeStop}
-          </if>
-        </where>
-        GROUP BY villageId, districtTitle, operateType, operateDt
-    ) temp
-  </select>
-
-  <!--鏍规嵁鎸囧畾鏉′欢鑾峰彇缁熻璁板綍-->
-  <select id="getStatistics" resultType="com.dy.pipIrrGlobal.voSe.VoStatistics">
-    SELECT
-        villageId,
-        districtTitle,
-        operateType,
-        operateDt,
-        count(*) AS count,
-        (sum(money) + sum(cardCost)) AS money
-    FROM v_operate
-    <where>
-      <if test = "villageId != null and villageId > 0">
-        AND villageId = ${villageId}
-      </if>
-
-<!--      <if test = "paymentId != null and paymentId >0">-->
-<!--        AND paymentId = ${paymentId}-->
-<!--      </if>-->
-
-      <if test = "operateTimeStart != null and operateTimeStop != null">
-        AND operateDt BETWEEN #{operateTimeStart} AND #{operateTimeStop}
-      </if>
-    </where>
-    GROUP BY villageId, districtTitle, operateType, operateDt
-    ORDER BY operateDt
-    <if test="pageCurr != null and pageSize != null">
-      LIMIT ${pageCurr}, ${pageSize}
-    </if>
-  </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 e17004d..588905e 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
@@ -5,6 +5,7 @@
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.common.webUtil.QueryResultVo;
 import com.dy.common.webUtil.ResultCodeMsg;
+import com.dy.pipIrrGlobal.pojoBa.BaClient;
 import com.dy.pipIrrGlobal.pojoSe.SeCardOperate;
 import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
 import com.dy.pipIrrGlobal.util.Constant;
@@ -13,6 +14,8 @@
 import com.dy.pipIrrSell.cardOperate.dto.*;
 import com.dy.pipIrrSell.cardOperate.enums.OperateTypeENUM;
 import com.dy.pipIrrSell.cardOperate.qo.QoRecharge;
+import com.dy.pipIrrSell.cardOperate.qo.QoTransaction;
+import com.dy.pipIrrSell.cardOperate.qo.QoTransactionStatistics;
 import com.dy.pipIrrSell.clientCard.CardStateENUM;
 import com.dy.pipIrrSell.clientCard.ClientCardSv;
 import com.dy.pipIrrSell.clientCard.LastOperateENUM;
@@ -364,11 +367,13 @@
 
         /**
          * 娣诲姞娉ㄩ攢璁板綍
+         * 鏀粯鏂瑰紡涓虹幇閲�
          */
         SeCardOperate seCardOperate = new SeCardOperate();
         seCardOperate.setCardId(cardId);
         seCardOperate.setClientId(clientId);
         seCardOperate.setTradeAmount(-refund);
+        seCardOperate.setPaymentId(1L);
         seCardOperate.setOperateType(OperateTypeENUM.CANCEL.getCode());
         seCardOperate.setRemarks(remarks);
         seCardOperate.setOperator(operator);
@@ -750,4 +755,53 @@
             return BaseResponseUtils.buildException(e.getMessage()) ;
         }
     }
+
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗鏄庣粏
+     * @param vo
+     * @return
+     */
+    @Operation(summary = "鑾峰緱浜ゆ槗璁板綍鏄庣粏", description = "杩斿洖浜ゆ槗璁板綍鏄庣粏")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "杩斿洖涓�椤靛啘鎴锋暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = BaClient.class))}
+            )
+    })
+    @GetMapping(path = "getTransactions")
+    @SsoAop()
+    public BaseResponse<Map> getOperates(QoTransaction vo){
+        try {
+            Map res = cardOperateSv.getTransactions(vo);
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鏌ヨ浜ゆ槗璁板綍寮傚父", e);
+            return BaseResponseUtils.buildException(e.getMessage()) ;
+        }
+    }
+
+
+    @Operation(summary = "鑾峰緱浜ゆ槗姹囨�昏褰�", description = "杩斿洖浜ゆ槗姹囨�昏褰�")
+    @ApiResponses(value = {
+            @ApiResponse(
+                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
+                    description = "杩斿洖涓�椤靛啘鎴锋暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�",
+                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
+                            schema = @Schema(implementation = BaClient.class))}
+            )
+    })
+    @GetMapping(path = "getStatistics")
+    @SsoAop()
+    public BaseResponse<Map> getStatistics(QoTransactionStatistics vo){
+        try {
+            Map res = cardOperateSv.getTransactionStatistics(vo);
+            return BaseResponseUtils.buildSuccess(res);
+        } catch (Exception e) {
+            log.error("鏌ヨ浜ゆ槗姹囨�昏褰曞紓甯�", e);
+            return BaseResponseUtils.buildException(e.getMessage()) ;
+        }
+    }
 }
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 460678f..e019024 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
@@ -1,5 +1,7 @@
 package com.dy.pipIrrSell.cardOperate;
 
+import com.alibaba.fastjson2.JSONArray;
+import com.alibaba.fastjson2.JSONObject;
 import com.dy.common.webUtil.BaseResponse;
 import com.dy.common.webUtil.BaseResponseUtils;
 import com.dy.common.webUtil.QueryResultVo;
@@ -9,9 +11,13 @@
 import com.dy.pipIrrGlobal.pojoSe.SeCardOperate;
 import com.dy.pipIrrGlobal.pojoSe.SeClientCard;
 import com.dy.pipIrrGlobal.voSe.VoRecharge;
+import com.dy.pipIrrGlobal.voSe.VoTransaction;
+import com.dy.pipIrrGlobal.voSe.VoTransactionStatistics;
 import com.dy.pipIrrSell.cardOperate.dto.DtoRecharge;
 import com.dy.pipIrrSell.cardOperate.enums.OperateTypeENUM;
 import com.dy.pipIrrSell.cardOperate.qo.QoRecharge;
+import com.dy.pipIrrSell.cardOperate.qo.QoTransaction;
+import com.dy.pipIrrSell.cardOperate.qo.QoTransactionStatistics;
 import com.dy.pipIrrSell.clientCard.ClientCardSv;
 import com.dy.pipIrrSell.clientCard.LastOperateENUM;
 import com.dy.pipIrrSell.result.SellResultCode;
@@ -20,6 +26,8 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.util.*;
 
 /**
@@ -185,6 +193,11 @@
     }
 
 
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇鍏呭�艰褰�
+     * @param queryVo
+     * @return
+     */
     public QueryResultVo<List<VoRecharge>> getRecharges(QoRecharge queryVo) {
         //瀹屽杽鏌ヨ鍏呭�艰褰曠殑璧锋鏃堕棿
         String rechargeTimeStart = queryVo.rechargeTimeStart;
@@ -220,4 +233,156 @@
         rsVo.obj = seCardOperateMapper.getRecharges(params);
         return rsVo ;
     }
+
+
+    /**
+     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍
+     * @param vo
+     * @return
+     */
+    public Map getTransactions(QoTransaction vo){
+        // 琛ラ綈鏌ヨ鏃堕棿
+        String operateTimeStart = vo.operateTimeStart;
+        String operateTimeStop = vo.operateTimeStop;
+        if(operateTimeStart != null) {
+            operateTimeStart = operateTimeStart + " 00:00:00";
+            vo.setOperateTimeStart(operateTimeStart);
+        }
+        if(operateTimeStop != null) {
+            operateTimeStop = operateTimeStop + " 23:59:59";
+            vo.setOperateTimeStop(operateTimeStop);
+        }
+
+        // 鐢熸垚鏌ヨ鍙傛暟
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo) ;
+
+        // 鑾峰彇姹囨�荤殑璐按閲戦銆佽喘鍗¢噾棰�
+        Float waterCost = 0f;
+        Float cardCost = 0f;
+        Map map_sum = Optional.ofNullable(seCardOperateMapper.getTransactionSums(params)).orElse(new HashMap());
+        if(map_sum.size() > 0) {
+            waterCost = Float.parseFloat(map_sum.get("waterCost").toString());
+            cardCost = Float.parseFloat(map_sum.get("cardCost").toString());
+        }
+
+        // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
+        Long itemTotal = seCardOperateMapper.getTransactionRecordCount(params);
+
+        Integer pageSize = vo.getPageSize();
+        // 璁$畻鎬婚〉鏁�
+        Integer pageTotal ;
+        pageTotal = (int)Math.ceil((itemTotal==null?0.0D:itemTotal.doubleValue())/pageSize);
+
+        // 鏍规嵁褰撳墠椤电爜鍙婃瘡椤垫暟閲忚绠楀亸绉婚噺
+        Integer pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString());
+        params.put("pageCurr", pageCurr);
+
+        List<VoTransaction> lit = seCardOperateMapper.getTransactions(params);
+        Map map_record = new HashMap();
+        map_record.put("itemTotal", itemTotal);
+        map_record.put("pageCurr", vo.pageCurr);
+        map_record.put("pageSize", pageSize);
+        map_record.put("pageTotal", pageTotal);
+        map_record.put("list", lit);
+
+        Map map_result = new HashMap();
+        map_result.put("waterCost", waterCost);
+        map_result.put("cardCost", cardCost);
+        map_result.put("records", map_record);
+
+        return map_result;
+    }
+
+    /**
+     * 鑾峰彇浜ゆ槗缁熻璁板綍
+     * 1.浜ゆ槗缁熻璁板綍
+     * 2.绗旀暟鍚堣銆佸疄鏀堕噾棰濆悎璁°�佽禒閫侀噾棰濆悎璁�
+     * 3.姣忎竴澶┿�佸悇绉嶆敮浠樻柟寮忓疄鏀堕噾棰濆悎璁�
+     * @param vo
+     * @return
+     */
+    public Map getTransactionStatistics(QoTransactionStatistics vo) throws ParseException {
+        /**
+         * 閬嶅巻鏌ヨ鏃ユ湡锛屽彇鍑烘瘡澶╀笁绉嶆敮浠樻柟寮忥紙鐜伴噾銆佹壂鐮併�佽浆璐︼級瀹炴敹閲戦
+         * 姣忓ぉ涓�涓璞�
+         * 瀵硅薄缁勬垚JSONArray娣诲姞鍒拌繑鍥炲璞′腑
+         */
+        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        Date startDate = dateFormat.parse(vo.getOperateTimeStart());
+        Date stopDate = dateFormat.parse(vo.getOperateTimeStop());
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(startDate);
+
+        JSONArray array_paymentSums = new JSONArray();
+        while (calendar.getTime().before(stopDate) || calendar.getTime().equals(stopDate)) {
+            String tradeDate = dateFormat.format(calendar.getTime()) ;
+            Float receivedCash = Optional.ofNullable(seCardOperateMapper.getPaymentSums(tradeDate ,1L)).orElse(0f);
+            Float receivedQRCode = Optional.ofNullable(seCardOperateMapper.getPaymentSums(tradeDate,2L)).orElse(0f);
+            Float receivedTransfer = Optional.ofNullable(seCardOperateMapper.getPaymentSums(tradeDate, 3L)).orElse(0f);
+            JSONObject job = new JSONObject();
+            job.put("tradeDate", tradeDate);
+            job.put("receivedCash", receivedCash);
+            job.put("receivedQRCode", receivedQRCode);
+            job.put("receivedTransfer", receivedTransfer);
+
+            array_paymentSums.add(job);
+            calendar.add(Calendar.DAY_OF_MONTH, 1);
+        }
+
+
+        // 琛ラ綈鏌ヨ鏃堕棿
+        String operateTimeStart = vo.operateTimeStart;
+        String operateTimeStop = vo.operateTimeStop;
+        if(operateTimeStart != null) {
+            operateTimeStart = operateTimeStart + " 00:00:00";
+            vo.setOperateTimeStart(operateTimeStart);
+        }
+        if(operateTimeStop != null) {
+            operateTimeStop = operateTimeStop + " 23:59:59";
+            vo.setOperateTimeStop(operateTimeStop);
+        }
+
+        // 鐢熸垚鏌ヨ鍙傛暟
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo) ;
+
+        //鑾峰彇绗旀暟鍚堣銆佸疄鏀堕噾棰濆悎璁°�佽禒閫侀噾棰濆悎璁�
+        Integer totalCount = 0;
+        Float totalReceived = 0f;
+        Float totalGift = 0f;
+        Map map_sum = Optional.ofNullable(seCardOperateMapper.getTransactionStatisticsSums(params)).orElse(new HashMap());
+        if(map_sum.size() > 0) {
+            totalCount = Integer.parseInt(map_sum.get("totalCount").toString());
+            totalReceived = Float.parseFloat(map_sum.get("totalReceived").toString());
+            totalGift = Float.parseFloat(map_sum.get("totalGift").toString());
+        }
+
+        // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
+        Long itemTotal = seCardOperateMapper.getTransactionStatisticsRecordCount(params);
+
+        Integer pageSize = vo.getPageSize();
+        // 璁$畻鎬婚〉鏁�
+        Integer pageTotal ;
+        pageTotal = (int)Math.ceil((itemTotal==null?0.0D:itemTotal.doubleValue())/pageSize);
+
+        // 鏍规嵁褰撳墠椤电爜鍙婃瘡椤垫暟閲忚绠楀亸绉婚噺
+        Integer pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString());
+        params.put("pageCurr", pageCurr);
+
+        List<VoTransactionStatistics> list = seCardOperateMapper.getTransactionStatistics(params);
+        Map map_record = new HashMap();
+        map_record.put("itemTotal", itemTotal);
+        map_record.put("pageCurr", vo.pageCurr);
+        map_record.put("pageSize", pageSize);
+        map_record.put("pageTotal", pageTotal);
+        map_record.put("list", list);
+
+        Map map_result = new HashMap();
+        map_result.put("totalCount", totalCount);
+        map_result.put("totalReceived", totalReceived);
+        map_result.put("totalGift", totalGift);
+        map_result.put("records", map_record);
+        map_result.put("paymentSums", array_paymentSums);
+
+        return map_result;
+    }
 }
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/QueryOperate.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoTransaction.java
similarity index 66%
rename from pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/QueryOperate.java
rename to pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoTransaction.java
index 628bcd6..9e83b62 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/QueryOperate.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoTransaction.java
@@ -1,4 +1,4 @@
-package com.dy.pipIrrSell.client;
+package com.dy.pipIrrSell.cardOperate.qo;
 
 import com.dy.common.webUtil.QueryConditionVo;
 import io.swagger.v3.oas.annotations.media.Schema;
@@ -6,8 +6,8 @@
 
 /**
  * @author ZhuBaoMin
- * @date 2023-12-26 21:00
- * @LastEditTime 2023-12-26 21:00
+ * @date 2024-01-22 10:57
+ * @LastEditTime 2024-01-22 10:57
  * @Description
  */
 
@@ -17,14 +17,13 @@
 @NoArgsConstructor
 @AllArgsConstructor
 @Builder
-@Schema(name = "浜ゆ槗鏌ヨ鏉′欢")
-public class QueryOperate extends QueryConditionVo {
-
+@Schema(name = "浜ゆ槗鏄庣粏鏌ヨ鏉′欢")
+public class QoTransaction extends QueryConditionVo {
     @Schema(description = "鏉慖D")
     public Long villageId;
 
-    @Schema(description = "鏀粯鏂瑰紡缂栧彿")
-    public Long paymentId;
+    @Schema(description = "姘村崱缂栧彿")
+    public Long cardNum;
 
     @Schema(description = "浜ゆ槗鏌ヨ璧峰鏃堕棿")
     public String operateTimeStart;
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/QueryStatistic.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoTransactionStatistics.java
similarity index 63%
rename from pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/QueryStatistic.java
rename to pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoTransactionStatistics.java
index 5ac6c22..ffcca6f 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/QueryStatistic.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/cardOperate/qo/QoTransactionStatistics.java
@@ -1,4 +1,4 @@
-package com.dy.pipIrrSell.client;
+package com.dy.pipIrrSell.cardOperate.qo;
 
 import com.dy.common.webUtil.QueryConditionVo;
 import io.swagger.v3.oas.annotations.media.Schema;
@@ -6,8 +6,8 @@
 
 /**
  * @author ZhuBaoMin
- * @date 2023-12-27 15:33
- * @LastEditTime 2023-12-27 15:33
+ * @date 2024-01-22 18:32
+ * @LastEditTime 2024-01-22 18:32
  * @Description
  */
 
@@ -18,13 +18,7 @@
 @AllArgsConstructor
 @Builder
 @Schema(name = "浜ゆ槗姹囨�绘煡璇㈡潯浠�")
-public class QueryStatistic extends QueryConditionVo {
-    @Schema(description = "鏉慖D")
-    public Long villageId;
-
-    //@Schema(description = "鏀粯鏂瑰紡缂栧彿")
-    //public Long paymentId;
-
+public class QoTransactionStatistics extends QueryConditionVo {
     @Schema(description = "浜ゆ槗鏌ヨ璧峰鏃堕棿")
     public String operateTimeStart;
 
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java
index ae5d363..29de085 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientCtrl.java
@@ -66,58 +66,6 @@
     }
 
     /**
-     * 鑾峰彇浜ゆ槗璁板綍
-     * @param vo
-     * @return
-     */
-    @Operation(summary = "鑾峰緱涓�椤典氦鏄撹褰�", description = "杩斿洖涓�椤典氦鏄撹褰�")
-    @ApiResponses(value = {
-            @ApiResponse(
-                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
-                    description = "杩斿洖涓�椤靛啘鎴锋暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�",
-                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
-                            schema = @Schema(implementation = BaClient.class))}
-            )
-    })
-    @GetMapping(path = "getOperates")
-    @SsoAop()
-    public BaseResponse<Map> getOperates(QueryOperate vo){
-        try {
-           Map res = clientSv.getOperates(vo);
-            return BaseResponseUtils.buildSuccess(res);
-        } catch (Exception e) {
-            log.error("鏌ヨ浜ゆ槗璁板綍寮傚父", e);
-            return BaseResponseUtils.buildException(e.getMessage()) ;
-        }
-    }
-
-    /**
-     * 鑾峰彇浜ゆ槗姹囨�昏褰�
-     * @param vo
-     * @return
-     */
-    @Operation(summary = "鑾峰緱涓�椤典氦鏄撴眹鎬昏褰�", description = "杩斿洖涓�椤典氦鏄撴眹鎬昏褰�")
-    @ApiResponses(value = {
-            @ApiResponse(
-                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
-                    description = "杩斿洖涓�椤靛啘鎴锋暟鎹紙BaseResponse.content:QueryResultVo[{}]锛�",
-                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
-                            schema = @Schema(implementation = BaClient.class))}
-            )
-    })
-    @GetMapping(path = "getStatistics")
-    @SsoAop()
-    public BaseResponse<Map> getStatistics(QueryStatistic vo){
-        try {
-            Map res = clientSv.getStatistics(vo);
-            return BaseResponseUtils.buildSuccess(res);
-        } catch (Exception e) {
-            log.error("鏌ヨ浜ゆ槗姹囨�昏褰曞紓甯�", e);
-            return BaseResponseUtils.buildException(e.getMessage()) ;
-        }
-    }
-
-    /**
      * 鏍规嵁涓婚敭鑾峰彇涓�涓啘鎴峰璞�
      * @param id
      * @return
@@ -228,7 +176,7 @@
     }
 
     /**
-     * 鐢熸垚10涓哄啘鎴风紪鍙�
+     * 鐢熸垚10浣嶅啘鎴风紪鍙�
      * 1. 鍒板啘鎴疯〃涓煡璇�6浣嶅尯鍒掍覆寮�澶寸殑鏈�澶х殑鍐滄埛缂栧彿
      * 2. 鏄惁鍙栧埌璁板綍
      *      2.1 鍙栧埌
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java
index a3f631b..ebeccf1 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-sell/src/main/java/com/dy/pipIrrSell/client/ClientSv.java
@@ -5,17 +5,13 @@
 import com.dy.pipIrrGlobal.daoSe.SeClientMapper;
 import com.dy.pipIrrGlobal.pojoSe.SeClient;
 import com.dy.pipIrrGlobal.voSe.VoClient;
-import com.dy.pipIrrGlobal.voSe.VoOperate;
-import com.dy.pipIrrGlobal.voSe.VoStatistics;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.dubbo.common.utils.PojoUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Optional;
 
 /**
  * @author ZhuBaoMin
@@ -60,122 +56,6 @@
         rsVo.obj = seClientMapper.getClients(params);
 
         return rsVo ;
-    }
-
-    /**
-     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇浜ゆ槗璁板綍
-     * @param vo
-     * @return
-     */
-    public Map getOperates(QueryOperate vo){
-        // 琛ラ綈鏌ヨ鏃堕棿
-        String operateTimeStart = vo.operateTimeStart;
-        String operateTimeStop = vo.operateTimeStop;
-        if(operateTimeStart != null) {
-            operateTimeStart = operateTimeStart + " 00:00:00";
-            vo.setOperateTimeStart(operateTimeStart);
-        }
-        if(operateTimeStop != null) {
-            operateTimeStop = operateTimeStop + " 23:59:59";
-            vo.setOperateTimeStop(operateTimeStop);
-        }
-
-        // 鐢熸垚鏌ヨ鍙傛暟
-        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo) ;
-
-        // 鑾峰彇姹囨�荤殑璐按閲戦銆佽喘鍗¢噾棰�
-        Float money = 0f;
-        Float cardCost = 0f;
-        Map map_sum = Optional.ofNullable(seClientMapper.getSums(params)).orElse(new HashMap());
-        if(map_sum.size() > 0) {
-            money = Float.parseFloat(map_sum.get("money").toString());
-            cardCost = Float.parseFloat(map_sum.get("cardCost").toString());
-        }
-
-        // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
-        Long itemTotal = seClientMapper.getOperateRecordCount(params);
-
-        Integer pageSize = vo.getPageSize();
-        // 璁$畻鎬婚〉鏁�
-        Integer pageTotal ;
-        pageTotal = (int)Math.ceil((itemTotal==null?0.0D:itemTotal.doubleValue())/pageSize);
-
-        // 鏍规嵁褰撳墠椤电爜鍙婃瘡椤垫暟閲忚绠楀亸绉婚噺
-        Integer pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString());
-        params.put("pageCurr", pageCurr);
-
-        List<VoOperate> lit = seClientMapper.getOperates(params);
-        Map map_record = new HashMap();
-        map_record.put("itemTotal", itemTotal);
-        map_record.put("pageCurr", vo.pageCurr);
-        map_record.put("pageSize", pageSize);
-        map_record.put("pageTotal", pageTotal);
-        map_record.put("list", lit);
-
-        Map map_result = new HashMap();
-        map_result.put("money", money);
-        map_result.put("cardCost", cardCost);
-        map_result.put("records", map_record);
-
-        return map_result;
-    }
-
-    /**
-     * 鏍规嵁鎸囧畾鏉′欢鑾峰彇缁熻璁板綍
-     * @param vo 浜ゆ槗姹囨�绘煡璇㈡潯浠�
-     * @return 浜ゆ槗姹囨�昏褰�
-     */
-    public Map getStatistics(QueryStatistic vo){
-        // 琛ラ綈鏌ヨ鏃堕棿
-        String operateTimeStart = vo.operateTimeStart;
-        String operateTimeStop = vo.operateTimeStop;
-        if(operateTimeStart != null) {
-            operateTimeStart = operateTimeStart + " 00:00:00";
-            vo.setOperateTimeStart(operateTimeStart);
-        }
-        if(operateTimeStop != null) {
-            operateTimeStop = operateTimeStop + " 23:59:59";
-            vo.setOperateTimeStop(operateTimeStop);
-        }
-
-        // 鐢熸垚鏌ヨ鍙傛暟
-        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(vo) ;
-
-        // 鑾峰彇姹囨�荤殑浜ゆ槗绗旀暟銆佷氦鏄撻噾棰�
-        Integer count = 0;
-        Float money = 0f;
-        Map map_sum = Optional.ofNullable(seClientMapper.getStatisticSums(params)).orElse(new HashMap());
-        if(map_sum.size() > 0) {
-            count = Integer.parseInt(map_sum.get("count").toString());
-            money = Float.parseFloat(map_sum.get("money").toString());
-        }
-
-        // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
-        Long itemTotal = seClientMapper.getStatisticRecordCount(params);
-
-        Integer pageSize = vo.getPageSize();
-        // 璁$畻鎬婚〉鏁�
-        Integer pageTotal ;
-        pageTotal = (int)Math.ceil((itemTotal==null?0.0D:itemTotal.doubleValue())/pageSize);
-
-        // 鏍规嵁褰撳墠椤电爜鍙婃瘡椤垫暟閲忚绠楀亸绉婚噺
-        Integer pageCurr = (Integer.parseInt(params.get("pageCurr").toString()) - 1) * Integer.parseInt(params.get("pageSize").toString());
-        params.put("pageCurr", pageCurr);
-
-        List<VoStatistics> lit = seClientMapper.getStatistics(params);
-        Map map_record = new HashMap();
-        map_record.put("itemTotal", itemTotal);
-        map_record.put("pageCurr", vo.pageCurr);
-        map_record.put("pageSize", pageSize);
-        map_record.put("pageTotal", pageTotal);
-        map_record.put("list", lit);
-
-        Map map_result = new HashMap();
-        map_result.put("count", count);
-        map_result.put("money", money);
-        map_result.put("records", map_record);
-
-        return map_result;
     }
 
     /**

--
Gitblit v1.8.0