diff --git a/iot-common/iot-common-core/src/main/java/cc/iotkit/common/constant/Constants.java b/iot-common/iot-common-core/src/main/java/cc/iotkit/common/constant/Constants.java index 2c570ae2..f19b78c6 100644 --- a/iot-common/iot-common-core/src/main/java/cc/iotkit/common/constant/Constants.java +++ b/iot-common/iot-common-core/src/main/java/cc/iotkit/common/constant/Constants.java @@ -225,7 +225,7 @@ public interface Constants { /** * 设备-属性获取 */ - String INVOKE_SERVICE_PROPERTY_GET = "/{deviceId}/service/property/get"; + String INVOKE_SERVICE_PROPERTY_GET = "/service/property/get"; /** * OTA升级 diff --git a/iot-components/iot-component-server/src/main/java/cc/iotkit/comps/ApiTool.java b/iot-components/iot-component-server/src/main/java/cc/iotkit/comps/ApiTool.java index 19241c40..3fa128eb 100755 --- a/iot-components/iot-component-server/src/main/java/cc/iotkit/comps/ApiTool.java +++ b/iot-components/iot-component-server/src/main/java/cc/iotkit/comps/ApiTool.java @@ -34,6 +34,7 @@ import java.util.concurrent.atomic.AtomicReference; * 平台API调用工具类 */ @Slf4j +@Deprecated public class ApiTool { private final Vertx vertx; diff --git a/iot-module/iot-manager/src/main/java/cc/iotkit/manager/controller/DeviceController.java b/iot-module/iot-manager/src/main/java/cc/iotkit/manager/controller/DeviceController.java index 6880d78f..b0db6a48 100644 --- a/iot-module/iot-manager/src/main/java/cc/iotkit/manager/controller/DeviceController.java +++ b/iot-module/iot-manager/src/main/java/cc/iotkit/manager/controller/DeviceController.java @@ -63,50 +63,26 @@ public class DeviceController { @ApiOperation(value = "服务调用", notes = "服务调用", httpMethod = "POST") - @ApiImplicitParams({ - @ApiImplicitParam(name = "deviceId", value = "设备ID", dataTypeClass = String.class), - @ApiImplicitParam(name = "service", value = "服务", dataTypeClass = String.class), - @ApiImplicitParam(name = "args", value = "参数", dataTypeClass = Map.class), - }) - @PostMapping(Constants.API_DEVICE.INVOKE_SERVICE) - public InvokeResult invokeService(@PathVariable("deviceId") String deviceId, - @PathVariable("service") String service, - @RequestBody Map args) { - if (StringUtils.isBlank(deviceId) || StringUtils.isBlank(service)) { - throw new BizException(ErrCode.PARAMS_EXCEPTION); - } - return new InvokeResult(deviceService.invokeService(deviceId, service, args)); + @PostMapping("/service/invoke") + public InvokeResult invokeService(@RequestBody @Validated Request request) { + return new InvokeResult(deviceService.invokeService(request.getData().getDeviceId(), request.getData().getService(), request.getData().getArgs())); } @ApiOperation(value = "属性获取", notes = "属性获取", httpMethod = "POST") - @ApiImplicitParams({ - @ApiImplicitParam(name = "deviceId", value = "设备ID", dataTypeClass = String.class), - @ApiImplicitParam(name = "propertyNames", value = "属性列表", dataTypeClass = ArrayList.class) - }) - @PostMapping(Constants.API_DEVICE.INVOKE_SERVICE_PROPERTY_GET) - public InvokeResult invokeServicePropertySet(@PathVariable("deviceId") String deviceId, - @RequestBody List propertyNames) { - if (StringUtils.isBlank(deviceId)) { - throw new BizException(ErrCode.PARAMS_EXCEPTION); - } - return new InvokeResult(deviceService.getProperty(deviceId, propertyNames, true)); + @PostMapping("/service/property/get") + public InvokeResult invokeServicePropertySet(@RequestBody @Validated Request request) { + return new InvokeResult(deviceService.getProperty(request.getData().getDeviceId(), request.getData().getPropertyNames(), true)); } @ApiOperation(value = "属性设置", notes = "属性设置", httpMethod = "POST") - @ApiImplicitParams({ - @ApiImplicitParam(name = "deviceId", value = "设备ID", dataTypeClass = String.class), - @ApiImplicitParam(name = "args", value = "参数", dataTypeClass = Map.class) - }) - @PostMapping(Constants.API_DEVICE.SET_PROPERTIES) - public InvokeResult setProperty(@PathVariable("deviceId") String deviceId, - @RequestBody Map args) { - return new InvokeResult(deviceService.setProperty(deviceId, args)); + @PostMapping("/service/property/set") + public InvokeResult setProperty(@RequestBody @Validated Request request) { + return new InvokeResult(deviceService.setProperty(request.getData().getDeviceId(), request.getData().getArgs())); } @ApiOperation(value = "设备列表", notes = "设备列表", httpMethod = "POST") @PostMapping("/list") public Paging getDevices(@Validated @RequestBody PageRequest pageRequest) { - return deviceServiceImpl.getDevices(pageRequest); } @@ -121,7 +97,6 @@ public class DeviceController { @PostMapping("/children/list") public List getChildren(@Validated @RequestBody PageRequest request) { String deviceId = request.getData(); - return deviceServiceImpl.selectChildrenPageList(deviceId); } @@ -240,7 +215,7 @@ public class DeviceController { * 删除分组 */ @ApiOperation(value = "删除分组") - @DeleteMapping("/group/delete") + @PostMapping("/group/delete") public boolean deleteGroup(@Validated @RequestBody Request request) { String id = request.getData(); return deviceServiceImpl.deleteGroup(id); diff --git a/iot-module/iot-manager/src/main/java/cc/iotkit/manager/controller/SpaceController.java b/iot-module/iot-manager/src/main/java/cc/iotkit/manager/controller/SpaceController.java index 25c1aade..f4a62166 100644 --- a/iot-module/iot-manager/src/main/java/cc/iotkit/manager/controller/SpaceController.java +++ b/iot-module/iot-manager/src/main/java/cc/iotkit/manager/controller/SpaceController.java @@ -111,7 +111,7 @@ public class SpaceController { .build()); } - @DeleteMapping("/delSpace/{id}") + @PostMapping("/delSpace/{id}") public void delSpace(@PathVariable("id") String id) { checkExistAndOwner(id); spaceData.deleteById(id); diff --git a/iot-module/iot-manager/src/main/java/cc/iotkit/manager/dto/bo/device/GetDeviceServicePorpertyBo.java b/iot-module/iot-manager/src/main/java/cc/iotkit/manager/dto/bo/device/GetDeviceServicePorpertyBo.java new file mode 100644 index 00000000..b7ebe959 --- /dev/null +++ b/iot-module/iot-manager/src/main/java/cc/iotkit/manager/dto/bo/device/GetDeviceServicePorpertyBo.java @@ -0,0 +1,26 @@ +package cc.iotkit.manager.dto.bo.device; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import lombok.Data; + +import java.util.List; + +/** + * @author: regan + * @description: + * @date:created in 2023/6/17 12:17 + * @modificed by: + */ +@ApiModel(value = "GetDeviceServicePorpertyBo") +@Data +public class GetDeviceServicePorpertyBo { + @ApiModelProperty(value="设备id",required = true) + @NotBlank + private String deviceId; + + @ApiModelProperty(value="属性列表") + private List propertyNames; + +} diff --git a/iot-module/iot-manager/src/main/java/cc/iotkit/manager/dto/bo/device/ServiceInvokeBo.java b/iot-module/iot-manager/src/main/java/cc/iotkit/manager/dto/bo/device/ServiceInvokeBo.java new file mode 100644 index 00000000..321b082b --- /dev/null +++ b/iot-module/iot-manager/src/main/java/cc/iotkit/manager/dto/bo/device/ServiceInvokeBo.java @@ -0,0 +1,28 @@ +package cc.iotkit.manager.dto.bo.device; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import lombok.Data; + +import java.util.Map; + +/** + * @author: regan + * @description: + * @date:created in 2023/6/17 12:17 + * @modificed by: + */ +@ApiModel(value = "ServiceInvokeBo") +@Data +public class ServiceInvokeBo { + @ApiModelProperty(value="设备id",required = true) + @NotBlank + private String deviceId; + @ApiModelProperty(value="服务",required = true) + @NotBlank + private String service; + @ApiModelProperty(value="参数") + private Map args; + +} diff --git a/iot-module/iot-manager/src/main/java/cc/iotkit/manager/dto/bo/device/SetDeviceServicePorpertyBo.java b/iot-module/iot-manager/src/main/java/cc/iotkit/manager/dto/bo/device/SetDeviceServicePorpertyBo.java new file mode 100644 index 00000000..af6932b1 --- /dev/null +++ b/iot-module/iot-manager/src/main/java/cc/iotkit/manager/dto/bo/device/SetDeviceServicePorpertyBo.java @@ -0,0 +1,25 @@ +package cc.iotkit.manager.dto.bo.device; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import jakarta.validation.constraints.NotBlank; +import lombok.Data; + +import java.util.Map; + +/** + * @author: regan + * @description: + * @date:created in 2023/6/17 12:17 + * @modificed by: + */ +@ApiModel(value = "SetDeviceServicePorpertyBo") +@Data +public class SetDeviceServicePorpertyBo { + @ApiModelProperty(value="设备id",required = true) + @NotBlank + private String deviceId; + @ApiModelProperty(value="参数") + private Map args; + +} diff --git a/待优化项.md b/待优化项.md index d57f6b7e..04d1271a 100644 --- a/待优化项.md +++ b/待优化项.md @@ -1,4 +1,4 @@ -# **待优化项** +# **后端待优化项** ## **主键** 统一主键名称id,属性Long @@ -6,6 +6,13 @@ ## **sonerlint扫描** sonerlint扫描,按建议修改相关不规范的代码 +## **接口路径** +尽量不用路径参数、且路径直接放在接口上,不放在常量里 + +## **冗余方法、类** +删除掉不用的冗余方法、类 + +## **日志** +sql 日志打印的话加个拦截器,简化sql +增加requestid 基于MDC -## **xx** -xxxxxxxxxxxx \ No newline at end of file