ai_images/.cursor/rules/java-alibaba-standards.mdc

57 lines
2.1 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
description: 若依项目Java代码生成规则 - 阿里巴巴规范、命名、实体类、MyBatis、接口路径
alwaysApply: true
---
# 项目背景
你的web-api是一个基于若依RuoYi框架的Spring Boot项目。
# 代码生成规则
## 1. 命名规范
- 所有Java代码必须符合**阿里巴巴Java开发手册规范**(包括命名、注释、异常处理等)。
- 类名、方法名、变量名必须严格使用**驼峰命名法**CamelCase
- 类名UpperCamelCase如 `TosAssetService`
- 方法名、变量名lowerCamelCase如 `getAssetById`、`assetList`
## 2. 实体类Entity/Domain
- 必须使用 **Lombok** 注解简化代码:
```java
@Data
@TableName("tos_asset") // 或 @Entity
public class TosAsset {
// 字段...
}
```
- 所有字段和类**必须添加清晰的中文或英文注释**(推荐使用中文)。
- 必须包含 `serialVersionUID`(如果适用)。
## 3. 数据库操作MyBatis
- 必须使用 **MyBatis**(推荐 MyBatis-Plus进行数据库操作。
- **禁止**在 `mapper.xml` 中编写过于复杂的SQL语句。
- 复杂查询应在 Service 层使用 Java 代码组合,或使用 MyBatis-Plus 的 LambdaQueryWrapper。
- Mapper 接口方法名必须语义清晰,并添加注释。
## 4. Controller 接口路径
- 给 **portal-ui**(前端门户)统一以 `/api` 开头,例如:
```java
@GetMapping("/api/assets/list")
```
- 给 **admin-ui**(管理后台)使用以 `/` 开头(保持若依原有风格),例如:
```java
@GetMapping("/assets/list")
```
- 建议在不同 Controller 中区分(如 `AiPortalController` vs `AiManagerController`)。
## 5. 其他要求
- 所有新增类必须包含完整的 Javadoc 注释。
- Service 实现类必须实现对应接口。
- 避免直接在 Controller 中处理业务逻辑,保持分层清晰。
- 异常处理统一使用 `ServiceException` 或项目自定义异常。
- 业务逻辑遵循mvc原则放在service
- redis key 统一放在RedisKey类
**始终严格遵守以上规则生成所有Java代码。**