1、初始化项目

This commit is contained in:
2025-05-12 14:49:01 +08:00
commit 20a741ae11
242 changed files with 29323 additions and 0 deletions

126
test/api.go.template Normal file
View 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
View 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
View 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
}