---
description: 全项目代码通用强制自检清单（与 .cursor/rules/ai-checklist.mdc 同步）
globs: ["**/*.java","**/*.vue","**/*.js","**/*.sql","**/*.xml"]
alwaysApply: true
---

> **框架基线**：RuoYi Cloud 3.6.8 + MyBatis + PageHelper + 达梦 DM8 + Vue2/Element UI。
> 与 `.cursor/rules/ai-checklist.mdc` 保持一致；若有冲突以 `.cursor/rules` 为准。

# AI 生成代码规范 — 核心约束

## Java 强制规则摘要

- 异常：`throw new ServiceException("中文业务提示")`，禁止 RuntimeException
- 响应：`AjaxResult` / `TableDataInfo`，Controller 继承 `BaseController`
- 时间：`java.util.Date` + `DateUtils.getNowDate()`，禁止强行改 LocalDateTime
- 注入：`@Autowired`，Controller 禁止注入 Mapper
- 权限：`@RequiresPermissions("模块:业务:操作")`，禁止 `@PreAuthorize`
- 日志：增删改/导入/导出加 `@Log`，禁止 `@ApiAccessLog`
- Mapper：接口 + XML，禁止 MyBatis-Plus / BaseMapperX
- 跨模块：`ruoyi-api` Feign，禁止 server 互依赖
- 数据权限：`@DataScope` 按需（system 模块常用，busi 模块不强制）

## 前端强制规则摘要

- Vue2 + Element UI + `@/utils/request`
- 主键 ID 用 string
- 字典用 `dict-tag`，禁止硬编码状态
- 删除需二次确认，提交按钮 loading 防抖

## 禁止引入

yudao 框架类（CommonResult、TenantBaseDO、ServiceExceptionUtil、SaveReqVO 等）
