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/BarrierController.java | 45 +++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 43 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/boying/controller/BarrierController.java b/src/main/java/com/boying/controller/BarrierController.java index d82c2b8..92fc67a 100644 --- a/src/main/java/com/boying/controller/BarrierController.java +++ b/src/main/java/com/boying/controller/BarrierController.java @@ -2,6 +2,7 @@ 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.Barrier; @@ -12,6 +13,8 @@ import com.boying.service.OutParkService; import com.boying.service.ParkService; import com.boying.util.RedisJsonUtil; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.web.bind.annotation.PostMapping; @@ -22,21 +25,24 @@ import java.time.LocalDateTime; import java.time.ZoneOffset; import java.time.temporal.ChronoUnit; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; @RestController @RequestMapping("ffzf/barrier") @RequiredArgsConstructor +@Tag(description = "ffzf/barrier" , name = "閬撻椄鎺ュ彛" ) public class BarrierController { private final BarrierService barrierService; private final BarrierOpenLogService barrierOpenLogService; private final OutParkService outParkService; private final ParkService parkService; - private StringRedisTemplate redisTemplate; + private final StringRedisTemplate redisTemplate; @PostMapping("findPage") + @Operation(summary = "鏍规嵁鍋滆溅鍦哄垎椤垫煡璇㈤亾闂�" , description = "鏍规嵁鍋滆溅鍦哄垎椤垫煡璇㈤亾闂�" ) public Object findPage(Page page, String parkId) { QueryWrapper<Barrier> wrapper = new QueryWrapper<>(); wrapper.lambda() @@ -54,6 +60,7 @@ } @PostMapping("save") + @Operation(summary = "鏂板閬撻椄" , description = "鏂板閬撻椄" ) public Object save(Barrier barrier) { barrier.setUpdateTime(LocalDateTime.now()); barrierService.saveOrUpdate(barrier); @@ -67,6 +74,7 @@ } @PostMapping("delete") + @Operation(summary = "鍒犻櫎閬撻椄" , description = "鍒犻櫎閬撻椄" ) public Object delete(Integer id) { Barrier byId = barrierService.getById(id); barrierService.removeById(id); @@ -75,6 +83,7 @@ } @PostMapping("findAll") + @Operation(summary = "鏌ヨ鎵�鏈夐亾闂革紙APP锛�" , description = "鏌ヨ鎵�鏈夐亾闂革紙APP锛�" ) public Object findAll(Long parkId) { if (parkId==null) { return R.failed("鏈彂鐜拌鍋滆溅鍦�"); @@ -86,6 +95,7 @@ } @PostMapping("open") + @Operation(summary = "鎵嬪姩寮�闂革紙搴熷純锛�" , description = "鎵嬪姩寮�闂革紙搴熷純锛�" ) public Object open(Long barrierId) { Barrier b= barrierService.getById(barrierId); if (b==null) { @@ -104,6 +114,7 @@ } @PostMapping("getByCode") + @Operation(summary = "鏍规嵁code鏌ヨ閬撻椄" , description = "鏍规嵁code鏌ヨ閬撻椄" ) public Object getByCode(String code) { Barrier b= barrierService.findByCode2(code); if (b==null) { @@ -116,6 +127,7 @@ @PostMapping("openBarrier") + @Operation(summary = "鎵嬫寔鎵嬪姩寮�闂�" , description = "鎵嬫寔鎵嬪姩寮�闂�" ) public Object openBarrier(Long barrierId,Integer type,String carNo,String remark) { Barrier b= barrierService.getById(barrierId); if (b==null) { @@ -189,4 +201,33 @@ } } } + + @PostMapping("getDisConnect") + @Operation(summary = "璁惧鎺夌嚎閫氱煡" , description = "璁惧鎺夌嚎閫氱煡" ) + public Object getDisConnect() { + List<Map<String,Object>> resultlist = new ArrayList<>(); + String barrierCodeAll = redisTemplate.opsForValue().get("barrierCode_all"); + if(StringUtils.isBlank(barrierCodeAll)){ + QueryWrapper<Barrier> wrapper = new QueryWrapper<>(); + wrapper.select(" code "); + List<Barrier> list = barrierService.list(wrapper); + String collect = list.stream().map(Barrier::getCode).collect(Collectors.joining(",")); + redisTemplate.opsForValue().set("barrierCode_all",collect); + barrierCodeAll = collect; + } + for (String s : barrierCodeAll.split(",")) { + Barrier barrier = barrierService.findByCode(s); + long between = ChronoUnit.SECONDS.between(barrier.getUpdateTime(), LocalDateTime.now()); + if(between>121){ + Map<String,Object> map = new HashMap<>(); + map.put("parkName",parkService.getOneById(barrier.getParkId()).getName()); + map.put("type",barrier.getType()==0?"鍑哄彛":"鍏ュ彛"); + map.put("downTime",barrier.getUpdateTime()); + resultlist.add(map); + } + } + Collections.sort(resultlist, (m1, m2)-> String.valueOf(m2.get("downTime")).compareTo(String.valueOf(m1.get("downTime")))); // lamuda鎺掑簭 + return R.ok(resultlist); + } + } -- Gitblit v1.9.1