---
description: 防重复提交规范（与 .cursor/rules/java-idempotent.mdc 同步）
globs: ["**/*Controller.java","**/*.vue"]
alwaysApply: true
---

# 防重复提交规范

> 项目**未引入** `@Idempotent`。依赖前端按钮 loading/disabled + 后端唯一性校验。

## 前端（必须）

- 提交按钮 `:loading` + `:disabled`
- 删除用 `this.$modal.confirm()`

## 后端（兜底）

- 创建前唯一性校验，重复时 `throw new ServiceException("...")`
- 可选：Redis 锁、数据库唯一索引

## 禁止

- 使用 @Idempotent / @RepeatSubmit（未引入）
- GET 接口做幂等拦截
