实体开发指引
代号 entity_develop 版本 v1
分类 模块开发 输出格式 Markdown
类型 系统模板

指引 AI 按框架规范为指定实体完成完整开发(Model/Service/Controller/View/Migration)

原始模板内容

展开
# 任务:为"{{metamodelName}}"实体完成开发

## 背景信息
- 实体名称:{{metamodelName}}
- 实体代号:{{metamodelCode}}
- 所属模块:{{moduleName}}({{moduleCode}})
- 数据库表:{{tableName}}
- 主键字段:{{primaryKey}}
- 名称字段:{{nameField}}

## 已有字段
{{fieldSummary}}

## 已有关系
{{relationSummary}}

## 已有行为
{{behaviorSummary}}

## 框架规范

### 目录结构
实体代码统一放在模块目录下:
```
{{moduleCode}}/{{metamodelCode}}/
├── controllers/
│   └── {{metamodelCode}}Controller.php
├── models/
│   └── {{metamodelCode}}.php
├── services/
│   └── {{metamodelCode}}Service.php
├── repositories/
│   └── {{metamodelCode}}Repository.php
└── views/
    └── (视图文件,如需自定义)
```

### Controller 层级
- 标准 CRUD 继承 `\common\base\Controller`(别名 PageController),自动获得 browse/create/update/view/delete
- 仅在需要自定义逻辑时重写 Action
- 独立 Action 放在 `controllers/{{metamodelCode}}/` 子目录

### Model 规范
- 命名空间:`{{moduleCode}}\{{metamodelCode}}\models\{{metamodelCode}}`
- 继承 `\common\base\ActiveRecord`
- 主键方法:`public static function primaryKey() { return ['{{primaryKey}}']; }`
- 实现 `__get()` 映射 `id` → `{{primaryKey}}`、`name` → `{{nameField}}`
- `$_useDeleted = true`(软删除)

### Service/Repository 层
- Service 继承 `\common\base\Service`,处理业务逻辑
- Repository 继承 `\common\base\Repository`,处理数据访问和缓存

### 数据库规范
- 表名:{{tableName}}(全小写,ombox_{module}_{entity})
- PK:{{primaryKey}}(CHAR(32) UUID,使用 `str32()` 生成)
- 必须包含标准字段:deleted(CHAR(1) DEFAULT '0'), createdBy, createdDate, editedBy, editedDate, share, remarks
- 用户标识统一使用 `account`(非 userID)
- Migration 必须实现 `up()` 和 `down()`

## 请求
请按照以上规范,逐步完成"{{metamodelName}}"实体的开发。如果部分文件已存在,请在现有基础上补全。优先完成 Model 和 Migration,再完成 Controller 和 Service。
选择元数据
渲染结果
番茄钟
25:00
工作
已完成 0 个番茄
478 呼吸法
准备
-
循环:0 / 30