Compare commits
5 Commits
7807d6be80
...
dca88d28cd
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dca88d28cd | ||
|
|
c07537c527 | ||
|
|
978eb7501b | ||
|
|
a13fcf8440 | ||
|
|
bd8fd15b32 |
@@ -38,7 +38,7 @@ dependencies {
|
||||
implementation 'org.apache.commons:commons-pool2' // 提供 Redis 连接池
|
||||
implementation 'com.alibaba:druid-spring-boot-starter:1.2.27' // 数据库连接池
|
||||
implementation 'org.lionsoul:ip2region:2.7.0' // IP 归属地
|
||||
implementation 'org.springframework.boot:spring-boot-starter-data-mongodb' // mongodb
|
||||
// implementation 'org.springframework.boot:spring-boot-starter-data-mongodb' // mongodb
|
||||
compileOnly 'org.projectlombok:lombok' // Lombok
|
||||
developmentOnly 'org.springframework.boot:spring-boot-devtools' // 热重载
|
||||
runtimeOnly 'com.mysql:mysql-connector-j' // MySQL 驱动
|
||||
|
||||
@@ -38,6 +38,8 @@ public class SaTokenConfig implements WebMvcConfigurer {
|
||||
.excludePathPatterns("/privacy_policy", "/privacy_policy/**")
|
||||
// 排除固件查询接口(不需要登录)
|
||||
.excludePathPatterns("/firmware/**")
|
||||
// 排除公共固件
|
||||
.excludePathPatterns("/public_firmware/**")
|
||||
// 排除系统登录页(不需要登录)
|
||||
// .excludePathPatterns("/loading.html", "/admin/login.html")
|
||||
// 排除静态资源
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
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 = "固件类型", required = true)
|
||||
@NotBlank(message = "固件类型不能为空")
|
||||
public String firmwareType;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
package com.corewing.app.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.corewing.app.common.base.CommonEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 固件详情表
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@TableName("app_public_firmware_plane")
|
||||
public class AppPublicFirmwarePlane extends CommonEntity {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@TableId
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 版本号Id
|
||||
*/
|
||||
private String versionId;
|
||||
|
||||
/**
|
||||
* 板载类型
|
||||
*/
|
||||
private String boardType;
|
||||
|
||||
/**
|
||||
* 固件类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 固件下载地址
|
||||
*/
|
||||
private String downloadUrl;
|
||||
|
||||
/**
|
||||
* 固件名称
|
||||
*/
|
||||
private String firmwareName;
|
||||
|
||||
/**
|
||||
* 固件大小
|
||||
*/
|
||||
private Long fileSize;
|
||||
|
||||
/**
|
||||
* 固件发布时间
|
||||
*/
|
||||
private Date releaseTime;
|
||||
|
||||
/**
|
||||
* 固件同步时间
|
||||
*/
|
||||
private Date crawlTime;
|
||||
|
||||
/**
|
||||
* 是否有效
|
||||
*/
|
||||
private int isValid;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
private int sortCode;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 扩展字段
|
||||
*/
|
||||
private String extJson;
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,65 @@
|
||||
package com.corewing.app.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.corewing.app.common.base.CommonEntity;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 公共固件版本表
|
||||
*/
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@Data
|
||||
@TableName("app_public_firmware_version")
|
||||
public class AppPublicFirmwareVersion extends CommonEntity {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@TableId
|
||||
public String id;
|
||||
|
||||
/**
|
||||
* 固件版本类型
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 版本类型
|
||||
*/
|
||||
private String versionType;
|
||||
|
||||
/**
|
||||
* 版本号
|
||||
*/
|
||||
private String versionNumber;
|
||||
|
||||
/**
|
||||
* 数字版本号
|
||||
*/
|
||||
private int versionCode;
|
||||
|
||||
/**
|
||||
* 发布时间
|
||||
*/
|
||||
private Date releaseDate;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
private int sortCode;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 扩展字段
|
||||
*/
|
||||
private String extJson;
|
||||
|
||||
}
|
||||
50
src/main/java/com/corewing/app/entity/BizDict.java
Normal file
50
src/main/java/com/corewing/app/entity/BizDict.java
Normal file
@@ -0,0 +1,50 @@
|
||||
package com.corewing.app.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.FieldStrategy;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.corewing.app.common.base.CommonEntity;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* 字典实体
|
||||
*
|
||||
* @author xuyuxiang
|
||||
* @date 2022/2/23 18:27
|
||||
**/
|
||||
@Getter
|
||||
@Setter
|
||||
@TableName("DEV_DICT")
|
||||
public class BizDict extends CommonEntity {
|
||||
|
||||
/** id */
|
||||
@ApiModelProperty("id")
|
||||
private String id;
|
||||
|
||||
/** 父id */
|
||||
@ApiModelProperty("父级id")
|
||||
private String parentId;
|
||||
|
||||
/** 字典文字 */
|
||||
@ApiModelProperty("字典文字")
|
||||
private String dictLabel;
|
||||
|
||||
/** 字典值 */
|
||||
@ApiModelProperty("字典值")
|
||||
private String dictValue;
|
||||
|
||||
/** 分类 */
|
||||
@ApiModelProperty("分类")
|
||||
private String category;
|
||||
|
||||
/** 排序码 */
|
||||
@ApiModelProperty("排序码")
|
||||
private Integer sortCode;
|
||||
|
||||
/** 扩展信息 */
|
||||
@ApiModelProperty("扩展信息")
|
||||
@TableField(insertStrategy = FieldStrategy.ALWAYS, updateStrategy = FieldStrategy.ALWAYS)
|
||||
private String extJson;
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.corewing.app.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.corewing.app.entity.AppPublicFirmwarePlane;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface AppPublicFirmwarePlaneMapper extends BaseMapper<AppPublicFirmwarePlane> {
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.corewing.app.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.corewing.app.entity.AppPublicFirmwareVersion;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface AppPublicFirmwareVersionMapper extends BaseMapper<AppPublicFirmwareVersion> {
|
||||
}
|
||||
9
src/main/java/com/corewing/app/mapper/BizDictMapper.java
Normal file
9
src/main/java/com/corewing/app/mapper/BizDictMapper.java
Normal file
@@ -0,0 +1,9 @@
|
||||
package com.corewing.app.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.corewing.app.entity.BizDict;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
|
||||
@Mapper
|
||||
public interface BizDictMapper extends BaseMapper<BizDict> {
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
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;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
|
||||
@Api(tags = "公共固件接口")
|
||||
@RestController
|
||||
@RequestMapping("/public_firmware")
|
||||
public class AppPublicFirmwareController {
|
||||
|
||||
@Resource
|
||||
private BizDictService bizDictService;
|
||||
|
||||
@Resource
|
||||
private AppPublicFirmwareVersionService appPublicFirmwareVersionService;
|
||||
|
||||
@Resource
|
||||
private AppPublicFirmwarePlaneService appPublicFirmwarePlaneService;
|
||||
|
||||
|
||||
@ApiOperation("获取固件类型集合")
|
||||
@GetMapping("/getFirmwareTypeAll")
|
||||
public Result<List<BizDict>> getFirmwareTypeAll() {
|
||||
return Result.success(bizDictService.getDataListByKey());
|
||||
}
|
||||
|
||||
@ApiOperation("根据固件类型获取版本集合")
|
||||
@GetMapping("/getVersionList")
|
||||
public Result<List<AppPublicFirmwareVersion>> getVersionList(PublicFirmwareVersionListRequest 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));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +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<AppPublicFirmwarePlane> {
|
||||
|
||||
List<String> getBoardTypeList(PublicBoardTypeListRequest publicBoardTypeListRequest);
|
||||
|
||||
List<AppPublicFirmwarePlane> getFirmwareList(PublicFirmwareListRequest publicFirmwareListRequest);
|
||||
}
|
||||
@@ -0,0 +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<AppPublicFirmwareVersion> {
|
||||
|
||||
List<AppPublicFirmwareVersion> getVersionList(PublicFirmwareVersionListRequest publicFirmwareVersionListRequest);
|
||||
|
||||
}
|
||||
11
src/main/java/com/corewing/app/service/BizDictService.java
Normal file
11
src/main/java/com/corewing/app/service/BizDictService.java
Normal file
@@ -0,0 +1,11 @@
|
||||
package com.corewing.app.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.corewing.app.entity.BizDict;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public interface BizDictService extends IService<BizDict> {
|
||||
List<BizDict> getDataListByKey();
|
||||
}
|
||||
@@ -0,0 +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<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);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
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;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class AppPublicFirmwareVersionServiceImpl extends ServiceImpl<AppPublicFirmwareVersionMapper, AppPublicFirmwareVersion> implements AppPublicFirmwareVersionService {
|
||||
|
||||
@Override
|
||||
public List<AppPublicFirmwareVersion> getVersionList(PublicFirmwareVersionListRequest publicFirmwareVersionListRequest) {
|
||||
LambdaQueryWrapper<AppPublicFirmwareVersion> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.eq(AppPublicFirmwareVersion::getType, publicFirmwareVersionListRequest.getFirmwareType());
|
||||
wrapper.orderByAsc(AppPublicFirmwareVersion::getSortCode);
|
||||
return list(wrapper);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
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.entity.BizDict;
|
||||
import com.corewing.app.mapper.BizDictMapper;
|
||||
import com.corewing.app.service.BizDictService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class BizDictServiceImpl extends ServiceImpl<BizDictMapper, BizDict> implements BizDictService {
|
||||
|
||||
|
||||
@Override
|
||||
public List<BizDict> getDataListByKey() {
|
||||
LambdaQueryWrapper<BizDict> parentQueryWrapper = new LambdaQueryWrapper<>();
|
||||
parentQueryWrapper.eq(BizDict::getDictValue, "PUBLIC_FIRMWARE_TYPE");
|
||||
BizDict parentDict = getOne(parentQueryWrapper);
|
||||
LambdaQueryWrapper<BizDict> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.eq(BizDict::getParentId, parentDict.getId());
|
||||
return list(queryWrapper);
|
||||
}
|
||||
}
|
||||
@@ -58,9 +58,9 @@ spring.redis.lettuce.pool.min-idle=0
|
||||
spring.redis.lettuce.pool.max-wait=-1ms
|
||||
|
||||
# MongoDB 配置
|
||||
spring.data.mongodb.host=120.24.204.180
|
||||
spring.data.mongodb.database=app
|
||||
spring.data.mongodb.port=27017
|
||||
#spring.data.mongodb.host=120.24.204.180
|
||||
#spring.data.mongodb.database=app
|
||||
#spring.data.mongodb.port=27017
|
||||
|
||||
# Sa-Token 配置
|
||||
sa-token.token-name=Authorization
|
||||
|
||||
Reference in New Issue
Block a user