2021与蓝度共同重构项目,服务端
liuhaonan
2021-12-13 fb7521b63ed150f6cddd86df95e7bf440ec6501f
Merge remote-tracking branch 'origin/master'
已修改15个文件
已添加3个文件
236 ■■■■ 文件已修改
dao/src/main/java/com/sandu/ximon/dao/domain/ForHelp.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/java/com/sandu/ximon/dao/domain/LightPoleHeeling.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/java/com/sandu/ximon/dao/domain/MidConnectionRelation.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/java/com/sandu/ximon/dao/mapper/MidConnectionRelationMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/resources/mapper/ForHelpMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/resources/mapper/LightPoleHeelingMapper.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/resources/mapper/MidConnectionRelationMapper.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AirDataController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AirEquipmentController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/BannerController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/ForHelpController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/LightPoleHeelingController.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/WaterQualityDataController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/WaterQualityEquipmentController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/BaseInvokeSyncService.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/mainboard/MainBoardInvokeSyncService.java 70 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/topic/ICustomizeTopic.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
dao/src/main/java/com/sandu/ximon/dao/domain/ForHelp.java
@@ -14,7 +14,7 @@
    //所属人
    private Long userId;
    //灯杆ID
    private String lightPoleId;
    private Long lightPoleId;
    //灯杆名称
    private String lightPoleName;
    //状态
dao/src/main/java/com/sandu/ximon/dao/domain/LightPoleHeeling.java
@@ -19,7 +19,7 @@
    //告警号
    private String warningNumber;
    //灯杆ID
    private String lightPoleId;
    private Long lightPoleId;
    //灯杆名称
    private String lightPoleName;
    //告警等级
dao/src/main/java/com/sandu/ximon/dao/domain/MidConnectionRelation.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,51 @@
package com.sandu.ximon.dao.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
/**
 * ä¸­é—´è”系表
 * @TableName mid_connection_relation
 */
@TableName(value ="mid_connection_relation")
@Data
public class MidConnectionRelation implements Serializable {
    /**
     *
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    /**
     * ç¯æ†ID
     */
    private Long lampId;
    /**
     * è®¾å¤‡ID
     */
    private Long equipmentId;
    /**
     * è®¾å¤‡åç§°
     */
    private String equipmentName;
    /**
     *
     */
    private LocalDateTime createTime;
    /**
     *
     */
    private LocalDateTime updataTime;
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}
dao/src/main/java/com/sandu/ximon/dao/mapper/MidConnectionRelationMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package com.sandu.ximon.dao.mapper;
import com.sandu.ximon.dao.domain.MidConnectionRelation;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
 * @Entity com.sandu.ximon.dao.domain.MidConnectionRelation
 */
@Mapper
public interface MidConnectionRelationMapper extends BaseMapper<MidConnectionRelation> {
}
dao/src/main/resources/mapper/ForHelpMapper.xml
@@ -7,7 +7,7 @@
    <resultMap id="BaseResultMap" type="com.sandu.ximon.dao.domain.ForHelp">
        <id property="id" column="id" jdbcType="BIGINT"/>
        <result property="userId" column="user_id" jdbcType="BIGINT"/>
        <result property="lightPoleId" column="light_pole_id" jdbcType="VARCHAR"/>
        <result property="lightPoleId" column="light_pole_id" jdbcType="BIGINT"/>
        <result property="lightPoleName" column="light_pole_name" jdbcType="VARCHAR"/>
        <result property="state" column="state" jdbcType="INTEGER"/>
        <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
dao/src/main/resources/mapper/LightPoleHeelingMapper.xml
@@ -7,7 +7,7 @@
        <id property="id" column="id" jdbcType="BIGINT"/>
        <result property="userId" column="user_id" jdbcType="BIGINT"/>
        <result property="warningNumber" column="warning_number" jdbcType="VARCHAR"/>
        <result property="lightPoleId" column="light_pole_id" jdbcType="VARCHAR"/>
        <result property="lightPoleId" column="light_pole_id" jdbcType="BIGINT"/>
        <result property="lightPoleName" column="light_pole_name" jdbcType="VARCHAR"/>
        <result property="warningLevel" column="warning_level" jdbcType="VARCHAR"/>
        <result property="theXAxis" column="the_x_axis" jdbcType="INTEGER"/>
dao/src/main/resources/mapper/MidConnectionRelationMapper.xml
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,16 @@
<?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.sandu.ximon.dao.mapper.MidConnectionRelationMapper">
    <resultMap id="BaseResultMap" type="com.sandu.ximon.dao.domain.MidConnectionRelation">
            <id property="id" column="id" jdbcType="BIGINT"/>
            <result property="lampId" column="lamp_id" jdbcType="BIGINT"/>
            <result property="equipmentId" column="equipment_id" jdbcType="BIGINT"/>
            <result property="equipmentName" column="equipment_name" jdbcType="VARCHAR"/>
            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
            <result property="updataTime" column="updata_time" jdbcType="TIMESTAMP"/>
    </resultMap>
</mapper>
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AirDataController.java
@@ -2,16 +2,16 @@
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.util.ResponseUtil;
import com.sandu.ximon.admin.param.MonitorParam;
import com.sandu.ximon.admin.service.AirDataService;
import com.sandu.ximon.admin.service.MonitorService;
import com.sandu.ximon.dao.domain.AirData;
import com.sandu.ximon.dao.domain.Monitor;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * å¤§æ°”数据
 */
@RestController
@AllArgsConstructor
@RequestMapping("/v1/admin/airdata")
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/AirEquipmentController.java
@@ -2,15 +2,16 @@
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.util.ResponseUtil;
import com.sandu.ximon.admin.service.AirDataService;
import com.sandu.ximon.admin.service.AirEquipmentService;
import com.sandu.ximon.dao.domain.AirData;
import com.sandu.ximon.dao.domain.AirEquipment;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * å¤§æ°”设备
 */
@RestController
@AllArgsConstructor
@RequestMapping("/v1/admin/airequipment")
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/BannerController.java
@@ -15,6 +15,9 @@
import java.util.List;
/**
 * è½®æ’­å›¾
 */
@RestController
@AllArgsConstructor
@RequestMapping("/v1/content/banner")
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/ForHelpController.java
@@ -3,14 +3,15 @@
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.util.ResponseUtil;
import com.sandu.ximon.admin.service.ForHelpService;
import com.sandu.ximon.admin.service.WaterQualityEquipmentService;
import com.sandu.ximon.dao.domain.ForHelp;
import com.sandu.ximon.dao.domain.WaterQualityEquipment;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * ä¸€é”®æ±‚助
 */
@RestController
@AllArgsConstructor
@RequestMapping("/v1/admin/forhelp")
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/LightPoleHeelingController.java
@@ -3,7 +3,6 @@
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.util.ResponseUtil;
import com.sandu.ximon.admin.service.LightPoleHeelingService;
import com.sandu.ximon.dao.domain.ForHelp;
import com.sandu.ximon.dao.domain.LightPoleHeeling;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
@@ -13,6 +12,9 @@
import java.util.List;
/**
 * ç¯æ†å€¾æ–œ
 */
@RestController
@AllArgsConstructor
@RequestMapping("/v1/admin/LightPoleHeeling")
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/MonitorController.java
@@ -10,6 +10,9 @@
import java.util.List;
/**
 * æ‘„像头
 */
@RestController
@AllArgsConstructor
@RequestMapping("/v1/admin/monitor")
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/WaterQualityDataController.java
@@ -2,9 +2,7 @@
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.util.ResponseUtil;
import com.sandu.ximon.admin.service.AirDataService;
import com.sandu.ximon.admin.service.WaterQualityDataService;
import com.sandu.ximon.dao.domain.AirData;
import com.sandu.ximon.dao.domain.WaterQualityData;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
@@ -14,6 +12,9 @@
import java.util.List;
/**
 * æ°´è´¨æ•°æ®
 */
@RestController
@AllArgsConstructor
@RequestMapping("/v1/admin/waterqualitydata")
ximon-admin/src/main/java/com/sandu/ximon/admin/controller/WaterQualityEquipmentController.java
@@ -2,15 +2,16 @@
import com.sandu.common.domain.ResponseVO;
import com.sandu.common.util.ResponseUtil;
import com.sandu.ximon.admin.service.AirEquipmentService;
import com.sandu.ximon.admin.service.WaterQualityEquipmentService;
import com.sandu.ximon.dao.domain.AirEquipment;
import com.sandu.ximon.dao.domain.WaterQualityEquipment;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * æ°´è´¨è®¾å¤‡
 */
@RestController
@AllArgsConstructor
@RequestMapping("/v1/admin/waterqualityequipment")
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/BaseInvokeSyncService.java
@@ -13,8 +13,11 @@
import com.sandu.ximon.admin.manager.iot.rrpc.dto.WrapResponseCommonFrame;
import com.sandu.ximon.admin.manager.iot.rrpc.topic.IBaseTopic;
import com.sandu.ximon.admin.manager.iot.rrpc.topic.ICustomizeTopic;
import com.sandu.ximon.admin.manager.iot.rrpc.util.FrameUtils;
import org.springframework.beans.BeanUtils;
import java.util.List;
import java.util.Map;
/**
 * @author chenjiantian
@@ -30,7 +33,37 @@
     * @param clz           å†…部帧响应实体类 å¦‚果不想自己解析 å¯å¸¦ä¸Š
     * @return è¿”回的解码帧实体类 åŒæ—¶æŠŠå†…部帧解码之后也携带上
     */
    public abstract <T extends BaseResponseInnerFrame<T>> WrapResponseCommonFrame<T> sendRRPC(String deviceName, IRequestFrame iRequestFrame, Class<T> clz);
    public <T extends BaseResponseInnerFrame<T>> WrapResponseCommonFrame<T> sendRRPC(String deviceName, IRequestFrame iRequestFrame, Class<T> clz){
        CommonFrame commonFrame = sendRRPC(deviceName, iRequestFrame);
        if (commonFrame == null) {
            throw new BusinessException("rrpc请求失败");
        }
        WrapResponseCommonFrame<T> responseCommonFrame = new WrapResponseCommonFrame<>();
        BeanUtils.copyProperties(commonFrame, responseCommonFrame);
        try {
            responseCommonFrame.setResponseInnerFrame(clz.newInstance().transformFrame(responseCommonFrame.getPayload()));
        } catch (InstantiationException | IllegalAccessException e) {
            throw new BusinessException(String.format("找不到%s的构造函数", clz.getName()));
        }
        return responseCommonFrame;
    }
    @Override
    public CommonFrame sendRRPC(String deviceName, IRequestFrame iRequestFrame) {
        InvokeParam param = new InvokeParam();
        param.setOperate("1001");
        param.setFrame(iRequestFrame.getEncodeFrame());
        InvokeThingServiceResponse.Data data = invokeThing(deviceName, param);
        if (data == null) {
            return null;
        }
        String result = data.getResult();
        result = result.replace("\\", "");
        Map map = JSON.parseObject(result, Map.class);
        result = (String) map.get("msg");
        CommonFrame connectFrame = FrameUtils.transformMessageToFrame(result);
        return connectFrame;
    }
    /**
     * åŸºç¡€é€šä¿¡åŒæ­¥è°ƒç”¨
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/mainboard/MainBoardInvokeSyncService.java
@@ -33,49 +33,45 @@
        return PRODUCT_KEY;
    }
    @Override
    public CommonFrame sendRRPC(String deviceName, IRequestFrame iRequestFrame) {
        InvokeParam param = new InvokeParam();
        param.setOperate("1001");
        param.setFrame(iRequestFrame.getEncodeFrame());
        InvokeThingServiceResponse.Data data = invokeThing(deviceName, param);
        if (data == null) {
            return null;
        }
        String result = data.getResult();
        result = result.replace("\\", "");
        Map map = JSON.parseObject(result, Map.class);
        result = (String) map.get("msg");
        CommonFrame connectFrame = FrameUtils.transformMessageToFrame(result);
        return connectFrame;
    }
//    @Override
//    public CommonFrame sendRRPC(String deviceName, IRequestFrame iRequestFrame) {
//        InvokeParam param = new InvokeParam();
//        param.setOperate("1001");
//        param.setFrame(iRequestFrame.getEncodeFrame());
//        InvokeThingServiceResponse.Data data = invokeThing(deviceName, param);
//        if (data == null) {
//            return null;
//        }
//        String result = data.getResult();
//        result = result.replace("\\", "");
//        Map map = JSON.parseObject(result, Map.class);
//        result = (String) map.get("msg");
//        CommonFrame connectFrame = FrameUtils.transformMessageToFrame(result);
//        return connectFrame;
//    }
//
//    @Override
//    public <T extends BaseResponseInnerFrame<T>> WrapResponseCommonFrame<T> sendRRPC(String deviceName, IRequestFrame iRequestFrame, Class<T> clz) {
//        CommonFrame commonFrame = sendRRPC(deviceName, iRequestFrame);
//        if (commonFrame == null) {
//            throw new BusinessException("rrpc请求失败");
//        }
//        WrapResponseCommonFrame<T> responseCommonFrame = new WrapResponseCommonFrame<>();
//        BeanUtils.copyProperties(commonFrame, responseCommonFrame);
//        try {
//            responseCommonFrame.setResponseInnerFrame(clz.newInstance().transformFrame(responseCommonFrame.getPayload()));
//        } catch (InstantiationException | IllegalAccessException e) {
//            throw new BusinessException(String.format("找不到%s的构造函数", clz.getName()));
//        }
//        return responseCommonFrame;
//    }
    @Override
    public <T extends BaseResponseInnerFrame<T>> WrapResponseCommonFrame<T> sendRRPC(String deviceName, IRequestFrame iRequestFrame, Class<T> clz) {
        CommonFrame commonFrame = sendRRPC(deviceName, iRequestFrame);
        if (commonFrame == null) {
            throw new BusinessException("rrpc请求失败");
        }
        WrapResponseCommonFrame<T> responseCommonFrame = new WrapResponseCommonFrame<>();
        BeanUtils.copyProperties(commonFrame, responseCommonFrame);
        try {
            responseCommonFrame.setResponseInnerFrame(clz.newInstance().transformFrame(responseCommonFrame.getPayload()));
        } catch (InstantiationException | IllegalAccessException e) {
            throw new BusinessException(String.format("找不到%s的构造函数", clz.getName()));
        }
        return responseCommonFrame;
    }
    public static void main(String[] args) {
        String s = "FEA581000BFE010003FFFF004597147735AB2D28";
        System.out.println(FrameUtils.decodeReportMessage(s));
    }
    private static class SingletonClassInstance {
        private static final MainBoardInvokeSyncService INSTANCE = new MainBoardInvokeSyncService();
    }
    private MainBoardInvokeSyncService() {
    protected MainBoardInvokeSyncService() {
    }
    public static MainBoardInvokeSyncService getInstance() {
ximon-admin/src/main/java/com/sandu/ximon/admin/manager/iot/rrpc/topic/ICustomizeTopic.java
@@ -2,8 +2,10 @@
import com.aliyuncs.iot.model.v20180120.InvokeThingServiceResponse;
import com.sandu.ximon.admin.manager.iot.frame.IRequestFrame;
import com.sandu.ximon.admin.manager.iot.frame.inner.BaseResponseInnerFrame;
import com.sandu.ximon.admin.manager.iot.rrpc.dto.CommonFrame;
import com.sandu.ximon.admin.manager.iot.rrpc.dto.InvokeParam;
import com.sandu.ximon.admin.manager.iot.rrpc.dto.WrapResponseCommonFrame;
/**
 * @author chenjiantian
@@ -27,4 +29,5 @@
     * @return è¿”回的解码帧实体类
     */
    CommonFrame sendRRPC(String deviceName, IRequestFrame iRequestFrame);
}