diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml new file mode 100644 index 0000000..07ae89f --- /dev/null +++ b/casic-alarm/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + com.casic + casic-template + ../pom.xml + 2.0.0 + + + casic-alarm + 2.0.0 + jar + casic-alarm + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + com.casic + casic-server-support + 1.0.0 + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml new file mode 100644 index 0000000..07ae89f --- /dev/null +++ b/casic-alarm/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + com.casic + casic-template + ../pom.xml + 2.0.0 + + + casic-alarm + 2.0.0 + jar + casic-alarm + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + com.casic + casic-server-support + 1.0.0 + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java new file mode 100644 index 0000000..4f1d54c --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +/** + * 报警阈值设置控制器 + * + * @author a203 + */ +@Controller +@RequestMapping("/alarm") +public class AlarmController { + private final IAlarmService alarmService; + + public AlarmController(IAlarmService alarmService) { + this.alarmService = alarmService; + } + + /** + * 获取最新的阈值设置 + */ + @GetMapping(value = "/recentValue") + @ResponseBody + public Object recentValue() { + AlarmDTO alarmDTO = alarmService.recentValue(); + return ResponseData.success(alarmDTO); + } + + /** + * 设置阈值 + */ + @PostMapping(value = "/update") + @ResponseBody + public Object update(@RequestBody Alarm waring) { + alarmService.save(waring); + return ResponseData.success(); + } +} diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml new file mode 100644 index 0000000..07ae89f --- /dev/null +++ b/casic-alarm/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + com.casic + casic-template + ../pom.xml + 2.0.0 + + + casic-alarm + 2.0.0 + jar + casic-alarm + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + com.casic + casic-server-support + 1.0.0 + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java new file mode 100644 index 0000000..4f1d54c --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +/** + * 报警阈值设置控制器 + * + * @author a203 + */ +@Controller +@RequestMapping("/alarm") +public class AlarmController { + private final IAlarmService alarmService; + + public AlarmController(IAlarmService alarmService) { + this.alarmService = alarmService; + } + + /** + * 获取最新的阈值设置 + */ + @GetMapping(value = "/recentValue") + @ResponseBody + public Object recentValue() { + AlarmDTO alarmDTO = alarmService.recentValue(); + return ResponseData.success(alarmDTO); + } + + /** + * 设置阈值 + */ + @PostMapping(value = "/update") + @ResponseBody + public Object update(@RequestBody Alarm waring) { + alarmService.save(waring); + return ResponseData.success(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java new file mode 100644 index 0000000..a8f63fe --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dao; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * 报警数据信息 Mapper 接口 + * + * @author a203 + */ +public interface AlarmMapper extends BaseMapper { + +} diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml new file mode 100644 index 0000000..07ae89f --- /dev/null +++ b/casic-alarm/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + com.casic + casic-template + ../pom.xml + 2.0.0 + + + casic-alarm + 2.0.0 + jar + casic-alarm + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + com.casic + casic-server-support + 1.0.0 + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java new file mode 100644 index 0000000..4f1d54c --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +/** + * 报警阈值设置控制器 + * + * @author a203 + */ +@Controller +@RequestMapping("/alarm") +public class AlarmController { + private final IAlarmService alarmService; + + public AlarmController(IAlarmService alarmService) { + this.alarmService = alarmService; + } + + /** + * 获取最新的阈值设置 + */ + @GetMapping(value = "/recentValue") + @ResponseBody + public Object recentValue() { + AlarmDTO alarmDTO = alarmService.recentValue(); + return ResponseData.success(alarmDTO); + } + + /** + * 设置阈值 + */ + @PostMapping(value = "/update") + @ResponseBody + public Object update(@RequestBody Alarm waring) { + alarmService.save(waring); + return ResponseData.success(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java new file mode 100644 index 0000000..a8f63fe --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dao; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * 报警数据信息 Mapper 接口 + * + * @author a203 + */ +public interface AlarmMapper extends BaseMapper { + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml new file mode 100644 index 0000000..fcfa970 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml new file mode 100644 index 0000000..07ae89f --- /dev/null +++ b/casic-alarm/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + com.casic + casic-template + ../pom.xml + 2.0.0 + + + casic-alarm + 2.0.0 + jar + casic-alarm + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + com.casic + casic-server-support + 1.0.0 + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java new file mode 100644 index 0000000..4f1d54c --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +/** + * 报警阈值设置控制器 + * + * @author a203 + */ +@Controller +@RequestMapping("/alarm") +public class AlarmController { + private final IAlarmService alarmService; + + public AlarmController(IAlarmService alarmService) { + this.alarmService = alarmService; + } + + /** + * 获取最新的阈值设置 + */ + @GetMapping(value = "/recentValue") + @ResponseBody + public Object recentValue() { + AlarmDTO alarmDTO = alarmService.recentValue(); + return ResponseData.success(alarmDTO); + } + + /** + * 设置阈值 + */ + @PostMapping(value = "/update") + @ResponseBody + public Object update(@RequestBody Alarm waring) { + alarmService.save(waring); + return ResponseData.success(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java new file mode 100644 index 0000000..a8f63fe --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dao; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * 报警数据信息 Mapper 接口 + * + * @author a203 + */ +public interface AlarmMapper extends BaseMapper { + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml new file mode 100644 index 0000000..fcfa970 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java new file mode 100644 index 0000000..a145ef4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.dto; + +import com.casic.missiles.modular.system.model.Alarm; +import lombok.Data; + +/** + * @author a203 + */ +@Data +public class AlarmDTO { + /** + * 台风与方舱和机器人的距离 + */ + private Double typhoonDistance; + + /** + * 台风风速 + */ + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + private Double shipDistance; + + /** + * 机器人电量 + */ + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + private Double robotDistance; + + /** + * 通信信号强度 + */ + private Integer satelliteSignal; + + public AlarmDTO(Alarm waring) { + this.typhoonDistance = waring.getTyphoonDistance(); + this.typhoonSpeed = waring.getTyphoonSpeed(); + this.shipDistance = waring.getShipDistance(); + this.robotBattery = waring.getRobotBattery(); + this.robotDistance = waring.getRobotDistance(); + this.satelliteSignal = waring.getSatelliteSignal(); + } +} diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml new file mode 100644 index 0000000..07ae89f --- /dev/null +++ b/casic-alarm/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + com.casic + casic-template + ../pom.xml + 2.0.0 + + + casic-alarm + 2.0.0 + jar + casic-alarm + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + com.casic + casic-server-support + 1.0.0 + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java new file mode 100644 index 0000000..4f1d54c --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +/** + * 报警阈值设置控制器 + * + * @author a203 + */ +@Controller +@RequestMapping("/alarm") +public class AlarmController { + private final IAlarmService alarmService; + + public AlarmController(IAlarmService alarmService) { + this.alarmService = alarmService; + } + + /** + * 获取最新的阈值设置 + */ + @GetMapping(value = "/recentValue") + @ResponseBody + public Object recentValue() { + AlarmDTO alarmDTO = alarmService.recentValue(); + return ResponseData.success(alarmDTO); + } + + /** + * 设置阈值 + */ + @PostMapping(value = "/update") + @ResponseBody + public Object update(@RequestBody Alarm waring) { + alarmService.save(waring); + return ResponseData.success(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java new file mode 100644 index 0000000..a8f63fe --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dao; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * 报警数据信息 Mapper 接口 + * + * @author a203 + */ +public interface AlarmMapper extends BaseMapper { + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml new file mode 100644 index 0000000..fcfa970 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java new file mode 100644 index 0000000..a145ef4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.dto; + +import com.casic.missiles.modular.system.model.Alarm; +import lombok.Data; + +/** + * @author a203 + */ +@Data +public class AlarmDTO { + /** + * 台风与方舱和机器人的距离 + */ + private Double typhoonDistance; + + /** + * 台风风速 + */ + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + private Double shipDistance; + + /** + * 机器人电量 + */ + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + private Double robotDistance; + + /** + * 通信信号强度 + */ + private Integer satelliteSignal; + + public AlarmDTO(Alarm waring) { + this.typhoonDistance = waring.getTyphoonDistance(); + this.typhoonSpeed = waring.getTyphoonSpeed(); + this.shipDistance = waring.getShipDistance(); + this.robotBattery = waring.getRobotBattery(); + this.robotDistance = waring.getRobotDistance(); + this.satelliteSignal = waring.getSatelliteSignal(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java new file mode 100644 index 0000000..d424b97 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * @author a203 + */ +public interface IAlarmService extends IService { + /** + * 获取最新的阈值设置 + * + * @return {@link AlarmDTO} + */ + AlarmDTO recentValue(); +} \ No newline at end of file diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml new file mode 100644 index 0000000..07ae89f --- /dev/null +++ b/casic-alarm/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + com.casic + casic-template + ../pom.xml + 2.0.0 + + + casic-alarm + 2.0.0 + jar + casic-alarm + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + com.casic + casic-server-support + 1.0.0 + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java new file mode 100644 index 0000000..4f1d54c --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +/** + * 报警阈值设置控制器 + * + * @author a203 + */ +@Controller +@RequestMapping("/alarm") +public class AlarmController { + private final IAlarmService alarmService; + + public AlarmController(IAlarmService alarmService) { + this.alarmService = alarmService; + } + + /** + * 获取最新的阈值设置 + */ + @GetMapping(value = "/recentValue") + @ResponseBody + public Object recentValue() { + AlarmDTO alarmDTO = alarmService.recentValue(); + return ResponseData.success(alarmDTO); + } + + /** + * 设置阈值 + */ + @PostMapping(value = "/update") + @ResponseBody + public Object update(@RequestBody Alarm waring) { + alarmService.save(waring); + return ResponseData.success(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java new file mode 100644 index 0000000..a8f63fe --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dao; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * 报警数据信息 Mapper 接口 + * + * @author a203 + */ +public interface AlarmMapper extends BaseMapper { + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml new file mode 100644 index 0000000..fcfa970 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java new file mode 100644 index 0000000..a145ef4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.dto; + +import com.casic.missiles.modular.system.model.Alarm; +import lombok.Data; + +/** + * @author a203 + */ +@Data +public class AlarmDTO { + /** + * 台风与方舱和机器人的距离 + */ + private Double typhoonDistance; + + /** + * 台风风速 + */ + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + private Double shipDistance; + + /** + * 机器人电量 + */ + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + private Double robotDistance; + + /** + * 通信信号强度 + */ + private Integer satelliteSignal; + + public AlarmDTO(Alarm waring) { + this.typhoonDistance = waring.getTyphoonDistance(); + this.typhoonSpeed = waring.getTyphoonSpeed(); + this.shipDistance = waring.getShipDistance(); + this.robotBattery = waring.getRobotBattery(); + this.robotDistance = waring.getRobotDistance(); + this.satelliteSignal = waring.getSatelliteSignal(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java new file mode 100644 index 0000000..d424b97 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * @author a203 + */ +public interface IAlarmService extends IService { + /** + * 获取最新的阈值设置 + * + * @return {@link AlarmDTO} + */ + AlarmDTO recentValue(); +} \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java new file mode 100644 index 0000000..af34f42 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java @@ -0,0 +1,34 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmMapper; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Service; + +/** + * @author a203 + */ +@Service +public class AlarmServiceImpl extends ServiceImpl implements IAlarmService { + + public AlarmServiceImpl() { + + } + + @Override + public AlarmDTO recentValue() { + AlarmDTO alarmDTO = null; + for (Alarm alarm : list()) { + alarmDTO = new AlarmDTO(alarm); + } + return alarmDTO; + } + + @Override + public boolean save(Alarm entity) { + remove(null); + return super.save(entity); + } +} diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml new file mode 100644 index 0000000..07ae89f --- /dev/null +++ b/casic-alarm/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + com.casic + casic-template + ../pom.xml + 2.0.0 + + + casic-alarm + 2.0.0 + jar + casic-alarm + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + com.casic + casic-server-support + 1.0.0 + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java new file mode 100644 index 0000000..4f1d54c --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +/** + * 报警阈值设置控制器 + * + * @author a203 + */ +@Controller +@RequestMapping("/alarm") +public class AlarmController { + private final IAlarmService alarmService; + + public AlarmController(IAlarmService alarmService) { + this.alarmService = alarmService; + } + + /** + * 获取最新的阈值设置 + */ + @GetMapping(value = "/recentValue") + @ResponseBody + public Object recentValue() { + AlarmDTO alarmDTO = alarmService.recentValue(); + return ResponseData.success(alarmDTO); + } + + /** + * 设置阈值 + */ + @PostMapping(value = "/update") + @ResponseBody + public Object update(@RequestBody Alarm waring) { + alarmService.save(waring); + return ResponseData.success(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java new file mode 100644 index 0000000..a8f63fe --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dao; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * 报警数据信息 Mapper 接口 + * + * @author a203 + */ +public interface AlarmMapper extends BaseMapper { + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml new file mode 100644 index 0000000..fcfa970 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java new file mode 100644 index 0000000..a145ef4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.dto; + +import com.casic.missiles.modular.system.model.Alarm; +import lombok.Data; + +/** + * @author a203 + */ +@Data +public class AlarmDTO { + /** + * 台风与方舱和机器人的距离 + */ + private Double typhoonDistance; + + /** + * 台风风速 + */ + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + private Double shipDistance; + + /** + * 机器人电量 + */ + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + private Double robotDistance; + + /** + * 通信信号强度 + */ + private Integer satelliteSignal; + + public AlarmDTO(Alarm waring) { + this.typhoonDistance = waring.getTyphoonDistance(); + this.typhoonSpeed = waring.getTyphoonSpeed(); + this.shipDistance = waring.getShipDistance(); + this.robotBattery = waring.getRobotBattery(); + this.robotDistance = waring.getRobotDistance(); + this.satelliteSignal = waring.getSatelliteSignal(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java new file mode 100644 index 0000000..d424b97 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * @author a203 + */ +public interface IAlarmService extends IService { + /** + * 获取最新的阈值设置 + * + * @return {@link AlarmDTO} + */ + AlarmDTO recentValue(); +} \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java new file mode 100644 index 0000000..af34f42 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java @@ -0,0 +1,34 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmMapper; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Service; + +/** + * @author a203 + */ +@Service +public class AlarmServiceImpl extends ServiceImpl implements IAlarmService { + + public AlarmServiceImpl() { + + } + + @Override + public AlarmDTO recentValue() { + AlarmDTO alarmDTO = null; + for (Alarm alarm : list()) { + alarmDTO = new AlarmDTO(alarm); + } + return alarmDTO; + } + + @Override + public boolean save(Alarm entity) { + remove(null); + return super.save(entity); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java new file mode 100644 index 0000000..3f48bd3 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java @@ -0,0 +1,10 @@ +package com.casic.missiles.socket; + +/** + * Web报警长链接 + * + * @author a203 + */ +public class AlarmSocket { + +} diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml new file mode 100644 index 0000000..07ae89f --- /dev/null +++ b/casic-alarm/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + com.casic + casic-template + ../pom.xml + 2.0.0 + + + casic-alarm + 2.0.0 + jar + casic-alarm + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + com.casic + casic-server-support + 1.0.0 + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java new file mode 100644 index 0000000..4f1d54c --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +/** + * 报警阈值设置控制器 + * + * @author a203 + */ +@Controller +@RequestMapping("/alarm") +public class AlarmController { + private final IAlarmService alarmService; + + public AlarmController(IAlarmService alarmService) { + this.alarmService = alarmService; + } + + /** + * 获取最新的阈值设置 + */ + @GetMapping(value = "/recentValue") + @ResponseBody + public Object recentValue() { + AlarmDTO alarmDTO = alarmService.recentValue(); + return ResponseData.success(alarmDTO); + } + + /** + * 设置阈值 + */ + @PostMapping(value = "/update") + @ResponseBody + public Object update(@RequestBody Alarm waring) { + alarmService.save(waring); + return ResponseData.success(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java new file mode 100644 index 0000000..a8f63fe --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dao; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * 报警数据信息 Mapper 接口 + * + * @author a203 + */ +public interface AlarmMapper extends BaseMapper { + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml new file mode 100644 index 0000000..fcfa970 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java new file mode 100644 index 0000000..a145ef4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.dto; + +import com.casic.missiles.modular.system.model.Alarm; +import lombok.Data; + +/** + * @author a203 + */ +@Data +public class AlarmDTO { + /** + * 台风与方舱和机器人的距离 + */ + private Double typhoonDistance; + + /** + * 台风风速 + */ + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + private Double shipDistance; + + /** + * 机器人电量 + */ + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + private Double robotDistance; + + /** + * 通信信号强度 + */ + private Integer satelliteSignal; + + public AlarmDTO(Alarm waring) { + this.typhoonDistance = waring.getTyphoonDistance(); + this.typhoonSpeed = waring.getTyphoonSpeed(); + this.shipDistance = waring.getShipDistance(); + this.robotBattery = waring.getRobotBattery(); + this.robotDistance = waring.getRobotDistance(); + this.satelliteSignal = waring.getSatelliteSignal(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java new file mode 100644 index 0000000..d424b97 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * @author a203 + */ +public interface IAlarmService extends IService { + /** + * 获取最新的阈值设置 + * + * @return {@link AlarmDTO} + */ + AlarmDTO recentValue(); +} \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java new file mode 100644 index 0000000..af34f42 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java @@ -0,0 +1,34 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmMapper; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Service; + +/** + * @author a203 + */ +@Service +public class AlarmServiceImpl extends ServiceImpl implements IAlarmService { + + public AlarmServiceImpl() { + + } + + @Override + public AlarmDTO recentValue() { + AlarmDTO alarmDTO = null; + for (Alarm alarm : list()) { + alarmDTO = new AlarmDTO(alarm); + } + return alarmDTO; + } + + @Override + public boolean save(Alarm entity) { + remove(null); + return super.save(entity); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java new file mode 100644 index 0000000..3f48bd3 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java @@ -0,0 +1,10 @@ +package com.casic.missiles.socket; + +/** + * Web报警长链接 + * + * @author a203 + */ +public class AlarmSocket { + +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java new file mode 100644 index 0000000..85304f0 --- /dev/null +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java @@ -0,0 +1,64 @@ +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("alarm_threshold") +public class Alarm extends Model { + private static final long serialVersionUID = 1L; + + /** + * 数据库主键 + *

+ * type = IdType.AUTO 是数据库自增 + */ + @TableId(value = "ID", type = IdType.AUTO) + private Integer id; + + /** + * 台风与方舱和机器人的距离 + */ + @TableField("TYPHOON_DIS") + private Double typhoonDistance; + + /** + * 台风风速 + */ + @TableField("TYPHOON_SPEED") + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + @TableField("SHIP_DIS") + private Double shipDistance; + + /** + * 机器人电量 + */ + @TableField("ROBOT_BATTERY") + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + @TableField("ROBOT_DIS") + private Double robotDistance; + + /** + * 通信信号强度 + * 不能用 SIGNAL/signal 关键字,会报错 + */ + @TableField("SATELLITE_SIGNAL") + private Integer satelliteSignal; +} diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml new file mode 100644 index 0000000..07ae89f --- /dev/null +++ b/casic-alarm/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + com.casic + casic-template + ../pom.xml + 2.0.0 + + + casic-alarm + 2.0.0 + jar + casic-alarm + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + com.casic + casic-server-support + 1.0.0 + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java new file mode 100644 index 0000000..4f1d54c --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +/** + * 报警阈值设置控制器 + * + * @author a203 + */ +@Controller +@RequestMapping("/alarm") +public class AlarmController { + private final IAlarmService alarmService; + + public AlarmController(IAlarmService alarmService) { + this.alarmService = alarmService; + } + + /** + * 获取最新的阈值设置 + */ + @GetMapping(value = "/recentValue") + @ResponseBody + public Object recentValue() { + AlarmDTO alarmDTO = alarmService.recentValue(); + return ResponseData.success(alarmDTO); + } + + /** + * 设置阈值 + */ + @PostMapping(value = "/update") + @ResponseBody + public Object update(@RequestBody Alarm waring) { + alarmService.save(waring); + return ResponseData.success(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java new file mode 100644 index 0000000..a8f63fe --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dao; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * 报警数据信息 Mapper 接口 + * + * @author a203 + */ +public interface AlarmMapper extends BaseMapper { + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml new file mode 100644 index 0000000..fcfa970 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java new file mode 100644 index 0000000..a145ef4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.dto; + +import com.casic.missiles.modular.system.model.Alarm; +import lombok.Data; + +/** + * @author a203 + */ +@Data +public class AlarmDTO { + /** + * 台风与方舱和机器人的距离 + */ + private Double typhoonDistance; + + /** + * 台风风速 + */ + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + private Double shipDistance; + + /** + * 机器人电量 + */ + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + private Double robotDistance; + + /** + * 通信信号强度 + */ + private Integer satelliteSignal; + + public AlarmDTO(Alarm waring) { + this.typhoonDistance = waring.getTyphoonDistance(); + this.typhoonSpeed = waring.getTyphoonSpeed(); + this.shipDistance = waring.getShipDistance(); + this.robotBattery = waring.getRobotBattery(); + this.robotDistance = waring.getRobotDistance(); + this.satelliteSignal = waring.getSatelliteSignal(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java new file mode 100644 index 0000000..d424b97 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * @author a203 + */ +public interface IAlarmService extends IService { + /** + * 获取最新的阈值设置 + * + * @return {@link AlarmDTO} + */ + AlarmDTO recentValue(); +} \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java new file mode 100644 index 0000000..af34f42 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java @@ -0,0 +1,34 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmMapper; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Service; + +/** + * @author a203 + */ +@Service +public class AlarmServiceImpl extends ServiceImpl implements IAlarmService { + + public AlarmServiceImpl() { + + } + + @Override + public AlarmDTO recentValue() { + AlarmDTO alarmDTO = null; + for (Alarm alarm : list()) { + alarmDTO = new AlarmDTO(alarm); + } + return alarmDTO; + } + + @Override + public boolean save(Alarm entity) { + remove(null); + return super.save(entity); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java new file mode 100644 index 0000000..3f48bd3 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java @@ -0,0 +1,10 @@ +package com.casic.missiles.socket; + +/** + * Web报警长链接 + * + * @author a203 + */ +public class AlarmSocket { + +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java new file mode 100644 index 0000000..85304f0 --- /dev/null +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java @@ -0,0 +1,64 @@ +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("alarm_threshold") +public class Alarm extends Model { + private static final long serialVersionUID = 1L; + + /** + * 数据库主键 + *

+ * type = IdType.AUTO 是数据库自增 + */ + @TableId(value = "ID", type = IdType.AUTO) + private Integer id; + + /** + * 台风与方舱和机器人的距离 + */ + @TableField("TYPHOON_DIS") + private Double typhoonDistance; + + /** + * 台风风速 + */ + @TableField("TYPHOON_SPEED") + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + @TableField("SHIP_DIS") + private Double shipDistance; + + /** + * 机器人电量 + */ + @TableField("ROBOT_BATTERY") + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + @TableField("ROBOT_DIS") + private Double robotDistance; + + /** + * 通信信号强度 + * 不能用 SIGNAL/signal 关键字,会报错 + */ + @TableField("SATELLITE_SIGNAL") + private Integer satelliteSignal; +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java deleted file mode 100644 index dd6545f..0000000 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java +++ /dev/null @@ -1,64 +0,0 @@ -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("warning_threshold") -public class Waring extends Model { - private static final long serialVersionUID = 1L; - - /** - * 数据库主键 - *

- * type = IdType.AUTO 是数据库自增 - */ - @TableId(value = "ID", type = IdType.AUTO) - private Integer id; - - /** - * 台风与方舱和机器人的距离 - */ - @TableField("TYPHOON_DIS") - private Double typhoonDistance; - - /** - * 台风风速 - */ - @TableField("TYPHOON_SPEED") - private Double typhoonSpeed; - - /** - * 船舶与机器人的距离 - */ - @TableField("SHIP_DIS") - private Double shipDistance; - - /** - * 机器人电量 - */ - @TableField("ROBOT_BATTERY") - private Double robotBattery; - - /** - * 机器人与方舱之间的距离 - */ - @TableField("ROBOT_DIS") - private Double robotDistance; - - /** - * 通信信号强度 - * 不能用 SIGNAL/signal 关键字,会报错 - */ - @TableField("SATELLITE_SIGNAL") - private Integer satelliteSignal; -} diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml new file mode 100644 index 0000000..07ae89f --- /dev/null +++ b/casic-alarm/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + com.casic + casic-template + ../pom.xml + 2.0.0 + + + casic-alarm + 2.0.0 + jar + casic-alarm + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + com.casic + casic-server-support + 1.0.0 + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java new file mode 100644 index 0000000..4f1d54c --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +/** + * 报警阈值设置控制器 + * + * @author a203 + */ +@Controller +@RequestMapping("/alarm") +public class AlarmController { + private final IAlarmService alarmService; + + public AlarmController(IAlarmService alarmService) { + this.alarmService = alarmService; + } + + /** + * 获取最新的阈值设置 + */ + @GetMapping(value = "/recentValue") + @ResponseBody + public Object recentValue() { + AlarmDTO alarmDTO = alarmService.recentValue(); + return ResponseData.success(alarmDTO); + } + + /** + * 设置阈值 + */ + @PostMapping(value = "/update") + @ResponseBody + public Object update(@RequestBody Alarm waring) { + alarmService.save(waring); + return ResponseData.success(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java new file mode 100644 index 0000000..a8f63fe --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dao; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * 报警数据信息 Mapper 接口 + * + * @author a203 + */ +public interface AlarmMapper extends BaseMapper { + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml new file mode 100644 index 0000000..fcfa970 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java new file mode 100644 index 0000000..a145ef4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.dto; + +import com.casic.missiles.modular.system.model.Alarm; +import lombok.Data; + +/** + * @author a203 + */ +@Data +public class AlarmDTO { + /** + * 台风与方舱和机器人的距离 + */ + private Double typhoonDistance; + + /** + * 台风风速 + */ + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + private Double shipDistance; + + /** + * 机器人电量 + */ + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + private Double robotDistance; + + /** + * 通信信号强度 + */ + private Integer satelliteSignal; + + public AlarmDTO(Alarm waring) { + this.typhoonDistance = waring.getTyphoonDistance(); + this.typhoonSpeed = waring.getTyphoonSpeed(); + this.shipDistance = waring.getShipDistance(); + this.robotBattery = waring.getRobotBattery(); + this.robotDistance = waring.getRobotDistance(); + this.satelliteSignal = waring.getSatelliteSignal(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java new file mode 100644 index 0000000..d424b97 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * @author a203 + */ +public interface IAlarmService extends IService { + /** + * 获取最新的阈值设置 + * + * @return {@link AlarmDTO} + */ + AlarmDTO recentValue(); +} \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java new file mode 100644 index 0000000..af34f42 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java @@ -0,0 +1,34 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmMapper; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Service; + +/** + * @author a203 + */ +@Service +public class AlarmServiceImpl extends ServiceImpl implements IAlarmService { + + public AlarmServiceImpl() { + + } + + @Override + public AlarmDTO recentValue() { + AlarmDTO alarmDTO = null; + for (Alarm alarm : list()) { + alarmDTO = new AlarmDTO(alarm); + } + return alarmDTO; + } + + @Override + public boolean save(Alarm entity) { + remove(null); + return super.save(entity); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java new file mode 100644 index 0000000..3f48bd3 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java @@ -0,0 +1,10 @@ +package com.casic.missiles.socket; + +/** + * Web报警长链接 + * + * @author a203 + */ +public class AlarmSocket { + +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java new file mode 100644 index 0000000..85304f0 --- /dev/null +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java @@ -0,0 +1,64 @@ +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("alarm_threshold") +public class Alarm extends Model { + private static final long serialVersionUID = 1L; + + /** + * 数据库主键 + *

+ * type = IdType.AUTO 是数据库自增 + */ + @TableId(value = "ID", type = IdType.AUTO) + private Integer id; + + /** + * 台风与方舱和机器人的距离 + */ + @TableField("TYPHOON_DIS") + private Double typhoonDistance; + + /** + * 台风风速 + */ + @TableField("TYPHOON_SPEED") + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + @TableField("SHIP_DIS") + private Double shipDistance; + + /** + * 机器人电量 + */ + @TableField("ROBOT_BATTERY") + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + @TableField("ROBOT_DIS") + private Double robotDistance; + + /** + * 通信信号强度 + * 不能用 SIGNAL/signal 关键字,会报错 + */ + @TableField("SATELLITE_SIGNAL") + private Integer satelliteSignal; +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java deleted file mode 100644 index dd6545f..0000000 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java +++ /dev/null @@ -1,64 +0,0 @@ -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("warning_threshold") -public class Waring extends Model { - private static final long serialVersionUID = 1L; - - /** - * 数据库主键 - *

- * type = IdType.AUTO 是数据库自增 - */ - @TableId(value = "ID", type = IdType.AUTO) - private Integer id; - - /** - * 台风与方舱和机器人的距离 - */ - @TableField("TYPHOON_DIS") - private Double typhoonDistance; - - /** - * 台风风速 - */ - @TableField("TYPHOON_SPEED") - private Double typhoonSpeed; - - /** - * 船舶与机器人的距离 - */ - @TableField("SHIP_DIS") - private Double shipDistance; - - /** - * 机器人电量 - */ - @TableField("ROBOT_BATTERY") - private Double robotBattery; - - /** - * 机器人与方舱之间的距离 - */ - @TableField("ROBOT_DIS") - private Double robotDistance; - - /** - * 通信信号强度 - * 不能用 SIGNAL/signal 关键字,会报错 - */ - @TableField("SATELLITE_SIGNAL") - private Integer satelliteSignal; -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java deleted file mode 100644 index b39b29c..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.casic.missiles.modular.system.constants; - -/** - * CRC16校验码 - * - * @author a203 - */ -public class CheckCode { - public static int[] CRC_HIGH = { - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, - 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40 - }; - - public static int[] CRC_LOW = { - 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4, - 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, - 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, - 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, - 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7, - 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, - 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, - 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, - 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2, - 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, - 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, - 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, - 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91, - 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, - 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, - 0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, - 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80, - 0x40 - }; -} diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml new file mode 100644 index 0000000..07ae89f --- /dev/null +++ b/casic-alarm/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + com.casic + casic-template + ../pom.xml + 2.0.0 + + + casic-alarm + 2.0.0 + jar + casic-alarm + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + com.casic + casic-server-support + 1.0.0 + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java new file mode 100644 index 0000000..4f1d54c --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +/** + * 报警阈值设置控制器 + * + * @author a203 + */ +@Controller +@RequestMapping("/alarm") +public class AlarmController { + private final IAlarmService alarmService; + + public AlarmController(IAlarmService alarmService) { + this.alarmService = alarmService; + } + + /** + * 获取最新的阈值设置 + */ + @GetMapping(value = "/recentValue") + @ResponseBody + public Object recentValue() { + AlarmDTO alarmDTO = alarmService.recentValue(); + return ResponseData.success(alarmDTO); + } + + /** + * 设置阈值 + */ + @PostMapping(value = "/update") + @ResponseBody + public Object update(@RequestBody Alarm waring) { + alarmService.save(waring); + return ResponseData.success(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java new file mode 100644 index 0000000..a8f63fe --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dao; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * 报警数据信息 Mapper 接口 + * + * @author a203 + */ +public interface AlarmMapper extends BaseMapper { + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml new file mode 100644 index 0000000..fcfa970 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java new file mode 100644 index 0000000..a145ef4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.dto; + +import com.casic.missiles.modular.system.model.Alarm; +import lombok.Data; + +/** + * @author a203 + */ +@Data +public class AlarmDTO { + /** + * 台风与方舱和机器人的距离 + */ + private Double typhoonDistance; + + /** + * 台风风速 + */ + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + private Double shipDistance; + + /** + * 机器人电量 + */ + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + private Double robotDistance; + + /** + * 通信信号强度 + */ + private Integer satelliteSignal; + + public AlarmDTO(Alarm waring) { + this.typhoonDistance = waring.getTyphoonDistance(); + this.typhoonSpeed = waring.getTyphoonSpeed(); + this.shipDistance = waring.getShipDistance(); + this.robotBattery = waring.getRobotBattery(); + this.robotDistance = waring.getRobotDistance(); + this.satelliteSignal = waring.getSatelliteSignal(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java new file mode 100644 index 0000000..d424b97 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * @author a203 + */ +public interface IAlarmService extends IService { + /** + * 获取最新的阈值设置 + * + * @return {@link AlarmDTO} + */ + AlarmDTO recentValue(); +} \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java new file mode 100644 index 0000000..af34f42 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java @@ -0,0 +1,34 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmMapper; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Service; + +/** + * @author a203 + */ +@Service +public class AlarmServiceImpl extends ServiceImpl implements IAlarmService { + + public AlarmServiceImpl() { + + } + + @Override + public AlarmDTO recentValue() { + AlarmDTO alarmDTO = null; + for (Alarm alarm : list()) { + alarmDTO = new AlarmDTO(alarm); + } + return alarmDTO; + } + + @Override + public boolean save(Alarm entity) { + remove(null); + return super.save(entity); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java new file mode 100644 index 0000000..3f48bd3 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java @@ -0,0 +1,10 @@ +package com.casic.missiles.socket; + +/** + * Web报警长链接 + * + * @author a203 + */ +public class AlarmSocket { + +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java new file mode 100644 index 0000000..85304f0 --- /dev/null +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java @@ -0,0 +1,64 @@ +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("alarm_threshold") +public class Alarm extends Model { + private static final long serialVersionUID = 1L; + + /** + * 数据库主键 + *

+ * type = IdType.AUTO 是数据库自增 + */ + @TableId(value = "ID", type = IdType.AUTO) + private Integer id; + + /** + * 台风与方舱和机器人的距离 + */ + @TableField("TYPHOON_DIS") + private Double typhoonDistance; + + /** + * 台风风速 + */ + @TableField("TYPHOON_SPEED") + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + @TableField("SHIP_DIS") + private Double shipDistance; + + /** + * 机器人电量 + */ + @TableField("ROBOT_BATTERY") + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + @TableField("ROBOT_DIS") + private Double robotDistance; + + /** + * 通信信号强度 + * 不能用 SIGNAL/signal 关键字,会报错 + */ + @TableField("SATELLITE_SIGNAL") + private Integer satelliteSignal; +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java deleted file mode 100644 index dd6545f..0000000 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java +++ /dev/null @@ -1,64 +0,0 @@ -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("warning_threshold") -public class Waring extends Model { - private static final long serialVersionUID = 1L; - - /** - * 数据库主键 - *

- * type = IdType.AUTO 是数据库自增 - */ - @TableId(value = "ID", type = IdType.AUTO) - private Integer id; - - /** - * 台风与方舱和机器人的距离 - */ - @TableField("TYPHOON_DIS") - private Double typhoonDistance; - - /** - * 台风风速 - */ - @TableField("TYPHOON_SPEED") - private Double typhoonSpeed; - - /** - * 船舶与机器人的距离 - */ - @TableField("SHIP_DIS") - private Double shipDistance; - - /** - * 机器人电量 - */ - @TableField("ROBOT_BATTERY") - private Double robotBattery; - - /** - * 机器人与方舱之间的距离 - */ - @TableField("ROBOT_DIS") - private Double robotDistance; - - /** - * 通信信号强度 - * 不能用 SIGNAL/signal 关键字,会报错 - */ - @TableField("SATELLITE_SIGNAL") - private Integer satelliteSignal; -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java deleted file mode 100644 index b39b29c..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.casic.missiles.modular.system.constants; - -/** - * CRC16校验码 - * - * @author a203 - */ -public class CheckCode { - public static int[] CRC_HIGH = { - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, - 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40 - }; - - public static int[] CRC_LOW = { - 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4, - 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, - 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, - 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, - 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7, - 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, - 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, - 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, - 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2, - 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, - 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, - 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, - 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91, - 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, - 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, - 0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, - 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80, - 0x40 - }; -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java index 9a3f00e..de35901 100644 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java +++ b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java @@ -14,12 +14,12 @@ import java.util.List; /** - * 热带气旋/台风控制器 + * 环境控制器 * * @author a203 */ @Controller -@RequestMapping("/typhoon") +@RequestMapping("/environment") public class TyphoonController { private final ITyphoonService typhoonService; @@ -30,7 +30,7 @@ /** * 台风列表 */ - @GetMapping(value = "/list") + @GetMapping(value = "/typhoonList") @ResponseBody public Object list() { List typhoonList = typhoonService.currentTyphoonList(); @@ -40,7 +40,7 @@ /** * 台风详情 */ - @GetMapping(value = "/detail/{typhoonId}") + @GetMapping(value = "/typhoonDetail/{typhoonId}") @ResponseBody public Object detail(@PathVariable("typhoonId") String typhoonId) { TyphoonDetailDTO detailDTO = typhoonService.typhoonDetail(typhoonId); diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml new file mode 100644 index 0000000..07ae89f --- /dev/null +++ b/casic-alarm/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + com.casic + casic-template + ../pom.xml + 2.0.0 + + + casic-alarm + 2.0.0 + jar + casic-alarm + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + com.casic + casic-server-support + 1.0.0 + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java new file mode 100644 index 0000000..4f1d54c --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +/** + * 报警阈值设置控制器 + * + * @author a203 + */ +@Controller +@RequestMapping("/alarm") +public class AlarmController { + private final IAlarmService alarmService; + + public AlarmController(IAlarmService alarmService) { + this.alarmService = alarmService; + } + + /** + * 获取最新的阈值设置 + */ + @GetMapping(value = "/recentValue") + @ResponseBody + public Object recentValue() { + AlarmDTO alarmDTO = alarmService.recentValue(); + return ResponseData.success(alarmDTO); + } + + /** + * 设置阈值 + */ + @PostMapping(value = "/update") + @ResponseBody + public Object update(@RequestBody Alarm waring) { + alarmService.save(waring); + return ResponseData.success(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java new file mode 100644 index 0000000..a8f63fe --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dao; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * 报警数据信息 Mapper 接口 + * + * @author a203 + */ +public interface AlarmMapper extends BaseMapper { + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml new file mode 100644 index 0000000..fcfa970 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java new file mode 100644 index 0000000..a145ef4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.dto; + +import com.casic.missiles.modular.system.model.Alarm; +import lombok.Data; + +/** + * @author a203 + */ +@Data +public class AlarmDTO { + /** + * 台风与方舱和机器人的距离 + */ + private Double typhoonDistance; + + /** + * 台风风速 + */ + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + private Double shipDistance; + + /** + * 机器人电量 + */ + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + private Double robotDistance; + + /** + * 通信信号强度 + */ + private Integer satelliteSignal; + + public AlarmDTO(Alarm waring) { + this.typhoonDistance = waring.getTyphoonDistance(); + this.typhoonSpeed = waring.getTyphoonSpeed(); + this.shipDistance = waring.getShipDistance(); + this.robotBattery = waring.getRobotBattery(); + this.robotDistance = waring.getRobotDistance(); + this.satelliteSignal = waring.getSatelliteSignal(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java new file mode 100644 index 0000000..d424b97 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * @author a203 + */ +public interface IAlarmService extends IService { + /** + * 获取最新的阈值设置 + * + * @return {@link AlarmDTO} + */ + AlarmDTO recentValue(); +} \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java new file mode 100644 index 0000000..af34f42 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java @@ -0,0 +1,34 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmMapper; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Service; + +/** + * @author a203 + */ +@Service +public class AlarmServiceImpl extends ServiceImpl implements IAlarmService { + + public AlarmServiceImpl() { + + } + + @Override + public AlarmDTO recentValue() { + AlarmDTO alarmDTO = null; + for (Alarm alarm : list()) { + alarmDTO = new AlarmDTO(alarm); + } + return alarmDTO; + } + + @Override + public boolean save(Alarm entity) { + remove(null); + return super.save(entity); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java new file mode 100644 index 0000000..3f48bd3 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java @@ -0,0 +1,10 @@ +package com.casic.missiles.socket; + +/** + * Web报警长链接 + * + * @author a203 + */ +public class AlarmSocket { + +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java new file mode 100644 index 0000000..85304f0 --- /dev/null +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java @@ -0,0 +1,64 @@ +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("alarm_threshold") +public class Alarm extends Model { + private static final long serialVersionUID = 1L; + + /** + * 数据库主键 + *

+ * type = IdType.AUTO 是数据库自增 + */ + @TableId(value = "ID", type = IdType.AUTO) + private Integer id; + + /** + * 台风与方舱和机器人的距离 + */ + @TableField("TYPHOON_DIS") + private Double typhoonDistance; + + /** + * 台风风速 + */ + @TableField("TYPHOON_SPEED") + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + @TableField("SHIP_DIS") + private Double shipDistance; + + /** + * 机器人电量 + */ + @TableField("ROBOT_BATTERY") + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + @TableField("ROBOT_DIS") + private Double robotDistance; + + /** + * 通信信号强度 + * 不能用 SIGNAL/signal 关键字,会报错 + */ + @TableField("SATELLITE_SIGNAL") + private Integer satelliteSignal; +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java deleted file mode 100644 index dd6545f..0000000 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java +++ /dev/null @@ -1,64 +0,0 @@ -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("warning_threshold") -public class Waring extends Model { - private static final long serialVersionUID = 1L; - - /** - * 数据库主键 - *

- * type = IdType.AUTO 是数据库自增 - */ - @TableId(value = "ID", type = IdType.AUTO) - private Integer id; - - /** - * 台风与方舱和机器人的距离 - */ - @TableField("TYPHOON_DIS") - private Double typhoonDistance; - - /** - * 台风风速 - */ - @TableField("TYPHOON_SPEED") - private Double typhoonSpeed; - - /** - * 船舶与机器人的距离 - */ - @TableField("SHIP_DIS") - private Double shipDistance; - - /** - * 机器人电量 - */ - @TableField("ROBOT_BATTERY") - private Double robotBattery; - - /** - * 机器人与方舱之间的距离 - */ - @TableField("ROBOT_DIS") - private Double robotDistance; - - /** - * 通信信号强度 - * 不能用 SIGNAL/signal 关键字,会报错 - */ - @TableField("SATELLITE_SIGNAL") - private Integer satelliteSignal; -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java deleted file mode 100644 index b39b29c..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.casic.missiles.modular.system.constants; - -/** - * CRC16校验码 - * - * @author a203 - */ -public class CheckCode { - public static int[] CRC_HIGH = { - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, - 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40 - }; - - public static int[] CRC_LOW = { - 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4, - 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, - 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, - 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, - 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7, - 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, - 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, - 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, - 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2, - 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, - 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, - 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, - 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91, - 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, - 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, - 0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, - 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80, - 0x40 - }; -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java index 9a3f00e..de35901 100644 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java +++ b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java @@ -14,12 +14,12 @@ import java.util.List; /** - * 热带气旋/台风控制器 + * 环境控制器 * * @author a203 */ @Controller -@RequestMapping("/typhoon") +@RequestMapping("/environment") public class TyphoonController { private final ITyphoonService typhoonService; @@ -30,7 +30,7 @@ /** * 台风列表 */ - @GetMapping(value = "/list") + @GetMapping(value = "/typhoonList") @ResponseBody public Object list() { List typhoonList = typhoonService.currentTyphoonList(); @@ -40,7 +40,7 @@ /** * 台风详情 */ - @GetMapping(value = "/detail/{typhoonId}") + @GetMapping(value = "/typhoonDetail/{typhoonId}") @ResponseBody public Object detail(@PathVariable("typhoonId") String typhoonId) { TyphoonDetailDTO detailDTO = typhoonService.typhoonDetail(typhoonId); diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java deleted file mode 100644 index 0bff6df..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.modular.system.dto.WaringDTO; -import com.casic.missiles.modular.system.model.Waring; -import com.casic.missiles.modular.system.service.IWarningService; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.*; - -/** - * 报警阈值设置控制器 - * - * @author a203 - */ -@Controller -@RequestMapping("/warning") -public class WarningController { - - private final IWarningService warningService; - - public WarningController(IWarningService warningService) { - this.warningService = warningService; - } - - /** - * 获取最新的阈值设置 - */ - @GetMapping(value = "/recentValue") - @ResponseBody - public Object recentValue() { - WaringDTO waringDTO = warningService.recentValue(); - return ResponseData.success(waringDTO); - } - - /** - * 设置阈值 - */ - @PostMapping(value = "/update") - @ResponseBody - public Object update(@RequestBody Waring waring) { - warningService.save(waring); - return ResponseData.success(); - } -} diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml new file mode 100644 index 0000000..07ae89f --- /dev/null +++ b/casic-alarm/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + com.casic + casic-template + ../pom.xml + 2.0.0 + + + casic-alarm + 2.0.0 + jar + casic-alarm + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + com.casic + casic-server-support + 1.0.0 + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java new file mode 100644 index 0000000..4f1d54c --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +/** + * 报警阈值设置控制器 + * + * @author a203 + */ +@Controller +@RequestMapping("/alarm") +public class AlarmController { + private final IAlarmService alarmService; + + public AlarmController(IAlarmService alarmService) { + this.alarmService = alarmService; + } + + /** + * 获取最新的阈值设置 + */ + @GetMapping(value = "/recentValue") + @ResponseBody + public Object recentValue() { + AlarmDTO alarmDTO = alarmService.recentValue(); + return ResponseData.success(alarmDTO); + } + + /** + * 设置阈值 + */ + @PostMapping(value = "/update") + @ResponseBody + public Object update(@RequestBody Alarm waring) { + alarmService.save(waring); + return ResponseData.success(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java new file mode 100644 index 0000000..a8f63fe --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dao; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * 报警数据信息 Mapper 接口 + * + * @author a203 + */ +public interface AlarmMapper extends BaseMapper { + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml new file mode 100644 index 0000000..fcfa970 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java new file mode 100644 index 0000000..a145ef4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.dto; + +import com.casic.missiles.modular.system.model.Alarm; +import lombok.Data; + +/** + * @author a203 + */ +@Data +public class AlarmDTO { + /** + * 台风与方舱和机器人的距离 + */ + private Double typhoonDistance; + + /** + * 台风风速 + */ + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + private Double shipDistance; + + /** + * 机器人电量 + */ + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + private Double robotDistance; + + /** + * 通信信号强度 + */ + private Integer satelliteSignal; + + public AlarmDTO(Alarm waring) { + this.typhoonDistance = waring.getTyphoonDistance(); + this.typhoonSpeed = waring.getTyphoonSpeed(); + this.shipDistance = waring.getShipDistance(); + this.robotBattery = waring.getRobotBattery(); + this.robotDistance = waring.getRobotDistance(); + this.satelliteSignal = waring.getSatelliteSignal(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java new file mode 100644 index 0000000..d424b97 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * @author a203 + */ +public interface IAlarmService extends IService { + /** + * 获取最新的阈值设置 + * + * @return {@link AlarmDTO} + */ + AlarmDTO recentValue(); +} \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java new file mode 100644 index 0000000..af34f42 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java @@ -0,0 +1,34 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmMapper; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Service; + +/** + * @author a203 + */ +@Service +public class AlarmServiceImpl extends ServiceImpl implements IAlarmService { + + public AlarmServiceImpl() { + + } + + @Override + public AlarmDTO recentValue() { + AlarmDTO alarmDTO = null; + for (Alarm alarm : list()) { + alarmDTO = new AlarmDTO(alarm); + } + return alarmDTO; + } + + @Override + public boolean save(Alarm entity) { + remove(null); + return super.save(entity); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java new file mode 100644 index 0000000..3f48bd3 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java @@ -0,0 +1,10 @@ +package com.casic.missiles.socket; + +/** + * Web报警长链接 + * + * @author a203 + */ +public class AlarmSocket { + +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java new file mode 100644 index 0000000..85304f0 --- /dev/null +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java @@ -0,0 +1,64 @@ +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("alarm_threshold") +public class Alarm extends Model { + private static final long serialVersionUID = 1L; + + /** + * 数据库主键 + *

+ * type = IdType.AUTO 是数据库自增 + */ + @TableId(value = "ID", type = IdType.AUTO) + private Integer id; + + /** + * 台风与方舱和机器人的距离 + */ + @TableField("TYPHOON_DIS") + private Double typhoonDistance; + + /** + * 台风风速 + */ + @TableField("TYPHOON_SPEED") + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + @TableField("SHIP_DIS") + private Double shipDistance; + + /** + * 机器人电量 + */ + @TableField("ROBOT_BATTERY") + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + @TableField("ROBOT_DIS") + private Double robotDistance; + + /** + * 通信信号强度 + * 不能用 SIGNAL/signal 关键字,会报错 + */ + @TableField("SATELLITE_SIGNAL") + private Integer satelliteSignal; +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java deleted file mode 100644 index dd6545f..0000000 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java +++ /dev/null @@ -1,64 +0,0 @@ -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("warning_threshold") -public class Waring extends Model { - private static final long serialVersionUID = 1L; - - /** - * 数据库主键 - *

- * type = IdType.AUTO 是数据库自增 - */ - @TableId(value = "ID", type = IdType.AUTO) - private Integer id; - - /** - * 台风与方舱和机器人的距离 - */ - @TableField("TYPHOON_DIS") - private Double typhoonDistance; - - /** - * 台风风速 - */ - @TableField("TYPHOON_SPEED") - private Double typhoonSpeed; - - /** - * 船舶与机器人的距离 - */ - @TableField("SHIP_DIS") - private Double shipDistance; - - /** - * 机器人电量 - */ - @TableField("ROBOT_BATTERY") - private Double robotBattery; - - /** - * 机器人与方舱之间的距离 - */ - @TableField("ROBOT_DIS") - private Double robotDistance; - - /** - * 通信信号强度 - * 不能用 SIGNAL/signal 关键字,会报错 - */ - @TableField("SATELLITE_SIGNAL") - private Integer satelliteSignal; -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java deleted file mode 100644 index b39b29c..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.casic.missiles.modular.system.constants; - -/** - * CRC16校验码 - * - * @author a203 - */ -public class CheckCode { - public static int[] CRC_HIGH = { - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, - 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40 - }; - - public static int[] CRC_LOW = { - 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4, - 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, - 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, - 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, - 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7, - 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, - 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, - 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, - 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2, - 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, - 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, - 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, - 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91, - 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, - 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, - 0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, - 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80, - 0x40 - }; -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java index 9a3f00e..de35901 100644 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java +++ b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java @@ -14,12 +14,12 @@ import java.util.List; /** - * 热带气旋/台风控制器 + * 环境控制器 * * @author a203 */ @Controller -@RequestMapping("/typhoon") +@RequestMapping("/environment") public class TyphoonController { private final ITyphoonService typhoonService; @@ -30,7 +30,7 @@ /** * 台风列表 */ - @GetMapping(value = "/list") + @GetMapping(value = "/typhoonList") @ResponseBody public Object list() { List typhoonList = typhoonService.currentTyphoonList(); @@ -40,7 +40,7 @@ /** * 台风详情 */ - @GetMapping(value = "/detail/{typhoonId}") + @GetMapping(value = "/typhoonDetail/{typhoonId}") @ResponseBody public Object detail(@PathVariable("typhoonId") String typhoonId) { TyphoonDetailDTO detailDTO = typhoonService.typhoonDetail(typhoonId); diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java deleted file mode 100644 index 0bff6df..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.modular.system.dto.WaringDTO; -import com.casic.missiles.modular.system.model.Waring; -import com.casic.missiles.modular.system.service.IWarningService; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.*; - -/** - * 报警阈值设置控制器 - * - * @author a203 - */ -@Controller -@RequestMapping("/warning") -public class WarningController { - - private final IWarningService warningService; - - public WarningController(IWarningService warningService) { - this.warningService = warningService; - } - - /** - * 获取最新的阈值设置 - */ - @GetMapping(value = "/recentValue") - @ResponseBody - public Object recentValue() { - WaringDTO waringDTO = warningService.recentValue(); - return ResponseData.success(waringDTO); - } - - /** - * 设置阈值 - */ - @PostMapping(value = "/update") - @ResponseBody - public Object update(@RequestBody Waring waring) { - warningService.save(waring); - return ResponseData.success(); - } -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/dao/WarningMapper.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/dao/WarningMapper.java deleted file mode 100644 index 15112e4..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/dao/WarningMapper.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.casic.missiles.modular.system.dao; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.modular.system.model.Waring; - -/** - * @author a203 - */ -public interface WarningMapper extends BaseMapper { -} diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml new file mode 100644 index 0000000..07ae89f --- /dev/null +++ b/casic-alarm/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + com.casic + casic-template + ../pom.xml + 2.0.0 + + + casic-alarm + 2.0.0 + jar + casic-alarm + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + com.casic + casic-server-support + 1.0.0 + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java new file mode 100644 index 0000000..4f1d54c --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +/** + * 报警阈值设置控制器 + * + * @author a203 + */ +@Controller +@RequestMapping("/alarm") +public class AlarmController { + private final IAlarmService alarmService; + + public AlarmController(IAlarmService alarmService) { + this.alarmService = alarmService; + } + + /** + * 获取最新的阈值设置 + */ + @GetMapping(value = "/recentValue") + @ResponseBody + public Object recentValue() { + AlarmDTO alarmDTO = alarmService.recentValue(); + return ResponseData.success(alarmDTO); + } + + /** + * 设置阈值 + */ + @PostMapping(value = "/update") + @ResponseBody + public Object update(@RequestBody Alarm waring) { + alarmService.save(waring); + return ResponseData.success(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java new file mode 100644 index 0000000..a8f63fe --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dao; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * 报警数据信息 Mapper 接口 + * + * @author a203 + */ +public interface AlarmMapper extends BaseMapper { + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml new file mode 100644 index 0000000..fcfa970 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java new file mode 100644 index 0000000..a145ef4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.dto; + +import com.casic.missiles.modular.system.model.Alarm; +import lombok.Data; + +/** + * @author a203 + */ +@Data +public class AlarmDTO { + /** + * 台风与方舱和机器人的距离 + */ + private Double typhoonDistance; + + /** + * 台风风速 + */ + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + private Double shipDistance; + + /** + * 机器人电量 + */ + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + private Double robotDistance; + + /** + * 通信信号强度 + */ + private Integer satelliteSignal; + + public AlarmDTO(Alarm waring) { + this.typhoonDistance = waring.getTyphoonDistance(); + this.typhoonSpeed = waring.getTyphoonSpeed(); + this.shipDistance = waring.getShipDistance(); + this.robotBattery = waring.getRobotBattery(); + this.robotDistance = waring.getRobotDistance(); + this.satelliteSignal = waring.getSatelliteSignal(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java new file mode 100644 index 0000000..d424b97 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * @author a203 + */ +public interface IAlarmService extends IService { + /** + * 获取最新的阈值设置 + * + * @return {@link AlarmDTO} + */ + AlarmDTO recentValue(); +} \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java new file mode 100644 index 0000000..af34f42 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java @@ -0,0 +1,34 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmMapper; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Service; + +/** + * @author a203 + */ +@Service +public class AlarmServiceImpl extends ServiceImpl implements IAlarmService { + + public AlarmServiceImpl() { + + } + + @Override + public AlarmDTO recentValue() { + AlarmDTO alarmDTO = null; + for (Alarm alarm : list()) { + alarmDTO = new AlarmDTO(alarm); + } + return alarmDTO; + } + + @Override + public boolean save(Alarm entity) { + remove(null); + return super.save(entity); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java new file mode 100644 index 0000000..3f48bd3 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java @@ -0,0 +1,10 @@ +package com.casic.missiles.socket; + +/** + * Web报警长链接 + * + * @author a203 + */ +public class AlarmSocket { + +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java new file mode 100644 index 0000000..85304f0 --- /dev/null +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java @@ -0,0 +1,64 @@ +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("alarm_threshold") +public class Alarm extends Model { + private static final long serialVersionUID = 1L; + + /** + * 数据库主键 + *

+ * type = IdType.AUTO 是数据库自增 + */ + @TableId(value = "ID", type = IdType.AUTO) + private Integer id; + + /** + * 台风与方舱和机器人的距离 + */ + @TableField("TYPHOON_DIS") + private Double typhoonDistance; + + /** + * 台风风速 + */ + @TableField("TYPHOON_SPEED") + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + @TableField("SHIP_DIS") + private Double shipDistance; + + /** + * 机器人电量 + */ + @TableField("ROBOT_BATTERY") + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + @TableField("ROBOT_DIS") + private Double robotDistance; + + /** + * 通信信号强度 + * 不能用 SIGNAL/signal 关键字,会报错 + */ + @TableField("SATELLITE_SIGNAL") + private Integer satelliteSignal; +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java deleted file mode 100644 index dd6545f..0000000 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java +++ /dev/null @@ -1,64 +0,0 @@ -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("warning_threshold") -public class Waring extends Model { - private static final long serialVersionUID = 1L; - - /** - * 数据库主键 - *

- * type = IdType.AUTO 是数据库自增 - */ - @TableId(value = "ID", type = IdType.AUTO) - private Integer id; - - /** - * 台风与方舱和机器人的距离 - */ - @TableField("TYPHOON_DIS") - private Double typhoonDistance; - - /** - * 台风风速 - */ - @TableField("TYPHOON_SPEED") - private Double typhoonSpeed; - - /** - * 船舶与机器人的距离 - */ - @TableField("SHIP_DIS") - private Double shipDistance; - - /** - * 机器人电量 - */ - @TableField("ROBOT_BATTERY") - private Double robotBattery; - - /** - * 机器人与方舱之间的距离 - */ - @TableField("ROBOT_DIS") - private Double robotDistance; - - /** - * 通信信号强度 - * 不能用 SIGNAL/signal 关键字,会报错 - */ - @TableField("SATELLITE_SIGNAL") - private Integer satelliteSignal; -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java deleted file mode 100644 index b39b29c..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.casic.missiles.modular.system.constants; - -/** - * CRC16校验码 - * - * @author a203 - */ -public class CheckCode { - public static int[] CRC_HIGH = { - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, - 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40 - }; - - public static int[] CRC_LOW = { - 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4, - 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, - 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, - 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, - 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7, - 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, - 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, - 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, - 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2, - 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, - 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, - 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, - 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91, - 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, - 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, - 0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, - 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80, - 0x40 - }; -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java index 9a3f00e..de35901 100644 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java +++ b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java @@ -14,12 +14,12 @@ import java.util.List; /** - * 热带气旋/台风控制器 + * 环境控制器 * * @author a203 */ @Controller -@RequestMapping("/typhoon") +@RequestMapping("/environment") public class TyphoonController { private final ITyphoonService typhoonService; @@ -30,7 +30,7 @@ /** * 台风列表 */ - @GetMapping(value = "/list") + @GetMapping(value = "/typhoonList") @ResponseBody public Object list() { List typhoonList = typhoonService.currentTyphoonList(); @@ -40,7 +40,7 @@ /** * 台风详情 */ - @GetMapping(value = "/detail/{typhoonId}") + @GetMapping(value = "/typhoonDetail/{typhoonId}") @ResponseBody public Object detail(@PathVariable("typhoonId") String typhoonId) { TyphoonDetailDTO detailDTO = typhoonService.typhoonDetail(typhoonId); diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java deleted file mode 100644 index 0bff6df..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.modular.system.dto.WaringDTO; -import com.casic.missiles.modular.system.model.Waring; -import com.casic.missiles.modular.system.service.IWarningService; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.*; - -/** - * 报警阈值设置控制器 - * - * @author a203 - */ -@Controller -@RequestMapping("/warning") -public class WarningController { - - private final IWarningService warningService; - - public WarningController(IWarningService warningService) { - this.warningService = warningService; - } - - /** - * 获取最新的阈值设置 - */ - @GetMapping(value = "/recentValue") - @ResponseBody - public Object recentValue() { - WaringDTO waringDTO = warningService.recentValue(); - return ResponseData.success(waringDTO); - } - - /** - * 设置阈值 - */ - @PostMapping(value = "/update") - @ResponseBody - public Object update(@RequestBody Waring waring) { - warningService.save(waring); - return ResponseData.success(); - } -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/dao/WarningMapper.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/dao/WarningMapper.java deleted file mode 100644 index 15112e4..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/dao/WarningMapper.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.casic.missiles.modular.system.dao; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.modular.system.model.Waring; - -/** - * @author a203 - */ -public interface WarningMapper extends BaseMapper { -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/dto/WaringDTO.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/dto/WaringDTO.java deleted file mode 100644 index 8eb20a0..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/dto/WaringDTO.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.casic.missiles.modular.system.dto; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.casic.missiles.modular.system.model.Waring; -import lombok.Data; - -/** - * @author a203 - */ -@Data -public class WaringDTO { - /** - * 台风与方舱和机器人的距离 - */ - private Double typhoonDistance; - - /** - * 台风风速 - */ - private Double typhoonSpeed; - - /** - * 船舶与机器人的距离 - */ - private Double shipDistance; - - /** - * 机器人电量 - */ - private Double robotBattery; - - /** - * 机器人与方舱之间的距离 - */ - private Double robotDistance; - - /** - * 通信信号强度 - */ - private Integer satelliteSignal; - - public WaringDTO(Waring waring) { - this.typhoonDistance = waring.getTyphoonDistance(); - this.typhoonSpeed = waring.getTyphoonSpeed(); - this.shipDistance = waring.getShipDistance(); - this.robotBattery = waring.getRobotBattery(); - this.robotDistance = waring.getRobotDistance(); - this.satelliteSignal = waring.getSatelliteSignal(); - } -} diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml new file mode 100644 index 0000000..07ae89f --- /dev/null +++ b/casic-alarm/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + com.casic + casic-template + ../pom.xml + 2.0.0 + + + casic-alarm + 2.0.0 + jar + casic-alarm + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + com.casic + casic-server-support + 1.0.0 + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java new file mode 100644 index 0000000..4f1d54c --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +/** + * 报警阈值设置控制器 + * + * @author a203 + */ +@Controller +@RequestMapping("/alarm") +public class AlarmController { + private final IAlarmService alarmService; + + public AlarmController(IAlarmService alarmService) { + this.alarmService = alarmService; + } + + /** + * 获取最新的阈值设置 + */ + @GetMapping(value = "/recentValue") + @ResponseBody + public Object recentValue() { + AlarmDTO alarmDTO = alarmService.recentValue(); + return ResponseData.success(alarmDTO); + } + + /** + * 设置阈值 + */ + @PostMapping(value = "/update") + @ResponseBody + public Object update(@RequestBody Alarm waring) { + alarmService.save(waring); + return ResponseData.success(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java new file mode 100644 index 0000000..a8f63fe --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dao; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * 报警数据信息 Mapper 接口 + * + * @author a203 + */ +public interface AlarmMapper extends BaseMapper { + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml new file mode 100644 index 0000000..fcfa970 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java new file mode 100644 index 0000000..a145ef4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.dto; + +import com.casic.missiles.modular.system.model.Alarm; +import lombok.Data; + +/** + * @author a203 + */ +@Data +public class AlarmDTO { + /** + * 台风与方舱和机器人的距离 + */ + private Double typhoonDistance; + + /** + * 台风风速 + */ + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + private Double shipDistance; + + /** + * 机器人电量 + */ + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + private Double robotDistance; + + /** + * 通信信号强度 + */ + private Integer satelliteSignal; + + public AlarmDTO(Alarm waring) { + this.typhoonDistance = waring.getTyphoonDistance(); + this.typhoonSpeed = waring.getTyphoonSpeed(); + this.shipDistance = waring.getShipDistance(); + this.robotBattery = waring.getRobotBattery(); + this.robotDistance = waring.getRobotDistance(); + this.satelliteSignal = waring.getSatelliteSignal(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java new file mode 100644 index 0000000..d424b97 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * @author a203 + */ +public interface IAlarmService extends IService { + /** + * 获取最新的阈值设置 + * + * @return {@link AlarmDTO} + */ + AlarmDTO recentValue(); +} \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java new file mode 100644 index 0000000..af34f42 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java @@ -0,0 +1,34 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmMapper; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Service; + +/** + * @author a203 + */ +@Service +public class AlarmServiceImpl extends ServiceImpl implements IAlarmService { + + public AlarmServiceImpl() { + + } + + @Override + public AlarmDTO recentValue() { + AlarmDTO alarmDTO = null; + for (Alarm alarm : list()) { + alarmDTO = new AlarmDTO(alarm); + } + return alarmDTO; + } + + @Override + public boolean save(Alarm entity) { + remove(null); + return super.save(entity); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java new file mode 100644 index 0000000..3f48bd3 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java @@ -0,0 +1,10 @@ +package com.casic.missiles.socket; + +/** + * Web报警长链接 + * + * @author a203 + */ +public class AlarmSocket { + +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java new file mode 100644 index 0000000..85304f0 --- /dev/null +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java @@ -0,0 +1,64 @@ +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("alarm_threshold") +public class Alarm extends Model { + private static final long serialVersionUID = 1L; + + /** + * 数据库主键 + *

+ * type = IdType.AUTO 是数据库自增 + */ + @TableId(value = "ID", type = IdType.AUTO) + private Integer id; + + /** + * 台风与方舱和机器人的距离 + */ + @TableField("TYPHOON_DIS") + private Double typhoonDistance; + + /** + * 台风风速 + */ + @TableField("TYPHOON_SPEED") + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + @TableField("SHIP_DIS") + private Double shipDistance; + + /** + * 机器人电量 + */ + @TableField("ROBOT_BATTERY") + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + @TableField("ROBOT_DIS") + private Double robotDistance; + + /** + * 通信信号强度 + * 不能用 SIGNAL/signal 关键字,会报错 + */ + @TableField("SATELLITE_SIGNAL") + private Integer satelliteSignal; +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java deleted file mode 100644 index dd6545f..0000000 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java +++ /dev/null @@ -1,64 +0,0 @@ -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("warning_threshold") -public class Waring extends Model { - private static final long serialVersionUID = 1L; - - /** - * 数据库主键 - *

- * type = IdType.AUTO 是数据库自增 - */ - @TableId(value = "ID", type = IdType.AUTO) - private Integer id; - - /** - * 台风与方舱和机器人的距离 - */ - @TableField("TYPHOON_DIS") - private Double typhoonDistance; - - /** - * 台风风速 - */ - @TableField("TYPHOON_SPEED") - private Double typhoonSpeed; - - /** - * 船舶与机器人的距离 - */ - @TableField("SHIP_DIS") - private Double shipDistance; - - /** - * 机器人电量 - */ - @TableField("ROBOT_BATTERY") - private Double robotBattery; - - /** - * 机器人与方舱之间的距离 - */ - @TableField("ROBOT_DIS") - private Double robotDistance; - - /** - * 通信信号强度 - * 不能用 SIGNAL/signal 关键字,会报错 - */ - @TableField("SATELLITE_SIGNAL") - private Integer satelliteSignal; -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java deleted file mode 100644 index b39b29c..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.casic.missiles.modular.system.constants; - -/** - * CRC16校验码 - * - * @author a203 - */ -public class CheckCode { - public static int[] CRC_HIGH = { - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, - 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40 - }; - - public static int[] CRC_LOW = { - 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4, - 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, - 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, - 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, - 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7, - 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, - 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, - 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, - 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2, - 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, - 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, - 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, - 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91, - 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, - 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, - 0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, - 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80, - 0x40 - }; -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java index 9a3f00e..de35901 100644 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java +++ b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java @@ -14,12 +14,12 @@ import java.util.List; /** - * 热带气旋/台风控制器 + * 环境控制器 * * @author a203 */ @Controller -@RequestMapping("/typhoon") +@RequestMapping("/environment") public class TyphoonController { private final ITyphoonService typhoonService; @@ -30,7 +30,7 @@ /** * 台风列表 */ - @GetMapping(value = "/list") + @GetMapping(value = "/typhoonList") @ResponseBody public Object list() { List typhoonList = typhoonService.currentTyphoonList(); @@ -40,7 +40,7 @@ /** * 台风详情 */ - @GetMapping(value = "/detail/{typhoonId}") + @GetMapping(value = "/typhoonDetail/{typhoonId}") @ResponseBody public Object detail(@PathVariable("typhoonId") String typhoonId) { TyphoonDetailDTO detailDTO = typhoonService.typhoonDetail(typhoonId); diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java deleted file mode 100644 index 0bff6df..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.modular.system.dto.WaringDTO; -import com.casic.missiles.modular.system.model.Waring; -import com.casic.missiles.modular.system.service.IWarningService; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.*; - -/** - * 报警阈值设置控制器 - * - * @author a203 - */ -@Controller -@RequestMapping("/warning") -public class WarningController { - - private final IWarningService warningService; - - public WarningController(IWarningService warningService) { - this.warningService = warningService; - } - - /** - * 获取最新的阈值设置 - */ - @GetMapping(value = "/recentValue") - @ResponseBody - public Object recentValue() { - WaringDTO waringDTO = warningService.recentValue(); - return ResponseData.success(waringDTO); - } - - /** - * 设置阈值 - */ - @PostMapping(value = "/update") - @ResponseBody - public Object update(@RequestBody Waring waring) { - warningService.save(waring); - return ResponseData.success(); - } -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/dao/WarningMapper.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/dao/WarningMapper.java deleted file mode 100644 index 15112e4..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/dao/WarningMapper.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.casic.missiles.modular.system.dao; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.modular.system.model.Waring; - -/** - * @author a203 - */ -public interface WarningMapper extends BaseMapper { -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/dto/WaringDTO.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/dto/WaringDTO.java deleted file mode 100644 index 8eb20a0..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/dto/WaringDTO.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.casic.missiles.modular.system.dto; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.casic.missiles.modular.system.model.Waring; -import lombok.Data; - -/** - * @author a203 - */ -@Data -public class WaringDTO { - /** - * 台风与方舱和机器人的距离 - */ - private Double typhoonDistance; - - /** - * 台风风速 - */ - private Double typhoonSpeed; - - /** - * 船舶与机器人的距离 - */ - private Double shipDistance; - - /** - * 机器人电量 - */ - private Double robotBattery; - - /** - * 机器人与方舱之间的距离 - */ - private Double robotDistance; - - /** - * 通信信号强度 - */ - private Integer satelliteSignal; - - public WaringDTO(Waring waring) { - this.typhoonDistance = waring.getTyphoonDistance(); - this.typhoonSpeed = waring.getTyphoonSpeed(); - this.shipDistance = waring.getShipDistance(); - this.robotBattery = waring.getRobotBattery(); - this.robotDistance = waring.getRobotDistance(); - this.satelliteSignal = waring.getSatelliteSignal(); - } -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/service/IWarningService.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/service/IWarningService.java deleted file mode 100644 index 45a78ff..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/service/IWarningService.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.casic.missiles.modular.system.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.modular.system.dto.WaringDTO; -import com.casic.missiles.modular.system.model.Waring; - -/** - * @author a203 - */ -public interface IWarningService extends IService { - /** - * 获取最新的阈值设置 - * - * @return {@link WaringDTO} - */ - WaringDTO recentValue(); -} diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml new file mode 100644 index 0000000..07ae89f --- /dev/null +++ b/casic-alarm/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + com.casic + casic-template + ../pom.xml + 2.0.0 + + + casic-alarm + 2.0.0 + jar + casic-alarm + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + com.casic + casic-server-support + 1.0.0 + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java new file mode 100644 index 0000000..4f1d54c --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +/** + * 报警阈值设置控制器 + * + * @author a203 + */ +@Controller +@RequestMapping("/alarm") +public class AlarmController { + private final IAlarmService alarmService; + + public AlarmController(IAlarmService alarmService) { + this.alarmService = alarmService; + } + + /** + * 获取最新的阈值设置 + */ + @GetMapping(value = "/recentValue") + @ResponseBody + public Object recentValue() { + AlarmDTO alarmDTO = alarmService.recentValue(); + return ResponseData.success(alarmDTO); + } + + /** + * 设置阈值 + */ + @PostMapping(value = "/update") + @ResponseBody + public Object update(@RequestBody Alarm waring) { + alarmService.save(waring); + return ResponseData.success(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java new file mode 100644 index 0000000..a8f63fe --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dao; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * 报警数据信息 Mapper 接口 + * + * @author a203 + */ +public interface AlarmMapper extends BaseMapper { + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml new file mode 100644 index 0000000..fcfa970 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java new file mode 100644 index 0000000..a145ef4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.dto; + +import com.casic.missiles.modular.system.model.Alarm; +import lombok.Data; + +/** + * @author a203 + */ +@Data +public class AlarmDTO { + /** + * 台风与方舱和机器人的距离 + */ + private Double typhoonDistance; + + /** + * 台风风速 + */ + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + private Double shipDistance; + + /** + * 机器人电量 + */ + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + private Double robotDistance; + + /** + * 通信信号强度 + */ + private Integer satelliteSignal; + + public AlarmDTO(Alarm waring) { + this.typhoonDistance = waring.getTyphoonDistance(); + this.typhoonSpeed = waring.getTyphoonSpeed(); + this.shipDistance = waring.getShipDistance(); + this.robotBattery = waring.getRobotBattery(); + this.robotDistance = waring.getRobotDistance(); + this.satelliteSignal = waring.getSatelliteSignal(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java new file mode 100644 index 0000000..d424b97 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * @author a203 + */ +public interface IAlarmService extends IService { + /** + * 获取最新的阈值设置 + * + * @return {@link AlarmDTO} + */ + AlarmDTO recentValue(); +} \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java new file mode 100644 index 0000000..af34f42 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java @@ -0,0 +1,34 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmMapper; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Service; + +/** + * @author a203 + */ +@Service +public class AlarmServiceImpl extends ServiceImpl implements IAlarmService { + + public AlarmServiceImpl() { + + } + + @Override + public AlarmDTO recentValue() { + AlarmDTO alarmDTO = null; + for (Alarm alarm : list()) { + alarmDTO = new AlarmDTO(alarm); + } + return alarmDTO; + } + + @Override + public boolean save(Alarm entity) { + remove(null); + return super.save(entity); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java new file mode 100644 index 0000000..3f48bd3 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java @@ -0,0 +1,10 @@ +package com.casic.missiles.socket; + +/** + * Web报警长链接 + * + * @author a203 + */ +public class AlarmSocket { + +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java new file mode 100644 index 0000000..85304f0 --- /dev/null +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java @@ -0,0 +1,64 @@ +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("alarm_threshold") +public class Alarm extends Model { + private static final long serialVersionUID = 1L; + + /** + * 数据库主键 + *

+ * type = IdType.AUTO 是数据库自增 + */ + @TableId(value = "ID", type = IdType.AUTO) + private Integer id; + + /** + * 台风与方舱和机器人的距离 + */ + @TableField("TYPHOON_DIS") + private Double typhoonDistance; + + /** + * 台风风速 + */ + @TableField("TYPHOON_SPEED") + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + @TableField("SHIP_DIS") + private Double shipDistance; + + /** + * 机器人电量 + */ + @TableField("ROBOT_BATTERY") + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + @TableField("ROBOT_DIS") + private Double robotDistance; + + /** + * 通信信号强度 + * 不能用 SIGNAL/signal 关键字,会报错 + */ + @TableField("SATELLITE_SIGNAL") + private Integer satelliteSignal; +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java deleted file mode 100644 index dd6545f..0000000 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java +++ /dev/null @@ -1,64 +0,0 @@ -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("warning_threshold") -public class Waring extends Model { - private static final long serialVersionUID = 1L; - - /** - * 数据库主键 - *

- * type = IdType.AUTO 是数据库自增 - */ - @TableId(value = "ID", type = IdType.AUTO) - private Integer id; - - /** - * 台风与方舱和机器人的距离 - */ - @TableField("TYPHOON_DIS") - private Double typhoonDistance; - - /** - * 台风风速 - */ - @TableField("TYPHOON_SPEED") - private Double typhoonSpeed; - - /** - * 船舶与机器人的距离 - */ - @TableField("SHIP_DIS") - private Double shipDistance; - - /** - * 机器人电量 - */ - @TableField("ROBOT_BATTERY") - private Double robotBattery; - - /** - * 机器人与方舱之间的距离 - */ - @TableField("ROBOT_DIS") - private Double robotDistance; - - /** - * 通信信号强度 - * 不能用 SIGNAL/signal 关键字,会报错 - */ - @TableField("SATELLITE_SIGNAL") - private Integer satelliteSignal; -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java deleted file mode 100644 index b39b29c..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.casic.missiles.modular.system.constants; - -/** - * CRC16校验码 - * - * @author a203 - */ -public class CheckCode { - public static int[] CRC_HIGH = { - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, - 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40 - }; - - public static int[] CRC_LOW = { - 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4, - 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, - 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, - 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, - 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7, - 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, - 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, - 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, - 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2, - 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, - 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, - 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, - 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91, - 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, - 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, - 0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, - 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80, - 0x40 - }; -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java index 9a3f00e..de35901 100644 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java +++ b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java @@ -14,12 +14,12 @@ import java.util.List; /** - * 热带气旋/台风控制器 + * 环境控制器 * * @author a203 */ @Controller -@RequestMapping("/typhoon") +@RequestMapping("/environment") public class TyphoonController { private final ITyphoonService typhoonService; @@ -30,7 +30,7 @@ /** * 台风列表 */ - @GetMapping(value = "/list") + @GetMapping(value = "/typhoonList") @ResponseBody public Object list() { List typhoonList = typhoonService.currentTyphoonList(); @@ -40,7 +40,7 @@ /** * 台风详情 */ - @GetMapping(value = "/detail/{typhoonId}") + @GetMapping(value = "/typhoonDetail/{typhoonId}") @ResponseBody public Object detail(@PathVariable("typhoonId") String typhoonId) { TyphoonDetailDTO detailDTO = typhoonService.typhoonDetail(typhoonId); diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java deleted file mode 100644 index 0bff6df..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.modular.system.dto.WaringDTO; -import com.casic.missiles.modular.system.model.Waring; -import com.casic.missiles.modular.system.service.IWarningService; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.*; - -/** - * 报警阈值设置控制器 - * - * @author a203 - */ -@Controller -@RequestMapping("/warning") -public class WarningController { - - private final IWarningService warningService; - - public WarningController(IWarningService warningService) { - this.warningService = warningService; - } - - /** - * 获取最新的阈值设置 - */ - @GetMapping(value = "/recentValue") - @ResponseBody - public Object recentValue() { - WaringDTO waringDTO = warningService.recentValue(); - return ResponseData.success(waringDTO); - } - - /** - * 设置阈值 - */ - @PostMapping(value = "/update") - @ResponseBody - public Object update(@RequestBody Waring waring) { - warningService.save(waring); - return ResponseData.success(); - } -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/dao/WarningMapper.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/dao/WarningMapper.java deleted file mode 100644 index 15112e4..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/dao/WarningMapper.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.casic.missiles.modular.system.dao; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.modular.system.model.Waring; - -/** - * @author a203 - */ -public interface WarningMapper extends BaseMapper { -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/dto/WaringDTO.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/dto/WaringDTO.java deleted file mode 100644 index 8eb20a0..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/dto/WaringDTO.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.casic.missiles.modular.system.dto; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.casic.missiles.modular.system.model.Waring; -import lombok.Data; - -/** - * @author a203 - */ -@Data -public class WaringDTO { - /** - * 台风与方舱和机器人的距离 - */ - private Double typhoonDistance; - - /** - * 台风风速 - */ - private Double typhoonSpeed; - - /** - * 船舶与机器人的距离 - */ - private Double shipDistance; - - /** - * 机器人电量 - */ - private Double robotBattery; - - /** - * 机器人与方舱之间的距离 - */ - private Double robotDistance; - - /** - * 通信信号强度 - */ - private Integer satelliteSignal; - - public WaringDTO(Waring waring) { - this.typhoonDistance = waring.getTyphoonDistance(); - this.typhoonSpeed = waring.getTyphoonSpeed(); - this.shipDistance = waring.getShipDistance(); - this.robotBattery = waring.getRobotBattery(); - this.robotDistance = waring.getRobotDistance(); - this.satelliteSignal = waring.getSatelliteSignal(); - } -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/service/IWarningService.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/service/IWarningService.java deleted file mode 100644 index 45a78ff..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/service/IWarningService.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.casic.missiles.modular.system.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.modular.system.dto.WaringDTO; -import com.casic.missiles.modular.system.model.Waring; - -/** - * @author a203 - */ -public interface IWarningService extends IService { - /** - * 获取最新的阈值设置 - * - * @return {@link WaringDTO} - */ - WaringDTO recentValue(); -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/service/impl/WarningServiceImpl.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/service/impl/WarningServiceImpl.java deleted file mode 100644 index a1c4b42..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/service/impl/WarningServiceImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.casic.missiles.modular.system.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.casic.missiles.modular.system.dao.WarningMapper; -import com.casic.missiles.modular.system.dto.WaringDTO; -import com.casic.missiles.modular.system.model.Waring; -import com.casic.missiles.modular.system.service.IWarningService; -import org.springframework.stereotype.Service; - -/** - * @author a203 - */ - -@Service -public class WarningServiceImpl extends ServiceImpl implements IWarningService { - - public WarningServiceImpl() { - - } - - @Override - public WaringDTO recentValue() { - WaringDTO waringDTO = null; - for (Waring waring : list()) { - waringDTO = new WaringDTO(waring); - } - return waringDTO; - } - - @Override - public boolean save(Waring entity) { - remove(null); - return super.save(entity); - } -} diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml new file mode 100644 index 0000000..07ae89f --- /dev/null +++ b/casic-alarm/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + com.casic + casic-template + ../pom.xml + 2.0.0 + + + casic-alarm + 2.0.0 + jar + casic-alarm + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + com.casic + casic-server-support + 1.0.0 + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java new file mode 100644 index 0000000..4f1d54c --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +/** + * 报警阈值设置控制器 + * + * @author a203 + */ +@Controller +@RequestMapping("/alarm") +public class AlarmController { + private final IAlarmService alarmService; + + public AlarmController(IAlarmService alarmService) { + this.alarmService = alarmService; + } + + /** + * 获取最新的阈值设置 + */ + @GetMapping(value = "/recentValue") + @ResponseBody + public Object recentValue() { + AlarmDTO alarmDTO = alarmService.recentValue(); + return ResponseData.success(alarmDTO); + } + + /** + * 设置阈值 + */ + @PostMapping(value = "/update") + @ResponseBody + public Object update(@RequestBody Alarm waring) { + alarmService.save(waring); + return ResponseData.success(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java new file mode 100644 index 0000000..a8f63fe --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dao; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * 报警数据信息 Mapper 接口 + * + * @author a203 + */ +public interface AlarmMapper extends BaseMapper { + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml new file mode 100644 index 0000000..fcfa970 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java new file mode 100644 index 0000000..a145ef4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.dto; + +import com.casic.missiles.modular.system.model.Alarm; +import lombok.Data; + +/** + * @author a203 + */ +@Data +public class AlarmDTO { + /** + * 台风与方舱和机器人的距离 + */ + private Double typhoonDistance; + + /** + * 台风风速 + */ + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + private Double shipDistance; + + /** + * 机器人电量 + */ + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + private Double robotDistance; + + /** + * 通信信号强度 + */ + private Integer satelliteSignal; + + public AlarmDTO(Alarm waring) { + this.typhoonDistance = waring.getTyphoonDistance(); + this.typhoonSpeed = waring.getTyphoonSpeed(); + this.shipDistance = waring.getShipDistance(); + this.robotBattery = waring.getRobotBattery(); + this.robotDistance = waring.getRobotDistance(); + this.satelliteSignal = waring.getSatelliteSignal(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java new file mode 100644 index 0000000..d424b97 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * @author a203 + */ +public interface IAlarmService extends IService { + /** + * 获取最新的阈值设置 + * + * @return {@link AlarmDTO} + */ + AlarmDTO recentValue(); +} \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java new file mode 100644 index 0000000..af34f42 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java @@ -0,0 +1,34 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmMapper; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Service; + +/** + * @author a203 + */ +@Service +public class AlarmServiceImpl extends ServiceImpl implements IAlarmService { + + public AlarmServiceImpl() { + + } + + @Override + public AlarmDTO recentValue() { + AlarmDTO alarmDTO = null; + for (Alarm alarm : list()) { + alarmDTO = new AlarmDTO(alarm); + } + return alarmDTO; + } + + @Override + public boolean save(Alarm entity) { + remove(null); + return super.save(entity); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java new file mode 100644 index 0000000..3f48bd3 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java @@ -0,0 +1,10 @@ +package com.casic.missiles.socket; + +/** + * Web报警长链接 + * + * @author a203 + */ +public class AlarmSocket { + +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java new file mode 100644 index 0000000..85304f0 --- /dev/null +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java @@ -0,0 +1,64 @@ +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("alarm_threshold") +public class Alarm extends Model { + private static final long serialVersionUID = 1L; + + /** + * 数据库主键 + *

+ * type = IdType.AUTO 是数据库自增 + */ + @TableId(value = "ID", type = IdType.AUTO) + private Integer id; + + /** + * 台风与方舱和机器人的距离 + */ + @TableField("TYPHOON_DIS") + private Double typhoonDistance; + + /** + * 台风风速 + */ + @TableField("TYPHOON_SPEED") + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + @TableField("SHIP_DIS") + private Double shipDistance; + + /** + * 机器人电量 + */ + @TableField("ROBOT_BATTERY") + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + @TableField("ROBOT_DIS") + private Double robotDistance; + + /** + * 通信信号强度 + * 不能用 SIGNAL/signal 关键字,会报错 + */ + @TableField("SATELLITE_SIGNAL") + private Integer satelliteSignal; +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java deleted file mode 100644 index dd6545f..0000000 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java +++ /dev/null @@ -1,64 +0,0 @@ -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("warning_threshold") -public class Waring extends Model { - private static final long serialVersionUID = 1L; - - /** - * 数据库主键 - *

- * type = IdType.AUTO 是数据库自增 - */ - @TableId(value = "ID", type = IdType.AUTO) - private Integer id; - - /** - * 台风与方舱和机器人的距离 - */ - @TableField("TYPHOON_DIS") - private Double typhoonDistance; - - /** - * 台风风速 - */ - @TableField("TYPHOON_SPEED") - private Double typhoonSpeed; - - /** - * 船舶与机器人的距离 - */ - @TableField("SHIP_DIS") - private Double shipDistance; - - /** - * 机器人电量 - */ - @TableField("ROBOT_BATTERY") - private Double robotBattery; - - /** - * 机器人与方舱之间的距离 - */ - @TableField("ROBOT_DIS") - private Double robotDistance; - - /** - * 通信信号强度 - * 不能用 SIGNAL/signal 关键字,会报错 - */ - @TableField("SATELLITE_SIGNAL") - private Integer satelliteSignal; -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java deleted file mode 100644 index b39b29c..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.casic.missiles.modular.system.constants; - -/** - * CRC16校验码 - * - * @author a203 - */ -public class CheckCode { - public static int[] CRC_HIGH = { - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, - 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40 - }; - - public static int[] CRC_LOW = { - 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4, - 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, - 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, - 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, - 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7, - 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, - 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, - 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, - 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2, - 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, - 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, - 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, - 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91, - 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, - 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, - 0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, - 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80, - 0x40 - }; -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java index 9a3f00e..de35901 100644 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java +++ b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java @@ -14,12 +14,12 @@ import java.util.List; /** - * 热带气旋/台风控制器 + * 环境控制器 * * @author a203 */ @Controller -@RequestMapping("/typhoon") +@RequestMapping("/environment") public class TyphoonController { private final ITyphoonService typhoonService; @@ -30,7 +30,7 @@ /** * 台风列表 */ - @GetMapping(value = "/list") + @GetMapping(value = "/typhoonList") @ResponseBody public Object list() { List typhoonList = typhoonService.currentTyphoonList(); @@ -40,7 +40,7 @@ /** * 台风详情 */ - @GetMapping(value = "/detail/{typhoonId}") + @GetMapping(value = "/typhoonDetail/{typhoonId}") @ResponseBody public Object detail(@PathVariable("typhoonId") String typhoonId) { TyphoonDetailDTO detailDTO = typhoonService.typhoonDetail(typhoonId); diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java deleted file mode 100644 index 0bff6df..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.modular.system.dto.WaringDTO; -import com.casic.missiles.modular.system.model.Waring; -import com.casic.missiles.modular.system.service.IWarningService; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.*; - -/** - * 报警阈值设置控制器 - * - * @author a203 - */ -@Controller -@RequestMapping("/warning") -public class WarningController { - - private final IWarningService warningService; - - public WarningController(IWarningService warningService) { - this.warningService = warningService; - } - - /** - * 获取最新的阈值设置 - */ - @GetMapping(value = "/recentValue") - @ResponseBody - public Object recentValue() { - WaringDTO waringDTO = warningService.recentValue(); - return ResponseData.success(waringDTO); - } - - /** - * 设置阈值 - */ - @PostMapping(value = "/update") - @ResponseBody - public Object update(@RequestBody Waring waring) { - warningService.save(waring); - return ResponseData.success(); - } -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/dao/WarningMapper.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/dao/WarningMapper.java deleted file mode 100644 index 15112e4..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/dao/WarningMapper.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.casic.missiles.modular.system.dao; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.modular.system.model.Waring; - -/** - * @author a203 - */ -public interface WarningMapper extends BaseMapper { -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/dto/WaringDTO.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/dto/WaringDTO.java deleted file mode 100644 index 8eb20a0..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/dto/WaringDTO.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.casic.missiles.modular.system.dto; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.casic.missiles.modular.system.model.Waring; -import lombok.Data; - -/** - * @author a203 - */ -@Data -public class WaringDTO { - /** - * 台风与方舱和机器人的距离 - */ - private Double typhoonDistance; - - /** - * 台风风速 - */ - private Double typhoonSpeed; - - /** - * 船舶与机器人的距离 - */ - private Double shipDistance; - - /** - * 机器人电量 - */ - private Double robotBattery; - - /** - * 机器人与方舱之间的距离 - */ - private Double robotDistance; - - /** - * 通信信号强度 - */ - private Integer satelliteSignal; - - public WaringDTO(Waring waring) { - this.typhoonDistance = waring.getTyphoonDistance(); - this.typhoonSpeed = waring.getTyphoonSpeed(); - this.shipDistance = waring.getShipDistance(); - this.robotBattery = waring.getRobotBattery(); - this.robotDistance = waring.getRobotDistance(); - this.satelliteSignal = waring.getSatelliteSignal(); - } -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/service/IWarningService.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/service/IWarningService.java deleted file mode 100644 index 45a78ff..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/service/IWarningService.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.casic.missiles.modular.system.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.modular.system.dto.WaringDTO; -import com.casic.missiles.modular.system.model.Waring; - -/** - * @author a203 - */ -public interface IWarningService extends IService { - /** - * 获取最新的阈值设置 - * - * @return {@link WaringDTO} - */ - WaringDTO recentValue(); -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/service/impl/WarningServiceImpl.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/service/impl/WarningServiceImpl.java deleted file mode 100644 index a1c4b42..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/service/impl/WarningServiceImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.casic.missiles.modular.system.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.casic.missiles.modular.system.dao.WarningMapper; -import com.casic.missiles.modular.system.dto.WaringDTO; -import com.casic.missiles.modular.system.model.Waring; -import com.casic.missiles.modular.system.service.IWarningService; -import org.springframework.stereotype.Service; - -/** - * @author a203 - */ - -@Service -public class WarningServiceImpl extends ServiceImpl implements IWarningService { - - public WarningServiceImpl() { - - } - - @Override - public WaringDTO recentValue() { - WaringDTO waringDTO = null; - for (Waring waring : list()) { - waringDTO = new WaringDTO(waring); - } - return waringDTO; - } - - @Override - public boolean save(Waring entity) { - remove(null); - return super.save(entity); - } -} diff --git a/casic-web/pom.xml b/casic-web/pom.xml index bf6b182..2c7d169 100644 --- a/casic-web/pom.xml +++ b/casic-web/pom.xml @@ -107,6 +107,11 @@ com.casic + casic-alarm + ${pro.version} + + + com.casic casic-job-quartz 2.0.0.alpha diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml new file mode 100644 index 0000000..07ae89f --- /dev/null +++ b/casic-alarm/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + com.casic + casic-template + ../pom.xml + 2.0.0 + + + casic-alarm + 2.0.0 + jar + casic-alarm + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + com.casic + casic-server-support + 1.0.0 + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java new file mode 100644 index 0000000..4f1d54c --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +/** + * 报警阈值设置控制器 + * + * @author a203 + */ +@Controller +@RequestMapping("/alarm") +public class AlarmController { + private final IAlarmService alarmService; + + public AlarmController(IAlarmService alarmService) { + this.alarmService = alarmService; + } + + /** + * 获取最新的阈值设置 + */ + @GetMapping(value = "/recentValue") + @ResponseBody + public Object recentValue() { + AlarmDTO alarmDTO = alarmService.recentValue(); + return ResponseData.success(alarmDTO); + } + + /** + * 设置阈值 + */ + @PostMapping(value = "/update") + @ResponseBody + public Object update(@RequestBody Alarm waring) { + alarmService.save(waring); + return ResponseData.success(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java new file mode 100644 index 0000000..a8f63fe --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dao; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * 报警数据信息 Mapper 接口 + * + * @author a203 + */ +public interface AlarmMapper extends BaseMapper { + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml new file mode 100644 index 0000000..fcfa970 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java new file mode 100644 index 0000000..a145ef4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.dto; + +import com.casic.missiles.modular.system.model.Alarm; +import lombok.Data; + +/** + * @author a203 + */ +@Data +public class AlarmDTO { + /** + * 台风与方舱和机器人的距离 + */ + private Double typhoonDistance; + + /** + * 台风风速 + */ + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + private Double shipDistance; + + /** + * 机器人电量 + */ + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + private Double robotDistance; + + /** + * 通信信号强度 + */ + private Integer satelliteSignal; + + public AlarmDTO(Alarm waring) { + this.typhoonDistance = waring.getTyphoonDistance(); + this.typhoonSpeed = waring.getTyphoonSpeed(); + this.shipDistance = waring.getShipDistance(); + this.robotBattery = waring.getRobotBattery(); + this.robotDistance = waring.getRobotDistance(); + this.satelliteSignal = waring.getSatelliteSignal(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java new file mode 100644 index 0000000..d424b97 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * @author a203 + */ +public interface IAlarmService extends IService { + /** + * 获取最新的阈值设置 + * + * @return {@link AlarmDTO} + */ + AlarmDTO recentValue(); +} \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java new file mode 100644 index 0000000..af34f42 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java @@ -0,0 +1,34 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmMapper; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Service; + +/** + * @author a203 + */ +@Service +public class AlarmServiceImpl extends ServiceImpl implements IAlarmService { + + public AlarmServiceImpl() { + + } + + @Override + public AlarmDTO recentValue() { + AlarmDTO alarmDTO = null; + for (Alarm alarm : list()) { + alarmDTO = new AlarmDTO(alarm); + } + return alarmDTO; + } + + @Override + public boolean save(Alarm entity) { + remove(null); + return super.save(entity); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java new file mode 100644 index 0000000..3f48bd3 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java @@ -0,0 +1,10 @@ +package com.casic.missiles.socket; + +/** + * Web报警长链接 + * + * @author a203 + */ +public class AlarmSocket { + +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java new file mode 100644 index 0000000..85304f0 --- /dev/null +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java @@ -0,0 +1,64 @@ +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("alarm_threshold") +public class Alarm extends Model { + private static final long serialVersionUID = 1L; + + /** + * 数据库主键 + *

+ * type = IdType.AUTO 是数据库自增 + */ + @TableId(value = "ID", type = IdType.AUTO) + private Integer id; + + /** + * 台风与方舱和机器人的距离 + */ + @TableField("TYPHOON_DIS") + private Double typhoonDistance; + + /** + * 台风风速 + */ + @TableField("TYPHOON_SPEED") + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + @TableField("SHIP_DIS") + private Double shipDistance; + + /** + * 机器人电量 + */ + @TableField("ROBOT_BATTERY") + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + @TableField("ROBOT_DIS") + private Double robotDistance; + + /** + * 通信信号强度 + * 不能用 SIGNAL/signal 关键字,会报错 + */ + @TableField("SATELLITE_SIGNAL") + private Integer satelliteSignal; +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java deleted file mode 100644 index dd6545f..0000000 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java +++ /dev/null @@ -1,64 +0,0 @@ -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("warning_threshold") -public class Waring extends Model { - private static final long serialVersionUID = 1L; - - /** - * 数据库主键 - *

- * type = IdType.AUTO 是数据库自增 - */ - @TableId(value = "ID", type = IdType.AUTO) - private Integer id; - - /** - * 台风与方舱和机器人的距离 - */ - @TableField("TYPHOON_DIS") - private Double typhoonDistance; - - /** - * 台风风速 - */ - @TableField("TYPHOON_SPEED") - private Double typhoonSpeed; - - /** - * 船舶与机器人的距离 - */ - @TableField("SHIP_DIS") - private Double shipDistance; - - /** - * 机器人电量 - */ - @TableField("ROBOT_BATTERY") - private Double robotBattery; - - /** - * 机器人与方舱之间的距离 - */ - @TableField("ROBOT_DIS") - private Double robotDistance; - - /** - * 通信信号强度 - * 不能用 SIGNAL/signal 关键字,会报错 - */ - @TableField("SATELLITE_SIGNAL") - private Integer satelliteSignal; -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java deleted file mode 100644 index b39b29c..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.casic.missiles.modular.system.constants; - -/** - * CRC16校验码 - * - * @author a203 - */ -public class CheckCode { - public static int[] CRC_HIGH = { - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, - 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40 - }; - - public static int[] CRC_LOW = { - 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4, - 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, - 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, - 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, - 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7, - 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, - 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, - 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, - 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2, - 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, - 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, - 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, - 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91, - 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, - 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, - 0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, - 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80, - 0x40 - }; -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java index 9a3f00e..de35901 100644 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java +++ b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java @@ -14,12 +14,12 @@ import java.util.List; /** - * 热带气旋/台风控制器 + * 环境控制器 * * @author a203 */ @Controller -@RequestMapping("/typhoon") +@RequestMapping("/environment") public class TyphoonController { private final ITyphoonService typhoonService; @@ -30,7 +30,7 @@ /** * 台风列表 */ - @GetMapping(value = "/list") + @GetMapping(value = "/typhoonList") @ResponseBody public Object list() { List typhoonList = typhoonService.currentTyphoonList(); @@ -40,7 +40,7 @@ /** * 台风详情 */ - @GetMapping(value = "/detail/{typhoonId}") + @GetMapping(value = "/typhoonDetail/{typhoonId}") @ResponseBody public Object detail(@PathVariable("typhoonId") String typhoonId) { TyphoonDetailDTO detailDTO = typhoonService.typhoonDetail(typhoonId); diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java deleted file mode 100644 index 0bff6df..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.modular.system.dto.WaringDTO; -import com.casic.missiles.modular.system.model.Waring; -import com.casic.missiles.modular.system.service.IWarningService; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.*; - -/** - * 报警阈值设置控制器 - * - * @author a203 - */ -@Controller -@RequestMapping("/warning") -public class WarningController { - - private final IWarningService warningService; - - public WarningController(IWarningService warningService) { - this.warningService = warningService; - } - - /** - * 获取最新的阈值设置 - */ - @GetMapping(value = "/recentValue") - @ResponseBody - public Object recentValue() { - WaringDTO waringDTO = warningService.recentValue(); - return ResponseData.success(waringDTO); - } - - /** - * 设置阈值 - */ - @PostMapping(value = "/update") - @ResponseBody - public Object update(@RequestBody Waring waring) { - warningService.save(waring); - return ResponseData.success(); - } -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/dao/WarningMapper.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/dao/WarningMapper.java deleted file mode 100644 index 15112e4..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/dao/WarningMapper.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.casic.missiles.modular.system.dao; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.modular.system.model.Waring; - -/** - * @author a203 - */ -public interface WarningMapper extends BaseMapper { -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/dto/WaringDTO.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/dto/WaringDTO.java deleted file mode 100644 index 8eb20a0..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/dto/WaringDTO.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.casic.missiles.modular.system.dto; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.casic.missiles.modular.system.model.Waring; -import lombok.Data; - -/** - * @author a203 - */ -@Data -public class WaringDTO { - /** - * 台风与方舱和机器人的距离 - */ - private Double typhoonDistance; - - /** - * 台风风速 - */ - private Double typhoonSpeed; - - /** - * 船舶与机器人的距离 - */ - private Double shipDistance; - - /** - * 机器人电量 - */ - private Double robotBattery; - - /** - * 机器人与方舱之间的距离 - */ - private Double robotDistance; - - /** - * 通信信号强度 - */ - private Integer satelliteSignal; - - public WaringDTO(Waring waring) { - this.typhoonDistance = waring.getTyphoonDistance(); - this.typhoonSpeed = waring.getTyphoonSpeed(); - this.shipDistance = waring.getShipDistance(); - this.robotBattery = waring.getRobotBattery(); - this.robotDistance = waring.getRobotDistance(); - this.satelliteSignal = waring.getSatelliteSignal(); - } -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/service/IWarningService.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/service/IWarningService.java deleted file mode 100644 index 45a78ff..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/service/IWarningService.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.casic.missiles.modular.system.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.modular.system.dto.WaringDTO; -import com.casic.missiles.modular.system.model.Waring; - -/** - * @author a203 - */ -public interface IWarningService extends IService { - /** - * 获取最新的阈值设置 - * - * @return {@link WaringDTO} - */ - WaringDTO recentValue(); -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/service/impl/WarningServiceImpl.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/service/impl/WarningServiceImpl.java deleted file mode 100644 index a1c4b42..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/service/impl/WarningServiceImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.casic.missiles.modular.system.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.casic.missiles.modular.system.dao.WarningMapper; -import com.casic.missiles.modular.system.dto.WaringDTO; -import com.casic.missiles.modular.system.model.Waring; -import com.casic.missiles.modular.system.service.IWarningService; -import org.springframework.stereotype.Service; - -/** - * @author a203 - */ - -@Service -public class WarningServiceImpl extends ServiceImpl implements IWarningService { - - public WarningServiceImpl() { - - } - - @Override - public WaringDTO recentValue() { - WaringDTO waringDTO = null; - for (Waring waring : list()) { - waringDTO = new WaringDTO(waring); - } - return waringDTO; - } - - @Override - public boolean save(Waring entity) { - remove(null); - return super.save(entity); - } -} diff --git a/casic-web/pom.xml b/casic-web/pom.xml index bf6b182..2c7d169 100644 --- a/casic-web/pom.xml +++ b/casic-web/pom.xml @@ -107,6 +107,11 @@ com.casic + casic-alarm + ${pro.version} + + + com.casic casic-job-quartz 2.0.0.alpha diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java index 29094cf..dd2413c 100644 --- a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java +++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java @@ -3,7 +3,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; @@ -26,5 +25,4 @@ SpringApplication.run(CasicApplication.class, args); log.info("CasicApplication is success!"); } - } diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml new file mode 100644 index 0000000..07ae89f --- /dev/null +++ b/casic-alarm/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + com.casic + casic-template + ../pom.xml + 2.0.0 + + + casic-alarm + 2.0.0 + jar + casic-alarm + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + com.casic + casic-server-support + 1.0.0 + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java new file mode 100644 index 0000000..4f1d54c --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +/** + * 报警阈值设置控制器 + * + * @author a203 + */ +@Controller +@RequestMapping("/alarm") +public class AlarmController { + private final IAlarmService alarmService; + + public AlarmController(IAlarmService alarmService) { + this.alarmService = alarmService; + } + + /** + * 获取最新的阈值设置 + */ + @GetMapping(value = "/recentValue") + @ResponseBody + public Object recentValue() { + AlarmDTO alarmDTO = alarmService.recentValue(); + return ResponseData.success(alarmDTO); + } + + /** + * 设置阈值 + */ + @PostMapping(value = "/update") + @ResponseBody + public Object update(@RequestBody Alarm waring) { + alarmService.save(waring); + return ResponseData.success(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java new file mode 100644 index 0000000..a8f63fe --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dao; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * 报警数据信息 Mapper 接口 + * + * @author a203 + */ +public interface AlarmMapper extends BaseMapper { + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml new file mode 100644 index 0000000..fcfa970 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java new file mode 100644 index 0000000..a145ef4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.dto; + +import com.casic.missiles.modular.system.model.Alarm; +import lombok.Data; + +/** + * @author a203 + */ +@Data +public class AlarmDTO { + /** + * 台风与方舱和机器人的距离 + */ + private Double typhoonDistance; + + /** + * 台风风速 + */ + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + private Double shipDistance; + + /** + * 机器人电量 + */ + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + private Double robotDistance; + + /** + * 通信信号强度 + */ + private Integer satelliteSignal; + + public AlarmDTO(Alarm waring) { + this.typhoonDistance = waring.getTyphoonDistance(); + this.typhoonSpeed = waring.getTyphoonSpeed(); + this.shipDistance = waring.getShipDistance(); + this.robotBattery = waring.getRobotBattery(); + this.robotDistance = waring.getRobotDistance(); + this.satelliteSignal = waring.getSatelliteSignal(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java new file mode 100644 index 0000000..d424b97 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * @author a203 + */ +public interface IAlarmService extends IService { + /** + * 获取最新的阈值设置 + * + * @return {@link AlarmDTO} + */ + AlarmDTO recentValue(); +} \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java new file mode 100644 index 0000000..af34f42 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java @@ -0,0 +1,34 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmMapper; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Service; + +/** + * @author a203 + */ +@Service +public class AlarmServiceImpl extends ServiceImpl implements IAlarmService { + + public AlarmServiceImpl() { + + } + + @Override + public AlarmDTO recentValue() { + AlarmDTO alarmDTO = null; + for (Alarm alarm : list()) { + alarmDTO = new AlarmDTO(alarm); + } + return alarmDTO; + } + + @Override + public boolean save(Alarm entity) { + remove(null); + return super.save(entity); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java new file mode 100644 index 0000000..3f48bd3 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java @@ -0,0 +1,10 @@ +package com.casic.missiles.socket; + +/** + * Web报警长链接 + * + * @author a203 + */ +public class AlarmSocket { + +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java new file mode 100644 index 0000000..85304f0 --- /dev/null +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java @@ -0,0 +1,64 @@ +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("alarm_threshold") +public class Alarm extends Model { + private static final long serialVersionUID = 1L; + + /** + * 数据库主键 + *

+ * type = IdType.AUTO 是数据库自增 + */ + @TableId(value = "ID", type = IdType.AUTO) + private Integer id; + + /** + * 台风与方舱和机器人的距离 + */ + @TableField("TYPHOON_DIS") + private Double typhoonDistance; + + /** + * 台风风速 + */ + @TableField("TYPHOON_SPEED") + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + @TableField("SHIP_DIS") + private Double shipDistance; + + /** + * 机器人电量 + */ + @TableField("ROBOT_BATTERY") + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + @TableField("ROBOT_DIS") + private Double robotDistance; + + /** + * 通信信号强度 + * 不能用 SIGNAL/signal 关键字,会报错 + */ + @TableField("SATELLITE_SIGNAL") + private Integer satelliteSignal; +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java deleted file mode 100644 index dd6545f..0000000 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java +++ /dev/null @@ -1,64 +0,0 @@ -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("warning_threshold") -public class Waring extends Model { - private static final long serialVersionUID = 1L; - - /** - * 数据库主键 - *

- * type = IdType.AUTO 是数据库自增 - */ - @TableId(value = "ID", type = IdType.AUTO) - private Integer id; - - /** - * 台风与方舱和机器人的距离 - */ - @TableField("TYPHOON_DIS") - private Double typhoonDistance; - - /** - * 台风风速 - */ - @TableField("TYPHOON_SPEED") - private Double typhoonSpeed; - - /** - * 船舶与机器人的距离 - */ - @TableField("SHIP_DIS") - private Double shipDistance; - - /** - * 机器人电量 - */ - @TableField("ROBOT_BATTERY") - private Double robotBattery; - - /** - * 机器人与方舱之间的距离 - */ - @TableField("ROBOT_DIS") - private Double robotDistance; - - /** - * 通信信号强度 - * 不能用 SIGNAL/signal 关键字,会报错 - */ - @TableField("SATELLITE_SIGNAL") - private Integer satelliteSignal; -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java deleted file mode 100644 index b39b29c..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.casic.missiles.modular.system.constants; - -/** - * CRC16校验码 - * - * @author a203 - */ -public class CheckCode { - public static int[] CRC_HIGH = { - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, - 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40 - }; - - public static int[] CRC_LOW = { - 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4, - 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, - 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, - 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, - 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7, - 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, - 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, - 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, - 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2, - 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, - 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, - 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, - 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91, - 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, - 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, - 0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, - 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80, - 0x40 - }; -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java index 9a3f00e..de35901 100644 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java +++ b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java @@ -14,12 +14,12 @@ import java.util.List; /** - * 热带气旋/台风控制器 + * 环境控制器 * * @author a203 */ @Controller -@RequestMapping("/typhoon") +@RequestMapping("/environment") public class TyphoonController { private final ITyphoonService typhoonService; @@ -30,7 +30,7 @@ /** * 台风列表 */ - @GetMapping(value = "/list") + @GetMapping(value = "/typhoonList") @ResponseBody public Object list() { List typhoonList = typhoonService.currentTyphoonList(); @@ -40,7 +40,7 @@ /** * 台风详情 */ - @GetMapping(value = "/detail/{typhoonId}") + @GetMapping(value = "/typhoonDetail/{typhoonId}") @ResponseBody public Object detail(@PathVariable("typhoonId") String typhoonId) { TyphoonDetailDTO detailDTO = typhoonService.typhoonDetail(typhoonId); diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java deleted file mode 100644 index 0bff6df..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.modular.system.dto.WaringDTO; -import com.casic.missiles.modular.system.model.Waring; -import com.casic.missiles.modular.system.service.IWarningService; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.*; - -/** - * 报警阈值设置控制器 - * - * @author a203 - */ -@Controller -@RequestMapping("/warning") -public class WarningController { - - private final IWarningService warningService; - - public WarningController(IWarningService warningService) { - this.warningService = warningService; - } - - /** - * 获取最新的阈值设置 - */ - @GetMapping(value = "/recentValue") - @ResponseBody - public Object recentValue() { - WaringDTO waringDTO = warningService.recentValue(); - return ResponseData.success(waringDTO); - } - - /** - * 设置阈值 - */ - @PostMapping(value = "/update") - @ResponseBody - public Object update(@RequestBody Waring waring) { - warningService.save(waring); - return ResponseData.success(); - } -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/dao/WarningMapper.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/dao/WarningMapper.java deleted file mode 100644 index 15112e4..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/dao/WarningMapper.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.casic.missiles.modular.system.dao; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.modular.system.model.Waring; - -/** - * @author a203 - */ -public interface WarningMapper extends BaseMapper { -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/dto/WaringDTO.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/dto/WaringDTO.java deleted file mode 100644 index 8eb20a0..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/dto/WaringDTO.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.casic.missiles.modular.system.dto; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.casic.missiles.modular.system.model.Waring; -import lombok.Data; - -/** - * @author a203 - */ -@Data -public class WaringDTO { - /** - * 台风与方舱和机器人的距离 - */ - private Double typhoonDistance; - - /** - * 台风风速 - */ - private Double typhoonSpeed; - - /** - * 船舶与机器人的距离 - */ - private Double shipDistance; - - /** - * 机器人电量 - */ - private Double robotBattery; - - /** - * 机器人与方舱之间的距离 - */ - private Double robotDistance; - - /** - * 通信信号强度 - */ - private Integer satelliteSignal; - - public WaringDTO(Waring waring) { - this.typhoonDistance = waring.getTyphoonDistance(); - this.typhoonSpeed = waring.getTyphoonSpeed(); - this.shipDistance = waring.getShipDistance(); - this.robotBattery = waring.getRobotBattery(); - this.robotDistance = waring.getRobotDistance(); - this.satelliteSignal = waring.getSatelliteSignal(); - } -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/service/IWarningService.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/service/IWarningService.java deleted file mode 100644 index 45a78ff..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/service/IWarningService.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.casic.missiles.modular.system.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.modular.system.dto.WaringDTO; -import com.casic.missiles.modular.system.model.Waring; - -/** - * @author a203 - */ -public interface IWarningService extends IService { - /** - * 获取最新的阈值设置 - * - * @return {@link WaringDTO} - */ - WaringDTO recentValue(); -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/service/impl/WarningServiceImpl.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/service/impl/WarningServiceImpl.java deleted file mode 100644 index a1c4b42..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/service/impl/WarningServiceImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.casic.missiles.modular.system.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.casic.missiles.modular.system.dao.WarningMapper; -import com.casic.missiles.modular.system.dto.WaringDTO; -import com.casic.missiles.modular.system.model.Waring; -import com.casic.missiles.modular.system.service.IWarningService; -import org.springframework.stereotype.Service; - -/** - * @author a203 - */ - -@Service -public class WarningServiceImpl extends ServiceImpl implements IWarningService { - - public WarningServiceImpl() { - - } - - @Override - public WaringDTO recentValue() { - WaringDTO waringDTO = null; - for (Waring waring : list()) { - waringDTO = new WaringDTO(waring); - } - return waringDTO; - } - - @Override - public boolean save(Waring entity) { - remove(null); - return super.save(entity); - } -} diff --git a/casic-web/pom.xml b/casic-web/pom.xml index bf6b182..2c7d169 100644 --- a/casic-web/pom.xml +++ b/casic-web/pom.xml @@ -107,6 +107,11 @@ com.casic + casic-alarm + ${pro.version} + + + com.casic casic-job-quartz 2.0.0.alpha diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java index 29094cf..dd2413c 100644 --- a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java +++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java @@ -3,7 +3,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; @@ -26,5 +25,4 @@ SpringApplication.run(CasicApplication.class, args); log.info("CasicApplication is success!"); } - } diff --git a/casic-web/src/main/resources/config/application-dev.yml b/casic-web/src/main/resources/config/application-dev.yml index afbce88..d943787 100644 --- a/casic-web/src/main/resources/config/application-dev.yml +++ b/casic-web/src/main/resources/config/application-dev.yml @@ -4,7 +4,7 @@ spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://111.198.10.15:11336/ais_ship?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true + url: jdbc:mysql://111.198.10.15:11336/casic_mobile_shelter?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true username: root password: Casic203 jms: diff --git a/casic-alarm/pom.xml b/casic-alarm/pom.xml new file mode 100644 index 0000000..07ae89f --- /dev/null +++ b/casic-alarm/pom.xml @@ -0,0 +1,60 @@ + + + 4.0.0 + + com.casic + casic-template + ../pom.xml + 2.0.0 + + + casic-alarm + 2.0.0 + jar + casic-alarm + + + + + com.casic + casic-core + ${core.version} + provided + + + com.casic + casic-admin-support + ${admin.version} + provided + + + org.springframework.boot + spring-boot-starter-web + ${boot.version} + provided + + + com.casic + casic-server-support + 1.0.0 + + + + com.alibaba + fastjson + ${fastjson.version} + + + + + + src/main/java + + **/*.xml + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java new file mode 100644 index 0000000..4f1d54c --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/controller/AlarmController.java @@ -0,0 +1,43 @@ +package com.casic.missiles.modular.system.controller; + +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.*; + +/** + * 报警阈值设置控制器 + * + * @author a203 + */ +@Controller +@RequestMapping("/alarm") +public class AlarmController { + private final IAlarmService alarmService; + + public AlarmController(IAlarmService alarmService) { + this.alarmService = alarmService; + } + + /** + * 获取最新的阈值设置 + */ + @GetMapping(value = "/recentValue") + @ResponseBody + public Object recentValue() { + AlarmDTO alarmDTO = alarmService.recentValue(); + return ResponseData.success(alarmDTO); + } + + /** + * 设置阈值 + */ + @PostMapping(value = "/update") + @ResponseBody + public Object update(@RequestBody Alarm waring) { + alarmService.save(waring); + return ResponseData.success(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java new file mode 100644 index 0000000..a8f63fe --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/AlarmMapper.java @@ -0,0 +1,14 @@ +package com.casic.missiles.modular.system.dao; + + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * 报警数据信息 Mapper 接口 + * + * @author a203 + */ +public interface AlarmMapper extends BaseMapper { + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml new file mode 100644 index 0000000..fcfa970 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java new file mode 100644 index 0000000..a145ef4 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/dto/AlarmDTO.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.dto; + +import com.casic.missiles.modular.system.model.Alarm; +import lombok.Data; + +/** + * @author a203 + */ +@Data +public class AlarmDTO { + /** + * 台风与方舱和机器人的距离 + */ + private Double typhoonDistance; + + /** + * 台风风速 + */ + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + private Double shipDistance; + + /** + * 机器人电量 + */ + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + private Double robotDistance; + + /** + * 通信信号强度 + */ + private Integer satelliteSignal; + + public AlarmDTO(Alarm waring) { + this.typhoonDistance = waring.getTyphoonDistance(); + this.typhoonSpeed = waring.getTyphoonSpeed(); + this.shipDistance = waring.getShipDistance(); + this.robotBattery = waring.getRobotBattery(); + this.robotDistance = waring.getRobotDistance(); + this.satelliteSignal = waring.getSatelliteSignal(); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java new file mode 100644 index 0000000..d424b97 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/IAlarmService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.modular.system.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; + +/** + * @author a203 + */ +public interface IAlarmService extends IService { + /** + * 获取最新的阈值设置 + * + * @return {@link AlarmDTO} + */ + AlarmDTO recentValue(); +} \ No newline at end of file diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java new file mode 100644 index 0000000..af34f42 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmServiceImpl.java @@ -0,0 +1,34 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.modular.system.dao.AlarmMapper; +import com.casic.missiles.modular.system.dto.AlarmDTO; +import com.casic.missiles.modular.system.model.Alarm; +import com.casic.missiles.modular.system.service.IAlarmService; +import org.springframework.stereotype.Service; + +/** + * @author a203 + */ +@Service +public class AlarmServiceImpl extends ServiceImpl implements IAlarmService { + + public AlarmServiceImpl() { + + } + + @Override + public AlarmDTO recentValue() { + AlarmDTO alarmDTO = null; + for (Alarm alarm : list()) { + alarmDTO = new AlarmDTO(alarm); + } + return alarmDTO; + } + + @Override + public boolean save(Alarm entity) { + remove(null); + return super.save(entity); + } +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java new file mode 100644 index 0000000..3f48bd3 --- /dev/null +++ b/casic-alarm/src/main/java/com/casic/missiles/socket/AlarmSocket.java @@ -0,0 +1,10 @@ +package com.casic.missiles.socket; + +/** + * Web报警长链接 + * + * @author a203 + */ +public class AlarmSocket { + +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java new file mode 100644 index 0000000..85304f0 --- /dev/null +++ b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Alarm.java @@ -0,0 +1,64 @@ +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("alarm_threshold") +public class Alarm extends Model { + private static final long serialVersionUID = 1L; + + /** + * 数据库主键 + *

+ * type = IdType.AUTO 是数据库自增 + */ + @TableId(value = "ID", type = IdType.AUTO) + private Integer id; + + /** + * 台风与方舱和机器人的距离 + */ + @TableField("TYPHOON_DIS") + private Double typhoonDistance; + + /** + * 台风风速 + */ + @TableField("TYPHOON_SPEED") + private Double typhoonSpeed; + + /** + * 船舶与机器人的距离 + */ + @TableField("SHIP_DIS") + private Double shipDistance; + + /** + * 机器人电量 + */ + @TableField("ROBOT_BATTERY") + private Double robotBattery; + + /** + * 机器人与方舱之间的距离 + */ + @TableField("ROBOT_DIS") + private Double robotDistance; + + /** + * 通信信号强度 + * 不能用 SIGNAL/signal 关键字,会报错 + */ + @TableField("SATELLITE_SIGNAL") + private Integer satelliteSignal; +} diff --git a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java b/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java deleted file mode 100644 index dd6545f..0000000 --- a/casic-server-support/src/main/java/com/casic/missiles/modular/system/model/Waring.java +++ /dev/null @@ -1,64 +0,0 @@ -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("warning_threshold") -public class Waring extends Model { - private static final long serialVersionUID = 1L; - - /** - * 数据库主键 - *

- * type = IdType.AUTO 是数据库自增 - */ - @TableId(value = "ID", type = IdType.AUTO) - private Integer id; - - /** - * 台风与方舱和机器人的距离 - */ - @TableField("TYPHOON_DIS") - private Double typhoonDistance; - - /** - * 台风风速 - */ - @TableField("TYPHOON_SPEED") - private Double typhoonSpeed; - - /** - * 船舶与机器人的距离 - */ - @TableField("SHIP_DIS") - private Double shipDistance; - - /** - * 机器人电量 - */ - @TableField("ROBOT_BATTERY") - private Double robotBattery; - - /** - * 机器人与方舱之间的距离 - */ - @TableField("ROBOT_DIS") - private Double robotDistance; - - /** - * 通信信号强度 - * 不能用 SIGNAL/signal 关键字,会报错 - */ - @TableField("SATELLITE_SIGNAL") - private Integer satelliteSignal; -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java deleted file mode 100644 index b39b29c..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/constants/CheckCode.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.casic.missiles.modular.system.constants; - -/** - * CRC16校验码 - * - * @author a203 - */ -public class CheckCode { - public static int[] CRC_HIGH = { - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, - 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, - 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, - 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40, 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, - 0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, - 0x40 - }; - - public static int[] CRC_LOW = { - 0x00, 0xC0, 0xC1, 0x01, 0xC3, 0x03, 0x02, 0xC2, 0xC6, 0x06, 0x07, 0xC7, 0x05, 0xC5, 0xC4, - 0x04, 0xCC, 0x0C, 0x0D, 0xCD, 0x0F, 0xCF, 0xCE, 0x0E, 0x0A, 0xCA, 0xCB, 0x0B, 0xC9, 0x09, - 0x08, 0xC8, 0xD8, 0x18, 0x19, 0xD9, 0x1B, 0xDB, 0xDA, 0x1A, 0x1E, 0xDE, 0xDF, 0x1F, 0xDD, - 0x1D, 0x1C, 0xDC, 0x14, 0xD4, 0xD5, 0x15, 0xD7, 0x17, 0x16, 0xD6, 0xD2, 0x12, 0x13, 0xD3, - 0x11, 0xD1, 0xD0, 0x10, 0xF0, 0x30, 0x31, 0xF1, 0x33, 0xF3, 0xF2, 0x32, 0x36, 0xF6, 0xF7, - 0x37, 0xF5, 0x35, 0x34, 0xF4, 0x3C, 0xFC, 0xFD, 0x3D, 0xFF, 0x3F, 0x3E, 0xFE, 0xFA, 0x3A, - 0x3B, 0xFB, 0x39, 0xF9, 0xF8, 0x38, 0x28, 0xE8, 0xE9, 0x29, 0xEB, 0x2B, 0x2A, 0xEA, 0xEE, - 0x2E, 0x2F, 0xEF, 0x2D, 0xED, 0xEC, 0x2C, 0xE4, 0x24, 0x25, 0xE5, 0x27, 0xE7, 0xE6, 0x26, - 0x22, 0xE2, 0xE3, 0x23, 0xE1, 0x21, 0x20, 0xE0, 0xA0, 0x60, 0x61, 0xA1, 0x63, 0xA3, 0xA2, - 0x62, 0x66, 0xA6, 0xA7, 0x67, 0xA5, 0x65, 0x64, 0xA4, 0x6C, 0xAC, 0xAD, 0x6D, 0xAF, 0x6F, - 0x6E, 0xAE, 0xAA, 0x6A, 0x6B, 0xAB, 0x69, 0xA9, 0xA8, 0x68, 0x78, 0xB8, 0xB9, 0x79, 0xBB, - 0x7B, 0x7A, 0xBA, 0xBE, 0x7E, 0x7F, 0xBF, 0x7D, 0xBD, 0xBC, 0x7C, 0xB4, 0x74, 0x75, 0xB5, - 0x77, 0xB7, 0xB6, 0x76, 0x72, 0xB2, 0xB3, 0x73, 0xB1, 0x71, 0x70, 0xB0, 0x50, 0x90, 0x91, - 0x51, 0x93, 0x53, 0x52, 0x92, 0x96, 0x56, 0x57, 0x97, 0x55, 0x95, 0x94, 0x54, 0x9C, 0x5C, - 0x5D, 0x9D, 0x5F, 0x9F, 0x9E, 0x5E, 0x5A, 0x9A, 0x9B, 0x5B, 0x99, 0x59, 0x58, 0x98, 0x88, - 0x48, 0x49, 0x89, 0x4B, 0x8B, 0x8A, 0x4A, 0x4E, 0x8E, 0x8F, 0x4F, 0x8D, 0x4D, 0x4C, 0x8C, - 0x44, 0x84, 0x85, 0x45, 0x87, 0x47, 0x46, 0x86, 0x82, 0x42, 0x43, 0x83, 0x41, 0x81, 0x80, - 0x40 - }; -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java index 9a3f00e..de35901 100644 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java +++ b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/TyphoonController.java @@ -14,12 +14,12 @@ import java.util.List; /** - * 热带气旋/台风控制器 + * 环境控制器 * * @author a203 */ @Controller -@RequestMapping("/typhoon") +@RequestMapping("/environment") public class TyphoonController { private final ITyphoonService typhoonService; @@ -30,7 +30,7 @@ /** * 台风列表 */ - @GetMapping(value = "/list") + @GetMapping(value = "/typhoonList") @ResponseBody public Object list() { List typhoonList = typhoonService.currentTyphoonList(); @@ -40,7 +40,7 @@ /** * 台风详情 */ - @GetMapping(value = "/detail/{typhoonId}") + @GetMapping(value = "/typhoonDetail/{typhoonId}") @ResponseBody public Object detail(@PathVariable("typhoonId") String typhoonId) { TyphoonDetailDTO detailDTO = typhoonService.typhoonDetail(typhoonId); diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java deleted file mode 100644 index 0bff6df..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/controller/WarningController.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.casic.missiles.modular.system.controller; - -import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.modular.system.dto.WaringDTO; -import com.casic.missiles.modular.system.model.Waring; -import com.casic.missiles.modular.system.service.IWarningService; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.*; - -/** - * 报警阈值设置控制器 - * - * @author a203 - */ -@Controller -@RequestMapping("/warning") -public class WarningController { - - private final IWarningService warningService; - - public WarningController(IWarningService warningService) { - this.warningService = warningService; - } - - /** - * 获取最新的阈值设置 - */ - @GetMapping(value = "/recentValue") - @ResponseBody - public Object recentValue() { - WaringDTO waringDTO = warningService.recentValue(); - return ResponseData.success(waringDTO); - } - - /** - * 设置阈值 - */ - @PostMapping(value = "/update") - @ResponseBody - public Object update(@RequestBody Waring waring) { - warningService.save(waring); - return ResponseData.success(); - } -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/dao/WarningMapper.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/dao/WarningMapper.java deleted file mode 100644 index 15112e4..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/dao/WarningMapper.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.casic.missiles.modular.system.dao; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.casic.missiles.modular.system.model.Waring; - -/** - * @author a203 - */ -public interface WarningMapper extends BaseMapper { -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/dto/WaringDTO.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/dto/WaringDTO.java deleted file mode 100644 index 8eb20a0..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/dto/WaringDTO.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.casic.missiles.modular.system.dto; - -import com.baomidou.mybatisplus.annotation.TableField; -import com.casic.missiles.modular.system.model.Waring; -import lombok.Data; - -/** - * @author a203 - */ -@Data -public class WaringDTO { - /** - * 台风与方舱和机器人的距离 - */ - private Double typhoonDistance; - - /** - * 台风风速 - */ - private Double typhoonSpeed; - - /** - * 船舶与机器人的距离 - */ - private Double shipDistance; - - /** - * 机器人电量 - */ - private Double robotBattery; - - /** - * 机器人与方舱之间的距离 - */ - private Double robotDistance; - - /** - * 通信信号强度 - */ - private Integer satelliteSignal; - - public WaringDTO(Waring waring) { - this.typhoonDistance = waring.getTyphoonDistance(); - this.typhoonSpeed = waring.getTyphoonSpeed(); - this.shipDistance = waring.getShipDistance(); - this.robotBattery = waring.getRobotBattery(); - this.robotDistance = waring.getRobotDistance(); - this.satelliteSignal = waring.getSatelliteSignal(); - } -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/service/IWarningService.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/service/IWarningService.java deleted file mode 100644 index 45a78ff..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/service/IWarningService.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.casic.missiles.modular.system.service; - -import com.baomidou.mybatisplus.extension.service.IService; -import com.casic.missiles.modular.system.dto.WaringDTO; -import com.casic.missiles.modular.system.model.Waring; - -/** - * @author a203 - */ -public interface IWarningService extends IService { - /** - * 获取最新的阈值设置 - * - * @return {@link WaringDTO} - */ - WaringDTO recentValue(); -} diff --git a/casic-ship/src/main/java/com/casic/missiles/modular/system/service/impl/WarningServiceImpl.java b/casic-ship/src/main/java/com/casic/missiles/modular/system/service/impl/WarningServiceImpl.java deleted file mode 100644 index a1c4b42..0000000 --- a/casic-ship/src/main/java/com/casic/missiles/modular/system/service/impl/WarningServiceImpl.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.casic.missiles.modular.system.service.impl; - -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import com.casic.missiles.modular.system.dao.WarningMapper; -import com.casic.missiles.modular.system.dto.WaringDTO; -import com.casic.missiles.modular.system.model.Waring; -import com.casic.missiles.modular.system.service.IWarningService; -import org.springframework.stereotype.Service; - -/** - * @author a203 - */ - -@Service -public class WarningServiceImpl extends ServiceImpl implements IWarningService { - - public WarningServiceImpl() { - - } - - @Override - public WaringDTO recentValue() { - WaringDTO waringDTO = null; - for (Waring waring : list()) { - waringDTO = new WaringDTO(waring); - } - return waringDTO; - } - - @Override - public boolean save(Waring entity) { - remove(null); - return super.save(entity); - } -} diff --git a/casic-web/pom.xml b/casic-web/pom.xml index bf6b182..2c7d169 100644 --- a/casic-web/pom.xml +++ b/casic-web/pom.xml @@ -107,6 +107,11 @@ com.casic + casic-alarm + ${pro.version} + + + com.casic casic-job-quartz 2.0.0.alpha diff --git a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java index 29094cf..dd2413c 100644 --- a/casic-web/src/main/java/com/casic/missiles/CasicApplication.java +++ b/casic-web/src/main/java/com/casic/missiles/CasicApplication.java @@ -3,7 +3,6 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.web.servlet.ServletComponentScan; import org.springframework.cache.annotation.EnableCaching; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; @@ -26,5 +25,4 @@ SpringApplication.run(CasicApplication.class, args); log.info("CasicApplication is success!"); } - } diff --git a/casic-web/src/main/resources/config/application-dev.yml b/casic-web/src/main/resources/config/application-dev.yml index afbce88..d943787 100644 --- a/casic-web/src/main/resources/config/application-dev.yml +++ b/casic-web/src/main/resources/config/application-dev.yml @@ -4,7 +4,7 @@ spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver - url: jdbc:mysql://111.198.10.15:11336/ais_ship?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true + url: jdbc:mysql://111.198.10.15:11336/casic_mobile_shelter?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true&serverTimezone=UTC&&allowMultiQueries=true username: root password: Casic203 jms: diff --git a/pom.xml b/pom.xml index d14b217..747bd2a 100644 --- a/pom.xml +++ b/pom.xml @@ -11,6 +11,7 @@ casic-server casic-ship casic-server-support + casic-alarm com.casic