1、初始化项目
This commit is contained in:
126
test/api.go.template
Normal file
126
test/api.go.template
Normal file
@ -0,0 +1,126 @@
|
||||
package apis
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
"github.com/gin-gonic/gin/binding"
|
||||
"go-admin/models"
|
||||
"github.com/go-admin-team/go-admin-core/sdk/pkg"
|
||||
"go-admin/utils"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
// @Summary 配置列表数据
|
||||
// @Description 获取JSON
|
||||
// @Tags 配置
|
||||
// @Param configKey query string false "configKey"
|
||||
// @Param configName query string false "configName"
|
||||
// @Param configType query string false "configType"
|
||||
// @Param pageSize query int false "页条数"
|
||||
// @Param pageIndex query int false "页码"
|
||||
// @Success 200 {object} app.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /api/v1/configList [get]
|
||||
// @Security Bearer
|
||||
func Get{{.ClassName}}List(c *gin.Context) {
|
||||
var data models.{{.ClassName}}
|
||||
var err error
|
||||
var pageSize = 10
|
||||
var pageIndex = 1
|
||||
|
||||
if size := c.Request.FormValue("pageSize"); size != "" {
|
||||
pageSize = pkg.StrToInt(err, size)
|
||||
}
|
||||
|
||||
if index := c.Request.FormValue("pageIndex"); index != "" {
|
||||
pageIndex = pkg.StrToInt(err, index)
|
||||
}
|
||||
|
||||
{{ range .Columns -}}
|
||||
{{$z := .IsQuery}}
|
||||
{{- if ($z) -}}
|
||||
data.{{.GoField}} = c.Request.FormValue("{{.JsonField}}")
|
||||
{{ end }}
|
||||
{{- end -}}
|
||||
|
||||
data.DataScope = utils.GetUserIdStr(c)
|
||||
result, count, err := data.GetPage(pageSize, pageIndex)
|
||||
pkg.HasError(err, "", -1)
|
||||
|
||||
var mp = make(map[string]interface{}, 3)
|
||||
mp["list"] = result
|
||||
mp["count"] = count
|
||||
mp["pageIndex"] = pageIndex
|
||||
mp["pageIndex"] = pageSize
|
||||
|
||||
var res app.Response
|
||||
res.Data = mp
|
||||
|
||||
c.JSON(http.StatusOK, res.ReturnOK())
|
||||
}
|
||||
|
||||
// @Summary 获取配置
|
||||
// @Description 获取JSON
|
||||
// @Tags 配置
|
||||
// @Param configId path int true "配置编码"
|
||||
// @Success 200 {object} app.Response "{"code": 200, "data": [...]}"
|
||||
// @Router /api/v1/config/{configId} [get]
|
||||
// @Security Bearer
|
||||
func Get{{.ClassName}}(c *gin.Context) {
|
||||
var data models.{{.ClassName}}
|
||||
data.{{.PkGoField}}, _ = utils.StringToInt(c.Param("{{.PkJsonField}}"))
|
||||
result, err := data.Get()
|
||||
pkg.HasError(err, "抱歉未找到相关信息", -1)
|
||||
|
||||
var res app.Response
|
||||
res.Data = result
|
||||
|
||||
c.JSON(http.StatusOK, res.ReturnOK())
|
||||
}
|
||||
|
||||
// @Summary 添加配置
|
||||
// @Description 获取JSON
|
||||
// @Tags 配置
|
||||
// @Accept application/json
|
||||
// @Product application/json
|
||||
// @Param data body models.{{.ClassName}} true "data"
|
||||
// @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
|
||||
// @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
|
||||
// @Router /api/v1/dict/data [post]
|
||||
// @Security Bearer
|
||||
func Insert{{.ClassName}}(c *gin.Context) {
|
||||
var data models.{{.ClassName}}
|
||||
err := c.BindWith(&data, binding.JSON)
|
||||
data.CreateBy = utils.GetUserIdStr(c)
|
||||
pkg.HasError(err, "", 500)
|
||||
result, err := data.Create()
|
||||
pkg.HasError(err, "", -1)
|
||||
|
||||
var res app.Response
|
||||
res.Data = result
|
||||
c.JSON(http.StatusOK, res.ReturnOK())
|
||||
|
||||
}
|
||||
|
||||
func Update{{.ClassName}}(c *gin.Context) {
|
||||
var data models.{{.ClassName}}
|
||||
err := c.BindWith(&data, binding.JSON)
|
||||
pkg.HasError(err, "数据解析失败", -1)
|
||||
data.UpdateBy = utils.GetUserIdStr(c)
|
||||
result, err := data.Update(data.{{.PkGoField}})
|
||||
pkg.HasError(err, "", -1)
|
||||
|
||||
var res app.Response
|
||||
res.Data = result
|
||||
c.JSON(http.StatusOK, res.ReturnOK())
|
||||
}
|
||||
|
||||
func Delete{{.ClassName}}(c *gin.Context) {
|
||||
var data models.{{.ClassName}}
|
||||
id, err := utils.StringToInt(c.Param("{{.PkJsonField}}"))
|
||||
data.UpdateBy = utils.GetUserIdStr(c)
|
||||
_, err = data.Delete(id)
|
||||
pkg.HasError(err, "修改失败", 500)
|
||||
|
||||
var res app.Response
|
||||
res.Msg = "删除成功"
|
||||
c.JSON(http.StatusOK, res.ReturnOK())
|
||||
}
|
||||
47
test/gen_test.go
Normal file
47
test/gen_test.go
Normal file
@ -0,0 +1,47 @@
|
||||
package test
|
||||
|
||||
import (
|
||||
//"go-admin/models/tools"
|
||||
//"os"
|
||||
"testing"
|
||||
//"text/template"
|
||||
)
|
||||
|
||||
func TestGoModelTemplate(t *testing.T) {
|
||||
//t1, err := template.ParseFiles("model.go.template")
|
||||
//if err != nil {
|
||||
// t.Error(err)
|
||||
//}
|
||||
//table := tools.SysTables{}
|
||||
//table.TBName = "sys_tables"
|
||||
//tab, err := table.Get()
|
||||
//if err != nil {
|
||||
// t.Error(err)
|
||||
//}
|
||||
//file, err := os.Create("models/" + table.PackageName + ".go")
|
||||
//if err != nil {
|
||||
// t.Error(err)
|
||||
//}
|
||||
//defer file.Close()
|
||||
//
|
||||
//_ = t1.Execute(file, tab)
|
||||
t.Log("")
|
||||
}
|
||||
|
||||
func TestGoApiTemplate(t *testing.T) {
|
||||
//t1, err := template.ParseFiles("api.go.template")
|
||||
//if err != nil {
|
||||
// t.Error(err)
|
||||
//}
|
||||
//table := tools.SysTables{}
|
||||
//table.TBName = "sys_tables"
|
||||
//tab, _ := table.Get()
|
||||
//file, err := os.Create("apis/" + table.PackageName + ".go")
|
||||
//if err != nil {
|
||||
// t.Error(err)
|
||||
//}
|
||||
//defer file.Close()
|
||||
//
|
||||
//_ = t1.Execute(file, tab)
|
||||
t.Log("")
|
||||
}
|
||||
103
test/model.go.template
Normal file
103
test/model.go.template
Normal file
@ -0,0 +1,103 @@
|
||||
package models
|
||||
|
||||
import (
|
||||
orm "go-admin/global"
|
||||
"go-admin/utils"
|
||||
"time"
|
||||
)
|
||||
|
||||
type {{.ClassName}} struct {
|
||||
|
||||
{{ range .Columns -}}
|
||||
{{$x := .Pk}}
|
||||
// {{.ColumnComment}}
|
||||
{{if ($x)}}{{.GoField}} {{.GoType}} `json:"{{.JsonField}}" gorm:"column:{{.ColumnName}};primary_key"`{{else}}{{.GoField}} {{.GoType}} `json:"{{.JsonField}}" gorm:"column:{{.ColumnName}};"`{{end}}
|
||||
{{ end -}}
|
||||
}
|
||||
|
||||
// 创建{{.ClassName}}
|
||||
func (e *{{.ClassName}}) Create() ({{.ClassName}}, error) {
|
||||
var doc {{.ClassName}}
|
||||
doc.IsDel = "0"
|
||||
e.CreateTime = time.Now().String()
|
||||
result := orm.Eloquent.Table("{{.TableName}}").Create(&e)
|
||||
if result.Error != nil {
|
||||
err := result.Error
|
||||
return doc, err
|
||||
}
|
||||
doc = *e
|
||||
return doc, nil
|
||||
}
|
||||
|
||||
// 获取{{.ClassName}}
|
||||
func (e *{{.ClassName}}) Get() ({{.ClassName}}, error) {
|
||||
var doc {{.ClassName}}
|
||||
|
||||
table := orm.Eloquent.Table("{{.TableName}}")
|
||||
{{ range .Columns -}}
|
||||
{{$z := .IsQuery}}
|
||||
{{- if ($z) -}}if e.{{.GoField}} != "" {
|
||||
table = table.Where("{{.ColumnName}} = ?", e.{{.GoField}})
|
||||
}
|
||||
{{ end }}
|
||||
{{- end -}}
|
||||
|
||||
if err := table.First(&doc).Error; err != nil {
|
||||
return doc, err
|
||||
}
|
||||
return doc, nil
|
||||
}
|
||||
|
||||
// 获取{{.ClassName}}带分页
|
||||
func (e *{{.ClassName}}) GetPage(pageSize int, pageIndex int) ([]{{.ClassName}}, int32, error) {
|
||||
var doc []{{.ClassName}}
|
||||
|
||||
table := orm.Eloquent.Table("{{.TableName}}")
|
||||
{{ range .Columns -}}
|
||||
{{$z := .IsQuery}}
|
||||
{{- if ($z) -}}if e.{{.GoField}} != "" {
|
||||
table = table.Where("{{.ColumnName}} = ?", e.{{.GoField}})
|
||||
}
|
||||
{{ end }}
|
||||
{{- end -}}
|
||||
|
||||
// 数据权限控制
|
||||
dataPermission := new(DataPermission)
|
||||
dataPermission.UserId, _ = utils.StringToInt(e.DataScope)
|
||||
table,err := dataPermission.GetDataScope("{{.TableName}}", table)
|
||||
if err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
var count int32
|
||||
table = table.Offset((pageIndex - 1) * pageSize).Limit(pageSize)
|
||||
if err := table.Find(&doc).Offset(-1).Limit(-1).Count(&count).Error; err != nil {
|
||||
return nil, 0, err
|
||||
}
|
||||
return doc, count, nil
|
||||
}
|
||||
|
||||
// 更新{{.ClassName}}
|
||||
func (e *{{.ClassName}}) Update(id int) (update {{.ClassName}}, err error) {
|
||||
if err = orm.Eloquent.Table("{{.TableName}}").Where("{{.PkColumn}} = ?", id).First(&update).Error; err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
//参数1:是要修改的数据
|
||||
//参数2:是修改的数据
|
||||
if err = orm.Eloquent.Table("{{.TableName}}").Model(&update).Updates(&e).Error; err != nil {
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// 删除{{.ClassName}}
|
||||
func (e *{{.ClassName}}) Delete(id int) (success bool, err error) {
|
||||
|
||||
if err = orm.Eloquent.Table("{{.TableName}}").Where("{{.PkColumn}} = ?", id).Delete(&{{.ClassName}}{}).Error; err != nil {
|
||||
success = false
|
||||
return
|
||||
}
|
||||
success = true
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user