|
|
@@ -4,7 +4,11 @@ import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.date.LocalDateTimeUtil;
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
|
-import com.middle.platform.data.biz.pojo.*;
|
|
|
+import com.middle.platform.common.core.constant.RabbitConstant;
|
|
|
+import com.middle.platform.data.biz.pojo.OriginalPara;
|
|
|
+import com.middle.platform.data.biz.pojo.ProductPara;
|
|
|
+import com.middle.platform.data.biz.pojo.PropertyData;
|
|
|
+import com.middle.platform.data.biz.pojo.PropertyDto;
|
|
|
import com.middle.platform.data.biz.pojo.data.DbData;
|
|
|
import com.middle.platform.data.biz.pojo.data.DealData;
|
|
|
import com.middle.platform.data.biz.pojo.data.RawData;
|
|
|
@@ -38,7 +42,7 @@ public class QueueService {
|
|
|
private final TaosService taosService;
|
|
|
|
|
|
|
|
|
- @RabbitListener(queues = QueueEnum.RAW_QUEUE, concurrency = "4-10", containerFactory = "rabbitFactory")
|
|
|
+ @RabbitListener(queues = RabbitConstant.RAW_QUEUE, concurrency = "4-10", containerFactory = "rabbitFactory")
|
|
|
public void rawQueue(List<RawData> list) {
|
|
|
Map<String, List<RawData>> collect = list.stream().collect(Collectors.groupingBy(d -> d.getCode() + "," + d.getDeviceSn()));
|
|
|
for (Map.Entry<String, List<RawData>> map : collect.entrySet()) {
|
|
|
@@ -59,13 +63,13 @@ public class QueueService {
|
|
|
dealData.setDeviceSn(in.getDeviceSn());
|
|
|
dealData.setData(in.getData());
|
|
|
dealData.setTime(System.currentTimeMillis());
|
|
|
- amqpTemplate.convertAndSend(QueueEnum.DEAL_QUEUE, dealData);
|
|
|
+ amqpTemplate.convertAndSend(RabbitConstant.TOPIC_EXCHANGE_DATA, RabbitConstant.ROUTING_POINT_DATA_PREFIX + RabbitConstant.DEAL_QUEUE, dealData);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
|
|
|
- @RabbitListener(queues = QueueEnum.DEAL_QUEUE, concurrency = "6-14")
|
|
|
+ @RabbitListener(queues = RabbitConstant.DEAL_QUEUE, concurrency = "6-14")
|
|
|
public void dealQueue(DealData in) {
|
|
|
String msgId = IdUtil.fastSimpleUUID();
|
|
|
cacheService.setKey(String.format(CacheConstant.ONLINE_CACHE, in.getGuid()), LocalDateTime.now());
|
|
|
@@ -103,21 +107,21 @@ public class QueueService {
|
|
|
DbData dbData = new DbData();
|
|
|
dbData.setOriginalPara(originalPara);
|
|
|
dbData.setPropertyData(propertyData);
|
|
|
- amqpTemplate.convertAndSend(QueueEnum.DB_QUEUE, dbData);
|
|
|
+ amqpTemplate.convertAndSend(RabbitConstant.TOPIC_EXCHANGE_DATA, RabbitConstant.ROUTING_POINT_DATA_PREFIX + RabbitConstant.DB_QUEUE, dbData);
|
|
|
}
|
|
|
|
|
|
|
|
|
- @RabbitListener(queues = QueueEnum.DB_QUEUE, concurrency = "4-10", containerFactory = "rabbitFactory")
|
|
|
+ @RabbitListener(queues = RabbitConstant.DB_QUEUE, concurrency = "4-10", containerFactory = "rabbitFactory")
|
|
|
public void dbQueue(List<DbData> list) {
|
|
|
List<OriginalPara> originalParas = list.stream().map(DbData::getOriginalPara).collect(Collectors.toList());
|
|
|
taosService.batchAddOriginal(originalParas);
|
|
|
+
|
|
|
List<PropertyData> collect = list.stream().map(t -> {
|
|
|
PropertyData propertyData = t.getPropertyData();
|
|
|
if (Objects.nonNull(propertyData)) {
|
|
|
for (ProductPara datum : propertyData.getData()) {
|
|
|
datum.setReserve(String.valueOf(System.currentTimeMillis() - Long.parseLong(datum.getReserve())));
|
|
|
}
|
|
|
- taosService.addDeviceData(propertyData);
|
|
|
}
|
|
|
return propertyData;
|
|
|
}).filter(Objects::nonNull).collect(Collectors.toList());
|