| | |
| | | |
| | | 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; |
| | |
| | | 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") |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | @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); |
| | | } |
| | | |
| | | } |