From b2f5e3a5fcd1d712ebb5cf91478f0cc038e40866 Mon Sep 17 00:00:00 2001 From: sige Date: Tue, 23 Jul 2024 14:07:07 +0800 Subject: [PATCH] 1 --- .../java/a8k/hardware/controler/Controler.java | 30 +++++++++++++++++++++- .../a8k/service/hardware/HbotControlService.java | 2 ++ .../hardware/ModuleRegConfigMgrService.java | 2 ++ .../hardware/MotorTubeRackMoveCtrlService.java | 2 ++ .../ReactionPlatesTransmitCtrlService.java | 2 ++ .../SamplesPreProcessModuleCtrlService.java | 2 ++ src/main/java/a8k/utils/HardwareService.java | 10 ++++++++ 7 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 src/main/java/a8k/utils/HardwareService.java diff --git a/src/main/java/a8k/hardware/controler/Controler.java b/src/main/java/a8k/hardware/controler/Controler.java index 242b0a4..5fd0d01 100644 --- a/src/main/java/a8k/hardware/controler/Controler.java +++ b/src/main/java/a8k/hardware/controler/Controler.java @@ -1,4 +1,32 @@ package a8k.hardware.controler; - +import a8k.appbean.ecode.AppRet; +import a8k.utils.HardwareService; +import com.iflytop.uf.util.UfClassHelper; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +@Controller public class Controler { + @PostMapping("/api/service-config/service-list") + @ResponseBody + public AppRet services() { + List> services = new ArrayList<>(); + var classes = UfClassHelper.getAllClassesInPackage("a8k"); + for (var clazz : classes) { + var hardwareServiceAnnotation = clazz.getAnnotation(HardwareService.class); + if (null == hardwareServiceAnnotation) { + continue ; + } + + Map service = new HashMap<>(); + service.put("key", clazz.getSimpleName()); + service.put("name", hardwareServiceAnnotation.name()); + services.add(service); + } + return AppRet.success(services); + } } diff --git a/src/main/java/a8k/service/hardware/HbotControlService.java b/src/main/java/a8k/service/hardware/HbotControlService.java index f0bb18c..0634971 100644 --- a/src/main/java/a8k/service/hardware/HbotControlService.java +++ b/src/main/java/a8k/service/hardware/HbotControlService.java @@ -1,10 +1,12 @@ package a8k.service.hardware; import a8k.a8k_can_protocol.A8kEcode; +import a8k.utils.HardwareService; /** * Hbot控制服务 */ +@HardwareService(name="Hbot控制") public class HbotControlService { /** diff --git a/src/main/java/a8k/service/hardware/ModuleRegConfigMgrService.java b/src/main/java/a8k/service/hardware/ModuleRegConfigMgrService.java index 8b5d502..7c940e1 100644 --- a/src/main/java/a8k/service/hardware/ModuleRegConfigMgrService.java +++ b/src/main/java/a8k/service/hardware/ModuleRegConfigMgrService.java @@ -1,9 +1,11 @@ package a8k.service.hardware; import a8k.service.db.entity.ModuleRegConfigIterm; +import a8k.utils.HardwareService; import org.springframework.stereotype.Component; @Component +@HardwareService(name="模块配置") public class ModuleRegConfigMgrService { diff --git a/src/main/java/a8k/service/hardware/MotorTubeRackMoveCtrlService.java b/src/main/java/a8k/service/hardware/MotorTubeRackMoveCtrlService.java index 3ab4226..405b60a 100644 --- a/src/main/java/a8k/service/hardware/MotorTubeRackMoveCtrlService.java +++ b/src/main/java/a8k/service/hardware/MotorTubeRackMoveCtrlService.java @@ -5,12 +5,14 @@ import a8k.appbean.HardwareException; import a8k.base_hardware.A8kCanBusService; import a8k.service.db.dao.A8kTubeInfoDao; import a8k.service.db.dao.MotorTubeRackMoveCtrlServiceParameterDao; +import a8k.utils.HardwareService; import com.iflytop.uf.util.UfCommon; import jakarta.annotation.Resource; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component +@HardwareService(name="出入料") public class MotorTubeRackMoveCtrlService { /** * diff --git a/src/main/java/a8k/service/hardware/ReactionPlatesTransmitCtrlService.java b/src/main/java/a8k/service/hardware/ReactionPlatesTransmitCtrlService.java index 99ca7fa..1476ae5 100644 --- a/src/main/java/a8k/service/hardware/ReactionPlatesTransmitCtrlService.java +++ b/src/main/java/a8k/service/hardware/ReactionPlatesTransmitCtrlService.java @@ -7,6 +7,7 @@ import a8k.appbean.HardwareException; import a8k.appbean.ecode.AppRet; import a8k.base_hardware.A8kCanBusService; import a8k.service.db.dao.ReactionPlatesTransmitCtrlParamDao; +import a8k.utils.HardwareService; import jakarta.annotation.Resource; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -14,6 +15,7 @@ import org.springframework.stereotype.Component; @Component +@HardwareService(name="反应板") public class ReactionPlatesTransmitCtrlService { static Logger logger = LoggerFactory.getLogger(ReactionPlatesTransmitCtrlService.class); diff --git a/src/main/java/a8k/service/hardware/SamplesPreProcessModuleCtrlService.java b/src/main/java/a8k/service/hardware/SamplesPreProcessModuleCtrlService.java index d50f5c7..7f35935 100644 --- a/src/main/java/a8k/service/hardware/SamplesPreProcessModuleCtrlService.java +++ b/src/main/java/a8k/service/hardware/SamplesPreProcessModuleCtrlService.java @@ -8,11 +8,13 @@ import a8k.appbean.HardwareException; import a8k.base_hardware.A8kCanBusService; import a8k.service.db.dao.A8kTubeInfoDao; import a8k.service.db.dao.SamplesPreProcessModuleCtrlParamsService; +import a8k.utils.HardwareService; import com.iflytop.uf.util.UfCommon; import jakarta.annotation.Resource; import org.springframework.stereotype.Component; @Component +@HardwareService(name="样本预处理") public class SamplesPreProcessModuleCtrlService { @Resource A8kTubeInfoDao tubeInfoDao; diff --git a/src/main/java/a8k/utils/HardwareService.java b/src/main/java/a8k/utils/HardwareService.java new file mode 100644 index 0000000..419e228 --- /dev/null +++ b/src/main/java/a8k/utils/HardwareService.java @@ -0,0 +1,10 @@ +package a8k.utils; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +@Retention(RetentionPolicy.RUNTIME) +@Target({ElementType.TYPE}) +public @interface HardwareService { + String name(); +}