5.8 KiB
需求总结
根据我们之前的交互,您希望在现有的 Spring Boot 3 项目中实现以下功能:
-
创建新的 H5 项目管理模块:
- 不修改现有业务代码
- 创建独立的表和相关代码
-
数据存储架构:
- 使用 MySQL + MongoDB 混合存储
- MySQL 存储项目元数据(基本信息)
- MongoDB 存储项目内容(长文本)
- 通过 content_id 字段关联两个数据源
-
项目分组功能:
- 支持多级分组结构
- 三个一级分组:物料、用途、行业
- 每个一级分组下有多个二级分组
- 项目与分组为多对多关系
-
时间字段规范:
- 所有时间字段使用 Unix 时间戳(秒级)存储
- 不使用 datetime 类型
-
代码规范要求:
- 使用 Lombok 简化代码
- 事务一致性保障(使用 @Transactional 注解)
- Controller 不直接调用 Repository
- Controller 返回值不使用 Map 类型
- ID 字段统一命名为 id
-
技术实现细节:
- 使用 MyBatis-Plus 作为 ORM 框架
- 使用 Spring Data MongoDB 访问 MongoDB
- 提供完整的 CRUD 接口
标准化提示词模板
你是一个经验丰富的 Java 开发工程师,熟悉 Spring Boot 3、MyBatis-Plus 和 MongoDB。我需要在现有的 Spring Boot 3 项目中实现一个新的功能模块,请按照以下要求进行开发:
-
项目结构要求:
- 不修改现有业务代码,创建全新的独立模块
- 使用标准的分层架构(Entity/DAO/Service/Controller/VO等)
-
数据存储架构:
- MySQL 存储元数据,MongoDB 存储长文本内容
- 通过 content_id 字段关联两个数据源
- 所有时间字段使用 Unix 时间戳(秒级)存储,类型为 bigint
-
功能需求:
- 实现完整的 CRUD 接口
- 支持多级分组管理(一级分组:物料、用途、行业)
- 项目与分组为多对多关系
-
代码规范:
- 使用 Lombok 简化代码(@Data、@EqualsAndHashCode 等)
- 事务一致性保障(使用 @Transactional 注解)
- Controller 不直接调用 Repository,通过 Service 层访问
- Controller 返回值不使用 Map 类型,使用具体 VO 类或基本类型
- ID 字段统一命名为 id,不使用冗余前缀
- 所有类和方法需要适当的 Swagger 注解
-
具体实现要求:
- 创建完整的 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 }
表单需求
帮我理一下这个表单需求,然后帮我合理设计一下表结构和技术选型,再实现表单提交接口和表单提交过的数据查询接口等等,有遗漏的记得帮我补上,在h5在线编辑中,可以新建个表单,表单可以自定义提交项,这种自定义表单,如何设计表结构,是用mongo还是mysql, 然后我看其他平台是这样提交表单内容的: {"templet_form_id":450055,"form_id":"461709","form_data":{"19fef684-b6ef-4bfb-8d68-603c99444ac5":"文本内容","6cbf9138-a20d-428c-b635-291246da3926":"13255556645","14154ccc-c2b3-4d27-8eb2-e3e422af294f":"1713322582323@qq.com"}} 表单的结构是保存在 H5ProjectContent 下的 Element(type=form时)->formItems 中的,formItems 的结构是如下: {"formItems": [ { "prop": "cf1d1fd1-9df9-44b4-ba73-3c553784aeab", "widget": "input", "verify": { "enable": false, "hint": "请输入文本内容" } }, { "prop": "56d54498-7d9d-4055-badd-09596fc9a43c", "widget": "input", "verify": { "enable": false, "hint": "请输入文本内容" } }, { "prop": "073f7b1f-afb9-4810-8896-d760197f5d02", "widget": "input", "verify": { "enable": true, "hint": "请输入正确的手机号码" } }, { "prop": "155ed883-93e5-4509-88db-ace73caac0d2", "widget": "input", "verify": { "enable": false, "hint": "请输入文本内容" } } ]}