From 37e07d2706d78b9cd06bb3ad9fb4e9cf4d8d1165 Mon Sep 17 00:00:00 2001 From: chenyouting <514333061@qq.com> Date: Tue, 7 Oct 2025 15:50:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A7=E5=88=B6=E4=B8=AD=E5=BF=83=E4=BC=98?= =?UTF-8?q?=E5=8C=962?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/AppDeviceBJQController.java | 18 ------------- .../domain/dto/AppDeviceLogoUploadDto.java | 8 +++--- .../mqtt/receiver/ReceiverMessageHandler.java | 2 +- .../global/queue/MqttMessageConsumer.java | 26 ++++++++++++------- .../device/DeviceBJQController.java | 16 ++++++++++++ .../service/device/DeviceBJQBizService.java | 24 ++++++++++------- .../equipment/domain/vo/WebDeviceVo.java | 2 +- 7 files changed, 53 insertions(+), 43 deletions(-) diff --git a/fys-admin/src/main/java/com/fuyuanshen/app/controller/device/AppDeviceBJQController.java b/fys-admin/src/main/java/com/fuyuanshen/app/controller/device/AppDeviceBJQController.java index 95d33231..ce855489 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/app/controller/device/AppDeviceBJQController.java +++ b/fys-admin/src/main/java/com/fuyuanshen/app/controller/device/AppDeviceBJQController.java @@ -85,25 +85,7 @@ public class AppDeviceBJQController extends BaseController { return R.ok(); } - /** - * 批量上传设备logo图片 - */ - @PostMapping("/batchUploadLogo") - @FunctionAccessAnnotation("batchUploadLogo") - public R batchUploadLogo(@Validated @ModelAttribute AppDeviceLogoUploadDto bo) { - List files = bo.getFiles(); - if(files == null || files.isEmpty()){ - return R.warn("文件不能为空"); - } - MultipartFile file = files.get(0); - if(file.getSize()>1024*1024*2){ - throw new ServiceException("图片不能大于2M"); - } - appDeviceService.batchUploadLogo(bo); - - return R.ok(); - } /** * 灯光模式 diff --git a/fys-admin/src/main/java/com/fuyuanshen/app/domain/dto/AppDeviceLogoUploadDto.java b/fys-admin/src/main/java/com/fuyuanshen/app/domain/dto/AppDeviceLogoUploadDto.java index 7f644f49..00ca2d25 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/app/domain/dto/AppDeviceLogoUploadDto.java +++ b/fys-admin/src/main/java/com/fuyuanshen/app/domain/dto/AppDeviceLogoUploadDto.java @@ -16,10 +16,10 @@ public class AppDeviceLogoUploadDto { */ private MultipartFile file; - /** - * 文件 - */ - private List files; +// /** +// * 文件 +// */ +// private List files; private List deviceIds; diff --git a/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/receiver/ReceiverMessageHandler.java b/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/receiver/ReceiverMessageHandler.java index 6e1054c1..c6ea5654 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/receiver/ReceiverMessageHandler.java +++ b/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/receiver/ReceiverMessageHandler.java @@ -56,7 +56,7 @@ public class ReceiverMessageHandler implements MessageHandler { RedisUtils.offerDeduplicated(queueKey,dedupKey,deviceImei, Duration.ofHours(24)); //在线状态 String deviceOnlineStatusRedisKey = GlobalConstants.GLOBAL_REDIS_KEY+ DEVICE_KEY_PREFIX+ deviceImei + DeviceRedisKeyConstants.DEVICE_ONLINE_STATUS_KEY_PREFIX ; - RedisUtils.setCacheObject(deviceOnlineStatusRedisKey, "1", Duration.ofSeconds(303)); + RedisUtils.setCacheObject(deviceOnlineStatusRedisKey, "1", Duration.ofSeconds(360)); } diff --git a/fys-admin/src/main/java/com/fuyuanshen/global/queue/MqttMessageConsumer.java b/fys-admin/src/main/java/com/fuyuanshen/global/queue/MqttMessageConsumer.java index 4a28b63f..ca5bdda7 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/global/queue/MqttMessageConsumer.java +++ b/fys-admin/src/main/java/com/fuyuanshen/global/queue/MqttMessageConsumer.java @@ -106,16 +106,22 @@ public class MqttMessageConsumer { // .set("online_status", 1); // deviceMapper.update(updateWrapper); // } - QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("device_imei", message); - queryWrapper.eq("online_status", 1); - Long count = deviceMapper.selectCount(queryWrapper); - if(count == 0){ - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.eq("device_imei", message) - .set("online_status", 1); - deviceMapper.update(updateWrapper); - } +// QueryWrapper queryWrapper = new QueryWrapper<>(); +// queryWrapper.eq("device_imei", message); +// queryWrapper.eq("online_status", 1); +// Long count = deviceMapper.selectCount(queryWrapper); +// if(count == 0){ +// UpdateWrapper updateWrapper = new UpdateWrapper<>(); +// updateWrapper.eq("device_imei", message) +// .eq("online_status", 0) +// .set("online_status", 1); +// deviceMapper.update(updateWrapper); +// } + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("device_imei", message) + .eq("online_status", 0) + .set("online_status", 1); + int update = deviceMapper.update(updateWrapper); // 模拟业务处理耗时 // Thread.sleep(200); diff --git a/fys-admin/src/main/java/com/fuyuanshen/web/controller/device/DeviceBJQController.java b/fys-admin/src/main/java/com/fuyuanshen/web/controller/device/DeviceBJQController.java index e0536306..610c317d 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/web/controller/device/DeviceBJQController.java +++ b/fys-admin/src/main/java/com/fuyuanshen/web/controller/device/DeviceBJQController.java @@ -82,6 +82,22 @@ public class DeviceBJQController extends BaseController { return R.ok(); } + /** + * 批量上传设备logo图片 + */ + @PostMapping("/batchUploadLogo") + @FunctionAccessAnnotation("batchUploadLogo") + public R batchUploadLogo(@Validated @ModelAttribute AppDeviceLogoUploadDto bo) { + + MultipartFile file = bo.getFile(); + if(file.getSize()>1024*1024*2){ + return R.warn("图片不能大于2M"); + } + appDeviceService.batchUploadLogo(bo); + + return R.ok(); + } + /** * 灯光模式 * 0(关灯),1(强光模式),2(弱光模式), 3(爆闪模式), 4(泛光模式) diff --git a/fys-admin/src/main/java/com/fuyuanshen/web/service/device/DeviceBJQBizService.java b/fys-admin/src/main/java/com/fuyuanshen/web/service/device/DeviceBJQBizService.java index bc197d20..5fcd5c8f 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/web/service/device/DeviceBJQBizService.java +++ b/fys-admin/src/main/java/com/fuyuanshen/web/service/device/DeviceBJQBizService.java @@ -173,10 +173,13 @@ public class DeviceBJQBizService { } //设备在线状态 String onlineStatus = RedisUtils.getCacheObject(GLOBAL_REDIS_KEY+ DEVICE_KEY_PREFIX + device.getDeviceImei()+ DeviceRedisKeyConstants.DEVICE_ONLINE_STATUS_KEY_PREFIX); - if(StringUtils.isNotBlank(onlineStatus)){ - vo.setOnlineStatus(1); + //设备在线状态 + if("1".equals(onlineStatus)){ + vo.setOnlineStatus(1); + }else if("2".equals(onlineStatus)){ + vo.setOnlineStatus(2); }else{ - vo.setOnlineStatus(0); + vo.setOnlineStatus(0); } String deviceStatus = RedisUtils.getCacheObject(GLOBAL_REDIS_KEY+ DEVICE_KEY_PREFIX + device.getDeviceImei() + DeviceRedisKeyConstants.DEVICE_STATUS_KEY_PREFIX); // 获取电量 @@ -335,7 +338,10 @@ public class DeviceBJQBizService { throw new ServiceException("设备不存在"); } if(getDeviceStatus(device.getDeviceImei())){ - throw new ServiceException(device.getDeviceName()+",设备已断开连接"); +// throw new ServiceException(device.getDeviceName()+",设备已断开连接"); + log.info(device.getDeviceName()+",设备已断开连接"); + recordDeviceLog(device.getId(), device.getDeviceName(), "上传开机画面", device.getDeviceName()+",设备已断开连接", AppLoginHelper.getUserId()); + return; } MultipartFile file = bo.getFile(); @@ -551,15 +557,15 @@ public class DeviceBJQBizService { public void batchUploadLogo(AppDeviceLogoUploadDto bo) { List deviceIds = bo.getDeviceIds(); - List files = bo.getFiles(); + MultipartFile file = bo.getFile(); if (deviceIds == null || deviceIds.isEmpty()) { throw new ServiceException("请选择设备"); } - for (int i = 0; i < deviceIds.size(); i++) { + for (Long deviceId : deviceIds) { AppDeviceLogoUploadDto dto = new AppDeviceLogoUploadDto(); - dto.setDeviceId(deviceIds.get(i)); - dto.setFile(files.get(i)); - uploadDeviceLogo(bo); + dto.setDeviceId(deviceId); + dto.setFile(file); + uploadDeviceLogo(dto); } } } diff --git a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/vo/WebDeviceVo.java b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/vo/WebDeviceVo.java index c257d38e..5aaa405e 100644 --- a/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/vo/WebDeviceVo.java +++ b/fys-modules/fys-equipment/src/main/java/com/fuyuanshen/equipment/domain/vo/WebDeviceVo.java @@ -63,7 +63,7 @@ public class WebDeviceVo implements Serializable { * 0 未绑定 * 1 已绑定 */ - private Integer binding_status; + private Integer bindingStatus; /** * 绑定时间