GAAS GFrame项目web后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

399 lines
13 KiB

// Copyright (c) Shenyang Leading Edge Intelligent Technology Co., Ltd. All rights reserved.
package base
import (
model "LAPP_GAAS_GFrame_BACKEND/models/base"
"LAPP_GAAS_GFrame_BACKEND/web/middleware/jwts"
"LAPP_GAAS_GFrame_BACKEND/web/models"
"LAPP_GAAS_GFrame_BACKEND/web/supports"
"github.com/kataras/iris/v12"
"github.com/kataras/iris/v12/core/router"
)
/******************************************************************************
*
* @Function Name : RegisterOneArticle
*-----------------------------------------------------------------------------
*
* @Description : 为一个处理单条Article的方法注册路由
*
* @Function Parameters : 路由分组
*
* @Function Parameters : HTTP方法
*
* @Function Parameters : 路径
*
* @Function Parameters : 实际处理请求的方法
*
* @Author : 代码生成器创建
*
* @Date : 2021-03-18 22:49:12
*
******************************************************************************/
func RegisterOneArticle(party router.Party, httpMethod string, path string, method func(*models.Usertab, *model.Article) error) {
party.Handle(httpMethod, path, func(ctx iris.Context) {
user, ok := jwts.ParseToken(ctx)
if !ok {
supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
return
}
var err error = nil
entity := new(model.Article)
if ctx.GetContentLength() > 0 {
err := ctx.ReadJSON(entity)
if err != nil {
supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil)
return
}
} else {
entity = nil
}
err = method(user, entity)
if err != nil {
supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil)
return
}
supports.Ok(ctx, supports.OptionSuccess, nil)
})
}
/******************************************************************************
*
* @Function Name : RegisterIDOfArticle
*-----------------------------------------------------------------------------
*
* @Description : 为一个通过主键处理单条Article的方法注册路由
*
* @Function Parameters : 路由分组
*
* @Function Parameters : HTTP方法
*
* @Function Parameters : 路径
*
* @Function Parameters : 实际处理请求的方法
*
* @Author : 代码生成器创建
*
* @Date : 2021-03-18 22:49:12
*
******************************************************************************/
func RegisterIDOfArticle(party router.Party, httpMethod string, path string, method func(*models.Usertab, string) error) {
party.Handle(httpMethod, path, func(ctx iris.Context) {
user, ok := jwts.ParseToken(ctx)
if !ok {
supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
return
}
var err error = nil
artId := ctx.Params().GetString("artId")
err = method(user, artId)
if err != nil {
supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil)
return
}
supports.Ok(ctx, supports.OptionSuccess, nil)
})
}
/******************************************************************************
*
* @Function Name : RegisterInsertOneArticle
*-----------------------------------------------------------------------------
*
* @Description : 为一个插入单条Article的方法注册路由
*
* @Function Parameters : 路由分组
*
* @Function Parameters : 路径
*
* @Function Parameters : 实际处理请求的方法
*
* @Author : 代码生成器创建
*
* @Date : 2021-03-18 22:49:12
*
******************************************************************************/
func RegisterInsertOneArticle(party router.Party, path string, method func(*models.Usertab, *model.Article) error) {
RegisterOneArticle(party, "POST", path, method)
}
/******************************************************************************
*
* @Function Name : RegisterDeleteOneArticle
*-----------------------------------------------------------------------------
*
* @Description : 为一个删除单条Article的方法注册路由
*
* @Function Parameters : 路由分组
*
* @Function Parameters : 路径
*
* @Function Parameters : 实际处理请求的方法
*
* @Author : 代码生成器创建
*
* @Date : 2021-03-18 22:49:12
*
******************************************************************************/
func RegisterDeleteOneArticle(party router.Party, path string, method func(*models.Usertab, string) error) {
RegisterIDOfArticle(party, "DELETE", path+"/{artId:string}", method)
}
/******************************************************************************
*
* @Function Name : RegisterSelectOneArticle
*-----------------------------------------------------------------------------
*
* @Description : 为一个查找单条Article的方法注册路由
*
* @Function Parameters : 路由分组
*
* @Function Parameters : 路径
*
* @Function Parameters : 实际处理请求的方法
*
* @Author : 代码生成器创建
*
* @Date : 2021-03-18 22:49:12
*
******************************************************************************/
func RegisterSelectOneArticle(party router.Party, path string, method func(*models.Usertab, string) (*model.Article, error)) {
party.Get(path+"/{artId:string}", func(ctx iris.Context) {
user, ok := jwts.ParseToken(ctx)
if !ok {
supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
return
}
artId := ctx.Params().GetString("artId")
result, err := method(user, artId)
if err != nil {
supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil)
return
}
if result == nil {
supports.Error(ctx, iris.StatusNotFound, supports.NotFound, nil)
return
}
supports.Ok(ctx, supports.OptionSuccess, result)
})
}
/******************************************************************************
*
* @Function Name : RegisterUpdateOneArticle
*-----------------------------------------------------------------------------
*
* @Description : 为一个修改单条Article的方法注册路由
*
* @Function Parameters : 路由分组
*
* @Function Parameters : 路径
*
* @Function Parameters : 实际处理请求的方法
*
* @Author : 代码生成器创建
*
* @Date : 2021-03-18 22:49:12
*
******************************************************************************/
func RegisterUpdateOneArticle(party router.Party, path string, method func(*models.Usertab, *model.Article) error) {
RegisterOneArticle(party, "PUT", path, method)
}
/******************************************************************************
*
* @Function Name : RegisterMultiArticle
*-----------------------------------------------------------------------------
*
* @Description : 为一个处理多条Article的方法注册路由
*
* @Function Parameters : 路由分组
*
* @Function Parameters : HTTP方法
*
* @Function Parameters : 路径
*
* @Function Parameters : 实际处理请求的方法
*
* @Author : 代码生成器创建
*
* @Date : 2021-03-18 22:49:12
*
******************************************************************************/
func RegisterMultiArticle(party router.Party, httpMethod string, path string, method func(*models.Usertab, *[]model.Article) error) {
party.Handle(httpMethod, path, func(ctx iris.Context) {
user, ok := jwts.ParseToken(ctx)
if !ok {
supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
return
}
entities := make([]model.Article, 0, 10)
err := ctx.ReadJSON(&entities)
if err != nil {
supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil)
return
}
err = method(user, &entities)
if err != nil {
supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil)
return
}
supports.Ok(ctx, supports.OptionSuccess, nil)
})
}
/******************************************************************************
*
* @Function Name : RegisterInsertArticle
*-----------------------------------------------------------------------------
*
* @Description : 为一个插入多条Article的方法注册路由
*
* @Function Parameters : 路由分组
*
* @Function Parameters : 路径
*
* @Function Parameters : 实际处理请求的方法
*
* @Author : 代码生成器创建
*
* @Date : 2021-03-18 22:49:12
*
******************************************************************************/
func RegisterInsertArticle(party router.Party, path string, method func(*models.Usertab, *[]model.Article) error) {
RegisterMultiArticle(party, "POST", path, method)
}
/******************************************************************************
*
* @Function Name : RegisterDeleteArticle
*-----------------------------------------------------------------------------
*
* @Description : 为一个删除多条Article的方法注册路由
*
* @Function Parameters : 路由分组
*
* @Function Parameters : 路径
*
* @Function Parameters : 实际处理请求的方法
*
* @Author : 代码生成器创建
*
* @Date : 2021-03-18 22:49:12
*
******************************************************************************/
func RegisterDeleteArticle(party router.Party, path string, method func(*models.Usertab, *[]model.Article) error) {
RegisterMultiArticle(party, "DELETE", path, method)
}
/******************************************************************************
*
* @Function Name : RegisterSelectArticle
*-----------------------------------------------------------------------------
*
* @Description : 为一个查询Article的方法注册路由
*
* @Function Parameters : 路由分组
*
* @Function Parameters : 路径
*
* @Function Parameters : 实际处理请求的方法
*
* @Author : 代码生成器创建
*
* @Date : 2021-03-18 22:49:12
*
******************************************************************************/
func RegisterSelectArticle(party router.Party, path string, method func(*models.Usertab, map[string]string) (interface{}, error)) {
party.Get(path, func(ctx iris.Context) {
user, ok := jwts.ParseToken(ctx)
if !ok {
supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
return
}
result, err := method(user, ctx.URLParams())
if err != nil {
supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil)
return
}
supports.Ok(ctx, supports.OptionSuccess, result)
})
}
/******************************************************************************
*
* @Function Name : RegisterUpdateArticle
*-----------------------------------------------------------------------------
*
* @Description : 为一个修改多条Article的方法注册路由
*
* @Function Parameters : 路由分组
*
* @Function Parameters : 路径
*
* @Function Parameters : 实际处理请求的方法
*
* @Author : 代码生成器创建
*
* @Date : 2021-03-18 22:49:12
*
******************************************************************************/
func RegisterUpdateArticle(party router.Party, path string, method func(*models.Usertab, *[]model.Article) error) {
RegisterMultiArticle(party, "PUT", path, method)
}
/******************************************************************************
*
* @Function Name : RegisterSelectAllCarModel
*-----------------------------------------------------------------------------
*
* @Description : 为一个查询所有的CarModel的方法注册路由
*
* @Function Parameters : 路由分组
*
* @Function Parameters : 路径
*
* @Function Parameters : 实际处理请求的方法
*
* @Author : zhangxin
*
* @Date : 2021-10-28
*
******************************************************************************/
func RegisterSelectAllCarModel(party router.Party, path string, method func(*models.Usertab) ([]string, error)) {
party.Get(path, func(ctx iris.Context) {
user, ok := jwts.ParseToken(ctx)
if !ok {
supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
return
}
result, err := method(user)
if err != nil {
supports.Error(ctx, iris.StatusBadRequest, err.Error(), nil)
return
}
supports.Ok(ctx, supports.OptionSuccess, result)
})
}