kaiyu
2021-06-18 6886f3d9f7e9848fd47da92637f28f46554179a7
screen-api
增加kafka消费者以及websocket搭建
7 files added
4 files modified
291 ■■■■■ changed files
screen-manage/src/main/java/com/moral/api/entity/OrganizationUnitAlarm.java 84 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/entity/VersionSensorUnit.java 7 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/mapper/OrganizationUnitAlarmMapper.java 16 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/pojo/dto/organizationUnitAlarm/OrganizationUnitAlarmDTO.java 22 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/pojo/form/organizationUnitAlarm/OrganizationUnitAlarmInsertForm.java 34 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/OrganizationUnitAlarmService.java 26 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/DeviceServiceImpl.java 41 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/OrganizationUnitAlarmServiceImpl.java 27 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/UnitConversionServiceImpl.java 7 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/service/impl/VersionServiceImpl.java 8 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/resources/mapper/OrganizationUnitAlarmMapper.xml 19 ●●●●● patch | view | raw | blame | history
screen-manage/src/main/java/com/moral/api/entity/OrganizationUnitAlarm.java
New file
@@ -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;
    }
}
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
     */
screen-manage/src/main/java/com/moral/api/mapper/OrganizationUnitAlarmMapper.java
New file
@@ -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> {
}
screen-manage/src/main/java/com/moral/api/pojo/dto/organizationUnitAlarm/OrganizationUnitAlarmDTO.java
New file
@@ -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;
}
screen-manage/src/main/java/com/moral/api/pojo/form/organizationUnitAlarm/OrganizationUnitAlarmInsertForm.java
New file
@@ -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;
    }
}
screen-manage/src/main/java/com/moral/api/service/OrganizationUnitAlarmService.java
New file
@@ -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);
}
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中删除设备信息
screen-manage/src/main/java/com/moral/api/service/impl/OrganizationUnitAlarmServiceImpl.java
New file
@@ -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;
    }
}
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);
    }
}
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);
screen-manage/src/main/resources/mapper/OrganizationUnitAlarmMapper.xml
New file
@@ -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>