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 |  107 +++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 87 insertions(+), 20 deletions(-)

diff --git a/src/main/java/com/boying/controller/ParkController.java b/src/main/java/com/boying/controller/ParkController.java
index 1818e65..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;
@@ -24,7 +37,7 @@
 import java.util.stream.Collectors;
 
 @RestController
-@RequestMapping("/park")
+@RequestMapping("ffzf/park")
 @RequiredArgsConstructor
 public class ParkController {
 
@@ -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) {
@@ -39,7 +55,12 @@
         List<Park> records = page1.getRecords();
         for (Park record : records) {
             String num = redisTemplate.opsForValue().get("car_park_" +  record.getId());
-            record.setCarNum(Integer.parseInt(num));
+            if(num != null){
+                record.setCarNum(Integer.parseInt(num));
+            }else {
+                record.setCarNum(0);
+            }
+
         }
         page1.setRecords(records);
         return R.ok(page1);
@@ -53,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("鍒犻櫎鎴愬姛");
     }
 
@@ -89,26 +116,29 @@
     }
 
     @PostMapping("/getByUserId")
-    public Object getByUserId(Long userId) {
-        User byId = userService.getById(userId);
+    public Object getByUserId(String parkIds) {
         List<Park> list = new ArrayList<>();
-        if(byId == null){
-            return R.failed("鏈煡璇㈠埌鐢ㄦ埛");
-        }else {
-            String parkIds = byId.getParkIds();
-            if(StringUtils.isBlank(parkIds)){
-                return R.failed("璇ョ敤鎴锋湭绠$悊鍋滆溅鍦�");
-            }
-            List<Long> ids= Arrays.stream(parkIds.split(",")).map(s->Long.parseLong(s.trim())).collect(Collectors.toList());
-            for (Long id : ids) {
-                Park byId1 = parkService.getById(id);
-                String num = redisTemplate.opsForValue().get("car_park_" +  byId1.getId());
-                byId1.setCarNum(Integer.parseInt(num));
-                list.add(byId1);
-            }
-            return R.ok(list);
+        if(StringUtils.isBlank(parkIds)){
+            return R.failed("璇ョ敤鎴锋湭绠$悊鍋滆溅鍦�");
         }
+        List<Long> ids= Arrays.stream(parkIds.split(",")).map(s->Long.parseLong(s.trim())).collect(Collectors.toList());
+        for (Long id : ids) {
+            Park byId1 = parkService.getById(id);
+            String num = redisTemplate.opsForValue().get("car_park_" +  byId1.getId());
+            try {
+                if(StringUtils.isBlank(num)){
+                    num = "0";
+                }
+                byId1.setCarNum(Integer.parseInt(num));
+            }catch (Exception e){
+                byId1.setCarNum(0);
+                e.printStackTrace();
+            }
+            list.add(byId1);
+        }
+        return R.ok(list);
     }
+
     @PostMapping("/getById")
     public Object getById(Long parkId) {
         Park byId = parkService.getById(parkId);
@@ -116,12 +146,16 @@
             return R.failed("鏈煡璇㈠埌璇ュ仠杞﹀満");
         }else {
             String s = redisTemplate.opsForValue().get("car_park_" + parkId);
+            if(StringUtils.isBlank(s)){
+                redisTemplate.opsForValue().set("car_park_" + parkId,"0",30, TimeUnit.DAYS);
+                s = "0";
+            }
             byId.setCarNum(Integer.parseInt(s));
             return R.ok(byId,"鏌ヨ鎴愬姛");
         }
     }
     @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("鏈煡璇㈠埌璇ュ仠杞﹀満");
@@ -130,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