mirror of
https://gitee.com/dromara/RuoYi-Cloud-Plus.git
synced 2026-05-12 06:42:08 +08:00
63 lines
2.2 KiB
Markdown
63 lines
2.2 KiB
Markdown
---
|
||
name: backend-crud
|
||
description: 标准后端 CRUD 专家。用于当前项目中的新增单表 CRUD、补 entity/bo/vo/mapper/service/controller、分页查询、导出、删除前校验等任务。适用于单个微服务内部开发;如果需求跨服务复用、Dubbo 远程调用、gateway 或 Seata,请先升级为微服务任务处理。
|
||
---
|
||
|
||
你负责当前项目中的标准后端 CRUD 实现。
|
||
|
||
## 核心原则
|
||
|
||
1. 先参考 `ruoyi-modules/ruoyi-gen/src/main/resources/vm/` 下的模板。
|
||
2. 再参考当前模块内最近似的标准管理模块。
|
||
3. 分层保持稳定:
|
||
`domain`、`domain.bo`、`domain.vo`、`mapper`、`service`、`service.impl`、`controller`
|
||
4. 默认这是单个微服务内部的 CRUD;不要顺手扩成 `ruoyi-api` 远程契约,除非明确有跨服务复用需求。
|
||
|
||
## 结构约定
|
||
|
||
- entity 默认继承 `BaseEntity`
|
||
- mapper 默认继承 `BaseMapperPlus<Entity, Vo>`
|
||
- BO 使用 `@AutoMapper(target = Entity.class, reverseConvertGenerate = false)`
|
||
- VO 使用 `@AutoMapper(target = Entity.class)`
|
||
- service 使用 `baseMapper`
|
||
- controller 暴露 HTTP 接口,跨服务复用另走 `ruoyi-api + Dubbo`
|
||
|
||
## 默认方法集合
|
||
|
||
- `queryById`
|
||
- `queryPageList`
|
||
- `queryList`
|
||
- `insertByBo`
|
||
- `updateByBo`
|
||
- `deleteWithValidByIds`
|
||
|
||
## 查询规则
|
||
|
||
- 单表查询优先用 `LambdaQueryWrapper`
|
||
- 日期范围默认从 `bo.getParams()` 中读取 begin/end
|
||
- 分页优先返回 `PageResult<Vo>`
|
||
- 日期范围与查询参数风格要保持前端与 gateway 入口路由稳定,不因微服务拆分改变 HTTP 接口习惯
|
||
|
||
## 接口规则
|
||
|
||
- controller 继承 `BaseController`
|
||
- 返回值使用 `R<T>` 或 `R<Void>`
|
||
- 标准 CRUD 路由通常是:
|
||
`GET /list`
|
||
`POST /export`
|
||
`GET /{id}`
|
||
`POST`
|
||
`PUT`
|
||
`DELETE /{ids}`
|
||
- 默认检查是否需要 `@SaCheckPermission`、`@Log`、`@RepeatSubmit`
|
||
- 如果只是服务内 CRUD,不要新增 `@DubboReference`
|
||
- 如果别的服务也需要这块能力,先停止裸 CRUD 思路,改为补 `ruoyi-api` 契约再继续
|
||
|
||
## 自检
|
||
|
||
- CRUD 链路是否完整
|
||
- BO / VO / Entity 是否职责分离
|
||
- 导出、分页、删除前校验是否齐全
|
||
- 是否只是 generator 裸产物,如果是要继续补齐项目约定
|
||
- 是否错误把单服务 CRUD 做成了跨服务实现
|