mirror of
https://gitee.com/dromara/RuoYi-Vue-Plus.git
synced 2026-09-22 02:50:00 +08:00
136 lines
4.4 KiB
Markdown
136 lines
4.4 KiB
Markdown
## 需求总结
|
||
|
||
根据我们之前的交互,您希望在现有的 Spring Boot 3 项目中实现以下功能:
|
||
|
||
1. **创建新的 H5 项目管理模块**:
|
||
- 不修改现有业务代码
|
||
- 创建独立的表和相关代码
|
||
|
||
2. **数据存储架构**:
|
||
- 使用 MySQL + MongoDB 混合存储
|
||
- MySQL 存储项目元数据(基本信息)
|
||
- MongoDB 存储项目内容(长文本)
|
||
- 通过 content_id 字段关联两个数据源
|
||
|
||
3. **项目分组功能**:
|
||
- 支持多级分组结构
|
||
- 三个一级分组:物料、用途、行业
|
||
- 每个一级分组下有多个二级分组
|
||
- 项目与分组为多对多关系
|
||
|
||
4. **时间字段规范**:
|
||
- 所有时间字段使用 Unix 时间戳(秒级)存储
|
||
- 不使用 datetime 类型
|
||
|
||
5. **代码规范要求**:
|
||
- 使用 Lombok 简化代码
|
||
- 事务一致性保障(使用 @Transactional 注解)
|
||
- Controller 不直接调用 Repository
|
||
- Controller 返回值不使用 Map 类型
|
||
- ID 字段统一命名为 id
|
||
|
||
6. **技术实现细节**:
|
||
- 使用 MyBatis-Plus 作为 ORM 框架
|
||
- 使用 Spring Data MongoDB 访问 MongoDB
|
||
- 提供完整的 CRUD 接口
|
||
|
||
|
||
|
||
|
||
|
||
## 标准化提示词模板
|
||
你是一个经验丰富的 Java 开发工程师,熟悉 Spring Boot 3、MyBatis-Plus 和 MongoDB。我需要在现有的 Spring Boot 3 项目中实现一个新的功能模块,请按照以下要求进行开发:
|
||
|
||
1. **项目结构要求**:
|
||
- 不修改现有业务代码,创建全新的独立模块
|
||
- 使用标准的分层架构(Entity/DAO/Service/Controller/VO等)
|
||
|
||
2. **数据存储架构**:
|
||
- MySQL 存储元数据,MongoDB 存储长文本内容
|
||
- 通过 content_id 字段关联两个数据源
|
||
- 所有时间字段使用 Unix 时间戳(秒级)存储,类型为 bigint
|
||
|
||
3. **功能需求**:
|
||
- 实现完整的 CRUD 接口
|
||
- 支持多级分组管理(一级分组:物料、用途、行业)
|
||
- 项目与分组为多对多关系
|
||
|
||
4. **代码规范**:
|
||
- 使用 Lombok 简化代码(@Data、@EqualsAndHashCode 等)
|
||
- 事务一致性保障(使用 @Transactional 注解)
|
||
- Controller 不直接调用 Repository,通过 Service 层访问
|
||
- Controller 返回值不使用 Map 类型,使用具体 VO 类或基本类型
|
||
- ID 字段统一命名为 id,不使用冗余前缀
|
||
- 所有类和方法需要适当的 Swagger 注解
|
||
|
||
5. **具体实现要求**:
|
||
- 创建完整的 Entity、DAO、Service、Controller 和 VO 类
|
||
- 提供对应的数据库建表 SQL 脚本
|
||
- 确保编译无错误,代码符合规范
|
||
|
||
请按照以上要求生成相应的代码和文档。
|
||
|
||
|
||
## 第二波需求
|
||
工作完成的非常好,继续开发下个需求,完善 字体的实现,目前只有个FontController文件,请继续完善接口,定义好表结构,定义好的表结构记得给我审核一下,字体要提供这些功能。
|
||
1、批量上传字体。
|
||
2、分页查询字体,包含两种类型字体:中文英文。
|
||
3、根据fontFamily字体名称批量查询字体,字体名称唯一属性。
|
||
下面为字体的JSON结构,请设计表和代码,你看看是存在mysql还是mongo比较好
|
||
{
|
||
"id": "33912837",
|
||
"source": "GD",
|
||
"name": "OpenSans-Bold",
|
||
"preview": {
|
||
"url": "https://st0.dancf.com/csc/49/fonts/0/20200809-105104-c105.svg",
|
||
"width": 490,
|
||
"height": 80,
|
||
"partial_video": "",
|
||
"video": "",
|
||
"hex": "",
|
||
"duration": 0
|
||
},
|
||
"price": null,
|
||
"items": [],
|
||
"content": {
|
||
"family": "Open Sans",
|
||
"alias": "Open Sans Bold",
|
||
"style": "normal",
|
||
"weight": 700,
|
||
"woff": "https://gd-filems.dancf.com/gaoding/editor/20240116-211715-jaeea.woff",
|
||
"ttf": "https://gd-filems.dancf.com/gaoding/editor/20240116-211715-kiige.ttf",
|
||
"lang": "en",
|
||
"origin_file": {
|
||
"size": 104120,
|
||
"url": "https://st0.dancf.com/csc/49/fonts/0/20200809-105059-cc06.ttf"
|
||
},
|
||
"woff_size": 56092,
|
||
"ttf_size": 92500,
|
||
"meta_data": {
|
||
"ascent": 2189,
|
||
"descent": -600,
|
||
"emSize": 2048,
|
||
"typoAscent": 2189,
|
||
"typoDescent": -600,
|
||
"typoLineGap": 0,
|
||
"winAscent": 2189,
|
||
"winDescent": 600,
|
||
"capitalHeight": 1462,
|
||
"underlinePosition": -154,
|
||
"underlineThickness": 102,
|
||
"fsType": 0,
|
||
"hheadAscent": 2189,
|
||
"hheadDescent": -600,
|
||
"hheadLineGap": 0,
|
||
"xheight": 1118
|
||
}
|
||
},
|
||
"content_id": null,
|
||
"content_url": "https://gd-filems.dancf.com/xi19e5/xi19e5/0/32d51454-451e-4b80-a8b2-138fa5d185e750.json?auth_key=1763092800-10a7b6d1071b4787b7225660db3f71a1-0-8c6b2cbd6b9aae7a0943fd4190e16094",
|
||
"lang": "en",
|
||
"alias": "Open Sans Bold",
|
||
"authorization_id": 26,
|
||
"user_over_role": 0,
|
||
"sale_type": 0
|
||
}
|