golang-yitisheng-server/Help.md

46 lines
1.5 KiB
Markdown

#### 关于 Swagger 文档更新流程:
新增接口后更新文档步骤:
在 Controller 方法上添加 Swagger 注解(@Summary、@Param、@Router 等)
在 server 目录运行 swag init 重新生成文档
重启服务器
常用 Swagger 注解说明:
```go
// @Summary 接口简介
// @Description 详细描述
// @Tags 分组标签
// @Accept json
// @Produce json
// @Param name query/path/body 类型 是否必填 "描述"
// @Success 200 {object} Response "成功描述"
// @Failure 400 {object} Response "失败描述"
// @Router /path [get/post/put/delete]
```
#### 批量修改/新增/删除
Mapper 层: | 方法 | 说明 | |------|------| | UpdateFields(id, fields) | 动态字段更新,只更新指定字段 | | BatchCreate(items, batchSize) | 批量插入,分批处理 | | BatchUpdate(items) | 批量更新 (根据主键) | | BatchUpsert(items, updateColumns) | 批量插入或更新 (存在则更新) | | BatchDelete(ids) | 批量删除 |
Service 层: 同样的方法,自动处理 UUID 生成。
使用示例:
```
// 动态字段更新 - 只更新指定字段
service.UpdateFields("xxx-id", map[string]interface{}{
"school_name": "新名称",
"plan_num": 100,
})
// 批量插入
items := []entity.SchoolMajor{{...}, {...}}
service.BatchCreate(items)
// 批量插入或更新 (存在则更新指定字段)
service.BatchUpsert(items, []string{"school_name", "plan_num"})
// 批量删除
service.BatchDelete([]string{"id1", "id2", "id3"})
```