feat:Basic functions add, delete, modify, check menu and api configuration data, support the system to write to the database with one click(#162)

This commit is contained in:
zhangwenjian
2020-07-15 22:06:44 +08:00
parent 073ef02c05
commit 7a48cd0084
3 changed files with 376 additions and 135 deletions
+217
View File
@@ -3,6 +3,7 @@ package tools
import (
"bytes"
"github.com/gin-gonic/gin"
"go-admin/models"
"go-admin/models/tools"
tools2 "go-admin/tools"
"go-admin/tools/app"
@@ -77,3 +78,219 @@ func GenCode(c *gin.Context) {
tools2.FileCreate(b3, "./router/"+tab.PackageName+".go")
app.OK(c, "", "代码生成成功!")
}
func GenMenuAndApi(c *gin.Context) {
table := tools.SysTables{}
timeNow := tools2.GetCurrentTime()
id, err := tools2.StringToInt(c.Param("tableId"))
tools2.HasError(err, "", -1)
table.TableId = id
tab, _ := table.Get()
Mmenu := models.Menu{}
Mmenu.MenuName = tab.TBName + "管理"
Mmenu.Title = tab.TableComment
Mmenu.Icon = "pass"
Mmenu.Path = tab.TBName
Mmenu.MenuType = "M"
Mmenu.Action = "无"
Mmenu.Permission = tab.PackageName + ":" + tab.ModuleName + ":list"
Mmenu.ParentId = 0
Mmenu.NoCache = false
Mmenu.Component = tab.ModuleName + "/index"
Mmenu.Sort = 0
Mmenu.Visible = "0"
Mmenu.IsFrame = "0"
Mmenu.CreateBy = "1"
Mmenu.UpdateBy = "1"
Mmenu.CreatedAt = timeNow
Mmenu.UpdatedAt = timeNow
Mmenu.MenuId, err = Mmenu.Create()
MList := models.Menu{}
MList.MenuName = "分页获取" + tab.TBName
MList.Title = tab.TableComment
MList.Icon = "pass"
MList.Path = tab.TBName
MList.MenuType = "F"
MList.Action = "无"
MList.Permission = tab.PackageName + ":" + tab.ModuleName + ":query"
MList.ParentId = Mmenu.MenuId
MList.NoCache = false
MList.Sort = 0
MList.Visible = "0"
MList.IsFrame = "0"
MList.CreateBy = "1"
MList.UpdateBy = "1"
MList.CreatedAt = timeNow
MList.UpdatedAt = timeNow
MList.MenuId, err = MList.Create()
MCreate := models.Menu{}
MCreate.MenuName = tab.TBName
MCreate.Title = "创建" + tab.TableComment
MCreate.Icon = "pass"
MCreate.Path = tab.TBName
MCreate.MenuType = "F"
MCreate.Action = "无"
MCreate.Permission = tab.PackageName + ":" + tab.ModuleName + ":add"
MCreate.ParentId = Mmenu.MenuId
MCreate.NoCache = false
MCreate.Sort = 0
MCreate.Visible = "0"
MCreate.IsFrame = "0"
MCreate.CreateBy = "1"
MCreate.UpdateBy = "1"
MCreate.CreatedAt = timeNow
MCreate.UpdatedAt = timeNow
MCreate.MenuId, err = MCreate.Create()
MUpdate := models.Menu{}
MUpdate.MenuName = tab.TBName
MUpdate.Title = tab.TableComment
MUpdate.Icon = "pass"
MUpdate.Path = "修改" + tab.TBName
MUpdate.MenuType = "F"
MUpdate.Action = "无"
MUpdate.Permission = tab.PackageName + ":" + tab.ModuleName + ":edit"
MUpdate.ParentId = Mmenu.MenuId
MUpdate.NoCache = false
MUpdate.Sort = 0
MUpdate.Visible = "0"
MUpdate.IsFrame = "0"
MUpdate.CreateBy = "1"
MUpdate.UpdateBy = "1"
MUpdate.CreatedAt = timeNow
MUpdate.UpdatedAt = timeNow
MUpdate.MenuId, err = MUpdate.Create()
MDelete := models.Menu{}
MDelete.MenuName = tab.TBName
MDelete.Title = "删除" + tab.TableComment
MDelete.Icon = "pass"
MDelete.Path = tab.TBName
MDelete.MenuType = "F"
MDelete.Action = "无"
MDelete.Permission = tab.PackageName + ":" + tab.ModuleName + ":remove"
MDelete.ParentId = Mmenu.MenuId
MDelete.NoCache = false
MDelete.Sort = 0
MDelete.Visible = "0"
MDelete.IsFrame = "0"
MDelete.CreateBy = "1"
MDelete.UpdateBy = "1"
MDelete.CreatedAt = timeNow
MDelete.UpdatedAt = timeNow
MDelete.MenuId, err = MDelete.Create()
var InterfaceId = 63
Amenu := models.Menu{}
Amenu.MenuName = tab.TBName
Amenu.Title = tab.TableComment
Amenu.Icon = "bug"
Amenu.Path = tab.TBName
Amenu.MenuType = "M"
Amenu.Action = "无"
Amenu.ParentId = InterfaceId
Amenu.NoCache = false
Amenu.Sort = 0
Amenu.Visible = "1"
Amenu.IsFrame = "0"
Amenu.CreateBy = "1"
Amenu.UpdateBy = "1"
Amenu.CreatedAt = timeNow
Amenu.UpdatedAt = timeNow
Amenu.MenuId, err = Amenu.Create()
AList := models.Menu{}
AList.MenuName = tab.TBName
AList.Title = "分页获取" + tab.TableComment
AList.Icon = "bug"
AList.Path = "/api/v1/" + tab.ModuleName + "List"
AList.MenuType = "A"
AList.Action = "GET"
AList.ParentId = Amenu.MenuId
AList.NoCache = false
AList.Sort = 0
AList.Visible = "1"
AList.IsFrame = "0"
AList.CreateBy = "1"
AList.UpdateBy = "1"
AList.CreatedAt = timeNow
AList.UpdatedAt = timeNow
AList.MenuId, err = AList.Create()
AGet := models.Menu{}
AGet.MenuName = tab.TBName
AGet.Title = "根据id获取" + tab.TableComment
AGet.Icon = "bug"
AGet.Path = "/api/v1/" + tab.ModuleName + "/:id"
AGet.MenuType = "A"
AGet.Action = "GET"
AGet.ParentId = Amenu.MenuId
AGet.NoCache = false
AGet.Sort = 0
AGet.Visible = "1"
AGet.IsFrame = "0"
AGet.CreateBy = "1"
AGet.UpdateBy = "1"
AGet.CreatedAt = timeNow
AGet.UpdatedAt = timeNow
AGet.MenuId, err = AGet.Create()
ACreate := models.Menu{}
ACreate.MenuName = tab.TBName
ACreate.Title = "创建" + tab.TableComment
ACreate.Icon = "bug"
ACreate.Path = "/api/v1/" + tab.ModuleName
ACreate.MenuType = "A"
ACreate.Action = "POST"
ACreate.ParentId = Amenu.MenuId
ACreate.NoCache = false
ACreate.Sort = 0
ACreate.Visible = "1"
ACreate.IsFrame = "0"
ACreate.CreateBy = "1"
ACreate.UpdateBy = "1"
ACreate.CreatedAt = timeNow
ACreate.UpdatedAt = timeNow
ACreate.MenuId, err = ACreate.Create()
AUpdate := models.Menu{}
AUpdate.MenuName = tab.TBName
AUpdate.Title = "修改" + tab.TableComment
AUpdate.Icon = "bug"
AUpdate.Path = "/api/v1/" + tab.ModuleName
AUpdate.MenuType = "A"
AUpdate.Action = "PUT"
AUpdate.ParentId = Amenu.MenuId
AUpdate.NoCache = false
AUpdate.Sort = 0
AUpdate.Visible = "1"
AUpdate.IsFrame = "0"
AUpdate.CreateBy = "1"
AUpdate.UpdateBy = "1"
AUpdate.CreatedAt = timeNow
AUpdate.UpdatedAt = timeNow
AUpdate.MenuId, err = AUpdate.Create()
ADelete := models.Menu{}
ADelete.MenuName = tab.TBName
ADelete.Title = "删除" + tab.TableComment
ADelete.Icon = "bug"
ADelete.Path = "/api/v1/" + tab.ModuleName + "/:id"
ADelete.MenuType = "A"
ADelete.Action = "DELETE"
ADelete.ParentId = Amenu.MenuId
ADelete.NoCache = false
ADelete.Sort = 0
ADelete.Visible = "1"
ADelete.IsFrame = "0"
ADelete.CreateBy = "1"
ADelete.UpdateBy = "1"
ADelete.CreatedAt = timeNow
ADelete.UpdatedAt = timeNow
ADelete.MenuId, err = ADelete.Create()
app.OK(c, "", "数据生成成功!")
}
+130 -115
View File
@@ -12,10 +12,10 @@ import (
_ "go-admin/docs"
"go-admin/handler"
"go-admin/middleware"
"go-admin/pkg/jwtauth"
jwt "go-admin/pkg/jwtauth"
)
func InitSysRouter(r *gin.Engine, authMiddleware *jwtauth.GinJWTMiddleware) *gin.RouterGroup {
func InitSysRouter(r *gin.Engine, authMiddleware *jwt.GinJWTMiddleware) *gin.RouterGroup {
g := r.Group("")
sysBaseRouter(g)
// 静态文件
@@ -52,7 +52,7 @@ func sysNoCheckRoleRouter(r *gin.RouterGroup) {
v1.GET("/getCaptcha", system.GenerateCaptchaHandler)
v1.GET("/gen/preview/:tableId", Preview)
v1.GET("/gen/toproject/:tableId", GenCode)
v1.GET("/gen/todb/:tableId", GenMenuAndApi)
v1.GET("/menuTreeselect", system.GetMenuTreeelect)
v1.GET("/dict/databytype/:dictType", dict.GetDictDataByDictType)
@@ -84,146 +84,161 @@ func registerSysTableRouter(v1 *gin.RouterGroup) {
}
}
func sysCheckRoleRouterInit(r *gin.RouterGroup, authMiddleware *jwtauth.GinJWTMiddleware) {
func sysCheckRoleRouterInit(r *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
r.POST("/login", authMiddleware.LoginHandler)
// Refresh time can be longer than token timeout
r.GET("/refresh_token", authMiddleware.RefreshHandler)
v1 := r.Group("/api/v1").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
v1 := r.Group("/api/v1")
registerPageRouter(v1, authMiddleware)
registerBaseRouter(v1, authMiddleware)
registerDeptRouter(v1, authMiddleware)
registerDictRouter(v1, authMiddleware)
registerSysUserRouter(v1, authMiddleware)
registerRoleRouter(v1, authMiddleware)
registerConfigRouter(v1, authMiddleware)
registerUserCenterRouter(v1, authMiddleware)
registerPostRouter(v1, authMiddleware)
registerMenuRouter(v1, authMiddleware)
registerLoginLogRouter(v1, authMiddleware)
registerOperLogRouter(v1, authMiddleware)
}
func registerBaseRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
v1auth := v1.Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
{
registerPageRouter(v1)
registerBaseRouter(v1)
registerDeptRouter(v1)
registerDictRouter(v1)
registerSysUserRouter(v1)
registerRoleRouter(v1)
registerConfigRouter(v1)
registerUserCenterRouter(v1)
registerPostRouter(v1)
registerMenuRouter(v1)
registerLoginLogRouter(v1)
registerOperLogRouter(v1)
v1auth.GET("/getinfo", system.GetInfo)
v1auth.GET("/menurole", system.GetMenuRole)
v1auth.PUT("/roledatascope", system.UpdateRoleDataScope)
v1auth.GET("/roleMenuTreeselect/:roleId", system.GetMenuTreeRoleselect)
v1auth.GET("/roleDeptTreeselect/:roleId", system.GetDeptTreeRoleselect)
v1auth.POST("/logout", handler.LogOut)
v1auth.GET("/menuids", system.GetMenuIDS)
v1auth.GET("/operloglist", log2.GetOperLogList)
v1auth.GET("/configKey/:configKey", system.GetConfigByConfigKey)
}
}
func registerBaseRouter(v1 gin.IRoutes) {
v1.GET("/getinfo", system.GetInfo)
v1.GET("/menurole", system.GetMenuRole)
v1.PUT("/roledatascope", system.UpdateRoleDataScope)
v1.GET("/roleMenuTreeselect/:roleId", system.GetMenuTreeRoleselect)
v1.GET("/roleDeptTreeselect/:roleId", system.GetDeptTreeRoleselect)
v1.POST("/logout", handler.LogOut)
v1.GET("/menuids", system.GetMenuIDS)
v1.GET("/operloglist", log2.GetOperLogList)
v1.GET("/configKey/:configKey", system.GetConfigByConfigKey)
func registerPageRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
v1auth := v1.Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
{
v1auth.GET("/deptList", system.GetDeptList)
v1auth.GET("/deptTree", system.GetDeptTree)
v1auth.GET("/sysUserList", system.GetSysUserList)
v1auth.GET("/rolelist", system.GetRoleList)
v1auth.GET("/configList", system.GetConfigList)
v1auth.GET("/postlist", system.GetPostList)
v1auth.GET("/menulist", system.GetMenuList)
v1auth.GET("/loginloglist", log2.GetLoginLogList)
}
}
func registerPageRouter(v1 gin.IRoutes) {
v1.GET("/deptList", system.GetDeptList)
v1.GET("/deptTree", system.GetDeptTree)
v1.GET("/sysUserList", system.GetSysUserList)
v1.GET("/rolelist", system.GetRoleList)
v1.GET("/configList", system.GetConfigList)
v1.GET("/postlist", system.GetPostList)
v1.GET("/menulist", system.GetMenuList)
v1.GET("/loginloglist", log2.GetLoginLogList)
func registerUserCenterRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
user := v1.Group("/user").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
{
user.GET("/profile", system.GetSysUserProfile)
user.POST("/avatar", system.InsetSysUserAvatar)
user.PUT("/pwd", system.SysUserUpdatePwd)
}
}
func registerUserCenterRouter(v1 gin.IRoutes) {
v1.GET("/user/profile", system.GetSysUserProfile)
v1.POST("/user/avatar", system.InsetSysUserAvatar)
v1.PUT("/user/pwd", system.SysUserUpdatePwd)
func registerOperLogRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
operlog := v1.Group("/operlog").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
{
operlog.GET("/:operId", log2.GetOperLog)
operlog.DELETE("/:operId", log2.DeleteOperLog)
}
}
func registerOperLogRouter(v1 gin.IRoutes) {
v1.GET("/operlog/:operId", log2.GetOperLog)
v1.DELETE("/operlog/:operId", log2.DeleteOperLog)
func registerLoginLogRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
loginlog := v1.Group("/loginlog").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
{
loginlog.GET("/:infoId", log2.GetLoginLog)
loginlog.POST("", log2.InsertLoginLog)
loginlog.PUT("", log2.UpdateLoginLog)
loginlog.DELETE("/:infoId", log2.DeleteLoginLog)
}
}
func registerLoginLogRouter(v1 gin.IRoutes) {
v1.GET("/loginlog/:infoId", log2.GetLoginLog)
v1.POST("/loginlog", log2.InsertLoginLog)
v1.PUT("/loginlog", log2.UpdateLoginLog)
v1.DELETE("/loginlog/:infoId", log2.DeleteLoginLog)
func registerPostRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
post := v1.Group("/post").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
{
post.GET("/:postId", system.GetPost)
post.POST("", system.InsertPost)
post.PUT("", system.UpdatePost)
post.DELETE("/:postId", system.DeletePost)
}
}
func registerPostRouter(v1 gin.IRoutes) {
v1.GET("/post/:postId", system.GetPost)
v1.POST("/post", system.InsertPost)
v1.PUT("/post", system.UpdatePost)
v1.DELETE("/post/:postId", system.DeletePost)
func registerMenuRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
menu := v1.Group("/menu").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
{
menu.GET("/:id", system.GetMenu)
menu.POST("", system.InsertMenu)
menu.PUT("", system.UpdateMenu)
menu.DELETE("/:id", system.DeleteMenu)
}
}
func registerMenuRouter(v1 gin.IRoutes) {
v1.GET("/menu/:id", system.GetMenu)
v1.POST("/menu", system.InsertMenu)
v1.PUT("/menu", system.UpdateMenu)
v1.DELETE("/menu/:id", system.DeleteMenu)
func registerConfigRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
config := v1.Group("/config").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
{
config.GET("/:configId", system.GetConfig)
config.POST("", system.InsertConfig)
config.PUT("", system.UpdateConfig)
config.DELETE("/:configId", system.DeleteConfig)
}
}
func registerConfigRouter(v1 gin.IRoutes) {
v1.GET("/config/:configId", system.GetConfig)
v1.POST("/config", system.InsertConfig)
v1.PUT("/config", system.UpdateConfig)
v1.DELETE("/config/:configId", system.DeleteConfig)
func registerRoleRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
role := v1.Group("/role").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
{
role.GET("/:roleId", system.GetRole)
role.POST("", system.InsertRole)
role.PUT("", system.UpdateRole)
role.DELETE("/:roleId", system.DeleteRole)
}
}
func registerRoleRouter(v1 gin.IRoutes) {
v1.GET("/role/:roleId", system.GetRole)
v1.POST("/role", system.InsertRole)
v1.PUT("/role", system.UpdateRole)
v1.DELETE("/role/:roleId", system.DeleteRole)
func registerSysUserRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
sysuser := v1.Group("/sysUser").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
{
sysuser.GET("/:userId", system.GetSysUser)
sysuser.GET("/", system.GetSysUserInit)
sysuser.POST("", system.InsertSysUser)
sysuser.PUT("", system.UpdateSysUser)
sysuser.DELETE("/:userId", system.DeleteSysUser)
}
}
func registerSysUserRouter(v1 gin.IRoutes) {
func registerDictRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
dicts := v1.Group("/dict").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
{
dicts.GET("/datalist", dict.GetDictDataList)
dicts.GET("/typelist", dict.GetDictTypeList)
dicts.GET("/typeoptionselect", dict.GetDictTypeOptionSelect)
v1.GET("/sysUser/:userId", system.GetSysUser)
v1.GET("/sysUser/", system.GetSysUserInit)
v1.POST("/sysUser", system.InsertSysUser)
v1.PUT("/sysUser", system.UpdateSysUser)
v1.DELETE("/sysUser/:userId", system.DeleteSysUser)
dicts.GET("/data/:dictCode", dict.GetDictData)
dicts.POST("/data", dict.InsertDictData)
dicts.PUT("/data/", dict.UpdateDictData)
dicts.DELETE("/data/:dictCode", dict.DeleteDictData)
dicts.GET("/type/:dictId", dict.GetDictType)
dicts.POST("/type", dict.InsertDictType)
dicts.PUT("/type", dict.UpdateDictType)
dicts.DELETE("/type/:dictId", dict.DeleteDictType)
}
}
func registerDictRouter(v1 gin.IRoutes) {
v1.GET("/dict/datalist", dict.GetDictDataList)
v1.GET("/dict/typelist", dict.GetDictTypeList)
v1.GET("/dict/typeoptionselect", dict.GetDictTypeOptionSelect)
v1.GET("/dict/data/:dictCode", dict.GetDictData)
v1.POST("/dict/data", dict.InsertDictData)
v1.PUT("/dict/data/", dict.UpdateDictData)
v1.DELETE("/dict/data/:dictCode", dict.DeleteDictData)
v1.GET("/dict/type/:dictId", dict.GetDictType)
v1.POST("/dict/type", dict.InsertDictType)
v1.PUT("/dict/type", dict.UpdateDictType)
v1.DELETE("/dict/type/:dictId", dict.DeleteDictType)
}
func registerDeptRouter(v1 gin.IRoutes) {
v1.GET("/dept/:deptId", system.GetDept)
v1.POST("/dept", system.InsertDept)
v1.PUT("/dept", system.UpdateDept)
v1.DELETE("/dept/:id", system.DeleteDept)
func registerDeptRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
dept := v1.Group("/dept").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
{
dept.GET("/:deptId", system.GetDept)
dept.POST("", system.InsertDept)
dept.PUT("", system.UpdateDept)
dept.DELETE("/:id", system.DeleteDept)
}
}
+29 -20
View File
@@ -1,31 +1,40 @@
package router
import (
"github.com/gin-gonic/gin"
"go-admin/middleware"
jwt "go-admin/pkg/jwtauth"
"go-admin/apis/{{.ModuleName}}"
"github.com/gin-gonic/gin"
"go-admin/middleware"
"go-admin/apis/{{.ModuleName}}"
jwt "go-admin/pkg/jwtauth"
)
// 需认证的路由代码
func register{{.ClassName}}Router(v1 gin.IRoutes) {
func register{{.ClassName}}Router(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
r := v1.Group("/{{.ModuleName}}").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
{
r.GET("/:{{.PkJsonField}}", {{.ModuleName}}.Get{{.ClassName}})
r.POST("", {{.ModuleName}}.Insert{{.ClassName}})
r.PUT("", {{.ModuleName}}.Update{{.ClassName}})
r.DELETE("/:{{.PkJsonField}}", {{.ModuleName}}.Delete{{.ClassName}})
}
l := v1.Group("").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
{
l.GET("/{{.ModuleName}}List",{{.ModuleName}}.Get{{.ClassName}}List)
}
v1.GET("/{{.ModuleName}}/:{{.PkJsonField}}", {{.ModuleName}}.Get{{.ClassName}})
v1.POST("/{{.ModuleName}}", {{.ModuleName}}.Insert{{.ClassName}})
v1.PUT("/{{.ModuleName}}", {{.ModuleName}}.Update{{.ClassName}})
v1.DELETE("/{{.ModuleName}}/:{{.PkJsonField}}", {{.ModuleName}}.Delete{{.ClassName}})
v1.GET("/{{.ModuleName}}List",{{.ModuleName}}.Get{{.ClassName}}List)
}
// 无需认证的路由代码
// func register{{.ClassName}}Router(v1 *gin.RouterGroup) {
// v1.GET("/{{.ModuleName}}List",{{.ModuleName}}.Get{{.ClassName}}List)
// r := v1.Group("/{{.ModuleName}}")
// {
// r.GET("/:{{.PkJsonField}}", {{.ModuleName}}.Get{{.ClassName}})
// r.POST("", {{.ModuleName}}.Insert{{.ClassName}})
// r.PUT("", {{.ModuleName}}.Update{{.ClassName}})
// r.DELETE("/:{{.PkJsonField}}", {{.ModuleName}}.Delete{{.ClassName}})
// }
// }
func register{{.ClassName}}Router(v1 *gin.RouterGroup) {
v1.GET("/{{.ModuleName}}List",{{.ModuleName}}.Get{{.ClassName}}List)
r := v1.Group("/{{.ModuleName}}")
{
r.GET("/:{{.PkJsonField}}", {{.ModuleName}}.Get{{.ClassName}})
r.POST("", {{.ModuleName}}.Insert{{.ClassName}})
r.PUT("", {{.ModuleName}}.Update{{.ClassName}})
r.DELETE("/:{{.PkJsonField}}", {{.ModuleName}}.Delete{{.ClassName}})
}
}