From 6886f3d9f7e9848fd47da92637f28f46554179a7 Mon Sep 17 00:00:00 2001
From: kaiyu <404897439@qq.com>
Date: Fri, 18 Jun 2021 08:55:41 +0800
Subject: [PATCH] screen-api           增加kafka消费者以及websocket搭建

---
 screen-manage/src/main/java/com/moral/api/pojo/dto/organizationUnitAlarm/OrganizationUnitAlarmDTO.java         |   22 ++++
 screen-manage/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java                          |    7 +
 screen-manage/src/main/java/com/moral/api/service/impl/VersionServiceImpl.java                                 |    8 +
 screen-manage/src/main/java/com/moral/api/service/impl/OrganizationUnitAlarmServiceImpl.java                   |   27 +++++
 screen-manage/src/main/resources/mapper/OrganizationUnitAlarmMapper.xml                                        |   19 +++
 screen-manage/src/main/java/com/moral/api/entity/OrganizationUnitAlarm.java                                    |   84 ++++++++++++++++
 screen-manage/src/main/java/com/moral/api/service/OrganizationUnitAlarmService.java                            |   26 +++++
 screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java                                  |   41 +++++--
 screen-manage/src/main/java/com/moral/api/mapper/OrganizationUnitAlarmMapper.java                              |   16 +++
 screen-manage/src/main/java/com/moral/api/entity/VersionSensorUnit.java                                        |    7 +
 screen-manage/src/main/java/com/moral/api/pojo/form/organizationUnitAlarm/OrganizationUnitAlarmInsertForm.java |   34 ++++++
 11 files changed, 278 insertions(+), 13 deletions(-)

diff --git a/screen-manage/src/main/java/com/moral/api/entity/OrganizationUnitAlarm.java b/screen-manage/src/main/java/com/moral/api/entity/OrganizationUnitAlarm.java
new file mode 100644
index 0000000..0993446
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/entity/OrganizationUnitAlarm.java
@@ -0,0 +1,84 @@
+package com.moral.api.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.time.LocalDateTime;
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * ���������������������������������������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-06-17
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class OrganizationUnitAlarm extends Model<OrganizationUnitAlarm> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * ������
+     */
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * ������id
+     */
+    private Integer organizationId;
+
+    /**
+     * ������id
+     */
+    private Integer versionId;
+
+    /**
+     * ������code
+     */
+    private Integer sensorCode;
+
+    /**
+     * ���������������������
+     */
+    private String unitKey;
+
+    /**
+     * ���������������������key
+     */
+    private String showUnitKey;
+
+    /**
+     * ������������
+     */
+    private String alarmLevel;
+
+    /**
+     * ������������
+     */
+    private Date createTime;
+
+    /**
+     * ������������
+     */
+    private Date updateTime;
+
+    /**
+     * ������������
+     */
+    private String isDelete;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/entity/VersionSensorUnit.java b/screen-manage/src/main/java/com/moral/api/entity/VersionSensorUnit.java
index 0802b5c..33c428e 100644
--- a/screen-manage/src/main/java/com/moral/api/entity/VersionSensorUnit.java
+++ b/screen-manage/src/main/java/com/moral/api/entity/VersionSensorUnit.java
@@ -1,6 +1,7 @@
 package com.moral.api.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.time.LocalDateTime;
@@ -38,8 +39,14 @@
     /**
      * ������Id
      */
+    @TableField(exist = false)
     private Integer sensorId;
 
+    /*
+    * ������code
+    * */
+    private String sensorCode;
+
     /**
      * ������������key
      */
diff --git a/screen-manage/src/main/java/com/moral/api/mapper/OrganizationUnitAlarmMapper.java b/screen-manage/src/main/java/com/moral/api/mapper/OrganizationUnitAlarmMapper.java
new file mode 100644
index 0000000..562b4de
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/mapper/OrganizationUnitAlarmMapper.java
@@ -0,0 +1,16 @@
+package com.moral.api.mapper;
+
+import com.moral.api.entity.OrganizationUnitAlarm;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * ��������������������������������������� Mapper ������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-06-17
+ */
+public interface OrganizationUnitAlarmMapper extends BaseMapper<OrganizationUnitAlarm> {
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/dto/organizationUnitAlarm/OrganizationUnitAlarmDTO.java b/screen-manage/src/main/java/com/moral/api/pojo/dto/organizationUnitAlarm/OrganizationUnitAlarmDTO.java
new file mode 100644
index 0000000..b0c53b2
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/dto/organizationUnitAlarm/OrganizationUnitAlarmDTO.java
@@ -0,0 +1,22 @@
+package com.moral.api.pojo.dto.organizationUnitAlarm;
+
+/**
+ * @ClassName OrganizationUnitAlramDTO
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/6/17 14:01
+ * @Version TODO
+ **/
+public class OrganizationUnitAlarmDTO {
+
+    /*
+     * ���������
+     * */
+    private Integer code;
+
+    /*
+     * ������������
+     * */
+    private String msg;
+
+}
diff --git a/screen-manage/src/main/java/com/moral/api/pojo/form/organizationUnitAlarm/OrganizationUnitAlarmInsertForm.java b/screen-manage/src/main/java/com/moral/api/pojo/form/organizationUnitAlarm/OrganizationUnitAlarmInsertForm.java
new file mode 100644
index 0000000..63e006d
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/pojo/form/organizationUnitAlarm/OrganizationUnitAlarmInsertForm.java
@@ -0,0 +1,34 @@
+package com.moral.api.pojo.form.organizationUnitAlarm;
+
+import com.moral.api.entity.OrganizationUnitAlarm;
+import lombok.Data;
+import org.springframework.util.ObjectUtils;
+
+import java.util.List;
+
+/**
+ * @ClassName OrganizationUnitAlarmInsertForm
+ * @Description TODO
+ * @Author ���������
+ * @Date 2021/6/17 14:12
+ * @Version TODO
+ **/
+@Data
+public class OrganizationUnitAlarmInsertForm {
+
+    private List<OrganizationUnitAlarm> organizationUnitAlarms;
+
+    public boolean valid(){
+        if(ObjectUtils.isEmpty(organizationUnitAlarms))
+            return false;
+        for (OrganizationUnitAlarm organizationUnitAlarm : organizationUnitAlarms) {
+            if(ObjectUtils.isEmpty(organizationUnitAlarm.getOrganizationId())||
+                    ObjectUtils.isEmpty(organizationUnitAlarm.getVersionId())||
+                    ObjectUtils.isEmpty(organizationUnitAlarm.getSensorCode())||
+                    ObjectUtils.isEmpty(organizationUnitAlarm.getUnitKey())||
+                    ObjectUtils.isEmpty(organizationUnitAlarm.getShowUnitKey()));
+            return false;
+        }
+        return true;
+    }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/service/OrganizationUnitAlarmService.java b/screen-manage/src/main/java/com/moral/api/service/OrganizationUnitAlarmService.java
new file mode 100644
index 0000000..03814e2
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/service/OrganizationUnitAlarmService.java
@@ -0,0 +1,26 @@
+package com.moral.api.service;
+
+import com.moral.api.entity.OrganizationUnitAlarm;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.moral.api.pojo.dto.organizationUnitAlarm.OrganizationUnitAlarmDTO;
+import com.moral.api.pojo.form.organizationUnitAlarm.OrganizationUnitAlarmInsertForm;
+
+/**
+ * <p>
+ * ��������������������������������������� ���������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-06-17
+ */
+public interface OrganizationUnitAlarmService extends IService<OrganizationUnitAlarm> {
+
+    /**
+    * @Description: ������������������������������������������
+            * @Param: [organizationInsertForm]
+            * @return: com.moral.api.pojo.dto.organizationUnitAlarm.OrganizationUnitAlarmDTO
+            * @Author: ���������
+            * @Date: 2021/6/17
+            */
+    OrganizationUnitAlarmDTO insertOrganizationUnitAlarm(OrganizationUnitAlarmInsertForm organizationInsertForm);
+}
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
index 6a972f9..76d4e8f 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java
@@ -4,19 +4,8 @@
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.moral.api.entity.Device;
-import com.moral.api.entity.ManageAccount;
-import com.moral.api.entity.MonitorPoint;
-import com.moral.api.entity.Organization;
-import com.moral.api.entity.SysDictData;
-import com.moral.api.entity.SysDictType;
-import com.moral.api.entity.Version;
-import com.moral.api.mapper.DeviceMapper;
-import com.moral.api.mapper.ManageAccountMapper;
-import com.moral.api.mapper.MonitorPointMapper;
-import com.moral.api.mapper.OrganizationMapper;
-import com.moral.api.mapper.SysDictDataMapper;
-import com.moral.api.mapper.SysDictTypeMapper;
+import com.moral.api.entity.*;
+import com.moral.api.mapper.*;
 import com.moral.api.pojo.vo.device.DeviceVO;
 import com.moral.api.service.DeviceService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -31,6 +20,7 @@
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.ObjectUtils;
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 
@@ -80,6 +70,11 @@
     @Autowired
     private RedisTemplate redisTemplate;
 
+    @Autowired
+    private OrganizationUnitAlarmMapper organizationUnitAlarmMapper;
+
+    @Autowired
+    private VersionSensorUnitMapper versionSensorUnitMapper;
 
     /*
      * ���redis������������������
@@ -127,6 +122,26 @@
         device.setOrganizationId(orgId);
         deviceMapper.insert(device);
         Map<String, Object> deviceInfo = selectDeviceInfoById(device.getId());
+        //���������������������������
+        QueryWrapper<OrganizationUnitAlarm> queryOrganizationVersionWrapper = new QueryWrapper<>();
+        queryOrganizationVersionWrapper.eq("organization_id",orgId);
+        queryOrganizationVersionWrapper.eq("version_id",device.getDeviceVersionId());
+        queryOrganizationVersionWrapper.eq("is_delete",Constants.NOT_DELETE);
+        List<OrganizationUnitAlarm> organizationUnitAlarms = organizationUnitAlarmMapper.selectList(queryOrganizationVersionWrapper);
+        if(ObjectUtils.isEmpty(organizationUnitAlarms)){
+            QueryWrapper<VersionSensorUnit> queryVersionSensorUnitWrapper =new QueryWrapper<>();
+            queryVersionSensorUnitWrapper.eq("version_id",device.getDeviceVersionId());
+            queryVersionSensorUnitWrapper.eq("is_delete",Constants.NOT_DELETE);
+            List<VersionSensorUnit> versionSensorUnits = versionSensorUnitMapper.selectList(queryVersionSensorUnitWrapper);
+            if(!ObjectUtils.isEmpty(versionSensorUnits)){
+                for (VersionSensorUnit versionSensorUnit : versionSensorUnits) {
+                    OrganizationUnitAlarm organizationUnitAlarm = new OrganizationUnitAlarm();
+                    organizationUnitAlarm.setOrganizationId(orgId);
+                    organizationUnitAlarm.setVersionId(device.getDeviceVersionId());
+
+                }
+            }
+        }
         //������������������������redis
         String mac = device.getMac();
         //���redis���������������������
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationUnitAlarmServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationUnitAlarmServiceImpl.java
new file mode 100644
index 0000000..e321a69
--- /dev/null
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/OrganizationUnitAlarmServiceImpl.java
@@ -0,0 +1,27 @@
+package com.moral.api.service.impl;
+
+import com.moral.api.entity.OrganizationUnitAlarm;
+import com.moral.api.mapper.OrganizationUnitAlarmMapper;
+import com.moral.api.pojo.dto.organizationUnitAlarm.OrganizationUnitAlarmDTO;
+import com.moral.api.pojo.form.organizationUnitAlarm.OrganizationUnitAlarmInsertForm;
+import com.moral.api.service.OrganizationUnitAlarmService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * ��������������������������������������� ���������������
+ * </p>
+ *
+ * @author moral
+ * @since 2021-06-17
+ */
+@Service
+public class OrganizationUnitAlarmServiceImpl extends ServiceImpl<OrganizationUnitAlarmMapper, OrganizationUnitAlarm> implements OrganizationUnitAlarmService {
+
+    @Override
+    public OrganizationUnitAlarmDTO insertOrganizationUnitAlarm(OrganizationUnitAlarmInsertForm organizationInsertForm) {
+
+        return null;
+    }
+}
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java
index a94e894..75593af 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java
@@ -1,5 +1,6 @@
 package com.moral.api.service.impl;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -181,4 +182,10 @@
         dto.setMsg(ResponseCodeEnum.SUCCESS.getMsg());
         return dto;
     }
+
+    public static void main(String[] args) {
+        int[] array = new int[]{1,2,3,4,5,};
+        String s = JSON.toJSONString(array);
+        System.out.println(s);
+    }
 }
diff --git a/screen-manage/src/main/java/com/moral/api/service/impl/VersionServiceImpl.java b/screen-manage/src/main/java/com/moral/api/service/impl/VersionServiceImpl.java
index d81b12f..780bc84 100644
--- a/screen-manage/src/main/java/com/moral/api/service/impl/VersionServiceImpl.java
+++ b/screen-manage/src/main/java/com/moral/api/service/impl/VersionServiceImpl.java
@@ -8,6 +8,7 @@
 import com.moral.api.entity.User;
 import com.moral.api.entity.Version;
 import com.moral.api.entity.VersionSensorUnit;
+import com.moral.api.mapper.SensorMapper;
 import com.moral.api.mapper.VersionMapper;
 import com.moral.api.mapper.VersionSensorUnitMapper;
 import com.moral.api.pojo.dto.version.VersionDTO;
@@ -41,6 +42,8 @@
     VersionMapper versionMapper;
     @Autowired
     VersionSensorUnitMapper versionSensorUnitMapper;
+    @Autowired
+    SensorMapper sensorMapper;
 
     @Override
     public VersionQueryDTO query(VersionQueryForm form) {
@@ -193,6 +196,11 @@
         deleteWrapper.eq("version_id", versionId);
         deleteWrapper.set("is_delete", Constants.DELETE);
         versionSensorUnitMapper.update(null, deleteWrapper);
+        //������������������id������code
+        for (VersionSensorUnit sensorUnit : sensorUnits) {
+            Sensor sensor = sensorMapper.selectById(sensorUnit.getId());
+            sensorUnit.setSensorCode(sensor.getCode());
+        }
         //���������������������������������
         for (VersionSensorUnit sensorUnit : sensorUnits) {
             sensorUnit.setVersionId(versionId);
diff --git a/screen-manage/src/main/resources/mapper/OrganizationUnitAlarmMapper.xml b/screen-manage/src/main/resources/mapper/OrganizationUnitAlarmMapper.xml
new file mode 100644
index 0000000..61a8a0d
--- /dev/null
+++ b/screen-manage/src/main/resources/mapper/OrganizationUnitAlarmMapper.xml
@@ -0,0 +1,19 @@
+<?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.OrganizationUnitAlarmMapper">
+
+        <!-- ������������������������ -->
+        <resultMap id="BaseResultMap" type="com.moral.api.entity.OrganizationUnitAlarm">
+                    <id column="id" property="id" />
+                    <result column="organization_id" property="organizationId" />
+                    <result column="version_id" property="versionId" />
+                    <result column="sensor_code" property="sensorCode" />
+                    <result column="unit_key" property="unitKey" />
+                    <result column="show_unit_key" property="showUnitKey" />
+                    <result column="alarm_level" property="alarmLevel" />
+                    <result column="create_time" property="createTime" />
+                    <result column="update_time" property="updateTime" />
+                    <result column="is_delete" property="isDelete" />
+        </resultMap>
+
+</mapper>
\ No newline at end of file

--
Gitblit v1.8.0