From 1be80be3098bd8da0dbbe9eb09bd8fd17f4a2664 Mon Sep 17 00:00:00 2001 From: daiyongfei <974332738@qq.com> Date: Mon, 10 Nov 2025 10:37:03 +0800 Subject: [PATCH] =?UTF-8?q?=E7=81=AF=E5=85=89=E6=A8=A1=E5=BC=8F=205?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/AppDeviceBJQController.java | 2 +- .../bjq/AppDeviceBJQ6075Controller.java | 42 +++++----- .../global/mqtt/base/MqttMessage.java | 4 +- .../mqtt/enums/DeviceFunctionType6075.java | 82 +++++++++++++++++++ .../global/mqtt/service/IotMqttService.java | 58 +++++++------ .../mqtt/service/impl/IotMqttServiceImpl.java | 54 ++++++------ .../device/DeviceBJQ6075BizService.java | 4 +- .../impl/DeviceBJQ6075BizServiceImpl.java | 63 +++++++++++++- 8 files changed, 234 insertions(+), 75 deletions(-) create mode 100644 fys-admin/src/main/java/com/fuyuanshen/global/mqtt/enums/DeviceFunctionType6075.java 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 ce855489..a02733be 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 @@ -31,6 +31,7 @@ public class AppDeviceBJQController extends BaseController { private final DeviceBJQBizService appDeviceService; + /** * 获取设备详细信息 * @@ -86,7 +87,6 @@ public class AppDeviceBJQController extends BaseController { } - /** * 灯光模式 * 0(关灯),1(强光模式),2(弱光模式), 3(爆闪模式), 4(泛光模式) diff --git a/fys-admin/src/main/java/com/fuyuanshen/app/controller/device/bjq/AppDeviceBJQ6075Controller.java b/fys-admin/src/main/java/com/fuyuanshen/app/controller/device/bjq/AppDeviceBJQ6075Controller.java index c3e9df33..4f8839d1 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/app/controller/device/bjq/AppDeviceBJQ6075Controller.java +++ b/fys-admin/src/main/java/com/fuyuanshen/app/controller/device/bjq/AppDeviceBJQ6075Controller.java @@ -11,7 +11,6 @@ import com.fuyuanshen.common.ratelimiter.annotation.FunctionAccessBatcAnnotation import com.fuyuanshen.common.web.core.BaseController; import com.fuyuanshen.equipment.domain.dto.AppDeviceSendMsgBo; import com.fuyuanshen.web.service.device.DeviceBJQ6075BizService; -import com.fuyuanshen.web.service.device.DeviceBJQBizService; import jakarta.validation.constraints.NotNull; import lombok.RequiredArgsConstructor; import org.springframework.validation.annotation.Validated; @@ -27,7 +26,6 @@ import org.springframework.web.multipart.MultipartFile; @RequestMapping("/app/bjq6075/device") public class AppDeviceBJQ6075Controller extends BaseController { - private final DeviceBJQBizService appDeviceService; private final DeviceBJQ6075BizService appDeviceService6075; @@ -44,33 +42,36 @@ public class AppDeviceBJQ6075Controller extends BaseController { /** - * 人员信息登记 + * 人员信息登记 1 */ @PostMapping(value = "/registerPersonInfo") public R registerPersonInfo(@Validated(AddGroup.class) @RequestBody AppPersonnelInfoBo bo) { - return toAjax(appDeviceService.registerPersonInfo(bo)); + return toAjax(appDeviceService6075.registerPersonInfo(bo)); } + /** - * 发送信息 + * 发送信息 2 */ @PostMapping(value = "/sendMessage") @FunctionAccessBatcAnnotation(value = "sendMessage", timeOut = 30, batchMaxTimeOut = 40) public R sendMessage(@RequestBody AppDeviceSendMsgBo bo) { - return toAjax(appDeviceService.sendMessage(bo)); + return toAjax(appDeviceService6075.sendMessage(bo)); } + /** - * 发送报警信息 + * 发送报警信息 3 */ @PostMapping(value = "/sendAlarmMessage") @FunctionAccessBatcAnnotation(value = "sendAlarmMessage", timeOut = 5, batchMaxTimeOut = 10) public R sendAlarmMessage(@RequestBody AppDeviceSendMsgBo bo) { - return toAjax(appDeviceService.sendAlarmMessage(bo)); + return toAjax(appDeviceService6075.sendAlarmMessage(bo)); } + /** - * 上传设备logo图片 + * 上传设备logo图片 4 */ @PostMapping("/uploadLogo") @FunctionAccessAnnotation("uploadLogo") @@ -80,61 +81,62 @@ public class AppDeviceBJQ6075Controller extends BaseController { if (file.getSize() > 1024 * 1024 * 2) { return R.warn("图片不能大于2M"); } - appDeviceService.uploadDeviceLogo(bo); + appDeviceService6075.uploadDeviceLogo(bo); return R.ok(); } + /** - * 灯光模式 + * 灯光模式 5 * (主光模式) * 0(关闭灯光),1(强光),2(超强光), 3(工作光), 4(节能光),5(爆闪),6(SOS) */ @PostMapping("/lightModeSettings") public R lightModeSettings(@RequestBody DeviceInstructDto params) { - appDeviceService.lightModeSettings(params); + appDeviceService6075.lightModeSettings(params); return R.ok(); } /** - * 灯光模式 + * 灯光模式 6 * (辅光模式) * 0(关闭灯光),1(泛光),2(泛光爆闪), 3(警示灯), 4(警示灯/泛光) */ @PostMapping("/auxiliaryLightModeSettings") public R auxiliaryLightModeSettings(@RequestBody DeviceInstructDto params) { - appDeviceService.lightModeSettings(params); + appDeviceService6075.lightModeSettings(params); return R.ok(); } /** - * 灯光亮度设置 + * 灯光亮度设置 7 */ @PostMapping("/lightBrightnessSettings") public R lightBrightnessSettings(@RequestBody DeviceInstructDto params) { - appDeviceService.lightBrightnessSettings(params); + appDeviceService6075.lightBrightnessSettings(params); return R.ok(); } /** - * 激光模式设置 + * 激光模式设置 8 */ @PostMapping("/laserModeSettings") public R laserModeSettings(@RequestBody DeviceInstructDto params) { - appDeviceService.laserModeSettings(params); + appDeviceService6075.laserModeSettings(params); return R.ok(); } /** - * 声光报警模式设置 + * 声光报警模式设置 9 * Sound and light alarm */ @PostMapping("/salaModeSettings") public R salaModeSettings(@RequestBody DeviceInstructDto params) { - appDeviceService.laserModeSettings(params); + appDeviceService6075.laserModeSettings(params); return R.ok(); } diff --git a/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/base/MqttMessage.java b/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/base/MqttMessage.java index dd633b3c..970dd16f 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/base/MqttMessage.java +++ b/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/base/MqttMessage.java @@ -9,6 +9,7 @@ import java.util.List; */ @Data public class MqttMessage { + /** * 请求ID,用于匹配请求和响应 */ @@ -27,7 +28,7 @@ public class MqttMessage { /** * 功能类型 */ - private String funcType; + private Integer funcType; /** * 数据内容 @@ -43,4 +44,5 @@ public class MqttMessage { * 批量数据(设备上报时使用) */ private List batch; + } \ No newline at end of file diff --git a/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/enums/DeviceFunctionType6075.java b/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/enums/DeviceFunctionType6075.java new file mode 100644 index 00000000..1b9758f6 --- /dev/null +++ b/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/enums/DeviceFunctionType6075.java @@ -0,0 +1,82 @@ +package com.fuyuanshen.global.mqtt.enums; + +/** + * 设备功能类型枚举 + * 基于AppDeviceBJQ6075Controller中的功能注释1-9设计 + */ +public enum DeviceFunctionType6075 { + + /** + * 人员信息登记 + */ + REGISTER_PERSON_INFO(1, "REGISTER_PERSON_INFO", "人员信息登记"), + + /** + * 发送信息 + */ + SEND_MESSAGE(2, "SEND_MESSAGE", "发送信息"), + + /** + * 发送报警信息 + */ + SEND_ALARM_MESSAGE(3, "SEND_ALARM_MESSAGE", "发送报警信息"), + + /** + * 上传设备logo图片 + */ + UPLOAD_LOGO(4, "UPLOAD_LOGO", "上传设备logo图片"), + + /** + * 灯光模式(主光模式) + * 0(关闭灯光),1(强光),2(超强光), 3(工作光), 4(节能光),5(爆闪),6(SOS) + */ + LIGHT_MODE(5, "LIGHT_MODE", "灯光模式"), + + /** + * 灯光模式(辅光模式) + * 0(关闭灯光),1(泛光),2(泛光爆闪), 3(警示灯), 4(警示灯/泛光) + */ + AUXILIARY_LIGHT_MODE(6, "AUXILIARY_LIGHT_MODE", "辅光模式"), + + /** + * 灯光亮度设置 + */ + LIGHT_BRIGHTNESS(7, "LIGHT_BRIGHTNESS", "灯光亮度设置"), + + /** + * 激光模式设置 + */ + LASER_MODE(8, "LASER_MODE", "激光模式设置"), + + /** + * 声光报警模式设置 + */ + SOUND_AND_LIGHT_ALARM(9, "SOUND_AND_LIGHT_ALARM", "声光报警模式设置"); + + private final int number; + private final String code; + private final String description; + + DeviceFunctionType6075(int number, String code, String description) { + this.number = number; + this.code = code; + this.description = description; + } + + public int getNumber() { + return number; + } + + public String getCode() { + return code; + } + + public String getDescription() { + return description; + } + + @Override + public String toString() { + return code; + } +} \ No newline at end of file diff --git a/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/service/IotMqttService.java b/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/service/IotMqttService.java index a48caab9..d0e2871b 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/service/IotMqttService.java +++ b/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/service/IotMqttService.java @@ -1,6 +1,7 @@ package com.fuyuanshen.global.mqtt.service; import com.alibaba.fastjson2.JSONObject; +import com.fuyuanshen.global.mqtt.base.MqttMessage; /** * 通用IoT设备MQTT协议服务接口 @@ -10,87 +11,96 @@ public interface IotMqttService { /** * 构建下发指令主题 + * * @param tenantCode 租户编码 * @param deviceType 设备类型 - * @param imei 设备IMEI + * @param imei 设备IMEI * @return 指令主题 */ - String buildCommandTopic(String tenantCode, String deviceType, String imei); + String buildCommandTopic(String tenantCode, Long deviceType, String imei); /** * 构建响应数据主题 + * * @param tenantCode 租户编码 * @param deviceType 设备类型 - * @param imei 设备IMEI + * @param imei 设备IMEI * @return 响应主题 */ String buildStatusTopic(String tenantCode, String deviceType, String imei); /** * 构建设备上报数据主题 + * * @param tenantCode 租户编码 * @param deviceType 设备类型 - * @param imei 设备IMEI + * @param imei 设备IMEI * @return 上报主题 */ String buildReportTopic(String tenantCode, String deviceType, String imei); /** * 发送指令到设备 + * * @param tenantCode 租户编码 * @param deviceType 设备类型 - * @param imei 设备IMEI - * @param message 指令消息 (JSON格式) + * @param imei 设备IMEI + * @param message 指令消息 (JSON格式) */ - void sendCommand(String tenantCode, String deviceType, String imei, JSONObject message); + void sendCommand(String tenantCode, Long deviceType, String imei, MqttMessage message); /** * 发送响应消息到设备 + * * @param tenantCode 租户编码 * @param deviceType 设备类型 - * @param imei 设备IMEI - * @param message 响应消息 (JSON格式) + * @param imei 设备IMEI + * @param message 响应消息 (JSON格式) */ void sendStatus(String tenantCode, String deviceType, String imei, JSONObject message); /** * 发送设备上报数据的确认消息 + * * @param tenantCode 租户编码 * @param deviceType 设备类型 - * @param imei 设备IMEI - * @param message 确认消息 (JSON格式) + * @param imei 设备IMEI + * @param message 确认消息 (JSON格式) */ void sendReportAck(String tenantCode, String deviceType, String imei, JSONObject message); /** * 处理设备上报的单个传感器数据 + * * @param tenantCode 租户编码 * @param deviceType 设备类型 - * @param imei 设备IMEI - * @param sensor 传感器名称 - * @param value 传感器值 - * @param timestamp 时间戳 + * @param imei 设备IMEI + * @param sensor 传感器名称 + * @param value 传感器值 + * @param timestamp 时间戳 */ - void handleSingleReport(String tenantCode, String deviceType, String imei, - String sensor, Object value, Long timestamp); + void handleSingleReport(String tenantCode, String deviceType, String imei, + String sensor, Object value, Long timestamp); /** * 处理设备上报的批量传感器数据 + * * @param tenantCode 租户编码 * @param deviceType 设备类型 - * @param imei 设备IMEI - * @param batchData 批量数据 - * @param timestamp 时间戳 + * @param imei 设备IMEI + * @param batchData 批量数据 + * @param timestamp 时间戳 */ - void handleBatchReport(String tenantCode, String deviceType, String imei, - JSONObject batchData, Long timestamp); + void handleBatchReport(String tenantCode, String deviceType, String imei, + JSONObject batchData, Long timestamp); /** * 处理设备对指令的响应 + * * @param tenantCode 租户编码 * @param deviceType 设备类型 - * @param imei 设备IMEI - * @param message 响应消息 (JSON格式) + * @param imei 设备IMEI + * @param message 响应消息 (JSON格式) */ void handleCommandResponse(String tenantCode, String deviceType, String imei, JSONObject message); } \ No newline at end of file diff --git a/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/service/impl/IotMqttServiceImpl.java b/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/service/impl/IotMqttServiceImpl.java index afe38bd1..91f176c9 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/service/impl/IotMqttServiceImpl.java +++ b/fys-admin/src/main/java/com/fuyuanshen/global/mqtt/service/impl/IotMqttServiceImpl.java @@ -2,6 +2,7 @@ package com.fuyuanshen.global.mqtt.service.impl; import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; +import com.fuyuanshen.global.mqtt.base.MqttMessage; import com.fuyuanshen.global.mqtt.service.IotMqttService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -17,38 +18,38 @@ import java.lang.reflect.Method; @Slf4j @Service public class IotMqttServiceImpl implements IotMqttService { - + @Autowired private ApplicationContext applicationContext; - + // MQTT主题前缀 private static final String COMMAND_PREFIX = "command"; private static final String STATUS_PREFIX = "status"; private static final String REPORT_PREFIX = "report"; - + @Override - public String buildCommandTopic(String tenantCode, String deviceType, String imei) { + public String buildCommandTopic(String tenantCode, Long deviceType, String imei) { return String.format("%s/%s/%s/%s", COMMAND_PREFIX, tenantCode, deviceType, imei); } - + @Override public String buildStatusTopic(String tenantCode, String deviceType, String imei) { return String.format("%s/%s/%s/%s", STATUS_PREFIX, tenantCode, deviceType, imei); } - + @Override public String buildReportTopic(String tenantCode, String deviceType, String imei) { return String.format("%s/%s/%s/%s", REPORT_PREFIX, tenantCode, deviceType, imei); } - + @Override - public void sendCommand(String tenantCode, String deviceType, String imei, JSONObject message) { + public void sendCommand(String tenantCode, Long deviceType, String imei, MqttMessage message) { String topic = buildCommandTopic(tenantCode, deviceType, imei); - String payload = message.toJSONString(); + String payload = JSON.toJSONString(message); sendMqttMessage(topic, 1, payload); log.info("发送指令到设备: topic={}, payload={}", topic, payload); } - + @Override public void sendStatus(String tenantCode, String deviceType, String imei, JSONObject message) { String topic = buildStatusTopic(tenantCode, deviceType, imei); @@ -56,7 +57,7 @@ public class IotMqttServiceImpl implements IotMqttService { sendMqttMessage(topic, 1, payload); log.info("发送响应消息到设备: topic={}, payload={}", topic, payload); } - + @Override public void sendReportAck(String tenantCode, String deviceType, String imei, JSONObject message) { String topic = buildReportTopic(tenantCode, deviceType, imei); @@ -64,37 +65,38 @@ public class IotMqttServiceImpl implements IotMqttService { sendMqttMessage(topic, 1, payload); log.info("发送设备上报数据确认消息: topic={}, payload={}", topic, payload); } - + @Override - public void handleSingleReport(String tenantCode, String deviceType, String imei, - String sensor, Object value, Long timestamp) { - log.info("处理设备上报的单个传感器数据: tenantCode={}, deviceType={}, imei={}, sensor={}, value={}, timestamp={}", + public void handleSingleReport(String tenantCode, String deviceType, String imei, + String sensor, Object value, Long timestamp) { + log.info("处理设备上报的单个传感器数据: tenantCode={}, deviceType={}, imei={}, sensor={}, value={}, timestamp={}", tenantCode, deviceType, imei, sensor, value, timestamp); - + // TODO: 实现具体的业务逻辑,如更新设备状态、存储传感器数据等 } - + @Override - public void handleBatchReport(String tenantCode, String deviceType, String imei, - JSONObject batchData, Long timestamp) { - log.info("处理设备上报的批量传感器数据: tenantCode={}, deviceType={}, imei={}, batchData={}, timestamp={}", + public void handleBatchReport(String tenantCode, String deviceType, String imei, + JSONObject batchData, Long timestamp) { + log.info("处理设备上报的批量传感器数据: tenantCode={}, deviceType={}, imei={}, batchData={}, timestamp={}", tenantCode, deviceType, imei, JSON.toJSONString(batchData), timestamp); - + // TODO: 实现具体的业务逻辑,如批量更新设备状态、存储传感器数据等 } - + @Override public void handleCommandResponse(String tenantCode, String deviceType, String imei, JSONObject message) { - log.info("处理设备对指令的响应: tenantCode={}, deviceType={}, imei={}, message={}", + log.info("处理设备对指令的响应: tenantCode={}, deviceType={}, imei={}, message={}", tenantCode, deviceType, imei, JSON.toJSONString(message)); - + // TODO: 实现具体的业务逻辑,如更新指令执行状态等 } /** * 通过反射方式发送MQTT消息 - * @param topic 主题 - * @param qos 服务质量等级 + * + * @param topic 主题 + * @param qos 服务质量等级 * @param payload 消息内容 */ private void sendMqttMessage(String topic, int qos, String payload) { diff --git a/fys-admin/src/main/java/com/fuyuanshen/web/service/device/DeviceBJQ6075BizService.java b/fys-admin/src/main/java/com/fuyuanshen/web/service/device/DeviceBJQ6075BizService.java index 2e1de5e2..378f6c5c 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/web/service/device/DeviceBJQ6075BizService.java +++ b/fys-admin/src/main/java/com/fuyuanshen/web/service/device/DeviceBJQ6075BizService.java @@ -78,9 +78,9 @@ public interface DeviceBJQ6075BizService { /** * 灯光模式 - * 0(关灯),1(强光模式),2(弱光模式), 3(爆闪模式), 4(泛光模式) + * (主光模式) + * 0(关闭灯光),1(强光),2(超强光), 3(工作光), 4(节能光),5(爆闪),6(SOS) */ - public void lightModeSettings(DeviceInstructDto params); // 灯光亮度设置 diff --git a/fys-admin/src/main/java/com/fuyuanshen/web/service/impl/DeviceBJQ6075BizServiceImpl.java b/fys-admin/src/main/java/com/fuyuanshen/web/service/impl/DeviceBJQ6075BizServiceImpl.java index b88197ca..74541f77 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/web/service/impl/DeviceBJQ6075BizServiceImpl.java +++ b/fys-admin/src/main/java/com/fuyuanshen/web/service/impl/DeviceBJQ6075BizServiceImpl.java @@ -27,9 +27,12 @@ import com.fuyuanshen.equipment.enums.LightModeEnum; import com.fuyuanshen.equipment.mapper.DeviceLogMapper; import com.fuyuanshen.equipment.mapper.DeviceMapper; import com.fuyuanshen.equipment.mapper.DeviceTypeMapper; +import com.fuyuanshen.global.mqtt.base.MqttMessage; import com.fuyuanshen.global.mqtt.config.MqttGateway; import com.fuyuanshen.global.mqtt.constants.DeviceRedisKeyConstants; import com.fuyuanshen.global.mqtt.constants.MqttConstants; +import com.fuyuanshen.global.mqtt.enums.DeviceFunctionType6075; +import com.fuyuanshen.global.mqtt.service.IotMqttService; import com.fuyuanshen.web.service.device.DeviceBJQ6075BizService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; @@ -60,6 +63,8 @@ public class DeviceBJQ6075BizServiceImpl implements DeviceBJQ6075BizService { private final MqttGateway mqttGateway; private final DeviceLogMapper deviceLogMapper; + private final IotMqttService iotMqttService; + /** * 获取设备详情 @@ -396,12 +401,67 @@ public class DeviceBJQ6075BizServiceImpl implements DeviceBJQ6075BizService { } } + /** * 灯光模式 - * 0(关灯),1(强光模式),2(弱光模式), 3(爆闪模式), 4(泛光模式) + * (主光模式) + * 0(关闭灯光),1(强光),2(超强光), 3(工作光), 4(节能光),5(爆闪),6(SOS) */ @Override public void lightModeSettings(DeviceInstructDto params) { + try { + Long deviceId = params.getDeviceId(); + Device device = deviceMapper.selectById(deviceId); + if (device == null) { + throw new ServiceException("设备不存在"); + } + if (getDeviceStatus(device.getDeviceImei())) { + throw new ServiceException(device.getDeviceName() + ",设备已断开连接"); + } + + String deviceImei = device.getDeviceImei(); + Long deviceType = device.getDeviceType(); + String tenantCode = device.getTenantId(); + + // 构建发送强光模式的MqttMessage对象 + MqttMessage message = new MqttMessage(); + message.setRequestId(UUID.randomUUID().toString()); // 生成唯一的请求ID + message.setImei(device.getDeviceImei()); // 设备IMEI + message.setTimestamp(System.currentTimeMillis()); // 当前时间戳 + message.setFuncType(DeviceFunctionType6075.LIGHT_MODE.getNumber()); // 功能类型,这里假设为灯光模式 + + // 构建数据内容 - 强光模式参数 + Map lightData = new HashMap<>(); + lightData.put("mode", 1); // 1表示强光模式 + lightData.put("type", "mainLight"); // 主灯类型 + // 可以根据需要添加更多参数 + lightData.put("brightness", 100); // 亮度设置为100% + + message.setData(lightData); + + // 调用sendCommand方法发送指令 + iotMqttService.sendCommand(tenantCode, deviceType, deviceImei, message); + + Integer instructValue = Integer.parseInt(params.getInstructValue()); + ArrayList intData = new ArrayList<>(); + intData.add(1); + intData.add(instructValue); + intData.add(0); + intData.add(0); + intData.add(0); + Map map = new HashMap<>(); + map.put("instruct", intData); + mqttGateway.sendMsgToMqtt(MqttConstants.GLOBAL_PUB_KEY + device.getDeviceImei(), 1, JSON.toJSONString(map)); + log.info("发送点阵数据到设备消息=>topic:{},payload:{}", MqttConstants.GLOBAL_PUB_KEY + device.getDeviceImei(), JSON.toJSONString(map)); + LightModeEnum modeEnum = LightModeEnum.getByCode(instructValue); + recordDeviceLog(device.getId(), device.getDeviceName(), "灯光模式", modeEnum != null ? modeEnum.getName() : null, AppLoginHelper.getUserId()); + } catch (Exception e) { + e.printStackTrace(); + throw new ServiceException("发送指令失败"); + } + } + + public void lightModeSettings1(DeviceInstructDto params) { try { Long deviceId = params.getDeviceId(); Device device = deviceMapper.selectById(deviceId); @@ -430,6 +490,7 @@ public class DeviceBJQ6075BizServiceImpl implements DeviceBJQ6075BizService { } } + // 灯光亮度设置 @Override public void lightBrightnessSettings(DeviceInstructDto params) {