From 659b91b554ba5e98b6fffa045231f5aa3fb4ab9e Mon Sep 17 00:00:00 2001
From: lizijie <lzjiiie@163.com>
Date: Fri, 03 Sep 2021 15:21:48 +0800
Subject: [PATCH] 因子默认单位添加;角色、菜单更新
---
screen-manage/src/main/java/com/moral/api/entity/HistorySecondCruiser.java | 56 +++++++
screen-manage/src/main/java/com/moral/api/entity/HistorySecondUav.java | 56 +++++++
screen-manage/src/main/java/com/moral/api/service/HistorySecondCruiserService.java | 21 ++
screen-manage/src/main/java/com/moral/api/mapper/HistorySecondCruiserMapper.java | 16 ++
screen-manage/src/main/java/com/moral/api/service/impl/HistorySecondCruiserServiceImpl.java | 80 ++++++++++
screen-manage/src/main/java/com/moral/api/service/HistorySecondUavService.java | 21 ++
screen-manage/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java | 80 ++++++++++
screen-manage/src/main/resources/mapper/HistorySecondUavMapper.xml | 14 +
screen-common/src/main/java/com/moral/constant/Constants.java | 2
screen-manage/src/main/java/com/moral/api/kafka/consumer/DeviceConsumer.java | 47 ++++-
screen-manage/src/main/java/com/moral/api/mapper/HistorySecondUavMapper.java | 16 ++
screen-manage/src/main/resources/mapper/HistorySecondCruiserMapper.xml | 14 +
12 files changed, 413 insertions(+), 10 deletions(-)
diff --git a/screen-common/src/main/java/com/moral/constant/Constants.java b/screen-common/src/main/java/com/moral/constant/Constants.java
index 9222de0..38b3a9a 100644
--- a/screen-common/src/main/java/com/moral/constant/Constants.java
+++ b/screen-common/src/main/java/com/moral/constant/Constants.java
@@ -207,7 +207,7 @@
/*
* ������������������������
* */
- public static final String SENSOR_CODE_SPECIAL_BATCH = "a00000";
+ public static final String SENSOR_CODE_SPECIAL_BATCH = "PORRST";
/*
* ������������������������������
diff --git a/screen-manage/src/main/java/com/moral/api/entity/HistorySecondCruiser.java b/screen-manage/src/main/java/com/moral/api/entity/HistorySecondCruiser.java
new file mode 100644
index 0000000..7fb0b6a
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/entity/HistorySecondCruiser.java
@@ -0,0 +1,56 @@
+package com.moral.api.entity;
+
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * ���������������������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-09-02
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class HistorySecondCruiser extends Model<HistorySecondCruiser> {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * ������mac
+ */
+ private String mac;
+
+ /**
+ * ������������
+ */
+ private Date time;
+
+ /**
+ * ������
+ */
+ private String value;
+
+ /**
+ * ���������������������id
+ */
+ private Integer organizationId;
+
+ /**
+ * ������������
+ */
+ private Date batch;
+
+
+ @Override
+ protected Serializable pkVal() {
+ return null;
+ }
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/entity/HistorySecondUav.java b/screen-manage/src/main/java/com/moral/api/entity/HistorySecondUav.java
new file mode 100644
index 0000000..f435eb1
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/entity/HistorySecondUav.java
@@ -0,0 +1,56 @@
+package com.moral.api.entity;
+
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * ���������������������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-09-02
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class HistorySecondUav extends Model<HistorySecondUav> {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * ������mac
+ */
+ private String mac;
+
+ /**
+ * ������������
+ */
+ private Date time;
+
+ /**
+ * ������
+ */
+ private String value;
+
+ /**
+ * ���������������������id
+ */
+ private Integer organizationId;
+
+ /**
+ * ������������
+ */
+ private Date batch;
+
+
+ @Override
+ protected Serializable pkVal() {
+ return null;
+ }
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/kafka/consumer/DeviceConsumer.java b/screen-manage/src/main/java/com/moral/api/kafka/consumer/DeviceConsumer.java
index 9e7347a..8156f7f 100644
--- a/screen-manage/src/main/java/com/moral/api/kafka/consumer/DeviceConsumer.java
+++ b/screen-manage/src/main/java/com/moral/api/kafka/consumer/DeviceConsumer.java
@@ -1,5 +1,6 @@
package com.moral.api.kafka.consumer;
+import com.moral.api.service.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.springframework.beans.factory.annotation.Autowired;
@@ -14,10 +15,6 @@
import java.util.Map;
import com.alibaba.fastjson.JSON;
-import com.moral.api.service.DeviceService;
-import com.moral.api.service.HistoryHourlyService;
-import com.moral.api.service.HistoryMinutelyService;
-import com.moral.api.service.HistorySecondSpecialService;
import com.moral.constant.KafkaConstants;
import com.moral.constant.RedisConstants;
@@ -43,8 +40,14 @@
@Autowired
private HistorySecondSpecialService historySecondSpecialService;
+ @Autowired
+ private HistorySecondCruiserService historySecondCruiserService;
+
+ @Autowired
+ private HistorySecondUavService historySecondUavService;
+
//������������
- @KafkaListener(topics = KafkaConstants.TOPIC_MINUTE, containerFactory = "insertListenerContainerFactory")
+ //@KafkaListener(topics = KafkaConstants.TOPIC_MINUTE, containerFactory = "insertListenerContainerFactory")
public void listenMinute(ConsumerRecord<String, String> record, Acknowledgment ack) {
String msg = record.value();
try {
@@ -83,7 +86,7 @@
}
//������������
- @KafkaListener(topics = KafkaConstants.TOPIC_HOUR, containerFactory = "insertListenerContainerFactory")
+ //@KafkaListener(topics = KafkaConstants.TOPIC_HOUR, containerFactory = "insertListenerContainerFactory")
public void listenHour(ConsumerRecord<String, String> record, Acknowledgment ack) {
String msg = record.value();
try {
@@ -122,7 +125,7 @@
}
//������������������������������������������������������
- @KafkaListener(topics = KafkaConstants.TOPIC_SECOND, containerFactory = "stateListenerContainerFactory")
+ //@KafkaListener(topics = KafkaConstants.TOPIC_SECOND, containerFactory = "stateListenerContainerFactory")
public void listenSecond(ConsumerRecord<String, String> record) {
String msg = record.value();
try {
@@ -150,9 +153,35 @@
}
}
- //���������������������
+ //������������������
@KafkaListener(topics = KafkaConstants.UAV_TOPIC_SECOND, groupId = KafkaConstants.GROUP_INSERT, containerFactory = "insertListenerContainerFactory")
public void listenSecondSpecial(ConsumerRecord<String, String> record, Acknowledgment ack) {
+ String msg = record.value();
+ System.out.println(msg);
+ try {
+ Map<String, Object> data = JSON.parseObject(msg, Map.class);
+ Object mac = data.get("mac");
+ Object time = data.get("DataTime");
+ if (ObjectUtils.isEmpty(time) || ObjectUtils.isEmpty(mac)) {
+ log.warn("some properties is null, param{}", msg);
+ ack.acknowledge();
+ return;
+ }
+
+ //������������
+ data.remove("time");
+ data.remove("entryTime");
+
+ historySecondUavService.insertHistorySecond(data);
+ ack.acknowledge();
+ } catch (Exception e) {
+ log.error("param{}" + msg);
+ }
+ }
+
+ //������������������
+ @KafkaListener(topics = KafkaConstants.CRUISER_TOPIC_SECOND, groupId = KafkaConstants.GROUP_INSERT, containerFactory = "insertListenerContainerFactory")
+ public void listenSecondCruiser(ConsumerRecord<String, String> record, Acknowledgment ack) {
String msg = record.value();
try {
Map<String, Object> data = JSON.parseObject(msg, Map.class);
@@ -168,7 +197,7 @@
data.remove("time");
data.remove("entryTime");
- historySecondSpecialService.insertHistorySecond(data);
+ historySecondCruiserService.insertHistorySecond(data);
ack.acknowledge();
} catch (Exception e) {
log.error("param{}" + msg);
diff --git a/screen-manage/src/main/java/com/moral/api/mapper/HistorySecondCruiserMapper.java b/screen-manage/src/main/java/com/moral/api/mapper/HistorySecondCruiserMapper.java
new file mode 100644
index 0000000..9eaabe9
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/mapper/HistorySecondCruiserMapper.java
@@ -0,0 +1,16 @@
+package com.moral.api.mapper;
+
+import com.moral.api.entity.HistorySecondCruiser;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * ��������������������� Mapper ������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-09-02
+ */
+public interface HistorySecondCruiserMapper extends BaseMapper<HistorySecondCruiser> {
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/mapper/HistorySecondUavMapper.java b/screen-manage/src/main/java/com/moral/api/mapper/HistorySecondUavMapper.java
new file mode 100644
index 0000000..2dd5c55
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/mapper/HistorySecondUavMapper.java
@@ -0,0 +1,16 @@
+package com.moral.api.mapper;
+
+import com.moral.api.entity.HistorySecondUav;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * ��������������������� Mapper ������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-09-02
+ */
+public interface HistorySecondUavMapper extends BaseMapper<HistorySecondUav> {
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/service/HistorySecondCruiserService.java b/screen-manage/src/main/java/com/moral/api/service/HistorySecondCruiserService.java
new file mode 100644
index 0000000..f83f252
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/service/HistorySecondCruiserService.java
@@ -0,0 +1,21 @@
+package com.moral.api.service;
+
+import com.moral.api.entity.HistorySecondCruiser;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * ��������������������� ���������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-09-02
+ */
+public interface HistorySecondCruiserService extends IService<HistorySecondCruiser> {
+
+ //���������insert
+ void insertHistorySecond(Map<String, Object> data);
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/service/HistorySecondUavService.java b/screen-manage/src/main/java/com/moral/api/service/HistorySecondUavService.java
new file mode 100644
index 0000000..1cd70c2
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/service/HistorySecondUavService.java
@@ -0,0 +1,21 @@
+package com.moral.api.service;
+
+import com.moral.api.entity.HistorySecondUav;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.Map;
+
+/**
+ * <p>
+ * ��������������������� ���������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-09-02
+ */
+public interface HistorySecondUavService extends IService<HistorySecondUav> {
+
+ //���������insert
+ void insertHistorySecond(Map<String, Object> data);
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/HistorySecondCruiserServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/HistorySecondCruiserServiceImpl.java
new file mode 100644
index 0000000..5292088
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/HistorySecondCruiserServiceImpl.java
@@ -0,0 +1,80 @@
+package com.moral.api.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.moral.api.entity.HistorySecondCruiser;
+import com.moral.api.entity.Sensor;
+import com.moral.api.entity.SpecialDevice;
+import com.moral.api.mapper.HistorySecondCruiserMapper;
+import com.moral.api.service.DeviceService;
+import com.moral.api.service.HistorySecondCruiserService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.constant.Constants;
+import com.moral.constant.RedisConstants;
+import com.moral.util.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * ��������������������� ���������������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-09-02
+ */
+@Service
+public class HistorySecondCruiserServiceImpl extends ServiceImpl<HistorySecondCruiserMapper, HistorySecondCruiser> implements HistorySecondCruiserService {
+
+ @Autowired
+ private HistorySecondCruiserMapper historySecondCruiserMapper;
+
+ @Autowired
+ private DeviceService deviceService;
+
+ @Autowired
+ private RedisTemplate redisTemplate;
+
+ @Override
+ public void insertHistorySecond(Map<String, Object> data) {
+ Date batchTime = DateUtils.getDate((String) data.remove(Constants.SENSOR_CODE_SPECIAL_BATCH), DateUtils.yyyyMMddHHmmss_EN);
+ Date time = DateUtils.getDate((String) data.get("DataTime"), DateUtils.yyyyMMddHHmmss_EN);
+ String mac = data.get("mac").toString();
+
+ //������mac���redis���������������
+ SpecialDevice specialDevice = (SpecialDevice) redisTemplate.opsForHash().get(RedisConstants.SPECIAL_DEVICE_INFO, mac);
+ List<Sensor> sensors = specialDevice.getVersion().getSensors();
+ //������������
+ data = data.entrySet().stream()
+ .filter(m -> {
+ boolean flag = false;
+ String key = m.getKey();
+ if (!"mac".equals(key) && !"DataTime".equals(key)) {
+ for (Sensor sensor : sensors) {
+ if (sensor.getCode().equals(key)) {
+ flag = true;
+ break;
+ }
+ }
+ return flag;
+ }
+ return true;
+ }).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
+
+ //������������
+ data = deviceService.adjustSpecialDeviceData(data);
+
+ HistorySecondCruiser historySecondCruiser = new HistorySecondCruiser();
+ historySecondCruiser.setMac(mac);
+ historySecondCruiser.setTime(time);
+ historySecondCruiser.setValue(JSONObject.toJSONString(data));
+ historySecondCruiser.setOrganizationId(specialDevice.getOrganizationId());
+ historySecondCruiser.setBatch(batchTime);
+ historySecondCruiserMapper.insert(historySecondCruiser);
+ }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java
new file mode 100644
index 0000000..f3d7cb4
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java
@@ -0,0 +1,80 @@
+package com.moral.api.service.impl;
+
+import com.alibaba.fastjson.JSONObject;
+import com.moral.api.entity.HistorySecondUav;
+import com.moral.api.entity.Sensor;
+import com.moral.api.entity.SpecialDevice;
+import com.moral.api.mapper.HistorySecondUavMapper;
+import com.moral.api.service.DeviceService;
+import com.moral.api.service.HistorySecondUavService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.moral.constant.Constants;
+import com.moral.constant.RedisConstants;
+import com.moral.util.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ * ��������������������� ���������������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-09-02
+ */
+@Service
+public class HistorySecondUavServiceImpl extends ServiceImpl<HistorySecondUavMapper, HistorySecondUav> implements HistorySecondUavService {
+
+ @Autowired
+ private HistorySecondUavMapper historySecondUavMapper;
+
+ @Autowired
+ private DeviceService deviceService;
+
+ @Autowired
+ private RedisTemplate redisTemplate;
+
+ @Override
+ public void insertHistorySecond(Map<String, Object> data) {
+ Date batchTime = DateUtils.getDate((String) data.remove(Constants.SENSOR_CODE_SPECIAL_BATCH), DateUtils.yyyyMMddHHmmss_EN);
+ Date time = DateUtils.getDate((String) data.get("DataTime"), DateUtils.yyyyMMddHHmmss_EN);
+ String mac = data.get("mac").toString();
+
+ //������mac���redis���������������
+ SpecialDevice specialDevice = (SpecialDevice) redisTemplate.opsForHash().get(RedisConstants.SPECIAL_DEVICE_INFO, mac);
+ List<Sensor> sensors = specialDevice.getVersion().getSensors();
+ //������������
+ data = data.entrySet().stream()
+ .filter(m -> {
+ boolean flag = false;
+ String key = m.getKey();
+ if (!"mac".equals(key) && !"DataTime".equals(key)) {
+ for (Sensor sensor : sensors) {
+ if (sensor.getCode().equals(key)) {
+ flag = true;
+ break;
+ }
+ }
+ return flag;
+ }
+ return true;
+ }).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
+
+ //������������
+ data = deviceService.adjustSpecialDeviceData(data);
+
+ HistorySecondUav historySecondUav = new HistorySecondUav();
+ historySecondUav.setMac(mac);
+ historySecondUav.setTime(time);
+ historySecondUav.setValue(JSONObject.toJSONString(data));
+ historySecondUav.setOrganizationId(specialDevice.getOrganizationId());
+ historySecondUav.setBatch(batchTime);
+ historySecondUavMapper.insert(historySecondUav);
+ }
+}
diff --git a/screen-manage/src/main/resources/mapper/HistorySecondCruiserMapper.xml b/screen-manage/src/main/resources/mapper/HistorySecondCruiserMapper.xml
new file mode 100644
index 0000000..a69ab10
--- /dev/null
+++ b/screen-manage/src/main/resources/mapper/HistorySecondCruiserMapper.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.moral.api.mapper.HistorySecondCruiserMapper">
+
+ <!-- ������������������������ -->
+ <resultMap id="BaseResultMap" type="com.moral.api.entity.HistorySecondCruiser">
+ <result column="mac" property="mac" />
+ <result column="time" property="time" />
+ <result column="value" property="value" />
+ <result column="organization_id" property="organizationId" />
+ <result column="batch" property="batch" />
+ </resultMap>
+
+</mapper>
\ No newline at end of file
diff --git a/screen-manage/src/main/resources/mapper/HistorySecondUavMapper.xml b/screen-manage/src/main/resources/mapper/HistorySecondUavMapper.xml
new file mode 100644
index 0000000..c237c8e
--- /dev/null
+++ b/screen-manage/src/main/resources/mapper/HistorySecondUavMapper.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.moral.api.mapper.HistorySecondUavMapper">
+
+ <!-- ������������������������ -->
+ <resultMap id="BaseResultMap" type="com.moral.api.entity.HistorySecondUav">
+ <result column="mac" property="mac" />
+ <result column="time" property="time" />
+ <result column="value" property="value" />
+ <result column="organization_id" property="organizationId" />
+ <result column="batch" property="batch" />
+ </resultMap>
+
+</mapper>
\ No newline at end of file
--
Gitblit v1.8.0