55 lines
3.1 KiB
Markdown
55 lines
3.1 KiB
Markdown
# 代码库函数概览
|
||
|
||
## server/common
|
||
- `constants`: 存放全局常量,如 `RedisTokenPrefix`, `TokenHeader`, `StateActive` 等。
|
||
- `id_utils`: ID 生成工具,提供 `GenerateLongID()` 和 `GenerateStringID()`。
|
||
- `Response`: 统一的HTTP响应结构体 `{Code, Message, Data}`。
|
||
- `Success(c *gin.Context, data interface{})`: 发送成功响应。
|
||
- `Error(c *gin.Context, code int, msg string)`: 发送错误响应。
|
||
|
||
## server/config
|
||
- `LoadConfig()`: 加载配置。
|
||
- 优先级1:命令行参数 `-c` 或 `-config` 指定的文件。
|
||
- 优先级2:环境变量 `GO_ENV` 决定的文件(查找顺序:`./config.{env}.yaml` -> `config/config.{env}.yaml` -> `../config/config.{env}.yaml`)。
|
||
- `AppConfig`: 全局配置对象,包含 Log, Server, Database 等配置。
|
||
- `InitDB()`: 初始化GORM数据库连接,支持 SQL 日志配置(自动写入 `logs/sql-YYYY-MM-DD.log`)。
|
||
- `InitRedis()`: 初始化Redis客户端。
|
||
- `AppConfig`: 全局配置变量,包含 `Log`, `Security`, `RateLimit`, `Swagger`, `Database`, `Redis` 配置。
|
||
|
||
## server/middleware
|
||
- `AuthMiddleware`: JWT认证中间件。
|
||
- `SecurityMiddleware`: 安全校验中间件(请求头签名)。
|
||
- `RateLimitMiddleware`: 接口限流中间件。
|
||
- `CorsMiddleware`: 跨域资源共享中间件。
|
||
|
||
## server/modules/yx
|
||
- `YxSchoolMajorController`: 院校专业控制器。
|
||
- `YxHistoryMajorEnrollController`: 历年招生记录控制器。
|
||
- `YxCalculationMajorController`: 计算专业控制器。
|
||
- `YxUserScoreController`: 用户分数控制器。
|
||
- `YxVolunteerController`: 志愿控制器。
|
||
- `YxVolunteerRecordController`: 志愿明细控制器。
|
||
|
||
## server/modules/yx/service
|
||
- `YxCalculationMajorService`:
|
||
- `BatchCreateBySchoolMajorDTO(tableName string, items []dto.SchoolMajorDTO, scoreID string)`: 根据 SchoolMajorDTO 列表批量创建计算专业数据,支持动态表名。
|
||
- `BatchCreate(tableName string, items []entity.YxCalculationMajor)`: 批量创建计算专业数据,支持动态表名。
|
||
|
||
## server/modules/user/service
|
||
- `UserScoreService`:
|
||
- `GetActiveByID(userID string)`: 获取用户当前激活状态的成绩 VO。
|
||
- `GetByID(id string)`: 根据 ID 获取特定成绩 VO。
|
||
- `GetActiveScoreID(userID string)`: 获取用户当前激活的成绩ID。
|
||
- `UpdateFields(id string, fields map[string]interface{})`: 更新成绩字段。
|
||
- `Delete(id string)`: 删除成绩记录。
|
||
- `SaveUserScore(req *dto.SaveScoreRequest)`: 保存用户成绩,返回保存后的 VO。
|
||
- `ListByUser(userID string, page, size int)`: 分页获取用户的成绩列表。
|
||
- `UserScoreVO`: 用户成绩视图对象,包含基础信息、选课列表及子专业成绩映射。
|
||
|
||
## server/modules/yx/service
|
||
- `YxVolunteerService`:
|
||
- `UpdateName(id, name, userID string)`: 编辑志愿单名称(权属校验)。
|
||
- `ListByUser(userID string, page, size int)`: 获取当前用户志愿单列表(关联成绩数据)。
|
||
- `DeleteVolunteer(...)`: 删除志愿单(级联删除计算表、成绩、明细)。
|
||
- `SwitchVolunteer(id, userID string, scoreService IScoreService)`: 切换当前志愿单(同步同步成绩状态)。
|