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 | 105 ++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 84 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/boying/controller/ParkController.java b/src/main/java/com/boying/controller/ParkController.java index d662341..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("鍒犻櫎鎴愬姛"); } @@ -94,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); @@ -121,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 { @@ -135,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