# 开发规范指南 ## 代码规范 遵循《阿里巴巴 Java 开发手册》规范,代码注释详细。 ## 新增业务模块步骤 ### 1. 创建模块目录 ``` yudao-module-{模块名}/ ├── pom.xml └── src/main/java/cn/iocoder/yudao/module/{模块名}/ ``` ### 2. 标准包结构 ```java cn.iocoder.yudao.module.{模块名} ├── api/ │ ├── {功能}Api.java // 对外接口定义 │ └── {功能}ApiImpl.java // 接口实现 ├── controller/ │ └── admin/ // 管理后台控制器 │ └── {功能}Controller.java ├── service/ │ ├── {功能}Service.java // 业务接口 │ └── {功能}ServiceImpl.java // 业务实现 ├── dal/ │ ├── dataobject/ // 数据对象 │ │ └── {功能}DO.java │ └── mysql/ // MySQL 实现 │ └── {功能}Mapper.java ├── convert/ │ └── {功能}Convert.java // 对象转换 ├── enums/ │ └── {功能}Enum.java // 枚举定义 └── framework/ └── {模块}Configuration.java // 配置类 ``` ### 3. 核心注解和工具类使用 #### 权限控制 ```java @PreAuthorize("@ss.hasPermission('system:user:query')") ``` #### 数据权限 ```java @DataPermission(deptAlias = "d") ``` #### 多租户 ```java @TenantIgnore // 忽略多租户 ``` #### 操作日志 ```java @OperateLog(type = CREATE) ``` ### 4. API 设计规范 - 使用 RESTful 风格 - 统一返回 `CommonResult` 格式 - 使用 `@Valid` 进行参数校验 - 使用 `@ApiOperation` 添加接口文档 ### 5. 数据库设计规范 - 表名使用模块前缀:`{模块名}_{表名}` - 必备字段:`id`, `create_time`, `update_time`, `creator`, `updater`, `deleted`, `tenant_id` - 使用 MyBatis Plus 的 `BaseEntity` 基类 ## 代码生成器使用 1. 访问管理后台的代码生成功能 2. 导入数据库表 3. 配置生成选项 4. 一键生成前后端代码 ## 测试规范 - 单元测试使用 JUnit 5 + Mockito - 集成测试继承 `BaseDbUnitTest` - 测试配置文件:[application-unit-test.yaml](mdc:yudao-module-system/src/test/resources/application-unit-test.yaml)