diff --git a/README.md b/README.md
index 94c43209..f63b7e25 100644
--- a/README.md
+++ b/README.md
@@ -231,6 +231,15 @@ npm run dev
+## 💎 主要成员
+
+
+
+
+
+
+
+
## JetBrains 开源证书支持
`go-admin` 项目一直以来都是在 JetBrains 公司旗下的 GoLand 集成开发环境中进行开发,基于 **free JetBrains Open Source license(s)** 正版免费授权,在此表达我的谢意。
@@ -262,12 +271,11 @@ npm run dev
zhuqiyun LLL狐 星星之火 cjj770 Sam 唐*i 晓聪 aLong *渊 海马 魏镇坪 + 111 *哥 我的宇哥哥 *声 *节
-## 🤝友情链接
+## 🤝 链接
[Go开发者成长线路图](http://www.golangroadmap.com/)
## 🔑 License
[MIT](https://github.com/go-admin-team/go-admin/blob/master/LICENSE.md)
-Copyright (c) 2020 wenjianzhang
-
+Copyright (c) 2020 wenjianzhang
\ No newline at end of file
diff --git a/app/admin/apis/process/wf_classify.go b/app/admin/apis/process/wf_classify.go
deleted file mode 100644
index f6f49e64..00000000
--- a/app/admin/apis/process/wf_classify.go
+++ /dev/null
@@ -1,193 +0,0 @@
-package process
-
-import (
- "net/http"
-
- "github.com/gin-gonic/gin"
- "github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth/user"
-
- "go-admin/app/admin/models"
- "go-admin/app/admin/service"
- "go-admin/app/admin/service/dto"
- "go-admin/common/actions"
- "go-admin/common/apis"
-)
-
-type WfProcessClassify struct {
- apis.Api
-}
-
-func (e *WfProcessClassify) GetWfProcessClassifyList(c *gin.Context) {
- log := e.GetLogger(c)
- d := new(dto.WfProcessClassifySearch)
- db, err := e.GetOrm(c)
- if err != nil {
- log.Error(err)
- return
- }
-
- //查询列表
- err = d.Bind(c)
- if err != nil {
- e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
- return
- }
-
- //数据权限检查
- p := actions.GetPermissionFromContext(c)
-
- list := make([]models.WfProcessClassify, 0)
- var count int64
- serviceStudent := service.WfProcessClassify{}
- serviceStudent.Log = log
- serviceStudent.Orm = db
- err = serviceStudent.GetWfProcessClassifyPage(d, p, &list, &count)
- if err != nil {
- log.Errorf("GetWfProcessClassifyPage error, %s", err)
- e.Error(c, http.StatusInternalServerError, err, "查询失败")
- return
- }
-
- e.PageOK(c, list, int(count), d.GetPageIndex(), d.GetPageSize(), "查询成功")
-}
-
-func (e *WfProcessClassify) GetWfProcessClassify(c *gin.Context) {
- log := e.GetLogger(c)
- control := new(dto.WfProcessClassifyById)
- db, err := e.GetOrm(c)
- if err != nil {
- log.Error(err)
- return
- }
-
- //查看详情
- err = control.Bind(c)
- if err != nil {
- e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
- return
- }
- var object models.WfProcessClassify
-
- //数据权限检查
- p := actions.GetPermissionFromContext(c)
-
- serviceWfProcessClassify := service.WfProcessClassify{}
- serviceWfProcessClassify.Log = log
- serviceWfProcessClassify.Orm = db
- err = serviceWfProcessClassify.GetWfProcessClassify(control, p, &object)
- if err != nil {
- log.Errorf("GetWfProcessClassify error, %s", err)
- e.Error(c, http.StatusInternalServerError, err, "查询失败")
- return
- }
-
- e.OK(c, object, "查看成功")
-}
-
-func (e *WfProcessClassify) InsertWfProcessClassify(c *gin.Context) {
- log := e.GetLogger(c)
- control := new(dto.WfProcessClassifyControl)
- db, err := e.GetOrm(c)
- if err != nil {
- log.Error(err)
- return
- }
-
- //新增操作
- err = control.Bind(c)
- if err != nil {
- e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
- return
- }
- object, err := control.Generate()
- if err != nil {
- e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
- return
- }
- // 设置创建人
- object.SetCreateBy(user.GetUserId(c))
-
- serviceWfProcessClassify := service.WfProcessClassify{}
- serviceWfProcessClassify.Orm = db
- serviceWfProcessClassify.Log = log
- err = serviceWfProcessClassify.InsertWfProcessClassify(object)
- if err != nil {
- log.Errorf("InsertWfProcessClassify error, %s", err)
- e.Error(c, http.StatusInternalServerError, err, "创建失败")
- return
- }
-
- e.OK(c, object.GetId(), "创建成功")
-}
-
-func (e *WfProcessClassify) UpdateWfProcessClassify(c *gin.Context) {
- log := e.GetLogger(c)
- control := new(dto.WfProcessClassifyControl)
- db, err := e.GetOrm(c)
- if err != nil {
- log.Error(err)
- return
- }
-
- //更新操作
- err = control.Bind(c)
- if err != nil {
- e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
- return
- }
- object, err := control.Generate()
- if err != nil {
- e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
- return
- }
- object.SetUpdateBy(user.GetUserId(c))
-
- //数据权限检查
- p := actions.GetPermissionFromContext(c)
-
- serviceWfProcessClassify := service.WfProcessClassify{}
- serviceWfProcessClassify.Orm = db
- serviceWfProcessClassify.Log = log
- err = serviceWfProcessClassify.UpdateWfProcessClassify(object, p)
- if err != nil {
- log.Errorf("UpdateWfProcessClassify error, %s", err)
- e.Error(c, http.StatusInternalServerError, err, "更新失败")
- return
- }
- e.OK(c, object.GetId(), "更新成功")
-}
-
-func (e *WfProcessClassify) DeleteWfProcessClassify(c *gin.Context) {
- log := e.GetLogger(c)
- control := new(dto.WfProcessClassifyById)
- db, err := e.GetOrm(c)
- if err != nil {
- log.Error(err)
- return
- }
-
- //删除操作
- err = control.Bind(c)
- if err != nil {
- log.Warnf("Bind error: %s", err)
- e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
- return
- }
-
- // 设置编辑人
- control.SetUpdateBy(user.GetUserId(c))
-
- // 数据权限检查
- p := actions.GetPermissionFromContext(c)
-
- serviceWfProcessClassify := service.WfProcessClassify{}
- serviceWfProcessClassify.Orm = db
- serviceWfProcessClassify.Log = log
- err = serviceWfProcessClassify.RemoveWfProcessClassify(control, p)
- if err != nil {
- log.Errorf("RemoveWfProcessClassify error, %s", err)
- e.Error(c, http.StatusInternalServerError, err, "删除失败")
- return
- }
- e.OK(c, control.GetId(), "删除成功")
-}
diff --git a/app/admin/apis/tools/gen.go b/app/admin/apis/tools/gen.go
index 8048429a..93faddcc 100644
--- a/app/admin/apis/tools/gen.go
+++ b/app/admin/apis/tools/gen.go
@@ -33,6 +33,8 @@ func Preview(c *gin.Context) {
pkg.HasError(err, "", -1)
t6, err := template.ParseFiles("template/v4/dto.go.template")
pkg.HasError(err, "", -1)
+ t7, err := template.ParseFiles("template/v4/no_actions/service.go.template")
+ pkg.HasError(err, "", -1)
db, err := pkg.GetOrm(c)
if err != nil {
@@ -54,6 +56,8 @@ func Preview(c *gin.Context) {
err = t5.Execute(&b5, tab)
var b6 bytes.Buffer
err = t6.Execute(&b6, tab)
+ var b7 bytes.Buffer
+ err = t7.Execute(&b7, tab)
mp := make(map[string]interface{})
mp["template/model.go.template"] = b1.String()
@@ -62,6 +66,7 @@ func Preview(c *gin.Context) {
mp["template/vue.go.template"] = b4.String()
mp["template/router.go.template"] = b5.String()
mp["template/dto.go.template"] = b6.String()
+ mp["template/service.go.template"] = b7.String()
var res app.Response
res.Data = mp
@@ -433,4 +438,4 @@ func GenMenuAndApi(c *gin.Context) {
ADelete.MenuId, err = ADelete.Create(db)
app.OK(c, "", "数据生成成功!")
-}
+}
\ No newline at end of file
diff --git a/app/admin/models/wf_classify.go b/app/admin/models/wf_classify.go
deleted file mode 100644
index b842bc2a..00000000
--- a/app/admin/models/wf_classify.go
+++ /dev/null
@@ -1,27 +0,0 @@
-package models
-
-import (
- // "gorm.io/gorm"
-
- "go-admin/common/models"
-)
-
-type WfProcessClassify struct {
- models.Model
- models.ControlBy
-
- Name string `json:"name" gorm:"type:varchar(255);comment:名称"`
-}
-
-func (WfProcessClassify) TableName() string {
- return "wf_process_classify"
-}
-
-func (e *WfProcessClassify) Generate() models.ActiveRecord {
- o := *e
- return &o
-}
-
-func (e *WfProcessClassify) GetId() interface{} {
- return e.Id
-}
diff --git a/app/admin/router/wf_classify.go b/app/admin/router/wf_classify.go
deleted file mode 100644
index 57f47f6b..00000000
--- a/app/admin/router/wf_classify.go
+++ /dev/null
@@ -1,25 +0,0 @@
-package router
-
-import (
- "github.com/gin-gonic/gin"
- jwt "github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth"
- "go-admin/app/admin/apis/process"
- middleware2 "go-admin/common/middleware"
-)
-
-func init() {
- routerCheckRole = append(routerCheckRole, registerWfProcessClassifyRouter)
-}
-
-// 需认证的路由代码
-func registerWfProcessClassifyRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
- api := &process.WfProcessClassify{}
- r := v1.Group("/process").Use(authMiddleware.MiddlewareFunc()).Use(middleware2.AuthCheckRole())
- {
- r.GET("", api.GetWfProcessClassifyList)
- r.GET("/:id", api.GetWfProcessClassify)
- r.POST("", api.InsertWfProcessClassify)
- r.PUT("/:id", api.UpdateWfProcessClassify)
- r.DELETE("", api.DeleteWfProcessClassify)
- }
-}
diff --git a/app/admin/service/dto/wf_classify.go b/app/admin/service/dto/wf_classify.go
deleted file mode 100644
index 95127ed6..00000000
--- a/app/admin/service/dto/wf_classify.go
+++ /dev/null
@@ -1,91 +0,0 @@
-package dto
-
-import (
- "github.com/gin-gonic/gin"
- "go-admin/common/apis"
-
- "go-admin/app/admin/models"
- "go-admin/common/dto"
- common "go-admin/common/models"
-)
-
-type WfProcessClassifySearch struct {
- dto.Pagination `search:"-"`
- Name string `form:"name" search:"type:contains;column:name;table:wf_process_classify" comment:"名称"`
-}
-
-func (m *WfProcessClassifySearch) GetNeedSearch() interface{} {
- return *m
-}
-
-func (m *WfProcessClassifySearch) Bind(ctx *gin.Context) error {
- log := apis.GetRequestLogger(ctx)
- err := ctx.ShouldBind(m)
- if err != nil {
- log.Debugf("ShouldBind error: %s", err.Error())
- }
- return err
-}
-
-type WfProcessClassifyControl struct {
- Id int `uri:"id" comment:"编码"` // 编码
-
- Name string `json:"name" comment:"名称"`
-}
-
-func (s *WfProcessClassifyControl) Bind(ctx *gin.Context) error {
- log := apis.GetRequestLogger(ctx)
- err := ctx.ShouldBindUri(s)
- if err != nil {
- log.Debugf("ShouldBindUri error: %s", err.Error())
- return err
- }
- err = ctx.ShouldBind(s)
- if err != nil {
- log.Debugf("ShouldBind error: %s", err.Error())
- }
- return err
-}
-
-func (s *WfProcessClassifyControl) Generate() (*models.WfProcessClassify, error) {
- return &models.WfProcessClassify{
-
- Model: common.Model{Id: s.Id},
- Name: s.Name,
- }, nil
-}
-
-func (s *WfProcessClassifyControl) GetId() interface{} {
- return s.Id
-}
-
-type WfProcessClassifyById struct {
- Id int `uri:"id"`
- Ids []int `json:"ids"`
-}
-
-func (s *WfProcessClassifyById) GetId() interface{} {
- if len(s.Ids) > 0 {
- s.Ids = append(s.Ids, s.Id)
- return s.Ids
- }
- return s.Id
-}
-
-func (s *WfProcessClassifyById) Bind(ctx *gin.Context) error {
- log := apis.GetRequestLogger(ctx)
- err := ctx.ShouldBindUri(s)
- if err != nil {
- log.Debugf("ShouldBindUri error: %s", err.Error())
- return err
- }
- err = ctx.ShouldBind(s)
- if err != nil {
- log.Debugf("ShouldBind error: %s", err.Error())
- }
- return err
-}
-
-func (s *WfProcessClassifyById) SetUpdateBy(id int) {
-
-}
diff --git a/app/admin/service/wf_classify.go b/app/admin/service/wf_classify.go
deleted file mode 100644
index 289ac24b..00000000
--- a/app/admin/service/wf_classify.go
+++ /dev/null
@@ -1,115 +0,0 @@
-package service
-
-import (
- "errors"
-
- "gorm.io/gorm"
-
- "go-admin/app/admin/models"
- "go-admin/app/admin/service/dto"
- "go-admin/common/actions"
- cDto "go-admin/common/dto"
- "go-admin/common/service"
-)
-
-type WfProcessClassify struct {
- service.Service
-}
-
-// GetWfProcessClassifyPage 获取WfProcessClassify列表
-func (e *WfProcessClassify) GetWfProcessClassifyPage(c *dto.WfProcessClassifySearch, p *actions.DataPermission, list *[]models.WfProcessClassify, count *int64) error {
- var err error
- var data models.WfProcessClassify
-
- err = e.Orm.Model(&data).
- Scopes(
- cDto.MakeCondition(c.GetNeedSearch()),
- cDto.Paginate(c.GetPageSize(), c.GetPageIndex()),
- actions.Permission(data.TableName(), p),
- ).
- Find(list).Limit(-1).Offset(-1).
- Count(count).Error
- if err != nil {
- e.Log.Errorf("db error:%s", err)
- return err
- }
- return nil
-}
-
-// GetWfProcessClassify 获取WfProcessClassify对象
-func (e *WfProcessClassify) GetWfProcessClassify(d *dto.WfProcessClassifyById, p *actions.DataPermission, model *models.WfProcessClassify) error {
- var err error
- var data models.WfProcessClassify
-
- db := e.Orm.Model(&data).
- Scopes(
- actions.Permission(data.TableName(), p),
- ).
- First(model, d.GetId())
- err = db.Error
- if err != nil && errors.Is(err, gorm.ErrRecordNotFound) {
- err = errors.New("查看对象不存在或无权查看")
- e.Log.Errorf("db error:%s", err)
- return err
- }
- if db.Error != nil {
- e.Log.Errorf("db error:%s", err)
- return err
- }
- return nil
-}
-
-// InsertWfProcessClassify 创建WfProcessClassify对象
-func (e *WfProcessClassify) InsertWfProcessClassify(model *models.WfProcessClassify) error {
- var err error
- var data models.WfProcessClassify
-
- err = e.Orm.Model(&data).
- Create(model).Error
- if err != nil {
- e.Log.Errorf("db error:%s", err)
- return err
- }
- return nil
-}
-
-// UpdateWfProcessClassify 修改WfProcessClassify对象
-func (e *WfProcessClassify) UpdateWfProcessClassify(c *models.WfProcessClassify, p *actions.DataPermission) error {
- var err error
- var data models.WfProcessClassify
-
- db := e.Orm.Model(&data).
- Scopes(
- actions.Permission(data.TableName(), p),
- ).Where(c.GetId()).Updates(c)
- if db.Error != nil {
- e.Log.Errorf("db error:%s", err)
- return err
- }
- if db.RowsAffected == 0 {
- return errors.New("无权更新该数据")
-
- }
- return nil
-}
-
-// RemoveWfProcessClassify 删除WfProcessClassify
-func (e *WfProcessClassify) RemoveWfProcessClassify(d *dto.WfProcessClassifyById, p *actions.DataPermission) error {
- var err error
- var data models.WfProcessClassify
-
- db := e.Orm.Model(&data).
- Scopes(
- actions.Permission(data.TableName(), p),
- ).Delete(&data, d.GetId())
- if db.Error != nil {
- err = db.Error
- e.Log.Errorf("Delete error: %s", err)
- return err
- }
- if db.RowsAffected == 0 {
- err = errors.New("无权删除该数据")
- return err
- }
- return nil
-}
diff --git a/cmd/migrate/migration/version/1615447091566_migrate.go b/cmd/migrate/migration/version/1615447091566_migrate.go
new file mode 100644
index 00000000..961a8510
--- /dev/null
+++ b/cmd/migrate/migration/version/1615447091566_migrate.go
@@ -0,0 +1,34 @@
+package version
+
+import (
+ "gorm.io/gorm"
+ "runtime"
+
+ "go-admin/cmd/migrate/migration"
+ common "go-admin/common/models"
+)
+
+func init() {
+ _, fileName, _, _ := runtime.Caller(0)
+ migration.Migrate.SetVersion(migration.GetFilename(fileName), _1615447091566Test)
+}
+
+func _1615447091566Test(db *gorm.DB, version string) error {
+ return db.Transaction(func(tx *gorm.DB) error {
+
+ // TODO: 这里开始写入要变更的内容
+
+ // TODO: 例如 修改表字段 使用过程中请删除此段代码
+ sql1 := "INSERT INTO `sys_menu`(`menu_id`, `menu_name`, `title`, `icon`, `path`, `paths`, `menu_type`, `action`, `permission`, `parent_id`, `no_cache`, `breadcrumb`, `component`, `sort`, `visible`, `create_by`, `update_by`, `is_frame`, `created_at`, `updated_at`, `deleted_at`) VALUES (522, 'SysContentCreate', '新增', 'form', 'syscontent/create', '/0/498/522', 'C', '', 'syscontent:syscontent:add', 498, 0, '', '/syscontent/create.vue', 0, '1', '1', '1', '1', '2020-11-08 17:00:35.259', '2020-11-12 22:55:50.739', NULL);"
+
+ err := tx.Exec(sql1).Error
+ if err != nil {
+ return err
+ }
+
+
+ return tx.Create(&common.Migration{
+ Version: version,
+ }).Error
+ })
+}
\ No newline at end of file
diff --git a/go.mod b/go.mod
index 486c0937..a3cf335e 100644
--- a/go.mod
+++ b/go.mod
@@ -24,6 +24,7 @@ require (
github.com/unrolled/secure v1.0.8
golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83
golang.org/x/lint v0.0.0-20200302205851-738671d3881b // indirect
+ golang.org/x/tools v0.0.0-20210115202250-e0d201561e39 // indirect
gorm.io/driver/mysql v1.0.4-0.20201206014609-ae5fd10184f6
gorm.io/driver/postgres v1.0.6-0.20201208020313-1ed927cfab53
gorm.io/driver/sqlite v1.1.5-0.20201206014648-c84401fbe3ba
diff --git a/template/v3/actions/router_check_role.go.template b/template/v3/actions/router_check_role.go.template
deleted file mode 100644
index ff76ee21..00000000
--- a/template/v3/actions/router_check_role.go.template
+++ /dev/null
@@ -1,31 +0,0 @@
-package router
-
-import (
- "github.com/gin-gonic/gin"
-
- "go-admin/app/admin/middleware"
- "go-admin/app/admin/models"
- "go-admin/app/admin/service/dto"
- "go-admin/common/actions"
- jwt "github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth"
-)
-
-func init() {
- routerCheckRole = append(routerCheckRole, register{{.ClassName}}Router)
-}
-
-// 需认证的路由代码
-func register{{.ClassName}}Router(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
- r := v1.Group("/{{.ModuleName}}").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
- {
- model := &models.{{.ClassName}}{}
- r.GET("", actions.PermissionAction(), actions.IndexAction(model, new(dto.{{.ClassName}}Search), func() interface{} {
- list := make([]models.{{.ClassName}}, 0)
- return &list
- }))
- r.GET("/:id", actions.PermissionAction(), actions.ViewAction(new(dto.{{.ClassName}}ById), nil))
- r.POST("", actions.CreateAction(new(dto.{{.ClassName}}Control)))
- r.PUT("/:id", actions.PermissionAction(), actions.UpdateAction(new(dto.{{.ClassName}}Control)))
- r.DELETE("", actions.PermissionAction(), actions.DeleteAction(new(dto.{{.ClassName}}ById)))
- }
-}
diff --git a/template/v3/actions/router_no_check_role.go.template b/template/v3/actions/router_no_check_role.go.template
deleted file mode 100644
index c647266e..00000000
--- a/template/v3/actions/router_no_check_role.go.template
+++ /dev/null
@@ -1,30 +0,0 @@
-package router
-
-import (
- "github.com/gin-gonic/gin"
-
- "go-admin/app/admin/middleware"
- "go-admin/app/admin/models"
- "go-admin/app/admin/service/dto"
- "go-admin/common/actions"
-)
-
-func init() {
- routerNoCheckRole = append(routerNoCheckRole, register{{.ClassName}}Router)
-}
-
-// 无需认证的路由代码
-func register{{.ClassName}}Router(v1 *gin.RouterGroup) {
- r := v1.Group("/{{.ModuleName}}")
- {
- model := &models.{{.ClassName}}{}
- r.GET("", actions.IndexAction(model, new(dto.{{.ClassName}}Search), func() interface{} {
- list := make([]models.{{.ClassName}}, 0)
- return &list
- }))
- r.GET("/:id", actions.ViewAction(new(dto.{{.ClassName}}ById), nil))
- r.POST("", actions.CreateAction(new(dto.{{.ClassName}}Control)))
- r.PUT("/:id", actions.UpdateAction(new(dto.{{.ClassName}}Control)))
- r.DELETE("", actions.DeleteAction(new(dto.{{.ClassName}}ById)))
- }
-}
diff --git a/template/v3/dto.go.template b/template/v3/dto.go.template
deleted file mode 100644
index 563fa95f..00000000
--- a/template/v3/dto.go.template
+++ /dev/null
@@ -1,116 +0,0 @@
-package dto
-
-import (
- "github.com/gin-gonic/gin"
- "gorm.io/gorm"
-
- "go-admin/app/admin/models"
- "go-admin/common/dto"
- log "github.com/go-admin-team/go-admin-core/logger"
- common "go-admin/common/models"
- "go-admin/tools"
-)
-
-type {{.ClassName}}Search struct {
- dto.Pagination `search:"-"`
- {{ $tablename := .TBName -}}
- {{ range .Columns -}}
- {{$z := .IsQuery}}
- {{- if ($z) -}}
- {{.GoField}} {{.GoType}} `form:"{{.JsonField}}" search:"type:{{if eq .QueryType "EQ"}}exact{{ else if eq .QueryType "NE"}}iexact{{ else if eq .QueryType "LIKE"}}contains{{ else if eq .QueryType "GT"}}gt{{ else if eq .QueryType "GTE"}}gte{{ else if eq .QueryType "LT"}}lt{{ else if eq .QueryType "LTE"}}lte{{- end }};column:{{.ColumnName}};table:{{$tablename}}" comment:"{{.ColumnComment}}"`
-
- {{ end -}}
- {{- end }}
-}
-
-func (m *{{.ClassName}}Search) GetNeedSearch() interface{} {
- return *m
-}
-
-func (m *{{.ClassName}}Search) Bind(ctx *gin.Context) error {
- msgID := tools.GenerateMsgIDFromContext(ctx)
- err := ctx.ShouldBind(m)
- if err != nil {
- log.Debugf("MsgID[%s] ShouldBind error: %s", msgID, err.Error())
- }
- return err
-}
-
-func (m *{{.ClassName}}Search) Generate() dto.Index {
- o := *m
- return &o
-}
-
-type {{.ClassName}}Control struct {
- {{ range .Columns -}}
- {{$x := .Pk}}
- {{- if ($x) }}
- {{.GoField}} {{.GoType}} `uri:"{{.JsonField}}" comment:"{{.ColumnComment}}"` // {{.ColumnComment}}
- {{- else if eq .GoField "CreatedAt" -}}
- {{- else if eq .GoField "UpdatedAt" -}}
- {{- else if eq .GoField "DeletedAt" -}}
- {{- else if eq .GoField "CreateBy" -}}
- {{- else if eq .GoField "UpdateBy" -}}
-
- {{- else }}
-
- {{.GoField}} {{.GoType}} `json:"{{.JsonField}}" comment:"{{.ColumnComment}}"`
- {{end -}}
- {{- end }}
-}
-
-func (s *{{.ClassName}}Control) Bind(ctx *gin.Context) error {
- msgID := tools.GenerateMsgIDFromContext(ctx)
- err := ctx.ShouldBindUri(s)
- if err != nil {
- log.Debugf("MsgID[%s] ShouldBindUri error: %s", msgID, err.Error())
- return err
- }
- err = ctx.ShouldBind(s)
- if err != nil {
- log.Debugf("MsgID[%s] ShouldBind error: %#v", msgID, err.Error())
- }
- return err
-}
-
-func (s *{{.ClassName}}Control) Generate() dto.Control {
- cp := *s
- return &cp
-}
-
-func (s *{{.ClassName}}Control) GenerateM() (common.ActiveRecord, error) {
- return &models.{{.ClassName}}{
- {{ range .Columns -}}
- {{$x := .Pk}}
- {{- if ($x) }}
- Model: gorm.Model{ID: s.ID},
- {{- else if eq .GoField "CreatedAt" -}}
- {{- else if eq .GoField "UpdatedAt" -}}
- {{- else if eq .GoField "DeletedAt" -}}
- {{- else if eq .GoField "CreateBy" -}}
-
-
- {{- else if eq .GoField "UpdateBy" -}}
- {{- else }}
- {{.GoField}}: s.{{.GoField}},
- {{- end }}
- {{- end }}
- }, nil
-}
-
-func (s *{{.ClassName}}Control) GetId() interface{} {
- return s.{{.PkGoField}}
-}
-
-type {{.ClassName}}ById struct {
- dto.ObjectById
-}
-
-func (s *{{.ClassName}}ById) Generate() dto.Control {
- cp := *s
- return &cp
-}
-
-func (s *{{.ClassName}}ById) GenerateM() (common.ActiveRecord, error) {
- return &models.{{.ClassName}}{}, nil
-}
diff --git a/template/v3/js.go.template b/template/v3/js.go.template
deleted file mode 100644
index db3d4a27..00000000
--- a/template/v3/js.go.template
+++ /dev/null
@@ -1,47 +0,0 @@
-import request from '@/utils/request'
-
-// 查询{{.ClassName}}列表
-export function list{{.ClassName}}(query) {
- return request({
- url: '/api/v1/{{.ModuleName}}',
- method: 'get',
- params: query
- })
-}
-
-// 查询{{.ClassName}}详细
-export function get{{.ClassName}} ({{.PkJsonField}}) {
- return request({
- url: '/api/v1/{{.ModuleName}}/' + {{.PkJsonField}},
- method: 'get'
- })
-}
-
-
-// 新增{{.ClassName}}
-export function add{{.ClassName}}(data) {
- return request({
- url: '/api/v1/{{.ModuleName}}',
- method: 'post',
- data: data
- })
-}
-
-// 修改{{.ClassName}}
-export function update{{.ClassName}}(data) {
- return request({
- url: '/api/v1/{{.ModuleName}}/'+data.{{.PkJsonField}},
- method: 'put',
- data: data
- })
-}
-
-// 删除{{.ClassName}}
-export function del{{.ClassName}}(data) {
- return request({
- url: '/api/v1/{{.ModuleName}}',
- method: 'delete',
- data: data
- })
-}
-
diff --git a/template/v3/model.go.template b/template/v3/model.go.template
deleted file mode 100644
index 913fb1cb..00000000
--- a/template/v3/model.go.template
+++ /dev/null
@@ -1,37 +0,0 @@
-package models
-
-import (
- "gorm.io/gorm"
-
- "go-admin/common/models"
-)
-
-type {{.ClassName}} struct {
- gorm.Model
- models.ControlBy
- {{ range .Columns -}}
- {{$x := .Pk}}
- {{- if ($x) }}
-
- {{- else if eq .GoField "CreatedAt" -}}
- {{- else if eq .GoField "UpdatedAt" -}}
- {{- else if eq .GoField "DeletedAt" -}}
- {{- else if eq .GoField "CreateBy" -}}
- {{- else if eq .GoField "UpdateBy" -}}
- {{- else }}
- {{.GoField}} {{.GoType}} `json:"{{.JsonField}}" gorm:"type:{{.ColumnType}};comment:{{- if eq .ColumnComment "" -}}{{.GoField}}{{- else -}}{{.ColumnComment}}{{end -}}"` {{end -}}
- {{- end }}
-}
-
-func ({{.ClassName}}) TableName() string {
- return "{{.TBName}}"
-}
-
-func (e *{{.ClassName}}) Generate() models.ActiveRecord {
- o := *e
- return &o
-}
-
-func (e *{{.ClassName}}) GetId() interface{} {
- return e.{{.PkGoField}}
-}
diff --git a/template/v3/no_actions/apis.go.template b/template/v3/no_actions/apis.go.template
deleted file mode 100644
index 99a4b54c..00000000
--- a/template/v3/no_actions/apis.go.template
+++ /dev/null
@@ -1,204 +0,0 @@
-package {{.ModuleName}}
-
-import (
- "github.com/gin-gonic/gin"
- "go-admin/app/admin/service"
- common "go-admin/common/models"
- "net/http"
-
- "go-admin/app/admin/models"
- "go-admin/app/admin/service/dto"
- "go-admin/common/actions"
- "go-admin/common/apis"
- log "github.com/go-admin-team/go-admin-core/logger"
- "go-admin/tools"
-)
-
-type {{.ClassName}} struct {
- apis.Api
-}
-
-func (e *{{.ClassName}}) Get{{.ClassName}}List(c *gin.Context) {
- msgID := tools.GenerateMsgIDFromContext(c)
- d := new(dto.{{.ClassName}}Search)
- db, err := tools.GetOrm(c)
- if err != nil {
- log.Error(err)
- return
- }
-
- req := d.Generate()
-
- //查询列表
- err = req.Bind(c)
- if err != nil {
- e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
- return
- }
-
- //数据权限检查
- p := actions.GetPermissionFromContext(c)
-
- list := make([]models.{{.ClassName}}, 0)
- var count int64
- serviceStudent := service.{{.ClassName}}{}
- serviceStudent.MsgID = msgID
- serviceStudent.Orm = db
- err = serviceStudent.Get{{.ClassName}}Page(req, p, &list, &count)
- if err != nil {
- e.Error(c, http.StatusUnprocessableEntity, err, "查询失败")
- return
- }
-
- e.PageOK(c, list, int(count), req.GetPageIndex(), req.GetPageSize(), "查询成功")
-}
-
-func (e *{{.ClassName}}) Get{{.ClassName}}(c *gin.Context) {
- control := new(dto.{{.ClassName}}ById)
- db, err := tools.GetOrm(c)
- if err != nil {
- log.Error(err)
- return
- }
-
- msgID := tools.GenerateMsgIDFromContext(c)
- //查看详情
- req := control.Generate()
- err = req.Bind(c)
- if err != nil {
- e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
- return
- }
- var object models.{{.ClassName}}
-
- //数据权限检查
- p := actions.GetPermissionFromContext(c)
-
- service{{.ClassName}} := service.{{.ClassName}}{}
- service{{.ClassName}}.MsgID = msgID
- service{{.ClassName}}.Orm = db
- err = service{{.ClassName}}.Get{{.ClassName}}(req, p, &object)
- if err != nil {
- e.Error(c, http.StatusUnprocessableEntity, err, "查询失败")
- return
- }
-
- e.OK(c, object, "查看成功")
-}
-
-func (e *{{.ClassName}}) Insert{{.ClassName}}(c *gin.Context) {
- control := new(dto.{{.ClassName}}Control)
- db, err := tools.GetOrm(c)
- if err != nil {
- log.Error(err)
- return
- }
-
- msgID := tools.GenerateMsgIDFromContext(c)
- //新增操作
- req := control.Generate()
- err = req.Bind(c)
- if err != nil {
- e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
- return
- }
- var object common.ActiveRecord
- object, err = req.GenerateM()
- if err != nil {
- e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
- return
- }
- // 设置创建人
- object.SetCreateBy(tools.GetUserId(c))
-
- service{{.ClassName}} := service.{{.ClassName}}{}
- service{{.ClassName}}.Orm = db
- service{{.ClassName}}.MsgID = msgID
- err = service{{.ClassName}}.Insert{{.ClassName}}(object)
- if err != nil {
- log.Error(err)
- e.Error(c, http.StatusInternalServerError, err, "创建失败")
- return
- }
-
- e.OK(c, object.GetId(), "创建成功")
-}
-
-func (e *{{.ClassName}}) Update{{.ClassName}}(c *gin.Context) {
- control := new(dto.{{.ClassName}}Control)
- db, err := tools.GetOrm(c)
- if err != nil {
- log.Error(err)
- return
- }
-
- msgID := tools.GenerateMsgIDFromContext(c)
- req := control.Generate()
- //更新操作
- err = req.Bind(c)
- if err != nil {
- e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
- return
- }
- var object common.ActiveRecord
- object, err = req.GenerateM()
- if err != nil {
- e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
- return
- }
- object.SetUpdateBy(tools.GetUserId(c))
-
- //数据权限检查
- p := actions.GetPermissionFromContext(c)
-
- service{{.ClassName}} := service.{{.ClassName}}{}
- service{{.ClassName}}.Orm = db
- service{{.ClassName}}.MsgID = msgID
- err = service{{.ClassName}}.Update{{.ClassName}}(object, p)
- if err != nil {
- log.Error(err)
- return
- }
- e.OK(c, object.GetId(), "更新成功")
-}
-
-func (e *{{.ClassName}}) Delete{{.ClassName}}(c *gin.Context) {
- control := new(dto.{{.ClassName}}ById)
- db, err := tools.GetOrm(c)
- if err != nil {
- log.Error(err)
- return
- }
-
- msgID := tools.GenerateMsgIDFromContext(c)
- //删除操作
- req := control.Generate()
- err = req.Bind(c)
- if err != nil {
- log.Errorf("MsgID[%s] Bind error: %s", msgID, err)
- e.Error(c, http.StatusUnprocessableEntity, err, "参数验证失败")
- return
- }
- var object common.ActiveRecord
- object, err = req.GenerateM()
- if err != nil {
- e.Error(c, http.StatusInternalServerError, err, "模型生成失败")
- return
- }
-
- // 设置编辑人
- object.SetUpdateBy(tools.GetUserId(c))
-
- // 数据权限检查
- p := actions.GetPermissionFromContext(c)
-
- service{{.ClassName}} := service.{{.ClassName}}{}
- service{{.ClassName}}.Orm = db
- service{{.ClassName}}.MsgID = msgID
- err = service{{.ClassName}}.Remove{{.ClassName}}(req, object, p)
- if err != nil {
- log.Error(err)
- return
- }
- e.OK(c, object.GetId(), "删除成功")
-}
diff --git a/template/v3/no_actions/router_check_role.go.template b/template/v3/no_actions/router_check_role.go.template
deleted file mode 100644
index 6ac60c61..00000000
--- a/template/v3/no_actions/router_check_role.go.template
+++ /dev/null
@@ -1,25 +0,0 @@
-package router
-
-import (
- "github.com/gin-gonic/gin"
- "go-admin/app/admin/apis/{{.ModuleName}}"
- "go-admin/app/admin/middleware"
- jwt "github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth"
-)
-
-func init() {
- routerCheckRole = append(routerCheckRole, register{{.ClassName}}Router)
-}
-
-// 需认证的路由代码
-func register{{.ClassName}}Router(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
- api := &{{.ModuleName}}.{{.ClassName}}{}
- r := v1.Group("/{{.ModuleName}}").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
- {
- r.GET("", api.Get{{.ClassName}}List)
- r.GET("/:id", api.Get{{.ClassName}})
- r.POST("", api.Insert{{.ClassName}})
- r.PUT("/:id", api.Update{{.ClassName}})
- r.DELETE("", api.Delete{{.ClassName}})
- }
-}
diff --git a/template/v3/no_actions/router_no_check_role.go.template b/template/v3/no_actions/router_no_check_role.go.template
deleted file mode 100644
index 4764e3e6..00000000
--- a/template/v3/no_actions/router_no_check_role.go.template
+++ /dev/null
@@ -1,24 +0,0 @@
-package router
-
-import (
- "github.com/gin-gonic/gin"
- "go-admin/app/admin/apis/{{.ModuleName}}"
- jwt "github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth"
-)
-
-func init() {
- routerCheckRole = append(routerCheckRole, register{{.ClassName}}Router)
-}
-
-// 需认证的路由代码
-func register{{.ClassName}}Router(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
- api := &{{.ModuleName}}.{{.ClassName}}{}
- r := v1.Group("/{{.ModuleName}}").Use(authMiddleware.MiddlewareFunc())
- {
- r.GET("", api.Get{{.ClassName}}List)
- r.GET("/:id", api.Get{{.ClassName}})
- r.POST("", api.Insert{{.ClassName}})
- r.PUT("/:id", api.Update{{.ClassName}})
- r.DELETE("", api.Delete{{.ClassName}})
- }
-}
diff --git a/template/v3/no_actions/service.go.template b/template/v3/no_actions/service.go.template
deleted file mode 100644
index 2efd9052..00000000
--- a/template/v3/no_actions/service.go.template
+++ /dev/null
@@ -1,119 +0,0 @@
-package service
-
-import (
- "errors"
- "go-admin/app/admin/models"
- "go-admin/common/actions"
- cDto "go-admin/common/dto"
- log "github.com/go-admin-team/go-admin-core/logger"
- common "go-admin/common/models"
- "go-admin/common/service"
- "gorm.io/gorm"
-)
-
-type {{.ClassName}} struct {
- service.Service
-}
-
-// Get{{.ClassName}}Page 获取{{.ClassName}}列表
-func (e *{{.ClassName}}) Get{{.ClassName}}Page(c cDto.Index, p *actions.DataPermission, list *[]models.{{.ClassName}}, count *int64) error {
- var err error
- var data models.{{.ClassName}}
- msgID := e.MsgID
-
- err = e.Orm.Model(&data).
- Scopes(
- cDto.MakeCondition(c.GetNeedSearch()),
- cDto.Paginate(c.GetPageSize(), c.GetPageIndex()),
- actions.Permission(data.TableName(), p),
- ).
- Find(list).Limit(-1).Offset(-1).
- Count(count).Error
- if err != nil {
- log.Errorf("msgID[%s] db error:%s", msgID, err)
- return err
- }
- return nil
-}
-
-// Get{{.ClassName}} 获取{{.ClassName}}对象
-func (e *{{.ClassName}}) Get{{.ClassName}}(d cDto.Control, p *actions.DataPermission, model *models.{{.ClassName}}) error {
- var err error
- var data models.{{.ClassName}}
- msgID := e.MsgID
-
- db := e.Orm.Model(&data).
- Scopes(
- actions.Permission(data.TableName(), p),
- ).
- First(model, d.GetId())
- err = db.Error
- if err != nil && errors.Is(err, gorm.ErrRecordNotFound) {
- err = errors.New("查看对象不存在或无权查看")
- log.Errorf("msgID[%s] db error:%s", msgID, err)
- return err
- }
- if db.Error != nil {
- log.Errorf("msgID[%s] db error:%s", msgID, err)
- return err
- }
- return nil
-}
-
-// Insert{{.ClassName}} 创建{{.ClassName}}对象
-func (e *{{.ClassName}}) Insert{{.ClassName}}(model common.ActiveRecord) error {
- var err error
- var data models.{{.ClassName}}
- msgID := e.MsgID
-
- err = e.Orm.Model(&data).
- Create(model).Error
- if err != nil {
- log.Errorf("msgID[%s] db error:%s", msgID, err)
- return err
- }
- return nil
-}
-
-// Update{{.ClassName}} 修改{{.ClassName}}对象
-func (e *{{.ClassName}}) Update{{.ClassName}}(c common.ActiveRecord, p *actions.DataPermission) error {
- var err error
- var data models.{{.ClassName}}
- msgID := e.MsgID
-
- db := e.Orm.Model(&data).
- Scopes(
- actions.Permission(data.TableName(), p),
- ).Where(c.GetId()).Updates(c)
- if db.Error != nil {
- log.Errorf("msgID[%s] db error:%s", msgID, err)
- return err
- }
- if db.RowsAffected == 0 {
- return errors.New("无权更新该数据")
-
- }
- return nil
-}
-
-// Remove{{.ClassName}} 删除{{.ClassName}}
-func (e *{{.ClassName}}) Remove{{.ClassName}}(d cDto.Control, c common.ActiveRecord, p *actions.DataPermission) error {
- var err error
- var data models.{{.ClassName}}
- msgID := e.MsgID
-
- db := e.Orm.Model(&data).
- Scopes(
- actions.Permission(data.TableName(), p),
- ).Where(d.GetId()).Delete(c)
- if db.Error != nil {
- err = db.Error
- log.Errorf("MsgID[%s] Delete error: %s", msgID, err)
- return err
- }
- if db.RowsAffected == 0 {
- err = errors.New("无权删除该数据")
- return err
- }
- return nil
-}
diff --git a/template/v3/vue.go.template b/template/v3/vue.go.template
deleted file mode 100644
index b479b09a..00000000
--- a/template/v3/vue.go.template
+++ /dev/null
@@ -1,470 +0,0 @@
-{{$tableComment:=.TableComment}}
-
-
-
-
-
- {{range .Columns}}
- {{- $x := .IsQuery -}}
- {{- if ($x) -}}
-
- {{- if ne .FkTableName "" -}}
-
-
-
- {{- else -}}
- {{if eq .DictType "" -}}
-
- {{- else -}}
-
-
-
- {{- end}}
- {{- end}}
-
- {{end}}
- {{- end }}
-
- 搜索
- 重置
-
-
-
-
-
- 新增
-
-
-
- 修改
-
-
-
- 删除
-
-
-
-
-
-
- {{- range .Columns -}}
- {{- $x := .IsList -}}
- {{- if (eq $x "1") }}
- {{- if ne .FkTableName "" -}}
-
-
- {{ "{{" }} {{.JsonField}}Format(scope.row) {{"}}"}}
-
-
-
- {{- else -}}
- {{- if ne .DictType "" -}}
-
-
- {{ "{{" }} {{.JsonField}}Format(scope.row) {{"}}"}}
-
-
-
- {{- end -}}
- {{- if eq .DictType "" -}}
-
-
- {{- end -}}
- {{- end -}}
- {{- end }}
- {{- end }}
-
-
- 修改
-
- 删除
-
-
-
-
-
-
-
-
-
-
- {{ range .Columns }}
- {{- $x := .IsInsert -}}
- {{- if (eq $x "1") -}}
- {{- if (.Pk) }}
- {{- else if eq .GoField "CreatedAt" -}}
- {{- else if eq .GoField "UpdatedAt" -}}
- {{- else if eq .GoField "DeletedAt" -}}
- {{- else if eq .GoField "UpdateBy" -}}
- {{- else if eq .GoField "CreateBy" -}}
- {{- else }}
-
- {{ if eq "input" .HtmlType -}}
-
- {{- else if eq "select" .HtmlType -}}
- {{- if ne .FkTableName "" -}}
-
-
-
- {{- else -}}
-
-
-
- {{- end -}}
- {{- else if eq "radio" .HtmlType -}}
-
- {{"{{"}} dict.dictLabel {{"}}"}}
-
- {{- else if eq "file" .HtmlType -}}
-
- 选择文件
- {{- else if eq "datetime" .HtmlType -}}
-
-
- {{- else if eq "textarea" .HtmlType -}}
-
-
- {{- end }}
-
- {{- end }}
- {{- end }}
- {{- end }}
-
-
-
-
-
-
-
-
-
-
diff --git a/template/v4/dto.go.template b/template/v4/dto.go.template
index 8f51bd39..aff1deb5 100644
--- a/template/v4/dto.go.template
+++ b/template/v4/dto.go.template
@@ -2,12 +2,11 @@ package dto
import (
"github.com/gin-gonic/gin"
- //"gorm.io/gorm"
"go-admin/app/{{.PackageName}}/models"
+ common "go-admin/common/models"
"go-admin/common/dto"
- "go-admin/tools"
- "github.com/go-admin-team/go-admin-core/sdk/pkg/logger"
+ "go-admin/common/apis"
)
type {{.ClassName}}Search struct {
@@ -17,7 +16,6 @@ type {{.ClassName}}Search struct {
{{$z := .IsQuery}}
{{- if ($z) -}}
{{.GoField}} {{.GoType}} `form:"{{.JsonField}}" search:"type:{{if eq .QueryType "EQ"}}exact{{ else if eq .QueryType "NE"}}iexact{{ else if eq .QueryType "LIKE"}}contains{{ else if eq .QueryType "GT"}}gt{{ else if eq .QueryType "GTE"}}gte{{ else if eq .QueryType "LT"}}lt{{ else if eq .QueryType "LTE"}}lte{{- end }};column:{{.ColumnName}};table:{{$tablename}}" comment:"{{.ColumnComment}}"`
-
{{ end -}}
{{- end }}
}
@@ -27,7 +25,7 @@ func (m *{{.ClassName}}Search) GetNeedSearch() interface{} {
}
func (m *{{.ClassName}}Search) Bind(ctx *gin.Context) error {
- log := logger.GetRequestLogger(ctx)
+ log := apis.GetRequestLogger(ctx)
err := ctx.ShouldBind(m)
if err != nil {
log.Debugf("ShouldBind error: %s", err.Error())
@@ -45,16 +43,14 @@ type {{.ClassName}}Control struct {
{{- else if eq .GoField "DeletedAt" -}}
{{- else if eq .GoField "CreateBy" -}}
{{- else if eq .GoField "UpdateBy" -}}
-
{{- else }}
-
{{.GoField}} {{.GoType}} `json:"{{.JsonField}}" comment:"{{.ColumnComment}}"`
{{end -}}
{{- end }}
}
func (s *{{.ClassName}}Control) Bind(ctx *gin.Context) error {
- log := logger.GetRequestLogger(ctx)
+ log := apis.GetRequestLogger(ctx)
err := ctx.ShouldBindUri(s)
if err != nil {
log.Debugf("ShouldBindUri error: %s", err.Error())
@@ -77,8 +73,6 @@ func (s *{{.ClassName}}Control) Generate() (*models.{{.ClassName}}, error) {
{{- else if eq .GoField "UpdatedAt" -}}
{{- else if eq .GoField "DeletedAt" -}}
{{- else if eq .GoField "CreateBy" -}}
-
-
{{- else if eq .GoField "UpdateBy" -}}
{{- else }}
{{.GoField}}: s.{{.GoField}},
@@ -105,7 +99,7 @@ func (s *{{.ClassName}}ById) GetId() interface{} {
}
func (s *{{.ClassName}}ById) Bind(ctx *gin.Context) error {
- log := logger.GetRequestLogger(ctx)
+ log := apis.GetRequestLogger(ctx)
err := ctx.ShouldBindUri(s)
if err != nil {
log.Debugf("ShouldBindUri error: %s", err.Error())
@@ -120,4 +114,4 @@ func (s *{{.ClassName}}ById) Bind(ctx *gin.Context) error {
func (s *{{.ClassName}}ById) SetUpdateBy(id int) {
-}
+}
\ No newline at end of file
diff --git a/template/v4/model.go.template b/template/v4/model.go.template
index 63ab38f1..1862b033 100644
--- a/template/v4/model.go.template
+++ b/template/v4/model.go.template
@@ -8,11 +8,9 @@ import (
type {{.ClassName}} struct {
models.Model
- models.ControlBy
{{ range .Columns -}}
{{$x := .Pk}}
{{- if ($x) }}
-
{{- else if eq .GoField "CreatedAt" -}}
{{- else if eq .GoField "UpdatedAt" -}}
{{- else if eq .GoField "DeletedAt" -}}
@@ -21,6 +19,8 @@ type {{.ClassName}} struct {
{{- else }}
{{.GoField}} {{.GoType}} `json:"{{.JsonField}}" gorm:"type:{{.ColumnType}};comment:{{- if eq .ColumnComment "" -}}{{.GoField}}{{- else -}}{{.ColumnComment}}{{end -}}"` {{end -}}
{{- end }}
+ models.ModelTime
+ models.ControlBy
}
func ({{.ClassName}}) TableName() string {
diff --git a/template/v4/no_actions/apis.go.template b/template/v4/no_actions/apis.go.template
index 131c02b2..e0ff7c26 100644
--- a/template/v4/no_actions/apis.go.template
+++ b/template/v4/no_actions/apis.go.template
@@ -5,7 +5,6 @@ import (
"github.com/gin-gonic/gin"
"github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth/user"
- "github.com/go-admin-team/go-admin-core/sdk/pkg"
"go-admin/app/admin/models"
"go-admin/app/admin/service"
@@ -18,6 +17,22 @@ type {{.ClassName}} struct {
apis.Api
}
+// @Summary 获取{{.TableComment}}列表
+// @Description 获取{{.TableComment}}列表
+// @Tags {{.TableComment}}
+{{ $tablename := .TBName -}}
+{{ range .Columns -}}
+{{$z := .IsQuery}}
+{{- if ($z) -}}
+// @Param {{.JsonField}} query {{.GoType}} false "{{.ColumnComment}}"
+{{ end -}}
+{{- end }}
+// @Param pageSize query int false "页条数"
+// @Param pageIndex query int false "页码"
+// @Success 200 {object} app.Response "{"code": 200, "data": [...]}"
+// @Router /api/v1/{{.ModuleName}} [get]
+// @Security Bearer
+// Get{{.ClassName}}List 获取{{.TableComment}}列表
func (e *{{.ClassName}}) Get{{.ClassName}}List(c *gin.Context) {
log := e.GetLogger(c)
db, err := e.GetOrm(c)
@@ -53,6 +68,15 @@ func (e *{{.ClassName}}) Get{{.ClassName}}List(c *gin.Context) {
e.PageOK(c, list, int(count), d.GetPageIndex(), d.GetPageSize(), "查询成功")
}
+// @Summary 获取{{.TableComment}}
+// @Description 获取{{.TableComment}}
+// @Tags {{.TableComment}}
+// @Param id path string false "id"
+// @Success 200 {string} string "{"code": 200, "data": [...]}"
+// @Success 200 {string} string "{"code": -1, "message": "抱歉未找到相关信息"}"
+// @Router /api/v1/{{.ModuleName}} [get]
+// @Security Bearer
+// Get{{.ClassName}} 获取{{.TableComment}}
func (e *{{.ClassName}}) Get{{.ClassName}}(c *gin.Context) {
log := e.GetLogger(c)
db, err := e.GetOrm(c)
@@ -88,6 +112,16 @@ func (e *{{.ClassName}}) Get{{.ClassName}}(c *gin.Context) {
e.OK(c, object, "查看成功")
}
+// @Summary 创建{{.TableComment}}
+// @Description 创建{{.TableComment}}
+// @Tags {{.TableComment}}
+// @Accept application/json
+// @Product application/json
+// @Param data body dto.{{.ClassName}}Control true "data"
+// @Success 200 {string} string "{"code": 200, "message": "添加成功"}"
+// @Success 200 {string} string "{"code": -1, "message": "添加失败"}"
+// @Router /api/v1/{{.ClassName}} [post]
+// Insert{{.ClassName}} 创建{{.TableComment}}
func (e *{{.ClassName}}) Insert{{.ClassName}}(c *gin.Context) {
log := e.GetLogger(c)
db, err := e.GetOrm(c)
@@ -127,6 +161,16 @@ func (e *{{.ClassName}}) Insert{{.ClassName}}(c *gin.Context) {
e.OK(c, object.GetId(), "创建成功")
}
+// @Summary 修改{{.TableComment}}
+// @Description 修改{{.TableComment}}
+// @Tags {{.TableComment}}
+// @Accept application/json
+// @Product application/json
+// @Param data body dto.{{.ClassName}}Control true "body"
+// @Success 200 {string} string "{"code": 200, "message": "修改成功"}"
+// @Success 200 {string} string "{"code": -1, "message": "修改失败"}"
+// @Router /api/v1/{{.ClassName}} [put]
+// Update{{.ClassName}} 修改{{.TableComment}}
func (e *{{.ClassName}}) Update{{.ClassName}}(c *gin.Context) {
log := e.GetLogger(c)
db, err := e.GetOrm(c)
@@ -167,6 +211,15 @@ func (e *{{.ClassName}}) Update{{.ClassName}}(c *gin.Context) {
e.OK(c, object.GetId(), "更新成功")
}
+// @Summary 删除{{.TableComment}}
+// @Description 删除{{.TableComment}}
+// @Tags {{.TableComment}}
+// @Param id path int false "id"
+// @Param ids body string false "ids"
+// @Success 200 {string} string "{"code": 200, "message": "删除成功"}"
+// @Success 200 {string} string "{"code": -1, "message": "删除失败"}"
+// @Router /api/v1/{{.ClassName}}/{id} [delete]
+// Delete{{.ClassName}} 删除{{.TableComment}}
func (e *{{.ClassName}}) Delete{{.ClassName}}(c *gin.Context) {
log := e.GetLogger(c)
db, err := e.GetOrm(c)
@@ -201,4 +254,4 @@ func (e *{{.ClassName}}) Delete{{.ClassName}}(c *gin.Context) {
return
}
e.OK(c, control.GetId(), "删除成功")
-}
+}
\ No newline at end of file
diff --git a/template/v4/no_actions/router_check_role.go.template b/template/v4/no_actions/router_check_role.go.template
index 6ac60c61..1ffd2663 100644
--- a/template/v4/no_actions/router_check_role.go.template
+++ b/template/v4/no_actions/router_check_role.go.template
@@ -2,9 +2,10 @@ package router
import (
"github.com/gin-gonic/gin"
- "go-admin/app/admin/apis/{{.ModuleName}}"
- "go-admin/app/admin/middleware"
jwt "github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth"
+
+ "go-admin/app/admin/apis/{{.ModuleName}}"
+ "go-admin/common/middleware"
)
func init() {
@@ -22,4 +23,4 @@ func register{{.ClassName}}Router(v1 *gin.RouterGroup, authMiddleware *jwt.GinJW
r.PUT("/:id", api.Update{{.ClassName}})
r.DELETE("", api.Delete{{.ClassName}})
}
-}
+}
\ No newline at end of file
diff --git a/template/v4/no_actions/router_no_check_role.go.template b/template/v4/no_actions/router_no_check_role.go.template
index 4764e3e6..20e02ec4 100644
--- a/template/v4/no_actions/router_no_check_role.go.template
+++ b/template/v4/no_actions/router_no_check_role.go.template
@@ -2,8 +2,9 @@ package router
import (
"github.com/gin-gonic/gin"
- "go-admin/app/admin/apis/{{.ModuleName}}"
jwt "github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth"
+
+ "go-admin/app/admin/apis/{{.ModuleName}}"
)
func init() {
@@ -15,10 +16,10 @@ func register{{.ClassName}}Router(v1 *gin.RouterGroup, authMiddleware *jwt.GinJW
api := &{{.ModuleName}}.{{.ClassName}}{}
r := v1.Group("/{{.ModuleName}}").Use(authMiddleware.MiddlewareFunc())
{
- r.GET("", api.Get{{.ClassName}}List)
+ r.GET("", api.Get{{.ClassName}})
r.GET("/:id", api.Get{{.ClassName}})
r.POST("", api.Insert{{.ClassName}})
r.PUT("/:id", api.Update{{.ClassName}})
r.DELETE("", api.Delete{{.ClassName}})
}
-}
+}
\ No newline at end of file