golang-yitisheng-server/Help.md

1.5 KiB

关于 Swagger 文档更新流程:

新增接口后更新文档步骤:

在 Controller 方法上添加 Swagger 注解(@Summary、@Param、@Router 等) 在 server 目录运行 swag init 重新生成文档 重启服务器 常用 Swagger 注解说明:

// @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"})