package controllers import ( "github.com/gogf/gf/v2/net/ghttp" "yx-dataset-server/app/bll" "yx-dataset-server/app/errors" "yx-dataset-server/app/schema" "yx-dataset-server/library/gplus" ) type Organization struct { OrganizationBll bll.IOrganization } func NewOrganization(bOrganization bll.IOrganization) *Organization { return &Organization{ OrganizationBll: bOrganization, } } // Query 查询数据 func (a *Organization) Query(r *ghttp.Request) { switch r.Get("q").String() { case "page": a.QueryPage(r) case "list": a.QueryList(r) default: ResError(r, errors.ErrUnknownQuery) } } // QueryPage 查询分页数据 // @Tags // @Summary 查询分页数据 // @Param Authorization header string false "Bearer 用户令牌" // @Param current query int true "分页索引" 1 // @Param pageSize query int true "分页大小" 10 // @Success 200 []schema.Organization "查询结果:{list:列表数据,pagination:{current:页索引,pageSize:页大小,total:总数量}}" // @Failure 400 schema.HTTPError "{error:{code:0,message:未知的查询类型}}" // @Failure 401 schema.HTTPError "{error:{code:0,message:未授权}}" // @Failure 500 schema.HTTPError "{error:{code:0,message:服务器错误}}" // @Router GET /web/v1/organizations?q=page func (a *Organization) QueryPage(r *ghttp.Request) { ctx := gplus.NewContext(r) var params schema.OrganizationQueryParam params.LikeName = r.Get("like_name").String() result, err := a.OrganizationBll.Query(ctx, params, schema.OrganizationQueryOptions{ PageParam: &schema.PaginationParam{ PageIndex: gplus.GetPageIndex(r), PageSize: gplus.GetPageSize(r), }, }) if err != nil { ResError(r, err) } ResPage(r, result.Data, result.PageResult) } // QueryList 查询列表数据 // @Tags // @Summary 查询列表数据 // @Param Authorization header string false "Bearer 用户令牌" // @Success 200 []schema.Organization "查询结果:{list:列表数据}" // @Failure 400 schema.HTTPError "{error:{code:0,message:未知的查询类型}}" // @Failure 401 schema.HTTPError "{error:{code:0,message:未授权}}" // @Failure 500 schema.HTTPError "{error:{code:0,message:服务器错误}}" // @Router GET /web/v1/organizations?q=list func (a *Organization) QueryList(r *ghttp.Request) { ctx := gplus.NewContext(r) var params schema.OrganizationQueryParam params.LikeName = r.Get("like_name").String() result, err := a.OrganizationBll.Query(ctx, params) if err != nil { ResError(r, err) } ResSuccess(r, result.Data) } // Get 获取数据 // @Summary 获取数据 // @Param id path string true "记录ID" // @Success 200 schema.Organization // @Failure 400 schema.HTTPError "{error:{code:0,message:无效的请求参数}}" // @Failure 401 schema.HTTPError "{error:{code:0,message:未授权}}" // @Failure 500 schema.HTTPError "{error:{code:0,message:服务器错误}}" // @Router /web/v1/organizations/{id} func (a *Organization) Get(r *ghttp.Request) { ctx := gplus.NewContext(r) result, err := a.OrganizationBll.Get(ctx, r.Get("id").String()) if err != nil { ResError(r, err) } ResSuccess(r, result) } // Create 创建数据 // @Tags API-Organization // @Summary 创建数据 // @Param body schema.Organization true "提交的数据" // @Success 200 schema.Organization // @Failure 400 schema.HTTPError "{error:{code:0,message:无效的请求参数}}" // @Failure 401 schema.HTTPError "{error:{code:0,message:未授权}}" // @Failure 500 schema.HTTPError "{error:{code:0,message:服务器错误}}" // @Router /web/v1/organizations/ [post] func (a *Organization) Create(r *ghttp.Request) { var data schema.Organization if err := gplus.ParseJson(r, &data); err != nil { gplus.ResError(r, err) } ctx := gplus.NewContext(r) err := a.OrganizationBll.Create(ctx, data) if err != nil { ResError(r, err) } ResSuccess(r, nil) } // Update 更新数据 // @Summary 更新数据 // @Param body schema.Organization true "更新数据" // @Success 200 schema.Organization // @Failure 400 schema.HTTPError "{error:{code:0,message:无效的请求参数}}" // @Failure 401 schema.HTTPError "{error:{code:0,message:未授权}}" // @Failure 500 schema.HTTPError "{error:{code:0,message:服务器错误}}" // @Router /web/v1/organizations/{id} func (a *Organization) Update(r *ghttp.Request) { var data schema.Organization if err := gplus.ParseJson(r, &data); err != nil { gplus.ResError(r, err) } ctx := gplus.NewContext(r) err := a.OrganizationBll.Update(ctx, r.Get("id").String(), data) if err != nil { ResError(r, err) } ResSuccess(r, nil) } // Delete 删除数据 // @Summary 删除数据 // @Param id path string true "记录ID" // @Success 200 schema.HTTPStatus "{status:OK}" // @Failure 400 schema.HTTPError "{error:{code:0,message:无效的请求参数}}" // @Failure 401 schema.HTTPError "{error:{code:0,message:未授权}}" // @Failure 500 schema.HTTPError "{error:{code:0,message:服务器错误}}" // @Router /web/v1/organizations/{id} func (a *Organization) Delete(r *ghttp.Request) { ctx := gplus.NewContext(r) err := a.OrganizationBll.Delete(ctx, r.Get("id").String()) if err != nil { ResError(r, err) } ResSuccess(r, nil) }