diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java new file mode 100644 index 0000000..1279591 --- /dev/null +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; + +/** + * 卫星信号数据模型 + * + * @author a203 + */ +@Data +@TableName("satellite_signal") +public class Satellite extends Model { + private static final long serialVersionUID = 1L; + + /** + * 数据库主键 + */ + @TableId(value = "ID", type = IdType.ASSIGN_ID) + private Long id; + + /** + * 信号强度 + */ + @TableField("SIGNAL_VALUE") + private int signalValue; + /** + * GPS定位状态 + */ + @TableField("GPS_STATUS") + private String gpsStatus; + + /** + * DTU数据状态 + */ + @TableField("DTU_STATUS") + private String dtuStatus; + + /** + * SMS发送状态 + */ + @TableField("SMS_STATUS") + private String smsStatus; + + /** + * 通信时间 + */ + @TableField("RESP_TIME") + private String respTime; +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java new file mode 100644 index 0000000..1279591 --- /dev/null +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; + +/** + * 卫星信号数据模型 + * + * @author a203 + */ +@Data +@TableName("satellite_signal") +public class Satellite extends Model { + private static final long serialVersionUID = 1L; + + /** + * 数据库主键 + */ + @TableId(value = "ID", type = IdType.ASSIGN_ID) + private Long id; + + /** + * 信号强度 + */ + @TableField("SIGNAL_VALUE") + private int signalValue; + /** + * GPS定位状态 + */ + @TableField("GPS_STATUS") + private String gpsStatus; + + /** + * DTU数据状态 + */ + @TableField("DTU_STATUS") + private String dtuStatus; + + /** + * SMS发送状态 + */ + @TableField("SMS_STATUS") + private String smsStatus; + + /** + * 通信时间 + */ + @TableField("RESP_TIME") + private String respTime; +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java b/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java new file mode 100644 index 0000000..a8b1579 --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java @@ -0,0 +1,22 @@ +package com.casic.missiles.job; + +import com.casic.missiles.modular.system.service.ISatelliteService; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +/** + * @author a203 + */ +@Component +public class SatelliteQuartzJob { + private final ISatelliteService satelliteService; + + public SatelliteQuartzJob(ISatelliteService satelliteService) { + this.satelliteService = satelliteService; + } + + @Scheduled(cron = "0/30 * * * * ? ") + public void execute() { + satelliteService.saveSatellite(); + } +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java new file mode 100644 index 0000000..1279591 --- /dev/null +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; + +/** + * 卫星信号数据模型 + * + * @author a203 + */ +@Data +@TableName("satellite_signal") +public class Satellite extends Model { + private static final long serialVersionUID = 1L; + + /** + * 数据库主键 + */ + @TableId(value = "ID", type = IdType.ASSIGN_ID) + private Long id; + + /** + * 信号强度 + */ + @TableField("SIGNAL_VALUE") + private int signalValue; + /** + * GPS定位状态 + */ + @TableField("GPS_STATUS") + private String gpsStatus; + + /** + * DTU数据状态 + */ + @TableField("DTU_STATUS") + private String dtuStatus; + + /** + * SMS发送状态 + */ + @TableField("SMS_STATUS") + private String smsStatus; + + /** + * 通信时间 + */ + @TableField("RESP_TIME") + private String respTime; +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java b/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java new file mode 100644 index 0000000..a8b1579 --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java @@ -0,0 +1,22 @@ +package com.casic.missiles.job; + +import com.casic.missiles.modular.system.service.ISatelliteService; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +/** + * @author a203 + */ +@Component +public class SatelliteQuartzJob { + private final ISatelliteService satelliteService; + + public SatelliteQuartzJob(ISatelliteService satelliteService) { + this.satelliteService = satelliteService; + } + + @Scheduled(cron = "0/30 * * * * ? ") + public void execute() { + satelliteService.saveSatellite(); + } +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java index 7de57c0..c9a1682 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java @@ -3,8 +3,10 @@ import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.system.dto.RobotInfoDTO; +import com.casic.missiles.modular.system.dto.SatelliteSignalDTO; import com.casic.missiles.modular.system.dto.ShelterPositionDTO; import com.casic.missiles.modular.system.service.IRobotService; +import com.casic.missiles.modular.system.service.ISatelliteService; import com.casic.missiles.modular.system.service.IShelterPositionService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @@ -26,11 +28,14 @@ private final IRobotService robotService; private final IShelterPositionService positionService; + private final ISatelliteService satelliteService; public ShelterController(IRobotService robotService, - IShelterPositionService positionService) { + IShelterPositionService positionService, + ISatelliteService satelliteService) { this.robotService = robotService; this.positionService = positionService; + this.satelliteService = satelliteService; } /** @@ -62,4 +67,14 @@ ShelterPositionDTO positionDTO = positionService.selectShelterPosition(); return ResponseData.success(positionDTO); } + + /** + * 卫星信号 + */ + @GetMapping(value = "/satelliteSignal") + @ResponseBody + public Object signal() { + SatelliteSignalDTO signalDTO = satelliteService.selectSatelliteSignal(); + return ResponseData.success(signalDTO); + } } diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java new file mode 100644 index 0000000..1279591 --- /dev/null +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; + +/** + * 卫星信号数据模型 + * + * @author a203 + */ +@Data +@TableName("satellite_signal") +public class Satellite extends Model { + private static final long serialVersionUID = 1L; + + /** + * 数据库主键 + */ + @TableId(value = "ID", type = IdType.ASSIGN_ID) + private Long id; + + /** + * 信号强度 + */ + @TableField("SIGNAL_VALUE") + private int signalValue; + /** + * GPS定位状态 + */ + @TableField("GPS_STATUS") + private String gpsStatus; + + /** + * DTU数据状态 + */ + @TableField("DTU_STATUS") + private String dtuStatus; + + /** + * SMS发送状态 + */ + @TableField("SMS_STATUS") + private String smsStatus; + + /** + * 通信时间 + */ + @TableField("RESP_TIME") + private String respTime; +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java b/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java new file mode 100644 index 0000000..a8b1579 --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java @@ -0,0 +1,22 @@ +package com.casic.missiles.job; + +import com.casic.missiles.modular.system.service.ISatelliteService; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +/** + * @author a203 + */ +@Component +public class SatelliteQuartzJob { + private final ISatelliteService satelliteService; + + public SatelliteQuartzJob(ISatelliteService satelliteService) { + this.satelliteService = satelliteService; + } + + @Scheduled(cron = "0/30 * * * * ? ") + public void execute() { + satelliteService.saveSatellite(); + } +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java index 7de57c0..c9a1682 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java @@ -3,8 +3,10 @@ import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.system.dto.RobotInfoDTO; +import com.casic.missiles.modular.system.dto.SatelliteSignalDTO; import com.casic.missiles.modular.system.dto.ShelterPositionDTO; import com.casic.missiles.modular.system.service.IRobotService; +import com.casic.missiles.modular.system.service.ISatelliteService; import com.casic.missiles.modular.system.service.IShelterPositionService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @@ -26,11 +28,14 @@ private final IRobotService robotService; private final IShelterPositionService positionService; + private final ISatelliteService satelliteService; public ShelterController(IRobotService robotService, - IShelterPositionService positionService) { + IShelterPositionService positionService, + ISatelliteService satelliteService) { this.robotService = robotService; this.positionService = positionService; + this.satelliteService = satelliteService; } /** @@ -62,4 +67,14 @@ ShelterPositionDTO positionDTO = positionService.selectShelterPosition(); return ResponseData.success(positionDTO); } + + /** + * 卫星信号 + */ + @GetMapping(value = "/satelliteSignal") + @ResponseBody + public Object signal() { + SatelliteSignalDTO signalDTO = satelliteService.selectSatelliteSignal(); + return ResponseData.success(signalDTO); + } } diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/SatelliteMapper.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/SatelliteMapper.java new file mode 100644 index 0000000..eb342e3 --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/SatelliteMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.model.Satellite; + +import java.util.List; + +/** + * @author a203 + */ +public interface SatelliteMapper extends BaseMapper { + /** + * 获取最新的卫星信号 + * + * @return {@link List} + */ + Satellite selectLastOne(); +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java new file mode 100644 index 0000000..1279591 --- /dev/null +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; + +/** + * 卫星信号数据模型 + * + * @author a203 + */ +@Data +@TableName("satellite_signal") +public class Satellite extends Model { + private static final long serialVersionUID = 1L; + + /** + * 数据库主键 + */ + @TableId(value = "ID", type = IdType.ASSIGN_ID) + private Long id; + + /** + * 信号强度 + */ + @TableField("SIGNAL_VALUE") + private int signalValue; + /** + * GPS定位状态 + */ + @TableField("GPS_STATUS") + private String gpsStatus; + + /** + * DTU数据状态 + */ + @TableField("DTU_STATUS") + private String dtuStatus; + + /** + * SMS发送状态 + */ + @TableField("SMS_STATUS") + private String smsStatus; + + /** + * 通信时间 + */ + @TableField("RESP_TIME") + private String respTime; +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java b/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java new file mode 100644 index 0000000..a8b1579 --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java @@ -0,0 +1,22 @@ +package com.casic.missiles.job; + +import com.casic.missiles.modular.system.service.ISatelliteService; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +/** + * @author a203 + */ +@Component +public class SatelliteQuartzJob { + private final ISatelliteService satelliteService; + + public SatelliteQuartzJob(ISatelliteService satelliteService) { + this.satelliteService = satelliteService; + } + + @Scheduled(cron = "0/30 * * * * ? ") + public void execute() { + satelliteService.saveSatellite(); + } +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java index 7de57c0..c9a1682 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java @@ -3,8 +3,10 @@ import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.system.dto.RobotInfoDTO; +import com.casic.missiles.modular.system.dto.SatelliteSignalDTO; import com.casic.missiles.modular.system.dto.ShelterPositionDTO; import com.casic.missiles.modular.system.service.IRobotService; +import com.casic.missiles.modular.system.service.ISatelliteService; import com.casic.missiles.modular.system.service.IShelterPositionService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @@ -26,11 +28,14 @@ private final IRobotService robotService; private final IShelterPositionService positionService; + private final ISatelliteService satelliteService; public ShelterController(IRobotService robotService, - IShelterPositionService positionService) { + IShelterPositionService positionService, + ISatelliteService satelliteService) { this.robotService = robotService; this.positionService = positionService; + this.satelliteService = satelliteService; } /** @@ -62,4 +67,14 @@ ShelterPositionDTO positionDTO = positionService.selectShelterPosition(); return ResponseData.success(positionDTO); } + + /** + * 卫星信号 + */ + @GetMapping(value = "/satelliteSignal") + @ResponseBody + public Object signal() { + SatelliteSignalDTO signalDTO = satelliteService.selectSatelliteSignal(); + return ResponseData.success(signalDTO); + } } diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/SatelliteMapper.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/SatelliteMapper.java new file mode 100644 index 0000000..eb342e3 --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/SatelliteMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.model.Satellite; + +import java.util.List; + +/** + * @author a203 + */ +public interface SatelliteMapper extends BaseMapper { + /** + * 获取最新的卫星信号 + * + * @return {@link List} + */ + Satellite selectLastOne(); +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/ShelterPositionMapper.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/ShelterPositionMapper.java index 213d233..83cba30 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/ShelterPositionMapper.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/ShelterPositionMapper.java @@ -10,7 +10,7 @@ */ public interface ShelterPositionMapper extends BaseMapper { /** - * 获取报警记录-分页 + * 获取最新的方舱位置 * * @return {@link List} */ diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java new file mode 100644 index 0000000..1279591 --- /dev/null +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; + +/** + * 卫星信号数据模型 + * + * @author a203 + */ +@Data +@TableName("satellite_signal") +public class Satellite extends Model { + private static final long serialVersionUID = 1L; + + /** + * 数据库主键 + */ + @TableId(value = "ID", type = IdType.ASSIGN_ID) + private Long id; + + /** + * 信号强度 + */ + @TableField("SIGNAL_VALUE") + private int signalValue; + /** + * GPS定位状态 + */ + @TableField("GPS_STATUS") + private String gpsStatus; + + /** + * DTU数据状态 + */ + @TableField("DTU_STATUS") + private String dtuStatus; + + /** + * SMS发送状态 + */ + @TableField("SMS_STATUS") + private String smsStatus; + + /** + * 通信时间 + */ + @TableField("RESP_TIME") + private String respTime; +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java b/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java new file mode 100644 index 0000000..a8b1579 --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java @@ -0,0 +1,22 @@ +package com.casic.missiles.job; + +import com.casic.missiles.modular.system.service.ISatelliteService; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +/** + * @author a203 + */ +@Component +public class SatelliteQuartzJob { + private final ISatelliteService satelliteService; + + public SatelliteQuartzJob(ISatelliteService satelliteService) { + this.satelliteService = satelliteService; + } + + @Scheduled(cron = "0/30 * * * * ? ") + public void execute() { + satelliteService.saveSatellite(); + } +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java index 7de57c0..c9a1682 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java @@ -3,8 +3,10 @@ import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.system.dto.RobotInfoDTO; +import com.casic.missiles.modular.system.dto.SatelliteSignalDTO; import com.casic.missiles.modular.system.dto.ShelterPositionDTO; import com.casic.missiles.modular.system.service.IRobotService; +import com.casic.missiles.modular.system.service.ISatelliteService; import com.casic.missiles.modular.system.service.IShelterPositionService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @@ -26,11 +28,14 @@ private final IRobotService robotService; private final IShelterPositionService positionService; + private final ISatelliteService satelliteService; public ShelterController(IRobotService robotService, - IShelterPositionService positionService) { + IShelterPositionService positionService, + ISatelliteService satelliteService) { this.robotService = robotService; this.positionService = positionService; + this.satelliteService = satelliteService; } /** @@ -62,4 +67,14 @@ ShelterPositionDTO positionDTO = positionService.selectShelterPosition(); return ResponseData.success(positionDTO); } + + /** + * 卫星信号 + */ + @GetMapping(value = "/satelliteSignal") + @ResponseBody + public Object signal() { + SatelliteSignalDTO signalDTO = satelliteService.selectSatelliteSignal(); + return ResponseData.success(signalDTO); + } } diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/SatelliteMapper.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/SatelliteMapper.java new file mode 100644 index 0000000..eb342e3 --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/SatelliteMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.model.Satellite; + +import java.util.List; + +/** + * @author a203 + */ +public interface SatelliteMapper extends BaseMapper { + /** + * 获取最新的卫星信号 + * + * @return {@link List} + */ + Satellite selectLastOne(); +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/ShelterPositionMapper.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/ShelterPositionMapper.java index 213d233..83cba30 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/ShelterPositionMapper.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/ShelterPositionMapper.java @@ -10,7 +10,7 @@ */ public interface ShelterPositionMapper extends BaseMapper { /** - * 获取报警记录-分页 + * 获取最新的方舱位置 * * @return {@link List} */ diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/SatelliteMapper.xml b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/SatelliteMapper.xml new file mode 100644 index 0000000..bce0925 --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/SatelliteMapper.xml @@ -0,0 +1,22 @@ + + + + + + + ID AS id, + SIGNAL_VALUE AS signalValue, + GPS_STATUS AS gpsStatus, + DTU_STATUS AS dtuStatus, + SMS_STATUS AS smsStatus, + RESP_TIME AS respTime + + + + \ No newline at end of file diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java new file mode 100644 index 0000000..1279591 --- /dev/null +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; + +/** + * 卫星信号数据模型 + * + * @author a203 + */ +@Data +@TableName("satellite_signal") +public class Satellite extends Model { + private static final long serialVersionUID = 1L; + + /** + * 数据库主键 + */ + @TableId(value = "ID", type = IdType.ASSIGN_ID) + private Long id; + + /** + * 信号强度 + */ + @TableField("SIGNAL_VALUE") + private int signalValue; + /** + * GPS定位状态 + */ + @TableField("GPS_STATUS") + private String gpsStatus; + + /** + * DTU数据状态 + */ + @TableField("DTU_STATUS") + private String dtuStatus; + + /** + * SMS发送状态 + */ + @TableField("SMS_STATUS") + private String smsStatus; + + /** + * 通信时间 + */ + @TableField("RESP_TIME") + private String respTime; +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java b/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java new file mode 100644 index 0000000..a8b1579 --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java @@ -0,0 +1,22 @@ +package com.casic.missiles.job; + +import com.casic.missiles.modular.system.service.ISatelliteService; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +/** + * @author a203 + */ +@Component +public class SatelliteQuartzJob { + private final ISatelliteService satelliteService; + + public SatelliteQuartzJob(ISatelliteService satelliteService) { + this.satelliteService = satelliteService; + } + + @Scheduled(cron = "0/30 * * * * ? ") + public void execute() { + satelliteService.saveSatellite(); + } +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java index 7de57c0..c9a1682 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java @@ -3,8 +3,10 @@ import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.system.dto.RobotInfoDTO; +import com.casic.missiles.modular.system.dto.SatelliteSignalDTO; import com.casic.missiles.modular.system.dto.ShelterPositionDTO; import com.casic.missiles.modular.system.service.IRobotService; +import com.casic.missiles.modular.system.service.ISatelliteService; import com.casic.missiles.modular.system.service.IShelterPositionService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @@ -26,11 +28,14 @@ private final IRobotService robotService; private final IShelterPositionService positionService; + private final ISatelliteService satelliteService; public ShelterController(IRobotService robotService, - IShelterPositionService positionService) { + IShelterPositionService positionService, + ISatelliteService satelliteService) { this.robotService = robotService; this.positionService = positionService; + this.satelliteService = satelliteService; } /** @@ -62,4 +67,14 @@ ShelterPositionDTO positionDTO = positionService.selectShelterPosition(); return ResponseData.success(positionDTO); } + + /** + * 卫星信号 + */ + @GetMapping(value = "/satelliteSignal") + @ResponseBody + public Object signal() { + SatelliteSignalDTO signalDTO = satelliteService.selectSatelliteSignal(); + return ResponseData.success(signalDTO); + } } diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/SatelliteMapper.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/SatelliteMapper.java new file mode 100644 index 0000000..eb342e3 --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/SatelliteMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.model.Satellite; + +import java.util.List; + +/** + * @author a203 + */ +public interface SatelliteMapper extends BaseMapper { + /** + * 获取最新的卫星信号 + * + * @return {@link List} + */ + Satellite selectLastOne(); +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/ShelterPositionMapper.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/ShelterPositionMapper.java index 213d233..83cba30 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/ShelterPositionMapper.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/ShelterPositionMapper.java @@ -10,7 +10,7 @@ */ public interface ShelterPositionMapper extends BaseMapper { /** - * 获取报警记录-分页 + * 获取最新的方舱位置 * * @return {@link List} */ diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/SatelliteMapper.xml b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/SatelliteMapper.xml new file mode 100644 index 0000000..bce0925 --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/SatelliteMapper.xml @@ -0,0 +1,22 @@ + + + + + + + ID AS id, + SIGNAL_VALUE AS signalValue, + GPS_STATUS AS gpsStatus, + DTU_STATUS AS dtuStatus, + SMS_STATUS AS smsStatus, + RESP_TIME AS respTime + + + + \ No newline at end of file diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dto/SatelliteSignalDTO.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dto/SatelliteSignalDTO.java new file mode 100644 index 0000000..efeb48a --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dto/SatelliteSignalDTO.java @@ -0,0 +1,42 @@ +package com.casic.missiles.modular.system.dto; + +import com.casic.missiles.modular.system.model.Satellite; +import lombok.Data; + +/** + * @author a203 + */ +@Data +public class SatelliteSignalDTO { + /** + * 信号强度 + */ + private Integer signalValue; + /** + * GPS定位状态 + */ + private String gpsStatus; + + /** + * DTU数据状态 + */ + private String dtuStatus; + + /** + * SMS发送状态 + */ + private String smsStatus; + + /** + * 时间 + */ + private String time; + + public SatelliteSignalDTO(Satellite satellite) { + this.signalValue = satellite.getSignalValue(); + this.gpsStatus = satellite.getGpsStatus(); + this.dtuStatus = satellite.getDtuStatus(); + this.smsStatus = satellite.getSmsStatus(); + this.time = satellite.getRespTime(); + } +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java new file mode 100644 index 0000000..1279591 --- /dev/null +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; + +/** + * 卫星信号数据模型 + * + * @author a203 + */ +@Data +@TableName("satellite_signal") +public class Satellite extends Model { + private static final long serialVersionUID = 1L; + + /** + * 数据库主键 + */ + @TableId(value = "ID", type = IdType.ASSIGN_ID) + private Long id; + + /** + * 信号强度 + */ + @TableField("SIGNAL_VALUE") + private int signalValue; + /** + * GPS定位状态 + */ + @TableField("GPS_STATUS") + private String gpsStatus; + + /** + * DTU数据状态 + */ + @TableField("DTU_STATUS") + private String dtuStatus; + + /** + * SMS发送状态 + */ + @TableField("SMS_STATUS") + private String smsStatus; + + /** + * 通信时间 + */ + @TableField("RESP_TIME") + private String respTime; +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java b/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java new file mode 100644 index 0000000..a8b1579 --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java @@ -0,0 +1,22 @@ +package com.casic.missiles.job; + +import com.casic.missiles.modular.system.service.ISatelliteService; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +/** + * @author a203 + */ +@Component +public class SatelliteQuartzJob { + private final ISatelliteService satelliteService; + + public SatelliteQuartzJob(ISatelliteService satelliteService) { + this.satelliteService = satelliteService; + } + + @Scheduled(cron = "0/30 * * * * ? ") + public void execute() { + satelliteService.saveSatellite(); + } +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java index 7de57c0..c9a1682 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java @@ -3,8 +3,10 @@ import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.system.dto.RobotInfoDTO; +import com.casic.missiles.modular.system.dto.SatelliteSignalDTO; import com.casic.missiles.modular.system.dto.ShelterPositionDTO; import com.casic.missiles.modular.system.service.IRobotService; +import com.casic.missiles.modular.system.service.ISatelliteService; import com.casic.missiles.modular.system.service.IShelterPositionService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @@ -26,11 +28,14 @@ private final IRobotService robotService; private final IShelterPositionService positionService; + private final ISatelliteService satelliteService; public ShelterController(IRobotService robotService, - IShelterPositionService positionService) { + IShelterPositionService positionService, + ISatelliteService satelliteService) { this.robotService = robotService; this.positionService = positionService; + this.satelliteService = satelliteService; } /** @@ -62,4 +67,14 @@ ShelterPositionDTO positionDTO = positionService.selectShelterPosition(); return ResponseData.success(positionDTO); } + + /** + * 卫星信号 + */ + @GetMapping(value = "/satelliteSignal") + @ResponseBody + public Object signal() { + SatelliteSignalDTO signalDTO = satelliteService.selectSatelliteSignal(); + return ResponseData.success(signalDTO); + } } diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/SatelliteMapper.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/SatelliteMapper.java new file mode 100644 index 0000000..eb342e3 --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/SatelliteMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.model.Satellite; + +import java.util.List; + +/** + * @author a203 + */ +public interface SatelliteMapper extends BaseMapper { + /** + * 获取最新的卫星信号 + * + * @return {@link List} + */ + Satellite selectLastOne(); +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/ShelterPositionMapper.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/ShelterPositionMapper.java index 213d233..83cba30 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/ShelterPositionMapper.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/ShelterPositionMapper.java @@ -10,7 +10,7 @@ */ public interface ShelterPositionMapper extends BaseMapper { /** - * 获取报警记录-分页 + * 获取最新的方舱位置 * * @return {@link List} */ diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/SatelliteMapper.xml b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/SatelliteMapper.xml new file mode 100644 index 0000000..bce0925 --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/SatelliteMapper.xml @@ -0,0 +1,22 @@ + + + + + + + ID AS id, + SIGNAL_VALUE AS signalValue, + GPS_STATUS AS gpsStatus, + DTU_STATUS AS dtuStatus, + SMS_STATUS AS smsStatus, + RESP_TIME AS respTime + + + + \ No newline at end of file diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dto/SatelliteSignalDTO.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dto/SatelliteSignalDTO.java new file mode 100644 index 0000000..efeb48a --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dto/SatelliteSignalDTO.java @@ -0,0 +1,42 @@ +package com.casic.missiles.modular.system.dto; + +import com.casic.missiles.modular.system.model.Satellite; +import lombok.Data; + +/** + * @author a203 + */ +@Data +public class SatelliteSignalDTO { + /** + * 信号强度 + */ + private Integer signalValue; + /** + * GPS定位状态 + */ + private String gpsStatus; + + /** + * DTU数据状态 + */ + private String dtuStatus; + + /** + * SMS发送状态 + */ + private String smsStatus; + + /** + * 时间 + */ + private String time; + + public SatelliteSignalDTO(Satellite satellite) { + this.signalValue = satellite.getSignalValue(); + this.gpsStatus = satellite.getGpsStatus(); + this.dtuStatus = satellite.getDtuStatus(); + this.smsStatus = satellite.getSmsStatus(); + this.time = satellite.getRespTime(); + } +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/ISatelliteService.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/ISatelliteService.java new file mode 100644 index 0000000..b6d56fb --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/ISatelliteService.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.SatelliteSignalDTO; +import com.casic.missiles.modular.system.model.Satellite; + +/** + * @author a203 + */ +public interface ISatelliteService extends IService { + /** + * 保存卫星信号 + */ + void saveSatellite(); + + /** + * 查询卫星信号 + * + * @return {@link SatelliteSignalDTO} + */ + SatelliteSignalDTO selectSatelliteSignal(); +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java new file mode 100644 index 0000000..1279591 --- /dev/null +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; + +/** + * 卫星信号数据模型 + * + * @author a203 + */ +@Data +@TableName("satellite_signal") +public class Satellite extends Model { + private static final long serialVersionUID = 1L; + + /** + * 数据库主键 + */ + @TableId(value = "ID", type = IdType.ASSIGN_ID) + private Long id; + + /** + * 信号强度 + */ + @TableField("SIGNAL_VALUE") + private int signalValue; + /** + * GPS定位状态 + */ + @TableField("GPS_STATUS") + private String gpsStatus; + + /** + * DTU数据状态 + */ + @TableField("DTU_STATUS") + private String dtuStatus; + + /** + * SMS发送状态 + */ + @TableField("SMS_STATUS") + private String smsStatus; + + /** + * 通信时间 + */ + @TableField("RESP_TIME") + private String respTime; +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java b/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java new file mode 100644 index 0000000..a8b1579 --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java @@ -0,0 +1,22 @@ +package com.casic.missiles.job; + +import com.casic.missiles.modular.system.service.ISatelliteService; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +/** + * @author a203 + */ +@Component +public class SatelliteQuartzJob { + private final ISatelliteService satelliteService; + + public SatelliteQuartzJob(ISatelliteService satelliteService) { + this.satelliteService = satelliteService; + } + + @Scheduled(cron = "0/30 * * * * ? ") + public void execute() { + satelliteService.saveSatellite(); + } +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java index 7de57c0..c9a1682 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java @@ -3,8 +3,10 @@ import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.system.dto.RobotInfoDTO; +import com.casic.missiles.modular.system.dto.SatelliteSignalDTO; import com.casic.missiles.modular.system.dto.ShelterPositionDTO; import com.casic.missiles.modular.system.service.IRobotService; +import com.casic.missiles.modular.system.service.ISatelliteService; import com.casic.missiles.modular.system.service.IShelterPositionService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @@ -26,11 +28,14 @@ private final IRobotService robotService; private final IShelterPositionService positionService; + private final ISatelliteService satelliteService; public ShelterController(IRobotService robotService, - IShelterPositionService positionService) { + IShelterPositionService positionService, + ISatelliteService satelliteService) { this.robotService = robotService; this.positionService = positionService; + this.satelliteService = satelliteService; } /** @@ -62,4 +67,14 @@ ShelterPositionDTO positionDTO = positionService.selectShelterPosition(); return ResponseData.success(positionDTO); } + + /** + * 卫星信号 + */ + @GetMapping(value = "/satelliteSignal") + @ResponseBody + public Object signal() { + SatelliteSignalDTO signalDTO = satelliteService.selectSatelliteSignal(); + return ResponseData.success(signalDTO); + } } diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/SatelliteMapper.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/SatelliteMapper.java new file mode 100644 index 0000000..eb342e3 --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/SatelliteMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.model.Satellite; + +import java.util.List; + +/** + * @author a203 + */ +public interface SatelliteMapper extends BaseMapper { + /** + * 获取最新的卫星信号 + * + * @return {@link List} + */ + Satellite selectLastOne(); +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/ShelterPositionMapper.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/ShelterPositionMapper.java index 213d233..83cba30 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/ShelterPositionMapper.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/ShelterPositionMapper.java @@ -10,7 +10,7 @@ */ public interface ShelterPositionMapper extends BaseMapper { /** - * 获取报警记录-分页 + * 获取最新的方舱位置 * * @return {@link List} */ diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/SatelliteMapper.xml b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/SatelliteMapper.xml new file mode 100644 index 0000000..bce0925 --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/SatelliteMapper.xml @@ -0,0 +1,22 @@ + + + + + + + ID AS id, + SIGNAL_VALUE AS signalValue, + GPS_STATUS AS gpsStatus, + DTU_STATUS AS dtuStatus, + SMS_STATUS AS smsStatus, + RESP_TIME AS respTime + + + + \ No newline at end of file diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dto/SatelliteSignalDTO.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dto/SatelliteSignalDTO.java new file mode 100644 index 0000000..efeb48a --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dto/SatelliteSignalDTO.java @@ -0,0 +1,42 @@ +package com.casic.missiles.modular.system.dto; + +import com.casic.missiles.modular.system.model.Satellite; +import lombok.Data; + +/** + * @author a203 + */ +@Data +public class SatelliteSignalDTO { + /** + * 信号强度 + */ + private Integer signalValue; + /** + * GPS定位状态 + */ + private String gpsStatus; + + /** + * DTU数据状态 + */ + private String dtuStatus; + + /** + * SMS发送状态 + */ + private String smsStatus; + + /** + * 时间 + */ + private String time; + + public SatelliteSignalDTO(Satellite satellite) { + this.signalValue = satellite.getSignalValue(); + this.gpsStatus = satellite.getGpsStatus(); + this.dtuStatus = satellite.getDtuStatus(); + this.smsStatus = satellite.getSmsStatus(); + this.time = satellite.getRespTime(); + } +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/ISatelliteService.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/ISatelliteService.java new file mode 100644 index 0000000..b6d56fb --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/ISatelliteService.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.SatelliteSignalDTO; +import com.casic.missiles.modular.system.model.Satellite; + +/** + * @author a203 + */ +public interface ISatelliteService extends IService { + /** + * 保存卫星信号 + */ + void saveSatellite(); + + /** + * 查询卫星信号 + * + * @return {@link SatelliteSignalDTO} + */ + SatelliteSignalDTO selectSatelliteSignal(); +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/impl/SatelliteServiceImpl.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/impl/SatelliteServiceImpl.java new file mode 100644 index 0000000..f847cee --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/impl/SatelliteServiceImpl.java @@ -0,0 +1,96 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.SatelliteMapper; +import com.casic.missiles.modular.system.dto.SatelliteSignalDTO; +import com.casic.missiles.modular.system.model.Satellite; +import com.casic.missiles.modular.system.service.ISatelliteService; +import org.springframework.stereotype.Service; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Locale; + +/** + * 卫星信号数据信息 服务实现类 + * + * @author a203 + */ +@Service +public class SatelliteServiceImpl extends ServiceImpl implements ISatelliteService { + + public SatelliteServiceImpl() { + + } + + @Override + public void saveSatellite() { + //TODO 卫星通信获取卫星信号 + byte[] data = new byte[]{ + (byte) 0xA5, (byte) 0x5A, (byte) 0x0A, (byte) 0x05, + (byte) 0x58, + (byte) 0x00, + (byte) 0x01, + (byte) 0x02, + (byte) 0xFF, + (byte) 0xFF}; + Satellite satellite = new Satellite(); + satellite.setSignalValue(data[4]); + + String gpsStatus = ""; + switch (data[5]) { + case 0x00: + gpsStatus = "未定位"; + break; + case 0x01: + gpsStatus = "定位中"; + break; + default: + break; + } + satellite.setGpsStatus(gpsStatus); + + String dtuStatus = ""; + switch (data[6]) { + case 0x00: + dtuStatus = "不可用"; + break; + case 0x01: + dtuStatus = "空闲中"; + break; + case 0x02: + dtuStatus = "发送中"; + break; + default: + break; + } + satellite.setDtuStatus(dtuStatus); + + String smsStatus = ""; + switch (data[7]) { + case 0x00: + smsStatus = "不可用"; + break; + case 0x01: + smsStatus = "空闲中"; + break; + case 0x02: + smsStatus = "发送中"; + break; + default: + break; + } + satellite.setSmsStatus(smsStatus); + + Date date = new Date(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA); + satellite.setRespTime(dateFormat.format(date)); + save(satellite); + } + + @Override + public SatelliteSignalDTO selectSatelliteSignal() { + Satellite satellite = this.baseMapper.selectLastOne(); + return new SatelliteSignalDTO(satellite); + } +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java new file mode 100644 index 0000000..1279591 --- /dev/null +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Satellite.java @@ -0,0 +1,54 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; + +/** + * 卫星信号数据模型 + * + * @author a203 + */ +@Data +@TableName("satellite_signal") +public class Satellite extends Model { + private static final long serialVersionUID = 1L; + + /** + * 数据库主键 + */ + @TableId(value = "ID", type = IdType.ASSIGN_ID) + private Long id; + + /** + * 信号强度 + */ + @TableField("SIGNAL_VALUE") + private int signalValue; + /** + * GPS定位状态 + */ + @TableField("GPS_STATUS") + private String gpsStatus; + + /** + * DTU数据状态 + */ + @TableField("DTU_STATUS") + private String dtuStatus; + + /** + * SMS发送状态 + */ + @TableField("SMS_STATUS") + private String smsStatus; + + /** + * 通信时间 + */ + @TableField("RESP_TIME") + private String respTime; +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java b/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java new file mode 100644 index 0000000..a8b1579 --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/job/SatelliteQuartzJob.java @@ -0,0 +1,22 @@ +package com.casic.missiles.job; + +import com.casic.missiles.modular.system.service.ISatelliteService; +import org.springframework.scheduling.annotation.Scheduled; +import org.springframework.stereotype.Component; + +/** + * @author a203 + */ +@Component +public class SatelliteQuartzJob { + private final ISatelliteService satelliteService; + + public SatelliteQuartzJob(ISatelliteService satelliteService) { + this.satelliteService = satelliteService; + } + + @Scheduled(cron = "0/30 * * * * ? ") + public void execute() { + satelliteService.saveSatellite(); + } +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java index 7de57c0..c9a1682 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/controller/ShelterController.java @@ -3,8 +3,10 @@ import com.casic.missiles.core.base.controller.BaseController; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.system.dto.RobotInfoDTO; +import com.casic.missiles.modular.system.dto.SatelliteSignalDTO; import com.casic.missiles.modular.system.dto.ShelterPositionDTO; import com.casic.missiles.modular.system.service.IRobotService; +import com.casic.missiles.modular.system.service.ISatelliteService; import com.casic.missiles.modular.system.service.IShelterPositionService; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @@ -26,11 +28,14 @@ private final IRobotService robotService; private final IShelterPositionService positionService; + private final ISatelliteService satelliteService; public ShelterController(IRobotService robotService, - IShelterPositionService positionService) { + IShelterPositionService positionService, + ISatelliteService satelliteService) { this.robotService = robotService; this.positionService = positionService; + this.satelliteService = satelliteService; } /** @@ -62,4 +67,14 @@ ShelterPositionDTO positionDTO = positionService.selectShelterPosition(); return ResponseData.success(positionDTO); } + + /** + * 卫星信号 + */ + @GetMapping(value = "/satelliteSignal") + @ResponseBody + public Object signal() { + SatelliteSignalDTO signalDTO = satelliteService.selectSatelliteSignal(); + return ResponseData.success(signalDTO); + } } diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/SatelliteMapper.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/SatelliteMapper.java new file mode 100644 index 0000000..eb342e3 --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/SatelliteMapper.java @@ -0,0 +1,18 @@ +package com.casic.missiles.modular.system.dao; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.model.Satellite; + +import java.util.List; + +/** + * @author a203 + */ +public interface SatelliteMapper extends BaseMapper { + /** + * 获取最新的卫星信号 + * + * @return {@link List} + */ + Satellite selectLastOne(); +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/ShelterPositionMapper.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/ShelterPositionMapper.java index 213d233..83cba30 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/ShelterPositionMapper.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/ShelterPositionMapper.java @@ -10,7 +10,7 @@ */ public interface ShelterPositionMapper extends BaseMapper { /** - * 获取报警记录-分页 + * 获取最新的方舱位置 * * @return {@link List} */ diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/SatelliteMapper.xml b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/SatelliteMapper.xml new file mode 100644 index 0000000..bce0925 --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dao/mapping/SatelliteMapper.xml @@ -0,0 +1,22 @@ + + + + + + + ID AS id, + SIGNAL_VALUE AS signalValue, + GPS_STATUS AS gpsStatus, + DTU_STATUS AS dtuStatus, + SMS_STATUS AS smsStatus, + RESP_TIME AS respTime + + + + \ No newline at end of file diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/dto/SatelliteSignalDTO.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dto/SatelliteSignalDTO.java new file mode 100644 index 0000000..efeb48a --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/dto/SatelliteSignalDTO.java @@ -0,0 +1,42 @@ +package com.casic.missiles.modular.system.dto; + +import com.casic.missiles.modular.system.model.Satellite; +import lombok.Data; + +/** + * @author a203 + */ +@Data +public class SatelliteSignalDTO { + /** + * 信号强度 + */ + private Integer signalValue; + /** + * GPS定位状态 + */ + private String gpsStatus; + + /** + * DTU数据状态 + */ + private String dtuStatus; + + /** + * SMS发送状态 + */ + private String smsStatus; + + /** + * 时间 + */ + private String time; + + public SatelliteSignalDTO(Satellite satellite) { + this.signalValue = satellite.getSignalValue(); + this.gpsStatus = satellite.getGpsStatus(); + this.dtuStatus = satellite.getDtuStatus(); + this.smsStatus = satellite.getSmsStatus(); + this.time = satellite.getRespTime(); + } +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/ISatelliteService.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/ISatelliteService.java new file mode 100644 index 0000000..b6d56fb --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/ISatelliteService.java @@ -0,0 +1,22 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.SatelliteSignalDTO; +import com.casic.missiles.modular.system.model.Satellite; + +/** + * @author a203 + */ +public interface ISatelliteService extends IService { + /** + * 保存卫星信号 + */ + void saveSatellite(); + + /** + * 查询卫星信号 + * + * @return {@link SatelliteSignalDTO} + */ + SatelliteSignalDTO selectSatelliteSignal(); +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/impl/SatelliteServiceImpl.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/impl/SatelliteServiceImpl.java new file mode 100644 index 0000000..f847cee --- /dev/null +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/impl/SatelliteServiceImpl.java @@ -0,0 +1,96 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.SatelliteMapper; +import com.casic.missiles.modular.system.dto.SatelliteSignalDTO; +import com.casic.missiles.modular.system.model.Satellite; +import com.casic.missiles.modular.system.service.ISatelliteService; +import org.springframework.stereotype.Service; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Locale; + +/** + * 卫星信号数据信息 服务实现类 + * + * @author a203 + */ +@Service +public class SatelliteServiceImpl extends ServiceImpl implements ISatelliteService { + + public SatelliteServiceImpl() { + + } + + @Override + public void saveSatellite() { + //TODO 卫星通信获取卫星信号 + byte[] data = new byte[]{ + (byte) 0xA5, (byte) 0x5A, (byte) 0x0A, (byte) 0x05, + (byte) 0x58, + (byte) 0x00, + (byte) 0x01, + (byte) 0x02, + (byte) 0xFF, + (byte) 0xFF}; + Satellite satellite = new Satellite(); + satellite.setSignalValue(data[4]); + + String gpsStatus = ""; + switch (data[5]) { + case 0x00: + gpsStatus = "未定位"; + break; + case 0x01: + gpsStatus = "定位中"; + break; + default: + break; + } + satellite.setGpsStatus(gpsStatus); + + String dtuStatus = ""; + switch (data[6]) { + case 0x00: + dtuStatus = "不可用"; + break; + case 0x01: + dtuStatus = "空闲中"; + break; + case 0x02: + dtuStatus = "发送中"; + break; + default: + break; + } + satellite.setDtuStatus(dtuStatus); + + String smsStatus = ""; + switch (data[7]) { + case 0x00: + smsStatus = "不可用"; + break; + case 0x01: + smsStatus = "空闲中"; + break; + case 0x02: + smsStatus = "发送中"; + break; + default: + break; + } + satellite.setSmsStatus(smsStatus); + + Date date = new Date(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.CHINA); + satellite.setRespTime(dateFormat.format(date)); + save(satellite); + } + + @Override + public SatelliteSignalDTO selectSatelliteSignal() { + Satellite satellite = this.baseMapper.selectLastOne(); + return new SatelliteSignalDTO(satellite); + } +} diff --git a/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/impl/ShelterPositionServiceImpl.java b/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/impl/ShelterPositionServiceImpl.java index 4a04467..aac92d4 100644 --- a/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/impl/ShelterPositionServiceImpl.java +++ b/casic-shelter/src/main/java/com/casic/missiles/modular/system/service/impl/ShelterPositionServiceImpl.java @@ -1,12 +1,10 @@ package com.casic.missiles.modular.system.service.impl; -import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.system.dao.ShelterPositionMapper; import com.casic.missiles.modular.system.dto.ShelterPositionDTO; import com.casic.missiles.modular.system.model.ShelterPosition; import com.casic.missiles.modular.system.service.IShelterPositionService; -import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; /** @@ -14,7 +12,6 @@ * * @author a203 */ -@Slf4j @Service public class ShelterPositionServiceImpl extends ServiceImpl implements IShelterPositionService { @@ -25,7 +22,6 @@ @Override public ShelterPositionDTO selectShelterPosition() { ShelterPosition shelterPosition = this.baseMapper.selectLastOne(); - log.info(JSON.toJSONString(shelterPosition)); return new ShelterPositionDTO(shelterPosition); } }