From acf352921487e857810a943b008121e33404e9ae Mon Sep 17 00:00:00 2001
From: kongdeqiang <kongdeqiang960204@163.com>
Date: 星期二, 15 四月 2025 16:56:50 +0800
Subject: [PATCH] fix:白名单新增bug
---
src/main/java/com/boying/controller/ParkController.java | 112 +++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 90 insertions(+), 22 deletions(-)
diff --git a/src/main/java/com/boying/controller/ParkController.java b/src/main/java/com/boying/controller/ParkController.java
index 1818e65..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,14 +42,22 @@
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());
- 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 +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("鍒犻櫎鎴愬姛");
}
@@ -89,26 +110,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,13 +140,22 @@
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());
+ 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 {
@@ -130,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