From a27ef29ee2116befc9043fb34db5d3a7fecb4094 Mon Sep 17 00:00:00 2001
From: wuzeyu <1223318623@qq.com>
Date: 星期一, 02 九月 2024 16:02:26 +0800
Subject: [PATCH] 优化代码 指定时间段用水量超过指定值的农户         指定时间段用水时长超过指定值的农户         指定时间段消费金额超过指定值的农户

---
 pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/VirtualCardSv.java |  156 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 156 insertions(+), 0 deletions(-)

diff --git a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/VirtualCardSv.java b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/VirtualCardSv.java
index a3fd60c..0c6f032 100644
--- a/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/VirtualCardSv.java
+++ b/pipIrr-platform/pipIrr-web/pipIrr-web-statistics/src/main/java/com/dy/pipIrrStatistics/card/VirtualCardSv.java
@@ -1,7 +1,20 @@
 package com.dy.pipIrrStatistics.card;
 
+import com.dy.common.webUtil.QueryResultVo;
+import com.dy.pipIrrGlobal.daoSe.SeVcOperateMapper;
+import com.dy.pipIrrGlobal.voSt.VoClientStatistics;
+import com.dy.pipIrrStatistics.card.qo.CommonQO;
+import com.dy.pipIrrStatistics.card.qo.StartStopDateQO;
+import com.dy.pipIrrStatistics.card.qo.TotalRechargeQO;
 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.time.LocalDate;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
 
 /**
  * @author ZhuBaoMin
@@ -13,4 +26,147 @@
 @Slf4j
 @Service
 public class VirtualCardSv {
+    @Autowired
+    private SeVcOperateMapper seVcOperateMapper;
+
+    /**
+     * 鎸囧畾鏃堕棿娈靛唴娉ㄥ唽铏氭嫙鍗$殑鍐滄埛
+     * @param qo
+     * @return
+     */
+    public QueryResultVo<List<VoClientStatistics>> getRegisterVcClients(CommonQO qo) {
+        /**
+         * 琛ラ綈璧锋鏃堕棿锛屽鏋滃紑濮嬫椂闂翠负绌猴紝鍒欓粯璁や负褰撳墠鏃ユ湡
+         */
+        String timeStart = qo.getTimeStart();
+        String timeStop = qo.getTimeStop();
+        if(timeStart != null) {
+            timeStart = timeStart + " 00:00:00";
+        }else {
+            timeStart = LocalDate.now() + " 00:00:00";
+        }
+        if(timeStop != null) {
+            timeStop = timeStop + " 23:59:59";
+        }
+        qo.setTimeStart(timeStart);
+        qo.setTimeStop(timeStop);
+
+        // 鐢熸垚鏌ヨ鍙傛暟
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+
+        // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
+        Long itemTotal = Optional.ofNullable(seVcOperateMapper.getRegisterVcClientsCount(params)).orElse(0L);
+
+        QueryResultVo<List<VoClientStatistics>> rsVo = new QueryResultVo<>() ;
+
+        rsVo.pageSize = qo.pageSize ;
+        rsVo.pageCurr = qo.pageCurr ;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = seVcOperateMapper.getRegisterVcClients(params);
+        return rsVo ;
+    }
+
+    /**
+     * 鎸囧畾鏃堕棿娈靛唴娉ㄥ唽鎬绘暟閲�
+     * @param qo
+     * @return
+     */
+    public Long getRegisterCount(StartStopDateQO qo) {
+        /**
+         * 琛ラ綈璧锋鏃堕棿锛屽鏋滃紑濮嬫椂闂翠负绌猴紝鍒欓粯璁や负褰撳墠鏃ユ湡
+         */
+        String timeStart = qo.getTimeStart();
+        String timeStop = qo.getTimeStop();
+        if(timeStart != null) {
+            timeStart = timeStart + " 00:00:00";
+        }else {
+            timeStart = LocalDate.now() + " 00:00:00";
+        }
+        if(timeStop != null) {
+            timeStop = timeStop + " 23:59:59";
+        }
+        qo.setTimeStart(timeStart);
+        qo.setTimeStop(timeStop);
+
+        // 鐢熸垚鏌ヨ鍙傛暟
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+
+        // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
+        return Optional.ofNullable(seVcOperateMapper.getRegisterCount(params)).orElse(0L);
+    }
+
+    /**
+     * 鎸囧畾鏃堕棿娈靛厖鍊兼�绘暟閲�
+     * @param qo
+     * @return
+     */
+    public Long getRechargeCount(StartStopDateQO qo) {
+        /**
+         * 琛ラ綈璧锋鏃堕棿锛屽鏋滃紑濮嬫椂闂翠负绌猴紝鍒欓粯璁や负褰撳墠鏃ユ湡
+         */
+        String timeStart = qo.getTimeStart();
+        String timeStop = qo.getTimeStop();
+        if(timeStart != null) {
+            timeStart = timeStart + " 00:00:00";
+        }else {
+            timeStart = LocalDate.now() + " 00:00:00";
+        }
+        if(timeStop != null) {
+            timeStop = timeStop + " 23:59:59";
+        }
+        qo.setTimeStart(timeStart);
+        qo.setTimeStop(timeStop);
+
+        // 鐢熸垚鏌ヨ鍙傛暟
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+
+        return Optional.ofNullable(seVcOperateMapper.getRechargeCount(params)).orElse(0L);
+    }
+
+    /**
+     * 褰撳墠浣欓鎬婚噺
+     * @return
+     */
+    public Double getTotalBalance() {
+        return Optional.ofNullable(seVcOperateMapper.getTotalBalance()).orElse(0.0);
+    }
+
+    /**
+     * 鎸囧畾鏃堕棿娈靛唴铏氭嫙鍗″厖鍊奸噾棰濊秴杩囨寚瀹氬�肩殑鍐滄埛
+     * @param qo
+     * @return
+     */
+    public QueryResultVo<List<VoClientStatistics>> getLargeRechargeClients(TotalRechargeQO qo) {
+        /**
+         * 琛ラ綈璧锋鏃堕棿锛屽鏋滃紑濮嬫椂闂翠负绌猴紝鍒欓粯璁や负褰撳墠鏃ユ湡
+         */
+        String timeStart = qo.getTimeStart();
+        String timeStop = qo.getTimeStop();
+        if(timeStart != null) {
+            timeStart = timeStart + " 00:00:00";
+        }else {
+            timeStart = LocalDate.now() + " 00:00:00";
+        }
+        if(timeStop != null) {
+            timeStop = timeStop + " 23:59:59";
+        }
+        qo.setTimeStart(timeStart);
+        qo.setTimeStop(timeStop);
+
+        // 鐢熸垚鏌ヨ鍙傛暟
+        Map<String, Object> params = (Map<String, Object>) PojoUtils.generalize(qo) ;
+
+        // 鑾峰彇绗﹀悎鏉′欢鐨勮褰曟暟
+        Long itemTotal = Optional.ofNullable(seVcOperateMapper.getLargeRechargeClientsCount(params)).orElse(0L);
+
+        QueryResultVo<List<VoClientStatistics>> rsVo = new QueryResultVo<>() ;
+
+        rsVo.pageSize = qo.pageSize ;
+        rsVo.pageCurr = qo.pageCurr ;
+
+        rsVo.calculateAndSet(itemTotal, params);
+        rsVo.obj = seVcOperateMapper.getLargeRechargeClients(params);
+        return rsVo ;
+    }
 }

--
Gitblit v1.8.0