diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 6c589af..d5915a2 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -8,7 +8,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDeptService; -import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; @@ -53,7 +52,7 @@ private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; private final AbstractDeptService abstractDeptService; - private final AbstractDictService abstractDictService; + @Override public Page pageList(Page page, AlarmRecordDTO request, DataScope dataScope) { diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 6c589af..d5915a2 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -8,7 +8,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDeptService; -import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; @@ -53,7 +52,7 @@ private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; private final AbstractDeptService abstractDeptService; - private final AbstractDictService abstractDictService; + @Override public Page pageList(Page page, AlarmRecordDTO request, DataScope dataScope) { diff --git a/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java b/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java index 9f42224..8d46b1c 100644 --- a/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java +++ b/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java @@ -17,10 +17,9 @@ @RequestMapping("/app") public class AppController { private final IAlarmRecordsService iAlarmRecordsService; - //alarmId 报警id、realAlarm(1:是,0:否)、processStatus(5:已确认,6:待处置,7:已处置)、处理人、处理时间、备注 @ApiOperation("XX") - @PostMapping("/receiveProcessResult") + @PostMapping("/addDevice") @ResponseBody public Object getProcessResult(@RequestBody Map resultParams) { //todo:协议待定 diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 6c589af..d5915a2 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -8,7 +8,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDeptService; -import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; @@ -53,7 +52,7 @@ private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; private final AbstractDeptService abstractDeptService; - private final AbstractDictService abstractDictService; + @Override public Page pageList(Page page, AlarmRecordDTO request, DataScope dataScope) { diff --git a/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java b/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java index 9f42224..8d46b1c 100644 --- a/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java +++ b/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java @@ -17,10 +17,9 @@ @RequestMapping("/app") public class AppController { private final IAlarmRecordsService iAlarmRecordsService; - //alarmId 报警id、realAlarm(1:是,0:否)、processStatus(5:已确认,6:待处置,7:已处置)、处理人、处理时间、备注 @ApiOperation("XX") - @PostMapping("/receiveProcessResult") + @PostMapping("/addDevice") @ResponseBody public Object getProcessResult(@RequestBody Map resultParams) { //todo:协议待定 diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java new file mode 100644 index 0000000..90833a5 --- /dev/null +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.modular.data.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.data.entity.DataGas; + +/** + *

+ * 智能燃气监测终端上传数据表 服务类 + *

+ * + * @author zt + * @since 2024-07-16 + */ +public interface IDataAbstractService extends IService { + + void process(String dataContent); +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 6c589af..d5915a2 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -8,7 +8,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDeptService; -import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; @@ -53,7 +52,7 @@ private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; private final AbstractDeptService abstractDeptService; - private final AbstractDictService abstractDictService; + @Override public Page pageList(Page page, AlarmRecordDTO request, DataScope dataScope) { diff --git a/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java b/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java index 9f42224..8d46b1c 100644 --- a/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java +++ b/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java @@ -17,10 +17,9 @@ @RequestMapping("/app") public class AppController { private final IAlarmRecordsService iAlarmRecordsService; - //alarmId 报警id、realAlarm(1:是,0:否)、processStatus(5:已确认,6:待处置,7:已处置)、处理人、处理时间、备注 @ApiOperation("XX") - @PostMapping("/receiveProcessResult") + @PostMapping("/addDevice") @ResponseBody public Object getProcessResult(@RequestBody Map resultParams) { //todo:协议待定 diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java new file mode 100644 index 0000000..90833a5 --- /dev/null +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.modular.data.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.data.entity.DataGas; + +/** + *

+ * 智能燃气监测终端上传数据表 服务类 + *

+ * + * @author zt + * @since 2024-07-16 + */ +public interface IDataAbstractService extends IService { + + void process(String dataContent); +} diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index 68e0e19..1cbf5af 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataGasMapper; import com.casic.missiles.modular.data.entity.DataGas; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasService; import org.springframework.stereotype.Service; @@ -15,6 +16,14 @@ * @since 2024-07-16 */ @Service -public class DataGasServiceImpl extends ServiceImpl implements IDataGasService { +public class DataGasServiceImpl extends ServiceImpl implements IDataGasService, IDataAbstractService { + /** + * 处理接收数据逻辑 + * @param dataContent + */ + @Override + public void process(String dataContent) { + System.out.println("接收到数据--->"+dataContent); + } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 6c589af..d5915a2 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -8,7 +8,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDeptService; -import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; @@ -53,7 +52,7 @@ private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; private final AbstractDeptService abstractDeptService; - private final AbstractDictService abstractDictService; + @Override public Page pageList(Page page, AlarmRecordDTO request, DataScope dataScope) { diff --git a/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java b/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java index 9f42224..8d46b1c 100644 --- a/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java +++ b/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java @@ -17,10 +17,9 @@ @RequestMapping("/app") public class AppController { private final IAlarmRecordsService iAlarmRecordsService; - //alarmId 报警id、realAlarm(1:是,0:否)、processStatus(5:已确认,6:待处置,7:已处置)、处理人、处理时间、备注 @ApiOperation("XX") - @PostMapping("/receiveProcessResult") + @PostMapping("/addDevice") @ResponseBody public Object getProcessResult(@RequestBody Map resultParams) { //todo:协议待定 diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java new file mode 100644 index 0000000..90833a5 --- /dev/null +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.modular.data.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.data.entity.DataGas; + +/** + *

+ * 智能燃气监测终端上传数据表 服务类 + *

+ * + * @author zt + * @since 2024-07-16 + */ +public interface IDataAbstractService extends IService { + + void process(String dataContent); +} diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index 68e0e19..1cbf5af 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataGasMapper; import com.casic.missiles.modular.data.entity.DataGas; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasService; import org.springframework.stereotype.Service; @@ -15,6 +16,14 @@ * @since 2024-07-16 */ @Service -public class DataGasServiceImpl extends ServiceImpl implements IDataGasService { +public class DataGasServiceImpl extends ServiceImpl implements IDataGasService, IDataAbstractService { + /** + * 处理接收数据逻辑 + * @param dataContent + */ + @Override + public void process(String dataContent) { + System.out.println("接收到数据--->"+dataContent); + } } diff --git a/casic-rest-api/pom.xml b/casic-rest-api/pom.xml index c82a3bd..0fe0c13 100644 --- a/casic-rest-api/pom.xml +++ b/casic-rest-api/pom.xml @@ -64,6 +64,12 @@ casic-alarm 2.0.0 + + com.casic + casic-data + 2.0.0 + compile + diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 6c589af..d5915a2 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -8,7 +8,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDeptService; -import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; @@ -53,7 +52,7 @@ private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; private final AbstractDeptService abstractDeptService; - private final AbstractDictService abstractDictService; + @Override public Page pageList(Page page, AlarmRecordDTO request, DataScope dataScope) { diff --git a/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java b/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java index 9f42224..8d46b1c 100644 --- a/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java +++ b/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java @@ -17,10 +17,9 @@ @RequestMapping("/app") public class AppController { private final IAlarmRecordsService iAlarmRecordsService; - //alarmId 报警id、realAlarm(1:是,0:否)、processStatus(5:已确认,6:待处置,7:已处置)、处理人、处理时间、备注 @ApiOperation("XX") - @PostMapping("/receiveProcessResult") + @PostMapping("/addDevice") @ResponseBody public Object getProcessResult(@RequestBody Map resultParams) { //todo:协议待定 diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java new file mode 100644 index 0000000..90833a5 --- /dev/null +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.modular.data.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.data.entity.DataGas; + +/** + *

+ * 智能燃气监测终端上传数据表 服务类 + *

+ * + * @author zt + * @since 2024-07-16 + */ +public interface IDataAbstractService extends IService { + + void process(String dataContent); +} diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index 68e0e19..1cbf5af 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataGasMapper; import com.casic.missiles.modular.data.entity.DataGas; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasService; import org.springframework.stereotype.Service; @@ -15,6 +16,14 @@ * @since 2024-07-16 */ @Service -public class DataGasServiceImpl extends ServiceImpl implements IDataGasService { +public class DataGasServiceImpl extends ServiceImpl implements IDataGasService, IDataAbstractService { + /** + * 处理接收数据逻辑 + * @param dataContent + */ + @Override + public void process(String dataContent) { + System.out.println("接收到数据--->"+dataContent); + } } diff --git a/casic-rest-api/pom.xml b/casic-rest-api/pom.xml index c82a3bd..0fe0c13 100644 --- a/casic-rest-api/pom.xml +++ b/casic-rest-api/pom.xml @@ -64,6 +64,12 @@ casic-alarm 2.0.0 + + com.casic + casic-data + 2.0.0 + compile + diff --git a/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/controller/ReceiveDataController.java b/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/controller/ReceiveDataController.java index 7591377..da5c62d 100644 --- a/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/controller/ReceiveDataController.java +++ b/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/controller/ReceiveDataController.java @@ -1,26 +1,45 @@ package com.casic.missiles.modular.sensorHub.controller; +import com.alibaba.fastjson.JSON; +import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.alarm.service.IAlarmRecordsService; +import com.casic.missiles.modular.data.service.IDataAbstractService; +import com.casic.missiles.modular.sensorHub.resolver.ResponseResolver; +import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import java.util.Map; +import java.util.concurrent.LinkedBlockingDeque; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; @Api(tags = "接收设备数据api") +@Slf4j @RequiredArgsConstructor @RestController @RequestMapping("/device") public class ReceiveDataController { - private final IAlarmRecordsService iAlarmRecordsService; + private final ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(5, 10, 60, TimeUnit.SECONDS, new LinkedBlockingDeque<>(10)); + + private final IDataAbstractService iDataAbstractService; @ApiOperation("接收设备数据入口") @PostMapping("/receiveData") @ResponseBody - public Object getProcessResult(@RequestBody Map resultParams) { - return ResponseData.success(iAlarmRecordsService.processByApp(resultParams)); + public ReturnDTO getProcessResult(String jsonData) { + log.info(">>>>>>接收数<<<<<<:" + jsonData); + threadPoolExecutor.execute( + () -> { + ResponseResolver responseResolver = new ResponseResolver(); + responseResolver.makeResponse(jsonData); + } + ); + return ReturnUtil.success(); } } diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 6c589af..d5915a2 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -8,7 +8,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDeptService; -import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; @@ -53,7 +52,7 @@ private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; private final AbstractDeptService abstractDeptService; - private final AbstractDictService abstractDictService; + @Override public Page pageList(Page page, AlarmRecordDTO request, DataScope dataScope) { diff --git a/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java b/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java index 9f42224..8d46b1c 100644 --- a/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java +++ b/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java @@ -17,10 +17,9 @@ @RequestMapping("/app") public class AppController { private final IAlarmRecordsService iAlarmRecordsService; - //alarmId 报警id、realAlarm(1:是,0:否)、processStatus(5:已确认,6:待处置,7:已处置)、处理人、处理时间、备注 @ApiOperation("XX") - @PostMapping("/receiveProcessResult") + @PostMapping("/addDevice") @ResponseBody public Object getProcessResult(@RequestBody Map resultParams) { //todo:协议待定 diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java new file mode 100644 index 0000000..90833a5 --- /dev/null +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.modular.data.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.data.entity.DataGas; + +/** + *

+ * 智能燃气监测终端上传数据表 服务类 + *

+ * + * @author zt + * @since 2024-07-16 + */ +public interface IDataAbstractService extends IService { + + void process(String dataContent); +} diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index 68e0e19..1cbf5af 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataGasMapper; import com.casic.missiles.modular.data.entity.DataGas; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasService; import org.springframework.stereotype.Service; @@ -15,6 +16,14 @@ * @since 2024-07-16 */ @Service -public class DataGasServiceImpl extends ServiceImpl implements IDataGasService { +public class DataGasServiceImpl extends ServiceImpl implements IDataGasService, IDataAbstractService { + /** + * 处理接收数据逻辑 + * @param dataContent + */ + @Override + public void process(String dataContent) { + System.out.println("接收到数据--->"+dataContent); + } } diff --git a/casic-rest-api/pom.xml b/casic-rest-api/pom.xml index c82a3bd..0fe0c13 100644 --- a/casic-rest-api/pom.xml +++ b/casic-rest-api/pom.xml @@ -64,6 +64,12 @@ casic-alarm 2.0.0 + + com.casic + casic-data + 2.0.0 + compile + diff --git a/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/controller/ReceiveDataController.java b/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/controller/ReceiveDataController.java index 7591377..da5c62d 100644 --- a/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/controller/ReceiveDataController.java +++ b/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/controller/ReceiveDataController.java @@ -1,26 +1,45 @@ package com.casic.missiles.modular.sensorHub.controller; +import com.alibaba.fastjson.JSON; +import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.alarm.service.IAlarmRecordsService; +import com.casic.missiles.modular.data.service.IDataAbstractService; +import com.casic.missiles.modular.sensorHub.resolver.ResponseResolver; +import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import java.util.Map; +import java.util.concurrent.LinkedBlockingDeque; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; @Api(tags = "接收设备数据api") +@Slf4j @RequiredArgsConstructor @RestController @RequestMapping("/device") public class ReceiveDataController { - private final IAlarmRecordsService iAlarmRecordsService; + private final ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(5, 10, 60, TimeUnit.SECONDS, new LinkedBlockingDeque<>(10)); + + private final IDataAbstractService iDataAbstractService; @ApiOperation("接收设备数据入口") @PostMapping("/receiveData") @ResponseBody - public Object getProcessResult(@RequestBody Map resultParams) { - return ResponseData.success(iAlarmRecordsService.processByApp(resultParams)); + public ReturnDTO getProcessResult(String jsonData) { + log.info(">>>>>>接收数<<<<<<:" + jsonData); + threadPoolExecutor.execute( + () -> { + ResponseResolver responseResolver = new ResponseResolver(); + responseResolver.makeResponse(jsonData); + } + ); + return ReturnUtil.success(); } } diff --git a/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/resolver/ResponseResolver.java b/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/resolver/ResponseResolver.java new file mode 100644 index 0000000..ca85bf5 --- /dev/null +++ b/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/resolver/ResponseResolver.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.sensorHub.resolver; + +import com.alibaba.fastjson.JSONObject; +import com.casic.missiles.enums.DeviceTypeEnum; +import com.casic.missiles.modular.data.service.IDataAbstractService; +import com.casic.missiles.modular.data.service.impl.DataGasServiceImpl; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.Map; + + +@Service +@RequiredArgsConstructor +public class ResponseResolver { + + + //todO:待优化 + private DataGasServiceImpl dataGasService; + + + private Map abstractResponseHashMap = new HashMap(); + + { +// abstractResponseHashMap.put(DeviceTypeEnum.Liquid.name(), new LiquidResponse()); +// abstractResponseHashMap.put(DeviceTypeEnum.Well.name(), new WellResponse()); +// abstractResponseHashMap.put(DeviceTypeEnum.Concentrator.name(), new ConcentratorResponse()); + + abstractResponseHashMap.put(DeviceTypeEnum.Methane.name(), new DataGasServiceImpl()); + + } + + + //event的具体处理 + public void makeResponse(String content) { +// JSONObject json = JSONObject.parseObject(content); +// if (null == json) return; +// IDataAbstractService response = abstractResponseHashMap.get(json.getString("devType")); + IDataAbstractService response = abstractResponseHashMap.get("Methane"); + response.process(content); + } + +} diff --git a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java index 6c589af..d5915a2 100644 --- a/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java +++ b/casic-alarm/src/main/java/com/casic/missiles/modular/alarm/service/impl/AlarmRecordsServiceImpl.java @@ -8,7 +8,6 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.core.application.service.AbstractDeptService; -import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.model.auth.AuthUser; import com.casic.missiles.core.page.PageFactory; @@ -53,7 +52,7 @@ private final SuspendLogMapper suspendLogMapper; private final RemindLogMapper remindLogMapper; private final AbstractDeptService abstractDeptService; - private final AbstractDictService abstractDictService; + @Override public Page pageList(Page page, AlarmRecordDTO request, DataScope dataScope) { diff --git a/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java b/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java index 9f42224..8d46b1c 100644 --- a/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java +++ b/casic-app/src/main/java/com/casic/missiles/modular/app/controller/AppController.java @@ -17,10 +17,9 @@ @RequestMapping("/app") public class AppController { private final IAlarmRecordsService iAlarmRecordsService; - //alarmId 报警id、realAlarm(1:是,0:否)、processStatus(5:已确认,6:待处置,7:已处置)、处理人、处理时间、备注 @ApiOperation("XX") - @PostMapping("/receiveProcessResult") + @PostMapping("/addDevice") @ResponseBody public Object getProcessResult(@RequestBody Map resultParams) { //todo:协议待定 diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java new file mode 100644 index 0000000..90833a5 --- /dev/null +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/IDataAbstractService.java @@ -0,0 +1,17 @@ +package com.casic.missiles.modular.data.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.casic.missiles.modular.data.entity.DataGas; + +/** + *

+ * 智能燃气监测终端上传数据表 服务类 + *

+ * + * @author zt + * @since 2024-07-16 + */ +public interface IDataAbstractService extends IService { + + void process(String dataContent); +} diff --git a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java index 68e0e19..1cbf5af 100644 --- a/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java +++ b/casic-data/src/main/java/com/casic/missiles/modular/data/service/impl/DataGasServiceImpl.java @@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.data.dao.DataGasMapper; import com.casic.missiles.modular.data.entity.DataGas; +import com.casic.missiles.modular.data.service.IDataAbstractService; import com.casic.missiles.modular.data.service.IDataGasService; import org.springframework.stereotype.Service; @@ -15,6 +16,14 @@ * @since 2024-07-16 */ @Service -public class DataGasServiceImpl extends ServiceImpl implements IDataGasService { +public class DataGasServiceImpl extends ServiceImpl implements IDataGasService, IDataAbstractService { + /** + * 处理接收数据逻辑 + * @param dataContent + */ + @Override + public void process(String dataContent) { + System.out.println("接收到数据--->"+dataContent); + } } diff --git a/casic-rest-api/pom.xml b/casic-rest-api/pom.xml index c82a3bd..0fe0c13 100644 --- a/casic-rest-api/pom.xml +++ b/casic-rest-api/pom.xml @@ -64,6 +64,12 @@ casic-alarm 2.0.0 + + com.casic + casic-data + 2.0.0 + compile + diff --git a/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/controller/ReceiveDataController.java b/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/controller/ReceiveDataController.java index 7591377..da5c62d 100644 --- a/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/controller/ReceiveDataController.java +++ b/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/controller/ReceiveDataController.java @@ -1,26 +1,45 @@ package com.casic.missiles.modular.sensorHub.controller; +import com.alibaba.fastjson.JSON; +import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.model.response.ResponseData; import com.casic.missiles.modular.alarm.service.IAlarmRecordsService; +import com.casic.missiles.modular.data.service.IDataAbstractService; +import com.casic.missiles.modular.sensorHub.resolver.ResponseResolver; +import com.casic.missiles.util.ReturnUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import java.util.Map; +import java.util.concurrent.LinkedBlockingDeque; +import java.util.concurrent.ThreadPoolExecutor; +import java.util.concurrent.TimeUnit; @Api(tags = "接收设备数据api") +@Slf4j @RequiredArgsConstructor @RestController @RequestMapping("/device") public class ReceiveDataController { - private final IAlarmRecordsService iAlarmRecordsService; + private final ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(5, 10, 60, TimeUnit.SECONDS, new LinkedBlockingDeque<>(10)); + + private final IDataAbstractService iDataAbstractService; @ApiOperation("接收设备数据入口") @PostMapping("/receiveData") @ResponseBody - public Object getProcessResult(@RequestBody Map resultParams) { - return ResponseData.success(iAlarmRecordsService.processByApp(resultParams)); + public ReturnDTO getProcessResult(String jsonData) { + log.info(">>>>>>接收数<<<<<<:" + jsonData); + threadPoolExecutor.execute( + () -> { + ResponseResolver responseResolver = new ResponseResolver(); + responseResolver.makeResponse(jsonData); + } + ); + return ReturnUtil.success(); } } diff --git a/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/resolver/ResponseResolver.java b/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/resolver/ResponseResolver.java new file mode 100644 index 0000000..ca85bf5 --- /dev/null +++ b/casic-rest-api/src/main/java/com/casic/missiles/modular/sensorHub/resolver/ResponseResolver.java @@ -0,0 +1,44 @@ +package com.casic.missiles.modular.sensorHub.resolver; + +import com.alibaba.fastjson.JSONObject; +import com.casic.missiles.enums.DeviceTypeEnum; +import com.casic.missiles.modular.data.service.IDataAbstractService; +import com.casic.missiles.modular.data.service.impl.DataGasServiceImpl; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.Map; + + +@Service +@RequiredArgsConstructor +public class ResponseResolver { + + + //todO:待优化 + private DataGasServiceImpl dataGasService; + + + private Map abstractResponseHashMap = new HashMap(); + + { +// abstractResponseHashMap.put(DeviceTypeEnum.Liquid.name(), new LiquidResponse()); +// abstractResponseHashMap.put(DeviceTypeEnum.Well.name(), new WellResponse()); +// abstractResponseHashMap.put(DeviceTypeEnum.Concentrator.name(), new ConcentratorResponse()); + + abstractResponseHashMap.put(DeviceTypeEnum.Methane.name(), new DataGasServiceImpl()); + + } + + + //event的具体处理 + public void makeResponse(String content) { +// JSONObject json = JSONObject.parseObject(content); +// if (null == json) return; +// IDataAbstractService response = abstractResponseHashMap.get(json.getString("devType")); + IDataAbstractService response = abstractResponseHashMap.get("Methane"); + response.process(content); + } + +} diff --git a/casic-web/src/main/resources/config/application-dev.yml b/casic-web/src/main/resources/config/application-dev.yml index e87a5f5..610f947 100644 --- a/casic-web/src/main/resources/config/application-dev.yml +++ b/casic-web/src/main/resources/config/application-dev.yml @@ -19,7 +19,7 @@ redisValueSerializer: org.springframework.data.redis.serializer.JdkSerializationRedisSerializer casic: #kaptcha-open: false #是否开启登录时验证码 (true/false) - no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/v2/api-docs,/v2/api-docs-ext,/doc.html,/v2/api-docs/swagger-ui.html,/swagger-resources,/webjars/** + no-login-urls: ${casic.sysUrl}/user/login,${casic.sysUrl}/user/appLogin,${casic.sysUrl}/kaptcha/base64,${casic.sysUrl}/config/baseConfig,/route/mockToken,/v2/api-docs,/v2/api-docs-ext,/doc.html,/v2/api-docs/swagger-ui.html,/swagger-resources,/webjars/**,/device/receiveData #flowable数据源和多数据源配置 db: init: