refactor🎨: 代码生成模版升级

This commit is contained in:
zhangwenjian
2021-06-30 22:35:49 +08:00
parent 16923017b2
commit d82129d364
7 changed files with 73 additions and 54 deletions
+18 -6
View File
@@ -1,13 +1,23 @@
package dto package dto
import ( import (
"errors"
"github.com/gin-gonic/gin"
"github.com/go-admin-team/go-admin-core/sdk/api"
"go-admin/app/{{.PackageName}}/models" "go-admin/app/{{.PackageName}}/models"
"go-admin/common/dto" "go-admin/common/dto"
common "go-admin/common/models" common "go-admin/common/models"
{{- $bb := false -}}
{{- range .Columns -}}
{{$z := .IsQuery}}
{{- if ($z) }}
{{if eq .GoType "time.Time"}}{{- $bb = true -}}{{- end -}}
{{- end -}}
{{- end -}}
{{- range .Columns -}}
{{if eq .GoType "time.Time"}}{{- $bb = true -}}{{- end -}}
{{- end -}}
{{- if eq $bb true -}}
"time"
{{- end }}
) )
type {{.ClassName}}Search struct { type {{.ClassName}}Search struct {
@@ -26,7 +36,7 @@ type {{.ClassName}}Order struct {
{{- $tablename := .TBName -}} {{- $tablename := .TBName -}}
{{- range .Columns -}} {{- range .Columns -}}
{{.GoField}} {{.GoType}} `form:"{{.JsonField}}Order" search:"type:order;column:{{.ColumnName}};table:{{$tablename}}"` {{.GoField}} {{.GoType}} `form:"{{.JsonField}}Order" search:"type:order;column:{{.ColumnName}};table:{{$tablename}}"`
{{- end }} {{ end }}
} }
func (m *{{.ClassName}}Search) GetNeedSearch() interface{} { func (m *{{.ClassName}}Search) GetNeedSearch() interface{} {
@@ -47,9 +57,10 @@ type {{.ClassName}}Control struct {
{{.GoField}} {{.GoType}} `json:"{{.JsonField}}" comment:"{{.ColumnComment}}"` {{.GoField}} {{.GoType}} `json:"{{.JsonField}}" comment:"{{.ColumnComment}}"`
{{- end -}} {{- end -}}
{{- end }} {{- end }}
common.ControlBy
} }
func (s *{{.ClassName}}Control) Generate(model *models.SysConfig) { func (s *{{.ClassName}}Control) Generate(model *models.{{.ClassName}}) {
{{- range .Columns -}} {{- range .Columns -}}
{{$x := .Pk}} {{$x := .Pk}}
{{- if ($x) }} {{- if ($x) }}
@@ -74,6 +85,7 @@ func (s *{{.ClassName}}Control) GetId() interface{} {
type {{.ClassName}}ById struct { type {{.ClassName}}ById struct {
Id int `uri:"id"` Id int `uri:"id"`
Ids []int `json:"ids"` Ids []int `json:"ids"`
common.ControlBy
} }
func (s *{{.ClassName}}ById) GetId() interface{} { func (s *{{.ClassName}}ById) GetId() interface{} {
+5 -5
View File
@@ -3,7 +3,7 @@ import request from '@/utils/request'
// 查询{{.ClassName}}列表 // 查询{{.ClassName}}列表
export function list{{.ClassName}}(query) { export function list{{.ClassName}}(query) {
return request({ return request({
url: '/api/v1/{{.ModuleName}}', url: '/api/v1/{{.MLTBName}}',
method: 'get', method: 'get',
params: query params: query
}) })
@@ -12,7 +12,7 @@ export function list{{.ClassName}}(query) {
// 查询{{.ClassName}}详细 // 查询{{.ClassName}}详细
export function get{{.ClassName}} ({{.PkJsonField}}) { export function get{{.ClassName}} ({{.PkJsonField}}) {
return request({ return request({
url: '/api/v1/{{.ModuleName}}/' + {{.PkJsonField}}, url: '/api/v1/{{.MLTBName}}/' + {{.PkJsonField}},
method: 'get' method: 'get'
}) })
} }
@@ -21,7 +21,7 @@ export function get{{.ClassName}} ({{.PkJsonField}}) {
// 新增{{.ClassName}} // 新增{{.ClassName}}
export function add{{.ClassName}}(data) { export function add{{.ClassName}}(data) {
return request({ return request({
url: '/api/v1/{{.ModuleName}}', url: '/api/v1/{{.MLTBName}}',
method: 'post', method: 'post',
data: data data: data
}) })
@@ -30,7 +30,7 @@ export function add{{.ClassName}}(data) {
// 修改{{.ClassName}} // 修改{{.ClassName}}
export function update{{.ClassName}}(data) { export function update{{.ClassName}}(data) {
return request({ return request({
url: '/api/v1/{{.ModuleName}}/'+data.{{.PkJsonField}}, url: '/api/v1/{{.MLTBName}}/'+data.{{.PkJsonField}},
method: 'put', method: 'put',
data: data data: data
}) })
@@ -39,7 +39,7 @@ export function update{{.ClassName}}(data) {
// 删除{{.ClassName}} // 删除{{.ClassName}}
export function del{{.ClassName}}(data) { export function del{{.ClassName}}(data) {
return request({ return request({
url: '/api/v1/{{.ModuleName}}', url: '/api/v1/{{.MLTBName}}',
method: 'delete', method: 'delete',
data: data data: data
}) })
+12 -11
View File
@@ -1,9 +1,9 @@
package apis package apis
import ( import (
"github.com/gin-gonic/gin/binding" "fmt"
"net/http"
"github.com/gin-gonic/gin/binding"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/go-admin-team/go-admin-core/sdk/api" "github.com/go-admin-team/go-admin-core/sdk/api"
"github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth/user" "github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth/user"
@@ -12,6 +12,7 @@ import (
"go-admin/app/{{.PackageName}}/models" "go-admin/app/{{.PackageName}}/models"
"go-admin/app/{{.PackageName}}/service" "go-admin/app/{{.PackageName}}/service"
"go-admin/app/{{.PackageName}}/service/dto" "go-admin/app/{{.PackageName}}/service/dto"
"go-admin/common/actions"
) )
type {{.ClassName}} struct { type {{.ClassName}} struct {
@@ -54,7 +55,7 @@ func (e {{.ClassName}}) GetPage(c *gin.Context) {
err = s.GetPage(&req, p, &list, &count) err = s.GetPage(&req, p, &list, &count)
if err != nil { if err != nil {
e.Error(500, err, fmt.Sprintf("获取{{.TableComment}} %v 失败,\r\n失败信息 %s", req.Ids, err.Error())) e.Error(500, err, fmt.Sprintf("获取{{.TableComment}} 失败,\r\n失败信息 %s", err.Error()))
return return
} }
@@ -69,7 +70,7 @@ func (e {{.ClassName}}) GetPage(c *gin.Context) {
// @Success 200 {object} response.Response{data=models.{{.ClassName}}} "{"code": 200, "data": [...]}" // @Success 200 {object} response.Response{data=models.{{.ClassName}}} "{"code": 200, "data": [...]}"
// @Router /api/v1/{{.ModuleName}}/{id} [get] // @Router /api/v1/{{.ModuleName}}/{id} [get]
// @Security Bearer // @Security Bearer
func (e {{.ClassName}}) Get{{.ClassName}}(c *gin.Context) { func (e {{.ClassName}}) Get(c *gin.Context) {
req := dto.{{.ClassName}}ById{} req := dto.{{.ClassName}}ById{}
s := service.{{.ClassName}}{} s := service.{{.ClassName}}{}
err := e.MakeContext(c). err := e.MakeContext(c).
@@ -87,7 +88,7 @@ func (e {{.ClassName}}) Get{{.ClassName}}(c *gin.Context) {
p := actions.GetPermissionFromContext(c) p := actions.GetPermissionFromContext(c)
err = s.Get(&req, p, &object) err = s.Get(&req, p, &object)
if err != nil { if err != nil {
e.Error(500, err, fmt.Sprintf("获取{{.TableComment}} %v 失败,\r\n失败信息 %s", req.Ids, err.Error())) e.Error(500, err, fmt.Sprintf("获取{{.TableComment}}失败,\r\n失败信息 %s", err.Error()))
return return
} }
@@ -122,7 +123,7 @@ func (e {{.ClassName}}) Insert(c *gin.Context) {
err = s.Insert(&req) err = s.Insert(&req)
if err != nil { if err != nil {
e.Error(500, err, fmt.Sprintf("创建{{.TableComment}} %v 失败,\r\n失败信息 %s", req.Ids, err.Error())) e.Error(500, err, fmt.Sprintf("创建{{.TableComment}} 失败,\r\n失败信息 %s", err.Error()))
return return
} }
@@ -140,7 +141,7 @@ func (e {{.ClassName}}) Insert(c *gin.Context) {
// @Router /api/v1/{{.ModuleName}}/{id} [put] // @Router /api/v1/{{.ModuleName}}/{id} [put]
// @Security Bearer // @Security Bearer
func (e {{.ClassName}}) Update(c *gin.Context) { func (e {{.ClassName}}) Update(c *gin.Context) {
req := dto.{{.ClassName}}Control){} req := dto.{{.ClassName}}Control{}
s := service.{{.ClassName}}{} s := service.{{.ClassName}}{}
err := e.MakeContext(c). err := e.MakeContext(c).
MakeOrm(). MakeOrm().
@@ -157,10 +158,10 @@ func (e {{.ClassName}}) Update(c *gin.Context) {
err = s.Update(&req, p) err = s.Update(&req, p)
if err != nil { if err != nil {
e.Error(500, err, fmt.Sprintf("修改{{.TableComment}} %v 失败,\r\n失败信息 %s", req.Ids, err.Error())) e.Error(500, err, fmt.Sprintf("修改{{.TableComment}} 失败,\r\n失败信息 %s", err.Error()))
return return
} }
e.OK( object.GetId(), "修改成功") e.OK( req.GetId(), "修改成功")
} }
// Delete 删除{{.TableComment}} // Delete 删除{{.TableComment}}
@@ -190,8 +191,8 @@ func (e {{.ClassName}}) Delete(c *gin.Context) {
err = s.Remove(&req, p) err = s.Remove(&req, p)
if err != nil { if err != nil {
e.Error(500, err, fmt.Sprintf("删除{{.TableComment}} %v 失败,\r\n失败信息 %s", req.Ids, err.Error())) e.Error(500, err, fmt.Sprintf("删除{{.TableComment}}失败,\r\n失败信息 %s", err.Error()))
return return
} }
e.OK( control.GetId(), "删除成功") e.OK( req.GetId(), "删除成功")
} }
@@ -15,12 +15,12 @@ func init() {
// register{{.ClassName}}Router // register{{.ClassName}}Router
func register{{.ClassName}}Router(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) { func register{{.ClassName}}Router(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
api := apis.{{.ClassName}}{} api := apis.{{.ClassName}}{}
r := v1.Group("/{{.ModuleName}}").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole()) r := v1.Group("/{{.MLTBName}}").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
{ {
r.GET("", api.Get{{.ClassName}}List) r.GET("", api.GetPage)
r.GET("/:id", api.Get{{.ClassName}}) r.GET("/:id", api.Get)
r.POST("", api.Insert{{.ClassName}}) r.POST("", api.Insert)
r.PUT("/:id", api.Update{{.ClassName}}) r.PUT("/:id", api.Update)
r.DELETE("", api.Delete{{.ClassName}}) r.DELETE("", api.Delete)
} }
} }
@@ -14,12 +14,12 @@ func init() {
// register{{.ClassName}}Router // register{{.ClassName}}Router
func register{{.ClassName}}Router(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) { func register{{.ClassName}}Router(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
api := apis.{{.ClassName}}{} api := apis.{{.ClassName}}{}
r := v1.Group("/{{.ModuleName}}").Use(authMiddleware.MiddlewareFunc()) r := v1.Group("/{{.MLTBName}}").Use(authMiddleware.MiddlewareFunc())
{ {
r.GET("", api.Get{{.ClassName}}) r.GET("", api.GetPage)
r.GET("/:id", api.Get{{.ClassName}}) r.GET("/:id", api.Get)
r.POST("", api.Insert{{.ClassName}}) r.POST("", api.Insert)
r.PUT("/:id", api.Update{{.ClassName}}) r.PUT("/:id", api.Update)
r.DELETE("", api.Delete{{.ClassName}}) r.DELETE("", api.Delete)
} }
} }
+8 -8
View File
@@ -8,6 +8,7 @@ import (
"go-admin/app/{{.PackageName}}/models" "go-admin/app/{{.PackageName}}/models"
"go-admin/app/{{.PackageName}}/service/dto" "go-admin/app/{{.PackageName}}/service/dto"
"go-admin/common/actions"
cDto "go-admin/common/dto" cDto "go-admin/common/dto"
) )
@@ -61,7 +62,7 @@ func (e *{{.ClassName}}) Insert(c *dto.{{.ClassName}}Control) error {
var err error var err error
var data models.{{.ClassName}} var data models.{{.ClassName}}
c.Generate(&data) c.Generate(&data)
err := e.Orm.Create(c&data).Error err = e.Orm.Create(&data).Error
if err != nil { if err != nil {
e.Log.Errorf("{{.ClassName}}Service Insert error:%s \r\n", err) e.Log.Errorf("{{.ClassName}}Service Insert error:%s \r\n", err)
return err return err
@@ -70,15 +71,15 @@ func (e *{{.ClassName}}) Insert(c *dto.{{.ClassName}}Control) error {
} }
// Update 修改{{.ClassName}}对象 // Update 修改{{.ClassName}}对象
func (e *{{.ClassName}}) Update(c *models.{{.ClassName}}, p *actions.DataPermission) error { func (e *{{.ClassName}}) Update(c *dto.{{.ClassName}}Control, p *actions.DataPermission) error {
var err error var err error
var model = models.{{.ClassName}} var data = models.{{.ClassName}}{}
e.Orm.Scopes( e.Orm.Scopes(
actions.Permission(data.TableName(), p), actions.Permission(data.TableName(), p),
).First(&model, c.GetId()) ).First(&data, c.GetId())
c.Generate(&model) c.Generate(&data)
db := e.Orm.Save(&model) db := e.Orm.Save(&data)
if db.Error != nil { if db.Error != nil {
e.Log.Errorf("{{.ClassName}}Service Save error:%s \r\n", err) e.Log.Errorf("{{.ClassName}}Service Save error:%s \r\n", err)
return err return err
@@ -90,9 +91,8 @@ func (e *{{.ClassName}}) Update(c *models.{{.ClassName}}, p *actions.DataPermiss
return nil return nil
} }
// Remove{{.ClassName}} 删除{{.ClassName}} // Remove 删除{{.ClassName}}
func (e *{{.ClassName}}) Remove(d *dto.{{.ClassName}}ById, p *actions.DataPermission) error { func (e *{{.ClassName}}) Remove(d *dto.{{.ClassName}}ById, p *actions.DataPermission) error {
var err error
var data models.{{.ClassName}} var data models.{{.ClassName}}
db := e.Orm.Model(&data). db := e.Orm.Model(&data).
+18 -12
View File
@@ -153,11 +153,11 @@
{{- $x := .IsInsert -}} {{- $x := .IsInsert -}}
{{- if (eq $x "1") -}} {{- if (eq $x "1") -}}
{{- if (.Pk) }} {{- if (.Pk) }}
{{- else if eq .GoField "createdAt" -}} {{- else if eq .GoField "CreatedAt" -}}
{{- else if eq .GoField "updatedAt" -}} {{- else if eq .GoField "UpdatedAt" -}}
{{- else if eq .GoField "deletedAt" -}} {{- else if eq .GoField "DeletedAt" -}}
{{- else if eq .GoField "updateBy" -}} {{- else if eq .GoField "UpdateBy" -}}
{{- else if eq .GoField "createBy" -}} {{- else if eq .GoField "CreateBy" -}}
{{- else }} {{- else }}
<el-form-item label="{{.ColumnComment}}" prop="{{.JsonField}}"> <el-form-item label="{{.ColumnComment}}" prop="{{.JsonField}}">
{{ if eq "input" .HtmlType -}} {{ if eq "input" .HtmlType -}}
@@ -229,10 +229,11 @@
</template> </template>
<script> <script>
import {add{{.ClassName}}, del{{.ClassName}}, get{{.ClassName}}, list{{.ClassName}}, update{{.ClassName}}} from '@/api/{{ .BusinessName}}' import {add{{.ClassName}}, del{{.ClassName}}, get{{.ClassName}}, list{{.ClassName}}, update{{.ClassName}}} from '@/api/{{ .PackageName}}/{{ .MLTBName}}'
{{ $package:=.PackageName }}
{{range .Columns}} {{range .Columns}}
{{- if ne .FkTableName "" -}} {{- if ne .FkTableName "" -}}
import {list{{.FkTableNameClass}} } from '@/api/{{ .FkTableNamePackage}}' import {list{{.FkTableNameClass}} } from '@/api/{{ $package }}/{{ .FkTableNamePackage}}'
{{ end -}} {{ end -}}
{{- end -}} {{- end -}}
@@ -423,7 +424,7 @@
if (this.form.{{.PkJsonField}} !== undefined) { if (this.form.{{.PkJsonField}} !== undefined) {
update{{.ClassName}}(this.form).then(response => { update{{.ClassName}}(this.form).then(response => {
if (response.code === 200) { if (response.code === 200) {
this.msgSuccess('修改成功') this.msgSuccess(response.msg)
this.open = false this.open = false
this.getList() this.getList()
} else { } else {
@@ -433,7 +434,7 @@
} else { } else {
add{{.ClassName}}(this.form).then(response => { add{{.ClassName}}(this.form).then(response => {
if (response.code === 200) { if (response.code === 200) {
this.msgSuccess('新增成功') this.msgSuccess(response.msg)
this.open = false this.open = false
this.getList() this.getList()
} else { } else {
@@ -454,9 +455,14 @@
type: 'warning' type: 'warning'
}).then(function () { }).then(function () {
return del{{.ClassName}}( { 'ids': Ids }) return del{{.ClassName}}( { 'ids': Ids })
}).then(() => { }).then((response) => {
this.getList() if (response.code === 200) {
this.msgSuccess('删除成功') this.msgSuccess(response.msg)
this.open = false
this.getList()
} else {
this.msgError(response.msg)
}
}).catch(function () { }).catch(function () {
}) })
} }