|
|
@ -98,6 +98,43 @@ public class Controler { |
|
|
|
return AppRet.success(); |
|
|
|
} |
|
|
|
|
|
|
|
@PostMapping("/api/service-config/service-status-list") |
|
|
|
@ResponseBody |
|
|
|
public AppRet<Object> serviceStatus( @RequestBody Map<String, Object> params ) throws InvocationTargetException, IllegalAccessException { |
|
|
|
String serviceKey = (String)params.get("serviceKey"); |
|
|
|
Class<?> serviceClass = null; |
|
|
|
var classes = UfClassHelper.getAllClassesInPackage("a8k"); |
|
|
|
for (var clazz : classes) { |
|
|
|
var hardwareServiceAnnotation = clazz.getAnnotation(HardwareService.class); |
|
|
|
if (null == hardwareServiceAnnotation || !clazz.getSimpleName().equals(serviceKey)) { |
|
|
|
continue ; |
|
|
|
} |
|
|
|
serviceClass = clazz; |
|
|
|
break; |
|
|
|
} |
|
|
|
|
|
|
|
List<Map<String,Object>> statusList = new ArrayList<>(); |
|
|
|
if ( null == serviceClass ) { |
|
|
|
return AppRet.success(statusList); |
|
|
|
} |
|
|
|
|
|
|
|
var service = UfApplication.getContext().getBean(serviceClass); |
|
|
|
var methods = serviceClass.getMethods(); |
|
|
|
for ( var method : methods ) { |
|
|
|
var statusAnnotation = method.getAnnotation(HardwareServiceStatus.class); |
|
|
|
if ( null == statusAnnotation ) { |
|
|
|
continue; |
|
|
|
} |
|
|
|
|
|
|
|
var status = new HashMap<String,Object>(); |
|
|
|
status.put("name", statusAnnotation.name()); |
|
|
|
var value = method.invoke(service); |
|
|
|
status.put("value", value); |
|
|
|
statusList.add(status); |
|
|
|
} |
|
|
|
return AppRet.success(statusList); |
|
|
|
} |
|
|
|
|
|
|
|
@PostMapping("/api/service-config/service-action-list") |
|
|
|
@ResponseBody |
|
|
|
public AppRet<Object> serviceActionList( @RequestBody Map<String, Object> params ) throws Exception { |
|
|
|