From 7156119e51320afd0ffdd0723cd983fd415d61d9 Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期四, 26 九月 2024 11:17:34 +0800
Subject: [PATCH] fix : 新增修改车数日志

---
 src/main/java/com/boying/controller/ParkController.java |   68 ++++++++++++++++++++++++++++++++--
 1 files changed, 64 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/boying/controller/ParkController.java b/src/main/java/com/boying/controller/ParkController.java
index dc87fe5..655572d 100644
--- a/src/main/java/com/boying/controller/ParkController.java
+++ b/src/main/java/com/boying/controller/ParkController.java
@@ -1,15 +1,24 @@
 package com.boying.controller;
 
 
+import cn.hutool.http.HttpRequest;
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.boying.common.R;
+import com.boying.entity.EditParkNumLog;
+import com.boying.entity.EnterPark;
 import com.boying.entity.Park;
 import com.boying.entity.User;
+import com.boying.service.EditParkNumLogService;
+import com.boying.service.EnterParkService;
 import com.boying.service.ParkService;
 import com.boying.service.UserService;
+import com.boying.util.IpUtil;
+import com.boying.util.RedisJsonUtil;
 import lombok.RequiredArgsConstructor;
+import org.apache.catalina.security.SecurityUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -17,6 +26,10 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+import java.time.LocalDateTime;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -32,6 +45,9 @@
     private StringRedisTemplate redisTemplate;
     private final ParkService parkService;
     private final UserService userService;
+    private final RedisJsonUtil redisJsonUtil;
+    private final EnterParkService enterParkService;
+    private final EditParkNumLogService editParkNumLogService;
 
     @PostMapping("/findPage")
     public Object findPage(Page page) {
@@ -58,12 +74,18 @@
             redisTemplate.opsForValue().set("car_park_" + park.getId(),"0",30, TimeUnit.DAYS);
             redisTemplate.opsForValue().set("park_up_" + park.getId(),"true",30, TimeUnit.DAYS);
         }
+        try {
+            redisJsonUtil.set("park-"+park.getId(), park);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
         return R.ok("淇濆瓨鎴愬姛");
     }
 
     @PostMapping("/delete")
     public Object delete(Long id) {
         parkService.removeById(id);
+        redisJsonUtil.del("park-"+id);
         return R.ok("鍒犻櫎鎴愬姛");
     }
 
@@ -103,10 +125,15 @@
         for (Long id : ids) {
             Park byId1 = parkService.getById(id);
             String num = redisTemplate.opsForValue().get("car_park_" +  byId1.getId());
-            if(StringUtils.isNotBlank(num)){
-                num = "0";
+            try {
+                if(StringUtils.isBlank(num)){
+                    num = "0";
+                }
+                byId1.setCarNum(Integer.parseInt(num));
+            }catch (Exception e){
+                byId1.setCarNum(0);
+                e.printStackTrace();
             }
-            byId1.setCarNum(Integer.parseInt(num));
             list.add(byId1);
         }
         return R.ok(list);
@@ -128,7 +155,7 @@
         }
     }
     @PostMapping("/editParkCarNum")
-    public Object editParkCarNum(Park park) {
+    public Object editParkCarNum(HttpServletRequest request, Park park) {
         Park byId = parkService.getById(park.getId());
         if(byId == null){
             return R.failed("鏈煡璇㈠埌璇ュ仠杞﹀満");
@@ -137,8 +164,41 @@
             redisTemplate.opsForValue().set("car_park_" + byId.getId(),park.getCarNum()+"",30, TimeUnit.DAYS);
             redisTemplate.opsForValue().set("park_up_" + byId.getId(),"true",30, TimeUnit.DAYS);
             parkService.updateById(byId);
+            String jsonValue = JSON.toJSONString(park);
+            redisTemplate.opsForValue().set("park-"+park.getId(), jsonValue);
+
+            String ipAddr = IpUtil.getIpAddr(request);
+            int num = byId.getNum();
+            int newNum = park.getNum();
+            EditParkNumLog numLog = new EditParkNumLog();
+            numLog.setIp(ipAddr);
+            numLog.setNum(num);
+            numLog.setNewNum(newNum);
+            numLog.setCreateTime(LocalDateTime.now());
+            editParkNumLogService.save(numLog);
+
             return R.ok(null,"淇敼鎴愬姛");
         }
     }
 
+
+
+
+    @PostMapping("/getParkCar")
+    public Object getParkCar(Page page, Integer parkId,String carNo) {
+        QueryWrapper<EnterPark> enterParkQueryWrapper = new QueryWrapper<>();
+        enterParkQueryWrapper.lambda()
+                .eq(parkId != null,EnterPark::getParkId,parkId)
+                .like(StringUtils.isNotBlank(carNo),EnterPark::getCarNo,carNo)
+                .orderByDesc(EnterPark::getCreateTime);
+        Page<EnterPark> page1 = enterParkService.page(page, enterParkQueryWrapper);
+        for (EnterPark record : page1.getRecords()) {
+            record.setParkName(parkService.getById(record.getParkId()).getName());
+            if(record.getImgId() != null){
+                record.setImgPath("/ffzf/fileinfo/showImgById/"+record.getImgId());
+            }
+        }
+        return R.ok(page1);
+    }
+
 }

--
Gitblit v1.9.1