From 4ebef6913085169e3bdd96225ff5f344a1646949 Mon Sep 17 00:00:00 2001 From: zhoujinhua Date: Tue, 21 Oct 2025 14:44:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E9=85=8D=E7=BD=AE=E4=B8=AD?= =?UTF-8?q?=E5=BF=83=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/API接口说明-参数配置中心.md | 22 ++++- .../controller/AppParamsCenterController.java | 4 + .../corewing/app/dto/CreateParamRequest.java | 10 ++ .../corewing/app/dto/UpdateParamRequest.java | 10 ++ .../corewing/app/entity/AppParamsCenter.java | 10 ++ .../app/mapper/AppParamsCenterMapper.java | 30 ++++++ .../corewing/app/vo/AppParamsCenterVO.java | 77 +++++++++++++++ src/main/resources/db/app_params_center.sql | 9 +- .../mapper/AppParamsCenterMapper.xml | 94 +++++++++++++++++++ 9 files changed, 264 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/corewing/app/vo/AppParamsCenterVO.java create mode 100644 src/main/resources/mapper/AppParamsCenterMapper.xml diff --git a/docs/API接口说明-参数配置中心.md b/docs/API接口说明-参数配置中心.md index 113b0a8..e7512ea 100644 --- a/docs/API接口说明-参数配置中心.md +++ b/docs/API接口说明-参数配置中心.md @@ -15,10 +15,12 @@ Authorization: your-token(必填) ```json { "paramName": "默认参数配置", // 参数名称(必填) + "deviceName": "我的无人机", // 设备名称(可选) + "description": "这是一个测试参数配置", // 描述(可选) "fcModel": "Pixhawk 4", // 飞控型号(必填) "fcType": "PX4", // 飞控类型(必填) "paramVersion": "1.0.0", // 参数版本(必填) - "paramDetail": "参数详细配置内容..." // 参数详情(可选) + "paramDetail": "{\"key\":\"value\"}" // 参数详情(可选,可以是JSON字符串) } ``` @@ -31,6 +33,10 @@ Authorization: your-token(必填) } ``` +**说明:** +- paramDetail 字段可以传入任意格式的参数配置内容 +- 建议使用 JSON 字符串格式存储参数配置 + --- ### 2. 更新参数配置 @@ -47,6 +53,8 @@ Authorization: your-token(必填) { "id": 1, // 参数ID(必填) "paramName": "更新后的参数配置", // 参数名称(必填) + "deviceName": "我的无人机", // 设备名称(可选) + "description": "更新后的描述信息", // 描述(可选) "fcModel": "Pixhawk 6X", // 飞控型号(必填) "fcType": "PX4", // 飞控类型(必填) "paramVersion": "1.0.1", // 参数版本(必填) @@ -109,6 +117,8 @@ Authorization: your-token(必填) "id": 1, "userId": 1, "paramName": "默认参数配置", + "deviceName": "我的无人机", + "description": "这是一个测试参数配置", "fcModel": "Pixhawk 4", "fcType": "PX4", "paramVersion": "1.0.0", @@ -155,6 +165,8 @@ GET /params/all/list?fcModel=Pixhawk%204 "id": 1, "userId": 1, "paramName": "默认参数配置", + "deviceName": "我的无人机", + "description": "这是一个测试参数配置", "fcModel": "Pixhawk 4", "fcType": "PX4", "paramVersion": "1.0.0", @@ -208,6 +220,8 @@ GET /params/all/page?current=1&size=10&fcModel=Pixhawk%204 "id": 1, "userId": 1, "paramName": "默认参数配置", + "deviceName": "我的无人机", + "description": "这是一个测试参数配置", "fcModel": "Pixhawk 4", "fcType": "PX4", "paramVersion": "1.0.0", @@ -263,6 +277,8 @@ GET /params/my/list?fcModel=Pixhawk%204 "id": 1, "userId": 1, "paramName": "默认参数配置", + "deviceName": "我的无人机", + "description": "这是一个测试参数配置", "fcModel": "Pixhawk 4", "fcType": "PX4", "paramVersion": "1.0.0", @@ -315,6 +331,8 @@ GET /params/my/page?current=1&size=10&fcModel=Pixhawk%204 "id": 1, "userId": 1, "paramName": "默认参数配置", + "deviceName": "我的无人机", + "description": "这是一个测试参数配置", "fcModel": "Pixhawk 4", "fcType": "PX4", "paramVersion": "1.0.0", @@ -357,6 +375,8 @@ GET /params/my/page?current=1&size=10&fcModel=Pixhawk%204 } ``` +**说明:** +- 每次调用会将指定参数的下载次数 +1 --- diff --git a/src/main/java/com/corewing/app/controller/AppParamsCenterController.java b/src/main/java/com/corewing/app/controller/AppParamsCenterController.java index 1074487..f737d6c 100644 --- a/src/main/java/com/corewing/app/controller/AppParamsCenterController.java +++ b/src/main/java/com/corewing/app/controller/AppParamsCenterController.java @@ -38,6 +38,8 @@ public class AppParamsCenterController { AppParamsCenter params = new AppParamsCenter(); params.setUserId(userId); params.setParamName(request.getParamName()); + params.setDeviceName(request.getDeviceName()); + params.setDescription(request.getDescription()); params.setFcModel(request.getFcModel()); params.setFcType(request.getFcType()); params.setParamVersion(request.getParamVersion()); @@ -74,6 +76,8 @@ public class AppParamsCenterController { AppParamsCenter params = new AppParamsCenter(); params.setId(request.getId()); params.setParamName(request.getParamName()); + params.setDeviceName(request.getDeviceName()); + params.setDescription(request.getDescription()); params.setFcModel(request.getFcModel()); params.setFcType(request.getFcType()); params.setParamVersion(request.getParamVersion()); diff --git a/src/main/java/com/corewing/app/dto/CreateParamRequest.java b/src/main/java/com/corewing/app/dto/CreateParamRequest.java index 305e7d1..465cd36 100644 --- a/src/main/java/com/corewing/app/dto/CreateParamRequest.java +++ b/src/main/java/com/corewing/app/dto/CreateParamRequest.java @@ -16,6 +16,16 @@ public class CreateParamRequest { @NotBlank(message = "参数名称不能为空") private String paramName; + /** + * 设备名称 + */ + private String deviceName; + + /** + * 描述 + */ + private String description; + /** * 飞控型号 */ diff --git a/src/main/java/com/corewing/app/dto/UpdateParamRequest.java b/src/main/java/com/corewing/app/dto/UpdateParamRequest.java index 7fdc26d..e24bb45 100644 --- a/src/main/java/com/corewing/app/dto/UpdateParamRequest.java +++ b/src/main/java/com/corewing/app/dto/UpdateParamRequest.java @@ -23,6 +23,16 @@ public class UpdateParamRequest { @NotBlank(message = "参数名称不能为空") private String paramName; + /** + * 设备名称 + */ + private String deviceName; + + /** + * 描述 + */ + private String description; + /** * 飞控型号 */ diff --git a/src/main/java/com/corewing/app/entity/AppParamsCenter.java b/src/main/java/com/corewing/app/entity/AppParamsCenter.java index 7767e8c..742d326 100644 --- a/src/main/java/com/corewing/app/entity/AppParamsCenter.java +++ b/src/main/java/com/corewing/app/entity/AppParamsCenter.java @@ -35,6 +35,16 @@ public class AppParamsCenter implements Serializable { */ private String paramName; + /** + * 设备名称 + */ + private String deviceName; + + /** + * 描述 + */ + private String description; + /** * 飞控型号 */ diff --git a/src/main/java/com/corewing/app/mapper/AppParamsCenterMapper.java b/src/main/java/com/corewing/app/mapper/AppParamsCenterMapper.java index 0ba1d09..27fa3d9 100644 --- a/src/main/java/com/corewing/app/mapper/AppParamsCenterMapper.java +++ b/src/main/java/com/corewing/app/mapper/AppParamsCenterMapper.java @@ -1,8 +1,14 @@ package com.corewing.app.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.corewing.app.entity.AppParamsCenter; +import com.corewing.app.vo.AppParamsCenterVO; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * 参数配置中心 Mapper 接口 @@ -10,4 +16,28 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface AppParamsCenterMapper extends BaseMapper { + /** + * 根据ID查询带用户名的VO + */ + AppParamsCenterVO selectVOById(@Param("id") Long id); + + /** + * 查询所有参数列表(带用户名) + */ + List selectAllVOList(@Param("fcModel") String fcModel); + + /** + * 分页查询所有参数列表(带用户名) + */ + IPage selectAllVOPage(Page page, @Param("fcModel") String fcModel); + + /** + * 查询当前用户的参数列表(带用户名) + */ + List selectVOListByUserId(@Param("userId") Long userId, @Param("fcModel") String fcModel); + + /** + * 分页查询当前用户的参数列表(带用户名) + */ + IPage selectVOPageByUserId(Page page, @Param("userId") Long userId, @Param("fcModel") String fcModel); } diff --git a/src/main/java/com/corewing/app/vo/AppParamsCenterVO.java b/src/main/java/com/corewing/app/vo/AppParamsCenterVO.java new file mode 100644 index 0000000..41a39c6 --- /dev/null +++ b/src/main/java/com/corewing/app/vo/AppParamsCenterVO.java @@ -0,0 +1,77 @@ +package com.corewing.app.vo; + +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 参数配置中心 VO(用于返回给前端) + */ +@Data +public class AppParamsCenterVO { + + /** + * 主键ID + */ + private Long id; + + /** + * 用户ID + */ + private Long userId; + + /** + * 用户名 + */ + private String username; + + /** + * 参数名称 + */ + private String paramName; + + /** + * 设备名称 + */ + private String deviceName; + + /** + * 描述 + */ + private String description; + + /** + * 飞控型号 + */ + private String fcModel; + + /** + * 飞控类型 + */ + private String fcType; + + /** + * 参数版本 + */ + private String paramVersion; + + /** + * 参数详情 + */ + private String paramDetail; + + /** + * 下载次数 + */ + private Integer downloadCount; + + /** + * 创建时间 + */ + private LocalDateTime createTime; + + /** + * 更新时间 + */ + private LocalDateTime updateTime; +} diff --git a/src/main/resources/db/app_params_center.sql b/src/main/resources/db/app_params_center.sql index 2b35307..12dc7ed 100644 --- a/src/main/resources/db/app_params_center.sql +++ b/src/main/resources/db/app_params_center.sql @@ -2,13 +2,20 @@ CREATE TABLE `app_params_center` ( `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键ID', `user_id` BIGINT NOT NULL COMMENT '用户ID', `param_name` VARCHAR(100) NOT NULL COMMENT '参数名称', + `device_name` VARCHAR(100) COMMENT '设备名称', + `description` VARCHAR(500) COMMENT '描述', `fc_model` VARCHAR(50) NOT NULL COMMENT '飞控型号', `fc_type` VARCHAR(50) NOT NULL COMMENT '飞控类型', `param_version` VARCHAR(20) NOT NULL COMMENT '参数版本', - `param_detail` TEXT COMMENT '参数详情', + `param_detail` MEDIUMTEXT COMMENT '参数详情', `download_count` INT NOT NULL DEFAULT 0 COMMENT '下载次数', `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`), INDEX `idx_user_id` (`user_id`) COMMENT '用户ID索引' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='参数配置中心表'; + +-- 如果表已经存在,执行以下 SQL 修改字段 + ALTER TABLE `app_params_center` MODIFY COLUMN `param_detail` MEDIUMTEXT COMMENT '参数详情'; + ALTER TABLE `app_params_center` ADD COLUMN `device_name` VARCHAR(100) COMMENT '设备名称' AFTER `param_name`; + ALTER TABLE `app_params_center` ADD COLUMN `description` VARCHAR(500) COMMENT '描述' AFTER `device_name`; diff --git a/src/main/resources/mapper/AppParamsCenterMapper.xml b/src/main/resources/mapper/AppParamsCenterMapper.xml new file mode 100644 index 0000000..92582e8 --- /dev/null +++ b/src/main/resources/mapper/AppParamsCenterMapper.xml @@ -0,0 +1,94 @@ + + + + + + + + + + + + + + + + + + + + + + + + SELECT + p.id, + p.user_id, + u.username, + p.param_name, + p.device_name, + p.description, + p.fc_model, + p.fc_type, + p.param_version, + p.param_detail, + p.download_count, + p.create_time, + p.update_time + FROM app_params_center p + LEFT JOIN app_user u ON p.user_id = u.id + + + + + + + + + + + + + + + + + +