Files
hzdyjs/.serena/memories/code_style_conventions.md
T
zlwuandCursor AI 90b13a6e0c feat: 完善数据库表命名规范,新增后勤管理和系统公共模块前缀
📋 主要变更:
- ✅ 补充完整的7个业务模块表命名规范
- ✅ 新增后勤管理模块:hq_ 前缀
- ✅ 明确系统公共模块:common_ 前缀
- ✅ 提供完整的命名示例和实体类映射规则
- ✅ 更新变更记录文档

🎯 覆盖模块:
- 后勤管理(hq_)、人事管理(rs_)、财务管理(cw_)
- 学工管理(xg_)、招生就业(zsjy_)、安全保卫(aqbw_)
- 系统公共(common_)

📚 文件变更:
- .cursor/cursorrules-backend.md - 数据库表命名规范
- docs/变更管理/code-adjust-record-2025-01-23-wuzilong.md - 变更记录
- 各业务模块工程文件和前端结构文件

Co-authored-by: Cursor AI <cursor@cursor.sh>
2025-07-08 14:11:12 +08:00

3.5 KiB

代码风格和约定规范

Java后端代码规范

命名约定

  • 类名: 使用PascalCase,如 PmRepairOrderController
  • 方法名: 使用camelCase,如 updateRepairOrder
  • 常量: 使用UPPER_SNAKE_CASE,如 DEFAULT_PAGE_SIZE
  • 包名: 使用小写,如 org.dromara.hq.service

项目结构模式

org.dromara.zhxy.hq/
├── controller/     # 控制器层
├── service/        # 服务层
│   └── impl/      # 服务实现
├── mapper/         # 数据访问层
├── domain/         # 实体类
│   ├── vo/        # 视图对象
│   └── bo/        # 业务对象
└── config/         # 配置类

注解使用

  • Controller: @RestController, @RequestMapping
  • Service: @Service, @Transactional
  • Mapper: @Mapper
  • 权限校验: @RequiresPermissions("hq:repair:list")
  • 日志记录: @Log(title = "报修管理", businessType = BusinessType.UPDATE)

数据库设计规范

  • 主键: 使用雪花ID @TableId(type = IdType.ASSIGN_ID)
  • 基础字段: 继承 BaseEntity (id, create_time, create_by, update_time, update_by, tenant_id)
  • 命名: 使用下划线命名法,如 repair_order, user_name
  • 多租户: 所有业务表包含 tenant_id 字段

Vue前端代码规范

命名约定

  • 组件名: 使用PascalCase,如 RepairOrderList.vue
  • 文件名: 使用kebab-case,如 repair-order-list.vue
  • 变量名: 使用camelCase,如 repairOrderList
  • 常量: 使用UPPER_SNAKE_CASE,如 API_BASE_URL

组件结构

<template>
  <!-- 模板内容 -->
</template>

<script setup lang="ts">
// 导入
// 类型定义
// 响应式数据
// 计算属性
// 生命周期钩子
// 方法定义
</script>

<style scoped>
/* 样式 */
</style>

TypeScript类型定义

  • 接口命名: 使用PascalCase + Interface后缀,如 RepairOrderInterface
  • 类型导出: 统一在 types/ 目录管理
  • API响应: 使用泛型 R<RepairOrderVo>

API调用规范

// API定义
export const getRepairOrderList = (params: RepairOrderQuery) => {
  return request<RepairOrderVo[]>({
    url: '/hq/repair/list',
    method: 'get',
    params
  })
}

// 组件中使用
const { data, loading, refresh } = useRequest(getRepairOrderList)

通用开发规范

注释规范

/**
 * 获取报修订单列表
 * 
 * @param bo 查询条件
 * @return 报修订单列表
 * @author wuzilong
 * @date 2025-07-01
 */
public List<PmRepairOrderVo> queryPageList(PmRepairOrderBo bo)

错误处理

  • 后端: 使用统一异常处理 @ControllerAdvice
  • 前端: 使用统一的错误提示组件
  • 日志记录: 使用 @Log 注解记录关键操作

权限控制

  • 接口级: @RequiresPermissions("hq:repair:add")
  • 按钮级: v-hasPermi="['hq:repair:edit']"
  • 数据级: 使用 @DataPermission 注解

多租户规范

  • 数据隔离: 自动注入 tenant_id 条件
  • 缓存隔离: 使用租户前缀
  • 权限隔离: 基于租户的权限控制

国际化支持

  • 前端: 使用 $t('message.key')
  • 后端: 使用 MessageUtils.message("key")
  • 配置文件: 统一在 i18n/ 目录管理

测试规范

  • 单元测试: 使用JUnit 5 + Mockito
  • 接口测试: 使用 @Test 注解
  • 覆盖率: 要求 >80%

文档规范

  • API文档: 使用Swagger/OpenAPI注解自动生成
  • 代码文档: 重要方法必须有JavaDoc
  • 变更记录: 每次变更必须更新变更日志