46 lines
1.5 KiB
Markdown
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"})
|
|
``` |