From dca88d28cd793fff00753eda2e37098f1a98c6d4 Mon Sep 17 00:00:00 2001 From: MichaelWin Date: Thu, 8 Jan 2026 16:28:28 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E6=96=B0=E5=A2=9E=E3=80=91=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E5=85=AC=E5=85=B1=E5=9B=BA=E4=BB=B6=E6=9D=BF=E8=BD=BD?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E9=9B=86=E5=90=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PublicBoardTypeListRequest.java | 19 +++++++++++++++ .../PublicFirmwareListRequest.java | 23 +++++++++++++++++++ .../PublicFirmwareVersionListRequest.java | 5 +++- .../app/AppPublicFirmwareController.java | 18 +++++++++++++++ .../AppPublicFirmwarePlaneService.java | 8 +++++++ .../AppPublicFirmwareVersionService.java | 5 ++++ .../AppPublicFirmwarePlaneServiceImpl.java | 23 +++++++++++++++++++ .../AppPublicFirmwareVersionServiceImpl.java | 4 ++++ 8 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/corewing/app/dto/publicFirmware/PublicBoardTypeListRequest.java create mode 100644 src/main/java/com/corewing/app/dto/publicFirmware/PublicFirmwareListRequest.java diff --git a/src/main/java/com/corewing/app/dto/publicFirmware/PublicBoardTypeListRequest.java b/src/main/java/com/corewing/app/dto/publicFirmware/PublicBoardTypeListRequest.java new file mode 100644 index 0000000..87444e5 --- /dev/null +++ b/src/main/java/com/corewing/app/dto/publicFirmware/PublicBoardTypeListRequest.java @@ -0,0 +1,19 @@ +package com.corewing.app.dto.publicFirmware; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +@Data +public class PublicBoardTypeListRequest { + + @ApiModelProperty(value = "固件类型", required = true) + @NotBlank(message = "固件类型不能为空") + public String firmwareType; + + @ApiModelProperty(value = "固件版本id", required = true) + @NotBlank(message = "固件版本id不能为空") + public String versionId; + +} diff --git a/src/main/java/com/corewing/app/dto/publicFirmware/PublicFirmwareListRequest.java b/src/main/java/com/corewing/app/dto/publicFirmware/PublicFirmwareListRequest.java new file mode 100644 index 0000000..805526a --- /dev/null +++ b/src/main/java/com/corewing/app/dto/publicFirmware/PublicFirmwareListRequest.java @@ -0,0 +1,23 @@ +package com.corewing.app.dto.publicFirmware; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +@Data +public class PublicFirmwareListRequest { + + @ApiModelProperty(value = "固件类型", required = true) + @NotBlank(message = "固件类型不能为空") + public String firmwareType; + + @ApiModelProperty(value = "固件版本id", required = true) + @NotBlank(message = "固件版本id不能为空") + public String versionId; + + @ApiModelProperty(value = "板载类型", required = true) + @NotBlank(message = "板载类型不能为空") + public String boardType; + +} diff --git a/src/main/java/com/corewing/app/dto/publicFirmware/PublicFirmwareVersionListRequest.java b/src/main/java/com/corewing/app/dto/publicFirmware/PublicFirmwareVersionListRequest.java index 5bdb2ae..5ec9096 100644 --- a/src/main/java/com/corewing/app/dto/publicFirmware/PublicFirmwareVersionListRequest.java +++ b/src/main/java/com/corewing/app/dto/publicFirmware/PublicFirmwareVersionListRequest.java @@ -3,10 +3,13 @@ package com.corewing.app.dto.publicFirmware; import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import javax.validation.constraints.NotBlank; + @Data public class PublicFirmwareVersionListRequest { - @ApiModelProperty(value = "固件类型") + @ApiModelProperty(value = "固件类型", required = true) + @NotBlank(message = "固件类型不能为空") public String firmwareType; } diff --git a/src/main/java/com/corewing/app/modules/app/AppPublicFirmwareController.java b/src/main/java/com/corewing/app/modules/app/AppPublicFirmwareController.java index 9b68e34..4247c6b 100644 --- a/src/main/java/com/corewing/app/modules/app/AppPublicFirmwareController.java +++ b/src/main/java/com/corewing/app/modules/app/AppPublicFirmwareController.java @@ -1,9 +1,13 @@ package com.corewing.app.modules.app; import com.corewing.app.common.Result; +import com.corewing.app.dto.publicFirmware.PublicBoardTypeListRequest; +import com.corewing.app.dto.publicFirmware.PublicFirmwareListRequest; import com.corewing.app.dto.publicFirmware.PublicFirmwareVersionListRequest; +import com.corewing.app.entity.AppPublicFirmwarePlane; import com.corewing.app.entity.AppPublicFirmwareVersion; import com.corewing.app.entity.BizDict; +import com.corewing.app.service.AppPublicFirmwarePlaneService; import com.corewing.app.service.AppPublicFirmwareVersionService; import com.corewing.app.service.BizDictService; import io.swagger.annotations.Api; @@ -26,6 +30,9 @@ public class AppPublicFirmwareController { @Resource private AppPublicFirmwareVersionService appPublicFirmwareVersionService; + @Resource + private AppPublicFirmwarePlaneService appPublicFirmwarePlaneService; + @ApiOperation("获取固件类型集合") @GetMapping("/getFirmwareTypeAll") @@ -39,6 +46,17 @@ public class AppPublicFirmwareController { return Result.success(appPublicFirmwareVersionService.getVersionList(publicFirmwareVersionListRequest)); } + @ApiOperation("根据固件类型&版本获取板载类型集合") + @GetMapping("/getBoardTypeList") + public Result> getBoardTypeList(PublicBoardTypeListRequest publicBoardTypeListRequest) { + return Result.success(appPublicFirmwarePlaneService.getBoardTypeList(publicBoardTypeListRequest)); + } + + @ApiOperation("根据固件类型&版本&板载获取固件集合") + @GetMapping("/getFirmwareList") + public Result> getFirmwareList(PublicFirmwareListRequest publicFirmwareListRequest) { + return Result.success(appPublicFirmwarePlaneService.getFirmwareList(publicFirmwareListRequest)); + } diff --git a/src/main/java/com/corewing/app/service/AppPublicFirmwarePlaneService.java b/src/main/java/com/corewing/app/service/AppPublicFirmwarePlaneService.java index 604d7ec..0f68a45 100644 --- a/src/main/java/com/corewing/app/service/AppPublicFirmwarePlaneService.java +++ b/src/main/java/com/corewing/app/service/AppPublicFirmwarePlaneService.java @@ -1,7 +1,15 @@ package com.corewing.app.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.corewing.app.dto.publicFirmware.PublicBoardTypeListRequest; +import com.corewing.app.dto.publicFirmware.PublicFirmwareListRequest; import com.corewing.app.entity.AppPublicFirmwarePlane; +import java.util.List; + public interface AppPublicFirmwarePlaneService extends IService { + + List getBoardTypeList(PublicBoardTypeListRequest publicBoardTypeListRequest); + + List getFirmwareList(PublicFirmwareListRequest publicFirmwareListRequest); } diff --git a/src/main/java/com/corewing/app/service/AppPublicFirmwareVersionService.java b/src/main/java/com/corewing/app/service/AppPublicFirmwareVersionService.java index 6b815d5..fcce0c4 100644 --- a/src/main/java/com/corewing/app/service/AppPublicFirmwareVersionService.java +++ b/src/main/java/com/corewing/app/service/AppPublicFirmwareVersionService.java @@ -1,11 +1,16 @@ package com.corewing.app.service; import com.baomidou.mybatisplus.extension.service.IService; +import com.corewing.app.dto.publicFirmware.PublicBoardTypeListRequest; +import com.corewing.app.dto.publicFirmware.PublicFirmwareListRequest; import com.corewing.app.dto.publicFirmware.PublicFirmwareVersionListRequest; +import com.corewing.app.entity.AppPublicFirmwarePlane; import com.corewing.app.entity.AppPublicFirmwareVersion; import java.util.List; public interface AppPublicFirmwareVersionService extends IService { + List getVersionList(PublicFirmwareVersionListRequest publicFirmwareVersionListRequest); + } diff --git a/src/main/java/com/corewing/app/service/impl/AppPublicFirmwarePlaneServiceImpl.java b/src/main/java/com/corewing/app/service/impl/AppPublicFirmwarePlaneServiceImpl.java index 72d198e..afbbaf3 100644 --- a/src/main/java/com/corewing/app/service/impl/AppPublicFirmwarePlaneServiceImpl.java +++ b/src/main/java/com/corewing/app/service/impl/AppPublicFirmwarePlaneServiceImpl.java @@ -1,11 +1,34 @@ package com.corewing.app.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.corewing.app.dto.publicFirmware.PublicBoardTypeListRequest; +import com.corewing.app.dto.publicFirmware.PublicFirmwareListRequest; import com.corewing.app.entity.AppPublicFirmwarePlane; import com.corewing.app.mapper.AppPublicFirmwarePlaneMapper; import com.corewing.app.service.AppPublicFirmwarePlaneService; import org.springframework.stereotype.Service; +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + @Service public class AppPublicFirmwarePlaneServiceImpl extends ServiceImpl implements AppPublicFirmwarePlaneService { + @Override + public List getBoardTypeList(PublicBoardTypeListRequest publicBoardTypeListRequest) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppPublicFirmwarePlane::getType, publicBoardTypeListRequest.getFirmwareType()); + queryWrapper.eq(AppPublicFirmwarePlane::getVersionId, publicBoardTypeListRequest.getVersionId()); + return list(queryWrapper).stream().map(AppPublicFirmwarePlane::getBoardType).filter(Objects::nonNull).collect(Collectors.toList()); + } + + @Override + public List getFirmwareList(PublicFirmwareListRequest publicFirmwareListRequest) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(AppPublicFirmwarePlane::getType, publicFirmwareListRequest.getFirmwareType()); + queryWrapper.eq(AppPublicFirmwarePlane::getVersionId, publicFirmwareListRequest.getVersionId()); + queryWrapper.eq(AppPublicFirmwarePlane::getBoardType, publicFirmwareListRequest.getBoardType()); + return list(queryWrapper); + } } diff --git a/src/main/java/com/corewing/app/service/impl/AppPublicFirmwareVersionServiceImpl.java b/src/main/java/com/corewing/app/service/impl/AppPublicFirmwareVersionServiceImpl.java index d44c1f1..85a576c 100644 --- a/src/main/java/com/corewing/app/service/impl/AppPublicFirmwareVersionServiceImpl.java +++ b/src/main/java/com/corewing/app/service/impl/AppPublicFirmwareVersionServiceImpl.java @@ -2,7 +2,10 @@ package com.corewing.app.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.corewing.app.dto.publicFirmware.PublicBoardTypeListRequest; +import com.corewing.app.dto.publicFirmware.PublicFirmwareListRequest; import com.corewing.app.dto.publicFirmware.PublicFirmwareVersionListRequest; +import com.corewing.app.entity.AppPublicFirmwarePlane; import com.corewing.app.entity.AppPublicFirmwareVersion; import com.corewing.app.mapper.AppPublicFirmwareVersionMapper; import com.corewing.app.service.AppPublicFirmwareVersionService; @@ -20,4 +23,5 @@ public class AppPublicFirmwareVersionServiceImpl extends ServiceImpl