411 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			411 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| 
								 | 
							
								package tools
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								import (
							 | 
						|||
| 
								 | 
							
									"bytes"
							 | 
						|||
| 
								 | 
							
									"fmt"
							 | 
						|||
| 
								 | 
							
									"go-admin/app/admin/service"
							 | 
						|||
| 
								 | 
							
									"go-admin/app/admin/service/dto"
							 | 
						|||
| 
								 | 
							
									"strconv"
							 | 
						|||
| 
								 | 
							
									"strings"
							 | 
						|||
| 
								 | 
							
									"text/template"
							 | 
						|||
| 
								 | 
							
									"time"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									"github.com/gin-gonic/gin"
							 | 
						|||
| 
								 | 
							
									"github.com/go-admin-team/go-admin-core/sdk/api"
							 | 
						|||
| 
								 | 
							
									"github.com/go-admin-team/go-admin-core/sdk/config"
							 | 
						|||
| 
								 | 
							
									"github.com/go-admin-team/go-admin-core/sdk/pkg"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									"go-admin/app/other/models/tools"
							 | 
						|||
| 
								 | 
							
								)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								type Gen struct {
							 | 
						|||
| 
								 | 
							
									api.Api
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								func (e Gen) Preview(c *gin.Context) {
							 | 
						|||
| 
								 | 
							
									e.Context = c
							 | 
						|||
| 
								 | 
							
									log := e.GetLogger()
							 | 
						|||
| 
								 | 
							
									table := tools.SysTables{}
							 | 
						|||
| 
								 | 
							
									id, err := pkg.StringToInt(c.Param("tableId"))
							 | 
						|||
| 
								 | 
							
									if err != nil {
							 | 
						|||
| 
								 | 
							
										log.Error(err)
							 | 
						|||
| 
								 | 
							
										e.Error(500, err, fmt.Sprintf("tableId接收失败!错误详情:%s", err.Error()))
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									table.TableId = id
							 | 
						|||
| 
								 | 
							
									t1, err := template.ParseFiles("template/v4/model.go.template")
							 | 
						|||
| 
								 | 
							
									if err != nil {
							 | 
						|||
| 
								 | 
							
										log.Error(err)
							 | 
						|||
| 
								 | 
							
										e.Error(500, err, fmt.Sprintf("model模版读取失败!错误详情:%s", err.Error()))
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									t2, err := template.ParseFiles("template/v4/no_actions/apis.go.template")
							 | 
						|||
| 
								 | 
							
									if err != nil {
							 | 
						|||
| 
								 | 
							
										log.Error(err)
							 | 
						|||
| 
								 | 
							
										e.Error(500, err, fmt.Sprintf("api模版读取失败!错误详情:%s", err.Error()))
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									t3, err := template.ParseFiles("template/v4/js.go.template")
							 | 
						|||
| 
								 | 
							
									if err != nil {
							 | 
						|||
| 
								 | 
							
										log.Error(err)
							 | 
						|||
| 
								 | 
							
										e.Error(500, err, fmt.Sprintf("js模版读取失败!错误详情:%s", err.Error()))
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									t4, err := template.ParseFiles("template/v4/vue.go.template")
							 | 
						|||
| 
								 | 
							
									if err != nil {
							 | 
						|||
| 
								 | 
							
										log.Error(err)
							 | 
						|||
| 
								 | 
							
										e.Error(500, err, fmt.Sprintf("vue模版读取失败!错误详情:%s", err.Error()))
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									t5, err := template.ParseFiles("template/v4/no_actions/router_check_role.go.template")
							 | 
						|||
| 
								 | 
							
									if err != nil {
							 | 
						|||
| 
								 | 
							
										log.Error(err)
							 | 
						|||
| 
								 | 
							
										e.Error(500, err, fmt.Sprintf("路由模版读取失败!错误详情:%s", err.Error()))
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									t6, err := template.ParseFiles("template/v4/dto.go.template")
							 | 
						|||
| 
								 | 
							
									if err != nil {
							 | 
						|||
| 
								 | 
							
										log.Error(err)
							 | 
						|||
| 
								 | 
							
										e.Error(500, err, fmt.Sprintf("dto模版读取失败!错误详情:%s", err.Error()))
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									t7, err := template.ParseFiles("template/v4/no_actions/service.go.template")
							 | 
						|||
| 
								 | 
							
									if err != nil {
							 | 
						|||
| 
								 | 
							
										log.Error(err)
							 | 
						|||
| 
								 | 
							
										e.Error(500, err, fmt.Sprintf("service模版读取失败!错误详情:%s", err.Error()))
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									db, err := pkg.GetOrm(c)
							 | 
						|||
| 
								 | 
							
									if err != nil {
							 | 
						|||
| 
								 | 
							
										log.Errorf("get db connection error, %s", err.Error())
							 | 
						|||
| 
								 | 
							
										e.Error(500, err, fmt.Sprintf("数据库链接获取失败!错误详情:%s", err.Error()))
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									tab, _ := table.Get(db,false)
							 | 
						|||
| 
								 | 
							
									var b1 bytes.Buffer
							 | 
						|||
| 
								 | 
							
									err = t1.Execute(&b1, tab)
							 | 
						|||
| 
								 | 
							
									var b2 bytes.Buffer
							 | 
						|||
| 
								 | 
							
									err = t2.Execute(&b2, tab)
							 | 
						|||
| 
								 | 
							
									var b3 bytes.Buffer
							 | 
						|||
| 
								 | 
							
									err = t3.Execute(&b3, tab)
							 | 
						|||
| 
								 | 
							
									var b4 bytes.Buffer
							 | 
						|||
| 
								 | 
							
									err = t4.Execute(&b4, tab)
							 | 
						|||
| 
								 | 
							
									var b5 bytes.Buffer
							 | 
						|||
| 
								 | 
							
									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()
							 | 
						|||
| 
								 | 
							
									mp["template/api.go.template"] = b2.String()
							 | 
						|||
| 
								 | 
							
									mp["template/js.go.template"] = b3.String()
							 | 
						|||
| 
								 | 
							
									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()
							 | 
						|||
| 
								 | 
							
									e.OK(mp, "")
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								func (e Gen) GenCode(c *gin.Context) {
							 | 
						|||
| 
								 | 
							
									e.Context = c
							 | 
						|||
| 
								 | 
							
									log := e.GetLogger()
							 | 
						|||
| 
								 | 
							
									table := tools.SysTables{}
							 | 
						|||
| 
								 | 
							
									id, err := pkg.StringToInt(c.Param("tableId"))
							 | 
						|||
| 
								 | 
							
									if err != nil {
							 | 
						|||
| 
								 | 
							
										log.Error(err)
							 | 
						|||
| 
								 | 
							
										e.Error(500, err, fmt.Sprintf("tableId参数接收失败!错误详情:%s", err.Error()))
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									db, err := pkg.GetOrm(c)
							 | 
						|||
| 
								 | 
							
									if err != nil {
							 | 
						|||
| 
								 | 
							
										log.Errorf("get db connection error, %s", err.Error())
							 | 
						|||
| 
								 | 
							
										e.Error(500, err, fmt.Sprintf("数据库链接获取失败!错误详情:%s", err.Error()))
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									table.TableId = id
							 | 
						|||
| 
								 | 
							
									tab, _ := table.Get(db,false)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									e.NOActionsGen(c, tab)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									e.OK("", "Code generated successfully!")
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								func (e Gen) GenApiToFile(c *gin.Context) {
							 | 
						|||
| 
								 | 
							
									e.Context = c
							 | 
						|||
| 
								 | 
							
									log := e.GetLogger()
							 | 
						|||
| 
								 | 
							
									table := tools.SysTables{}
							 | 
						|||
| 
								 | 
							
									id, err := pkg.StringToInt(c.Param("tableId"))
							 | 
						|||
| 
								 | 
							
									if err != nil {
							 | 
						|||
| 
								 | 
							
										log.Error(err)
							 | 
						|||
| 
								 | 
							
										e.Error(500, err, fmt.Sprintf("tableId参数获取失败!错误详情:%s", err.Error()))
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									db, err := pkg.GetOrm(c)
							 | 
						|||
| 
								 | 
							
									if err != nil {
							 | 
						|||
| 
								 | 
							
										log.Errorf("get db connection error, %s", err.Error())
							 | 
						|||
| 
								 | 
							
										e.Error(500, err, fmt.Sprintf("数据库链接获取失败!错误详情:%s", err.Error()))
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									table.TableId = id
							 | 
						|||
| 
								 | 
							
									tab, _ := table.Get(db,false)
							 | 
						|||
| 
								 | 
							
									e.genApiToFile(c, tab)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									e.OK("", "Code generated successfully!")
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								func (e Gen) NOActionsGen(c *gin.Context, tab tools.SysTables) {
							 | 
						|||
| 
								 | 
							
									e.Context = c
							 | 
						|||
| 
								 | 
							
									log := e.GetLogger()
							 | 
						|||
| 
								 | 
							
									tab.MLTBName = strings.Replace(tab.TBName, "_", "-", -1)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									basePath := "template/v4/"
							 | 
						|||
| 
								 | 
							
									routerFile := basePath + "no_actions/router_check_role.go.template"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									if tab.IsAuth == 2 {
							 | 
						|||
| 
								 | 
							
										routerFile = basePath + "no_actions/router_no_check_role.go.template"
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									t1, err := template.ParseFiles(basePath + "model.go.template")
							 | 
						|||
| 
								 | 
							
									if err != nil {
							 | 
						|||
| 
								 | 
							
										log.Error(err)
							 | 
						|||
| 
								 | 
							
										e.Error(500, err, fmt.Sprintf("model模版读取失败!错误详情:%s", err.Error()))
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									t2, err := template.ParseFiles(basePath + "no_actions/apis.go.template")
							 | 
						|||
| 
								 | 
							
									if err != nil {
							 | 
						|||
| 
								 | 
							
										log.Error(err)
							 | 
						|||
| 
								 | 
							
										e.Error(500, err, fmt.Sprintf("api模版读取失败!错误详情:%s", err.Error()))
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									t3, err := template.ParseFiles(routerFile)
							 | 
						|||
| 
								 | 
							
									if err != nil {
							 | 
						|||
| 
								 | 
							
										log.Error(err)
							 | 
						|||
| 
								 | 
							
										e.Error(500, err, fmt.Sprintf("路由模版失败!错误详情:%s", err.Error()))
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									t4, err := template.ParseFiles(basePath + "js.go.template")
							 | 
						|||
| 
								 | 
							
									if err != nil {
							 | 
						|||
| 
								 | 
							
										log.Error(err)
							 | 
						|||
| 
								 | 
							
										e.Error(500, err, fmt.Sprintf("js模版解析失败!错误详情:%s", err.Error()))
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									t5, err := template.ParseFiles(basePath + "vue.go.template")
							 | 
						|||
| 
								 | 
							
									if err != nil {
							 | 
						|||
| 
								 | 
							
										log.Error(err)
							 | 
						|||
| 
								 | 
							
										e.Error(500, err, fmt.Sprintf("vue模版解析失败!错误详情:%s", err.Error()))
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									t6, err := template.ParseFiles(basePath + "dto.go.template")
							 | 
						|||
| 
								 | 
							
									if err != nil {
							 | 
						|||
| 
								 | 
							
										log.Error(err)
							 | 
						|||
| 
								 | 
							
										e.Error(500, err, fmt.Sprintf("dto模版解析失败失败!错误详情:%s", err.Error()))
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									t7, err := template.ParseFiles(basePath + "no_actions/service.go.template")
							 | 
						|||
| 
								 | 
							
									if err != nil {
							 | 
						|||
| 
								 | 
							
										log.Error(err)
							 | 
						|||
| 
								 | 
							
										e.Error(500, err, fmt.Sprintf("service模版失败!错误详情:%s", err.Error()))
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									_ = pkg.PathCreate("./app/" + tab.PackageName + "/apis/")
							 | 
						|||
| 
								 | 
							
									_ = pkg.PathCreate("./app/" + tab.PackageName + "/models/")
							 | 
						|||
| 
								 | 
							
									_ = pkg.PathCreate("./app/" + tab.PackageName + "/router/")
							 | 
						|||
| 
								 | 
							
									_ = pkg.PathCreate("./app/" + tab.PackageName + "/service/dto/")
							 | 
						|||
| 
								 | 
							
									_ = pkg.PathCreate(config.GenConfig.FrontPath + "/api/" + tab.PackageName + "/")
							 | 
						|||
| 
								 | 
							
									err = pkg.PathCreate(config.GenConfig.FrontPath + "/views/" + tab.PackageName + "/" + tab.MLTBName + "/")
							 | 
						|||
| 
								 | 
							
									if err != nil {
							 | 
						|||
| 
								 | 
							
										log.Error(err)
							 | 
						|||
| 
								 | 
							
										e.Error(500, err, fmt.Sprintf("views目录创建失败!错误详情:%s", err.Error()))
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									var b1 bytes.Buffer
							 | 
						|||
| 
								 | 
							
									err = t1.Execute(&b1, tab)
							 | 
						|||
| 
								 | 
							
									var b2 bytes.Buffer
							 | 
						|||
| 
								 | 
							
									err = t2.Execute(&b2, tab)
							 | 
						|||
| 
								 | 
							
									var b3 bytes.Buffer
							 | 
						|||
| 
								 | 
							
									err = t3.Execute(&b3, tab)
							 | 
						|||
| 
								 | 
							
									var b4 bytes.Buffer
							 | 
						|||
| 
								 | 
							
									err = t4.Execute(&b4, tab)
							 | 
						|||
| 
								 | 
							
									var b5 bytes.Buffer
							 | 
						|||
| 
								 | 
							
									err = t5.Execute(&b5, tab)
							 | 
						|||
| 
								 | 
							
									var b6 bytes.Buffer
							 | 
						|||
| 
								 | 
							
									err = t6.Execute(&b6, tab)
							 | 
						|||
| 
								 | 
							
									var b7 bytes.Buffer
							 | 
						|||
| 
								 | 
							
									err = t7.Execute(&b7, tab)
							 | 
						|||
| 
								 | 
							
									pkg.FileCreate(b1, "./app/"+tab.PackageName+"/models/"+tab.TBName+".go")
							 | 
						|||
| 
								 | 
							
									pkg.FileCreate(b2, "./app/"+tab.PackageName+"/apis/"+tab.TBName+".go")
							 | 
						|||
| 
								 | 
							
									pkg.FileCreate(b3, "./app/"+tab.PackageName+"/router/"+tab.TBName+".go")
							 | 
						|||
| 
								 | 
							
									pkg.FileCreate(b4, config.GenConfig.FrontPath+"/api/"+tab.PackageName+"/"+tab.MLTBName+".js")
							 | 
						|||
| 
								 | 
							
									pkg.FileCreate(b5, config.GenConfig.FrontPath+"/views/"+tab.PackageName+"/"+tab.MLTBName+"/index.vue")
							 | 
						|||
| 
								 | 
							
									pkg.FileCreate(b6, "./app/"+tab.PackageName+"/service/dto/"+tab.TBName+".go")
							 | 
						|||
| 
								 | 
							
									pkg.FileCreate(b7, "./app/"+tab.PackageName+"/service/"+tab.TBName+".go")
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								func (e Gen) genApiToFile(c *gin.Context, tab tools.SysTables) {
							 | 
						|||
| 
								 | 
							
									err := e.MakeContext(c).
							 | 
						|||
| 
								 | 
							
										MakeOrm().
							 | 
						|||
| 
								 | 
							
										Errors
							 | 
						|||
| 
								 | 
							
									if err != nil {
							 | 
						|||
| 
								 | 
							
										e.Logger.Error(err)
							 | 
						|||
| 
								 | 
							
										e.Error(500, err, err.Error())
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									basePath := "template/"
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									t1, err := template.ParseFiles(basePath + "api_migrate.template")
							 | 
						|||
| 
								 | 
							
									if err != nil {
							 | 
						|||
| 
								 | 
							
										e.Logger.Error(err)
							 | 
						|||
| 
								 | 
							
										e.Error(500, err, fmt.Sprintf("数据迁移模版解析失败!错误详情:%s", err.Error()))
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
									i := strconv.FormatInt(time.Now().UnixNano()/1e6, 10)
							 | 
						|||
| 
								 | 
							
									var b1 bytes.Buffer
							 | 
						|||
| 
								 | 
							
									err = t1.Execute(&b1, struct {
							 | 
						|||
| 
								 | 
							
										tools.SysTables
							 | 
						|||
| 
								 | 
							
										GenerateTime string
							 | 
						|||
| 
								 | 
							
									}{tab, i})
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									pkg.FileCreate(b1, "./cmd/migrate/migration/version-local/"+i+"_migrate.go")
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								func (e Gen) GenMenuAndApi(c *gin.Context) {
							 | 
						|||
| 
								 | 
							
									s := service.SysMenu{}
							 | 
						|||
| 
								 | 
							
									err := e.MakeContext(c).
							 | 
						|||
| 
								 | 
							
										MakeOrm().
							 | 
						|||
| 
								 | 
							
										MakeService(&s.Service).
							 | 
						|||
| 
								 | 
							
										Errors
							 | 
						|||
| 
								 | 
							
									if err != nil {
							 | 
						|||
| 
								 | 
							
										e.Logger.Error(err)
							 | 
						|||
| 
								 | 
							
										e.Error(500, err, err.Error())
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									table := tools.SysTables{}
							 | 
						|||
| 
								 | 
							
									id, err := pkg.StringToInt(c.Param("tableId"))
							 | 
						|||
| 
								 | 
							
									if err != nil {
							 | 
						|||
| 
								 | 
							
										e.Logger.Error(err)
							 | 
						|||
| 
								 | 
							
										e.Error(500, err, fmt.Sprintf("tableId参数解析失败!错误详情:%s", err.Error()))
							 | 
						|||
| 
								 | 
							
										return
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									table.TableId = id
							 | 
						|||
| 
								 | 
							
									tab, _ := table.Get(e.Orm,true)
							 | 
						|||
| 
								 | 
							
									tab.MLTBName = strings.Replace(tab.TBName, "_", "-", -1)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									Mmenu := dto.SysMenuInsertReq{}
							 | 
						|||
| 
								 | 
							
									Mmenu.Title = tab.TableComment
							 | 
						|||
| 
								 | 
							
									Mmenu.Icon = "pass"
							 | 
						|||
| 
								 | 
							
									Mmenu.Path = "/" + tab.MLTBName
							 | 
						|||
| 
								 | 
							
									Mmenu.MenuType = "M"
							 | 
						|||
| 
								 | 
							
									Mmenu.Action = "无"
							 | 
						|||
| 
								 | 
							
									Mmenu.ParentId = 0
							 | 
						|||
| 
								 | 
							
									Mmenu.NoCache = false
							 | 
						|||
| 
								 | 
							
									Mmenu.Component = "Layout"
							 | 
						|||
| 
								 | 
							
									Mmenu.Sort = 0
							 | 
						|||
| 
								 | 
							
									Mmenu.Visible = "0"
							 | 
						|||
| 
								 | 
							
									Mmenu.IsFrame = "0"
							 | 
						|||
| 
								 | 
							
									Mmenu.CreateBy = 1
							 | 
						|||
| 
								 | 
							
									s.Insert(&Mmenu)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									Cmenu := dto.SysMenuInsertReq{}
							 | 
						|||
| 
								 | 
							
									Cmenu.MenuName = tab.ClassName + "Manage"
							 | 
						|||
| 
								 | 
							
									Cmenu.Title = tab.TableComment
							 | 
						|||
| 
								 | 
							
									Cmenu.Icon = "pass"
							 | 
						|||
| 
								 | 
							
									Cmenu.Path = "/" + tab.PackageName + "/" + tab.MLTBName
							 | 
						|||
| 
								 | 
							
									Cmenu.MenuType = "C"
							 | 
						|||
| 
								 | 
							
									Cmenu.Action = "无"
							 | 
						|||
| 
								 | 
							
									Cmenu.Permission = tab.PackageName + ":" + tab.BusinessName + ":list"
							 | 
						|||
| 
								 | 
							
									Cmenu.ParentId = Mmenu.MenuId
							 | 
						|||
| 
								 | 
							
									Cmenu.NoCache = false
							 | 
						|||
| 
								 | 
							
									Cmenu.Component = "/" + tab.PackageName + "/" + tab.MLTBName + "/index"
							 | 
						|||
| 
								 | 
							
									Cmenu.Sort = 0
							 | 
						|||
| 
								 | 
							
									Cmenu.Visible = "0"
							 | 
						|||
| 
								 | 
							
									Cmenu.IsFrame = "0"
							 | 
						|||
| 
								 | 
							
									Cmenu.CreateBy = 1
							 | 
						|||
| 
								 | 
							
									Cmenu.UpdateBy = 1
							 | 
						|||
| 
								 | 
							
									s.Insert(&Cmenu)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									MList := dto.SysMenuInsertReq{}
							 | 
						|||
| 
								 | 
							
									MList.MenuName = ""
							 | 
						|||
| 
								 | 
							
									MList.Title = "分页获取" + tab.TableComment
							 | 
						|||
| 
								 | 
							
									MList.Icon = ""
							 | 
						|||
| 
								 | 
							
									MList.Path = tab.TBName
							 | 
						|||
| 
								 | 
							
									MList.MenuType = "F"
							 | 
						|||
| 
								 | 
							
									MList.Action = "无"
							 | 
						|||
| 
								 | 
							
									MList.Permission = tab.PackageName + ":" + tab.BusinessName + ":query"
							 | 
						|||
| 
								 | 
							
									MList.ParentId = Cmenu.MenuId
							 | 
						|||
| 
								 | 
							
									MList.NoCache = false
							 | 
						|||
| 
								 | 
							
									MList.Sort = 0
							 | 
						|||
| 
								 | 
							
									MList.Visible = "0"
							 | 
						|||
| 
								 | 
							
									MList.IsFrame = "0"
							 | 
						|||
| 
								 | 
							
									MList.CreateBy = 1
							 | 
						|||
| 
								 | 
							
									MList.UpdateBy = 1
							 | 
						|||
| 
								 | 
							
									s.Insert(&MList)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									MCreate := dto.SysMenuInsertReq{}
							 | 
						|||
| 
								 | 
							
									MCreate.MenuName = ""
							 | 
						|||
| 
								 | 
							
									MCreate.Title = "创建" + tab.TableComment
							 | 
						|||
| 
								 | 
							
									MCreate.Icon = ""
							 | 
						|||
| 
								 | 
							
									MCreate.Path = tab.TBName
							 | 
						|||
| 
								 | 
							
									MCreate.MenuType = "F"
							 | 
						|||
| 
								 | 
							
									MCreate.Action = "无"
							 | 
						|||
| 
								 | 
							
									MCreate.Permission = tab.PackageName + ":" + tab.BusinessName + ":add"
							 | 
						|||
| 
								 | 
							
									MCreate.ParentId = Cmenu.MenuId
							 | 
						|||
| 
								 | 
							
									MCreate.NoCache = false
							 | 
						|||
| 
								 | 
							
									MCreate.Sort = 0
							 | 
						|||
| 
								 | 
							
									MCreate.Visible = "0"
							 | 
						|||
| 
								 | 
							
									MCreate.IsFrame = "0"
							 | 
						|||
| 
								 | 
							
									MCreate.CreateBy = 1
							 | 
						|||
| 
								 | 
							
									MCreate.UpdateBy = 1
							 | 
						|||
| 
								 | 
							
									s.Insert(&MCreate)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									MUpdate := dto.SysMenuInsertReq{}
							 | 
						|||
| 
								 | 
							
									MUpdate.MenuName = ""
							 | 
						|||
| 
								 | 
							
									MUpdate.Title = "修改" + tab.TableComment
							 | 
						|||
| 
								 | 
							
									MUpdate.Icon = ""
							 | 
						|||
| 
								 | 
							
									MUpdate.Path = tab.TBName
							 | 
						|||
| 
								 | 
							
									MUpdate.MenuType = "F"
							 | 
						|||
| 
								 | 
							
									MUpdate.Action = "无"
							 | 
						|||
| 
								 | 
							
									MUpdate.Permission = tab.PackageName + ":" + tab.BusinessName + ":edit"
							 | 
						|||
| 
								 | 
							
									MUpdate.ParentId = Cmenu.MenuId
							 | 
						|||
| 
								 | 
							
									MUpdate.NoCache = false
							 | 
						|||
| 
								 | 
							
									MUpdate.Sort = 0
							 | 
						|||
| 
								 | 
							
									MUpdate.Visible = "0"
							 | 
						|||
| 
								 | 
							
									MUpdate.IsFrame = "0"
							 | 
						|||
| 
								 | 
							
									MUpdate.CreateBy = 1
							 | 
						|||
| 
								 | 
							
									MUpdate.UpdateBy = 1
							 | 
						|||
| 
								 | 
							
									s.Insert(&MUpdate)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									MDelete := dto.SysMenuInsertReq{}
							 | 
						|||
| 
								 | 
							
									MDelete.MenuName = ""
							 | 
						|||
| 
								 | 
							
									MDelete.Title = "删除" + tab.TableComment
							 | 
						|||
| 
								 | 
							
									MDelete.Icon = ""
							 | 
						|||
| 
								 | 
							
									MDelete.Path = tab.TBName
							 | 
						|||
| 
								 | 
							
									MDelete.MenuType = "F"
							 | 
						|||
| 
								 | 
							
									MDelete.Action = "无"
							 | 
						|||
| 
								 | 
							
									MDelete.Permission = tab.PackageName + ":" + tab.BusinessName + ":remove"
							 | 
						|||
| 
								 | 
							
									MDelete.ParentId = Cmenu.MenuId
							 | 
						|||
| 
								 | 
							
									MDelete.NoCache = false
							 | 
						|||
| 
								 | 
							
									MDelete.Sort = 0
							 | 
						|||
| 
								 | 
							
									MDelete.Visible = "0"
							 | 
						|||
| 
								 | 
							
									MDelete.IsFrame = "0"
							 | 
						|||
| 
								 | 
							
									MDelete.CreateBy = 1
							 | 
						|||
| 
								 | 
							
									MDelete.UpdateBy = 1
							 | 
						|||
| 
								 | 
							
									s.Insert(&MDelete)
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									e.OK("", "数据生成成功!")
							 | 
						|||
| 
								 | 
							
								}
							 |