|
@@ -1,14 +1,12 @@
|
|
|
package com.huimv.env.manage.saas.controller;
|
|
|
|
|
|
|
|
|
-import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.google.common.util.concurrent.RateLimiter;
|
|
|
import com.huimv.env.manage.entity.EnvDeviceRegister;
|
|
|
-import com.huimv.env.manage.entity.EnvTopic;
|
|
|
import com.huimv.env.manage.saas.dao.entity.EnvDeviceEquipment;
|
|
|
-import com.huimv.env.manage.saas.mqtt.publish.PublishMQTT;
|
|
|
-import com.huimv.env.manage.saas.mqtt.subscribe.ConsumerMQTT;
|
|
|
+import com.huimv.env.manage.saas.mqtt.publish.PublishMQTTTree;
|
|
|
import com.huimv.env.manage.saas.service.IEnvDeviceEquipmentService;
|
|
|
import com.huimv.env.manage.service.IEnvDeviceRegisterService;
|
|
|
import com.huimv.env.manage.service.IEnvTopicService;
|
|
@@ -21,14 +19,6 @@ import javax.servlet.http.HttpServletRequest;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
|
|
|
|
-/**
|
|
|
- * <p>
|
|
|
- * 环控绑定设备 前端控制器
|
|
|
- * </p>
|
|
|
- *
|
|
|
- * @author author
|
|
|
- * @since 2022-10-18
|
|
|
- */
|
|
|
@RestController
|
|
|
@RequestMapping("/envDeviceEquipment")
|
|
|
@CrossOrigin
|
|
@@ -45,10 +35,9 @@ public class EnvDeviceEquipmentController {
|
|
|
|
|
|
@PostMapping("/listByUnit")
|
|
|
public Result listByUnit(@RequestBody Map<String, String> map, HttpServletRequest request){
|
|
|
-
|
|
|
return deviceRegisterService.listByUnit(map,request);
|
|
|
}
|
|
|
-
|
|
|
+ private static final RateLimiter limiter = RateLimiter.create(0.3);
|
|
|
@PostMapping("/update")
|
|
|
public Result update(@RequestBody EnvDeviceEquipment envDeviceEquipment){
|
|
|
try {
|
|
@@ -61,35 +50,28 @@ public class EnvDeviceEquipmentController {
|
|
|
EnvDeviceRegister one = deviceRegisterService.getOne(queryWrapper);
|
|
|
String chipId = one.getChipId();
|
|
|
log.info("-------获取设备编码:"+chipId);
|
|
|
- PublishMQTT publishMQTT = new PublishMQTT();
|
|
|
+// PublishMQTT publishMQTT = new PublishMQTT();
|
|
|
log.info("-----开始配置消息----");
|
|
|
QueryWrapper<EnvDeviceEquipment> queryWrapper1 = new QueryWrapper<>();
|
|
|
queryWrapper1.eq("device_code",deviceCode).orderByDesc("equipment_port");
|
|
|
List<EnvDeviceEquipment> list = envDeviceEquipmentService.list(queryWrapper1);
|
|
|
- String deviceStatus = "";
|
|
|
+ StringBuilder deviceStatus = new StringBuilder();
|
|
|
for (EnvDeviceEquipment envDeviceEquipment1 : list) {
|
|
|
- deviceStatus = deviceStatus + envDeviceEquipment1.getUploadStart();
|
|
|
+ deviceStatus.append(envDeviceEquipment1.getUploadStart());
|
|
|
}
|
|
|
- String s = deviceStatus;
|
|
|
+ String s = deviceStatus.toString();
|
|
|
int i = Integer.parseInt(s, 2);
|
|
|
JSONObject jsonObject =new JSONObject();
|
|
|
jsonObject.put("dev_ctrl",i);
|
|
|
log.info("消息配置完成开始发送:"+jsonObject.toJSONString());
|
|
|
- publishMQTT.start("tcp://115.238.57.190:1883","test"+chipId,"admin","admin","huimv_down_"+chipId,jsonObject.toJSONString());
|
|
|
- ConsumerMQTT consumerMQTT = new ConsumerMQTT();
|
|
|
- consumerMQTT.start("tcp://115.238.57.190:1883","controller","admin","admin","huimv_up_"+chipId);
|
|
|
-
|
|
|
- QueryWrapper<EnvTopic> topicQueryWrapper = new QueryWrapper<>();
|
|
|
- topicQueryWrapper.orderByDesc("time").last(" limit 1");
|
|
|
- EnvTopic topic = topicService.getOne(topicQueryWrapper);
|
|
|
- if (ObjectUtil.isEmpty(topic)) {
|
|
|
- return new Result(10000, "操作成功", true);
|
|
|
- }
|
|
|
- if (topic.getTopic() == 0) {
|
|
|
- return new Result(10000, "操作成功", true);
|
|
|
- } else {
|
|
|
- return new Result(10001, "操作失败,请重新操作", false);
|
|
|
+ PublishMQTTTree publishMQTTTree = new PublishMQTTTree();
|
|
|
+ Boolean start = publishMQTTTree.start("tcp://115.238.57.190:1883", "test" + chipId, "admin", "admin", "huimv_down_" + chipId, jsonObject.toJSONString());
|
|
|
+ if (start){
|
|
|
+ return new Result(10000,"修改成功",false);
|
|
|
+ }else {
|
|
|
+ return new Result(10001,"配置失败,请稍后配置",false);
|
|
|
}
|
|
|
+
|
|
|
}catch (Exception e){
|
|
|
System.out.println("22222222222"+e);
|
|
|
return new Result(10001,"修改失败",false);
|