From 3b4b297f0da7d5943a50f6bdaea502774ccdc04a Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期二, 15 四月 2025 10:02:42 +0800
Subject: [PATCH] 监管平台1

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java |   58 +++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 43 insertions(+), 15 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
index faa6696..5029cfd 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/TChargingOrderController.java
@@ -36,6 +36,7 @@
 import com.ruoyi.integration.api.feignClient.UploadRealTimeMonitoringDataClient;
 import com.ruoyi.integration.api.model.ChargingOrderAndUploadRealTimeMonitoringDataDto;
 import com.ruoyi.integration.api.model.UploadRealTimeMonitoringPageData;
+import com.ruoyi.order.api.dto.ChargingStatisticeDTO;
 import com.ruoyi.order.api.model.*;
 import com.ruoyi.order.api.query.ChargingOrderQuery;
 import com.ruoyi.common.core.dto.MongoChargingOrderQuery;
@@ -54,6 +55,7 @@
 import com.ruoyi.order.service.*;
 import com.ruoyi.order.util.PreviousSixMonths;
 import com.ruoyi.order.vo.EndOfChargePageInfo;
+import com.ruoyi.order.vo.WatchChargingOrderVo;
 import com.ruoyi.other.api.feignClient.RoleSiteClient;
 import com.ruoyi.other.api.feignClient.UserSiteClient;
 import com.ruoyi.payment.api.feignClient.AliPaymentClient;
@@ -63,14 +65,11 @@
 import com.ruoyi.system.api.feignClient.SysUserClient;
 import com.ruoyi.system.api.feignClient.SysUserRoleClient;
 import com.ruoyi.system.api.model.SysUserRoleVo;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import io.swagger.annotations.ApiOperation;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
@@ -159,10 +158,25 @@
     private RoleSiteClient roleSiteClient;
     @Resource
     private SysUserRoleClient sysUserRoleClient;
-    
-    
-    
-    
+
+
+
+    /**
+     * 远程调用 监管平台查询前一天用能统计
+     * @return
+     */
+    @ResponseBody
+    @PostMapping(value = "/getChargingStatistics")
+    public R<List<TChargingOrder>> getChargingStatistics(@RequestBody ChargingStatisticeDTO dto) {
+        List<Long> collect = chargingOrderAccountingStrategyService.lambdaQuery().between(TChargingOrderAccountingStrategy::getCreateTime, dto.getStartTime(), dto.getEndTime())
+                .list().stream().map(TChargingOrderAccountingStrategy::getChargingOrderId).collect(Collectors.toList());
+        if (!collect.isEmpty()){
+            List<TChargingOrder> list = chargingOrderService.lambdaQuery()
+                    .in(TChargingOrder::getId,collect).list();
+            return R.ok(list);
+        }
+        return R.ok(new ArrayList<TChargingOrder>());
+    }
 
     /**
      * 远程调用 增加管理后台赠送会员记录
@@ -1175,23 +1189,37 @@
         PageInfo<TChargingOrder> orderPageInfo = chargingOrderService.page(pageInfo, queryWrapper.orderByDesc(TChargingOrder::getCreateTime));
         List<Site> siteList = siteClient.getSiteAll().getData();
         
+        List<WatchChargingOrderVo> list = new ArrayList<>();
         for (TChargingOrder record : orderPageInfo.getRecords()) {
-            record.setIdStr(record.getId().toString());
+            WatchChargingOrderVo vo = new WatchChargingOrderVo();
+            BeanUtils.copyProperties(record, vo);
+            vo.setIdStr(record.getId().toString());
             Site site = siteList.stream().filter(s->s.getId().equals(record.getSiteId())).findFirst().get();
-            record.setSiteName(site.getName());
+            vo.setSiteName(site.getName());
             TChargingPile chargingPile = chargingPileClient.getChargingPileById(record.getChargingPileId()).getData();
-            record.setTerminalName(chargingPile.getName());
+            vo.setTerminalName(chargingPile.getName());
             TChargingGun chargingGun = chargingGunClient.getChargingGunById(record.getChargingGunId()).getData();
-            record.setTerminalCode(chargingGun.getName());
+            vo.setTerminalCode(chargingGun.getName());
             
             if(null != record.getStartTime() && null != record.getEndTime()){
                 long time = record.getEndTime().toEpochSecond(ZoneOffset.UTC) - record.getStartTime().toEpochSecond(ZoneOffset.UTC);
-                record.setChargingTime(time + "");
+                vo.setChargingTime(time + "");
             }
             long count = chargingOrderAccountingStrategyService.count(new LambdaQueryWrapper<TChargingOrderAccountingStrategy>().eq(TChargingOrderAccountingStrategy::getChargingOrderId, record.getId()));
-            record.setTimeFrame(count);
+            vo.setTimeFrame(count);
+    
+            vo.setAuthInfo(roleType == 1 ? true : partnerClient.authMenu(objectId, record.getSiteId(), SiteMenu.CHARGING_PILE_ORDER_MONITORING_RECORD_INFO.getValue()));
+            vo.setAuthDelete(roleType == 1 ? true : partnerClient.authMenu(objectId, record.getSiteId(), SiteMenu.CHARGING_PILE_ORDER_MONITORING_RECORD_DEL.getValue()));
+            list.add(vo);
         }
-        return R.ok(orderPageInfo);
+        PageInfo<WatchChargingOrderVo> pageInfos = new PageInfo<>(query.getPageCurr(), query.getPageSize());
+        pageInfos.setRecords(list);
+        pageInfos.setCurrent(pageInfo.getCurrent());
+        pageInfos.setPages(pageInfo.getPages());
+        pageInfos.setSize(pageInfo.getSize());
+        pageInfos.setStartIndex(pageInfo.getStartIndex());
+        pageInfos.setTotal(pageInfo.getTotal());
+        return R.ok(pageInfos);
     }
     
     

--
Gitblit v1.7.1