From 17efddc6a667670dca682bf36b51a43e99615e6d Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 16 十月 2024 15:59:38 +0800
Subject: [PATCH] 代码初始化

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java |  129 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 126 insertions(+), 3 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java
index 202d2b0..c75617b 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/PlatformWaterGasServiceImpl.java
@@ -12,6 +12,11 @@
 import com.doumee.dao.business.PlatformWaterGasMapper;
 import com.doumee.dao.business.model.PlatformReason;
 import com.doumee.dao.business.model.PlatformWaterGas;
+import com.doumee.dao.openapi.request.GasByMonthRequest;
+import com.doumee.dao.openapi.request.WaterByMonthRequest;
+import com.doumee.dao.openapi.response.GasByMonthResponse;
+import com.doumee.dao.openapi.response.PlatformLastMonthListResponse;
+import com.doumee.dao.openapi.response.WaterByMonthResponse;
 import com.doumee.service.business.PlatformWaterGasService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -22,9 +27,10 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.RequestBody;
 
-import java.util.Date;
-import java.util.List;
+import java.math.BigDecimal;
+import java.util.*;
 
 /**
  * 鏈堝彴_鐢ㄦ按鐢ㄦ皵淇℃伅璁板綍琛⊿ervice瀹炵幇
@@ -41,11 +47,12 @@
     public Integer create(PlatformWaterGas platformWaterGas) {
         if(platformWaterGas.getTimeInfo() ==null || platformWaterGas.getNum()==null
         ||(Constants.equalsInteger(platformWaterGas.getType(),Constants.TWO) && StringUtils.isBlank(platformWaterGas.getCarCode()))){
-            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇ュ勾鏈堟暟鎹凡瀛樺湪锛岃鍕块噸鏂板綍鍏ワ紝鍙互灏濊瘯鎼滅储鍚庤繘琛屾暟鎹慨鏀癸紒");
+            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝鍙傛暟閿欒锛�");
         }
         if( platformWaterGasMapper.selectCount(new QueryWrapper<PlatformWaterGas>().lambda()
                 .eq(PlatformWaterGas::getIsdeleted, Constants.ZERO)
                 .apply("to_days(time_info) = to_days('"+ DateUtil.getPlusTime2(platformWaterGas.getTimeInfo()) +"')")
+                .eq(PlatformWaterGas::getType,platformWaterGas.getType())
                 .eq(Constants.equalsInteger(platformWaterGas.getType(),Constants.TWO),PlatformWaterGas::getCarCode,platformWaterGas.getCarCode()))>0){
             throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇ュ勾鏈堟暟鎹凡瀛樺湪锛岃鍕块噸鏂板綍鍏ワ紝鍙互灏濊瘯鎼滅储鍚庤繘琛屾暟鎹慨鏀癸紒");
         }
@@ -109,6 +116,7 @@
                 .eq(PlatformWaterGas::getIsdeleted, Constants.ZERO)
                 .ne(PlatformWaterGas::getId,platformWaterGas.getId())
                 .apply("to_days(time_info) = to_days('"+ DateUtil.getPlusTime2(platformWaterGas.getTimeInfo()) +"')")
+                .eq(PlatformWaterGas::getType, platformWaterGas.getType())
                 .eq(Constants.equalsInteger(platformWaterGas.getType(),Constants.TWO),PlatformWaterGas::getCarCode,platformWaterGas.getCarCode()))>0){
             throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇ュ勾鏈堟暟鎹凡瀛樺湪锛岃鍕块噸鏂板綍鍏ワ紝鍙互灏濊瘯鎼滅储鍚庤繘琛屾暟鎹慨鏀癸紒");
         }
@@ -150,6 +158,7 @@
         IPage<PlatformWaterGas> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         QueryWrapper<PlatformWaterGas> queryWrapper = new QueryWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
+        queryWrapper.lambda().eq(PlatformWaterGas::getIsdeleted, Constants.ZERO);
         if (pageWrap.getModel().getId() != null) {
             queryWrapper.lambda().eq(PlatformWaterGas::getId, pageWrap.getModel().getId());
         }
@@ -207,4 +216,118 @@
         QueryWrapper<PlatformWaterGas> wrapper = new QueryWrapper<>(platformWaterGas);
         return platformWaterGasMapper.selectCount(wrapper);
     }
+
+
+    @Override
+    public WaterByMonthResponse waterDataByMonth(WaterByMonthRequest param){
+        Date queryDate = (Objects.nonNull(param)&&Objects.nonNull(param.getTimeInfo()))?param.getTimeInfo():new Date();
+        //鑾峰彇涓婁釜鏈堟棩鏈�
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(queryDate);
+        calendar.add(Calendar.MONTH, -1);
+        Date beforMonth = calendar.getTime();
+        calendar.add(Calendar.MONTH, -11);
+        Date beforYearMonth = calendar.getTime();
+
+        WaterByMonthResponse waterByMonthResponse = new WaterByMonthResponse();
+
+        List<PlatformWaterGas> list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>().lambda()
+                .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO)
+                .eq(PlatformWaterGas::getType,Constants.ZERO)
+                .like(PlatformWaterGas::getTimeInfo,DateUtil.getDate(queryDate,"yyyy-MM"))
+        );
+        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){
+            waterByMonthResponse.setCurrentMonth(list.stream().map(m->m.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add));
+        }
+
+        list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>().lambda()
+                .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO)
+                .eq(PlatformWaterGas::getType,Constants.ZERO)
+                .like(PlatformWaterGas::getTimeInfo,DateUtil.getDate(beforMonth,"yyyy-MM"))
+        );
+        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){
+            waterByMonthResponse.setLastMonth(list.stream().map(m->m.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add));
+        }
+
+        list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>().lambda()
+                .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO)
+                .eq(PlatformWaterGas::getType,Constants.ZERO)
+                .like(PlatformWaterGas::getTimeInfo,DateUtil.getDate(beforYearMonth,"yyyy-MM"))
+        );
+        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){
+            waterByMonthResponse.setLastYearMonth(list.stream().map(m->m.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add));
+        }
+        return waterByMonthResponse;
+    }
+
+
+    @Override
+    public GasByMonthResponse gasDataByMonth(GasByMonthRequest param){
+        Date queryDate = (Objects.nonNull(param)&&Objects.nonNull(param.getTimeInfo()))?param.getTimeInfo():new Date();
+        //鑾峰彇涓婁釜鏈堟棩鏈�
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(queryDate);
+        calendar.add(Calendar.MONTH, -1);
+        Date beforMonth = calendar.getTime();
+        calendar.add(Calendar.MONTH, -11);
+        Date beforYearMonth = calendar.getTime();
+
+        GasByMonthResponse response = new GasByMonthResponse();
+
+        List<PlatformWaterGas> list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>().lambda()
+                .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO)
+                .eq(PlatformWaterGas::getType,Constants.ONE)
+                .like(PlatformWaterGas::getTimeInfo,DateUtil.getDate(queryDate,"yyyy-MM"))
+        );
+        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){
+            response.setCurrentMonth(list.stream().map(m->m.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add));
+        }
+
+        list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>().lambda()
+                .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO)
+                .eq(PlatformWaterGas::getType,Constants.ONE)
+                .like(PlatformWaterGas::getTimeInfo,DateUtil.getDate(beforMonth,"yyyy-MM"))
+        );
+        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){
+            response.setLastMonth(list.stream().map(m->m.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add));
+        }
+
+        list = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>().lambda()
+                .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO)
+                .eq(PlatformWaterGas::getType,Constants.ONE)
+                .like(PlatformWaterGas::getTimeInfo,DateUtil.getDate(beforYearMonth,"yyyy-MM"))
+        );
+        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){
+            response.setLastYearMonth(list.stream().map(m->m.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add));
+        }
+        return response;
+    }
+
+
+    /**
+     *
+     * @param type 0鐢ㄦ按 1鐢ㄦ皵
+     * @return
+     */
+    @Override
+    public List<PlatformLastMonthListResponse> getPlatformLastMonthListResponse(Integer type){
+        List<PlatformLastMonthListResponse> lastMonthListResponses = new ArrayList<>();
+
+        List<PlatformWaterGas> platformWaterGasList = platformWaterGasMapper.selectList(new QueryWrapper<PlatformWaterGas>().lambda()
+                .eq(PlatformWaterGas::getIsdeleted,Constants.ZERO)
+                .eq(PlatformWaterGas::getType,type)
+        );
+        List<String> monthList = DateUtil.getBeforMonth(new Date(),12);
+        for (String str:monthList) {
+            PlatformLastMonthListResponse platformLastMonthListResponse = new PlatformLastMonthListResponse();
+            platformLastMonthListResponse.setNum(platformWaterGasList.stream().filter(i->DateUtil.dateToString(i.getTimeInfo(),"yyyy-MM").equals(str)).map(i->i.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add));
+            platformLastMonthListResponse.setTimeInfo(str);
+            lastMonthListResponses.add(platformLastMonthListResponse);
+        }
+        return lastMonthListResponses;
+    }
+
+
+
+
 }

--
Gitblit v1.9.3