设备主题获取录入
This commit is contained in:
@@ -13,8 +13,11 @@ import com.njcn.access.pojo.dto.DevModInfoDto;
|
||||
import com.njcn.access.pojo.dto.ModelDto;
|
||||
import com.njcn.access.pojo.dto.ReqAndResDto;
|
||||
import com.njcn.access.pojo.dto.heart.HeartBeatDto;
|
||||
import com.njcn.access.pojo.param.ReqAndResParam;
|
||||
import com.njcn.access.pojo.po.CsLineModel;
|
||||
import com.njcn.access.pojo.po.CsTopic;
|
||||
import com.njcn.access.service.ICsLineModelService;
|
||||
import com.njcn.access.service.ICsTopicService;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.common.utils.PubUtils;
|
||||
import com.njcn.csdevice.api.DevModelFeignClient;
|
||||
@@ -29,11 +32,10 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.validation.ConstraintViolation;
|
||||
import javax.validation.Validator;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @author hongawen
|
||||
@@ -47,12 +49,10 @@ public class MqttMessageHandler {
|
||||
|
||||
private final DevModelFeignClient devModelFeignClient;
|
||||
|
||||
private final EquipmentFeignClient equipmentFeignClient;
|
||||
|
||||
private final DicDataFeignClient dicDataFeignClient;
|
||||
|
||||
private final ICsLineModelService csLineModelService;
|
||||
|
||||
private final ICsTopicService csTopicService;
|
||||
|
||||
private final MqttPublisher publisher;
|
||||
|
||||
private final RedisUtil redisUtil;
|
||||
@@ -60,37 +60,37 @@ public class MqttMessageHandler {
|
||||
@Autowired
|
||||
Validator validator;
|
||||
|
||||
// @MqttSubscribe(value = "/Dev/Topic/{edgeId}",qos = 1)
|
||||
// @Transactional(rollbackFor = Exception.class)
|
||||
// public void devTopic(String topic, MqttMessage message, @NamedValue("edgeId") String nDid, @Payload String payload){
|
||||
// Gson gson = new Gson();
|
||||
// ReqAndResParam.Res res = gson.fromJson(new String(message.getPayload(), StandardCharsets.UTF_8), ReqAndResParam.Res.class);
|
||||
// //检验传递的参数是否准确
|
||||
// Set<ConstraintViolation<ReqAndResParam.Res>> validate = validator.validate(res);
|
||||
// validate.forEach(constraintViolation -> {
|
||||
// System.out.println(constraintViolation.getMessage());
|
||||
// });
|
||||
// if (Objects.equals(res.getCode(),AccessEnum.SUCCESS.getCode())){
|
||||
// if (Objects.equals(res.getType(), TypeEnum.TYPE_1.getCode())){
|
||||
// List<CsTopicPO> list = new ArrayList<>();
|
||||
// //fixme 这边获取数据需要调整
|
||||
// Map<String,List<String>> map = (Map<String,List<String>>)res.getMsg();
|
||||
// List<String> topicList = map.get("Topic");
|
||||
// topicList.forEach(item->{
|
||||
// CsTopicPO csTopicPo = new CsTopicPO();
|
||||
// csTopicPo.setNdid(nDid);
|
||||
// csTopicPo.setTopic(item);
|
||||
// csTopicPo.setType(0);
|
||||
// list.add(csTopicPo);
|
||||
// });
|
||||
// csTopicService.addList(list);
|
||||
// } else {
|
||||
// log.info(AccessResponseEnum.MESSAGE_TYPE_ERROR.getMessage());
|
||||
// }
|
||||
// } else {
|
||||
// log.info(AccessResponseEnum.RESPONSE_ERROR.getMessage());
|
||||
// }
|
||||
// }
|
||||
@MqttSubscribe(value = "/Dev/Topic/{edgeId}",qos = 1)
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void devTopic(String topic, MqttMessage message, @NamedValue("edgeId") String nDid, @Payload String payload){
|
||||
Gson gson = new Gson();
|
||||
ReqAndResParam.Res res = gson.fromJson(new String(message.getPayload(), StandardCharsets.UTF_8), ReqAndResParam.Res.class);
|
||||
//检验传递的参数是否准确
|
||||
Set<ConstraintViolation<ReqAndResParam.Res>> validate = validator.validate(res);
|
||||
validate.forEach(constraintViolation -> {
|
||||
System.out.println(constraintViolation.getMessage());
|
||||
});
|
||||
if (Objects.equals(res.getCode(),AccessEnum.SUCCESS.getCode())){
|
||||
if (Objects.equals(res.getType(), TypeEnum.TYPE_1.getCode())){
|
||||
List<CsTopic> list = new ArrayList<>();
|
||||
//fixme 这边获取数据需要调整
|
||||
Map<String,List<String>> map = (Map<String,List<String>>)res.getMsg();
|
||||
List<String> topicList = map.get("Topic");
|
||||
topicList.forEach(item->{
|
||||
CsTopic csTopic = new CsTopic();
|
||||
csTopic.setNdid(nDid);
|
||||
csTopic.setTopic(item);
|
||||
csTopic.setType(0);
|
||||
list.add(csTopic);
|
||||
});
|
||||
csTopicService.addTopic(nDid,list);
|
||||
} else {
|
||||
log.info(AccessResponseEnum.MESSAGE_TYPE_ERROR.getMessage());
|
||||
}
|
||||
} else {
|
||||
log.info(AccessResponseEnum.RESPONSE_ERROR.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 装置注册应答
|
||||
|
||||
Reference in New Issue
Block a user