diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java index 8810f65..917d069 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; import org.apache.ibatis.annotations.Param; @@ -20,7 +20,7 @@ public interface BusConfigMapper extends BaseMapper { List listPage(@Param("page") Page page, - @Param("request") BusConfigDTO request, + @Param("request") BusConfigRequest request, @Param("dataScope") DataScope dataScope); List findConfigListToBeSend(@Param("deviceId") Long deviceId); diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java index 8810f65..917d069 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; import org.apache.ibatis.annotations.Param; @@ -20,7 +20,7 @@ public interface BusConfigMapper extends BaseMapper { List listPage(@Param("page") Page page, - @Param("request") BusConfigDTO request, + @Param("request") BusConfigRequest request, @Param("dataScope") DataScope dataScope); List findConfigListToBeSend(@Param("deviceId") Long deviceId); diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java index 383ed59..afae1d1 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -1,8 +1,15 @@ package com.casic.missiles.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -11,4 +18,9 @@ */ public interface DeviceBizDataMapper extends BaseMapper { + List listPageBizData(@Param("page") Page page, + @Param("request") DeviceBizDataRequest request, + @Param("dataScope") DataScope dataScope); + + DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java index 8810f65..917d069 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; import org.apache.ibatis.annotations.Param; @@ -20,7 +20,7 @@ public interface BusConfigMapper extends BaseMapper { List listPage(@Param("page") Page page, - @Param("request") BusConfigDTO request, + @Param("request") BusConfigRequest request, @Param("dataScope") DataScope dataScope); List findConfigListToBeSend(@Param("deviceId") Long deviceId); diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java index 383ed59..afae1d1 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -1,8 +1,15 @@ package com.casic.missiles.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -11,4 +18,9 @@ */ public interface DeviceBizDataMapper extends BaseMapper { + List listPageBizData(@Param("page") Page page, + @Param("request") DeviceBizDataRequest request, + @Param("dataScope") DataScope dataScope); + + DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java index 134e4d8..5db8e56 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java @@ -25,10 +25,4 @@ List listPage(@Param("page") Page page, @Param("request")DeviceDataListRequest request, @Param("dataScope") DataScope dataScope); - - List listPageBizData(@Param("page") Page page, - @Param("request") DeviceBizDataRequest request, - @Param("dataScope") DataScope dataScope); - DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); - } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java index 8810f65..917d069 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; import org.apache.ibatis.annotations.Param; @@ -20,7 +20,7 @@ public interface BusConfigMapper extends BaseMapper { List listPage(@Param("page") Page page, - @Param("request") BusConfigDTO request, + @Param("request") BusConfigRequest request, @Param("dataScope") DataScope dataScope); List findConfigListToBeSend(@Param("deviceId") Long deviceId); diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java index 383ed59..afae1d1 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -1,8 +1,15 @@ package com.casic.missiles.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -11,4 +18,9 @@ */ public interface DeviceBizDataMapper extends BaseMapper { + List listPageBizData(@Param("page") Page page, + @Param("request") DeviceBizDataRequest request, + @Param("dataScope") DataScope dataScope); + + DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java index 134e4d8..5db8e56 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java @@ -25,10 +25,4 @@ List listPage(@Param("page") Page page, @Param("request")DeviceDataListRequest request, @Param("dataScope") DataScope dataScope); - - List listPageBizData(@Param("page") Page page, - @Param("request") DeviceBizDataRequest request, - @Param("dataScope") DataScope dataScope); - DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); - } diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml index 4f11813..c03699d 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -18,9 +18,87 @@ + + ${paramStr} + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi:ss')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + + DATA_FORMAT(#{column}, '%Y-m%-d% H%:i%:s%') + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + + + + diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java index 8810f65..917d069 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; import org.apache.ibatis.annotations.Param; @@ -20,7 +20,7 @@ public interface BusConfigMapper extends BaseMapper { List listPage(@Param("page") Page page, - @Param("request") BusConfigDTO request, + @Param("request") BusConfigRequest request, @Param("dataScope") DataScope dataScope); List findConfigListToBeSend(@Param("deviceId") Long deviceId); diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java index 383ed59..afae1d1 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -1,8 +1,15 @@ package com.casic.missiles.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -11,4 +18,9 @@ */ public interface DeviceBizDataMapper extends BaseMapper { + List listPageBizData(@Param("page") Page page, + @Param("request") DeviceBizDataRequest request, + @Param("dataScope") DataScope dataScope); + + DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java index 134e4d8..5db8e56 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java @@ -25,10 +25,4 @@ List listPage(@Param("page") Page page, @Param("request")DeviceDataListRequest request, @Param("dataScope") DataScope dataScope); - - List listPageBizData(@Param("page") Page page, - @Param("request") DeviceBizDataRequest request, - @Param("dataScope") DataScope dataScope); - DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); - } diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml index 4f11813..c03699d 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -18,9 +18,87 @@ + + ${paramStr} + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi:ss')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + + DATA_FORMAT(#{column}, '%Y-m%-d% H%:i%:s%') + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml index 07096d0..a43c552 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml @@ -36,10 +36,6 @@ id, devcode, device_type, cell, data_json, decrypt_before_data, decrypt_after_data, uptime, logtime - - id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime - - - - - - - - diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java index 8810f65..917d069 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; import org.apache.ibatis.annotations.Param; @@ -20,7 +20,7 @@ public interface BusConfigMapper extends BaseMapper { List listPage(@Param("page") Page page, - @Param("request") BusConfigDTO request, + @Param("request") BusConfigRequest request, @Param("dataScope") DataScope dataScope); List findConfigListToBeSend(@Param("deviceId") Long deviceId); diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java index 383ed59..afae1d1 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -1,8 +1,15 @@ package com.casic.missiles.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -11,4 +18,9 @@ */ public interface DeviceBizDataMapper extends BaseMapper { + List listPageBizData(@Param("page") Page page, + @Param("request") DeviceBizDataRequest request, + @Param("dataScope") DataScope dataScope); + + DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java index 134e4d8..5db8e56 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java @@ -25,10 +25,4 @@ List listPage(@Param("page") Page page, @Param("request")DeviceDataListRequest request, @Param("dataScope") DataScope dataScope); - - List listPageBizData(@Param("page") Page page, - @Param("request") DeviceBizDataRequest request, - @Param("dataScope") DataScope dataScope); - DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); - } diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml index 4f11813..c03699d 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -18,9 +18,87 @@ + + ${paramStr} + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi:ss')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + + DATA_FORMAT(#{column}, '%Y-m%-d% H%:i%:s%') + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml index 07096d0..a43c552 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml @@ -36,10 +36,6 @@ id, devcode, device_type, cell, data_json, decrypt_before_data, decrypt_after_data, uptime, logtime - - id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime - - - - - - - - diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java deleted file mode 100644 index b9c5b5c..0000000 --- a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.dto.config; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class BusConfigDTO { - - @ApiModelProperty(value = "配置类型", dataType = "Integer") - private Integer configType; - - @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") - private String devcode; - - @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") - private Integer status; - - @ApiModelProperty(value = "开始时间", dataType = "Integer") - private String beginTime; - - @ApiModelProperty(value = "结束时间", dataType = "Integer") - private String endTime; - -} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java index 8810f65..917d069 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; import org.apache.ibatis.annotations.Param; @@ -20,7 +20,7 @@ public interface BusConfigMapper extends BaseMapper { List listPage(@Param("page") Page page, - @Param("request") BusConfigDTO request, + @Param("request") BusConfigRequest request, @Param("dataScope") DataScope dataScope); List findConfigListToBeSend(@Param("deviceId") Long deviceId); diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java index 383ed59..afae1d1 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -1,8 +1,15 @@ package com.casic.missiles.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -11,4 +18,9 @@ */ public interface DeviceBizDataMapper extends BaseMapper { + List listPageBizData(@Param("page") Page page, + @Param("request") DeviceBizDataRequest request, + @Param("dataScope") DataScope dataScope); + + DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java index 134e4d8..5db8e56 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java @@ -25,10 +25,4 @@ List listPage(@Param("page") Page page, @Param("request")DeviceDataListRequest request, @Param("dataScope") DataScope dataScope); - - List listPageBizData(@Param("page") Page page, - @Param("request") DeviceBizDataRequest request, - @Param("dataScope") DataScope dataScope); - DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); - } diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml index 4f11813..c03699d 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -18,9 +18,87 @@ + + ${paramStr} + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi:ss')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + + DATA_FORMAT(#{column}, '%Y-m%-d% H%:i%:s%') + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml index 07096d0..a43c552 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml @@ -36,10 +36,6 @@ id, devcode, device_type, cell, data_json, decrypt_before_data, decrypt_after_data, uptime, logtime - - id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime - - - - - - - - diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java deleted file mode 100644 index b9c5b5c..0000000 --- a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.dto.config; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class BusConfigDTO { - - @ApiModelProperty(value = "配置类型", dataType = "Integer") - private Integer configType; - - @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") - private String devcode; - - @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") - private Integer status; - - @ApiModelProperty(value = "开始时间", dataType = "Integer") - private String beginTime; - - @ApiModelProperty(value = "结束时间", dataType = "Integer") - private String endTime; - -} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java new file mode 100644 index 0000000..31fb57e --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.config; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class BusConfigRequest { + + @ApiModelProperty(value = "配置类型", dataType = "Integer") + private Integer configType; + + @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") + private String devcode; + + @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") + private Integer status; + + @ApiModelProperty(value = "开始时间", dataType = "Integer") + private String beginTime; + + @ApiModelProperty(value = "结束时间", dataType = "Integer") + private String endTime; + +} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java index 8810f65..917d069 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; import org.apache.ibatis.annotations.Param; @@ -20,7 +20,7 @@ public interface BusConfigMapper extends BaseMapper { List listPage(@Param("page") Page page, - @Param("request") BusConfigDTO request, + @Param("request") BusConfigRequest request, @Param("dataScope") DataScope dataScope); List findConfigListToBeSend(@Param("deviceId") Long deviceId); diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java index 383ed59..afae1d1 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -1,8 +1,15 @@ package com.casic.missiles.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -11,4 +18,9 @@ */ public interface DeviceBizDataMapper extends BaseMapper { + List listPageBizData(@Param("page") Page page, + @Param("request") DeviceBizDataRequest request, + @Param("dataScope") DataScope dataScope); + + DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java index 134e4d8..5db8e56 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java @@ -25,10 +25,4 @@ List listPage(@Param("page") Page page, @Param("request")DeviceDataListRequest request, @Param("dataScope") DataScope dataScope); - - List listPageBizData(@Param("page") Page page, - @Param("request") DeviceBizDataRequest request, - @Param("dataScope") DataScope dataScope); - DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); - } diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml index 4f11813..c03699d 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -18,9 +18,87 @@ + + ${paramStr} + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi:ss')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + + DATA_FORMAT(#{column}, '%Y-m%-d% H%:i%:s%') + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml index 07096d0..a43c552 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml @@ -36,10 +36,6 @@ id, devcode, device_type, cell, data_json, decrypt_before_data, decrypt_after_data, uptime, logtime - - id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime - - - - - - - - diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java deleted file mode 100644 index b9c5b5c..0000000 --- a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.dto.config; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class BusConfigDTO { - - @ApiModelProperty(value = "配置类型", dataType = "Integer") - private Integer configType; - - @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") - private String devcode; - - @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") - private Integer status; - - @ApiModelProperty(value = "开始时间", dataType = "Integer") - private String beginTime; - - @ApiModelProperty(value = "结束时间", dataType = "Integer") - private String endTime; - -} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java new file mode 100644 index 0000000..31fb57e --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.config; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class BusConfigRequest { + + @ApiModelProperty(value = "配置类型", dataType = "Integer") + private Integer configType; + + @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") + private String devcode; + + @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") + private Integer status; + + @ApiModelProperty(value = "开始时间", dataType = "Integer") + private String beginTime; + + @ApiModelProperty(value = "结束时间", dataType = "Integer") + private String endTime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java new file mode 100644 index 0000000..51a2007 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java @@ -0,0 +1,57 @@ +package com.casic.missiles.dto.config; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; + +@Data +@ApiModel +public class DeviceConfigDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @TableField("device_id") + @ApiModelProperty(value = "设备id", dataType = "Long") + private Long deviceId; + + /** + * 设备编号 + */ + @TableField("devCode") + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCode; + + /** + * 下发配置内容 + */ + @TableField("config_json") + @ApiModelProperty(value = "[{\"repeat\":\"重传次数\"},{\"lowerLimit\":\"低报\"},{\"upperLimit\":\"高报\"},{\"interval\":\"采集时间\"},{\"period\":\"上传周期\"},{\"ip\":\"\"},{\"port\":\"\"}]", dataType = "String") + private String configJson; + + @TableField(exist = false) + @ApiModelProperty(value = "配置项", dataType = "List") + private List> configItemList; + + + @TableField("logtime") + @ApiModelProperty(value = "上传时间", dataType = "String") + private String logtime; + + /** + * 编号 + */ + @TableField("frame_log_id") + @ApiModelProperty(value = "上传数据日志ID", dataType = "Long") + private Long frameLogId; + +} diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java index 8810f65..917d069 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; import org.apache.ibatis.annotations.Param; @@ -20,7 +20,7 @@ public interface BusConfigMapper extends BaseMapper { List listPage(@Param("page") Page page, - @Param("request") BusConfigDTO request, + @Param("request") BusConfigRequest request, @Param("dataScope") DataScope dataScope); List findConfigListToBeSend(@Param("deviceId") Long deviceId); diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java index 383ed59..afae1d1 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -1,8 +1,15 @@ package com.casic.missiles.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -11,4 +18,9 @@ */ public interface DeviceBizDataMapper extends BaseMapper { + List listPageBizData(@Param("page") Page page, + @Param("request") DeviceBizDataRequest request, + @Param("dataScope") DataScope dataScope); + + DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java index 134e4d8..5db8e56 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java @@ -25,10 +25,4 @@ List listPage(@Param("page") Page page, @Param("request")DeviceDataListRequest request, @Param("dataScope") DataScope dataScope); - - List listPageBizData(@Param("page") Page page, - @Param("request") DeviceBizDataRequest request, - @Param("dataScope") DataScope dataScope); - DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); - } diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml index 4f11813..c03699d 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -18,9 +18,87 @@ + + ${paramStr} + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi:ss')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + + DATA_FORMAT(#{column}, '%Y-m%-d% H%:i%:s%') + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml index 07096d0..a43c552 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml @@ -36,10 +36,6 @@ id, devcode, device_type, cell, data_json, decrypt_before_data, decrypt_after_data, uptime, logtime - - id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime - - - - - - - - diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java deleted file mode 100644 index b9c5b5c..0000000 --- a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.dto.config; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class BusConfigDTO { - - @ApiModelProperty(value = "配置类型", dataType = "Integer") - private Integer configType; - - @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") - private String devcode; - - @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") - private Integer status; - - @ApiModelProperty(value = "开始时间", dataType = "Integer") - private String beginTime; - - @ApiModelProperty(value = "结束时间", dataType = "Integer") - private String endTime; - -} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java new file mode 100644 index 0000000..31fb57e --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.config; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class BusConfigRequest { + + @ApiModelProperty(value = "配置类型", dataType = "Integer") + private Integer configType; + + @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") + private String devcode; + + @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") + private Integer status; + + @ApiModelProperty(value = "开始时间", dataType = "Integer") + private String beginTime; + + @ApiModelProperty(value = "结束时间", dataType = "Integer") + private String endTime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java new file mode 100644 index 0000000..51a2007 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java @@ -0,0 +1,57 @@ +package com.casic.missiles.dto.config; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; + +@Data +@ApiModel +public class DeviceConfigDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @TableField("device_id") + @ApiModelProperty(value = "设备id", dataType = "Long") + private Long deviceId; + + /** + * 设备编号 + */ + @TableField("devCode") + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCode; + + /** + * 下发配置内容 + */ + @TableField("config_json") + @ApiModelProperty(value = "[{\"repeat\":\"重传次数\"},{\"lowerLimit\":\"低报\"},{\"upperLimit\":\"高报\"},{\"interval\":\"采集时间\"},{\"period\":\"上传周期\"},{\"ip\":\"\"},{\"port\":\"\"}]", dataType = "String") + private String configJson; + + @TableField(exist = false) + @ApiModelProperty(value = "配置项", dataType = "List") + private List> configItemList; + + + @TableField("logtime") + @ApiModelProperty(value = "上传时间", dataType = "String") + private String logtime; + + /** + * 编号 + */ + @TableField("frame_log_id") + @ApiModelProperty(value = "上传数据日志ID", dataType = "Long") + private Long frameLogId; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java index b508cef..509cda9 100644 --- a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java @@ -1,19 +1,24 @@ package com.casic.missiles.model; +import com.alibaba.druid.sql.ast.statement.SQLForeignKeyImpl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.enums.DictCodeEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.Getter; -import lombok.Setter; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** *

@@ -63,4 +68,29 @@ @TableField("frame_log_id") private Long frameLogId; + public DeviceConfigDTO convertToDTO() { + DeviceConfigDTO dto = new DeviceConfigDTO(); + dto.setDeviceId(deviceId); + dto.setDevCode(devCode); + dto.setFrameLogId(frameLogId); + dto.setConfigJson(configJson); + dto.setLogtime(logtime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + + List> configItemList = new ArrayList<>(); + JSONArray array = JSONArray.parseArray(configJson); + int i = 0; + for (Object item : array) { + JSONObject obj = (JSONObject) item; + Map config = new HashMap<>(); + for (String key : obj.keySet()) { + config.put("idx", i++); + config.put("cmd", key); + config.put("value", obj.get(key)); + } + configItemList.add(config); + } + dto.setConfigItemList(configItemList); + + return dto; + } } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java index 8810f65..917d069 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; import org.apache.ibatis.annotations.Param; @@ -20,7 +20,7 @@ public interface BusConfigMapper extends BaseMapper { List listPage(@Param("page") Page page, - @Param("request") BusConfigDTO request, + @Param("request") BusConfigRequest request, @Param("dataScope") DataScope dataScope); List findConfigListToBeSend(@Param("deviceId") Long deviceId); diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java index 383ed59..afae1d1 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -1,8 +1,15 @@ package com.casic.missiles.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -11,4 +18,9 @@ */ public interface DeviceBizDataMapper extends BaseMapper { + List listPageBizData(@Param("page") Page page, + @Param("request") DeviceBizDataRequest request, + @Param("dataScope") DataScope dataScope); + + DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java index 134e4d8..5db8e56 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java @@ -25,10 +25,4 @@ List listPage(@Param("page") Page page, @Param("request")DeviceDataListRequest request, @Param("dataScope") DataScope dataScope); - - List listPageBizData(@Param("page") Page page, - @Param("request") DeviceBizDataRequest request, - @Param("dataScope") DataScope dataScope); - DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); - } diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml index 4f11813..c03699d 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -18,9 +18,87 @@ + + ${paramStr} + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi:ss')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + + DATA_FORMAT(#{column}, '%Y-m%-d% H%:i%:s%') + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml index 07096d0..a43c552 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml @@ -36,10 +36,6 @@ id, devcode, device_type, cell, data_json, decrypt_before_data, decrypt_after_data, uptime, logtime - - id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime - - - - - - - - diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java deleted file mode 100644 index b9c5b5c..0000000 --- a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.dto.config; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class BusConfigDTO { - - @ApiModelProperty(value = "配置类型", dataType = "Integer") - private Integer configType; - - @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") - private String devcode; - - @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") - private Integer status; - - @ApiModelProperty(value = "开始时间", dataType = "Integer") - private String beginTime; - - @ApiModelProperty(value = "结束时间", dataType = "Integer") - private String endTime; - -} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java new file mode 100644 index 0000000..31fb57e --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.config; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class BusConfigRequest { + + @ApiModelProperty(value = "配置类型", dataType = "Integer") + private Integer configType; + + @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") + private String devcode; + + @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") + private Integer status; + + @ApiModelProperty(value = "开始时间", dataType = "Integer") + private String beginTime; + + @ApiModelProperty(value = "结束时间", dataType = "Integer") + private String endTime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java new file mode 100644 index 0000000..51a2007 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java @@ -0,0 +1,57 @@ +package com.casic.missiles.dto.config; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; + +@Data +@ApiModel +public class DeviceConfigDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @TableField("device_id") + @ApiModelProperty(value = "设备id", dataType = "Long") + private Long deviceId; + + /** + * 设备编号 + */ + @TableField("devCode") + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCode; + + /** + * 下发配置内容 + */ + @TableField("config_json") + @ApiModelProperty(value = "[{\"repeat\":\"重传次数\"},{\"lowerLimit\":\"低报\"},{\"upperLimit\":\"高报\"},{\"interval\":\"采集时间\"},{\"period\":\"上传周期\"},{\"ip\":\"\"},{\"port\":\"\"}]", dataType = "String") + private String configJson; + + @TableField(exist = false) + @ApiModelProperty(value = "配置项", dataType = "List") + private List> configItemList; + + + @TableField("logtime") + @ApiModelProperty(value = "上传时间", dataType = "String") + private String logtime; + + /** + * 编号 + */ + @TableField("frame_log_id") + @ApiModelProperty(value = "上传数据日志ID", dataType = "Long") + private Long frameLogId; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java index b508cef..509cda9 100644 --- a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java @@ -1,19 +1,24 @@ package com.casic.missiles.model; +import com.alibaba.druid.sql.ast.statement.SQLForeignKeyImpl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.enums.DictCodeEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.Getter; -import lombok.Setter; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** *

@@ -63,4 +68,29 @@ @TableField("frame_log_id") private Long frameLogId; + public DeviceConfigDTO convertToDTO() { + DeviceConfigDTO dto = new DeviceConfigDTO(); + dto.setDeviceId(deviceId); + dto.setDevCode(devCode); + dto.setFrameLogId(frameLogId); + dto.setConfigJson(configJson); + dto.setLogtime(logtime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + + List> configItemList = new ArrayList<>(); + JSONArray array = JSONArray.parseArray(configJson); + int i = 0; + for (Object item : array) { + JSONObject obj = (JSONObject) item; + Map config = new HashMap<>(); + for (String key : obj.keySet()) { + config.put("idx", i++); + config.put("cmd", key); + config.put("value", obj.get(key)); + } + configItemList.add(config); + } + dto.setConfigItemList(configItemList); + + return dto; + } } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java index 7fae695..720bb30 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java @@ -4,10 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -21,7 +19,7 @@ */ public interface IBusConfigService extends IService { - Page listPage(Page page, BusConfigDTO busConfigDTO, DataScope dataScope) throws Exception ; + Page listPage(Page page, BusConfigRequest busConfigRequest, DataScope dataScope) throws Exception ; ReturnDTO addBusConfig(BusConfig busConfig); diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java index 8810f65..917d069 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; import org.apache.ibatis.annotations.Param; @@ -20,7 +20,7 @@ public interface BusConfigMapper extends BaseMapper { List listPage(@Param("page") Page page, - @Param("request") BusConfigDTO request, + @Param("request") BusConfigRequest request, @Param("dataScope") DataScope dataScope); List findConfigListToBeSend(@Param("deviceId") Long deviceId); diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java index 383ed59..afae1d1 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -1,8 +1,15 @@ package com.casic.missiles.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -11,4 +18,9 @@ */ public interface DeviceBizDataMapper extends BaseMapper { + List listPageBizData(@Param("page") Page page, + @Param("request") DeviceBizDataRequest request, + @Param("dataScope") DataScope dataScope); + + DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java index 134e4d8..5db8e56 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java @@ -25,10 +25,4 @@ List listPage(@Param("page") Page page, @Param("request")DeviceDataListRequest request, @Param("dataScope") DataScope dataScope); - - List listPageBizData(@Param("page") Page page, - @Param("request") DeviceBizDataRequest request, - @Param("dataScope") DataScope dataScope); - DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); - } diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml index 4f11813..c03699d 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -18,9 +18,87 @@ + + ${paramStr} + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi:ss')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + + DATA_FORMAT(#{column}, '%Y-m%-d% H%:i%:s%') + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml index 07096d0..a43c552 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml @@ -36,10 +36,6 @@ id, devcode, device_type, cell, data_json, decrypt_before_data, decrypt_after_data, uptime, logtime - - id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime - - - - - - - - diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java deleted file mode 100644 index b9c5b5c..0000000 --- a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.dto.config; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class BusConfigDTO { - - @ApiModelProperty(value = "配置类型", dataType = "Integer") - private Integer configType; - - @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") - private String devcode; - - @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") - private Integer status; - - @ApiModelProperty(value = "开始时间", dataType = "Integer") - private String beginTime; - - @ApiModelProperty(value = "结束时间", dataType = "Integer") - private String endTime; - -} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java new file mode 100644 index 0000000..31fb57e --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.config; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class BusConfigRequest { + + @ApiModelProperty(value = "配置类型", dataType = "Integer") + private Integer configType; + + @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") + private String devcode; + + @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") + private Integer status; + + @ApiModelProperty(value = "开始时间", dataType = "Integer") + private String beginTime; + + @ApiModelProperty(value = "结束时间", dataType = "Integer") + private String endTime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java new file mode 100644 index 0000000..51a2007 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java @@ -0,0 +1,57 @@ +package com.casic.missiles.dto.config; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; + +@Data +@ApiModel +public class DeviceConfigDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @TableField("device_id") + @ApiModelProperty(value = "设备id", dataType = "Long") + private Long deviceId; + + /** + * 设备编号 + */ + @TableField("devCode") + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCode; + + /** + * 下发配置内容 + */ + @TableField("config_json") + @ApiModelProperty(value = "[{\"repeat\":\"重传次数\"},{\"lowerLimit\":\"低报\"},{\"upperLimit\":\"高报\"},{\"interval\":\"采集时间\"},{\"period\":\"上传周期\"},{\"ip\":\"\"},{\"port\":\"\"}]", dataType = "String") + private String configJson; + + @TableField(exist = false) + @ApiModelProperty(value = "配置项", dataType = "List") + private List> configItemList; + + + @TableField("logtime") + @ApiModelProperty(value = "上传时间", dataType = "String") + private String logtime; + + /** + * 编号 + */ + @TableField("frame_log_id") + @ApiModelProperty(value = "上传数据日志ID", dataType = "Long") + private Long frameLogId; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java index b508cef..509cda9 100644 --- a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java @@ -1,19 +1,24 @@ package com.casic.missiles.model; +import com.alibaba.druid.sql.ast.statement.SQLForeignKeyImpl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.enums.DictCodeEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.Getter; -import lombok.Setter; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** *

@@ -63,4 +68,29 @@ @TableField("frame_log_id") private Long frameLogId; + public DeviceConfigDTO convertToDTO() { + DeviceConfigDTO dto = new DeviceConfigDTO(); + dto.setDeviceId(deviceId); + dto.setDevCode(devCode); + dto.setFrameLogId(frameLogId); + dto.setConfigJson(configJson); + dto.setLogtime(logtime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + + List> configItemList = new ArrayList<>(); + JSONArray array = JSONArray.parseArray(configJson); + int i = 0; + for (Object item : array) { + JSONObject obj = (JSONObject) item; + Map config = new HashMap<>(); + for (String key : obj.keySet()) { + config.put("idx", i++); + config.put("cmd", key); + config.put("value", obj.get(key)); + } + configItemList.add(config); + } + dto.setConfigItemList(configItemList); + + return dto; + } } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java index 7fae695..720bb30 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java @@ -4,10 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -21,7 +19,7 @@ */ public interface IBusConfigService extends IService { - Page listPage(Page page, BusConfigDTO busConfigDTO, DataScope dataScope) throws Exception ; + Page listPage(Page page, BusConfigRequest busConfigRequest, DataScope dataScope) throws Exception ; ReturnDTO addBusConfig(BusConfig busConfig); diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java index 700de62..4f5029e 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java @@ -1,6 +1,10 @@ package com.casic.missiles.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; /** @@ -13,4 +17,7 @@ */ public interface IDeviceBizDataService extends IService { + Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception; + + DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception; } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java index 8810f65..917d069 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; import org.apache.ibatis.annotations.Param; @@ -20,7 +20,7 @@ public interface BusConfigMapper extends BaseMapper { List listPage(@Param("page") Page page, - @Param("request") BusConfigDTO request, + @Param("request") BusConfigRequest request, @Param("dataScope") DataScope dataScope); List findConfigListToBeSend(@Param("deviceId") Long deviceId); diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java index 383ed59..afae1d1 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -1,8 +1,15 @@ package com.casic.missiles.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -11,4 +18,9 @@ */ public interface DeviceBizDataMapper extends BaseMapper { + List listPageBizData(@Param("page") Page page, + @Param("request") DeviceBizDataRequest request, + @Param("dataScope") DataScope dataScope); + + DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java index 134e4d8..5db8e56 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java @@ -25,10 +25,4 @@ List listPage(@Param("page") Page page, @Param("request")DeviceDataListRequest request, @Param("dataScope") DataScope dataScope); - - List listPageBizData(@Param("page") Page page, - @Param("request") DeviceBizDataRequest request, - @Param("dataScope") DataScope dataScope); - DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); - } diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml index 4f11813..c03699d 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -18,9 +18,87 @@ + + ${paramStr} + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi:ss')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + + DATA_FORMAT(#{column}, '%Y-m%-d% H%:i%:s%') + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml index 07096d0..a43c552 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml @@ -36,10 +36,6 @@ id, devcode, device_type, cell, data_json, decrypt_before_data, decrypt_after_data, uptime, logtime - - id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime - - - - - - - - diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java deleted file mode 100644 index b9c5b5c..0000000 --- a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.dto.config; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class BusConfigDTO { - - @ApiModelProperty(value = "配置类型", dataType = "Integer") - private Integer configType; - - @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") - private String devcode; - - @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") - private Integer status; - - @ApiModelProperty(value = "开始时间", dataType = "Integer") - private String beginTime; - - @ApiModelProperty(value = "结束时间", dataType = "Integer") - private String endTime; - -} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java new file mode 100644 index 0000000..31fb57e --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.config; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class BusConfigRequest { + + @ApiModelProperty(value = "配置类型", dataType = "Integer") + private Integer configType; + + @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") + private String devcode; + + @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") + private Integer status; + + @ApiModelProperty(value = "开始时间", dataType = "Integer") + private String beginTime; + + @ApiModelProperty(value = "结束时间", dataType = "Integer") + private String endTime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java new file mode 100644 index 0000000..51a2007 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java @@ -0,0 +1,57 @@ +package com.casic.missiles.dto.config; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; + +@Data +@ApiModel +public class DeviceConfigDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @TableField("device_id") + @ApiModelProperty(value = "设备id", dataType = "Long") + private Long deviceId; + + /** + * 设备编号 + */ + @TableField("devCode") + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCode; + + /** + * 下发配置内容 + */ + @TableField("config_json") + @ApiModelProperty(value = "[{\"repeat\":\"重传次数\"},{\"lowerLimit\":\"低报\"},{\"upperLimit\":\"高报\"},{\"interval\":\"采集时间\"},{\"period\":\"上传周期\"},{\"ip\":\"\"},{\"port\":\"\"}]", dataType = "String") + private String configJson; + + @TableField(exist = false) + @ApiModelProperty(value = "配置项", dataType = "List") + private List> configItemList; + + + @TableField("logtime") + @ApiModelProperty(value = "上传时间", dataType = "String") + private String logtime; + + /** + * 编号 + */ + @TableField("frame_log_id") + @ApiModelProperty(value = "上传数据日志ID", dataType = "Long") + private Long frameLogId; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java index b508cef..509cda9 100644 --- a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java @@ -1,19 +1,24 @@ package com.casic.missiles.model; +import com.alibaba.druid.sql.ast.statement.SQLForeignKeyImpl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.enums.DictCodeEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.Getter; -import lombok.Setter; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** *

@@ -63,4 +68,29 @@ @TableField("frame_log_id") private Long frameLogId; + public DeviceConfigDTO convertToDTO() { + DeviceConfigDTO dto = new DeviceConfigDTO(); + dto.setDeviceId(deviceId); + dto.setDevCode(devCode); + dto.setFrameLogId(frameLogId); + dto.setConfigJson(configJson); + dto.setLogtime(logtime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + + List> configItemList = new ArrayList<>(); + JSONArray array = JSONArray.parseArray(configJson); + int i = 0; + for (Object item : array) { + JSONObject obj = (JSONObject) item; + Map config = new HashMap<>(); + for (String key : obj.keySet()) { + config.put("idx", i++); + config.put("cmd", key); + config.put("value", obj.get(key)); + } + configItemList.add(config); + } + dto.setConfigItemList(configItemList); + + return dto; + } } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java index 7fae695..720bb30 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java @@ -4,10 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -21,7 +19,7 @@ */ public interface IBusConfigService extends IService { - Page listPage(Page page, BusConfigDTO busConfigDTO, DataScope dataScope) throws Exception ; + Page listPage(Page page, BusConfigRequest busConfigRequest, DataScope dataScope) throws Exception ; ReturnDTO addBusConfig(BusConfig busConfig); diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java index 700de62..4f5029e 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java @@ -1,6 +1,10 @@ package com.casic.missiles.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; /** @@ -13,4 +17,7 @@ */ public interface IDeviceBizDataService extends IService { + Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception; + + DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception; } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java index 8e8194f..647a0ff 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java @@ -1,6 +1,7 @@ package com.casic.missiles.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.model.DeviceConfig; /** @@ -13,5 +14,7 @@ */ public interface IDeviceConfigService extends IService { + DeviceConfigDTO getByDeviceId(Long deviceId); + void saveOrUpdateByDeviceId(DeviceConfig deviceConfig); } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java index 8810f65..917d069 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; import org.apache.ibatis.annotations.Param; @@ -20,7 +20,7 @@ public interface BusConfigMapper extends BaseMapper { List listPage(@Param("page") Page page, - @Param("request") BusConfigDTO request, + @Param("request") BusConfigRequest request, @Param("dataScope") DataScope dataScope); List findConfigListToBeSend(@Param("deviceId") Long deviceId); diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java index 383ed59..afae1d1 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -1,8 +1,15 @@ package com.casic.missiles.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -11,4 +18,9 @@ */ public interface DeviceBizDataMapper extends BaseMapper { + List listPageBizData(@Param("page") Page page, + @Param("request") DeviceBizDataRequest request, + @Param("dataScope") DataScope dataScope); + + DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java index 134e4d8..5db8e56 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java @@ -25,10 +25,4 @@ List listPage(@Param("page") Page page, @Param("request")DeviceDataListRequest request, @Param("dataScope") DataScope dataScope); - - List listPageBizData(@Param("page") Page page, - @Param("request") DeviceBizDataRequest request, - @Param("dataScope") DataScope dataScope); - DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); - } diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml index 4f11813..c03699d 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -18,9 +18,87 @@ + + ${paramStr} + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi:ss')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + + DATA_FORMAT(#{column}, '%Y-m%-d% H%:i%:s%') + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml index 07096d0..a43c552 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml @@ -36,10 +36,6 @@ id, devcode, device_type, cell, data_json, decrypt_before_data, decrypt_after_data, uptime, logtime - - id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime - - - - - - - - diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java deleted file mode 100644 index b9c5b5c..0000000 --- a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.dto.config; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class BusConfigDTO { - - @ApiModelProperty(value = "配置类型", dataType = "Integer") - private Integer configType; - - @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") - private String devcode; - - @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") - private Integer status; - - @ApiModelProperty(value = "开始时间", dataType = "Integer") - private String beginTime; - - @ApiModelProperty(value = "结束时间", dataType = "Integer") - private String endTime; - -} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java new file mode 100644 index 0000000..31fb57e --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.config; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class BusConfigRequest { + + @ApiModelProperty(value = "配置类型", dataType = "Integer") + private Integer configType; + + @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") + private String devcode; + + @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") + private Integer status; + + @ApiModelProperty(value = "开始时间", dataType = "Integer") + private String beginTime; + + @ApiModelProperty(value = "结束时间", dataType = "Integer") + private String endTime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java new file mode 100644 index 0000000..51a2007 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java @@ -0,0 +1,57 @@ +package com.casic.missiles.dto.config; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; + +@Data +@ApiModel +public class DeviceConfigDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @TableField("device_id") + @ApiModelProperty(value = "设备id", dataType = "Long") + private Long deviceId; + + /** + * 设备编号 + */ + @TableField("devCode") + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCode; + + /** + * 下发配置内容 + */ + @TableField("config_json") + @ApiModelProperty(value = "[{\"repeat\":\"重传次数\"},{\"lowerLimit\":\"低报\"},{\"upperLimit\":\"高报\"},{\"interval\":\"采集时间\"},{\"period\":\"上传周期\"},{\"ip\":\"\"},{\"port\":\"\"}]", dataType = "String") + private String configJson; + + @TableField(exist = false) + @ApiModelProperty(value = "配置项", dataType = "List") + private List> configItemList; + + + @TableField("logtime") + @ApiModelProperty(value = "上传时间", dataType = "String") + private String logtime; + + /** + * 编号 + */ + @TableField("frame_log_id") + @ApiModelProperty(value = "上传数据日志ID", dataType = "Long") + private Long frameLogId; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java index b508cef..509cda9 100644 --- a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java @@ -1,19 +1,24 @@ package com.casic.missiles.model; +import com.alibaba.druid.sql.ast.statement.SQLForeignKeyImpl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.enums.DictCodeEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.Getter; -import lombok.Setter; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** *

@@ -63,4 +68,29 @@ @TableField("frame_log_id") private Long frameLogId; + public DeviceConfigDTO convertToDTO() { + DeviceConfigDTO dto = new DeviceConfigDTO(); + dto.setDeviceId(deviceId); + dto.setDevCode(devCode); + dto.setFrameLogId(frameLogId); + dto.setConfigJson(configJson); + dto.setLogtime(logtime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + + List> configItemList = new ArrayList<>(); + JSONArray array = JSONArray.parseArray(configJson); + int i = 0; + for (Object item : array) { + JSONObject obj = (JSONObject) item; + Map config = new HashMap<>(); + for (String key : obj.keySet()) { + config.put("idx", i++); + config.put("cmd", key); + config.put("value", obj.get(key)); + } + configItemList.add(config); + } + dto.setConfigItemList(configItemList); + + return dto; + } } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java index 7fae695..720bb30 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java @@ -4,10 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -21,7 +19,7 @@ */ public interface IBusConfigService extends IService { - Page listPage(Page page, BusConfigDTO busConfigDTO, DataScope dataScope) throws Exception ; + Page listPage(Page page, BusConfigRequest busConfigRequest, DataScope dataScope) throws Exception ; ReturnDTO addBusConfig(BusConfig busConfig); diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java index 700de62..4f5029e 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java @@ -1,6 +1,10 @@ package com.casic.missiles.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; /** @@ -13,4 +17,7 @@ */ public interface IDeviceBizDataService extends IService { + Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception; + + DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception; } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java index 8e8194f..647a0ff 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java @@ -1,6 +1,7 @@ package com.casic.missiles.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.model.DeviceConfig; /** @@ -13,5 +14,7 @@ */ public interface IDeviceConfigService extends IService { + DeviceConfigDTO getByDeviceId(Long deviceId); + void saveOrUpdateByDeviceId(DeviceConfig deviceConfig); } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java index 4f86d5b..28d7458 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java @@ -21,7 +21,4 @@ Page listPage(Page page, DeviceDataListRequest request, DataScope dataScope) throws Exception; - Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception; - DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception; - } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java index 8810f65..917d069 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; import org.apache.ibatis.annotations.Param; @@ -20,7 +20,7 @@ public interface BusConfigMapper extends BaseMapper { List listPage(@Param("page") Page page, - @Param("request") BusConfigDTO request, + @Param("request") BusConfigRequest request, @Param("dataScope") DataScope dataScope); List findConfigListToBeSend(@Param("deviceId") Long deviceId); diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java index 383ed59..afae1d1 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -1,8 +1,15 @@ package com.casic.missiles.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -11,4 +18,9 @@ */ public interface DeviceBizDataMapper extends BaseMapper { + List listPageBizData(@Param("page") Page page, + @Param("request") DeviceBizDataRequest request, + @Param("dataScope") DataScope dataScope); + + DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java index 134e4d8..5db8e56 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java @@ -25,10 +25,4 @@ List listPage(@Param("page") Page page, @Param("request")DeviceDataListRequest request, @Param("dataScope") DataScope dataScope); - - List listPageBizData(@Param("page") Page page, - @Param("request") DeviceBizDataRequest request, - @Param("dataScope") DataScope dataScope); - DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); - } diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml index 4f11813..c03699d 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -18,9 +18,87 @@ + + ${paramStr} + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi:ss')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + + DATA_FORMAT(#{column}, '%Y-m%-d% H%:i%:s%') + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml index 07096d0..a43c552 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml @@ -36,10 +36,6 @@ id, devcode, device_type, cell, data_json, decrypt_before_data, decrypt_after_data, uptime, logtime - - id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime - - - - - - - - diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java deleted file mode 100644 index b9c5b5c..0000000 --- a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.dto.config; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class BusConfigDTO { - - @ApiModelProperty(value = "配置类型", dataType = "Integer") - private Integer configType; - - @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") - private String devcode; - - @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") - private Integer status; - - @ApiModelProperty(value = "开始时间", dataType = "Integer") - private String beginTime; - - @ApiModelProperty(value = "结束时间", dataType = "Integer") - private String endTime; - -} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java new file mode 100644 index 0000000..31fb57e --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.config; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class BusConfigRequest { + + @ApiModelProperty(value = "配置类型", dataType = "Integer") + private Integer configType; + + @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") + private String devcode; + + @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") + private Integer status; + + @ApiModelProperty(value = "开始时间", dataType = "Integer") + private String beginTime; + + @ApiModelProperty(value = "结束时间", dataType = "Integer") + private String endTime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java new file mode 100644 index 0000000..51a2007 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java @@ -0,0 +1,57 @@ +package com.casic.missiles.dto.config; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; + +@Data +@ApiModel +public class DeviceConfigDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @TableField("device_id") + @ApiModelProperty(value = "设备id", dataType = "Long") + private Long deviceId; + + /** + * 设备编号 + */ + @TableField("devCode") + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCode; + + /** + * 下发配置内容 + */ + @TableField("config_json") + @ApiModelProperty(value = "[{\"repeat\":\"重传次数\"},{\"lowerLimit\":\"低报\"},{\"upperLimit\":\"高报\"},{\"interval\":\"采集时间\"},{\"period\":\"上传周期\"},{\"ip\":\"\"},{\"port\":\"\"}]", dataType = "String") + private String configJson; + + @TableField(exist = false) + @ApiModelProperty(value = "配置项", dataType = "List") + private List> configItemList; + + + @TableField("logtime") + @ApiModelProperty(value = "上传时间", dataType = "String") + private String logtime; + + /** + * 编号 + */ + @TableField("frame_log_id") + @ApiModelProperty(value = "上传数据日志ID", dataType = "Long") + private Long frameLogId; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java index b508cef..509cda9 100644 --- a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java @@ -1,19 +1,24 @@ package com.casic.missiles.model; +import com.alibaba.druid.sql.ast.statement.SQLForeignKeyImpl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.enums.DictCodeEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.Getter; -import lombok.Setter; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** *

@@ -63,4 +68,29 @@ @TableField("frame_log_id") private Long frameLogId; + public DeviceConfigDTO convertToDTO() { + DeviceConfigDTO dto = new DeviceConfigDTO(); + dto.setDeviceId(deviceId); + dto.setDevCode(devCode); + dto.setFrameLogId(frameLogId); + dto.setConfigJson(configJson); + dto.setLogtime(logtime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + + List> configItemList = new ArrayList<>(); + JSONArray array = JSONArray.parseArray(configJson); + int i = 0; + for (Object item : array) { + JSONObject obj = (JSONObject) item; + Map config = new HashMap<>(); + for (String key : obj.keySet()) { + config.put("idx", i++); + config.put("cmd", key); + config.put("value", obj.get(key)); + } + configItemList.add(config); + } + dto.setConfigItemList(configItemList); + + return dto; + } } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java index 7fae695..720bb30 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java @@ -4,10 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -21,7 +19,7 @@ */ public interface IBusConfigService extends IService { - Page listPage(Page page, BusConfigDTO busConfigDTO, DataScope dataScope) throws Exception ; + Page listPage(Page page, BusConfigRequest busConfigRequest, DataScope dataScope) throws Exception ; ReturnDTO addBusConfig(BusConfig busConfig); diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java index 700de62..4f5029e 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java @@ -1,6 +1,10 @@ package com.casic.missiles.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; /** @@ -13,4 +17,7 @@ */ public interface IDeviceBizDataService extends IService { + Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception; + + DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception; } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java index 8e8194f..647a0ff 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java @@ -1,6 +1,7 @@ package com.casic.missiles.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.model.DeviceConfig; /** @@ -13,5 +14,7 @@ */ public interface IDeviceConfigService extends IService { + DeviceConfigDTO getByDeviceId(Long deviceId); + void saveOrUpdateByDeviceId(DeviceConfig deviceConfig); } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java index 4f86d5b..28d7458 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java @@ -21,7 +21,4 @@ Page listPage(Page page, DeviceDataListRequest request, DataScope dataScope) throws Exception; - Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception; - DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception; - } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java index 7b902dd..4fc577c 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java @@ -11,7 +11,7 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.BusConfigMapper; @@ -44,7 +44,7 @@ private final RedisCommon redisCommon; @Override - public Page listPage(Page page, BusConfigDTO request, DataScope dataScope) throws Exception { + public Page listPage(Page page, BusConfigRequest request, DataScope dataScope) throws Exception { List busConfigList = this.baseMapper.listPage(page, request, dataScope); for (BusConfig busConfig : busConfigList) { DictCodeUtils.convertDictCodeToName(busConfig); diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java index 8810f65..917d069 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; import org.apache.ibatis.annotations.Param; @@ -20,7 +20,7 @@ public interface BusConfigMapper extends BaseMapper { List listPage(@Param("page") Page page, - @Param("request") BusConfigDTO request, + @Param("request") BusConfigRequest request, @Param("dataScope") DataScope dataScope); List findConfigListToBeSend(@Param("deviceId") Long deviceId); diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java index 383ed59..afae1d1 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -1,8 +1,15 @@ package com.casic.missiles.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -11,4 +18,9 @@ */ public interface DeviceBizDataMapper extends BaseMapper { + List listPageBizData(@Param("page") Page page, + @Param("request") DeviceBizDataRequest request, + @Param("dataScope") DataScope dataScope); + + DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java index 134e4d8..5db8e56 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java @@ -25,10 +25,4 @@ List listPage(@Param("page") Page page, @Param("request")DeviceDataListRequest request, @Param("dataScope") DataScope dataScope); - - List listPageBizData(@Param("page") Page page, - @Param("request") DeviceBizDataRequest request, - @Param("dataScope") DataScope dataScope); - DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); - } diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml index 4f11813..c03699d 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -18,9 +18,87 @@ + + ${paramStr} + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi:ss')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + + DATA_FORMAT(#{column}, '%Y-m%-d% H%:i%:s%') + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml index 07096d0..a43c552 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml @@ -36,10 +36,6 @@ id, devcode, device_type, cell, data_json, decrypt_before_data, decrypt_after_data, uptime, logtime - - id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime - - - - - - - - diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java deleted file mode 100644 index b9c5b5c..0000000 --- a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.dto.config; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class BusConfigDTO { - - @ApiModelProperty(value = "配置类型", dataType = "Integer") - private Integer configType; - - @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") - private String devcode; - - @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") - private Integer status; - - @ApiModelProperty(value = "开始时间", dataType = "Integer") - private String beginTime; - - @ApiModelProperty(value = "结束时间", dataType = "Integer") - private String endTime; - -} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java new file mode 100644 index 0000000..31fb57e --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.config; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class BusConfigRequest { + + @ApiModelProperty(value = "配置类型", dataType = "Integer") + private Integer configType; + + @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") + private String devcode; + + @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") + private Integer status; + + @ApiModelProperty(value = "开始时间", dataType = "Integer") + private String beginTime; + + @ApiModelProperty(value = "结束时间", dataType = "Integer") + private String endTime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java new file mode 100644 index 0000000..51a2007 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java @@ -0,0 +1,57 @@ +package com.casic.missiles.dto.config; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; + +@Data +@ApiModel +public class DeviceConfigDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @TableField("device_id") + @ApiModelProperty(value = "设备id", dataType = "Long") + private Long deviceId; + + /** + * 设备编号 + */ + @TableField("devCode") + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCode; + + /** + * 下发配置内容 + */ + @TableField("config_json") + @ApiModelProperty(value = "[{\"repeat\":\"重传次数\"},{\"lowerLimit\":\"低报\"},{\"upperLimit\":\"高报\"},{\"interval\":\"采集时间\"},{\"period\":\"上传周期\"},{\"ip\":\"\"},{\"port\":\"\"}]", dataType = "String") + private String configJson; + + @TableField(exist = false) + @ApiModelProperty(value = "配置项", dataType = "List") + private List> configItemList; + + + @TableField("logtime") + @ApiModelProperty(value = "上传时间", dataType = "String") + private String logtime; + + /** + * 编号 + */ + @TableField("frame_log_id") + @ApiModelProperty(value = "上传数据日志ID", dataType = "Long") + private Long frameLogId; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java index b508cef..509cda9 100644 --- a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java @@ -1,19 +1,24 @@ package com.casic.missiles.model; +import com.alibaba.druid.sql.ast.statement.SQLForeignKeyImpl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.enums.DictCodeEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.Getter; -import lombok.Setter; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** *

@@ -63,4 +68,29 @@ @TableField("frame_log_id") private Long frameLogId; + public DeviceConfigDTO convertToDTO() { + DeviceConfigDTO dto = new DeviceConfigDTO(); + dto.setDeviceId(deviceId); + dto.setDevCode(devCode); + dto.setFrameLogId(frameLogId); + dto.setConfigJson(configJson); + dto.setLogtime(logtime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + + List> configItemList = new ArrayList<>(); + JSONArray array = JSONArray.parseArray(configJson); + int i = 0; + for (Object item : array) { + JSONObject obj = (JSONObject) item; + Map config = new HashMap<>(); + for (String key : obj.keySet()) { + config.put("idx", i++); + config.put("cmd", key); + config.put("value", obj.get(key)); + } + configItemList.add(config); + } + dto.setConfigItemList(configItemList); + + return dto; + } } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java index 7fae695..720bb30 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java @@ -4,10 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -21,7 +19,7 @@ */ public interface IBusConfigService extends IService { - Page listPage(Page page, BusConfigDTO busConfigDTO, DataScope dataScope) throws Exception ; + Page listPage(Page page, BusConfigRequest busConfigRequest, DataScope dataScope) throws Exception ; ReturnDTO addBusConfig(BusConfig busConfig); diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java index 700de62..4f5029e 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java @@ -1,6 +1,10 @@ package com.casic.missiles.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; /** @@ -13,4 +17,7 @@ */ public interface IDeviceBizDataService extends IService { + Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception; + + DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception; } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java index 8e8194f..647a0ff 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java @@ -1,6 +1,7 @@ package com.casic.missiles.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.model.DeviceConfig; /** @@ -13,5 +14,7 @@ */ public interface IDeviceConfigService extends IService { + DeviceConfigDTO getByDeviceId(Long deviceId); + void saveOrUpdateByDeviceId(DeviceConfig deviceConfig); } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java index 4f86d5b..28d7458 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java @@ -21,7 +21,4 @@ Page listPage(Page page, DeviceDataListRequest request, DataScope dataScope) throws Exception; - Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception; - DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception; - } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java index 7b902dd..4fc577c 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java @@ -11,7 +11,7 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.BusConfigMapper; @@ -44,7 +44,7 @@ private final RedisCommon redisCommon; @Override - public Page listPage(Page page, BusConfigDTO request, DataScope dataScope) throws Exception { + public Page listPage(Page page, BusConfigRequest request, DataScope dataScope) throws Exception { List busConfigList = this.baseMapper.listPage(page, request, dataScope); for (BusConfig busConfig : busConfigList) { DictCodeUtils.convertDictCodeToName(busConfig); diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java index 9f3b5e6..bd9556e 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java @@ -1,12 +1,20 @@ package com.casic.missiles.service.impl; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.mapper.DeviceBizDataMapper; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.service.IDeviceBizDataService; +import com.casic.missiles.util.DictCodeUtils; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; + /** * 设备业务数据 服务实现 */ @@ -14,4 +22,21 @@ @RequiredArgsConstructor public class DeviceBizDataServiceImpl extends ServiceImpl implements IDeviceBizDataService { + @Override + public Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception { + if (CollectionUtils.isEmpty(request.getIds())) { + request.setIds(null); + } + List bizDataList = baseMapper.listPageBizData(page, request, dataScope); + for (DeviceBizDataDTO bizDataDTO : bizDataList) { + DictCodeUtils.convertDictCodeToName(bizDataDTO); + } + page.setRecords(bizDataList); + return page; + } + + @Override + public DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception { + return baseMapper.latestBizData(request.getDevCode()); + } } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java index 8810f65..917d069 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; import org.apache.ibatis.annotations.Param; @@ -20,7 +20,7 @@ public interface BusConfigMapper extends BaseMapper { List listPage(@Param("page") Page page, - @Param("request") BusConfigDTO request, + @Param("request") BusConfigRequest request, @Param("dataScope") DataScope dataScope); List findConfigListToBeSend(@Param("deviceId") Long deviceId); diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java index 383ed59..afae1d1 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -1,8 +1,15 @@ package com.casic.missiles.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -11,4 +18,9 @@ */ public interface DeviceBizDataMapper extends BaseMapper { + List listPageBizData(@Param("page") Page page, + @Param("request") DeviceBizDataRequest request, + @Param("dataScope") DataScope dataScope); + + DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java index 134e4d8..5db8e56 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java @@ -25,10 +25,4 @@ List listPage(@Param("page") Page page, @Param("request")DeviceDataListRequest request, @Param("dataScope") DataScope dataScope); - - List listPageBizData(@Param("page") Page page, - @Param("request") DeviceBizDataRequest request, - @Param("dataScope") DataScope dataScope); - DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); - } diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml index 4f11813..c03699d 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -18,9 +18,87 @@ + + ${paramStr} + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi:ss')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + + DATA_FORMAT(#{column}, '%Y-m%-d% H%:i%:s%') + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml index 07096d0..a43c552 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml @@ -36,10 +36,6 @@ id, devcode, device_type, cell, data_json, decrypt_before_data, decrypt_after_data, uptime, logtime - - id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime - - - - - - - - diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java deleted file mode 100644 index b9c5b5c..0000000 --- a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.dto.config; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class BusConfigDTO { - - @ApiModelProperty(value = "配置类型", dataType = "Integer") - private Integer configType; - - @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") - private String devcode; - - @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") - private Integer status; - - @ApiModelProperty(value = "开始时间", dataType = "Integer") - private String beginTime; - - @ApiModelProperty(value = "结束时间", dataType = "Integer") - private String endTime; - -} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java new file mode 100644 index 0000000..31fb57e --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.config; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class BusConfigRequest { + + @ApiModelProperty(value = "配置类型", dataType = "Integer") + private Integer configType; + + @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") + private String devcode; + + @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") + private Integer status; + + @ApiModelProperty(value = "开始时间", dataType = "Integer") + private String beginTime; + + @ApiModelProperty(value = "结束时间", dataType = "Integer") + private String endTime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java new file mode 100644 index 0000000..51a2007 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java @@ -0,0 +1,57 @@ +package com.casic.missiles.dto.config; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; + +@Data +@ApiModel +public class DeviceConfigDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @TableField("device_id") + @ApiModelProperty(value = "设备id", dataType = "Long") + private Long deviceId; + + /** + * 设备编号 + */ + @TableField("devCode") + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCode; + + /** + * 下发配置内容 + */ + @TableField("config_json") + @ApiModelProperty(value = "[{\"repeat\":\"重传次数\"},{\"lowerLimit\":\"低报\"},{\"upperLimit\":\"高报\"},{\"interval\":\"采集时间\"},{\"period\":\"上传周期\"},{\"ip\":\"\"},{\"port\":\"\"}]", dataType = "String") + private String configJson; + + @TableField(exist = false) + @ApiModelProperty(value = "配置项", dataType = "List") + private List> configItemList; + + + @TableField("logtime") + @ApiModelProperty(value = "上传时间", dataType = "String") + private String logtime; + + /** + * 编号 + */ + @TableField("frame_log_id") + @ApiModelProperty(value = "上传数据日志ID", dataType = "Long") + private Long frameLogId; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java index b508cef..509cda9 100644 --- a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java @@ -1,19 +1,24 @@ package com.casic.missiles.model; +import com.alibaba.druid.sql.ast.statement.SQLForeignKeyImpl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.enums.DictCodeEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.Getter; -import lombok.Setter; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** *

@@ -63,4 +68,29 @@ @TableField("frame_log_id") private Long frameLogId; + public DeviceConfigDTO convertToDTO() { + DeviceConfigDTO dto = new DeviceConfigDTO(); + dto.setDeviceId(deviceId); + dto.setDevCode(devCode); + dto.setFrameLogId(frameLogId); + dto.setConfigJson(configJson); + dto.setLogtime(logtime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + + List> configItemList = new ArrayList<>(); + JSONArray array = JSONArray.parseArray(configJson); + int i = 0; + for (Object item : array) { + JSONObject obj = (JSONObject) item; + Map config = new HashMap<>(); + for (String key : obj.keySet()) { + config.put("idx", i++); + config.put("cmd", key); + config.put("value", obj.get(key)); + } + configItemList.add(config); + } + dto.setConfigItemList(configItemList); + + return dto; + } } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java index 7fae695..720bb30 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java @@ -4,10 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -21,7 +19,7 @@ */ public interface IBusConfigService extends IService { - Page listPage(Page page, BusConfigDTO busConfigDTO, DataScope dataScope) throws Exception ; + Page listPage(Page page, BusConfigRequest busConfigRequest, DataScope dataScope) throws Exception ; ReturnDTO addBusConfig(BusConfig busConfig); diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java index 700de62..4f5029e 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java @@ -1,6 +1,10 @@ package com.casic.missiles.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; /** @@ -13,4 +17,7 @@ */ public interface IDeviceBizDataService extends IService { + Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception; + + DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception; } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java index 8e8194f..647a0ff 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java @@ -1,6 +1,7 @@ package com.casic.missiles.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.model.DeviceConfig; /** @@ -13,5 +14,7 @@ */ public interface IDeviceConfigService extends IService { + DeviceConfigDTO getByDeviceId(Long deviceId); + void saveOrUpdateByDeviceId(DeviceConfig deviceConfig); } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java index 4f86d5b..28d7458 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java @@ -21,7 +21,4 @@ Page listPage(Page page, DeviceDataListRequest request, DataScope dataScope) throws Exception; - Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception; - DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception; - } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java index 7b902dd..4fc577c 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java @@ -11,7 +11,7 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.BusConfigMapper; @@ -44,7 +44,7 @@ private final RedisCommon redisCommon; @Override - public Page listPage(Page page, BusConfigDTO request, DataScope dataScope) throws Exception { + public Page listPage(Page page, BusConfigRequest request, DataScope dataScope) throws Exception { List busConfigList = this.baseMapper.listPage(page, request, dataScope); for (BusConfig busConfig : busConfigList) { DictCodeUtils.convertDictCodeToName(busConfig); diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java index 9f3b5e6..bd9556e 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java @@ -1,12 +1,20 @@ package com.casic.missiles.service.impl; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.mapper.DeviceBizDataMapper; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.service.IDeviceBizDataService; +import com.casic.missiles.util.DictCodeUtils; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; + /** * 设备业务数据 服务实现 */ @@ -14,4 +22,21 @@ @RequiredArgsConstructor public class DeviceBizDataServiceImpl extends ServiceImpl implements IDeviceBizDataService { + @Override + public Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception { + if (CollectionUtils.isEmpty(request.getIds())) { + request.setIds(null); + } + List bizDataList = baseMapper.listPageBizData(page, request, dataScope); + for (DeviceBizDataDTO bizDataDTO : bizDataList) { + DictCodeUtils.convertDictCodeToName(bizDataDTO); + } + page.setRecords(bizDataList); + return page; + } + + @Override + public DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception { + return baseMapper.latestBizData(request.getDevCode()); + } } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java index 845f39d..ef302a4 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java @@ -3,6 +3,7 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.mapper.DeviceConfigMapper; import com.casic.missiles.model.DeviceConfig; import com.casic.missiles.service.IDeviceConfigService; @@ -22,6 +23,18 @@ public class DeviceConfigServiceImpl extends ServiceImpl implements IDeviceConfigService { @Override + public DeviceConfigDTO getByDeviceId(Long deviceId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("device_id", deviceId); + + DeviceConfig obj = baseMapper.selectOne(wrapper); + if (ObjectUtil.isNotNull(obj)) + return obj.convertToDTO(); + else + return null; + } + + @Override public void saveOrUpdateByDeviceId(DeviceConfig deviceConfig) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("device_id", deviceConfig.getDeviceId()); diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java index 8810f65..917d069 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; import org.apache.ibatis.annotations.Param; @@ -20,7 +20,7 @@ public interface BusConfigMapper extends BaseMapper { List listPage(@Param("page") Page page, - @Param("request") BusConfigDTO request, + @Param("request") BusConfigRequest request, @Param("dataScope") DataScope dataScope); List findConfigListToBeSend(@Param("deviceId") Long deviceId); diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java index 383ed59..afae1d1 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -1,8 +1,15 @@ package com.casic.missiles.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -11,4 +18,9 @@ */ public interface DeviceBizDataMapper extends BaseMapper { + List listPageBizData(@Param("page") Page page, + @Param("request") DeviceBizDataRequest request, + @Param("dataScope") DataScope dataScope); + + DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java index 134e4d8..5db8e56 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java @@ -25,10 +25,4 @@ List listPage(@Param("page") Page page, @Param("request")DeviceDataListRequest request, @Param("dataScope") DataScope dataScope); - - List listPageBizData(@Param("page") Page page, - @Param("request") DeviceBizDataRequest request, - @Param("dataScope") DataScope dataScope); - DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); - } diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml index 4f11813..c03699d 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -18,9 +18,87 @@ + + ${paramStr} + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi:ss')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + + DATA_FORMAT(#{column}, '%Y-m%-d% H%:i%:s%') + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml index 07096d0..a43c552 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml @@ -36,10 +36,6 @@ id, devcode, device_type, cell, data_json, decrypt_before_data, decrypt_after_data, uptime, logtime - - id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime - - - - - - - - diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java deleted file mode 100644 index b9c5b5c..0000000 --- a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.dto.config; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class BusConfigDTO { - - @ApiModelProperty(value = "配置类型", dataType = "Integer") - private Integer configType; - - @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") - private String devcode; - - @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") - private Integer status; - - @ApiModelProperty(value = "开始时间", dataType = "Integer") - private String beginTime; - - @ApiModelProperty(value = "结束时间", dataType = "Integer") - private String endTime; - -} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java new file mode 100644 index 0000000..31fb57e --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.config; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class BusConfigRequest { + + @ApiModelProperty(value = "配置类型", dataType = "Integer") + private Integer configType; + + @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") + private String devcode; + + @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") + private Integer status; + + @ApiModelProperty(value = "开始时间", dataType = "Integer") + private String beginTime; + + @ApiModelProperty(value = "结束时间", dataType = "Integer") + private String endTime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java new file mode 100644 index 0000000..51a2007 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java @@ -0,0 +1,57 @@ +package com.casic.missiles.dto.config; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; + +@Data +@ApiModel +public class DeviceConfigDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @TableField("device_id") + @ApiModelProperty(value = "设备id", dataType = "Long") + private Long deviceId; + + /** + * 设备编号 + */ + @TableField("devCode") + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCode; + + /** + * 下发配置内容 + */ + @TableField("config_json") + @ApiModelProperty(value = "[{\"repeat\":\"重传次数\"},{\"lowerLimit\":\"低报\"},{\"upperLimit\":\"高报\"},{\"interval\":\"采集时间\"},{\"period\":\"上传周期\"},{\"ip\":\"\"},{\"port\":\"\"}]", dataType = "String") + private String configJson; + + @TableField(exist = false) + @ApiModelProperty(value = "配置项", dataType = "List") + private List> configItemList; + + + @TableField("logtime") + @ApiModelProperty(value = "上传时间", dataType = "String") + private String logtime; + + /** + * 编号 + */ + @TableField("frame_log_id") + @ApiModelProperty(value = "上传数据日志ID", dataType = "Long") + private Long frameLogId; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java index b508cef..509cda9 100644 --- a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java @@ -1,19 +1,24 @@ package com.casic.missiles.model; +import com.alibaba.druid.sql.ast.statement.SQLForeignKeyImpl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.enums.DictCodeEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.Getter; -import lombok.Setter; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** *

@@ -63,4 +68,29 @@ @TableField("frame_log_id") private Long frameLogId; + public DeviceConfigDTO convertToDTO() { + DeviceConfigDTO dto = new DeviceConfigDTO(); + dto.setDeviceId(deviceId); + dto.setDevCode(devCode); + dto.setFrameLogId(frameLogId); + dto.setConfigJson(configJson); + dto.setLogtime(logtime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + + List> configItemList = new ArrayList<>(); + JSONArray array = JSONArray.parseArray(configJson); + int i = 0; + for (Object item : array) { + JSONObject obj = (JSONObject) item; + Map config = new HashMap<>(); + for (String key : obj.keySet()) { + config.put("idx", i++); + config.put("cmd", key); + config.put("value", obj.get(key)); + } + configItemList.add(config); + } + dto.setConfigItemList(configItemList); + + return dto; + } } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java index 7fae695..720bb30 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java @@ -4,10 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -21,7 +19,7 @@ */ public interface IBusConfigService extends IService { - Page listPage(Page page, BusConfigDTO busConfigDTO, DataScope dataScope) throws Exception ; + Page listPage(Page page, BusConfigRequest busConfigRequest, DataScope dataScope) throws Exception ; ReturnDTO addBusConfig(BusConfig busConfig); diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java index 700de62..4f5029e 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java @@ -1,6 +1,10 @@ package com.casic.missiles.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; /** @@ -13,4 +17,7 @@ */ public interface IDeviceBizDataService extends IService { + Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception; + + DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception; } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java index 8e8194f..647a0ff 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java @@ -1,6 +1,7 @@ package com.casic.missiles.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.model.DeviceConfig; /** @@ -13,5 +14,7 @@ */ public interface IDeviceConfigService extends IService { + DeviceConfigDTO getByDeviceId(Long deviceId); + void saveOrUpdateByDeviceId(DeviceConfig deviceConfig); } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java index 4f86d5b..28d7458 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java @@ -21,7 +21,4 @@ Page listPage(Page page, DeviceDataListRequest request, DataScope dataScope) throws Exception; - Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception; - DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception; - } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java index 7b902dd..4fc577c 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java @@ -11,7 +11,7 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.BusConfigMapper; @@ -44,7 +44,7 @@ private final RedisCommon redisCommon; @Override - public Page listPage(Page page, BusConfigDTO request, DataScope dataScope) throws Exception { + public Page listPage(Page page, BusConfigRequest request, DataScope dataScope) throws Exception { List busConfigList = this.baseMapper.listPage(page, request, dataScope); for (BusConfig busConfig : busConfigList) { DictCodeUtils.convertDictCodeToName(busConfig); diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java index 9f3b5e6..bd9556e 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java @@ -1,12 +1,20 @@ package com.casic.missiles.service.impl; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.mapper.DeviceBizDataMapper; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.service.IDeviceBizDataService; +import com.casic.missiles.util.DictCodeUtils; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; + /** * 设备业务数据 服务实现 */ @@ -14,4 +22,21 @@ @RequiredArgsConstructor public class DeviceBizDataServiceImpl extends ServiceImpl implements IDeviceBizDataService { + @Override + public Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception { + if (CollectionUtils.isEmpty(request.getIds())) { + request.setIds(null); + } + List bizDataList = baseMapper.listPageBizData(page, request, dataScope); + for (DeviceBizDataDTO bizDataDTO : bizDataList) { + DictCodeUtils.convertDictCodeToName(bizDataDTO); + } + page.setRecords(bizDataList); + return page; + } + + @Override + public DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception { + return baseMapper.latestBizData(request.getDevCode()); + } } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java index 845f39d..ef302a4 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java @@ -3,6 +3,7 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.mapper.DeviceConfigMapper; import com.casic.missiles.model.DeviceConfig; import com.casic.missiles.service.IDeviceConfigService; @@ -22,6 +23,18 @@ public class DeviceConfigServiceImpl extends ServiceImpl implements IDeviceConfigService { @Override + public DeviceConfigDTO getByDeviceId(Long deviceId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("device_id", deviceId); + + DeviceConfig obj = baseMapper.selectOne(wrapper); + if (ObjectUtil.isNotNull(obj)) + return obj.convertToDTO(); + else + return null; + } + + @Override public void saveOrUpdateByDeviceId(DeviceConfig deviceConfig) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("device_id", deviceConfig.getDeviceId()); diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceDataServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceDataServiceImpl.java index 2c71f49..9588ec9 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceDataServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceDataServiceImpl.java @@ -41,22 +41,4 @@ return page; } - @Override - public Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception { - if (CollectionUtils.isEmpty(request.getIds())) { - request.setIds(null); - } - List bizDataList = baseMapper.listPageBizData(page, request, dataScope); - for (DeviceBizDataDTO bizDataDTO : bizDataList) { - DictCodeUtils.convertDictCodeToName(bizDataDTO); - } - page.setRecords(bizDataList); - return page; - } - - @Override - public DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception { - return baseMapper.latestBizData(request.getDevCode()); - } - } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java index 8810f65..917d069 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; import org.apache.ibatis.annotations.Param; @@ -20,7 +20,7 @@ public interface BusConfigMapper extends BaseMapper { List listPage(@Param("page") Page page, - @Param("request") BusConfigDTO request, + @Param("request") BusConfigRequest request, @Param("dataScope") DataScope dataScope); List findConfigListToBeSend(@Param("deviceId") Long deviceId); diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java index 383ed59..afae1d1 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -1,8 +1,15 @@ package com.casic.missiles.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -11,4 +18,9 @@ */ public interface DeviceBizDataMapper extends BaseMapper { + List listPageBizData(@Param("page") Page page, + @Param("request") DeviceBizDataRequest request, + @Param("dataScope") DataScope dataScope); + + DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java index 134e4d8..5db8e56 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java @@ -25,10 +25,4 @@ List listPage(@Param("page") Page page, @Param("request")DeviceDataListRequest request, @Param("dataScope") DataScope dataScope); - - List listPageBizData(@Param("page") Page page, - @Param("request") DeviceBizDataRequest request, - @Param("dataScope") DataScope dataScope); - DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); - } diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml index 4f11813..c03699d 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -18,9 +18,87 @@ + + ${paramStr} + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi:ss')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + + DATA_FORMAT(#{column}, '%Y-m%-d% H%:i%:s%') + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml index 07096d0..a43c552 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml @@ -36,10 +36,6 @@ id, devcode, device_type, cell, data_json, decrypt_before_data, decrypt_after_data, uptime, logtime - - id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime - - - - - - - - diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java deleted file mode 100644 index b9c5b5c..0000000 --- a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.dto.config; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class BusConfigDTO { - - @ApiModelProperty(value = "配置类型", dataType = "Integer") - private Integer configType; - - @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") - private String devcode; - - @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") - private Integer status; - - @ApiModelProperty(value = "开始时间", dataType = "Integer") - private String beginTime; - - @ApiModelProperty(value = "结束时间", dataType = "Integer") - private String endTime; - -} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java new file mode 100644 index 0000000..31fb57e --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.config; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class BusConfigRequest { + + @ApiModelProperty(value = "配置类型", dataType = "Integer") + private Integer configType; + + @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") + private String devcode; + + @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") + private Integer status; + + @ApiModelProperty(value = "开始时间", dataType = "Integer") + private String beginTime; + + @ApiModelProperty(value = "结束时间", dataType = "Integer") + private String endTime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java new file mode 100644 index 0000000..51a2007 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java @@ -0,0 +1,57 @@ +package com.casic.missiles.dto.config; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; + +@Data +@ApiModel +public class DeviceConfigDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @TableField("device_id") + @ApiModelProperty(value = "设备id", dataType = "Long") + private Long deviceId; + + /** + * 设备编号 + */ + @TableField("devCode") + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCode; + + /** + * 下发配置内容 + */ + @TableField("config_json") + @ApiModelProperty(value = "[{\"repeat\":\"重传次数\"},{\"lowerLimit\":\"低报\"},{\"upperLimit\":\"高报\"},{\"interval\":\"采集时间\"},{\"period\":\"上传周期\"},{\"ip\":\"\"},{\"port\":\"\"}]", dataType = "String") + private String configJson; + + @TableField(exist = false) + @ApiModelProperty(value = "配置项", dataType = "List") + private List> configItemList; + + + @TableField("logtime") + @ApiModelProperty(value = "上传时间", dataType = "String") + private String logtime; + + /** + * 编号 + */ + @TableField("frame_log_id") + @ApiModelProperty(value = "上传数据日志ID", dataType = "Long") + private Long frameLogId; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java index b508cef..509cda9 100644 --- a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java @@ -1,19 +1,24 @@ package com.casic.missiles.model; +import com.alibaba.druid.sql.ast.statement.SQLForeignKeyImpl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.enums.DictCodeEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.Getter; -import lombok.Setter; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** *

@@ -63,4 +68,29 @@ @TableField("frame_log_id") private Long frameLogId; + public DeviceConfigDTO convertToDTO() { + DeviceConfigDTO dto = new DeviceConfigDTO(); + dto.setDeviceId(deviceId); + dto.setDevCode(devCode); + dto.setFrameLogId(frameLogId); + dto.setConfigJson(configJson); + dto.setLogtime(logtime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + + List> configItemList = new ArrayList<>(); + JSONArray array = JSONArray.parseArray(configJson); + int i = 0; + for (Object item : array) { + JSONObject obj = (JSONObject) item; + Map config = new HashMap<>(); + for (String key : obj.keySet()) { + config.put("idx", i++); + config.put("cmd", key); + config.put("value", obj.get(key)); + } + configItemList.add(config); + } + dto.setConfigItemList(configItemList); + + return dto; + } } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java index 7fae695..720bb30 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java @@ -4,10 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -21,7 +19,7 @@ */ public interface IBusConfigService extends IService { - Page listPage(Page page, BusConfigDTO busConfigDTO, DataScope dataScope) throws Exception ; + Page listPage(Page page, BusConfigRequest busConfigRequest, DataScope dataScope) throws Exception ; ReturnDTO addBusConfig(BusConfig busConfig); diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java index 700de62..4f5029e 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java @@ -1,6 +1,10 @@ package com.casic.missiles.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; /** @@ -13,4 +17,7 @@ */ public interface IDeviceBizDataService extends IService { + Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception; + + DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception; } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java index 8e8194f..647a0ff 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java @@ -1,6 +1,7 @@ package com.casic.missiles.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.model.DeviceConfig; /** @@ -13,5 +14,7 @@ */ public interface IDeviceConfigService extends IService { + DeviceConfigDTO getByDeviceId(Long deviceId); + void saveOrUpdateByDeviceId(DeviceConfig deviceConfig); } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java index 4f86d5b..28d7458 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java @@ -21,7 +21,4 @@ Page listPage(Page page, DeviceDataListRequest request, DataScope dataScope) throws Exception; - Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception; - DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception; - } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java index 7b902dd..4fc577c 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java @@ -11,7 +11,7 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.BusConfigMapper; @@ -44,7 +44,7 @@ private final RedisCommon redisCommon; @Override - public Page listPage(Page page, BusConfigDTO request, DataScope dataScope) throws Exception { + public Page listPage(Page page, BusConfigRequest request, DataScope dataScope) throws Exception { List busConfigList = this.baseMapper.listPage(page, request, dataScope); for (BusConfig busConfig : busConfigList) { DictCodeUtils.convertDictCodeToName(busConfig); diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java index 9f3b5e6..bd9556e 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java @@ -1,12 +1,20 @@ package com.casic.missiles.service.impl; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.mapper.DeviceBizDataMapper; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.service.IDeviceBizDataService; +import com.casic.missiles.util.DictCodeUtils; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; + /** * 设备业务数据 服务实现 */ @@ -14,4 +22,21 @@ @RequiredArgsConstructor public class DeviceBizDataServiceImpl extends ServiceImpl implements IDeviceBizDataService { + @Override + public Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception { + if (CollectionUtils.isEmpty(request.getIds())) { + request.setIds(null); + } + List bizDataList = baseMapper.listPageBizData(page, request, dataScope); + for (DeviceBizDataDTO bizDataDTO : bizDataList) { + DictCodeUtils.convertDictCodeToName(bizDataDTO); + } + page.setRecords(bizDataList); + return page; + } + + @Override + public DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception { + return baseMapper.latestBizData(request.getDevCode()); + } } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java index 845f39d..ef302a4 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java @@ -3,6 +3,7 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.mapper.DeviceConfigMapper; import com.casic.missiles.model.DeviceConfig; import com.casic.missiles.service.IDeviceConfigService; @@ -22,6 +23,18 @@ public class DeviceConfigServiceImpl extends ServiceImpl implements IDeviceConfigService { @Override + public DeviceConfigDTO getByDeviceId(Long deviceId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("device_id", deviceId); + + DeviceConfig obj = baseMapper.selectOne(wrapper); + if (ObjectUtil.isNotNull(obj)) + return obj.convertToDTO(); + else + return null; + } + + @Override public void saveOrUpdateByDeviceId(DeviceConfig deviceConfig) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("device_id", deviceConfig.getDeviceId()); diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceDataServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceDataServiceImpl.java index 2c71f49..9588ec9 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceDataServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceDataServiceImpl.java @@ -41,22 +41,4 @@ return page; } - @Override - public Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception { - if (CollectionUtils.isEmpty(request.getIds())) { - request.setIds(null); - } - List bizDataList = baseMapper.listPageBizData(page, request, dataScope); - for (DeviceBizDataDTO bizDataDTO : bizDataList) { - DictCodeUtils.convertDictCodeToName(bizDataDTO); - } - page.setRecords(bizDataList); - return page; - } - - @Override - public DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception { - return baseMapper.latestBizData(request.getDevCode()); - } - } diff --git a/casic-iot-web/src/main/java/com/casic/missiles/controller/BusConfigController.java b/casic-iot-web/src/main/java/com/casic/missiles/controller/BusConfigController.java index 8c9ab4c..2854f94 100644 --- a/casic-iot-web/src/main/java/com/casic/missiles/controller/BusConfigController.java +++ b/casic-iot-web/src/main/java/com/casic/missiles/controller/BusConfigController.java @@ -9,9 +9,7 @@ import com.casic.missiles.dto.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.config.BusConfigDTO; -import com.casic.missiles.dto.device.DeviceListRequest; -import com.casic.missiles.dto.device.DeviceListVO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.BusConfig; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; @@ -45,13 +43,13 @@ @ApiOperation("分页列表") @PostMapping("/list-page") - public ReturnDTO> listPage(@RequestBody @Validated BusConfigDTO busConfigDTO, BindingResult bindingResult) throws Exception { + public ReturnDTO> listPage(@RequestBody @Validated BusConfigRequest request, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(busConfigService.listPage(page, busConfigDTO, dataScope))); + return ReturnUtil.success(super.packForBT(busConfigService.listPage(page, request, dataScope))); } @ApiOperation("新增配置") diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java index 8810f65..917d069 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; import org.apache.ibatis.annotations.Param; @@ -20,7 +20,7 @@ public interface BusConfigMapper extends BaseMapper { List listPage(@Param("page") Page page, - @Param("request") BusConfigDTO request, + @Param("request") BusConfigRequest request, @Param("dataScope") DataScope dataScope); List findConfigListToBeSend(@Param("deviceId") Long deviceId); diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java index 383ed59..afae1d1 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -1,8 +1,15 @@ package com.casic.missiles.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -11,4 +18,9 @@ */ public interface DeviceBizDataMapper extends BaseMapper { + List listPageBizData(@Param("page") Page page, + @Param("request") DeviceBizDataRequest request, + @Param("dataScope") DataScope dataScope); + + DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java index 134e4d8..5db8e56 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java @@ -25,10 +25,4 @@ List listPage(@Param("page") Page page, @Param("request")DeviceDataListRequest request, @Param("dataScope") DataScope dataScope); - - List listPageBizData(@Param("page") Page page, - @Param("request") DeviceBizDataRequest request, - @Param("dataScope") DataScope dataScope); - DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); - } diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml index 4f11813..c03699d 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -18,9 +18,87 @@ + + ${paramStr} + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi:ss')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + + DATA_FORMAT(#{column}, '%Y-m%-d% H%:i%:s%') + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml index 07096d0..a43c552 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml @@ -36,10 +36,6 @@ id, devcode, device_type, cell, data_json, decrypt_before_data, decrypt_after_data, uptime, logtime - - id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime - - - - - - - - diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java deleted file mode 100644 index b9c5b5c..0000000 --- a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.dto.config; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class BusConfigDTO { - - @ApiModelProperty(value = "配置类型", dataType = "Integer") - private Integer configType; - - @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") - private String devcode; - - @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") - private Integer status; - - @ApiModelProperty(value = "开始时间", dataType = "Integer") - private String beginTime; - - @ApiModelProperty(value = "结束时间", dataType = "Integer") - private String endTime; - -} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java new file mode 100644 index 0000000..31fb57e --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.config; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class BusConfigRequest { + + @ApiModelProperty(value = "配置类型", dataType = "Integer") + private Integer configType; + + @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") + private String devcode; + + @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") + private Integer status; + + @ApiModelProperty(value = "开始时间", dataType = "Integer") + private String beginTime; + + @ApiModelProperty(value = "结束时间", dataType = "Integer") + private String endTime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java new file mode 100644 index 0000000..51a2007 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java @@ -0,0 +1,57 @@ +package com.casic.missiles.dto.config; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; + +@Data +@ApiModel +public class DeviceConfigDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @TableField("device_id") + @ApiModelProperty(value = "设备id", dataType = "Long") + private Long deviceId; + + /** + * 设备编号 + */ + @TableField("devCode") + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCode; + + /** + * 下发配置内容 + */ + @TableField("config_json") + @ApiModelProperty(value = "[{\"repeat\":\"重传次数\"},{\"lowerLimit\":\"低报\"},{\"upperLimit\":\"高报\"},{\"interval\":\"采集时间\"},{\"period\":\"上传周期\"},{\"ip\":\"\"},{\"port\":\"\"}]", dataType = "String") + private String configJson; + + @TableField(exist = false) + @ApiModelProperty(value = "配置项", dataType = "List") + private List> configItemList; + + + @TableField("logtime") + @ApiModelProperty(value = "上传时间", dataType = "String") + private String logtime; + + /** + * 编号 + */ + @TableField("frame_log_id") + @ApiModelProperty(value = "上传数据日志ID", dataType = "Long") + private Long frameLogId; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java index b508cef..509cda9 100644 --- a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java @@ -1,19 +1,24 @@ package com.casic.missiles.model; +import com.alibaba.druid.sql.ast.statement.SQLForeignKeyImpl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.enums.DictCodeEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.Getter; -import lombok.Setter; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** *

@@ -63,4 +68,29 @@ @TableField("frame_log_id") private Long frameLogId; + public DeviceConfigDTO convertToDTO() { + DeviceConfigDTO dto = new DeviceConfigDTO(); + dto.setDeviceId(deviceId); + dto.setDevCode(devCode); + dto.setFrameLogId(frameLogId); + dto.setConfigJson(configJson); + dto.setLogtime(logtime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + + List> configItemList = new ArrayList<>(); + JSONArray array = JSONArray.parseArray(configJson); + int i = 0; + for (Object item : array) { + JSONObject obj = (JSONObject) item; + Map config = new HashMap<>(); + for (String key : obj.keySet()) { + config.put("idx", i++); + config.put("cmd", key); + config.put("value", obj.get(key)); + } + configItemList.add(config); + } + dto.setConfigItemList(configItemList); + + return dto; + } } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java index 7fae695..720bb30 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java @@ -4,10 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -21,7 +19,7 @@ */ public interface IBusConfigService extends IService { - Page listPage(Page page, BusConfigDTO busConfigDTO, DataScope dataScope) throws Exception ; + Page listPage(Page page, BusConfigRequest busConfigRequest, DataScope dataScope) throws Exception ; ReturnDTO addBusConfig(BusConfig busConfig); diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java index 700de62..4f5029e 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java @@ -1,6 +1,10 @@ package com.casic.missiles.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; /** @@ -13,4 +17,7 @@ */ public interface IDeviceBizDataService extends IService { + Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception; + + DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception; } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java index 8e8194f..647a0ff 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java @@ -1,6 +1,7 @@ package com.casic.missiles.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.model.DeviceConfig; /** @@ -13,5 +14,7 @@ */ public interface IDeviceConfigService extends IService { + DeviceConfigDTO getByDeviceId(Long deviceId); + void saveOrUpdateByDeviceId(DeviceConfig deviceConfig); } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java index 4f86d5b..28d7458 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java @@ -21,7 +21,4 @@ Page listPage(Page page, DeviceDataListRequest request, DataScope dataScope) throws Exception; - Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception; - DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception; - } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java index 7b902dd..4fc577c 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java @@ -11,7 +11,7 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.BusConfigMapper; @@ -44,7 +44,7 @@ private final RedisCommon redisCommon; @Override - public Page listPage(Page page, BusConfigDTO request, DataScope dataScope) throws Exception { + public Page listPage(Page page, BusConfigRequest request, DataScope dataScope) throws Exception { List busConfigList = this.baseMapper.listPage(page, request, dataScope); for (BusConfig busConfig : busConfigList) { DictCodeUtils.convertDictCodeToName(busConfig); diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java index 9f3b5e6..bd9556e 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java @@ -1,12 +1,20 @@ package com.casic.missiles.service.impl; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.mapper.DeviceBizDataMapper; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.service.IDeviceBizDataService; +import com.casic.missiles.util.DictCodeUtils; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; + /** * 设备业务数据 服务实现 */ @@ -14,4 +22,21 @@ @RequiredArgsConstructor public class DeviceBizDataServiceImpl extends ServiceImpl implements IDeviceBizDataService { + @Override + public Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception { + if (CollectionUtils.isEmpty(request.getIds())) { + request.setIds(null); + } + List bizDataList = baseMapper.listPageBizData(page, request, dataScope); + for (DeviceBizDataDTO bizDataDTO : bizDataList) { + DictCodeUtils.convertDictCodeToName(bizDataDTO); + } + page.setRecords(bizDataList); + return page; + } + + @Override + public DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception { + return baseMapper.latestBizData(request.getDevCode()); + } } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java index 845f39d..ef302a4 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java @@ -3,6 +3,7 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.mapper.DeviceConfigMapper; import com.casic.missiles.model.DeviceConfig; import com.casic.missiles.service.IDeviceConfigService; @@ -22,6 +23,18 @@ public class DeviceConfigServiceImpl extends ServiceImpl implements IDeviceConfigService { @Override + public DeviceConfigDTO getByDeviceId(Long deviceId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("device_id", deviceId); + + DeviceConfig obj = baseMapper.selectOne(wrapper); + if (ObjectUtil.isNotNull(obj)) + return obj.convertToDTO(); + else + return null; + } + + @Override public void saveOrUpdateByDeviceId(DeviceConfig deviceConfig) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("device_id", deviceConfig.getDeviceId()); diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceDataServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceDataServiceImpl.java index 2c71f49..9588ec9 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceDataServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceDataServiceImpl.java @@ -41,22 +41,4 @@ return page; } - @Override - public Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception { - if (CollectionUtils.isEmpty(request.getIds())) { - request.setIds(null); - } - List bizDataList = baseMapper.listPageBizData(page, request, dataScope); - for (DeviceBizDataDTO bizDataDTO : bizDataList) { - DictCodeUtils.convertDictCodeToName(bizDataDTO); - } - page.setRecords(bizDataList); - return page; - } - - @Override - public DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception { - return baseMapper.latestBizData(request.getDevCode()); - } - } diff --git a/casic-iot-web/src/main/java/com/casic/missiles/controller/BusConfigController.java b/casic-iot-web/src/main/java/com/casic/missiles/controller/BusConfigController.java index 8c9ab4c..2854f94 100644 --- a/casic-iot-web/src/main/java/com/casic/missiles/controller/BusConfigController.java +++ b/casic-iot-web/src/main/java/com/casic/missiles/controller/BusConfigController.java @@ -9,9 +9,7 @@ import com.casic.missiles.dto.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.config.BusConfigDTO; -import com.casic.missiles.dto.device.DeviceListRequest; -import com.casic.missiles.dto.device.DeviceListVO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.BusConfig; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; @@ -45,13 +43,13 @@ @ApiOperation("分页列表") @PostMapping("/list-page") - public ReturnDTO> listPage(@RequestBody @Validated BusConfigDTO busConfigDTO, BindingResult bindingResult) throws Exception { + public ReturnDTO> listPage(@RequestBody @Validated BusConfigRequest request, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(busConfigService.listPage(page, busConfigDTO, dataScope))); + return ReturnUtil.success(super.packForBT(busConfigService.listPage(page, request, dataScope))); } @ApiOperation("新增配置") diff --git a/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceController.java b/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceController.java index 3728d88..9df26fc 100644 --- a/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceController.java +++ b/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceController.java @@ -17,6 +17,7 @@ import com.casic.missiles.mapper.common.SysCommonMapper; import com.casic.missiles.model.Device; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.IDeviceConfigService; import com.casic.missiles.service.IDeviceService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -45,6 +46,7 @@ public class DeviceController extends ExportController { private final IDeviceService deviceService; + private final IDeviceConfigService deviceConfigService; private final AbstractPermissionContext iCommonPermissionService; @ApiOperation("分页列表") @@ -92,6 +94,12 @@ return ReturnUtil.success(deviceService.deviceDetail(idDTO.getId())); } + @ApiOperation("当前配置") + @GetMapping("/deviceConfig/{deviceId}") + public ReturnDTO deviceConfigDetail(@PathVariable Long deviceId) throws Exception{ + return ReturnUtil.success(deviceConfigService.getByDeviceId(deviceId)); + } + @ApiOperation("导出") @PostMapping("/list-export") public void export(@RequestBody @Validated DeviceListRequest request) throws Exception { diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java index 8810f65..917d069 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; import org.apache.ibatis.annotations.Param; @@ -20,7 +20,7 @@ public interface BusConfigMapper extends BaseMapper { List listPage(@Param("page") Page page, - @Param("request") BusConfigDTO request, + @Param("request") BusConfigRequest request, @Param("dataScope") DataScope dataScope); List findConfigListToBeSend(@Param("deviceId") Long deviceId); diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java index 383ed59..afae1d1 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -1,8 +1,15 @@ package com.casic.missiles.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -11,4 +18,9 @@ */ public interface DeviceBizDataMapper extends BaseMapper { + List listPageBizData(@Param("page") Page page, + @Param("request") DeviceBizDataRequest request, + @Param("dataScope") DataScope dataScope); + + DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java index 134e4d8..5db8e56 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java @@ -25,10 +25,4 @@ List listPage(@Param("page") Page page, @Param("request")DeviceDataListRequest request, @Param("dataScope") DataScope dataScope); - - List listPageBizData(@Param("page") Page page, - @Param("request") DeviceBizDataRequest request, - @Param("dataScope") DataScope dataScope); - DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); - } diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml index 4f11813..c03699d 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -18,9 +18,87 @@ + + ${paramStr} + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi:ss')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + + DATA_FORMAT(#{column}, '%Y-m%-d% H%:i%:s%') + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml index 07096d0..a43c552 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml @@ -36,10 +36,6 @@ id, devcode, device_type, cell, data_json, decrypt_before_data, decrypt_after_data, uptime, logtime - - id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime - - - - - - - - diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java deleted file mode 100644 index b9c5b5c..0000000 --- a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.dto.config; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class BusConfigDTO { - - @ApiModelProperty(value = "配置类型", dataType = "Integer") - private Integer configType; - - @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") - private String devcode; - - @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") - private Integer status; - - @ApiModelProperty(value = "开始时间", dataType = "Integer") - private String beginTime; - - @ApiModelProperty(value = "结束时间", dataType = "Integer") - private String endTime; - -} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java new file mode 100644 index 0000000..31fb57e --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.config; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class BusConfigRequest { + + @ApiModelProperty(value = "配置类型", dataType = "Integer") + private Integer configType; + + @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") + private String devcode; + + @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") + private Integer status; + + @ApiModelProperty(value = "开始时间", dataType = "Integer") + private String beginTime; + + @ApiModelProperty(value = "结束时间", dataType = "Integer") + private String endTime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java new file mode 100644 index 0000000..51a2007 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java @@ -0,0 +1,57 @@ +package com.casic.missiles.dto.config; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; + +@Data +@ApiModel +public class DeviceConfigDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @TableField("device_id") + @ApiModelProperty(value = "设备id", dataType = "Long") + private Long deviceId; + + /** + * 设备编号 + */ + @TableField("devCode") + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCode; + + /** + * 下发配置内容 + */ + @TableField("config_json") + @ApiModelProperty(value = "[{\"repeat\":\"重传次数\"},{\"lowerLimit\":\"低报\"},{\"upperLimit\":\"高报\"},{\"interval\":\"采集时间\"},{\"period\":\"上传周期\"},{\"ip\":\"\"},{\"port\":\"\"}]", dataType = "String") + private String configJson; + + @TableField(exist = false) + @ApiModelProperty(value = "配置项", dataType = "List") + private List> configItemList; + + + @TableField("logtime") + @ApiModelProperty(value = "上传时间", dataType = "String") + private String logtime; + + /** + * 编号 + */ + @TableField("frame_log_id") + @ApiModelProperty(value = "上传数据日志ID", dataType = "Long") + private Long frameLogId; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java index b508cef..509cda9 100644 --- a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java @@ -1,19 +1,24 @@ package com.casic.missiles.model; +import com.alibaba.druid.sql.ast.statement.SQLForeignKeyImpl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.enums.DictCodeEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.Getter; -import lombok.Setter; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** *

@@ -63,4 +68,29 @@ @TableField("frame_log_id") private Long frameLogId; + public DeviceConfigDTO convertToDTO() { + DeviceConfigDTO dto = new DeviceConfigDTO(); + dto.setDeviceId(deviceId); + dto.setDevCode(devCode); + dto.setFrameLogId(frameLogId); + dto.setConfigJson(configJson); + dto.setLogtime(logtime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + + List> configItemList = new ArrayList<>(); + JSONArray array = JSONArray.parseArray(configJson); + int i = 0; + for (Object item : array) { + JSONObject obj = (JSONObject) item; + Map config = new HashMap<>(); + for (String key : obj.keySet()) { + config.put("idx", i++); + config.put("cmd", key); + config.put("value", obj.get(key)); + } + configItemList.add(config); + } + dto.setConfigItemList(configItemList); + + return dto; + } } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java index 7fae695..720bb30 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java @@ -4,10 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -21,7 +19,7 @@ */ public interface IBusConfigService extends IService { - Page listPage(Page page, BusConfigDTO busConfigDTO, DataScope dataScope) throws Exception ; + Page listPage(Page page, BusConfigRequest busConfigRequest, DataScope dataScope) throws Exception ; ReturnDTO addBusConfig(BusConfig busConfig); diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java index 700de62..4f5029e 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java @@ -1,6 +1,10 @@ package com.casic.missiles.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; /** @@ -13,4 +17,7 @@ */ public interface IDeviceBizDataService extends IService { + Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception; + + DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception; } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java index 8e8194f..647a0ff 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java @@ -1,6 +1,7 @@ package com.casic.missiles.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.model.DeviceConfig; /** @@ -13,5 +14,7 @@ */ public interface IDeviceConfigService extends IService { + DeviceConfigDTO getByDeviceId(Long deviceId); + void saveOrUpdateByDeviceId(DeviceConfig deviceConfig); } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java index 4f86d5b..28d7458 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java @@ -21,7 +21,4 @@ Page listPage(Page page, DeviceDataListRequest request, DataScope dataScope) throws Exception; - Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception; - DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception; - } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java index 7b902dd..4fc577c 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java @@ -11,7 +11,7 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.BusConfigMapper; @@ -44,7 +44,7 @@ private final RedisCommon redisCommon; @Override - public Page listPage(Page page, BusConfigDTO request, DataScope dataScope) throws Exception { + public Page listPage(Page page, BusConfigRequest request, DataScope dataScope) throws Exception { List busConfigList = this.baseMapper.listPage(page, request, dataScope); for (BusConfig busConfig : busConfigList) { DictCodeUtils.convertDictCodeToName(busConfig); diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java index 9f3b5e6..bd9556e 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java @@ -1,12 +1,20 @@ package com.casic.missiles.service.impl; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.mapper.DeviceBizDataMapper; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.service.IDeviceBizDataService; +import com.casic.missiles.util.DictCodeUtils; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; + /** * 设备业务数据 服务实现 */ @@ -14,4 +22,21 @@ @RequiredArgsConstructor public class DeviceBizDataServiceImpl extends ServiceImpl implements IDeviceBizDataService { + @Override + public Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception { + if (CollectionUtils.isEmpty(request.getIds())) { + request.setIds(null); + } + List bizDataList = baseMapper.listPageBizData(page, request, dataScope); + for (DeviceBizDataDTO bizDataDTO : bizDataList) { + DictCodeUtils.convertDictCodeToName(bizDataDTO); + } + page.setRecords(bizDataList); + return page; + } + + @Override + public DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception { + return baseMapper.latestBizData(request.getDevCode()); + } } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java index 845f39d..ef302a4 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java @@ -3,6 +3,7 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.mapper.DeviceConfigMapper; import com.casic.missiles.model.DeviceConfig; import com.casic.missiles.service.IDeviceConfigService; @@ -22,6 +23,18 @@ public class DeviceConfigServiceImpl extends ServiceImpl implements IDeviceConfigService { @Override + public DeviceConfigDTO getByDeviceId(Long deviceId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("device_id", deviceId); + + DeviceConfig obj = baseMapper.selectOne(wrapper); + if (ObjectUtil.isNotNull(obj)) + return obj.convertToDTO(); + else + return null; + } + + @Override public void saveOrUpdateByDeviceId(DeviceConfig deviceConfig) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("device_id", deviceConfig.getDeviceId()); diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceDataServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceDataServiceImpl.java index 2c71f49..9588ec9 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceDataServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceDataServiceImpl.java @@ -41,22 +41,4 @@ return page; } - @Override - public Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception { - if (CollectionUtils.isEmpty(request.getIds())) { - request.setIds(null); - } - List bizDataList = baseMapper.listPageBizData(page, request, dataScope); - for (DeviceBizDataDTO bizDataDTO : bizDataList) { - DictCodeUtils.convertDictCodeToName(bizDataDTO); - } - page.setRecords(bizDataList); - return page; - } - - @Override - public DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception { - return baseMapper.latestBizData(request.getDevCode()); - } - } diff --git a/casic-iot-web/src/main/java/com/casic/missiles/controller/BusConfigController.java b/casic-iot-web/src/main/java/com/casic/missiles/controller/BusConfigController.java index 8c9ab4c..2854f94 100644 --- a/casic-iot-web/src/main/java/com/casic/missiles/controller/BusConfigController.java +++ b/casic-iot-web/src/main/java/com/casic/missiles/controller/BusConfigController.java @@ -9,9 +9,7 @@ import com.casic.missiles.dto.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.config.BusConfigDTO; -import com.casic.missiles.dto.device.DeviceListRequest; -import com.casic.missiles.dto.device.DeviceListVO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.BusConfig; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; @@ -45,13 +43,13 @@ @ApiOperation("分页列表") @PostMapping("/list-page") - public ReturnDTO> listPage(@RequestBody @Validated BusConfigDTO busConfigDTO, BindingResult bindingResult) throws Exception { + public ReturnDTO> listPage(@RequestBody @Validated BusConfigRequest request, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(busConfigService.listPage(page, busConfigDTO, dataScope))); + return ReturnUtil.success(super.packForBT(busConfigService.listPage(page, request, dataScope))); } @ApiOperation("新增配置") diff --git a/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceController.java b/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceController.java index 3728d88..9df26fc 100644 --- a/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceController.java +++ b/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceController.java @@ -17,6 +17,7 @@ import com.casic.missiles.mapper.common.SysCommonMapper; import com.casic.missiles.model.Device; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.IDeviceConfigService; import com.casic.missiles.service.IDeviceService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -45,6 +46,7 @@ public class DeviceController extends ExportController { private final IDeviceService deviceService; + private final IDeviceConfigService deviceConfigService; private final AbstractPermissionContext iCommonPermissionService; @ApiOperation("分页列表") @@ -92,6 +94,12 @@ return ReturnUtil.success(deviceService.deviceDetail(idDTO.getId())); } + @ApiOperation("当前配置") + @GetMapping("/deviceConfig/{deviceId}") + public ReturnDTO deviceConfigDetail(@PathVariable Long deviceId) throws Exception{ + return ReturnUtil.success(deviceConfigService.getByDeviceId(deviceId)); + } + @ApiOperation("导出") @PostMapping("/list-export") public void export(@RequestBody @Validated DeviceListRequest request) throws Exception { diff --git a/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceDataController.java b/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceDataController.java index a4e7206..445eff8 100644 --- a/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceDataController.java +++ b/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceDataController.java @@ -14,17 +14,17 @@ import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.DeviceFrameLog; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.IDeviceBizDataService; import com.casic.missiles.service.IDeviceDataService; +import com.casic.missiles.service.IDeviceFrameLogService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -43,7 +43,9 @@ public class DeviceDataController extends ExportController { private final IDeviceDataService deviceDataService; + private final IDeviceBizDataService bizDataService; private final AbstractPermissionContext iCommonPermissionService; + private final IDeviceFrameLogService frameLogService; @ApiOperation("分页列表") @PostMapping("/list-page") @@ -61,13 +63,19 @@ public ReturnDTO> bizListPage(@RequestBody @Validated DeviceBizDataRequest request) throws Exception { DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(deviceDataService.listPageBizData(page, request, dataScope))); + return ReturnUtil.success(super.packForBT(bizDataService.listPageBizData(page, request, dataScope))); } @ApiOperation("查询最新数据") @PostMapping("/latestBizData") public ReturnDTO latestBizData(@RequestBody @Validated DeviceBizDataRequest request) throws Exception { - return ReturnUtil.success(deviceDataService.latestBizData(request)); + return ReturnUtil.success(bizDataService.latestBizData(request)); + } + + @ApiOperation("查询数据日志") + @GetMapping("/frameLog/{id}") + public ReturnDTO frameLogDetail(@PathVariable Long id) throws Exception { + return ReturnUtil.success(frameLogService.getById(id)); } @ApiOperation("导出") diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java index 8810f65..917d069 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; import org.apache.ibatis.annotations.Param; @@ -20,7 +20,7 @@ public interface BusConfigMapper extends BaseMapper { List listPage(@Param("page") Page page, - @Param("request") BusConfigDTO request, + @Param("request") BusConfigRequest request, @Param("dataScope") DataScope dataScope); List findConfigListToBeSend(@Param("deviceId") Long deviceId); diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java index 383ed59..afae1d1 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -1,8 +1,15 @@ package com.casic.missiles.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -11,4 +18,9 @@ */ public interface DeviceBizDataMapper extends BaseMapper { + List listPageBizData(@Param("page") Page page, + @Param("request") DeviceBizDataRequest request, + @Param("dataScope") DataScope dataScope); + + DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java index 134e4d8..5db8e56 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java @@ -25,10 +25,4 @@ List listPage(@Param("page") Page page, @Param("request")DeviceDataListRequest request, @Param("dataScope") DataScope dataScope); - - List listPageBizData(@Param("page") Page page, - @Param("request") DeviceBizDataRequest request, - @Param("dataScope") DataScope dataScope); - DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); - } diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml index 4f11813..c03699d 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -18,9 +18,87 @@ + + ${paramStr} + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi:ss')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + + DATA_FORMAT(#{column}, '%Y-m%-d% H%:i%:s%') + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml index 07096d0..a43c552 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml @@ -36,10 +36,6 @@ id, devcode, device_type, cell, data_json, decrypt_before_data, decrypt_after_data, uptime, logtime - - id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime - - - - - - - - diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java deleted file mode 100644 index b9c5b5c..0000000 --- a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.dto.config; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class BusConfigDTO { - - @ApiModelProperty(value = "配置类型", dataType = "Integer") - private Integer configType; - - @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") - private String devcode; - - @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") - private Integer status; - - @ApiModelProperty(value = "开始时间", dataType = "Integer") - private String beginTime; - - @ApiModelProperty(value = "结束时间", dataType = "Integer") - private String endTime; - -} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java new file mode 100644 index 0000000..31fb57e --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.config; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class BusConfigRequest { + + @ApiModelProperty(value = "配置类型", dataType = "Integer") + private Integer configType; + + @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") + private String devcode; + + @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") + private Integer status; + + @ApiModelProperty(value = "开始时间", dataType = "Integer") + private String beginTime; + + @ApiModelProperty(value = "结束时间", dataType = "Integer") + private String endTime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java new file mode 100644 index 0000000..51a2007 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java @@ -0,0 +1,57 @@ +package com.casic.missiles.dto.config; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; + +@Data +@ApiModel +public class DeviceConfigDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @TableField("device_id") + @ApiModelProperty(value = "设备id", dataType = "Long") + private Long deviceId; + + /** + * 设备编号 + */ + @TableField("devCode") + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCode; + + /** + * 下发配置内容 + */ + @TableField("config_json") + @ApiModelProperty(value = "[{\"repeat\":\"重传次数\"},{\"lowerLimit\":\"低报\"},{\"upperLimit\":\"高报\"},{\"interval\":\"采集时间\"},{\"period\":\"上传周期\"},{\"ip\":\"\"},{\"port\":\"\"}]", dataType = "String") + private String configJson; + + @TableField(exist = false) + @ApiModelProperty(value = "配置项", dataType = "List") + private List> configItemList; + + + @TableField("logtime") + @ApiModelProperty(value = "上传时间", dataType = "String") + private String logtime; + + /** + * 编号 + */ + @TableField("frame_log_id") + @ApiModelProperty(value = "上传数据日志ID", dataType = "Long") + private Long frameLogId; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java index b508cef..509cda9 100644 --- a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java @@ -1,19 +1,24 @@ package com.casic.missiles.model; +import com.alibaba.druid.sql.ast.statement.SQLForeignKeyImpl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.enums.DictCodeEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.Getter; -import lombok.Setter; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** *

@@ -63,4 +68,29 @@ @TableField("frame_log_id") private Long frameLogId; + public DeviceConfigDTO convertToDTO() { + DeviceConfigDTO dto = new DeviceConfigDTO(); + dto.setDeviceId(deviceId); + dto.setDevCode(devCode); + dto.setFrameLogId(frameLogId); + dto.setConfigJson(configJson); + dto.setLogtime(logtime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + + List> configItemList = new ArrayList<>(); + JSONArray array = JSONArray.parseArray(configJson); + int i = 0; + for (Object item : array) { + JSONObject obj = (JSONObject) item; + Map config = new HashMap<>(); + for (String key : obj.keySet()) { + config.put("idx", i++); + config.put("cmd", key); + config.put("value", obj.get(key)); + } + configItemList.add(config); + } + dto.setConfigItemList(configItemList); + + return dto; + } } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java index 7fae695..720bb30 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java @@ -4,10 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -21,7 +19,7 @@ */ public interface IBusConfigService extends IService { - Page listPage(Page page, BusConfigDTO busConfigDTO, DataScope dataScope) throws Exception ; + Page listPage(Page page, BusConfigRequest busConfigRequest, DataScope dataScope) throws Exception ; ReturnDTO addBusConfig(BusConfig busConfig); diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java index 700de62..4f5029e 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java @@ -1,6 +1,10 @@ package com.casic.missiles.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; /** @@ -13,4 +17,7 @@ */ public interface IDeviceBizDataService extends IService { + Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception; + + DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception; } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java index 8e8194f..647a0ff 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java @@ -1,6 +1,7 @@ package com.casic.missiles.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.model.DeviceConfig; /** @@ -13,5 +14,7 @@ */ public interface IDeviceConfigService extends IService { + DeviceConfigDTO getByDeviceId(Long deviceId); + void saveOrUpdateByDeviceId(DeviceConfig deviceConfig); } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java index 4f86d5b..28d7458 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java @@ -21,7 +21,4 @@ Page listPage(Page page, DeviceDataListRequest request, DataScope dataScope) throws Exception; - Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception; - DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception; - } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java index 7b902dd..4fc577c 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java @@ -11,7 +11,7 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.BusConfigMapper; @@ -44,7 +44,7 @@ private final RedisCommon redisCommon; @Override - public Page listPage(Page page, BusConfigDTO request, DataScope dataScope) throws Exception { + public Page listPage(Page page, BusConfigRequest request, DataScope dataScope) throws Exception { List busConfigList = this.baseMapper.listPage(page, request, dataScope); for (BusConfig busConfig : busConfigList) { DictCodeUtils.convertDictCodeToName(busConfig); diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java index 9f3b5e6..bd9556e 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java @@ -1,12 +1,20 @@ package com.casic.missiles.service.impl; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.mapper.DeviceBizDataMapper; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.service.IDeviceBizDataService; +import com.casic.missiles.util.DictCodeUtils; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; + /** * 设备业务数据 服务实现 */ @@ -14,4 +22,21 @@ @RequiredArgsConstructor public class DeviceBizDataServiceImpl extends ServiceImpl implements IDeviceBizDataService { + @Override + public Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception { + if (CollectionUtils.isEmpty(request.getIds())) { + request.setIds(null); + } + List bizDataList = baseMapper.listPageBizData(page, request, dataScope); + for (DeviceBizDataDTO bizDataDTO : bizDataList) { + DictCodeUtils.convertDictCodeToName(bizDataDTO); + } + page.setRecords(bizDataList); + return page; + } + + @Override + public DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception { + return baseMapper.latestBizData(request.getDevCode()); + } } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java index 845f39d..ef302a4 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java @@ -3,6 +3,7 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.mapper.DeviceConfigMapper; import com.casic.missiles.model.DeviceConfig; import com.casic.missiles.service.IDeviceConfigService; @@ -22,6 +23,18 @@ public class DeviceConfigServiceImpl extends ServiceImpl implements IDeviceConfigService { @Override + public DeviceConfigDTO getByDeviceId(Long deviceId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("device_id", deviceId); + + DeviceConfig obj = baseMapper.selectOne(wrapper); + if (ObjectUtil.isNotNull(obj)) + return obj.convertToDTO(); + else + return null; + } + + @Override public void saveOrUpdateByDeviceId(DeviceConfig deviceConfig) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("device_id", deviceConfig.getDeviceId()); diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceDataServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceDataServiceImpl.java index 2c71f49..9588ec9 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceDataServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceDataServiceImpl.java @@ -41,22 +41,4 @@ return page; } - @Override - public Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception { - if (CollectionUtils.isEmpty(request.getIds())) { - request.setIds(null); - } - List bizDataList = baseMapper.listPageBizData(page, request, dataScope); - for (DeviceBizDataDTO bizDataDTO : bizDataList) { - DictCodeUtils.convertDictCodeToName(bizDataDTO); - } - page.setRecords(bizDataList); - return page; - } - - @Override - public DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception { - return baseMapper.latestBizData(request.getDevCode()); - } - } diff --git a/casic-iot-web/src/main/java/com/casic/missiles/controller/BusConfigController.java b/casic-iot-web/src/main/java/com/casic/missiles/controller/BusConfigController.java index 8c9ab4c..2854f94 100644 --- a/casic-iot-web/src/main/java/com/casic/missiles/controller/BusConfigController.java +++ b/casic-iot-web/src/main/java/com/casic/missiles/controller/BusConfigController.java @@ -9,9 +9,7 @@ import com.casic.missiles.dto.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.config.BusConfigDTO; -import com.casic.missiles.dto.device.DeviceListRequest; -import com.casic.missiles.dto.device.DeviceListVO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.BusConfig; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; @@ -45,13 +43,13 @@ @ApiOperation("分页列表") @PostMapping("/list-page") - public ReturnDTO> listPage(@RequestBody @Validated BusConfigDTO busConfigDTO, BindingResult bindingResult) throws Exception { + public ReturnDTO> listPage(@RequestBody @Validated BusConfigRequest request, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(busConfigService.listPage(page, busConfigDTO, dataScope))); + return ReturnUtil.success(super.packForBT(busConfigService.listPage(page, request, dataScope))); } @ApiOperation("新增配置") diff --git a/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceController.java b/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceController.java index 3728d88..9df26fc 100644 --- a/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceController.java +++ b/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceController.java @@ -17,6 +17,7 @@ import com.casic.missiles.mapper.common.SysCommonMapper; import com.casic.missiles.model.Device; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.IDeviceConfigService; import com.casic.missiles.service.IDeviceService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -45,6 +46,7 @@ public class DeviceController extends ExportController { private final IDeviceService deviceService; + private final IDeviceConfigService deviceConfigService; private final AbstractPermissionContext iCommonPermissionService; @ApiOperation("分页列表") @@ -92,6 +94,12 @@ return ReturnUtil.success(deviceService.deviceDetail(idDTO.getId())); } + @ApiOperation("当前配置") + @GetMapping("/deviceConfig/{deviceId}") + public ReturnDTO deviceConfigDetail(@PathVariable Long deviceId) throws Exception{ + return ReturnUtil.success(deviceConfigService.getByDeviceId(deviceId)); + } + @ApiOperation("导出") @PostMapping("/list-export") public void export(@RequestBody @Validated DeviceListRequest request) throws Exception { diff --git a/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceDataController.java b/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceDataController.java index a4e7206..445eff8 100644 --- a/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceDataController.java +++ b/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceDataController.java @@ -14,17 +14,17 @@ import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.DeviceFrameLog; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.IDeviceBizDataService; import com.casic.missiles.service.IDeviceDataService; +import com.casic.missiles.service.IDeviceFrameLogService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -43,7 +43,9 @@ public class DeviceDataController extends ExportController { private final IDeviceDataService deviceDataService; + private final IDeviceBizDataService bizDataService; private final AbstractPermissionContext iCommonPermissionService; + private final IDeviceFrameLogService frameLogService; @ApiOperation("分页列表") @PostMapping("/list-page") @@ -61,13 +63,19 @@ public ReturnDTO> bizListPage(@RequestBody @Validated DeviceBizDataRequest request) throws Exception { DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(deviceDataService.listPageBizData(page, request, dataScope))); + return ReturnUtil.success(super.packForBT(bizDataService.listPageBizData(page, request, dataScope))); } @ApiOperation("查询最新数据") @PostMapping("/latestBizData") public ReturnDTO latestBizData(@RequestBody @Validated DeviceBizDataRequest request) throws Exception { - return ReturnUtil.success(deviceDataService.latestBizData(request)); + return ReturnUtil.success(bizDataService.latestBizData(request)); + } + + @ApiOperation("查询数据日志") + @GetMapping("/frameLog/{id}") + public ReturnDTO frameLogDetail(@PathVariable Long id) throws Exception { + return ReturnUtil.success(frameLogService.getById(id)); } @ApiOperation("导出") diff --git a/sensorhub-service-birmm/src/main/java/com/casic/missiles/frame/tag/config/DestIPTag.java b/sensorhub-service-birmm/src/main/java/com/casic/missiles/frame/tag/config/DestIPTag.java index 406fcd0..c4303e0 100644 --- a/sensorhub-service-birmm/src/main/java/com/casic/missiles/frame/tag/config/DestIPTag.java +++ b/sensorhub-service-birmm/src/main/java/com/casic/missiles/frame/tag/config/DestIPTag.java @@ -10,7 +10,7 @@ @EqualsAndHashCode(callSuper = true) @Data -@Component("ip") +@Component("destIp") public class DestIPTag extends BirmmBaseTag { final String DESTINATION_IP_TAG_OID = "10000022"; @@ -24,7 +24,7 @@ public JSONObject toJSON() { JSONObject obj = new JSONObject(); - obj.put("ip", ip); + obj.put("destIp", ip); return obj; } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java index 8810f65..917d069 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/BusConfigMapper.java @@ -3,7 +3,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.datascope.DataScope; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; import org.apache.ibatis.annotations.Param; @@ -20,7 +20,7 @@ public interface BusConfigMapper extends BaseMapper { List listPage(@Param("page") Page page, - @Param("request") BusConfigDTO request, + @Param("request") BusConfigRequest request, @Param("dataScope") DataScope dataScope); List findConfigListToBeSend(@Param("deviceId") Long deviceId); diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java index 383ed59..afae1d1 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceBizDataMapper.java @@ -1,8 +1,15 @@ package com.casic.missiles.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.model.DeviceFrameLog; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -11,4 +18,9 @@ */ public interface DeviceBizDataMapper extends BaseMapper { + List listPageBizData(@Param("page") Page page, + @Param("request") DeviceBizDataRequest request, + @Param("dataScope") DataScope dataScope); + + DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); } diff --git a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java index 134e4d8..5db8e56 100644 --- a/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java +++ b/casic-iot-dao/src/main/java/com/casic/missiles/mapper/DeviceDataMapper.java @@ -25,10 +25,4 @@ List listPage(@Param("page") Page page, @Param("request")DeviceDataListRequest request, @Param("dataScope") DataScope dataScope); - - List listPageBizData(@Param("page") Page page, - @Param("request") DeviceBizDataRequest request, - @Param("dataScope") DataScope dataScope); - DeviceBizDataDTO latestBizData(@Param("devCode") String devCode); - } diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml index 4f11813..c03699d 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceBizDataMapper.xml @@ -18,9 +18,87 @@ + + ${paramStr} + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi:ss')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + + DATA_FORMAT(#{column}, '%Y-m%-d% H%:i%:s%') + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime + + + + + + diff --git a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml index 07096d0..a43c552 100644 --- a/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml +++ b/casic-iot-dao/src/main/resources/mapper/DeviceDataMapper.xml @@ -36,10 +36,6 @@ id, devcode, device_type, cell, data_json, decrypt_before_data, decrypt_after_data, uptime, logtime - - id, frame_log_id, devcode, device_type, cell, pci, rsrp, snr, biz_type, value, uptime, logtime - - - - - - - - diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java deleted file mode 100644 index b9c5b5c..0000000 --- a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigDTO.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.casic.missiles.dto.config; - -import io.swagger.annotations.ApiModel; -import io.swagger.annotations.ApiModelProperty; -import lombok.Data; - -@Data -@ApiModel -public class BusConfigDTO { - - @ApiModelProperty(value = "配置类型", dataType = "Integer") - private Integer configType; - - @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") - private String devcode; - - @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") - private Integer status; - - @ApiModelProperty(value = "开始时间", dataType = "Integer") - private String beginTime; - - @ApiModelProperty(value = "结束时间", dataType = "Integer") - private String endTime; - -} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java new file mode 100644 index 0000000..31fb57e --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/BusConfigRequest.java @@ -0,0 +1,26 @@ +package com.casic.missiles.dto.config; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class BusConfigRequest { + + @ApiModelProperty(value = "配置类型", dataType = "Integer") + private Integer configType; + + @ApiModelProperty(value = "设备编号(非模糊查询)", dataType = "Integer") + private String devcode; + + @ApiModelProperty(value = "下发状态(字典值)", dataType = "Integer") + private Integer status; + + @ApiModelProperty(value = "开始时间", dataType = "Integer") + private String beginTime; + + @ApiModelProperty(value = "结束时间", dataType = "Integer") + private String endTime; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java new file mode 100644 index 0000000..51a2007 --- /dev/null +++ b/casic-iot-model/src/main/java/com/casic/missiles/dto/config/DeviceConfigDTO.java @@ -0,0 +1,57 @@ +package com.casic.missiles.dto.config; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; +import java.io.Serializable; +import java.time.LocalDateTime; +import java.util.List; +import java.util.Map; + +@Data +@ApiModel +public class DeviceConfigDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 设备编号 + */ + @TableField("device_id") + @ApiModelProperty(value = "设备id", dataType = "Long") + private Long deviceId; + + /** + * 设备编号 + */ + @TableField("devCode") + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCode; + + /** + * 下发配置内容 + */ + @TableField("config_json") + @ApiModelProperty(value = "[{\"repeat\":\"重传次数\"},{\"lowerLimit\":\"低报\"},{\"upperLimit\":\"高报\"},{\"interval\":\"采集时间\"},{\"period\":\"上传周期\"},{\"ip\":\"\"},{\"port\":\"\"}]", dataType = "String") + private String configJson; + + @TableField(exist = false) + @ApiModelProperty(value = "配置项", dataType = "List") + private List> configItemList; + + + @TableField("logtime") + @ApiModelProperty(value = "上传时间", dataType = "String") + private String logtime; + + /** + * 编号 + */ + @TableField("frame_log_id") + @ApiModelProperty(value = "上传数据日志ID", dataType = "Long") + private Long frameLogId; + +} diff --git a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java index b508cef..509cda9 100644 --- a/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java +++ b/casic-iot-model/src/main/java/com/casic/missiles/model/DeviceConfig.java @@ -1,19 +1,24 @@ package com.casic.missiles.model; +import com.alibaba.druid.sql.ast.statement.SQLForeignKeyImpl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; -import com.casic.missiles.annotation.DictCodeField; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.enums.DictCodeEnum; import io.swagger.annotations.ApiModelProperty; import lombok.Data; -import lombok.Getter; -import lombok.Setter; import javax.validation.constraints.NotNull; import java.io.Serializable; import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** *

@@ -63,4 +68,29 @@ @TableField("frame_log_id") private Long frameLogId; + public DeviceConfigDTO convertToDTO() { + DeviceConfigDTO dto = new DeviceConfigDTO(); + dto.setDeviceId(deviceId); + dto.setDevCode(devCode); + dto.setFrameLogId(frameLogId); + dto.setConfigJson(configJson); + dto.setLogtime(logtime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"))); + + List> configItemList = new ArrayList<>(); + JSONArray array = JSONArray.parseArray(configJson); + int i = 0; + for (Object item : array) { + JSONObject obj = (JSONObject) item; + Map config = new HashMap<>(); + for (String key : obj.keySet()) { + config.put("idx", i++); + config.put("cmd", key); + config.put("value", obj.get(key)); + } + configItemList.add(config); + } + dto.setConfigItemList(configItemList); + + return dto; + } } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java index 7fae695..720bb30 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IBusConfigService.java @@ -4,10 +4,8 @@ import com.baomidou.mybatisplus.extension.service.IService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.dto.ReturnDTO; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.model.BusConfig; -import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.RequestBody; import java.util.List; @@ -21,7 +19,7 @@ */ public interface IBusConfigService extends IService { - Page listPage(Page page, BusConfigDTO busConfigDTO, DataScope dataScope) throws Exception ; + Page listPage(Page page, BusConfigRequest busConfigRequest, DataScope dataScope) throws Exception ; ReturnDTO addBusConfig(BusConfig busConfig); diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java index 700de62..4f5029e 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceBizDataService.java @@ -1,6 +1,10 @@ package com.casic.missiles.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.model.DeviceBizData; /** @@ -13,4 +17,7 @@ */ public interface IDeviceBizDataService extends IService { + Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception; + + DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception; } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java index 8e8194f..647a0ff 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceConfigService.java @@ -1,6 +1,7 @@ package com.casic.missiles.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.model.DeviceConfig; /** @@ -13,5 +14,7 @@ */ public interface IDeviceConfigService extends IService { + DeviceConfigDTO getByDeviceId(Long deviceId); + void saveOrUpdateByDeviceId(DeviceConfig deviceConfig); } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java index 4f86d5b..28d7458 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/IDeviceDataService.java @@ -21,7 +21,4 @@ Page listPage(Page page, DeviceDataListRequest request, DataScope dataScope) throws Exception; - Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception; - DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception; - } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java index 7b902dd..4fc577c 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/BusConfigServiceImpl.java @@ -11,7 +11,7 @@ import com.casic.missiles.core.shiro.ShiroKit; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.config.BusConfigDTO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.BusConfigMapper; @@ -44,7 +44,7 @@ private final RedisCommon redisCommon; @Override - public Page listPage(Page page, BusConfigDTO request, DataScope dataScope) throws Exception { + public Page listPage(Page page, BusConfigRequest request, DataScope dataScope) throws Exception { List busConfigList = this.baseMapper.listPage(page, request, dataScope); for (BusConfig busConfig : busConfigList) { DictCodeUtils.convertDictCodeToName(busConfig); diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java index 9f3b5e6..bd9556e 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceBizDataServiceImpl.java @@ -1,12 +1,20 @@ package com.casic.missiles.service.impl; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.dto.data.DeviceBizDataDTO; +import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.mapper.DeviceBizDataMapper; import com.casic.missiles.model.DeviceBizData; import com.casic.missiles.service.IDeviceBizDataService; +import com.casic.missiles.util.DictCodeUtils; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import java.util.List; + /** * 设备业务数据 服务实现 */ @@ -14,4 +22,21 @@ @RequiredArgsConstructor public class DeviceBizDataServiceImpl extends ServiceImpl implements IDeviceBizDataService { + @Override + public Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception { + if (CollectionUtils.isEmpty(request.getIds())) { + request.setIds(null); + } + List bizDataList = baseMapper.listPageBizData(page, request, dataScope); + for (DeviceBizDataDTO bizDataDTO : bizDataList) { + DictCodeUtils.convertDictCodeToName(bizDataDTO); + } + page.setRecords(bizDataList); + return page; + } + + @Override + public DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception { + return baseMapper.latestBizData(request.getDevCode()); + } } diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java index 845f39d..ef302a4 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceConfigServiceImpl.java @@ -3,6 +3,7 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.dto.config.DeviceConfigDTO; import com.casic.missiles.mapper.DeviceConfigMapper; import com.casic.missiles.model.DeviceConfig; import com.casic.missiles.service.IDeviceConfigService; @@ -22,6 +23,18 @@ public class DeviceConfigServiceImpl extends ServiceImpl implements IDeviceConfigService { @Override + public DeviceConfigDTO getByDeviceId(Long deviceId) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("device_id", deviceId); + + DeviceConfig obj = baseMapper.selectOne(wrapper); + if (ObjectUtil.isNotNull(obj)) + return obj.convertToDTO(); + else + return null; + } + + @Override public void saveOrUpdateByDeviceId(DeviceConfig deviceConfig) { QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq("device_id", deviceConfig.getDeviceId()); diff --git a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceDataServiceImpl.java b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceDataServiceImpl.java index 2c71f49..9588ec9 100644 --- a/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceDataServiceImpl.java +++ b/casic-iot-service/src/main/java/com/casic/missiles/service/impl/DeviceDataServiceImpl.java @@ -41,22 +41,4 @@ return page; } - @Override - public Page listPageBizData(Page page, DeviceBizDataRequest request, DataScope dataScope) throws Exception { - if (CollectionUtils.isEmpty(request.getIds())) { - request.setIds(null); - } - List bizDataList = baseMapper.listPageBizData(page, request, dataScope); - for (DeviceBizDataDTO bizDataDTO : bizDataList) { - DictCodeUtils.convertDictCodeToName(bizDataDTO); - } - page.setRecords(bizDataList); - return page; - } - - @Override - public DeviceBizDataDTO latestBizData(DeviceBizDataRequest request) throws Exception { - return baseMapper.latestBizData(request.getDevCode()); - } - } diff --git a/casic-iot-web/src/main/java/com/casic/missiles/controller/BusConfigController.java b/casic-iot-web/src/main/java/com/casic/missiles/controller/BusConfigController.java index 8c9ab4c..2854f94 100644 --- a/casic-iot-web/src/main/java/com/casic/missiles/controller/BusConfigController.java +++ b/casic-iot-web/src/main/java/com/casic/missiles/controller/BusConfigController.java @@ -9,9 +9,7 @@ import com.casic.missiles.dto.IdsDTO; import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; -import com.casic.missiles.dto.config.BusConfigDTO; -import com.casic.missiles.dto.device.DeviceListRequest; -import com.casic.missiles.dto.device.DeviceListVO; +import com.casic.missiles.dto.config.BusConfigRequest; import com.casic.missiles.exception.BusinessException; import com.casic.missiles.model.BusConfig; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; @@ -45,13 +43,13 @@ @ApiOperation("分页列表") @PostMapping("/list-page") - public ReturnDTO> listPage(@RequestBody @Validated BusConfigDTO busConfigDTO, BindingResult bindingResult) throws Exception { + public ReturnDTO> listPage(@RequestBody @Validated BusConfigRequest request, BindingResult bindingResult) throws Exception { if (bindingResult.hasErrors()) { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); } DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(busConfigService.listPage(page, busConfigDTO, dataScope))); + return ReturnUtil.success(super.packForBT(busConfigService.listPage(page, request, dataScope))); } @ApiOperation("新增配置") diff --git a/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceController.java b/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceController.java index 3728d88..9df26fc 100644 --- a/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceController.java +++ b/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceController.java @@ -17,6 +17,7 @@ import com.casic.missiles.mapper.common.SysCommonMapper; import com.casic.missiles.model.Device; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.IDeviceConfigService; import com.casic.missiles.service.IDeviceService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -45,6 +46,7 @@ public class DeviceController extends ExportController { private final IDeviceService deviceService; + private final IDeviceConfigService deviceConfigService; private final AbstractPermissionContext iCommonPermissionService; @ApiOperation("分页列表") @@ -92,6 +94,12 @@ return ReturnUtil.success(deviceService.deviceDetail(idDTO.getId())); } + @ApiOperation("当前配置") + @GetMapping("/deviceConfig/{deviceId}") + public ReturnDTO deviceConfigDetail(@PathVariable Long deviceId) throws Exception{ + return ReturnUtil.success(deviceConfigService.getByDeviceId(deviceId)); + } + @ApiOperation("导出") @PostMapping("/list-export") public void export(@RequestBody @Validated DeviceListRequest request) throws Exception { diff --git a/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceDataController.java b/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceDataController.java index a4e7206..445eff8 100644 --- a/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceDataController.java +++ b/casic-iot-web/src/main/java/com/casic/missiles/controller/DeviceDataController.java @@ -14,17 +14,17 @@ import com.casic.missiles.dto.data.DeviceBizDataRequest; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.model.DeviceFrameLog; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.service.IDeviceBizDataService; import com.casic.missiles.service.IDeviceDataService; +import com.casic.missiles.service.IDeviceFrameLogService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.validation.BindingResult; import org.springframework.validation.annotation.Validated; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import java.util.List; @@ -43,7 +43,9 @@ public class DeviceDataController extends ExportController { private final IDeviceDataService deviceDataService; + private final IDeviceBizDataService bizDataService; private final AbstractPermissionContext iCommonPermissionService; + private final IDeviceFrameLogService frameLogService; @ApiOperation("分页列表") @PostMapping("/list-page") @@ -61,13 +63,19 @@ public ReturnDTO> bizListPage(@RequestBody @Validated DeviceBizDataRequest request) throws Exception { DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); Page page = PageFactory.defaultPage(); - return ReturnUtil.success(super.packForBT(deviceDataService.listPageBizData(page, request, dataScope))); + return ReturnUtil.success(super.packForBT(bizDataService.listPageBizData(page, request, dataScope))); } @ApiOperation("查询最新数据") @PostMapping("/latestBizData") public ReturnDTO latestBizData(@RequestBody @Validated DeviceBizDataRequest request) throws Exception { - return ReturnUtil.success(deviceDataService.latestBizData(request)); + return ReturnUtil.success(bizDataService.latestBizData(request)); + } + + @ApiOperation("查询数据日志") + @GetMapping("/frameLog/{id}") + public ReturnDTO frameLogDetail(@PathVariable Long id) throws Exception { + return ReturnUtil.success(frameLogService.getById(id)); } @ApiOperation("导出") diff --git a/sensorhub-service-birmm/src/main/java/com/casic/missiles/frame/tag/config/DestIPTag.java b/sensorhub-service-birmm/src/main/java/com/casic/missiles/frame/tag/config/DestIPTag.java index 406fcd0..c4303e0 100644 --- a/sensorhub-service-birmm/src/main/java/com/casic/missiles/frame/tag/config/DestIPTag.java +++ b/sensorhub-service-birmm/src/main/java/com/casic/missiles/frame/tag/config/DestIPTag.java @@ -10,7 +10,7 @@ @EqualsAndHashCode(callSuper = true) @Data -@Component("ip") +@Component("destIp") public class DestIPTag extends BirmmBaseTag { final String DESTINATION_IP_TAG_OID = "10000022"; @@ -24,7 +24,7 @@ public JSONObject toJSON() { JSONObject obj = new JSONObject(); - obj.put("ip", ip); + obj.put("destIp", ip); return obj; } diff --git a/sensorhub-service-birmm/src/main/java/com/casic/missiles/frame/tag/config/DestPortTag.java b/sensorhub-service-birmm/src/main/java/com/casic/missiles/frame/tag/config/DestPortTag.java index 05c583b..c51a132 100644 --- a/sensorhub-service-birmm/src/main/java/com/casic/missiles/frame/tag/config/DestPortTag.java +++ b/sensorhub-service-birmm/src/main/java/com/casic/missiles/frame/tag/config/DestPortTag.java @@ -10,7 +10,7 @@ @EqualsAndHashCode(callSuper = true) @Data -@Component("port") +@Component("destPort") public class DestPortTag extends BirmmBaseTag { final String DESTINATION_PORT_TAG_OID = "10000023"; @@ -24,7 +24,7 @@ public JSONObject toJSON() { JSONObject obj = new JSONObject(); - obj.put("port", port); + obj.put("destPort", port); return obj; }