package admin import ( "ulink-admin/frame" "ulink-admin/modules/{{.ModuleName}}/models/req" "ulink-admin/modules/{{.ModuleName}}/models/model" "ulink-admin/modules/{{.ModuleName}}/models/response" "ulink-admin/modules/{{.ModuleName}}/service" "ulink-admin/pkg/page" "ulink-admin/pkg/excels" "ulink-admin/pkg/file" "ulink-admin/utils" ) type {{.ClassNameUpper}}Api struct { {{.ClassNameUpper}}Service *service.{{.ClassNameUpper}}Service `inject:""` } // List 查询{{.FunctionName}}分页数据 // @Summary 分页查询{{.FunctionName}}数据接口 // @Description 分页查询{{.FunctionName}}数据接口 // @Tags {{.FunctionName}}相关接口 // @Accept application/json // @Produce application/json // @Param Authorization header string false "Bearer 令牌" // @Param object query req.{{.ClassNameUpper}}Query false "查询参数" // @Security ApiKeyAuth // @Success 200 {object} resp.Response{data=page.Page{list=model.{{.ClassNameUpper}}},msg=string} "分页获取{{.FunctionName}}列表,返回包括列表,总数,页码,每页数量" // @Router /{{toLower .ClassNameLower}}/page [get] func (this {{.ClassNameUpper}}Api) Page(c *frame.Context) { query := &req.{{.ClassNameUpper}}Query{} c.ValidteError(c.ShouldBind(query), query) list := make([]response.{{.ClassNameUpper}}Response, 0) i := this.{{.ClassNameUpper}}Service.Page(query,&list) c.Ok(page.Page{List: list, Total: i, Size: query.PageSize}) } // List 查询{{.FunctionName}}所有数据 // @Summary 查询全部数据{{.FunctionName}}数据接口 // @Description 查询全部数据{{.FunctionName}}数据接口 // @Tags {{.FunctionName}}相关接口 // @Accept application/json // @Produce application/json // @Param Authorization header string false "Bearer 令牌" // @Param object query req.{{.ClassNameUpper}}Query false "查询参数" // @Security ApiKeyAuth // @Success 200 {object} resp.Response{data=model.{{.ClassNameUpper}},msg=string} "分页获取{{.FunctionName}}列表,返回包括列表,总数,页码,每页数量" // @Router /{{toLower .ClassNameLower}}/list [get] func (this {{.ClassNameUpper}}Api) List(c *frame.Context) { query := &req.{{.ClassNameUpper}}Query{} list := make([]response.{{.ClassNameUpper}}Response, 0) c.ValidteError(c.ShouldBind(query), query) this.{{.ClassNameUpper}}Service.List(query,&list) c.Ok(list) } // Get 根据{{.FunctionName}}Id获取详细信息 // @Summary {{.FunctionName}}详情查询接口 // @Description {{.FunctionName}}详情查询接口 // @Tags {{.FunctionName}}相关接口 // @Accept application/json // @Produce application/json // @Param Authorization header string false "Bearer 令牌" // @Param id query int true "id" id // @Security ApiKeyAuth // @Success 200 {object} resp.Response{data=model.{{.ClassNameUpper}},msg=string} "返回{{.FunctionName}}详情查询" // @Router /{{toLower .ClassNameLower}} [get] func (this {{.ClassNameUpper}}Api) Get(c *frame.Context) { var req struct { Id int64 `form:"id" binding:"required" msg:"id不存在" ` //id } c.ValidteError(c.ShouldBind(&req), &req) c.Ok(this.{{.ClassNameUpper}}Service.Get(req.Id)) } // Add 新增{{.FunctionName}} // @Summary 新增{{.FunctionName}}接口 // @Description 新增{{.FunctionName}}接口 // @Tags {{.FunctionName}}相关接口 // @Accept application/json // @Produce application/json // @Param Authorization header string false "Bearer 令牌" // @Param data body model.{{.ClassNameUpper}} true "{{.FunctionName}}实体对象" // @Success 200 {object} resp.Response{msg=string} "操作状态" // @Router /{{toLower .ClassNameLower}}/add [post] func (this {{.ClassNameUpper}}Api) Add(c *frame.Context) { params,{{.ClassNameCamel}} := &req.{{.ClassNameUpper}}Add{},&model.{{.ClassNameUpper}}{} c.ValidteError(c.ShouldBind(params), params) utils.CopyFields({{.ClassNameCamel}},params) this.{{.ClassNameUpper}}Service.Insert({{.ClassNameCamel}}) } // Edit 修改{{.FunctionName}}数据接口 // @Summary 修改{{.FunctionName}}接口 // @Description 新增{{.FunctionName}}接口 // @Tags {{.FunctionName}}相关接口 // @Accept application/json // @Produce application/json // @Param Authorization header string false "Bearer 令牌" // @Param data body model.{{.ClassNameUpper}} true "{{.FunctionName}}实体对象" // @Success 200 {object} resp.Response{msg=string} "操作状态" // @Router /{{toLower .ClassNameLower}}/edit [put] func (this {{.ClassNameUpper}}Api) Edit(c *frame.Context) { params,{{.ClassNameCamel}}:= &req.{{.ClassNameUpper}}Edit{},&model.{{.ClassNameUpper}}{} c.ValidteError(c.ShouldBind(params), params) utils.CopyFields({{.ClassNameCamel}},params) this.{{.ClassNameUpper}}Service.Edit({{.ClassNameCamel}}, c.Cols()) } // Delete 删除{{.FunctionName}}数据 // @Summary 删除{{.FunctionName}}接口 // @Description 删除{{.FunctionName}}接口 // @Tags {{.FunctionName}}相关接口 // @Accept application/json // @Produce application/json // @Param Authorization header string false "Bearer 令牌" // @Param id path int true "id" id // @Success 200 {object} resp.Response{msg=string} "操作状态" // @Router /{{toLower .ClassNameLower}} [delete] func (a {{.ClassNameUpper}}Api) Delete(c *frame.Context) { var req struct { Ids []int64 `form:"ids" binding:"required" msg:"ids不存在"` //ids } c.ValidteError(c.ShouldBind(&req), &req) a.{{.ClassNameUpper}}Service.Delete(req.Ids) } // Export 导出excel func (this {{.ClassNameUpper}}Api) Export(c *frame.Context) { query := &req.{{.ClassNameUpper}}Query{} list := make([]model.{{.ClassNameUpper}}, 0) c.ValidteError(c.ShouldBind(query), query) this.{{.ClassNameUpper}}Service.List(query,list) excelList := make([]interface{}, 0) for _, {{.ClassNameCamel}} := range list { excelList = append(excelList, {{.ClassNameCamel}}) } _, files := excels.ExportExcel(excelList, "{{.FunctionName}}数据表") file.DownloadExcel(c, files) }