【新增】获取公共固件板载类型集合

This commit is contained in:
MichaelWin
2026-01-08 16:28:28 +08:00
parent c07537c527
commit dca88d28cd
8 changed files with 104 additions and 1 deletions

View File

@@ -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;
}

View File

@@ -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;
}

View File

@@ -3,10 +3,13 @@ package com.corewing.app.dto.publicFirmware;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data @Data
public class PublicFirmwareVersionListRequest { public class PublicFirmwareVersionListRequest {
@ApiModelProperty(value = "固件类型") @ApiModelProperty(value = "固件类型", required = true)
@NotBlank(message = "固件类型不能为空")
public String firmwareType; public String firmwareType;
} }

View File

@@ -1,9 +1,13 @@
package com.corewing.app.modules.app; package com.corewing.app.modules.app;
import com.corewing.app.common.Result; 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.dto.publicFirmware.PublicFirmwareVersionListRequest;
import com.corewing.app.entity.AppPublicFirmwarePlane;
import com.corewing.app.entity.AppPublicFirmwareVersion; import com.corewing.app.entity.AppPublicFirmwareVersion;
import com.corewing.app.entity.BizDict; import com.corewing.app.entity.BizDict;
import com.corewing.app.service.AppPublicFirmwarePlaneService;
import com.corewing.app.service.AppPublicFirmwareVersionService; import com.corewing.app.service.AppPublicFirmwareVersionService;
import com.corewing.app.service.BizDictService; import com.corewing.app.service.BizDictService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
@@ -26,6 +30,9 @@ public class AppPublicFirmwareController {
@Resource @Resource
private AppPublicFirmwareVersionService appPublicFirmwareVersionService; private AppPublicFirmwareVersionService appPublicFirmwareVersionService;
@Resource
private AppPublicFirmwarePlaneService appPublicFirmwarePlaneService;
@ApiOperation("获取固件类型集合") @ApiOperation("获取固件类型集合")
@GetMapping("/getFirmwareTypeAll") @GetMapping("/getFirmwareTypeAll")
@@ -39,6 +46,17 @@ public class AppPublicFirmwareController {
return Result.success(appPublicFirmwareVersionService.getVersionList(publicFirmwareVersionListRequest)); return Result.success(appPublicFirmwareVersionService.getVersionList(publicFirmwareVersionListRequest));
} }
@ApiOperation("根据固件类型&版本获取板载类型集合")
@GetMapping("/getBoardTypeList")
public Result<List<String>> getBoardTypeList(PublicBoardTypeListRequest publicBoardTypeListRequest) {
return Result.success(appPublicFirmwarePlaneService.getBoardTypeList(publicBoardTypeListRequest));
}
@ApiOperation("根据固件类型&版本&板载获取固件集合")
@GetMapping("/getFirmwareList")
public Result<List<AppPublicFirmwarePlane>> getFirmwareList(PublicFirmwareListRequest publicFirmwareListRequest) {
return Result.success(appPublicFirmwarePlaneService.getFirmwareList(publicFirmwareListRequest));
}

View File

@@ -1,7 +1,15 @@
package com.corewing.app.service; package com.corewing.app.service;
import com.baomidou.mybatisplus.extension.service.IService; 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 com.corewing.app.entity.AppPublicFirmwarePlane;
import java.util.List;
public interface AppPublicFirmwarePlaneService extends IService<AppPublicFirmwarePlane> { public interface AppPublicFirmwarePlaneService extends IService<AppPublicFirmwarePlane> {
List<String> getBoardTypeList(PublicBoardTypeListRequest publicBoardTypeListRequest);
List<AppPublicFirmwarePlane> getFirmwareList(PublicFirmwareListRequest publicFirmwareListRequest);
} }

View File

@@ -1,11 +1,16 @@
package com.corewing.app.service; package com.corewing.app.service;
import com.baomidou.mybatisplus.extension.service.IService; 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.dto.publicFirmware.PublicFirmwareVersionListRequest;
import com.corewing.app.entity.AppPublicFirmwarePlane;
import com.corewing.app.entity.AppPublicFirmwareVersion; import com.corewing.app.entity.AppPublicFirmwareVersion;
import java.util.List; import java.util.List;
public interface AppPublicFirmwareVersionService extends IService<AppPublicFirmwareVersion> { public interface AppPublicFirmwareVersionService extends IService<AppPublicFirmwareVersion> {
List<AppPublicFirmwareVersion> getVersionList(PublicFirmwareVersionListRequest publicFirmwareVersionListRequest); List<AppPublicFirmwareVersion> getVersionList(PublicFirmwareVersionListRequest publicFirmwareVersionListRequest);
} }

View File

@@ -1,11 +1,34 @@
package com.corewing.app.service.impl; package com.corewing.app.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.entity.AppPublicFirmwarePlane;
import com.corewing.app.mapper.AppPublicFirmwarePlaneMapper; import com.corewing.app.mapper.AppPublicFirmwarePlaneMapper;
import com.corewing.app.service.AppPublicFirmwarePlaneService; import com.corewing.app.service.AppPublicFirmwarePlaneService;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@Service @Service
public class AppPublicFirmwarePlaneServiceImpl extends ServiceImpl<AppPublicFirmwarePlaneMapper, AppPublicFirmwarePlane> implements AppPublicFirmwarePlaneService { public class AppPublicFirmwarePlaneServiceImpl extends ServiceImpl<AppPublicFirmwarePlaneMapper, AppPublicFirmwarePlane> implements AppPublicFirmwarePlaneService {
@Override
public List<String> getBoardTypeList(PublicBoardTypeListRequest publicBoardTypeListRequest) {
LambdaQueryWrapper<AppPublicFirmwarePlane> 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<AppPublicFirmwarePlane> getFirmwareList(PublicFirmwareListRequest publicFirmwareListRequest) {
LambdaQueryWrapper<AppPublicFirmwarePlane> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(AppPublicFirmwarePlane::getType, publicFirmwareListRequest.getFirmwareType());
queryWrapper.eq(AppPublicFirmwarePlane::getVersionId, publicFirmwareListRequest.getVersionId());
queryWrapper.eq(AppPublicFirmwarePlane::getBoardType, publicFirmwareListRequest.getBoardType());
return list(queryWrapper);
}
} }

View File

@@ -2,7 +2,10 @@ package com.corewing.app.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 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.dto.publicFirmware.PublicFirmwareVersionListRequest;
import com.corewing.app.entity.AppPublicFirmwarePlane;
import com.corewing.app.entity.AppPublicFirmwareVersion; import com.corewing.app.entity.AppPublicFirmwareVersion;
import com.corewing.app.mapper.AppPublicFirmwareVersionMapper; import com.corewing.app.mapper.AppPublicFirmwareVersionMapper;
import com.corewing.app.service.AppPublicFirmwareVersionService; import com.corewing.app.service.AppPublicFirmwareVersionService;
@@ -20,4 +23,5 @@ public class AppPublicFirmwareVersionServiceImpl extends ServiceImpl<AppPublicFi
wrapper.orderByAsc(AppPublicFirmwareVersion::getSortCode); wrapper.orderByAsc(AppPublicFirmwareVersion::getSortCode);
return list(wrapper); return list(wrapper);
} }
} }