From c8cee43365a79b026502908b4aa361f08d59b42a Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 22 一月 2025 09:56:49 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java |   53 ++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 44 insertions(+), 9 deletions(-)

diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java
index cf216ff..7b17c17 100644
--- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java
+++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java
@@ -82,20 +82,40 @@
     @PostMapping(value = "/page")
     public R<Page<TParkingRecord>> page(@RequestBody ParkingRecordPageQuery query) {
         Long userid = tokenService.getLoginUser().getUserid();
+        SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData();
+        Integer roleType = sysUser.getRoleType();
         List<Integer> siteIds = new ArrayList<>();
 
-            List<GetSiteListDTO> data = siteClient.getSiteListByUserId(userid).getData();
-            for (GetSiteListDTO datum : data) {
-                siteIds.add(datum.getId());
+        List<GetSiteListDTO> data = siteClient.getSiteListByUserId(userid).getData();
+        for (GetSiteListDTO datum : data) {
+            siteIds.add(datum.getId());
+        }
+        if (siteIds.isEmpty()){
+            siteIds.add(-1);
+        }else{
+            if (roleType == 2){
+                List<Integer> integers = new ArrayList<>();
+                for (Integer siteId : siteIds) {
+                    // 校验有没有这个站点的权限
+                    List<Boolean> t1= partnerClient.parkingRecordListMenu(sysUser.getObjectId(),siteId).getData();
+
+                    Boolean b = t1.get(1);
+                    if (b){
+                        integers.add(siteId);
+                    }
+                }
+                siteIds = integers;
             }
-            if (siteIds.isEmpty()){
-                siteIds.add(-1);
-            }
+        }
+        if (siteIds.isEmpty()){
+            siteIds.add(-1);
+        }
         List<TParkingLot> list = parkingLotService.lambdaQuery().in( TParkingLot::getSiteId, siteIds).list();
         List<Integer> ids = new ArrayList<>();
         for (TParkingLot tParkingLot : list) {
             ids.add(tParkingLot.getId());
         }
+
 
         String s1 = "";
         String s2 = "";
@@ -104,6 +124,7 @@
              s2 = query.getTimePeriod().split(" - ")[1];
         }
         Page<TParkingRecord> page = parkingRecordService.lambdaQuery()
+                .in(null != ids && ids.size() > 0, TParkingRecord::getParkingLotId,ids)
                 .like(query.getLicensePlate() != null, TParkingRecord::getLicensePlate, query.getLicensePlate())
                 .eq(query.getStatus() != null, TParkingRecord::getStatus, query.getStatus())
                 .eq(query.getOutParkingType() != null, TParkingRecord::getOutParkingType, query.getOutParkingType())
@@ -112,8 +133,7 @@
                 .between(query.getTimePeriod()!=null,TParkingRecord::getOutParkingTime,s1,s2)
                 .orderByDesc(TParkingRecord::getCreateTime)
                 .page(Page.of(query.getPageCurr(), query.getPageSize()));
-        SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData();
-        Integer roleType = sysUser.getRoleType();
+
         for (TParkingRecord record : page.getRecords()) {
             TParkingLot byId = parkingLotService.getById(record.getParkingLotId());
             record.setUid(record.getId().toString());
@@ -261,7 +281,22 @@
     public R<TParkLotRecordVO> data(@RequestBody ParkingRecordQueryDto parkingRecordQueryDto){
         //上方折线图
         TParkLotRecordVO tParkLotRecordVO = new TParkLotRecordVO();
-
+        // 查询当前登陆人按钮权限
+        SysUser sysUser = sysUserClient.getSysUser(tokenService.getLoginUser().getUserid()).getData();
+        Integer roleType = sysUser.getRoleType();
+        Long userId = tokenService.getLoginUser().getUserid();
+        //如果没传siteId,获取当前登陆人所有的siteIds
+        List<Integer> siteIds = new ArrayList<>();
+        if (userId != null){
+            List<GetSiteListDTO> data2 = siteClient.getSiteListByUserId(userId).getData();
+            for (GetSiteListDTO datum : data2) {
+                siteIds.add(datum.getId());
+            }
+        }
+        if (siteIds.isEmpty()){
+            siteIds.add(-1);
+        }
+        parkingRecordQueryDto.setSiteIds(siteIds);
         if (parkingRecordQueryDto.getDayType()==1) {
             List<Map<String, Object>> maps = parkingRecordService.parkingData(parkingRecordQueryDto);
 

--
Gitblit v1.7.1