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