From dcd97d683792b5d47cc13966b24e3bbb92ee9854 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 11 十二月 2024 19:11:36 +0800
Subject: [PATCH] 修改安全相关功能和合作商权限功能

---
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TParkingRecordController.java |   60 +++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 53 insertions(+), 7 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 f980197..8bce3bc 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
@@ -22,6 +22,8 @@
 import com.ruoyi.common.log.annotation.Log;
 import com.ruoyi.common.log.enums.BusinessType;
 import com.ruoyi.common.log.enums.OperatorType;
+import com.ruoyi.common.security.annotation.Logical;
+import com.ruoyi.common.security.annotation.RequiresPermissions;
 import com.ruoyi.order.api.query.TOrderInvoiceQuery;
 import com.ruoyi.order.api.vo.TCharingUserEquimentVO;
 import com.ruoyi.order.api.vo.TOrderInvoiceVO;
@@ -37,6 +39,7 @@
 import java.math.BigDecimal;
 import java.net.URLEncoder;
 import java.time.LocalDate;
+import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -59,14 +62,26 @@
     private TParkingRecordService parkingRecordService;
     @Resource
     private TParkingLotService parkingLotService;
-
+    
+    
+    @RequiresPermissions(value = {"/parkingRecord"}, logical = Logical.OR)
     @ApiOperation(tags = {"后台-订单管理-停车记录"},value = "列表")
     @PostMapping(value = "/page")
     public R<Page<TParkingRecord>> page(@RequestBody ParkingRecordPageQuery query) {
+        String s1 = "";
+        String s2 = "";
+        if (query.getTimePeriod()!=null){
+             s1 = query.getTimePeriod().split(" - ")[0];
+             s2 = query.getTimePeriod().split(" - ")[1];
+        }
         Page<TParkingRecord> page = parkingRecordService.lambdaQuery()
                 .like(query.getLicensePlate() != null, TParkingRecord::getLicensePlate, query.getLicensePlate())
                 .eq(query.getStatus() != null, TParkingRecord::getStatus, query.getStatus())
                 .eq(query.getOutParkingType() != null, TParkingRecord::getOutParkingType, query.getOutParkingType())
+                .between(query.getTimePeriod()!=null,TParkingRecord::getInParkingTime,s1,s2)
+                .or()
+                .between(query.getTimePeriod()!=null,TParkingRecord::getOutParkingTime,s1,s2)
+                .orderByDesc(TParkingRecord::getCreateTime)
                 .page(Page.of(query.getPageCurr(), query.getPageSize()));
 
         for (TParkingRecord record : page.getRecords()) {
@@ -78,12 +93,17 @@
         }
         return R.ok(page);
     }
-
+    
+    
+    @RequiresPermissions(value = {"/parkingPaymentOrder"}, logical = Logical.OR)
     @ApiOperation(tags = {"后台-订单管理-停车记录"},value = "停车缴费订单列表")
     @PostMapping(value = "/pageList")
     public R<TParkingRecordPageInfoVO> pageList(@RequestBody ParkingRecordQuery query) {
         return R.ok(parkingRecordService.pageList(query));
     }
+    
+    
+    @RequiresPermissions(value = {"/parkingPaymentOrder/export"}, logical = Logical.OR)
     @ApiOperation(tags = {"后台-订单管理-停车记录"},value = "导出")
     @PutMapping("/export")
     @Log(title = "【停车记录】导出停车记录", businessType = BusinessType.EXPORT,operatorType = OperatorType.MANAGE)
@@ -129,18 +149,25 @@
             }
         }
     }
+    
+    
+    
+    
     @ApiOperation(tags = {"后台-订单管理-停车记录"},value = "详情")
     @GetMapping(value = "/detail")
     public R<TParkingRecord> detail(Long id) {
       return R.ok(parkingRecordService.getById(id));
     }
-
+    
+    
+    @RequiresPermissions(value = {"/parkingRecord/already_appeared"}, logical = Logical.OR)
     @ApiOperation(tags = {"后台-订单管理-停车记录"},value = "出场")
     @GetMapping(value = "/out")
     @Log(title = "【停车记录】修改出场状态", businessType = BusinessType.UPDATE,operatorType = OperatorType.MANAGE)
     public R out(Long id) {
         TParkingRecord byId = parkingRecordService.getById(id);
         byId.setStatus(2);
+        byId.setOutParkingTime(LocalDateTime.now());
         parkingRecordService.updateById(byId);
         return R.ok();
 
@@ -190,7 +217,9 @@
     public void addParkingRecord(@RequestBody TParkingRecord parkingRecord){
         parkingRecordService.save(parkingRecord);
     }
-
+    
+    
+    @RequiresPermissions(value = {"/parkingOperationAnalysis"}, logical = Logical.OR)
     @ResponseBody
     @PostMapping(value = "/parking/data")
     @ApiOperation(value = "统计", tags = {"管理后台-数据分析-车场运营分析"})
@@ -275,6 +304,9 @@
         return R.ok(tParkLotRecordVO);
 
     }
+    
+    
+    
     private static Map<String, Object> findMapWithTimeValue(List<Map<String, Object>> charMap1,String timeValue) {
         for (Map<String, Object> map : charMap1) {
             if (map.containsKey("time") && map.get("time").equals(timeValue)) {
@@ -283,6 +315,8 @@
         }
         return null; // 如果没有找到,返回 null
     }
+    
+    
 
     private Map<String, Object> findMapWithDateValue(List<Map<String, Object>> list, String date) {
         for (Map<String, Object> map : list) {
@@ -292,11 +326,15 @@
         }
         return null;
     }
+    
+    
+    
+    @RequiresPermissions(value = {"/workbench"}, logical = Logical.OR)
     @ResponseBody
     @PostMapping(value = "/parking/work")
     @ApiOperation(value = "停车订单统计", tags = {"管理后台-工作台"})
     public R<TParkLotRecordCountVo> work(@RequestBody ParkingRecordQueryDto parkingRecordQueryDto){
-        List<TParkingRecord> list = parkingRecordService.lambdaQuery().eq(parkingRecordQueryDto.getParkingLotId() != null, TParkingRecord::getParkingLotId, parkingRecordQueryDto.getParkingLotId())
+        List<TParkingRecord> list = parkingRecordService.lambdaQuery().isNotNull(TParkingRecord::getOutParkingType).eq(parkingRecordQueryDto.getParkingLotId() != null, TParkingRecord::getParkingLotId, parkingRecordQueryDto.getParkingLotId())
                 .ge(parkingRecordQueryDto.getStartTime()!=null,TParkingRecord::getCreateTime, parkingRecordQueryDto.getStartTime())
                 .le(parkingRecordQueryDto.getEndTime()!=null,TParkingRecord::getCreateTime, parkingRecordQueryDto.getEndTime().plusDays(1)).list();
         int count1 = list.size();
@@ -321,11 +359,16 @@
         return R.ok(tParkLotRecordCountVo);
 
     }
+    
+    
+    
+    
+    @RequiresPermissions(value = {"/workbench"}, logical = Logical.OR)
     @ResponseBody
     @PostMapping(value = "/parking/work1")
     @ApiOperation(value = "停车订单统计", tags = {"管理后台-工作台"})
     public R<TParkLotRecordCountVo> work1(@RequestBody ParkingRecordQueryDto parkingRecordQueryDto){
-        List<TParkingRecord> list = parkingRecordService.lambdaQuery().eq(parkingRecordQueryDto.getParkingLotId() != null, TParkingRecord::getParkingLotId, parkingRecordQueryDto.getParkingLotId()).list();
+        List<TParkingRecord> list = parkingRecordService.lambdaQuery().isNotNull(TParkingRecord::getOutParkingType).eq(parkingRecordQueryDto.getParkingLotId() != null, TParkingRecord::getParkingLotId, parkingRecordQueryDto.getParkingLotId()).list();
         int count1 = list.size();
         //统计出list中chargingOrderId为null的数据个数
         int count2 = list.stream().filter(item -> item.getChargingOrderId() != null).collect(Collectors.toList()).size();
@@ -348,7 +391,10 @@
         return R.ok(tParkLotRecordCountVo);
 
     }
-
+    
+    
+    
+    @RequiresPermissions(value = {"/workbench"}, logical = Logical.OR)
     @ResponseBody
     @PostMapping(value = "/parking/income")
     @ApiOperation(value = "停车收入统计", tags = {"管理后台-工作台"})

--
Gitblit v1.7.1