From 1a2d6bec457d59ce865a06557c7d900e48fcb425 Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期五, 09 八月 2024 11:27:06 +0800
Subject: [PATCH] 指定时间段内每个农户充值合计(物理卡)
---
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoClientRechargeTotal.java | 18 ++++++
pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml | 44 ++++++++++++++
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java | 36 ++++++++++++
pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/daoSe/SeCardOperateMapper.java | 15 +++++
pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientCtrl.java | 22 +++++++
5 files changed, 135 insertions(+), 0 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 c12558c..270eb01 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
@@ -5,6 +5,7 @@
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;
import java.util.List;
@@ -170,4 +171,18 @@
* @return
*/
List<VoClientOpenCardCount> getOpenIcCardClients(Map<String, Object> params);
+
+ /**
+ * 鎸囧畾鏃堕棿娈靛唴姣忎釜鍐滄埛鍏呭�煎悎璁� 鍐滄埛鏁伴噺
+ * @param params
+ * @return
+ */
+ Long getRechargeTotalClientsCount(Map<String, Object> params);
+
+ /**
+ * 鎸囧畾鏃堕棿娈靛唴姣忎釜鍐滄埛鍏呭�煎悎璁�
+ * @param params
+ * @return
+ */
+ List<VoClientRechargeTotal> getRechargeTotalClients(Map<String, Object> params);
}
\ No newline at end of file
diff --git a/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoClientRechargeTotal.java b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoClientRechargeTotal.java
new file mode 100644
index 0000000..60bea2d
--- /dev/null
+++ b/pipIrr-platform/pipIrr-global/src/main/java/com/dy/pipIrrGlobal/voSt/VoClientRechargeTotal.java
@@ -0,0 +1,18 @@
+package com.dy.pipIrrGlobal.voSt;
+
+import lombok.Data;
+
+/**
+ * @author :WuZeYu
+ * @Date :2024/8/9 10:58
+ * @LastEditTime :2024/8/9 10:58
+ * @Description
+ */
+@Data
+public class VoClientRechargeTotal extends VoClient{
+
+ /**
+ *鍏呭�兼�婚噺
+ */
+ private Double rechargeTotal;
+}
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 9a196ce..9e1bd47 100644
--- a/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
+++ b/pipIrr-platform/pipIrr-global/src/main/resources/mapper/SeCardOperateMapper.xml
@@ -764,4 +764,48 @@
</if>
</trim>
</select>
+ <!--鎸囧畾鏃堕棿娈靛唴姣忎釜鍐滄埛鍏呭�煎悎璁� 鍐滄埛鏁伴噺-->
+ <select id="getRechargeTotalClientsCount" resultType="java.lang.Long">
+ select
+ count(*)
+ from
+ (
+ SELECT
+ sco.client_id AS clientId,
+ sc.`name` AS clientName,
+ sc.clientNum AS clientNum,
+ sc.address AS address,
+ sc.phone AS phone,
+ sc.idCard AS idCard,
+ IFNULL(SUM(sco.trade_amount),0) AS rechargeTotal
+ FROM
+ `se_card_operate` sco
+ INNER JOIN se_client sc ON sc.id = sco.client_id
+ WHERE
+ sco.operate_dt BETWEEN #{timeStart} AND #{timeStop} AND sco.operate_type = 2 AND sc.deleted = 0 AND sc.disabled = 0
+ GROUP BY sc.id) c
+ </select>
+ <!--鎸囧畾鏃堕棿娈靛唴姣忎釜鍐滄埛鍏呭�煎悎璁�-->
+ <select id="getRechargeTotalClients" resultType="com.dy.pipIrrGlobal.voSt.VoClientRechargeTotal">
+ SELECT
+ sco.client_id AS clientId,
+ sc.`name` AS clientName,
+ sc.clientNum AS clientNum,
+ sc.address AS address,
+ sc.phone AS phone,
+ sc.idCard AS idCard,
+ IFNULL(SUM(sco.trade_amount),0) AS rechargeTotal
+ FROM
+ `se_card_operate` sco
+ INNER JOIN se_client sc ON sc.id = sco.client_id
+ WHERE
+ sco.operate_dt BETWEEN #{timeStart} AND #{timeStop} AND sco.operate_type = 2 AND sc.deleted = 0 AND sc.disabled = 0
+ GROUP BY sc.id
+ ORDER BY sc.id 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-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientCtrl.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientCtrl.java
index 29bc05f..d006f7d 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientCtrl.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientCtrl.java
@@ -6,6 +6,7 @@
import com.dy.common.webUtil.QueryResultVo;
import com.dy.pipIrrGlobal.voSt.VoClient;
import com.dy.pipIrrGlobal.voSt.VoClientOpenCardCount;
+import com.dy.pipIrrGlobal.voSt.VoClientRechargeTotal;
import com.dy.pipIrrGlobal.voSt.VoICCard;
import com.dy.pipIrrStatistics.card.IcCardqo.CommonQO;
import com.dy.pipIrrStatistics.client.qo.AmountSpentQO;
@@ -154,4 +155,25 @@
return BaseResponseUtils.buildException(e.getMessage());
}
}
+
+
+
+ /**
+ * 鎸囧畾鏃堕棿娈靛唴姣忎釜鍐滄埛鍏呭�煎悎璁★紙鐗╃悊鍗★級
+ *
+ * @param qo
+ * @return
+ */
+ @GetMapping(path = "/getRechargeTotalClients")
+ @SsoAop()
+ public BaseResponse<QueryResultVo<List<VoClientRechargeTotal>>> getRechargeTotalClients(CommonQO qo) {
+ try {
+ QueryResultVo<List<VoClientRechargeTotal>> res = clientSv.getRechargeTotalClients(qo);
+ return BaseResponseUtils.buildSuccess(res);
+ }catch (Exception e){
+ log.error("鑾峰彇璁板綍寮傚父", e);
+ return BaseResponseUtils.buildException(e.getMessage());
+ }
+ }
+
}
diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java
index 8376e28..e1144e1 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/client/ClientSv.java
@@ -5,6 +5,7 @@
import com.dy.pipIrrGlobal.daoSe.SeCardOperateMapper;
import com.dy.pipIrrGlobal.voSt.VoClient;
import com.dy.pipIrrGlobal.voSt.VoClientOpenCardCount;
+import com.dy.pipIrrGlobal.voSt.VoClientRechargeTotal;
import com.dy.pipIrrGlobal.voSt.VoICCard;
import com.dy.pipIrrStatistics.card.IcCardqo.CommonQO;
import com.dy.pipIrrStatistics.client.qo.AmountSpentQO;
@@ -261,4 +262,39 @@
rsVo.obj = seCardOperateMapper.getOpenIcCardClients(params);
return rsVo ;
}
+
+ /**
+ * 鎸囧畾鏃堕棿娈靛唴姣忎釜鍐滄埛鍏呭�煎悎璁★紙鐗╃悊鍗★級
+ * @param qo
+ * @return
+ */
+ public QueryResultVo<List<VoClientRechargeTotal>> getRechargeTotalClients(CommonQO qo) {
+
+ String timeStart = qo.getTimeStart();
+ String timeStop = qo.getTimeStop();
+
+ if (timeStart != null && timeStart != ""){
+ timeStart = timeStart + " 00:00:00";
+ }else {
+ timeStart = LocalDate.now() + " 00:00:00";
+ }
+ if (timeStop != null && timeStop != ""){
+ timeStop = timeStop + " 23:59:59";
+ }else {
+ timeStop = LocalDateTime.now().toString();
+ }
+ qo.setTimeStart(timeStart);
+ qo.setTimeStop(timeStop);
+
+ Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo);
+ Long itemTotal = seCardOperateMapper.getRechargeTotalClientsCount(params);
+
+ QueryResultVo<List<VoClientRechargeTotal>> rsVo = new QueryResultVo<>() ;
+ rsVo.pageSize = qo.pageSize ;
+ rsVo.pageCurr = qo.pageCurr ;
+
+ rsVo.calculateAndSet(itemTotal, params);
+ rsVo.obj = seCardOperateMapper.getRechargeTotalClients(params);
+ return rsVo ;
+ }
}
--
Gitblit v1.8.0