From 80cacfd0dcee0174f2a8d9ae322a2fcf857cef63 Mon Sep 17 00:00:00 2001
From: kongdeqiang <123456>
Date: 星期三, 04 十二月 2024 15:31:35 +0800
Subject: [PATCH] fix : 新增修改出场接口

---
 src/main/java/com/boying/controller/ParkController.java |   74 ++++++++++++++++++++++++++++++++++--
 1 files changed, 69 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/boying/controller/ParkController.java b/src/main/java/com/boying/controller/ParkController.java
index f10f6ba..469c0ea 100644
--- a/src/main/java/com/boying/controller/ParkController.java
+++ b/src/main/java/com/boying/controller/ParkController.java
@@ -1,14 +1,21 @@
 package com.boying.controller;
 
 
+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.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.StringRedisTemplate;
@@ -17,6 +24,9 @@
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+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 +34,7 @@
 import java.util.stream.Collectors;
 
 @RestController
-@RequestMapping("/park")
+@RequestMapping("ffzf/park")
 @RequiredArgsConstructor
 public class ParkController {
 
@@ -32,10 +42,13 @@
     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) {
-        Page page1 = parkService.page(page, new QueryWrapper<Park>().lambda().orderByDesc(Park::getId));
+    public Object findPage(Page page,Park park) {
+        Page page1 = parkService.page(page, new QueryWrapper<Park>().lambda().eq(park.getId()!=null,Park::getId,park.getId()).orderByDesc(Park::getId));
         List<Park> records = page1.getRecords();
         for (Park record : records) {
             String num = redisTemplate.opsForValue().get("car_park_" +  record.getId());
@@ -58,12 +71,15 @@
             redisTemplate.opsForValue().set("car_park_" + park.getId(),"0",30, TimeUnit.DAYS);
             redisTemplate.opsForValue().set("park_up_" + park.getId(),"true",30, TimeUnit.DAYS);
         }
+        String jsonValue = JSON.toJSONString(park);
+        redisTemplate.opsForValue().set("park-"+park.getId(), jsonValue);
         return R.ok("淇濆瓨鎴愬姛");
     }
 
     @PostMapping("/delete")
     public Object delete(Long id) {
         parkService.removeById(id);
+        redisTemplate.delete("park-"+id);
         return R.ok("鍒犻櫎鎴愬姛");
     }
 
@@ -103,7 +119,15 @@
         for (Long id : ids) {
             Park byId1 = parkService.getById(id);
             String num = redisTemplate.opsForValue().get("car_park_" +  byId1.getId());
-            byId1.setCarNum(Integer.parseInt(num));
+            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);
@@ -125,8 +149,13 @@
         }
     }
     @PostMapping("/editParkCarNum")
-    public Object editParkCarNum(Park park) {
+    public Object editParkCarNum(HttpServletRequest request, Park park) {
         Park byId = parkService.getById(park.getId());
+        int num = byId.getNum();
+        String old = redisTemplate.opsForValue().get("car_park_" + byId.getId());
+        if(old==null){
+            old="0";
+        }
         if(byId == null){
             return R.failed("鏈煡璇㈠埌璇ュ仠杞﹀満");
         }else {
@@ -134,8 +163,43 @@
             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 newNum = park.getNum();
+            EditParkNumLog numLog = new EditParkNumLog();
+            numLog.setIp(ipAddr);
+            numLog.setNum(num);
+            numLog.setUseNum(Integer.parseInt(old));
+            numLog.setNewNum(newNum);
+            numLog.setNewUseNum(park.getCarNum());
+            numLog.setParkName(byId.getName());
+            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