diff --git a/nxhs-service/src/main/java/cc/yunxi/controller/DeviceController.java b/nxhs-service/src/main/java/cc/yunxi/controller/DeviceController.java
index ce16e05..4d14b96 100644
--- a/nxhs-service/src/main/java/cc/yunxi/controller/DeviceController.java
+++ b/nxhs-service/src/main/java/cc/yunxi/controller/DeviceController.java
@@ -10,11 +10,16 @@ import cc.yunxi.domain.dto.UserDTO;
import cc.yunxi.domain.po.*;
import cc.yunxi.domain.vo.device.*;
import cc.yunxi.domain.vo.file.FileUploadRespVO;
+import cc.yunxi.domain.vo.recycler.DeviceCountVO;
+import cc.yunxi.domain.vo.recycler.DeviceReqVO;
+import cc.yunxi.domain.vo.recycler.RecyclerDeviceVO;
import cc.yunxi.enums.BusinessCodeEnum;
import cc.yunxi.service.*;
import cc.yunxi.utils.CustomerMqttClient;
+import cc.yunxi.utils.DistanceUtil;
import cc.yunxi.utils.RedisTool;
import cc.yunxi.utils.UserContext;
+import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONObject;
@@ -33,6 +38,7 @@ import java.text.SimpleDateFormat;
import java.time.Duration;
import java.util.*;
import java.util.concurrent.TimeUnit;
+import java.util.stream.Collectors;
/**
*
@@ -568,6 +574,14 @@ public class DeviceController {
event.setPhone(eventVO.getPhone());
event.setIsLocal("1");//本地调用
event.setEventType(eventVO.getEventType());
+ if ("烟感报警".equals(eventVO.getEventType())) {
+ bucketService.updateSmog(eventVO.getBucketCode(), 1);
+ event.setEventType("smog");
+ }
+ if ("满溢报警".equals(eventVO.getEventType())) {
+ bucketService.updateFull(eventVO.getBucketCode(), 1);
+ event.setEventType("full");
+ }
String eventTime = eventVO.getEventTime();
if (StrUtil.isNotEmpty(eventTime)) {
event.setEventTime(DateUtil.parse(eventTime, "yyyy-MM-dd HH:mm:ss"));
@@ -1081,4 +1095,96 @@ public class DeviceController {
return respVO;
}
+ // 回收员查询设备列表
+ @PostMapping("/getDeviceList")
+ @ApiOperation(value = "回收员查询设备列表")
+ public CommonResult getDeviceList(@RequestBody DeviceReqVO reqVO) {
+ UserDTO user = UserContext.getUser();
+ if (null == user) {
+ throw new BizIllegalException("登录已过期,请先登录!");
+ }
+ String phone = user.getPhone();
+
+ //获取管理的设备列表
+ List codes = staffDeviceService.getDeviceCodesByPhone(phone, reqVO.getDeviceName());
+ if (CollectionUtil.isEmpty(codes)) return CommonResult.success(Collections.emptyList());
+
+ List devices = deviceService.getByDeviceCodes(codes);
+
+ DeviceCountVO countVO = new DeviceCountVO();
+ int onlineCount = 0;
+ int smogCount = 0;
+ int fullCount = 0;
+
+ List vos = new ArrayList<>();
+ for (RecycleDevice device : devices) {
+ List list = bucketService.getByDeviceCode(device.getDeviceCode());
+ if (CollectionUtil.isEmpty(list)) continue;
+ //排序
+ List