diff --git a/apps/develop/api/gen.go b/apps/develop/api/gen.go new file mode 100644 index 0000000..1b347f7 --- /dev/null +++ b/apps/develop/api/gen.go @@ -0,0 +1,41 @@ +package api + +import ( + "pandax/apps/develop/gen" + "pandax/apps/develop/services" + "pandax/base/ctx" + "pandax/base/ginx" +) + +type GenApi struct { + GenTableApp services.SysGenTableModel +} + +// @Summary 代码视图 +// @Description 获取JSON +// @Tags 工具 / 生成工具 +// @Param tableId path int true "tableId" +// @Success 200 {object} response.Response "{"code": 200, "data": [...]}" +// @Router /develop/code/gen/preview/{tableId} [get] +// @Security X-TOKEN +func (e *GenApi) Preview(rc *ctx.ReqCtx) { + tableId := ginx.PathParamInt(rc.GinCtx, rc.GinCtx.Param("tableId")) + rc.ResData = gen.Preview(int64(tableId)) +} + +// @Summary 代码生成 +// @Description 获取JSON +// @Tags 工具 / 生成工具 +// @Param tableId path int true "tableId" +// @Success 200 {object} response.Response "{"code": 200, "data": [...]}" +// @Router /develop/code/gen/code/{tableId} [get] +// @Security X-TOKEN +func (e *GenApi) GenCode(rc *ctx.ReqCtx) { + tableId := ginx.PathParamInt(rc.GinCtx, rc.GinCtx.Param("tableId")) + gen.GenCode(int64(tableId)) +} + +//自动创建菜单,api +func (e *GenApi) AutoApi(rc *ctx.ReqCtx) { + +} diff --git a/apps/develop/api/table.go b/apps/develop/api/table.go new file mode 100644 index 0000000..09cb196 --- /dev/null +++ b/apps/develop/api/table.go @@ -0,0 +1,149 @@ +package api + +import ( + "pandax/apps/develop/entity" + "pandax/apps/develop/gen" + "pandax/apps/develop/services" + "pandax/base/ctx" + "pandax/base/ginx" + "pandax/base/utils" + "strings" +) + +type GenTableApi struct { + GenTableApp services.SysGenTableModel +} + +// @Summary 分页列表数据 / page list data +// @Description 数据库表列分页列表 / database table column page list +// @Tags 工具 / 生成工具 +// @Param tableName query string false "tableName / 数据表名称" +// @Param pageSize query int false "pageSize / 页条数" +// @Param pageNum query int false "pageNum / 页码" +// @Success 200 {object} response.Response "{"code": 200, "data": [...]}" +// @Router /develop/code/table/db/list [get] +func (g *GenTableApi) GetDBTableList(rc *ctx.ReqCtx) { + pageNum := ginx.QueryInt(rc.GinCtx, "pageNum", 1) + pageSize := ginx.QueryInt(rc.GinCtx, "pageSize", 10) + tableName := rc.GinCtx.Query("tableName") + list, total := g.GenTableApp.FindDbTablesListPage(pageNum, pageSize, entity.DBTables{TableName: tableName}) + rc.ResData = map[string]interface{}{ + "data": list, + "total": total, + "pageNum": pageNum, + "pageSize": pageSize, + } +} + +// @Summary 分页列表数据 +// @Description 生成表分页列表 +// @Tags 工具 / 生成工具 +// @Param tableName query string false "tableName / 数据表名称" +// @Param tableComment query string false "tableComment / 数据表描述" +// @Param pageSize query int false "pageSize / 页条数" +// @Param pageIndex query int false "pageIndex / 页码" +// @Success 200 {object} response.Response "{"code": 200, "data": [...]}" +// @Router /develop/code/table/list [get] +func (g *GenTableApi) GetTablePage(rc *ctx.ReqCtx) { + pageNum := ginx.QueryInt(rc.GinCtx, "pageNum", 1) + pageSize := ginx.QueryInt(rc.GinCtx, "pageSize", 10) + tableName := rc.GinCtx.Query("tableName") + tableComment := rc.GinCtx.Query("tableComment") + list, total := g.GenTableApp.FindListPage(pageNum, pageSize, entity.DevGenTable{TableName: tableName, TableComment: tableComment}) + rc.ResData = map[string]interface{}{ + "data": list, + "total": total, + "pageNum": pageNum, + "pageSize": pageSize, + } +} + +// @Summary 获取表信息 +// @Description 获取JSON +// @Tags 工具 / 生成工具 +// @Param tableId path int true "tableId" +// @Success 200 {object} response.Response "{"code": 200, "data": [...]}" +// @Router /develop/code/table/info/{tableId} [get] +// @Security Bearer +func (g *GenTableApi) GetTableInfo(rc *ctx.ReqCtx) { + tableId := ginx.PathParamInt(rc.GinCtx, rc.GinCtx.Param("tableId")) + result := g.GenTableApp.FindOne(entity.DevGenTable{TableId: int64(tableId)}, true) + mp := make(map[string]interface{}) + mp["list"] = result.Columns + mp["info"] = result + rc.ResData = mp +} + +// @Summary 获取表信息 +// @Description 获取JSON +// @Tags 工具 / 生成工具 +// @Param tableName query string false "tableName / 数据表名称" +// @Success 200 {object} response.Response "{"code": 200, "data": [...]}" +// @Router /develop/code/table/info/tableName [get] +// @Security X-TOKEN +func (g *GenTableApi) GetTableInfoByName(rc *ctx.ReqCtx) { + tableName := rc.GinCtx.Query("tableName") + result := g.GenTableApp.FindOne(entity.DevGenTable{TableName: tableName}, true) + mp := make(map[string]interface{}) + mp["list"] = result.Columns + mp["info"] = result + rc.ResData = mp +} + +// @Summary 获取树表信息 +// @Description 获取JSON +// @Tags 工具 / 生成工具 +// @Success 200 {object} response.Response "{"code": 200, "data": [...]}" +// @Router /develop/code/table/tableTree [get] +// @Security X-TOKEN +func (g *GenTableApi) GetTableTree(rc *ctx.ReqCtx) { + rc.ResData = g.GenTableApp.FindTree(entity.DevGenTable{}) +} + +// @Summary 添加表结构 +// @Description 添加表结构 +// @Tags 工具 / 生成工具 +// @Accept application/json +// @Product application/json +// @Param tableName query string false "tableName / 数据表名称" +// @Success 200 {string} string "{"code": 200, "message": "添加成功"}" +// @Success 200 {string} string "{"code": -1, "message": "添加失败"}" +// @Router /develop/code/table [post] +// @Security Bearer +func (g *GenTableApi) Insert(rc *ctx.ReqCtx) { + tablesList := strings.Split(rc.GinCtx.Query("tableName"), ",") + for i := 0; i < len(tablesList); i++ { + genTable := gen.ToolsGenTableColumn.GenTableInit(tablesList[i]) + g.GenTableApp.Insert(genTable) + } +} + +// @Summary 修改表结构 +// @Description 修改表结构 +// @Tags 工具 / 生成工具 +// @Accept application/json +// @Product application/json +// @Param data body tools.SysTables true "body" +// @Success 200 {string} string "{"code": 200, "message": "添加成功"}" +// @Success 200 {string} string "{"code": -1, "message": "添加失败"}" +// @Router /develop/code/table [put] +// @Security Bearer +func (g *GenTableApi) Update(rc *ctx.ReqCtx) { + var data entity.DevGenTable + ginx.BindJsonAndValid(rc.GinCtx, &data) + g.GenTableApp.Update(data) +} + +// Delete +// @Summary 删除表结构 +// @Description 删除表结构 +// @Tags 工具 / 生成工具 +// @Param tableId path int true "tableId" +// @Success 200 {string} string "{"code": 200, "message": "删除成功"}" +// @Success 200 {string} string "{"code": -1, "message": "删除失败"}" +// @Router /develop/code/table/{tableId} [delete] +func (g *GenTableApi) Delete(rc *ctx.ReqCtx) { + tableIds := rc.GinCtx.Param("tableId") + group := utils.IdsStrToIdsIntGroup(tableIds) + g.GenTableApp.Delete(group) +} diff --git a/apps/develop/entity/dev_gen_table.go b/apps/develop/entity/dev_gen_table.go index c885414..92969f7 100644 --- a/apps/develop/entity/dev_gen_table.go +++ b/apps/develop/entity/dev_gen_table.go @@ -3,26 +3,34 @@ package entity import "pandax/base/model" type DevGenTable struct { - TableId int64 `gorm:"table_id,primary" json:"tableId"` // 编号 - TableName string `gorm:"table_name" json:"tableName"` // 表名称 - TableComment string `gorm:"table_comment" json:"tableComment"` // 表描述 - ClassName string `gorm:"class_name" json:"className"` // 实体类名称 - TplCategory string `gorm:"tpl_category" json:"tplCategory"` // 使用的模板(crud单表操作 tree树表操作) - PackageName string `gorm:"package_name" json:"packageName"` // 生成包路径 - ModuleName string `gorm:"module_name" json:"moduleName"` // 生成模块名 - BusinessName string `gorm:"business_name" json:"businessName"` // 生成业务名 - FunctionName string `gorm:"function_name" json:"functionName"` // 生成功能名 - FunctionAuthor string `gorm:"function_author" json:"functionAuthor"` // 生成功能作者 - Options string `gorm:"options" json:"options"` // 其它生成选项 - Remark string `gorm:"remark" json:"remark"` // 备注 - Columns []DevGenTableColumn `gorm:"-" json:"columns"` // 字段信息 - PkColumn DevGenTableColumn `gorm:"-" json:"pkColumn"` // 主键列信息 + TableId int64 `gorm:"primaryKey;autoIncrement" json:"tableId"` // 编号 + TableName string `gorm:"table_name" json:"tableName"` // 表名称 + TableComment string `gorm:"table_comment" json:"tableComment"` // 表描述 + ClassName string `gorm:"class_name" json:"className"` // 实体类名称 + TplCategory string `gorm:"tpl_category" json:"tplCategory"` // 使用的模板(crud单表操作 tree树表操作) + PackageName string `gorm:"package_name" json:"packageName"` // 生成包路径 + ModuleName string `gorm:"module_name" json:"moduleName"` // 生成模块名 + BusinessName string `gorm:"business_name" json:"businessName"` // 生成业务名 + FunctionName string `gorm:"function_name" json:"functionName"` // 生成功能名 + FunctionAuthor string `gorm:"function_author" json:"functionAuthor"` // 生成功能作者 + TreeCode string `gorm:"tree_code" json:"treeCode"` + TreeParentCode string `gorm:"tree_parent_code" json:"treeParentCode"` + TreeName string `gorm:"tree_name" json:"treeName"` + Options string `gorm:"options" json:"options"` // 其它生成选项 + Remark string `gorm:"remark" json:"remark"` // 备注 + PkColumn string `gorm:"pk_column;" json:"pkColumn"` + PkGoField string `gorm:"pk_go_field" json:"pkGoField"` + PkJsonField string `gorm:"pk_json_field" json:"pkJsonField"` + Columns []DevGenTableColumn `gorm:"-" json:"columns"` // 字段信息 model.BaseModel } -type ToolsGenTableExtend struct { - DevGenTable - TreeCode string `gorm:"-" json:"treeCode"` // 树编码字段 - TreeParentCode string `gorm:"-" json:"treeParentCode"` // 树父编码字段 - TreeName string `gorm:"-" json:"treeName"` // 树名称字段 +type DBTables struct { + TableName string `gorm:"column:TABLE_NAME" json:"tableName"` + Engine string `gorm:"column:ENGINE" json:"engine"` + TableRows string `gorm:"column:TABLE_ROWS" json:"tableRows"` + TableCollation string `gorm:"column:TABLE_COLLATION" json:"tableCollation"` + CreateTime string `gorm:"column:CREATE_TIME" json:"createTime"` + UpdateTime string `gorm:"column:UPDATE_TIME" json:"updateTime"` + TableComment string `gorm:"column:TABLE_COMMENT" json:"tableComment"` } diff --git a/apps/develop/entity/dev_gen_table_column.go b/apps/develop/entity/dev_gen_table_column.go index 1c72467..a5a04c4 100644 --- a/apps/develop/entity/dev_gen_table_column.go +++ b/apps/develop/entity/dev_gen_table_column.go @@ -1,14 +1,16 @@ package entity type DevGenTableColumn struct { - ColumnId int64 `gorm:"column_id,primary" json:"columnId"` // 编号 - TableId int64 `gorm:"table_id" json:"tableId"` // 归属表编号 + ColumnId int64 `gorm:"primaryKey;autoIncrement" json:"columnId"` // 编号 + TableId int64 `gorm:"table_id" json:"tableId"` // 归属表编号 TableName string `gorm:"table_name" json:"tableName"` - ColumnName string `gorm:"column_name" json:"columnName"` // 列名称 - ColumnComment string `gorm:"column_comment" json:"columnComment"` // 列描述 - ColumnType string `gorm:"column_type" json:"columnType"` // 列类型 - GoType string `gorm:"go_type" json:"goType"` // Go类型 - GoField string `gorm:"go_field" json:"goField"` // Go字段名 + ColumnName string `gorm:"column_name" json:"columnName"` // 列名称 + ColumnComment string `gorm:"column_comment" json:"columnComment"` // 列描述 + ColumnType string `gorm:"column_type" json:"columnType"` // 列类型 + ColumnKey string `gorm:"column_key" json:"columnKey"` + GoType string `gorm:"go_type" json:"goType"` // Go类型 + GoField string `gorm:"go_field" json:"goField"` // Go字段名 + JsonField string `gorm:"json_field;" json:"jsonField"` HtmlField string `gorm:"html_field" json:"htmlField"` // html字段名 IsPk string `gorm:"is_pk" json:"isPk"` // 是否主键(1是) IsIncrement string `gorm:"is_increment" json:"isIncrement"` // 是否自增(1是) @@ -27,3 +29,18 @@ type DevGenTableColumn struct { LinkLabelId string `gorm:"link_label_id" json:"linkLabelId"` // 关联表键名 LinkLabelName string `gorm:"link_label_name" json:"linkLabelName"` // 关联表字段值 } + +type DBColumns struct { + TableSchema string `gorm:"column:TABLE_SCHEMA" json:"tableSchema"` + TableName string `gorm:"column:TABLE_NAME" json:"tableName"` + ColumnName string `gorm:"column:COLUMN_NAME" json:"columnName"` + ColumnDefault string `gorm:"column:COLUMN_DEFAULT" json:"columnDefault"` + IsNullable string `gorm:"column:IS_NULLABLE" json:"isNullable"` + DataType string `gorm:"column:DATA_TYPE" json:"dataType"` + CharacterMaximumLength string `gorm:"column:CHARACTER_MAXIMUM_LENGTH" json:"characterMaximumLength"` + CharacterSetName string `gorm:"column:CHARACTER_SET_NAME" json:"characterSetName"` + ColumnType string `gorm:"column:COLUMN_TYPE" json:"columnType"` + ColumnKey string `gorm:"column:COLUMN_KEY" json:"columnKey"` + Extra string `gorm:"column:EXTRA" json:"extra"` + ColumnComment string `gorm:"column:COLUMN_COMMENT" json:"columnComment"` +} diff --git a/apps/develop/gen/gen.go b/apps/develop/gen/gen.go new file mode 100644 index 0000000..959f3db --- /dev/null +++ b/apps/develop/gen/gen.go @@ -0,0 +1,421 @@ +package gen + +import ( + "bytes" + "fmt" + "github.com/kakuilan/kgo" + "os" + "pandax/apps/develop/entity" + "pandax/apps/develop/services" + "pandax/base/biz" + "pandax/base/config" + "pandax/base/utils" + "strconv" + "strings" + "text/template" +) + +var ( + ToolsGenTableColumn = &toolsGenTableColumn{ + ColumnTypeStr: []string{"char", "varchar", "narchar", "varchar2", "tinytext", "text", "mediumtext", "longtext"}, + ColumnTypeTime: []string{"datetime", "time", "date", "timestamp"}, + ColumnTypeNumber: []string{"tinyint", "smallint", "mediumint", "int", "number", "integer", "bigint", "float", "float", "double", "decimal"}, + ColumnNameNotEdit: []string{"id", "created_by", "created_at", "updated_by", "updated_at", "deleted_at"}, + ColumnNameNotList: []string{"id", "created_by", "updated_by", "created_at", "updated_at", "deleted_at"}, + ColumnNameNotQuery: []string{"id", "created_by", "updated_by", "created_at", "updated_at", "deleted_at", "remark"}, + } +) + +type toolsGenTableColumn struct { + ColumnTypeStr []string //数据库字符串类型 + ColumnTypeTime []string //数据库时间类型 + ColumnTypeNumber []string //数据库数字类型 + ColumnNameNotEdit []string //页面不需要编辑字段 + ColumnNameNotList []string //页面不需要显示的列表字段 + ColumnNameNotQuery []string //页面不需要查询字段 +} + +// GetDbType 获取数据库类型字段 +func (s *toolsGenTableColumn) GetDbType(columnType string) string { + if strings.Index(columnType, "(") > 0 { + return columnType[0:strings.Index(columnType, "(")] + } else { + return columnType + } +} + +// IsExistInArray 判断 value 是否存在在切片array中 +func (s *toolsGenTableColumn) IsExistInArray(value string, array []string) bool { + for _, v := range array { + if v == value { + return true + } + } + return false +} + +// GetColumnLength 获取字段长度 +func (s *toolsGenTableColumn) GetColumnLength(columnType string) int { + start := strings.Index(columnType, "(") + end := strings.Index(columnType, ")") + result := "" + if start >= 0 && end >= 0 { + result = columnType[start+1 : end-1] + } + i, _ := strconv.Atoi(result) + return i +} + +// IsStringObject 判断是否是数据库字符串类型 +func (s *toolsGenTableColumn) IsStringObject(dataType string) bool { + return s.IsExistInArray(dataType, s.ColumnTypeStr) +} + +// IsTimeObject 判断是否是数据库时间类型 +func (s *toolsGenTableColumn) IsTimeObject(dataType string) bool { + return s.IsExistInArray(dataType, s.ColumnTypeTime) +} + +// IsNumberObject 是否数字类型 +func (s *toolsGenTableColumn) IsNumberObject(dataType string) bool { + return s.IsExistInArray(dataType, s.ColumnTypeNumber) +} + +// IsNotEdit 是否不可编辑 +func (s *toolsGenTableColumn) IsNotEdit(name string) bool { + return s.IsExistInArray(name, s.ColumnNameNotEdit) +} + +// IsNotList 不在列表显示 +func (s *toolsGenTableColumn) IsNotList(name string) bool { + return s.IsExistInArray(name, s.ColumnNameNotList) +} + +// IsNotQuery 不可用于查询 +func (s *toolsGenTableColumn) IsNotQuery(name string) bool { + return s.IsExistInArray(name, s.ColumnNameNotQuery) +} + +// CheckNameColumn 检查字段名后4位是否是name +func (s *toolsGenTableColumn) CheckNameColumn(columnName string) bool { + if len(columnName) >= 4 { + end := len(columnName) + start := end - 4 + if start <= 0 { + start = 0 + } + tmp := columnName[start:end] + if tmp == "name" { + return true + } + } + return false +} + +// CheckStatusColumn 检查字段名后6位是否是status +func (s *toolsGenTableColumn) CheckStatusColumn(columnName string) bool { + if len(columnName) >= 6 { + end := len(columnName) + start := end - 6 + + if start <= 0 { + start = 0 + } + tmp := columnName[start:end] + + if tmp == "status" { + return true + } + } + + return false +} + +// CheckTypeColumn 检查字段名后4位是否是type +func (s *toolsGenTableColumn) CheckTypeColumn(columnName string) bool { + if len(columnName) >= 4 { + end := len(columnName) + start := end - 4 + + if start <= 0 { + start = 0 + } + + if columnName[start:end] == "type" { + return true + } + } + return false +} + +// CheckSexColumn 检查字段名后3位是否是sex +func (s *toolsGenTableColumn) CheckSexColumn(columnName string) bool { + if len(columnName) >= 3 { + end := len(columnName) + start := end - 3 + if start <= 0 { + start = 0 + } + if columnName[start:end] == "sex" { + return true + } + } + return false +} + +func (s *toolsGenTableColumn) GenTableInit(tableName string) entity.DevGenTable { + var data entity.DevGenTable + data.TableName = tableName + tableNameList := strings.Split(tableName, "_") + for i := 0; i < len(tableNameList); i++ { + strStart := string([]byte(tableNameList[i])[:1]) + strEnd := string([]byte(tableNameList[i])[1:]) + // 大驼峰表名 结构体使用 + data.ClassName += strings.ToUpper(strStart) + strEnd + // 小驼峰表名 js函数名和权限标识使用 + if i == 0 { + data.BusinessName += strings.ToLower(strStart) + strEnd + } else { + data.BusinessName += strings.ToUpper(strStart) + strEnd + } + } + data.PackageName = "admin" + data.TplCategory = "crud" + // 中横线表名称,接口路径、前端文件夹名称和js名称使用 + data.ModuleName = strings.Replace(tableName, "_", "-", -1) + + dbTable := services.DevGenTableModelDao.FindDbTableOne(tableName) + dbColumn := services.DevTableColumnModelDao.FindDbTableColumnList(tableName) + + data.TableComment = dbTable.TableComment + if dbTable.TableComment == "" { + data.TableComment = data.ClassName + } + data.FunctionName = data.TableComment + data.FunctionAuthor = "panda" + + dcs := *dbColumn + for i := 0; i < len(dcs); i++ { + var column entity.DevGenTableColumn + column.ColumnComment = dcs[i].ColumnComment + column.ColumnName = dcs[i].ColumnName + column.ColumnType = dcs[i].ColumnType + column.Sort = i + 1 + column.IsPk = "0" + + nameList := strings.Split(dcs[i].ColumnName, "_") + for i := 0; i < len(nameList); i++ { + strStart := string([]byte(nameList[i])[:1]) + strend := string([]byte(nameList[i])[1:]) + column.GoField += strings.ToUpper(strStart) + strend + if i == 0 { + column.JsonField = strings.ToLower(strStart) + strend + } else { + column.JsonField += strings.ToUpper(strStart) + strend + } + } + if strings.Contains(dcs[i].ColumnKey, "PR") { + column.IsPk = "1" + data.PkColumn = dcs[i].ColumnName + data.PkGoField = column.GoField + data.PkJsonField = column.JsonField + } + + dataType := s.GetDbType(column.ColumnType) + if s.IsStringObject(dataType) { + //字段为字符串类型 + column.GoType = "string" + columnLength := s.GetColumnLength(column.ColumnType) + if columnLength >= 500 { + column.HtmlType = "textarea" + } else { + column.HtmlType = "input" + } + } else if s.IsTimeObject(dataType) { + //字段为时间类型 + column.GoType = "Time" + column.HtmlType = "datetime" + } else if s.IsNumberObject(dataType) { + //字段为数字类型 + column.HtmlType = "input" + t, _ := utils.ReplaceString(`\(.+\)`, "", column.ColumnType) + t = strings.Split(strings.TrimSpace(t), " ")[0] + t = strings.ToLower(t) + // 如果是浮点型 + switch t { + case "float", "double", "decimal": + column.GoType = "float64" + case "bit", "int", "tinyint", "small_int", "smallint", "medium_int", "mediumint": + if utils.Contains(column.ColumnType, "unsigned") != -1 { + column.GoType = "uint" + } else { + column.GoType = "int" + } + case "big_int", "bigint": + if utils.Contains(column.ColumnType, "unsigned") != -1 { + column.GoType = "uint64" + } else { + column.GoType = "int64" + } + } + } + //新增字段 + if s.IsNotEdit(column.ColumnName) { + column.IsRequired = "0" + column.IsInsert = "0" + } else { + column.IsInsert = "1" + if strings.Index(column.ColumnName, "name") >= 0 || strings.Index(column.ColumnName, "status") >= 0 { + column.IsRequired = "1" + } + } + + // 编辑字段 + if s.IsNotEdit(column.ColumnName) { + column.IsEdit = "0" + } else { + if column.IsPk == "1" { + column.IsEdit = "0" + } else { + column.IsEdit = "1" + } + } + // 列表字段 + if s.IsNotList(column.ColumnName) { + column.IsList = "0" + } else { + column.IsList = "1" + } + // 查询字段 + if s.IsNotQuery(column.ColumnName) { + column.IsQuery = "0" + } else { + column.IsQuery = "1" + } + + // 查询字段类型 + if s.CheckNameColumn(column.ColumnName) { + column.QueryType = "LIKE" + } else { + column.QueryType = "EQ" + } + // 状态字段设置单选框 + if s.CheckStatusColumn(column.ColumnName) { + column.HtmlType = "radio" + } else if s.CheckTypeColumn(column.ColumnName) || s.CheckSexColumn(column.ColumnName) { + // 类型&性别字段设置下拉框 + column.HtmlType = "select" + } + data.Columns = append(data.Columns, column) + } + return data +} + +// 视图预览 +func Preview(tableId int64) map[string]interface{} { + t1, err := template.ParseFiles("resource/template/go/entity.template") + biz.ErrIsNil(err, fmt.Sprintf("entity模版读取失败!错误详情:%s", err.Error())) + + t2, err := template.ParseFiles("resource/template/go/api.template") + biz.ErrIsNil(err, fmt.Sprintf("api模版读取失败!错误详情:%s", err.Error())) + + t3, err := template.ParseFiles("resource/template/go/service.template") + biz.ErrIsNil(err, fmt.Sprintf("service模版读取失败!错误详情:%s", err.Error())) + + t4, err := template.ParseFiles("resource/template/go/router.template") + biz.ErrIsNil(err, fmt.Sprintf("router模版读取失败!错误详情:%s", err.Error())) + + t5, err := template.ParseFiles("resource/template/js/api.template") + biz.ErrIsNil(err, fmt.Sprintf("js模版读取失败!错误详情:%s", err.Error())) + + t6, err := template.ParseFiles("resource/template/vue/list-vue.template") + biz.ErrIsNil(err, fmt.Sprintf("vue列表模版读取失败!错误详情:%s", err.Error())) + + t7, err := template.ParseFiles("resource/template/vue/edit-vue.template") + biz.ErrIsNil(err, fmt.Sprintf("vue编辑模版读取失败!错误详情:%s", err.Error())) + + tab := services.DevGenTableModelDao.FindOne(entity.DevGenTable{TableId: tableId}, 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/entity.template"] = b1.String() + mp["template/api.template"] = b2.String() + mp["template/service.template"] = b3.String() + mp["template/router.template"] = b4.String() + mp["template/jsApi.template"] = b5.String() + mp["template/listVue.template"] = b6.String() + mp["template/editVue.template"] = b7.String() + return mp +} + +// 生成 代码 +func GenCode(tableId int64) { + + tab := services.DevGenTableModelDao.FindOne(entity.DevGenTable{TableId: tableId}, false) + tab.ModuleName = strings.Replace(tab.TableName, "_", "-", -1) + + t1, err := template.ParseFiles("resource/template/go/entity.template") + biz.ErrIsNil(err, fmt.Sprintf("entity模版读取失败!错误详情:%s", err.Error())) + + t2, err := template.ParseFiles("resource/template/go/api.template") + biz.ErrIsNil(err, fmt.Sprintf("api模版读取失败!错误详情:%s", err.Error())) + + t3, err := template.ParseFiles("resource/template/go/service.template") + biz.ErrIsNil(err, fmt.Sprintf("service模版读取失败!错误详情:%s", err.Error())) + + t4, err := template.ParseFiles("resource/template/go/router.template") + biz.ErrIsNil(err, fmt.Sprintf("router模版读取失败!错误详情:%s", err.Error())) + + t5, err := template.ParseFiles("resource/template/js/api.template") + biz.ErrIsNil(err, fmt.Sprintf("js模版读取失败!错误详情:%s", err.Error())) + + t6, err := template.ParseFiles("resource/template/vue/list-vue.template") + biz.ErrIsNil(err, fmt.Sprintf("vue列表模版读取失败!错误详情:%s", err.Error())) + t7, err := template.ParseFiles("resource/template/vue/edit-vue.template") + biz.ErrIsNil(err, fmt.Sprintf("vue编辑模版读取失败!错误详情:%s", err.Error())) + + kgo.KFile.Mkdir("./apps/"+tab.PackageName+"/api/", os.ModePerm) + kgo.KFile.Mkdir("./apps/"+tab.PackageName+"/entity/", os.ModePerm) + kgo.KFile.Mkdir("./apps/"+tab.PackageName+"/router/", os.ModePerm) + kgo.KFile.Mkdir("./apps/"+tab.PackageName+"/services/", os.ModePerm) + kgo.KFile.Mkdir(config.Conf.Gen.Frontpath+"/api/"+tab.PackageName+"/", os.ModePerm) + kgo.KFile.Mkdir(config.Conf.Gen.Frontpath+"/views/"+tab.PackageName+"/"+tab.ModuleName+"/", os.ModePerm) + kgo.KFile.Mkdir(config.Conf.Gen.Frontpath+"/views/"+tab.PackageName+"/"+tab.ModuleName+"/"+"component"+"/", os.ModePerm) + + 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) + + kgo.KFile.WriteFile("./apps/"+tab.PackageName+"/entity/"+tab.TableName+".go", b1.Bytes()) + kgo.KFile.WriteFile("./apps/"+tab.PackageName+"/api/"+tab.TableName+".go", b2.Bytes()) + kgo.KFile.WriteFile("./apps/"+tab.PackageName+"/services/"+tab.TableName+".go", b3.Bytes()) + kgo.KFile.WriteFile("./apps/"+tab.PackageName+"/router/"+tab.TableName+".go", b4.Bytes()) + kgo.KFile.WriteFile(config.Conf.Gen.Frontpath+"/api/"+tab.PackageName+"/"+tab.ModuleName+".js", b5.Bytes()) + kgo.KFile.WriteFile(config.Conf.Gen.Frontpath+"/views/"+tab.PackageName+"/"+tab.ModuleName+"/index.vue", b6.Bytes()) + kgo.KFile.WriteFile(config.Conf.Gen.Frontpath+"/views/"+tab.PackageName+"/"+tab.ModuleName+"/"+"component"+"/index.vue", b7.Bytes()) +} diff --git a/apps/develop/router/gen.go b/apps/develop/router/gen.go new file mode 100644 index 0000000..37de3e4 --- /dev/null +++ b/apps/develop/router/gen.go @@ -0,0 +1,32 @@ +package router + +import ( + "github.com/gin-gonic/gin" + "pandax/apps/develop/api" + "pandax/apps/develop/services" + "pandax/base/ctx" +) + +func InitGenRouter(router *gin.RouterGroup) { + // 登录日志 + genApi := &api.GenApi{ + GenTableApp: services.DevGenTableModelDao, + } + gen := router.Group("gen") + + genViewLog := ctx.NewLogInfo("获取生成代码视图") + gen.GET("preview/:tableId", func(c *gin.Context) { + ctx.NewReqCtxWithGin(c).WithLog(genViewLog).Handle(genApi.Preview) + }) + + genCodeLog := ctx.NewLogInfo("生成代码") + gen.GET("code/:tableId", func(c *gin.Context) { + ctx.NewReqCtxWithGin(c).WithLog(genCodeLog).Handle(genApi.GenCode) + }) + + genApiLog := ctx.NewLogInfo("生成菜单和api配置") + gen.GET("menuAndApi/:tableId", func(c *gin.Context) { + ctx.NewReqCtxWithGin(c).WithLog(genApiLog).Handle(genApi.AutoApi) + }) + +} diff --git a/apps/develop/router/table.go b/apps/develop/router/table.go new file mode 100644 index 0000000..5c16dd4 --- /dev/null +++ b/apps/develop/router/table.go @@ -0,0 +1,56 @@ +package router + +import ( + "github.com/gin-gonic/gin" + "pandax/apps/develop/api" + "pandax/apps/develop/services" + "pandax/base/ctx" +) + +func InitGenTableRouter(router *gin.RouterGroup) { + // 登录日志 + genApi := &api.GenTableApi{ + GenTableApp: services.DevGenTableModelDao, + } + gen := router.Group("table") + + genDbListLog := ctx.NewLogInfo("获取数据库列表") + gen.GET("/db/list", func(c *gin.Context) { + ctx.NewReqCtxWithGin(c).WithLog(genDbListLog).Handle(genApi.GetDBTableList) + }) + + genListLog := ctx.NewLogInfo("获取表列表") + gen.GET("list", func(c *gin.Context) { + ctx.NewReqCtxWithGin(c).WithLog(genListLog).Handle(genApi.GetTablePage) + }) + + genInfoNameLog := ctx.NewLogInfo("获取表信息By tableName") + gen.GET("/info/tableName", func(c *gin.Context) { + ctx.NewReqCtxWithGin(c).WithLog(genInfoNameLog).Handle(genApi.GetTableInfoByName) + }) + + genInfoLog := ctx.NewLogInfo("获取表信息") + gen.GET("info/:tableId", func(c *gin.Context) { + ctx.NewReqCtxWithGin(c).WithLog(genInfoLog).Handle(genApi.GetTableInfo) + }) + + genTreeLog := ctx.NewLogInfo("获取表树") + gen.GET("tableTree", func(c *gin.Context) { + ctx.NewReqCtxWithGin(c).WithLog(genTreeLog).Handle(genApi.GetTableTree) + }) + + genInsterLog := ctx.NewLogInfo("新增表") + gen.POST("", func(c *gin.Context) { + ctx.NewReqCtxWithGin(c).WithLog(genInsterLog).Handle(genApi.Insert) + }) + + genUpdateLog := ctx.NewLogInfo("修改表") + gen.PUT("", func(c *gin.Context) { + ctx.NewReqCtxWithGin(c).WithLog(genUpdateLog).Handle(genApi.Update) + }) + + genDeleteLog := ctx.NewLogInfo("删除表") + gen.DELETE(":tableId", func(c *gin.Context) { + ctx.NewReqCtxWithGin(c).WithLog(genDeleteLog).Handle(genApi.Delete) + }) +} diff --git a/apps/develop/services/gen_table.go b/apps/develop/services/gen_table.go index 8a36a61..f051e68 100644 --- a/apps/develop/services/gen_table.go +++ b/apps/develop/services/gen_table.go @@ -6,6 +6,7 @@ import ( "pandax/base/biz" "pandax/base/config" "pandax/base/global" + "pandax/base/utils" "strings" ) @@ -17,16 +18,16 @@ import ( type ( SysGenTableModel interface { - FindDbTablesListPage(page, pageSize int, data entity.DevGenTable) (*[]entity.DevGenTable, int64) - FindDbTableOne(tableName string) *entity.DevGenTable + FindDbTablesListPage(page, pageSize int, data entity.DBTables) (*[]entity.DBTables, int64) + FindDbTableOne(tableName string) *entity.DBTables // 导入表数据 Insert(data entity.DevGenTable) - FindOne(dictCode int64) *entity.DevGenTable - FindTree(data entity.DevGenTable) *[]entity.ToolsGenTableExtend + FindOne(data entity.DevGenTable, exclude bool) *entity.DevGenTable + FindTree(data entity.DevGenTable) *[]entity.DevGenTable FindListPage(page, pageSize int, data entity.DevGenTable) (*[]entity.DevGenTable, int64) Update(data entity.DevGenTable) *entity.DevGenTable - Delete(dictCode []int64) + Delete(tableIds []int64) } devGenTableModelImpl struct { @@ -38,36 +39,52 @@ var DevGenTableModelDao SysGenTableModel = &devGenTableModelImpl{ table: "dev_gen_tables", } -func (m *devGenTableModelImpl) FindDbTablesListPage(page, pageSize int, data entity.DevGenTable) (*[]entity.DevGenTable, int64) { - list := make([]entity.DevGenTable, 0) +func (m *devGenTableModelImpl) FindDbTablesListPage(page, pageSize int, data entity.DBTables) (*[]entity.DBTables, int64) { + list := make([]entity.DBTables, 0) + pgdata := make([]map[string]interface{}, 0) var total int64 = 0 offset := pageSize * (page - 1) - if config.Conf.Server.DbType != "mysql" && config.Conf.Server.DbType == "postgresql" { + if config.Conf.Server.DbType != "mysql" && config.Conf.Server.DbType != "postgresql" { biz.ErrIsNil(errors.New("只支持mysql和postgresql数据库"), "只支持mysql和postgresql数据库") } + db := global.Db.Table("information_schema.tables") - db = db.Where("TABLE_NAME not in (select table_name from `" + config.Conf.Gen.Dbname + "`.sys_tables) ") - db = db.Where("table_schema= ? ", config.Conf.Gen.Dbname) - - if data.TableName != "" { - db = db.Where("table_name = ?", data.TableName) + if config.Conf.Server.DbType == "mysql" { + db = db.Where("table_schema= ? ", config.Conf.Gen.Dbname) + } + if config.Conf.Server.DbType == "postgresql" { + db = db.Where("table_schema = ? ", "public") + } + db = db.Where("table_name NOT LIKE 'dev_%'") + if data.TableName != "" { + db = db.Where("table_name like ?", "%"+data.TableName+"%") + } + if config.Conf.Server.DbType == "mysql" { + err := db.Limit(pageSize).Offset(offset).Find(&list).Offset(-1).Limit(-1).Count(&total).Error + biz.ErrIsNil(err, "查询配置分页列表信息失败") + return &list, total + } else { + err := db.Limit(pageSize).Offset(offset).Find(&pgdata).Offset(-1).Limit(-1).Count(&total).Error + biz.ErrIsNil(err, "查询配置分页列表信息失败") + for _, pd := range pgdata { + list = append(list, entity.DBTables{TableName: utils.B2S(pd["table_name"].([]uint8))}) + } + return &list, total } - - err := db.Count(&total).Error - err = db.Limit(pageSize).Offset(offset).Find(&list).Error - biz.ErrIsNil(err, "查询配置分页列表信息失败") - return &list, total } -func (m *devGenTableModelImpl) FindDbTableOne(tableName string) *entity.DevGenTable { - resData := new(entity.DevGenTable) +func (m *devGenTableModelImpl) FindDbTableOne(tableName string) *entity.DBTables { + resData := new(entity.DBTables) if config.Conf.Server.DbType != "mysql" && config.Conf.Server.DbType == "postgresql" { biz.ErrIsNil(errors.New("只支持mysql和postgresql数据库"), "只支持mysql和postgresql数据库") } db := global.Db.Table("information_schema.tables") - db = db.Where("table_schema= ? ", config.Conf.Gen.Dbname) - biz.IsTrue(tableName != "", "table name cannot be empty!") - + if config.Conf.Server.DbType != "mysql" { + db = db.Where("table_schema= ? ", config.Conf.Gen.Dbname) + } + if config.Conf.Server.DbType != "postgresql" { + db = db.Where("table_schema= ? ", "public") + } db = db.Where("table_name = ?", tableName) err := db.First(&resData).Error biz.ErrIsNil(err, err.Error()) @@ -79,19 +96,31 @@ func (m *devGenTableModelImpl) Insert(dgt entity.DevGenTable) { biz.ErrIsNil(err, "新增生成代码表失败") for i := 0; i < len(dgt.Columns); i++ { dgt.Columns[i].TableId = dgt.TableId - SysSysConfigModelDao.Insert(dgt.Columns[i]) + DevTableColumnModelDao.Insert(dgt.Columns[i]) } } -func (m *devGenTableModelImpl) FindOne(tableId int64) *entity.DevGenTable { +func (m *devGenTableModelImpl) FindOne(data entity.DevGenTable, exclude bool) *entity.DevGenTable { resData := new(entity.DevGenTable) - err := global.Db.Table(m.table).Where("`table_id` = ?", tableId).First(resData).Error + db := global.Db.Table(m.table) + if data.TableName != "" { + db = db.Where("table_name = ?", data.TableName) + } + if data.TableId != 0 { + db = db.Where("table_id = ?", data.TableId) + } + if data.TableComment != "" { + db = db.Where("table_comment = ?", data.TableComment) + } + err := db.First(resData).Error biz.ErrIsNil(err, "查询配置信息失败") + list := DevTableColumnModelDao.FindList(entity.DevGenTableColumn{TableId: resData.TableId}, exclude) + resData.Columns = *list return resData } -func (m *devGenTableModelImpl) FindTree(data entity.DevGenTable) *[]entity.ToolsGenTableExtend { - resData := make([]entity.ToolsGenTableExtend, 0) +func (m *devGenTableModelImpl) FindTree(data entity.DevGenTable) *[]entity.DevGenTable { + resData := make([]entity.DevGenTable, 0) db := global.Db.Table(m.table) if data.TableName != "" { @@ -108,7 +137,7 @@ func (m *devGenTableModelImpl) FindTree(data entity.DevGenTable) *[]entity.Tools for i := 0; i < len(resData); i++ { var col entity.DevGenTableColumn col.TableId = resData[i].TableId - columns := SysSysConfigModelDao.FindList(col) + columns := DevTableColumnModelDao.FindList(col, false) resData[i].Columns = *columns } return &resData @@ -173,7 +202,7 @@ func (m *devGenTableModelImpl) Update(data entity.DevGenTable) *entity.DevGenTab } } } - SysSysConfigModelDao.Update(data.Columns[i]) + DevTableColumnModelDao.Update(data.Columns[i]) } return &data } @@ -200,7 +229,7 @@ func (e *devGenTableModelImpl) DeleteTables(tableId int64) bool { } func (m *devGenTableModelImpl) Delete(configIds []int64) { - err := global.Db.Table(m.table).Delete(&entity.DevGenTable{}, "`table_id` in (?)", configIds).Error + err := global.Db.Table(m.table).Delete(&entity.DevGenTable{}, "table_id in (?)", configIds).Error biz.ErrIsNil(err, "删除生成代码信息失败") return } diff --git a/apps/develop/services/gen_table_column.go b/apps/develop/services/gen_table_column.go index 2381da0..919019b 100644 --- a/apps/develop/services/gen_table_column.go +++ b/apps/develop/services/gen_table_column.go @@ -16,37 +16,25 @@ import ( type ( SysGenTableColumnModel interface { - FindDbTablesColumnListPage(page, pageSize int, data entity.DevGenTableColumn) (*[]entity.DevGenTableColumn, int64) - FindDbTableColumnList(tableName string) *[]entity.DevGenTableColumn + FindDbTablesColumnListPage(page, pageSize int, data entity.DBColumns) (*[]entity.DBColumns, int64) + FindDbTableColumnList(tableName string) *[]entity.DBColumns Insert(data entity.DevGenTableColumn) *entity.DevGenTableColumn - FindList(data entity.DevGenTableColumn) *[]entity.DevGenTableColumn + FindList(data entity.DevGenTableColumn, exclude bool) *[]entity.DevGenTableColumn Update(data entity.DevGenTableColumn) *entity.DevGenTableColumn } devTableColumnModelImpl struct { - table string - ColumnTypeStr []string //数据库字符串类型 - ColumnTypeTime []string //数据库时间类型 - ColumnTypeNumber []string //数据库数字类型 - ColumnNameNotEdit []string //页面不需要编辑字段 - ColumnNameNotList []string //页面不需要显示的列表字段 - ColumnNameNotQuery []string //页面不需要查询字段 + table string } ) -var SysSysConfigModelDao SysGenTableColumnModel = &devTableColumnModelImpl{ - table: "dev_gen_table_columns", - ColumnTypeStr: []string{"char", "varchar", "narchar", "varchar2", "tinytext", "text", "mediumtext", "longtext"}, - ColumnTypeTime: []string{"datetime", "time", "date", "timestamp"}, - ColumnTypeNumber: []string{"tinyint", "smallint", "mediumint", "int", "number", "integer", "bigint", "float", "float", "double", "decimal"}, - ColumnNameNotEdit: []string{"id", "created_by", "created_at", "updated_by", "updated_at", "deleted_at"}, - ColumnNameNotList: []string{"id", "created_by", "updated_by", "created_at", "updated_at", "deleted_at"}, - ColumnNameNotQuery: []string{"id", "created_by", "updated_by", "created_at", "updated_at", "deleted_at", "remark"}, +var DevTableColumnModelDao SysGenTableColumnModel = &devTableColumnModelImpl{ + table: "dev_gen_table_columns", } -func (m *devTableColumnModelImpl) FindDbTablesColumnListPage(page, pageSize int, data entity.DevGenTableColumn) (*[]entity.DevGenTableColumn, int64) { - list := make([]entity.DevGenTableColumn, 0) +func (m *devTableColumnModelImpl) FindDbTablesColumnListPage(page, pageSize int, data entity.DBColumns) (*[]entity.DBColumns, int64) { + list := make([]entity.DBColumns, 0) var total int64 = 0 offset := pageSize * (page - 1) if config.Conf.Server.DbType != "mysql" && config.Conf.Server.DbType == "postgresql" { @@ -66,8 +54,8 @@ func (m *devTableColumnModelImpl) FindDbTablesColumnListPage(page, pageSize int, return &list, total } -func (m *devTableColumnModelImpl) FindDbTableColumnList(tableName string) *[]entity.DevGenTableColumn { - resData := make([]entity.DevGenTableColumn, 0) +func (m *devTableColumnModelImpl) FindDbTableColumnList(tableName string) *[]entity.DBColumns { + resData := make([]entity.DBColumns, 0) if config.Conf.Server.DbType != "mysql" && config.Conf.Server.DbType == "postgresql" { biz.ErrIsNil(errors.New("只支持mysql和postgresql数据库"), "只支持mysql和postgresql数据库") } @@ -87,10 +75,20 @@ func (m *devTableColumnModelImpl) Insert(dgt entity.DevGenTableColumn) *entity.D return &dgt } -func (m *devTableColumnModelImpl) FindList(data entity.DevGenTableColumn) *[]entity.DevGenTableColumn { +func (m *devTableColumnModelImpl) FindList(data entity.DevGenTableColumn, exclude bool) *[]entity.DevGenTableColumn { list := make([]entity.DevGenTableColumn, 0) - err := global.Db.Table(m.table).Where("table_id = ?", data.TableId).Find(&list).Error - + db := global.Db.Table(m.table).Where("table_id = ?", data.TableId) + if exclude { + notIn := make([]string, 6) + notIn = append(notIn, "id") + notIn = append(notIn, "create_by") + notIn = append(notIn, "update_by") + notIn = append(notIn, "created_at") + notIn = append(notIn, "updated_at") + notIn = append(notIn, "deleted_at") + db = db.Where(" column_name not in(?)", notIn) + } + err := db.Find(&list).Error biz.ErrIsNil(err, "查询生成代码字段表信息失败") return &list } diff --git a/apps/job/entity/job.go b/apps/job/entity/job.go index 11d6e63..18a9dac 100644 --- a/apps/job/entity/job.go +++ b/apps/job/entity/job.go @@ -13,7 +13,7 @@ type SysJob struct { MisfirePolicy string `json:"misfirePolicy" gorm:"type:varchar(1);"` // 执行策略 Concurrent string `json:"concurrent" gorm:"type:varchar(1);"` // 是否并发 Status string `json:"status" gorm:"type:varchar(1);"` // 状态 - EntryId int `json:"entryId" gorm:"type:int(11);"` // job启动时返回的id + EntryId int `json:"entryId" gorm:"type:int;"` // job启动时返回的id CreateBy string `json:"createBy" gorm:"type:varchar(128);comment:创建人"` UpdateBy string `json:"updateBy" gorm:"type:varchar(128);comment:更新者"` model.BaseModel diff --git a/apps/job/services/job.go b/apps/job/services/job.go index dea7770..2c2ed30 100644 --- a/apps/job/services/job.go +++ b/apps/job/services/job.go @@ -35,7 +35,7 @@ func (m *jobModelImpl) Insert(data entity.SysJob) *entity.SysJob { func (m *jobModelImpl) FindOne(jobId int64) *entity.SysJob { resData := new(entity.SysJob) - err := global.Db.Table(m.table).Where("`job_id` = ?", jobId).First(resData).Error + err := global.Db.Table(m.table).Where("job_id = ?", jobId).First(resData).Error biz.ErrIsNil(err, "查询任务信息失败") return resData } @@ -55,7 +55,7 @@ func (m *jobModelImpl) FindListPage(page, pageSize int, data entity.SysJob) (*[] if data.JobGroup != "" { db = db.Where("job_group = ?", data.JobGroup) } - err := db.Where("`delete_time` IS NULL").Count(&total).Error + err := db.Where("delete_time IS NULL").Count(&total).Error err = db.Order("create_time desc").Limit(pageSize).Offset(offset).Find(&list).Error biz.ErrIsNil(err, "查询任务分页信息失败") @@ -88,14 +88,14 @@ func (m *jobModelImpl) Update(data entity.SysJob) *entity.SysJob { } func (m *jobModelImpl) Delete(jobIds []int64) { - err := global.Db.Table(m.table).Delete(&entity.SysJob{}, "`job_id` in (?)", jobIds).Error + err := global.Db.Table(m.table).Delete(&entity.SysJob{}, "job_id in (?)", jobIds).Error biz.ErrIsNil(err, "删除操作日志信息失败") return } func (m *jobModelImpl) FindByEntryId(entryId int64) *entity.SysJob { resData := new(entity.SysJob) - err := global.Db.Table(m.table).Where("`entry_id` = ?", entryId).First(resData).Error + err := global.Db.Table(m.table).Where("entry_id = ?", entryId).First(resData).Error biz.ErrIsNil(err, "查询失败") return resData } diff --git a/apps/log/entity/log_job.go b/apps/log/entity/log_job.go index 94aaa4f..ec14260 100644 --- a/apps/log/entity/log_job.go +++ b/apps/log/entity/log_job.go @@ -8,7 +8,7 @@ type LogJob struct { LogId int64 `json:"logId" gorm:"primary_key;AUTO_INCREMENT"` //主键 Name string `json:"name" gorm:"type:varchar(128);comment:任务名称"` JobGroup string `json:"jobGroup" gorm:"type:varchar(128);comment:分组"` - EntryId int `json:"entryId" gorm:"type:int(11);comment:任务id"` + EntryId int `json:"entryId" gorm:"type:int;comment:任务id"` InvokeTarget string `json:"invokeTarget" gorm:"type:varchar(128);comment:调用方法"` LogInfo string `json:"logInfo" gorm:"type:varchar(255);comment:日志信息"` Status string `json:"status" gorm:"type:varchar(1);comment:状态"` diff --git a/apps/log/services/log_job.go b/apps/log/services/log_job.go index 4056fb6..1ce00d0 100644 --- a/apps/log/services/log_job.go +++ b/apps/log/services/log_job.go @@ -43,7 +43,7 @@ func (m *logJobModelImpl) FindListPage(page, pageSize int, data entity.LogJob) ( if data.Name != "" { db = db.Where("name like ?", "%"+data.Name+"%") } - err := db.Where("`delete_time` IS NULL").Count(&total).Error + err := db.Where("delete_time IS NULL").Count(&total).Error err = db.Order("log_id desc").Limit(pageSize).Offset(offset).Find(&list).Error biz.ErrIsNil(err, "查询登录分页日志信息失败") @@ -51,7 +51,7 @@ func (m *logJobModelImpl) FindListPage(page, pageSize int, data entity.LogJob) ( } func (m *logJobModelImpl) Delete(logIds []int64) { - err := global.Db.Table(m.table).Delete(&entity.LogJob{}, "`log_id` in (?)", logIds).Error + err := global.Db.Table(m.table).Delete(&entity.LogJob{}, "log_id in (?)", logIds).Error biz.ErrIsNil(err, "删除登录日志信息失败") return } diff --git a/apps/log/services/log_login.go b/apps/log/services/log_login.go index f63e0e8..25ff1f5 100644 --- a/apps/log/services/log_login.go +++ b/apps/log/services/log_login.go @@ -34,7 +34,7 @@ func (m *logLoginModelImpl) Insert(data entity.LogLogin) *entity.LogLogin { func (m *logLoginModelImpl) FindOne(infoId int64) *entity.LogLogin { resData := new(entity.LogLogin) - err := global.Db.Table(m.table).Where("`info_id` = ?", infoId).First(resData).Error + err := global.Db.Table(m.table).Where("info_id = ?", infoId).First(resData).Error biz.ErrIsNil(err, "查询登录日志信息失败") return resData } @@ -54,7 +54,7 @@ func (m *logLoginModelImpl) FindListPage(page, pageSize int, data entity.LogLogi if data.Username != "" { db = db.Where("username like ?", "%"+data.Username+"%") } - err := db.Where("`delete_time` IS NULL").Count(&total).Error + err := db.Where("delete_time IS NULL").Count(&total).Error err = db.Order("info_id desc").Limit(pageSize).Offset(offset).Find(&list).Error biz.ErrIsNil(err, "查询登录分页日志信息失败") @@ -68,7 +68,7 @@ func (m *logLoginModelImpl) Update(data entity.LogLogin) *entity.LogLogin { } func (m *logLoginModelImpl) Delete(infoIds []int64) { - err := global.Db.Table(m.table).Delete(&entity.LogLogin{}, "`info_id` in (?)", infoIds).Error + err := global.Db.Table(m.table).Delete(&entity.LogLogin{}, "info_id in (?)", infoIds).Error biz.ErrIsNil(err, "删除登录日志信息失败") return } diff --git a/apps/log/services/log_oper.go b/apps/log/services/log_oper.go index 9ee02c8..cc917ff 100644 --- a/apps/log/services/log_oper.go +++ b/apps/log/services/log_oper.go @@ -31,7 +31,7 @@ func (m *logLogOperModelImpl) Insert(data entity.LogOper) *entity.LogOper { func (m *logLogOperModelImpl) FindOne(operId int64) *entity.LogOper { resData := new(entity.LogOper) - err := global.Db.Table(m.table).Where("`oper_id` = ?", operId).First(resData).Error + err := global.Db.Table(m.table).Where("oper_id = ?", operId).First(resData).Error biz.ErrIsNil(err, "查询操作日志信息失败") return resData } @@ -54,7 +54,7 @@ func (m *logLogOperModelImpl) FindListPage(page, pageSize int, data entity.LogOp if data.OperName != "" { db = db.Where("oper_name like ?", "%"+data.OperName+"%") } - err := db.Where("`delete_time` IS NULL").Count(&total).Error + err := db.Where("delete_time IS NULL").Count(&total).Error err = db.Order("create_time desc").Limit(pageSize).Offset(offset).Find(&list).Error biz.ErrIsNil(err, "查询操作分页日志信息失败") @@ -62,7 +62,7 @@ func (m *logLogOperModelImpl) FindListPage(page, pageSize int, data entity.LogOp } func (m *logLogOperModelImpl) Delete(operIds []int64) { - err := global.Db.Table(m.table).Delete(&entity.LogOper{}, "`oper_id` in (?)", operIds).Error + err := global.Db.Table(m.table).Delete(&entity.LogOper{}, "oper_id in (?)", operIds).Error biz.ErrIsNil(err, "删除操作日志信息失败") return } diff --git a/apps/system/entity/config.go b/apps/system/entity/config.go index 127ed14..9e0a315 100644 --- a/apps/system/entity/config.go +++ b/apps/system/entity/config.go @@ -8,7 +8,7 @@ type SysConfig struct { ConfigKey string `json:"configKey" gorm:"type:varchar(128);comment:ConfigKey"` ConfigValue string `json:"configValue" gorm:"type:varchar(255);comment:ConfigValue"` ConfigType string `json:"configType" gorm:"type:varchar(64);comment:是否系统内置0,1"` - IsFrontend int `json:"isFrontend" gorm:"type:varchar(64);comment:是否前台"` + IsFrontend string `json:"isFrontend" gorm:"type:varchar(1);comment:是否前台"` Remark string `json:"remark" gorm:"type:varchar(128);comment:Remark"` model.BaseModel } diff --git a/apps/system/entity/dept.go b/apps/system/entity/dept.go index d84c928..bfd1821 100644 --- a/apps/system/entity/dept.go +++ b/apps/system/entity/dept.go @@ -4,10 +4,10 @@ import "pandax/base/model" type SysDept struct { DeptId int64 `json:"deptId" gorm:"primary_key;AUTO_INCREMENT"` //部门编码 - ParentId int64 `json:"parentId" gorm:"type:int(11);comment:上级部门"` + ParentId int64 `json:"parentId" gorm:"type:int;comment:上级部门"` DeptPath string `json:"deptPath" gorm:"type:varchar(255);comment:部门路径"` DeptName string `json:"deptName" gorm:"type:varchar(128);comment:部门名称"` - Sort int64 `json:"sort" gorm:"type:int(4);comment:排序"` + Sort int64 `json:"sort" gorm:"type:int;comment:排序"` Leader string `json:"leader" gorm:"type:varchar(64);comment:负责人"` // userId Phone string `json:"phone" gorm:"type:varchar(11);comment:手机"` Email string `json:"email" gorm:"type:varchar(64);comment:邮箱"` diff --git a/apps/system/entity/dict.go b/apps/system/entity/dict.go index 5421eb0..b055e05 100644 --- a/apps/system/entity/dict.go +++ b/apps/system/entity/dict.go @@ -4,7 +4,7 @@ import "pandax/base/model" type SysDictData struct { DictCode int64 `json:"dictCode" gorm:"primary_key;AUTO_INCREMENT"` - DictSort int `json:"dictSort" gorm:"type:int(11);comment:排序"` + DictSort int `json:"dictSort" gorm:"type:int;comment:排序"` DictLabel string `json:"dictLabel" gorm:"type:varchar(64);comment:标签"` DictValue string `json:"dictValue" gorm:"type:varchar(64);comment:值"` DictType string `json:"dictType" gorm:"type:varchar(64);comment:字典类型"` diff --git a/apps/system/entity/menu.go b/apps/system/entity/menu.go index f1d6972..cf69806 100644 --- a/apps/system/entity/menu.go +++ b/apps/system/entity/menu.go @@ -6,13 +6,13 @@ type SysMenu struct { MenuId int64 `json:"menuId" gorm:"primary_key;AUTO_INCREMENT"` MenuName string `json:"menuName" gorm:"type:varchar(128);"` Title string `json:"title" gorm:"type:varchar(64);"` - ParentId int64 `json:"parentId" gorm:"type:int(11);"` - Sort int64 `json:"sort" gorm:"type:int(4);"` + ParentId int64 `json:"parentId" gorm:"type:int;"` + Sort int64 `json:"sort" gorm:"type:int;"` Icon string `json:"icon" gorm:"type:varchar(128);"` Path string `json:"path" gorm:"type:varchar(128);"` Component string `json:"component" gorm:"type:varchar(255);"` // 组件路径 IsIframe string `json:"isIframe" gorm:"type:varchar(1);"` //是否为内嵌 - IsLink string `json:"isLink" gorm:"type:varchar(11);"` //是否超链接菜单 + IsLink string `json:"isLink" gorm:"type:varchar(255);"` //是否超链接菜单 MenuType string `json:"menuType" gorm:"type:varchar(1);"` //菜单类型(M目录 C菜单 F按钮) IsHide string `json:"isHide" gorm:"type:varchar(1);"` //显示状态(0显示 1隐藏) IsKeepAlive string `json:"isKeepAlive" gorm:"type:varchar(1);"` //是否缓存组件状态(0是 1否) diff --git a/apps/system/entity/notice.go b/apps/system/entity/notice.go index abfb0f1..127907b 100644 --- a/apps/system/entity/notice.go +++ b/apps/system/entity/notice.go @@ -7,7 +7,7 @@ type SysNotice struct { Title string `json:"title" gorm:"type:varchar(128);comment:标题"` Content string `json:"content" gorm:"type:text;comment:标题"` NoticeType string `json:"noticeType" gorm:"type:varchar(1);comment:通知类型"` - DeptId int64 `json:"deptId" gorm:"type:int(11);comment:部门Id,部门及子部门"` + DeptId int64 `json:"deptId" gorm:"type:int;comment:部门Id,部门及子部门"` UserName string `json:"userName" gorm:"type:varchar(64);comment:发布人"` DeptIds []int64 `json:"deptIds" gorm:"-"` diff --git a/apps/system/entity/post.go b/apps/system/entity/post.go index 4cad8ec..3cd34ca 100644 --- a/apps/system/entity/post.go +++ b/apps/system/entity/post.go @@ -6,7 +6,7 @@ type SysPost struct { PostId int64 `gorm:"primary_key;AUTO_INCREMENT" json:"postId"` PostName string `gorm:"type:varchar(128);comment:岗位名称" json:"postName"` PostCode string `gorm:"type:varchar(128);comment:岗位代码" json:"postCode"` - Sort int64 `gorm:"type:int(4);comment:岗位排序" json:"sort"` + Sort int64 `gorm:"type:int;comment:岗位排序" json:"sort"` Status string `gorm:"type:varchar(1);comment:状态" json:"status"` Remark string `gorm:"type:varchar(255);comment:描述" json:"remark"` CreateBy string `gorm:"type:varchar(128);" json:"createBy"` diff --git a/apps/system/entity/role.go b/apps/system/entity/role.go index f758710..b1660dd 100644 --- a/apps/system/entity/role.go +++ b/apps/system/entity/role.go @@ -10,7 +10,7 @@ type SysRole struct { RoleName string `json:"roleName" gorm:"type:varchar(128);comment:角色名称"` Status string `json:"status" gorm:"type:varchar(1);comment:状态"` RoleKey string `json:"roleKey" gorm:"type:varchar(128);comment:角色代码"` - RoleSort int64 `json:"roleSort" gorm:"type:int(4);comment:角色排序"` + RoleSort int64 `json:"roleSort" gorm:"type:int;comment:角色排序"` DataScope string `json:"dataScope" gorm:"type:varchar(1);comment:数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)"` Flag string `json:"flag" gorm:"type:varchar(128);comment:删除标识"` CreateBy string `json:"createBy" gorm:"type:varchar(128);"` diff --git a/apps/system/entity/role_dept.go b/apps/system/entity/role_dept.go index 70079a7..def7f7a 100644 --- a/apps/system/entity/role_dept.go +++ b/apps/system/entity/role_dept.go @@ -1,7 +1,7 @@ package entity type SysRoleDept struct { - RoleId int64 `gorm:"type:int(11)"` - DeptId int64 `gorm:"type:int(11)"` + RoleId int64 `gorm:"type:int"` + DeptId int64 `gorm:"type:int"` Id int64 `gorm:"primary_key;AUTO_INCREMENT;column:id" json:"id" form:"id"` } diff --git a/apps/system/entity/role_menu.go b/apps/system/entity/role_menu.go index 0901915..1e8c89a 100644 --- a/apps/system/entity/role_menu.go +++ b/apps/system/entity/role_menu.go @@ -1,8 +1,8 @@ package entity type SysRoleMenu struct { - RoleId int64 `gorm:"type:int(11)"` - MenuId int64 `gorm:"type:int(11)"` + RoleId int64 `gorm:"type:int"` + MenuId int64 `gorm:"type:int"` RoleName string `gorm:"type:varchar(128)"` Id int64 `gorm:"primary_key;AUTO_INCREMENT;column:id" json:"id" form:"id"` } diff --git a/apps/system/entity/user.go b/apps/system/entity/user.go index 744049c..b0d0cd3 100644 --- a/apps/system/entity/user.go +++ b/apps/system/entity/user.go @@ -23,13 +23,13 @@ type SysUserId struct { type SysUserB struct { NickName string `gorm:"type:varchar(128)" json:"nickName"` // 昵称 Phone string `gorm:"type:varchar(11)" json:"phone"` // 手机号 - RoleId int64 `gorm:"type:int(11)" json:"roleId"` // 角色编码 + RoleId int64 `gorm:"type:int" json:"roleId"` // 角色编码 Salt string `gorm:"type:varchar(255)" json:"salt"` //盐 Avatar string `gorm:"type:varchar(255)" json:"avatar"` //头像 Sex string `gorm:"type:varchar(255)" json:"sex"` //性别 Email string `gorm:"type:varchar(128)" json:"email"` //邮箱 - DeptId int64 `gorm:"type:int(11)" json:"deptId"` //部门编码 - PostId int64 `gorm:"type:int(11)" json:"postId"` //职位编码 + DeptId int64 `gorm:"type:int" json:"deptId"` //部门编码 + PostId int64 `gorm:"type:int" json:"postId"` //职位编码 RoleIds string `gorm:"type:varchar(255)" json:"roleIds"` //多角色 PostIds string `gorm:"type:varchar(255)" json:"postIds"` // 多岗位 CreateBy string `gorm:"type:varchar(128)" json:"createBy"` // diff --git a/apps/system/services/api.go b/apps/system/services/api.go index 027b64b..2e52863 100644 --- a/apps/system/services/api.go +++ b/apps/system/services/api.go @@ -114,6 +114,6 @@ func (m *sysSysApiModelImpl) Update(api entity.SysApi) *entity.SysApi { } func (m *sysSysApiModelImpl) Delete(ids []int64) { - err := global.Db.Table(m.table).Delete(&entity.SysApi{}, "`id` in (?)", ids).Error + err := global.Db.Table(m.table).Delete(&entity.SysApi{}, "id in (?)", ids).Error biz.ErrIsNil(err, "删除配置信息失败") } diff --git a/apps/system/services/config.go b/apps/system/services/config.go index 376c328..8ed63ee 100644 --- a/apps/system/services/config.go +++ b/apps/system/services/config.go @@ -33,7 +33,7 @@ func (m *sysSysConfigModelImpl) Insert(data entity.SysConfig) *entity.SysConfig func (m *sysSysConfigModelImpl) FindOne(configId int64) *entity.SysConfig { resData := new(entity.SysConfig) - err := global.Db.Table(m.table).Where("`config_id` = ?", configId).First(resData).Error + err := global.Db.Table(m.table).Where("config_id = ?", configId).First(resData).Error biz.ErrIsNil(err, "查询配置信息失败") return resData } @@ -88,7 +88,7 @@ func (m *sysSysConfigModelImpl) Update(data entity.SysConfig) *entity.SysConfig } func (m *sysSysConfigModelImpl) Delete(configIds []int64) { - err := global.Db.Table(m.table).Delete(&entity.SysConfig{}, "`config_id` in (?)", configIds).Error + err := global.Db.Table(m.table).Delete(&entity.SysConfig{}, "config_id in (?)", configIds).Error biz.ErrIsNil(err, "删除配置信息失败") return } diff --git a/apps/system/services/dept.go b/apps/system/services/dept.go index 1b04e5e..4513692 100644 --- a/apps/system/services/dept.go +++ b/apps/system/services/dept.go @@ -45,7 +45,7 @@ func (m *sysDeptModelImpl) Insert(data entity.SysDept) *entity.SysDept { func (m *sysDeptModelImpl) FindOne(deptId int64) *entity.SysDept { resData := new(entity.SysDept) - err := global.Db.Table(m.table).Where("`dept_id` = ?", deptId).First(resData).Error + err := global.Db.Table(m.table).Where("dept_id = ?", deptId).First(resData).Error biz.ErrIsNil(err, "查询部门信息失败") return resData } @@ -116,7 +116,7 @@ func (m *sysDeptModelImpl) Update(data entity.SysDept) *entity.SysDept { } func (m *sysDeptModelImpl) Delete(deptIds []int64) { - err := global.Db.Table(m.table).Delete(&entity.SysDept{}, "`dept_id` in (?)", deptIds).Error + err := global.Db.Table(m.table).Delete(&entity.SysDept{}, "dept_id in (?)", deptIds).Error biz.ErrIsNil(err, "删除部门信息失败") return } diff --git a/apps/system/services/dict_data.go b/apps/system/services/dict_data.go index cc52239..4f10072 100644 --- a/apps/system/services/dict_data.go +++ b/apps/system/services/dict_data.go @@ -33,7 +33,7 @@ func (m *sysDictDataModelImpl) Insert(data entity.SysDictData) *entity.SysDictDa func (m *sysDictDataModelImpl) FindOne(codeId int64) *entity.SysDictData { resData := new(entity.SysDictData) - err := global.Db.Table(m.table).Where("`dict_code` = ?", codeId).First(resData).Error + err := global.Db.Table(m.table).Where("dict_code = ?", codeId).First(resData).Error biz.ErrIsNil(err, "查询字典数据信息失败") return resData } @@ -88,7 +88,7 @@ func (m *sysDictDataModelImpl) Update(data entity.SysDictData) *entity.SysDictDa } func (m *sysDictDataModelImpl) Delete(codeIds []int64) { - err := global.Db.Table(m.table).Delete(&entity.SysDept{}, "`dict_code` in (?)", codeIds).Error + err := global.Db.Table(m.table).Delete(&entity.SysDept{}, "dict_code in (?)", codeIds).Error biz.ErrIsNil(err, "删除字典数据信息失败") return } diff --git a/apps/system/services/dict_type.go b/apps/system/services/dict_type.go index 086a958..65f5c05 100644 --- a/apps/system/services/dict_type.go +++ b/apps/system/services/dict_type.go @@ -33,7 +33,7 @@ func (m *sysDictTypeModelImpl) Insert(data entity.SysDictType) *entity.SysDictTy func (m *sysDictTypeModelImpl) FindOne(dictId int64) *entity.SysDictType { resData := new(entity.SysDictType) - err := global.Db.Table(m.table).Where("`dict_id` = ?", dictId).First(resData).Error + err := global.Db.Table(m.table).Where("dict_id = ?", dictId).First(resData).Error biz.ErrIsNil(err, "查询字典类型信息失败") return resData } @@ -88,7 +88,7 @@ func (m *sysDictTypeModelImpl) Update(data entity.SysDictType) *entity.SysDictTy } func (m *sysDictTypeModelImpl) Delete(dictIds []int64) { - err := global.Db.Table(m.table).Delete(&entity.SysDictType{}, "`dict_id` in (?)", dictIds).Error + err := global.Db.Table(m.table).Delete(&entity.SysDictType{}, "dict_id in (?)", dictIds).Error biz.ErrIsNil(err, "删除字典类型信息失败") return } diff --git a/apps/system/services/menu.go b/apps/system/services/menu.go index 2399ba2..79c17a8 100644 --- a/apps/system/services/menu.go +++ b/apps/system/services/menu.go @@ -38,7 +38,7 @@ func (m *sysMenuModelImpl) Insert(data entity.SysMenu) *entity.SysMenu { func (m *sysMenuModelImpl) FindOne(menuId int64) *entity.SysMenu { resData := new(entity.SysMenu) - err := global.Db.Table(m.table).Where("`menu_id` = ?", menuId).First(resData).Error + err := global.Db.Table(m.table).Where("menu_id = ?", menuId).First(resData).Error biz.ErrIsNil(err, "查询菜单失败") return resData } @@ -91,7 +91,7 @@ func (m *sysMenuModelImpl) Update(data entity.SysMenu) *entity.SysMenu { } func (m *sysMenuModelImpl) Delete(menuIds []int64) { - err := global.Db.Table(m.table).Delete(&entity.SysMenu{}, "`menu_id` in (?)", menuIds).Error + err := global.Db.Table(m.table).Delete(&entity.SysMenu{}, "menu_id in (?)", menuIds).Error biz.ErrIsNil(err, "修改菜单失败") return } diff --git a/apps/system/services/notice.go b/apps/system/services/notice.go index ae554e1..385c1e0 100644 --- a/apps/system/services/notice.go +++ b/apps/system/services/notice.go @@ -32,7 +32,7 @@ func (m *sysNoticeModelImpl) Insert(data entity.SysNotice) *entity.SysNotice { func (m *sysNoticeModelImpl) FindOne(postId int64) *entity.SysNotice { resData := new(entity.SysNotice) - err := global.Db.Table(m.table).Where("`post_id` = ?", postId).First(resData).Error + err := global.Db.Table(m.table).Where("post_id = ?", postId).First(resData).Error biz.ErrIsNil(err, "查询通知失败") return resData } diff --git a/apps/system/services/post.go b/apps/system/services/post.go index b321099..5cc9fdd 100644 --- a/apps/system/services/post.go +++ b/apps/system/services/post.go @@ -33,7 +33,7 @@ func (m *sysPostModelImpl) Insert(data entity.SysPost) *entity.SysPost { func (m *sysPostModelImpl) FindOne(postId int64) *entity.SysPost { resData := new(entity.SysPost) - err := global.Db.Table(m.table).Where("`post_id` = ?", postId).First(resData).Error + err := global.Db.Table(m.table).Where("post_id = ?", postId).First(resData).Error biz.ErrIsNil(err, "查询岗位失败") return resData } @@ -90,5 +90,5 @@ func (m *sysPostModelImpl) Update(data entity.SysPost) *entity.SysPost { } func (m *sysPostModelImpl) Delete(postIds []int64) { - biz.ErrIsNil(global.Db.Table(m.table).Delete(&entity.SysPost{}, "`post_id` in (?)", postIds).Error, "删除岗位失败") + biz.ErrIsNil(global.Db.Table(m.table).Delete(&entity.SysPost{}, "post_id in (?)", postIds).Error, "删除岗位失败") } diff --git a/apps/system/services/role.go b/apps/system/services/role.go index 8b7a389..ad2f0d7 100644 --- a/apps/system/services/role.go +++ b/apps/system/services/role.go @@ -30,7 +30,7 @@ var SysRoleModelDao SysRoleModel = &sysRoleModel{ func (m *sysRoleModel) Insert(data entity.SysRole) *entity.SysRole { var i int64 = 0 - global.Db.Table(m.table).Where("(role_name = ? or role_key = ?) and `delete_time` IS NULL", data.RoleName, data.RoleKey).Count(&i) + global.Db.Table(m.table).Where("(role_name = ? or role_key = ?) and delete_time IS NULL", data.RoleName, data.RoleKey).Count(&i) biz.IsTrue(i == 0, "角色名称或者角色标识已经存在!") data.UpdateBy = "" @@ -42,7 +42,7 @@ func (m *sysRoleModel) Insert(data entity.SysRole) *entity.SysRole { func (m *sysRoleModel) FindOne(roleId int64) *entity.SysRole { resData := new(entity.SysRole) - biz.ErrIsNil(global.Db.Table(m.table).Where("`role_id` = ?", roleId).First(resData).Error, "查询角色失败") + biz.ErrIsNil(global.Db.Table(m.table).Where("role_id = ?", roleId).First(resData).Error, "查询角色失败") return resData } @@ -102,7 +102,7 @@ func (m *sysRoleModel) Update(data entity.SysRole) *entity.SysRole { } func (m *sysRoleModel) Delete(roleIds []int64) { - biz.ErrIsNil(global.Db.Table(m.table).Delete(&entity.SysRole{}, "`role_id` in (?)", roleIds).Error, "删除角色失败") + biz.ErrIsNil(global.Db.Table(m.table).Delete(&entity.SysRole{}, "role_id in (?)", roleIds).Error, "删除角色失败") return } diff --git a/apps/system/services/role_dept.go b/apps/system/services/role_dept.go index 148f733..6d77ed3 100644 --- a/apps/system/services/role_dept.go +++ b/apps/system/services/role_dept.go @@ -23,7 +23,7 @@ var SysRoleDeptModelDao SysRoleDeptModel = &sysRoleDeptImpl{ } func (m *sysRoleDeptImpl) Insert(roleId int64, deptIds []int64) bool { - sql := "INSERT INTO `sys_role_depts` (`role_id`,`dept_id`) VALUES " + sql := "INSERT INTO sys_role_depts (role_id, dept_id) VALUES " for i := 0; i < len(deptIds); i++ { if len(deptIds)-1 == i { diff --git a/apps/system/services/role_menu.go b/apps/system/services/role_menu.go index cd1c984..515d54f 100644 --- a/apps/system/services/role_menu.go +++ b/apps/system/services/role_menu.go @@ -37,7 +37,7 @@ func (m *sysRoleMenuImpl) Insert(roleId int64, menuId []int64) bool { biz.ErrIsNil(global.Db.Table("sys_menus").Where("menu_id in (?)", menuId).Find(&menu).Error, "查询菜单失败") //拼接 sql 串 - sql := "INSERT INTO `sys_role_menus` (`role_id`,`menu_id`,`role_name`) VALUES " + sql := "INSERT INTO sys_role_menus (role_id,menu_id,role_name) VALUES " for i := 0; i < len(menu); i++ { if len(menu)-1 == i { diff --git a/apps/system/services/user.go b/apps/system/services/user.go index 115b300..3e79990 100644 --- a/apps/system/services/user.go +++ b/apps/system/services/user.go @@ -46,7 +46,7 @@ func (m *sysUserModelImpl) Insert(data entity.SysUser) *entity.SysUser { // check 用户名 var count int64 - global.Db.Table(m.table).Where("username = ? and `delete_time` IS NULL", data.Username).Count(&count) + global.Db.Table(m.table).Where("username = ? and delete_time IS NULL", data.Username).Count(&count) biz.IsTrue(count == 0, "账户已存在!") biz.ErrIsNil(global.Db.Table(m.table).Create(&data).Error, "添加用户失败") @@ -172,7 +172,7 @@ func (m *sysUserModelImpl) Update(data entity.SysUser) *entity.SysUser { } func (m *sysUserModelImpl) Delete(userIds []int64) { - biz.ErrIsNil(global.Db.Table(m.table).Delete(&entity.SysUser{}, "`user_id` in (?)", userIds).Error, "删除用户失败") + biz.ErrIsNil(global.Db.Table(m.table).Delete(&entity.SysUser{}, "user_id in (?)", userIds).Error, "删除用户失败") } func (m *sysUserModelImpl) SetPwd(data entity.SysUser, pwd entity.SysUserPwd) bool { diff --git a/base/casbin/casbin_model.go b/base/casbin/casbin_model.go index 0e465cb..6bdf48f 100644 --- a/base/casbin/casbin_model.go +++ b/base/casbin/casbin_model.go @@ -5,4 +5,12 @@ type CasbinRule struct { RoleKey string `json:"roleKey" gorm:"column:v0"` Path string `json:"path" gorm:"column:v1"` Method string `json:"method" gorm:"column:v2"` + V3 string `json:"v3" gorm:"column:v3"` + V4 string `json:"v4" gorm:"column:v4"` + V5 string `json:"v5" gorm:"column:v5"` + Id int `json:"id" gorm:"primary_key;AUTO_INCREMENT;column:id"` +} + +func (CasbinRule) TableName() string { + return "casbin_rule" } diff --git a/base/config/db.go b/base/config/db.go index 63ad739..c211255 100644 --- a/base/config/db.go +++ b/base/config/db.go @@ -20,7 +20,7 @@ func (m *Mysql) Dsn() string { type Postgresql struct { Host string `mapstructure:"host" json:"host" yaml:"host"` - Port string `mapstructure:"port" json:"port" yaml:"port"` + Port int `mapstructure:"port" json:"port" yaml:"port"` Dbname string `mapstructure:"db-name" json:"dbname" yaml:"db-name"` Username string `mapstructure:"username" json:"username" yaml:"username"` Password string `mapstructure:"password" json:"password" yaml:"password"` diff --git a/base/starter/gorm.go b/base/starter/gorm.go index 1e2c27e..22dd261 100644 --- a/base/starter/gorm.go +++ b/base/starter/gorm.go @@ -9,6 +9,8 @@ import ( "pandax/base/config" "pandax/base/global" "time" + + _ "github.com/lib/pq" ) func GormInit(ty string) *gorm.DB { @@ -53,6 +55,7 @@ func GormPostgresql() *gorm.DB { global.Log.Panic("未找到数据库配置信息") return nil } + global.Log.Infof("连接postgres [%s]", m.PgDsn()) db, err := sql.Open("postgres", m.PgDsn()) if err != nil { global.Log.Panicf("连接postgresql失败! [%s]", err.Error()) diff --git a/base/utils/regexp.go b/base/utils/regexp.go new file mode 100644 index 0000000..9082726 --- /dev/null +++ b/base/utils/regexp.go @@ -0,0 +1,44 @@ +package utils + +import ( + "pandax/base/global" + "regexp" + "sync" +) + +var ( + regexMu = sync.RWMutex{} + // Cache for regex object. + // Note that: + // 1. It uses sync.RWMutex ensuring the concurrent safety. + // 2. There's no expiring logic for this map. + regexMap = make(map[string]*regexp.Regexp) +) + +// getRegexp returns *regexp.Regexp object with given `pattern`. +// It uses cache to enhance the performance for compiling regular expression pattern, +// which means, it will return the same *regexp.Regexp object with the same regular +// expression pattern. +// +// It is concurrent-safe for multiple goroutines. +func GetRegexp(pattern string) (regex *regexp.Regexp, err error) { + // Retrieve the regular expression object using reading lock. + regexMu.RLock() + regex = regexMap[pattern] + regexMu.RUnlock() + if regex != nil { + return + } + // If it does not exist in the cache, + // it compiles the pattern and creates one. + regex, err = regexp.Compile(pattern) + if err != nil { + global.Log.Warnf(`regexp.Compile failed for pattern "%s"`, pattern) + return + } + // Cache the result object using writing lock. + regexMu.Lock() + regexMap[pattern] = regex + regexMu.Unlock() + return +} diff --git a/base/utils/str_utils.go b/base/utils/str_utils.go index 01f4e5b..c8b93f7 100644 --- a/base/utils/str_utils.go +++ b/base/utils/str_utils.go @@ -22,6 +22,34 @@ func UnicodeIndex(str, substr string) int { return result } +func ReplaceString(pattern, replace, src string) (string, error) { + if r, err := GetRegexp(pattern); err == nil { + return r.ReplaceAllString(src, replace), nil + } else { + return "", err + } +} + +func Contains(haystack, needle string, startOffset ...int) int { + length := len(haystack) + offset := 0 + if len(startOffset) > 0 { + offset = startOffset[0] + } + if length == 0 || offset > length || -offset > length { + return -1 + } + + if offset < 0 { + offset += length + } + pos := strings.Index(strings.ToLower(haystack[offset:]), strings.ToLower(needle)) + if pos == -1 { + return -1 + } + return pos + offset +} + // 字符串模板解析 func TemplateResolve(temp string, data interface{}) string { t, _ := template.New("string-temp").Parse(temp) @@ -59,6 +87,14 @@ func ReverStrTemplate(temp, str string, res map[string]interface{}) { } } +func B2S(bs []uint8) string { + ba := []byte{} + for _, b := range bs { + ba = append(ba, byte(b)) + } + return string(ba) +} + func IdsStrToIdsIntGroup(keys string) []int64 { IDS := make([]int64, 0) ids := strings.Split(keys, ",") diff --git a/config.yml b/config.yml index d325cc6..dfc166e 100644 --- a/config.yml +++ b/config.yml @@ -7,7 +7,7 @@ server: model: release port: 7788 cors: true - db-type: mysql + db-type: postgresql isInitTable: false excel-dir: ./resource/excel/ tls: @@ -48,7 +48,7 @@ postgresql: password: 123456 host: 127.0.0.1 port: 5432 - db-name: postgres + db-name: pandax max-idle-conns: 10 max-open-conns: 10 diff --git a/go.mod b/go.mod index 9a17463..e78baa4 100644 --- a/go.mod +++ b/go.mod @@ -19,6 +19,7 @@ require ( github.com/golang/protobuf v1.5.2 // indirect github.com/json-iterator/go v1.1.11 // indirect github.com/kakuilan/kgo v0.1.8 + github.com/lib/pq v1.10.4 // indirect github.com/mattn/go-isatty v0.0.13 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.1 // indirect diff --git a/go.sum b/go.sum index 578a029..5a9d488 100644 --- a/go.sum +++ b/go.sum @@ -186,6 +186,8 @@ github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.10.2 h1:AqzbZs4ZoCBp+GtejcpCpcxM3zlSMx29dXbUSeVtJb8= github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lib/pq v1.10.4 h1:SO9z7FRPzA03QhHKJrH5BXA6HU1rS4V2nIVrrNC1iYk= +github.com/lib/pq v1.10.4/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= diff --git a/initialize/router.go b/initialize/router.go index a5efd68..a55081f 100644 --- a/initialize/router.go +++ b/initialize/router.go @@ -5,6 +5,7 @@ import ( ginSwagger "github.com/swaggo/gin-swagger" "github.com/swaggo/gin-swagger/swaggerFiles" + devRouter "pandax/apps/develop/router" jobRouter "pandax/apps/job/router" logRouter "pandax/apps/log/router" sysRouter "pandax/apps/system/router" @@ -65,6 +66,7 @@ func InitRouter() *gin.Engine { sysRouter.InitUserRouter(sys) sysRouter.InitNoticeRouter(sys) } + // 任务 job := router.Group("job") { jobRouter.InitJobRouter(job) @@ -74,5 +76,11 @@ func InitRouter() *gin.Engine { { logRouter.InitLogRouter(log) } + // 代码生成 + dev := router.Group("develop/code") + { + devRouter.InitGenTableRouter(dev) + devRouter.InitGenRouter(dev) + } return router } diff --git a/initialize/table.go b/initialize/table.go index 3b9e181..330f0f3 100644 --- a/initialize/table.go +++ b/initialize/table.go @@ -2,7 +2,9 @@ package initialize import ( "pandax/apps/system/entity" + //"pandax/base/casbin" + devEntity "pandax/apps/develop/entity" jobEntity "pandax/apps/job/entity" logEntity "pandax/apps/log/entity" @@ -17,6 +19,7 @@ func InitTable() { if m.IsInitTable { biz.ErrIsNil( global.Db.AutoMigrate( + //casbin.CasbinRule{}, entity.SysDept{}, entity.SysApi{}, entity.SysConfig{}, @@ -32,7 +35,10 @@ func InitTable() { entity.SysRoleMenu{}, entity.SysRoleDept{}, entity.SysNotice{}, - jobEntity.SysJob{}), + jobEntity.SysJob{}, + devEntity.DevGenTable{}, + devEntity.DevGenTableColumn{}, + ), "初始化表失败") } diff --git a/resource/panda-mysql.sql b/resource/pandax-mysql.sql similarity index 55% rename from resource/panda-mysql.sql rename to resource/pandax-mysql.sql index 0d8cae4..0b2af70 100644 --- a/resource/panda-mysql.sql +++ b/resource/pandax-mysql.sql @@ -1,17 +1,17 @@ /* Navicat Premium Data Transfer - Source Server : localhost_mysql + Source Server : 阿里云 Source Server Type : MySQL - Source Server Version : 80023 - Source Host : localhost:3306 + Source Server Version : 50562 + Source Host : 47.104.252.2:3306 Source Schema : pandax Target Server Type : MySQL - Target Server Version : 80023 + Target Server Version : 50562 File Encoding : 65001 - Date: 12/12/2021 17:44:51 + Date: 01/01/2022 11:19:40 */ SET NAMES utf8mb4; @@ -29,86 +29,164 @@ CREATE TABLE `casbin_rule` ( `v3` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `v4` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `v5` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `id` int NOT NULL AUTO_INCREMENT, + `id` int(11) NOT NULL AUTO_INCREMENT, PRIMARY KEY (`id`) USING BTREE, UNIQUE INDEX `idx_casbin_rule`(`ptype`, `v0`, `v1`, `v2`, `v3`, `v4`, `v5`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 134 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 125 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of casbin_rule -- ---------------------------- -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/api', 'POST', '', '', '', 71); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/api', 'PUT', '', '', '', 70); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/api/:id', 'DELETE', '', '', '', 69); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/api/:id', 'GET', '', '', '', 72); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/api/all', 'GET', '', '', '', 74); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/api/getPolicyPathByRoleId', 'GET', '', '', '', 73); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/api/list', 'GET', '', '', '', 75); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/config', 'POST', '', '', '', 78); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/config', 'PUT', '', '', '', 77); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/config/:configId', 'DELETE', '', '', '', 76); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/config/:configId', 'GET', '', '', '', 79); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/config/configKey', 'GET', '', '', '', 80); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/config/list', 'GET', '', '', '', 81); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dept', 'POST', '', '', '', 85); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dept', 'PUT', '', '', '', 84); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dept/:deptId', 'DELETE', '', '', '', 83); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dept/:deptId', 'GET', '', '', '', 87); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dept/deptTree', 'GET', '', '', '', 82); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dept/list', 'GET', '', '', '', 88); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dept/roleDeptTreeSelect/:roleId', 'GET', '', '', '', 86); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dict/data', 'POST', '', '', '', 90); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dict/data', 'PUT', '', '', '', 91); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dict/data/:dictCode', 'DELETE', '', '', '', 92); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dict/data/:dictCode', 'GET', '', '', '', 89); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dict/data/list', 'GET', '', '', '', 94); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dict/data/type', 'GET', '', '', '', 93); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dict/type', 'POST', '', '', '', 97); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dict/type', 'PUT', '', '', '', 100); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dict/type/:dictId', 'DELETE', '', '', '', 96); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dict/type/:dictId', 'GET', '', '', '', 98); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dict/type/export', 'GET', '', '', '', 95); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dict/type/list', 'GET', '', '', '', 99); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/menu', 'POST', '', '', '', 103); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/menu', 'PUT', '', '', '', 102); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/menu/:menuId', 'DELETE', '', '', '', 101); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/menu/:menuId', 'GET', '', '', '', 104); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/menu/list', 'GET', '', '', '', 105); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/menu/menuPaths', 'GET', '', '', '', 106); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/menu/menuRole', 'GET', '', '', '', 108); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/menu/menuTreeSelect', 'GET', '', '', '', 109); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/menu/roleMenuTreeSelect/:roleId', 'GET', '', '', '', 107); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/post', 'POST', '', '', '', 110); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/post', 'PUT', '', '', '', 111); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/post/:postId', 'DELETE', '', '', '', 112); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/post/:postId', 'GET', '', '', '', 113); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/post/list', 'GET', '', '', '', 114); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/role', 'POST', '', '', '', 117); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/role', 'PUT', '', '', '', 118); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/role/:roleId', 'DELETE', '', '', '', 119); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/role/:roleId', 'GET', '', '', '', 116); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/role/changeStatus', 'PUT', '', '', '', 120); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/role/dataScope', 'PUT', '', '', '', 121); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/role/export', 'GET', '', '', '', 122); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/role/list', 'GET', '', '', '', 115); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/user', 'POST', '', '', '', 133); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/user', 'PUT', '', '', '', 132); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/user/:userId', 'DELETE', '', '', '', 124); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/user/avatar', 'POST', '', '', '', 125); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/user/changeStatus', 'PUT', '', '', '', 123); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/user/export', 'GET', '', '', '', 131); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/user/getById/:userId', 'GET', '', '', '', 127); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/user/getInit', 'GET', '', '', '', 128); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/user/getRoPo', 'GET', '', '', '', 129); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/user/list', 'GET', '', '', '', 130); -INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/user/pwd', 'PUT', '', '', '', 126); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/job', 'POST', '', '', '', 34); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/job', 'PUT', '', '', '', 35); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/job/:jobId', 'DELETE', '', '', '', 37); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/job/:jobId', 'GET', '', '', '', 36); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/job/changeStatus', 'PUT', '', '', '', 40); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/job/list', 'GET', '', '', '', 33); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/job/start/:jobId', 'GET', '', '', '', 39); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/job/stop/:jobId', 'GET', '', '', '', 38); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/log/logJob/:logId', 'DELETE', '', '', '', 49); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/log/logJob/all', 'DELETE', '', '', '', 48); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/log/logJob/list', 'GET', '', '', '', 47); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/log/logLogin/:infoId', 'DELETE', '', '', '', 42); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/log/logLogin/all', 'DELETE', '', '', '', 43); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/log/logLogin/list', 'GET', '', '', '', 41); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/log/logOper/:operId', 'DELETE', '', '', '', 45); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/log/logOper/all', 'DELETE', '', '', '', 46); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/log/logOper/list', 'GET', '', '', '', 44); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/api', 'POST', '', '', '', 5); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/api', 'PUT', '', '', '', 6); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/api/:id', 'DELETE', '', '', '', 7); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/api/:id', 'GET', '', '', '', 4); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/api/all', 'GET', '', '', '', 2); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/api/getPolicyPathByRoleId', 'GET', '', '', '', 3); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/api/list', 'GET', '', '', '', 1); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/config', 'POST', '', '', '', 11); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/config', 'PUT', '', '', '', 12); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/config/:configId', 'DELETE', '', '', '', 13); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/config/:configId', 'GET', '', '', '', 10); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/config/configKey', 'GET', '', '', '', 9); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/config/list', 'GET', '', '', '', 8); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dept', 'POST', '', '', '', 18); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dept', 'PUT', '', '', '', 19); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dept/:deptId', 'DELETE', '', '', '', 20); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dept/:deptId', 'GET', '', '', '', 15); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dept/deptTree', 'GET', '', '', '', 17); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dept/list', 'GET', '', '', '', 14); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dept/roleDeptTreeSelect/:roleId', 'GET', '', '', '', 16); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dict/data', 'POST', '', '', '', 30); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dict/data', 'PUT', '', '', '', 31); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dict/data/:dictCode', 'DELETE', '', '', '', 32); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dict/data/:dictCode', 'GET', '', '', '', 29); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dict/data/list', 'GET', '', '', '', 27); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dict/data/type', 'GET', '', '', '', 28); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dict/type', 'POST', '', '', '', 23); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dict/type', 'PUT', '', '', '', 24); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dict/type/:dictId', 'DELETE', '', '', '', 25); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dict/type/:dictId', 'GET', '', '', '', 22); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dict/type/export', 'GET', '', '', '', 26); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/dict/type/list', 'GET', '', '', '', 21); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/menu', 'POST', '', '', '', 56); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/menu', 'PUT', '', '', '', 57); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/menu/:menuId', 'DELETE', '', '', '', 58); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/menu/:menuId', 'GET', '', '', '', 55); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/menu/list', 'GET', '', '', '', 54); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/menu/menuPaths', 'GET', '', '', '', 53); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/menu/menuRole', 'GET', '', '', '', 51); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/menu/menuTreeSelect', 'GET', '', '', '', 50); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/menu/roleMenuTreeSelect/:roleId', 'GET', '', '', '', 52); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/notice', 'POST', '', '', '', 60); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/notice', 'PUT', '', '', '', 61); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/notice/:noticeId', 'DELETE', '', '', '', 62); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/notice/list', 'GET', '', '', '', 59); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/post', 'POST', '', '', '', 65); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/post', 'PUT', '', '', '', 66); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/post/:postId', 'DELETE', '', '', '', 67); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/post/:postId', 'GET', '', '', '', 64); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/post/list', 'GET', '', '', '', 63); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/role', 'POST', '', '', '', 70); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/role', 'PUT', '', '', '', 71); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/role/:roleId', 'DELETE', '', '', '', 72); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/role/:roleId', 'GET', '', '', '', 69); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/role/changeStatus', 'PUT', '', '', '', 73); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/role/dataScope', 'PUT', '', '', '', 74); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/role/export', 'GET', '', '', '', 75); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/role/list', 'GET', '', '', '', 68); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/user', 'POST', '', '', '', 84); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/user', 'PUT', '', '', '', 85); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/user/:userId', 'DELETE', '', '', '', 78); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/user/avatar', 'POST', '', '', '', 79); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/user/changeStatus', 'PUT', '', '', '', 77); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/user/export', 'GET', '', '', '', 86); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/user/getById/:userId', 'GET', '', '', '', 81); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/user/getInit', 'GET', '', '', '', 82); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/user/getRoPo', 'GET', '', '', '', 83); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/user/list', 'GET', '', '', '', 76); +INSERT INTO `casbin_rule` VALUES ('p', 'admin', '/system/user/pwd', 'PUT', '', '', '', 80); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/job/:jobId', 'GET', '', '', '', 104); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/job/changeStatus', 'PUT', '', '', '', 105); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/job/list', 'GET', '', '', '', 103); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/log/logJob/list', 'GET', '', '', '', 108); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/log/logLogin/list', 'GET', '', '', '', 106); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/log/logOper/list', 'GET', '', '', '', 107); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/api/:id', 'GET', '', '', '', 90); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/api/all', 'GET', '', '', '', 88); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/api/getPolicyPathByRoleId', 'GET', '', '', '', 89); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/api/list', 'GET', '', '', '', 87); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/config/:configId', 'GET', '', '', '', 93); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/config/configKey', 'GET', '', '', '', 92); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/config/list', 'GET', '', '', '', 91); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/dept/:deptId', 'GET', '', '', '', 95); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/dept/deptTree', 'GET', '', '', '', 97); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/dept/list', 'GET', '', '', '', 94); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/dept/roleDeptTreeSelect/:roleId', 'GET', '', '', '', 96); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/dict/data/:dictCode', 'GET', '', '', '', 102); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/dict/data/list', 'GET', '', '', '', 100); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/dict/data/type', 'GET', '', '', '', 101); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/dict/type/:dictId', 'GET', '', '', '', 99); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/dict/type/list', 'GET', '', '', '', 98); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/menu/:menuId', 'GET', '', '', '', 114); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/menu/list', 'GET', '', '', '', 113); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/menu/menuPaths', 'GET', '', '', '', 112); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/menu/menuRole', 'GET', '', '', '', 110); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/menu/menuTreeSelect', 'GET', '', '', '', 109); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/menu/roleMenuTreeSelect/:roleId', 'GET', '', '', '', 111); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/notice/list', 'GET', '', '', '', 115); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/post/:postId', 'GET', '', '', '', 117); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/post/list', 'GET', '', '', '', 116); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/role/:roleId', 'GET', '', '', '', 119); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/role/list', 'GET', '', '', '', 118); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/user/avatar', 'POST', '', '', '', 121); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/user/getById/:userId', 'GET', '', '', '', 122); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/user/getInit', 'GET', '', '', '', 123); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/user/getRoPo', 'GET', '', '', '', 124); +INSERT INTO `casbin_rule` VALUES ('p', 'manage', '/system/user/list', 'GET', '', '', '', 120); + +-- ---------------------------- +-- Table structure for log_jobs +-- ---------------------------- +DROP TABLE IF EXISTS `log_jobs`; +CREATE TABLE `log_jobs` ( + `log_id` bigint(20) NOT NULL AUTO_INCREMENT, + `name` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '任务名称', + `job_group` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '分组', + `entry_id` int(11) NULL DEFAULT NULL COMMENT '任务id', + `invoke_target` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '调用方法', + `log_info` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '日志信息', + `status` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '状态', + `create_time` datetime NULL DEFAULT NULL, + `update_time` datetime NULL DEFAULT NULL, + `delete_time` datetime NULL DEFAULT NULL, + PRIMARY KEY (`log_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 260 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; + -- ---------------------------- -- Table structure for log_logins -- ---------------------------- DROP TABLE IF EXISTS `log_logins`; CREATE TABLE `log_logins` ( - `info_id` bigint NOT NULL AUTO_INCREMENT, + `info_id` bigint(20) NOT NULL AUTO_INCREMENT, `username` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名', `status` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态', `ipaddr` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'ip地址', @@ -125,16 +203,16 @@ CREATE TABLE `log_logins` ( `update_time` datetime NULL DEFAULT NULL, `delete_time` datetime NULL DEFAULT NULL, PRIMARY KEY (`info_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 153 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 383 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for log_opers -- ---------------------------- DROP TABLE IF EXISTS `log_opers`; CREATE TABLE `log_opers` ( - `oper_id` bigint NOT NULL AUTO_INCREMENT, + `oper_id` bigint(20) NOT NULL AUTO_INCREMENT, `title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作的模块', - `business_type` int NULL DEFAULT NULL COMMENT '0其它 1新增 2修改 3删除', + `business_type` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '0其它 1新增 2修改 3删除', `method` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '请求方法', `oper_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作人员', `oper_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '操作url', @@ -146,18 +224,14 @@ CREATE TABLE `log_opers` ( `update_time` datetime NULL DEFAULT NULL, `delete_time` datetime NULL DEFAULT NULL, PRIMARY KEY (`oper_id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; - --- ---------------------------- --- Records of log_opers --- ---------------------------- +) ENGINE = InnoDB AUTO_INCREMENT = 173 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Table structure for sys_apis -- ---------------------------- DROP TABLE IF EXISTS `sys_apis`; CREATE TABLE `sys_apis` ( - `id` bigint NOT NULL AUTO_INCREMENT, + `id` bigint(20) NOT NULL AUTO_INCREMENT, `create_time` datetime NULL DEFAULT NULL, `update_time` datetime NULL DEFAULT NULL, `delete_time` datetime NULL DEFAULT NULL, @@ -166,7 +240,7 @@ CREATE TABLE `sys_apis` ( `api_group` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'api组', `method` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '方法', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 66 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 87 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_apis @@ -236,13 +310,34 @@ INSERT INTO `sys_apis` VALUES (62, '2021-12-09 19:52:14', '2021-12-09 19:52:14', INSERT INTO `sys_apis` VALUES (63, '2021-12-09 19:52:35', '2021-12-09 19:52:35', NULL, '/system/api', '添加api信息', 'api', 'POST'); INSERT INTO `sys_apis` VALUES (64, '2021-12-09 19:52:50', '2021-12-09 19:52:50', NULL, '/system/api', '修改api信息', 'api', 'PUT'); INSERT INTO `sys_apis` VALUES (65, '2021-12-09 19:53:07', '2021-12-09 19:53:07', NULL, '/system/api/:id', '删除api信息', 'api', 'DELETE'); +INSERT INTO `sys_apis` VALUES (66, '2021-12-17 10:51:05', '2021-12-17 10:54:22', NULL, '/log/logLogin/list', '获取登录日志', 'log', 'GET'); +INSERT INTO `sys_apis` VALUES (67, '2021-12-17 10:51:43', '2021-12-17 10:54:28', NULL, '/log/logLogin/:infoId', '删除日志', 'log', 'DELETE'); +INSERT INTO `sys_apis` VALUES (68, '2021-12-17 10:53:09', '2021-12-17 10:54:34', NULL, '/log/logLogin/all', '清空所有', 'log', 'DELETE'); +INSERT INTO `sys_apis` VALUES (69, '2021-12-17 10:54:07', '2021-12-17 10:54:07', NULL, '/log/logOper/list', '操作日志列表', 'log', 'GET'); +INSERT INTO `sys_apis` VALUES (70, '2021-12-17 10:53:09', '2021-12-17 10:53:09', NULL, '/log/logOper/:operId', '删除', 'log', 'DELETE'); +INSERT INTO `sys_apis` VALUES (71, '2021-12-17 10:53:09', '2021-12-17 10:53:09', NULL, '/log/logOper/all', '清空', 'log', 'DELETE'); +INSERT INTO `sys_apis` VALUES (72, '2021-12-24 15:41:23', '2021-12-24 15:41:23', NULL, '/job/list', '任务列表', 'job', 'GET'); +INSERT INTO `sys_apis` VALUES (73, '2021-12-24 15:41:54', '2021-12-24 15:41:54', NULL, '/job', '添加', 'job', 'POST'); +INSERT INTO `sys_apis` VALUES (74, '2021-12-24 15:42:11', '2021-12-24 15:42:11', NULL, '/job', '修改任务', 'job', 'PUT'); +INSERT INTO `sys_apis` VALUES (75, '2021-12-24 15:42:37', '2021-12-24 16:32:21', NULL, '/job/:jobId', '获取任务', 'job', 'GET'); +INSERT INTO `sys_apis` VALUES (76, '2021-12-24 15:43:09', '2021-12-24 16:32:05', NULL, '/job/:jobId', '删除job', 'job', 'DELETE'); +INSERT INTO `sys_apis` VALUES (77, '2021-12-24 15:43:35', '2021-12-24 16:31:11', NULL, '/job/stop/:jobId', '停止任务', 'job', 'GET'); +INSERT INTO `sys_apis` VALUES (78, '2021-12-24 15:44:09', '2021-12-24 16:30:38', NULL, '/job/start/:jobId', '开始任务', 'job', 'GET'); +INSERT INTO `sys_apis` VALUES (79, '2021-12-24 15:45:03', '2021-12-24 15:46:36', NULL, '/log/logJob/list', '任务日志列表', 'log', 'GET'); +INSERT INTO `sys_apis` VALUES (80, '2021-12-24 15:45:33', '2021-12-24 15:46:43', NULL, '/log/logJob/all', '清空任务日志', 'log', 'DELETE'); +INSERT INTO `sys_apis` VALUES (81, '2021-12-24 15:46:08', '2021-12-24 16:33:13', NULL, '/log/logJob/:logId', '删除任务日志', 'log', 'DELETE'); +INSERT INTO `sys_apis` VALUES (82, '2021-12-24 15:45:33', '2021-12-24 15:45:33', NULL, '/system/notice/list', '获取通知分页列表', 'notice', 'GET'); +INSERT INTO `sys_apis` VALUES (83, '2021-12-24 15:45:33', '2021-12-24 15:45:33', NULL, '/system/notice', '添加通知信息', 'notice', 'POST'); +INSERT INTO `sys_apis` VALUES (84, '2021-12-24 15:45:33', '2021-12-24 15:45:33', NULL, '/system/notice', '修改通知信息', 'notice', 'PUT'); +INSERT INTO `sys_apis` VALUES (85, '2021-12-24 15:45:33', '2021-12-24 16:33:48', NULL, '/system/notice/:noticeId', '删除通知信息', 'notice', 'DELETE'); +INSERT INTO `sys_apis` VALUES (86, '2021-12-24 22:40:19', '2021-12-24 22:40:19', NULL, '/job/changeStatus', '修改状态', 'job', 'PUT'); -- ---------------------------- -- Table structure for sys_configs -- ---------------------------- DROP TABLE IF EXISTS `sys_configs`; CREATE TABLE `sys_configs` ( - `config_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键编码', + `config_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键编码', `config_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'ConfigName', `config_key` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'ConfigKey', `config_value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'ConfigValue', @@ -253,7 +348,7 @@ CREATE TABLE `sys_configs` ( `update_time` datetime NULL DEFAULT NULL, `delete_time` datetime NULL DEFAULT NULL, PRIMARY KEY (`config_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_configs @@ -265,11 +360,11 @@ INSERT INTO `sys_configs` VALUES (1, '账号初始密码', 'sys.user.initPasswor -- ---------------------------- DROP TABLE IF EXISTS `sys_depts`; CREATE TABLE `sys_depts` ( - `dept_id` bigint NOT NULL AUTO_INCREMENT, - `parent_id` int NULL DEFAULT NULL COMMENT '上级部门', + `dept_id` bigint(20) NOT NULL AUTO_INCREMENT, + `parent_id` int(11) NULL DEFAULT NULL COMMENT '上级部门', `dept_path` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '部门路径', `dept_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '部门名称', - `sort` int NULL DEFAULT NULL COMMENT '排序', + `sort` int(4) NULL DEFAULT NULL COMMENT '排序', `leader` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '负责人', `phone` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '手机', `email` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '邮箱', @@ -280,22 +375,22 @@ CREATE TABLE `sys_depts` ( `update_time` datetime NULL DEFAULT NULL, `delete_time` datetime NULL DEFAULT NULL, PRIMARY KEY (`dept_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_depts -- ---------------------------- INSERT INTO `sys_depts` VALUES (2, 0, '/0/2', '熊猫科技', 0, 'xm', '18353366836', '342@qq.com', '0', 'admin', 'admin', '2021-12-01 17:31:53', '2021-12-02 08:56:19', NULL); -INSERT INTO `sys_depts` VALUES (3, 2, '/3', '研发部', 1, 'panda', '18353366543', 'ewr@qq.com', '0', 'admin', 'admin', '2021-12-01 17:37:43', '2021-12-02 08:55:56', NULL); -INSERT INTO `sys_depts` VALUES (4, 2, '/0/2/4', '营销部', 0, 'lisa', '18653366543', '', '1', 'admin', 'admin', '2021-12-01 17:31:53', '2021-12-02 09:02:20', '2021-12-02 09:02:46'); +INSERT INTO `sys_depts` VALUES (3, 2, '/0/2/3', '研发部', 1, 'panda', '18353366543', 'ewr@qq.com', '0', 'admin', 'admin', '2021-12-01 17:37:43', '2021-12-02 08:55:56', NULL); +INSERT INTO `sys_depts` VALUES (7, 2, '/0/2/7', '营销部', 2, 'panda', '18353333333', '342@qq.com', '0', 'panda', 'panda', '2021-12-24 10:46:24', '2021-12-24 10:47:15', NULL); -- ---------------------------- -- Table structure for sys_dict_data -- ---------------------------- DROP TABLE IF EXISTS `sys_dict_data`; CREATE TABLE `sys_dict_data` ( - `dict_code` bigint NOT NULL AUTO_INCREMENT, - `dict_sort` int NULL DEFAULT NULL COMMENT '排序', + `dict_code` bigint(20) NOT NULL AUTO_INCREMENT, + `dict_sort` int(11) NULL DEFAULT NULL COMMENT '排序', `dict_label` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标签', `dict_value` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '值', `dict_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '字典类型', @@ -310,7 +405,7 @@ CREATE TABLE `sys_dict_data` ( `update_time` datetime NULL DEFAULT NULL, `delete_time` datetime NULL DEFAULT NULL, PRIMARY KEY (`dict_code`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 19 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 31 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_dict_data @@ -333,13 +428,25 @@ INSERT INTO `sys_dict_data` VALUES (15, 0, '创建(POST)', 'POST', 'sys_method_a INSERT INTO `sys_dict_data` VALUES (16, 1, '查询(GET)', 'GET', 'sys_method_api', '0', '', '', '', 'admin', '', '', '2021-12-08 17:22:24', '2021-12-09 09:29:59', NULL); INSERT INTO `sys_dict_data` VALUES (17, 2, '修改(PUT)', 'PUT', 'sys_method_api', '0', '', '', '', 'admin', '', '', '2021-12-08 17:22:40', '2021-12-09 09:30:06', NULL); INSERT INTO `sys_dict_data` VALUES (18, 3, '删除(DELETE)', 'DELETE', 'sys_method_api', '0', '', '', '', 'admin', '', '', '2021-12-08 17:22:54', '2021-12-09 09:30:13', NULL); +INSERT INTO `sys_dict_data` VALUES (19, 0, '成功', '0', 'sys_common_status', '0', '', '', '', 'admin', '', '', '2021-12-17 11:01:52', '2021-12-17 11:01:52', NULL); +INSERT INTO `sys_dict_data` VALUES (20, 0, '失败', '1', 'sys_common_status', '0', '', '', '', 'admin', '', '', '2021-12-17 11:02:08', '2021-12-17 11:02:08', NULL); +INSERT INTO `sys_dict_data` VALUES (21, 0, '其他', '0', 'sys_oper_type', '0', '', '', '', 'admin', '', '', '2021-12-17 11:30:07', '2021-12-17 11:30:07', NULL); +INSERT INTO `sys_dict_data` VALUES (22, 0, '新增', '1', 'sys_oper_type', '0', '', '', '', 'admin', '', '', '2021-12-17 11:30:21', '2021-12-17 11:30:21', NULL); +INSERT INTO `sys_dict_data` VALUES (23, 0, '修改', '2', 'sys_oper_type', '0', '', '', '', 'admin', '', '', '2021-12-17 11:30:32', '2021-12-17 11:30:32', NULL); +INSERT INTO `sys_dict_data` VALUES (24, 0, '删除', '3', 'sys_oper_type', '0', '', '', '', 'admin', '', '', '2021-12-17 11:30:40', '2021-12-17 11:30:40', NULL); +INSERT INTO `sys_dict_data` VALUES (25, 0, '默认', 'DEFAULT', 'sys_job_group', '0', '', '', '', 'panda', '', '', '2021-12-24 15:15:31', '2021-12-24 15:15:31', NULL); +INSERT INTO `sys_dict_data` VALUES (26, 1, '系统', 'SYSTEM', 'sys_job_group', '0', '', '', '', 'panda', '', '', '2021-12-24 15:15:50', '2021-12-24 15:15:50', NULL); +INSERT INTO `sys_dict_data` VALUES (27, 0, '发布通知', '1', 'sys_notice_type', '0', '', '', '', 'panda', '', '', '2021-12-26 15:24:07', '2021-12-26 15:24:07', NULL); +INSERT INTO `sys_dict_data` VALUES (28, 0, '任免通知', '2', 'sys_notice_type', '0', '', '', '', 'panda', '', '', '2021-12-26 15:24:18', '2021-12-26 15:24:18', NULL); +INSERT INTO `sys_dict_data` VALUES (29, 0, '事物通知', '3', 'sys_notice_type', '0', '', '', '', 'panda', '', '', '2021-12-26 15:24:46', '2021-12-26 15:24:46', NULL); +INSERT INTO `sys_dict_data` VALUES (30, 0, '审批通知', '4', 'sys_notice_type', '0', '', '', '', 'panda', '', '', '2021-12-26 15:25:08', '2021-12-26 15:25:08', NULL); -- ---------------------------- -- Table structure for sys_dict_types -- ---------------------------- DROP TABLE IF EXISTS `sys_dict_types`; CREATE TABLE `sys_dict_types` ( - `dict_id` bigint NOT NULL AUTO_INCREMENT, + `dict_id` bigint(20) NOT NULL AUTO_INCREMENT, `dict_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '名称', `dict_type` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '类型', `status` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态', @@ -350,7 +457,7 @@ CREATE TABLE `sys_dict_types` ( `update_time` datetime NULL DEFAULT NULL, `delete_time` datetime NULL DEFAULT NULL, PRIMARY KEY (`dict_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 30 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_dict_types @@ -367,22 +474,55 @@ INSERT INTO `sys_dict_types` VALUES (9, '数字是否', 'sys_num_yes_no', '0', ' INSERT INTO `sys_dict_types` VALUES (10, '数字是否', 'sys_num_yes_no', '0', 'admin', '', '数字是否', '2021-12-02 10:13:29', '2021-12-02 10:13:29', NULL); INSERT INTO `sys_dict_types` VALUES (11, '状态是否', 'sys_yes_no', '0', 'admin', '', '状态是否', '2021-12-04 13:47:57', '2021-12-04 13:47:57', NULL); INSERT INTO `sys_dict_types` VALUES (12, '网络请求方法', 'sys_method_api', '0', 'admin', '', '网络请求方法列表', '2021-12-08 17:21:27', '2021-12-08 17:21:27', NULL); +INSERT INTO `sys_dict_types` VALUES (13, '成功失败', 'sys_common_status', '0', 'admin', '', '是否成功失败', '2021-12-17 10:10:03', '2021-12-17 10:10:03', NULL); +INSERT INTO `sys_dict_types` VALUES (27, '操作分类', 'sys_oper_type', '0', 'admin', '', '操作分类列表', '2021-12-17 11:29:50', '2021-12-17 11:29:50', NULL); +INSERT INTO `sys_dict_types` VALUES (28, '任务组', 'sys_job_group', '0', 'panda', '', '系统任务,开机自启', '2021-12-24 15:14:56', '2021-12-24 15:14:56', NULL); +INSERT INTO `sys_dict_types` VALUES (29, '通知类型', 'sys_notice_type', '0', 'panda', '', '通知类型列表', '2021-12-26 15:23:26', '2021-12-26 15:23:26', NULL); + +-- ---------------------------- +-- Table structure for sys_jobs +-- ---------------------------- +DROP TABLE IF EXISTS `sys_jobs`; +CREATE TABLE `sys_jobs` ( + `job_id` bigint(20) NOT NULL AUTO_INCREMENT, + `job_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `job_group` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `job_type` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `cron_expression` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `invoke_target` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `args` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `misfire_policy` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `concurrent` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `status` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `entry_id` int(11) NULL DEFAULT NULL, + `create_by` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '创建人', + `update_by` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新者', + `create_time` datetime NULL DEFAULT NULL, + `update_time` datetime NULL DEFAULT NULL, + `delete_time` datetime NULL DEFAULT NULL, + PRIMARY KEY (`job_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; + +-- ---------------------------- +-- Records of sys_jobs +-- ---------------------------- +INSERT INTO `sys_jobs` VALUES (1, 'testcron', 'SYSTEM', '2', ' 0/10 * * * * ?', 'cronHandle', 'aaa', '', '', '1', 0, 'panda', '', '2021-12-24 16:06:09', '2021-12-24 22:44:09', NULL); -- ---------------------------- -- Table structure for sys_menus -- ---------------------------- DROP TABLE IF EXISTS `sys_menus`; CREATE TABLE `sys_menus` ( - `menu_id` bigint NOT NULL AUTO_INCREMENT, + `menu_id` bigint(20) NOT NULL AUTO_INCREMENT, `menu_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `title` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `parent_id` int NULL DEFAULT NULL, - `sort` int NULL DEFAULT NULL, + `parent_id` int(11) NULL DEFAULT NULL, + `sort` int(4) NULL DEFAULT NULL, `icon` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `path` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `is_frame` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, - `is_link` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `is_iframe` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, + `is_link` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `menu_type` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `is_hide` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, `is_keep_alive` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL, @@ -396,22 +536,22 @@ CREATE TABLE `sys_menus` ( `update_time` datetime NULL DEFAULT NULL, `delete_time` datetime NULL DEFAULT NULL, PRIMARY KEY (`menu_id`) USING BTREE -) ENGINE = InnoDB AUTO_INCREMENT = 43 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 59 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC; -- ---------------------------- -- Records of sys_menus -- ---------------------------- -INSERT INTO `sys_menus` VALUES (1, '系统设置', '', 0, 0, 'el-icon-s-tools', '/system', 'Layout', '1', '', 'M', '0', '0', '1', '', '0', 'admin', 'admin', '', '2021-12-02 11:04:08', '2021-12-04 11:04:45', NULL); -INSERT INTO `sys_menus` VALUES (3, '用户管理', '', 1, 1, 'el-icon-user', '/system/user', '/system/user/index', '1', '', 'C', '0', '1', '1', 'system:user:list', '0', 'admin', '', '', '2021-12-02 14:07:56', '2021-12-02 14:07:56', NULL); +INSERT INTO `sys_menus` VALUES (1, '系统设置', '', 0, 0, 'elementSetting', '/system', 'Layout', '1', '', 'M', '0', '0', '1', '', '0', 'admin', 'panda', '', '2021-12-02 11:04:08', '2021-12-28 13:32:21', NULL); +INSERT INTO `sys_menus` VALUES (3, '用户管理', '', 1, 1, 'elementUser', '/system/user', '/system/user/index', '1', '', 'C', '0', '1', '1', 'system:user:list', '0', 'admin', 'panda', '', '2021-12-02 14:07:56', '2021-12-28 13:32:44', NULL); INSERT INTO `sys_menus` VALUES (4, '添加用户', '', 3, 1, '', '', '', '', '', 'F', '0', '', '', 'system:user:add', '0', 'admin', '', '', '2021-12-03 13:36:33', '2021-12-03 13:36:33', NULL); INSERT INTO `sys_menus` VALUES (5, '编辑用户', '', 3, 1, '', '', '', '', '', 'F', '0', '', '', 'system:user:edit', '0', 'admin', '', '', '2021-12-03 13:48:13', '2021-12-03 13:48:13', NULL); -INSERT INTO `sys_menus` VALUES (6, '角色管理', '', 1, 1, 'el-icon-user-solid', '/system/role', '/system/role/index', '1', '', 'C', '0', '1', '1', 'system:role:list', '0', 'admin', 'admin', '', '2021-12-03 13:51:55', '2021-12-03 13:55:04', NULL); -INSERT INTO `sys_menus` VALUES (7, '菜单管理', '', 1, 2, 'el-icon-menu', '/system/menu', '/system/menu/index', '1', '', 'C', '0', '1', '1', 'system:menu:list', '0', 'admin', 'admin', '', '2021-12-03 13:54:44', '2021-12-03 13:58:55', NULL); -INSERT INTO `sys_menus` VALUES (8, '部门管理', '', 1, 3, 'el-icon-set-up', '/system/dept', '/system/dept/index', '1', '', 'C', '0', '1', '1', 'system:dept:list', '0', 'admin', '', '', '2021-12-03 13:58:36', '2021-12-03 13:58:36', NULL); -INSERT INTO `sys_menus` VALUES (9, '岗位管理', '', 1, 4, 'el-icon-s-flag', '/system/post', '/system/post/index', '1', '', 'C', '0', '1', '1', 'system:post:list', '0', 'admin', '', '', '2021-12-03 13:54:44', '2021-12-03 13:54:44', NULL); -INSERT INTO `sys_menus` VALUES (10, '字典管理', '', 1, 5, 'el-icon-s-order', '/system/dict', '/system/dict/index', '1', '', 'C', '0', '1', '1', 'system:dict:list', '0', 'admin', '', '', '2021-12-03 13:54:44', '2021-12-03 13:54:44', NULL); -INSERT INTO `sys_menus` VALUES (11, '参数管理', '', 1, 6, 'el-icon-document', '/system/config', '/system/config/index', '1', '', 'C', '0', '1', '1', 'system:config:list', '0', 'admin', 'admin', '', '2021-12-03 13:54:44', '2021-12-03 17:06:35', NULL); -INSERT INTO `sys_menus` VALUES (12, '个人中心', '', 0, 2, 'el-icon-s-custom', '/personal', '/personal/index', '1', '', 'M', '0', '0', '0', '', '0', 'admin', 'admin', '', '2021-12-03 14:12:43', '2021-12-04 12:14:46', NULL); +INSERT INTO `sys_menus` VALUES (6, '角色管理', '', 1, 1, 'elementUserFilled', '/system/role', '/system/role/index', '1', '', 'C', '0', '1', '1', 'system:role:list', '0', 'admin', 'panda', '', '2021-12-03 13:51:55', '2021-12-28 13:32:55', NULL); +INSERT INTO `sys_menus` VALUES (7, '菜单管理', '', 1, 2, 'iconfont icon-juxingkaobei', '/system/menu', '/system/menu/index', '1', '', 'C', '0', '1', '1', 'system:menu:list', '0', 'admin', 'panda', '', '2021-12-03 13:54:44', '2021-12-28 13:33:19', NULL); +INSERT INTO `sys_menus` VALUES (8, '部门管理', '', 1, 3, 'iconfont icon-jiliandongxuanzeqi', '/system/dept', '/system/dept/index', '1', '', 'C', '0', '1', '1', 'system:dept:list', '0', 'admin', 'panda', '', '2021-12-03 13:58:36', '2021-12-28 13:40:20', NULL); +INSERT INTO `sys_menus` VALUES (9, '岗位管理', '', 1, 4, 'iconfont icon-neiqianshujuchucun', '/system/post', '/system/post/index', '1', '', 'C', '0', '1', '1', 'system:post:list', '0', 'admin', 'panda', '', '2021-12-03 13:54:44', '2021-12-28 13:40:31', NULL); +INSERT INTO `sys_menus` VALUES (10, '字典管理', '', 1, 5, 'elementCellphone', '/system/dict', '/system/dict/index', '1', '', 'C', '0', '1', '1', 'system:dict:list', '0', 'admin', 'panda', '', '2021-12-03 13:54:44', '2021-12-28 13:40:50', NULL); +INSERT INTO `sys_menus` VALUES (11, '参数管理', '', 1, 6, 'elementDocumentCopy', '/system/config', '/system/config/index', '1', '', 'C', '0', '1', '1', 'system:config:list', '0', 'admin', 'panda', '', '2021-12-03 13:54:44', '2021-12-28 13:41:05', NULL); +INSERT INTO `sys_menus` VALUES (12, '个人中心', '', 0, 10, 'elementAvatar', '/personal', '/personal/index', '1', '', 'M', '0', '0', '0', '', '0', 'admin', 'panda', '', '2021-12-03 14:12:43', '2021-12-28 13:43:17', NULL); INSERT INTO `sys_menus` VALUES (13, '添加配置', '', 11, 1, '', '', '', '', '', 'F', '', '', '', 'system:config:add', '0', 'admin', '', '', '2021-12-06 17:19:19', '2021-12-06 17:19:19', NULL); INSERT INTO `sys_menus` VALUES (14, '修改配置', '', 11, 1, '', '', '', '', '', 'F', '', '', '', 'system:config:edit', '0', 'admin', '', '', '2021-12-06 17:20:30', '2021-12-06 17:20:30', NULL); INSERT INTO `sys_menus` VALUES (15, '删除配置', '', 11, 1, '', '', '', '', '', 'F', '', '', '', 'system:config:delete', '0', 'admin', '', '', '2021-12-06 17:23:52', '2021-12-06 17:23:52', NULL); @@ -442,16 +582,56 @@ INSERT INTO `sys_menus` VALUES (39, 'API管理', '', 1, 1, 'iconfont icon-siweid INSERT INTO `sys_menus` VALUES (40, '添加api', '', 39, 1, '', '/system/api', '', '', '', 'F', '', '', '', 'system:api:add', '0', 'admin', '', '', '2021-12-09 09:09:54', '2021-12-09 09:09:54', NULL); INSERT INTO `sys_menus` VALUES (41, '编辑api', '', 39, 1, '', '/system/api', '', '', '', 'F', '', '', '', 'system:api:edit', '0', 'admin', '', '', '2021-12-09 09:10:38', '2021-12-09 09:10:38', NULL); INSERT INTO `sys_menus` VALUES (42, '删除api', '', 39, 1, '', '/system/api', '', '', '', 'F', '', '', '', 'system:api:delete', '0', 'admin', '', '', '2021-12-09 09:11:11', '2021-12-09 09:11:11', NULL); +INSERT INTO `sys_menus` VALUES (43, '日志系统', '', 0, 1, 'iconfont icon-biaodan', '/log', 'Layout', '1', '', 'M', '0', '1', '1', '', '0', 'admin', 'panda', '', '2021-12-02 11:04:08', '2021-12-28 13:38:33', NULL); +INSERT INTO `sys_menus` VALUES (44, '系统工具', '', 0, 2, 'iconfont icon-gongju', '/tool', 'Layout', '1', '', 'M', '0', '1', '1', '', '0', 'admin', 'panda', '', '2021-12-16 16:35:15', '2021-12-28 13:38:46', NULL); +INSERT INTO `sys_menus` VALUES (45, '操作日志', '', 43, 1, 'iconfont icon-bolangnengshiyanchang', '/log/operation', '/log/operation/index', '1', '', 'C', '0', '1', '1', 'log:operation:list', '0', 'admin', 'panda', '', '2021-12-16 16:42:03', '2021-12-28 13:39:44', NULL); +INSERT INTO `sys_menus` VALUES (46, '登录日志', '', 43, 2, 'iconfont icon--chaifenlie', '/log/login', '/log/login/index', '1', '', 'C', '0', '1', '1', 'log:login:list', '0', 'admin', 'panda', '', '2021-12-16 16:43:28', '2021-12-28 13:39:58', NULL); +INSERT INTO `sys_menus` VALUES (47, '服务监控', '', 44, 1, 'elementCpu', '/tool/monitor/', '/tool/monitor/index', '1', '', 'C', '0', '1', '1', 'tool:monitor:list', '0', 'admin', 'panda', '', '2021-12-03 14:12:43', '2021-12-28 13:41:25', NULL); +INSERT INTO `sys_menus` VALUES (48, '定时任务', '', 44, 2, 'elementAlarmClock', '/tool/job', '/tool/job/index', '1', '', 'C', '0', '1', '1', 'tool:job:list', '0', 'admin', 'panda', '', '2021-12-16 16:48:45', '2021-12-28 13:41:59', NULL); +INSERT INTO `sys_menus` VALUES (49, '开发工具', '', 0, 3, 'iconfont icon-diannao', '/develop', 'Layout', '1', '', 'M', '0', '1', '1', '', '0', 'admin', '', '', '2021-12-16 16:53:11', '2021-12-16 16:53:11', NULL); +INSERT INTO `sys_menus` VALUES (50, '表单构建', '', 49, 1, 'iconfont icon-zidingyibuju', '/develop/form', '/layout/routerView/iframes', '0', 'http://127.0.0.1:7788/form-generator/', 'C', '0', '1', '1', 'develop:form:list', '0', 'admin', 'panda', '', '2021-12-16 16:55:01', '2021-12-31 08:23:07', NULL); +INSERT INTO `sys_menus` VALUES (51, '代码生成', '', 49, 2, 'iconfont icon-zhongduancanshu', '/develop/code', '/develop/code/index', '1', '', 'C', '0', '1', '1', 'develop:code:list', '0', 'admin', '', '', '2021-12-16 16:56:48', '2021-12-16 16:56:48', NULL); +INSERT INTO `sys_menus` VALUES (52, '系统接口', '', 49, 3, 'iconfont icon-wenducanshu-05', '/develop/apis', '/layout/routerView/iframes', '0', 'http://127.0.0.1:7788/swagger/index.html', 'C', '0', '1', '1', 'develop:apis:list', '0', 'admin', 'panda', '', '2021-12-16 16:58:07', '2021-12-25 00:09:23', NULL); +INSERT INTO `sys_menus` VALUES (53, '资源管理', '', 0, 4, 'iconfont icon-juxingkaobei', '/resource', 'Layout', '1', '', 'M', '0', '1', '1', '', '0', 'admin', '', '', '2021-12-16 17:02:06', '2021-12-16 17:02:06', NULL); +INSERT INTO `sys_menus` VALUES (54, '文件管理', '', 53, 1, 'iconfont icon-chazhaobiaodanliebiao', '/resource/file', '/resource/file/index', '1', '', 'C', '0', '1', '1', 'resource:file:list', '0', 'admin', 'panda', '', '2021-12-16 17:06:04', '2021-12-28 15:13:08', NULL); +INSERT INTO `sys_menus` VALUES (55, '公告通知', '', 44, 3, 'elementTicket', '/tool/notice', '/tool/notice/index', '1', '', 'C', '0', '1', '1', 'tool:notice:list', '0', 'admin', 'panda', '', '2021-12-16 22:09:11', '2021-12-28 13:42:39', NULL); +INSERT INTO `sys_menus` VALUES (56, '任务日志', '', 43, 1, 'iconfont icon--chaifenhang', '/log/job', '/log/job/index', '1', '', 'C', '0', '1', '1', 'log:job:list', '0', 'panda', 'panda', '', '2021-12-24 22:13:45', '2021-12-28 13:39:52', NULL); +INSERT INTO `sys_menus` VALUES (57, '邮件管理', '', 53, 1, 'iconfont icon-shouye_dongtaihui', '/resource/mail', '/resource/mail/index', '1', '', 'C', '0', '1', '1', 'resource:mail:list', '0', 'panda', 'panda', '', '2021-12-28 15:12:37', '2021-12-28 15:12:45', NULL); +INSERT INTO `sys_menus` VALUES (58, '短信管理', '', 53, 3, 'elementChatDotRound', '/resource/message', '/resource/message/index', '1', '', 'C', '0', '1', '1', 'resource:message:list', '0', 'panda', '', '', '2021-12-16 17:06:04', '2021-12-16 17:06:04', NULL); + +-- ---------------------------- +-- Table structure for sys_notices +-- ---------------------------- +DROP TABLE IF EXISTS `sys_notices`; +CREATE TABLE `sys_notices` ( + `notice_id` bigint(20) NOT NULL AUTO_INCREMENT, + `title` varchar(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '标题', + `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '标题', + `notice_type` varchar(1) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '通知类型', + `dept_id` int(11) NULL DEFAULT NULL COMMENT '部门Id,部门及子部门', + `create_time` datetime NULL DEFAULT NULL, + `update_time` datetime NULL DEFAULT NULL, + `delete_time` datetime NULL DEFAULT NULL, + `user_name` varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`notice_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Compact; + +-- ---------------------------- +-- Records of sys_notices +-- ---------------------------- +INSERT INTO `sys_notices` VALUES (1, '关于学习交流的通知', '
发布入群通知 467890197, 交流学习
', '1', 0, '2021-12-26 15:29:25', '2021-12-26 16:19:48', NULL, 'panda'); +INSERT INTO `sys_notices` VALUES (2, 'test', 'sdsad
', '1', 2, '2021-12-26 16:23:13', '2021-12-26 16:23:13', '2021-12-26 16:31:31', 'panda'); +INSERT INTO `sys_notices` VALUES (3, '版本更新通知:任务功能,通知功能完成', '', '1', 0, '2021-12-26 17:33:47', '2021-12-26 17:33:47', NULL, 'panda');
-- ----------------------------
-- Table structure for sys_posts
-- ----------------------------
DROP TABLE IF EXISTS `sys_posts`;
CREATE TABLE `sys_posts` (
- `post_id` bigint NOT NULL AUTO_INCREMENT,
+ `post_id` bigint(20) NOT NULL AUTO_INCREMENT,
`post_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '岗位名称',
`post_code` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '岗位代码',
- `sort` int NULL DEFAULT NULL COMMENT '岗位排序',
+ `sort` int(4) NULL DEFAULT NULL COMMENT '岗位排序',
`status` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '描述',
`create_by` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
@@ -460,7 +640,7 @@ CREATE TABLE `sys_posts` (
`update_time` datetime NULL DEFAULT NULL,
`delete_time` datetime NULL DEFAULT NULL,
PRIMARY KEY (`post_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_posts
@@ -468,17 +648,18 @@ CREATE TABLE `sys_posts` (
INSERT INTO `sys_posts` VALUES (1, '首席执行官', 'CEO', 0, '0', '首席执行官', 'admin', '', '2021-12-02 09:21:44', '2021-12-02 09:24:25', NULL);
INSERT INTO `sys_posts` VALUES (3, '首席技术执行官', 'CTO', 1, '0', '', 'admin', '', '2021-12-02 09:21:44', '2021-12-02 09:25:59', '2021-12-02 09:27:41');
INSERT INTO `sys_posts` VALUES (4, '首席技术执行官', 'CTO', 1, '0', '', 'admin', '', '2021-12-02 09:21:44', '2021-12-02 09:25:59', NULL);
+INSERT INTO `sys_posts` VALUES (5, '123', '123', 0, '0', '', 'admin', '', '2021-12-18 00:33:28', '2021-12-18 00:33:28', '2021-12-28 14:11:52');
-- ----------------------------
-- Table structure for sys_role_depts
-- ----------------------------
DROP TABLE IF EXISTS `sys_role_depts`;
CREATE TABLE `sys_role_depts` (
- `role_id` int NULL DEFAULT NULL,
- `dept_id` int NULL DEFAULT NULL,
- `id` bigint NOT NULL AUTO_INCREMENT,
+ `role_id` int(11) NULL DEFAULT NULL,
+ `dept_id` int(11) NULL DEFAULT NULL,
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_role_depts
@@ -491,68 +672,139 @@ INSERT INTO `sys_role_depts` VALUES (1, 3, 2);
-- ----------------------------
DROP TABLE IF EXISTS `sys_role_menus`;
CREATE TABLE `sys_role_menus` (
- `id` bigint NOT NULL AUTO_INCREMENT,
- `role_id` int NULL DEFAULT NULL,
- `menu_id` int NULL DEFAULT NULL,
+ `id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `role_id` int(11) NULL DEFAULT NULL,
+ `menu_id` int(11) NULL DEFAULT NULL,
`role_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 349 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 937 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_role_menus
-- ----------------------------
-INSERT INTO `sys_role_menus` VALUES (309, 1, 1, 'admin');
-INSERT INTO `sys_role_menus` VALUES (310, 1, 3, 'admin');
-INSERT INTO `sys_role_menus` VALUES (311, 1, 4, 'admin');
-INSERT INTO `sys_role_menus` VALUES (312, 1, 5, 'admin');
-INSERT INTO `sys_role_menus` VALUES (313, 1, 6, 'admin');
-INSERT INTO `sys_role_menus` VALUES (314, 1, 7, 'admin');
-INSERT INTO `sys_role_menus` VALUES (315, 1, 8, 'admin');
-INSERT INTO `sys_role_menus` VALUES (316, 1, 9, 'admin');
-INSERT INTO `sys_role_menus` VALUES (317, 1, 10, 'admin');
-INSERT INTO `sys_role_menus` VALUES (318, 1, 11, 'admin');
-INSERT INTO `sys_role_menus` VALUES (319, 1, 12, 'admin');
-INSERT INTO `sys_role_menus` VALUES (320, 1, 13, 'admin');
-INSERT INTO `sys_role_menus` VALUES (321, 1, 14, 'admin');
-INSERT INTO `sys_role_menus` VALUES (322, 1, 15, 'admin');
-INSERT INTO `sys_role_menus` VALUES (323, 1, 16, 'admin');
-INSERT INTO `sys_role_menus` VALUES (324, 1, 17, 'admin');
-INSERT INTO `sys_role_menus` VALUES (325, 1, 18, 'admin');
-INSERT INTO `sys_role_menus` VALUES (326, 1, 19, 'admin');
-INSERT INTO `sys_role_menus` VALUES (327, 1, 20, 'admin');
-INSERT INTO `sys_role_menus` VALUES (328, 1, 21, 'admin');
-INSERT INTO `sys_role_menus` VALUES (329, 1, 22, 'admin');
-INSERT INTO `sys_role_menus` VALUES (330, 1, 23, 'admin');
-INSERT INTO `sys_role_menus` VALUES (331, 1, 24, 'admin');
-INSERT INTO `sys_role_menus` VALUES (332, 1, 25, 'admin');
-INSERT INTO `sys_role_menus` VALUES (333, 1, 26, 'admin');
-INSERT INTO `sys_role_menus` VALUES (334, 1, 28, 'admin');
-INSERT INTO `sys_role_menus` VALUES (335, 1, 29, 'admin');
-INSERT INTO `sys_role_menus` VALUES (336, 1, 30, 'admin');
-INSERT INTO `sys_role_menus` VALUES (337, 1, 31, 'admin');
-INSERT INTO `sys_role_menus` VALUES (338, 1, 32, 'admin');
-INSERT INTO `sys_role_menus` VALUES (339, 1, 33, 'admin');
-INSERT INTO `sys_role_menus` VALUES (340, 1, 34, 'admin');
-INSERT INTO `sys_role_menus` VALUES (341, 1, 35, 'admin');
-INSERT INTO `sys_role_menus` VALUES (342, 1, 36, 'admin');
-INSERT INTO `sys_role_menus` VALUES (343, 1, 37, 'admin');
-INSERT INTO `sys_role_menus` VALUES (344, 1, 38, 'admin');
-INSERT INTO `sys_role_menus` VALUES (345, 1, 39, 'admin');
-INSERT INTO `sys_role_menus` VALUES (346, 1, 40, 'admin');
-INSERT INTO `sys_role_menus` VALUES (347, 1, 41, 'admin');
-INSERT INTO `sys_role_menus` VALUES (348, 1, 42, 'admin');
+INSERT INTO `sys_role_menus` VALUES (826, 1, 1, 'admin');
+INSERT INTO `sys_role_menus` VALUES (827, 1, 3, 'admin');
+INSERT INTO `sys_role_menus` VALUES (828, 1, 4, 'admin');
+INSERT INTO `sys_role_menus` VALUES (829, 1, 5, 'admin');
+INSERT INTO `sys_role_menus` VALUES (830, 1, 6, 'admin');
+INSERT INTO `sys_role_menus` VALUES (831, 1, 7, 'admin');
+INSERT INTO `sys_role_menus` VALUES (832, 1, 8, 'admin');
+INSERT INTO `sys_role_menus` VALUES (833, 1, 9, 'admin');
+INSERT INTO `sys_role_menus` VALUES (834, 1, 10, 'admin');
+INSERT INTO `sys_role_menus` VALUES (835, 1, 11, 'admin');
+INSERT INTO `sys_role_menus` VALUES (836, 1, 12, 'admin');
+INSERT INTO `sys_role_menus` VALUES (837, 1, 13, 'admin');
+INSERT INTO `sys_role_menus` VALUES (838, 1, 14, 'admin');
+INSERT INTO `sys_role_menus` VALUES (839, 1, 15, 'admin');
+INSERT INTO `sys_role_menus` VALUES (840, 1, 16, 'admin');
+INSERT INTO `sys_role_menus` VALUES (841, 1, 17, 'admin');
+INSERT INTO `sys_role_menus` VALUES (842, 1, 18, 'admin');
+INSERT INTO `sys_role_menus` VALUES (843, 1, 19, 'admin');
+INSERT INTO `sys_role_menus` VALUES (844, 1, 20, 'admin');
+INSERT INTO `sys_role_menus` VALUES (845, 1, 21, 'admin');
+INSERT INTO `sys_role_menus` VALUES (846, 1, 22, 'admin');
+INSERT INTO `sys_role_menus` VALUES (847, 1, 23, 'admin');
+INSERT INTO `sys_role_menus` VALUES (848, 1, 24, 'admin');
+INSERT INTO `sys_role_menus` VALUES (849, 1, 25, 'admin');
+INSERT INTO `sys_role_menus` VALUES (850, 1, 26, 'admin');
+INSERT INTO `sys_role_menus` VALUES (851, 1, 28, 'admin');
+INSERT INTO `sys_role_menus` VALUES (852, 1, 29, 'admin');
+INSERT INTO `sys_role_menus` VALUES (853, 1, 30, 'admin');
+INSERT INTO `sys_role_menus` VALUES (854, 1, 31, 'admin');
+INSERT INTO `sys_role_menus` VALUES (855, 1, 32, 'admin');
+INSERT INTO `sys_role_menus` VALUES (856, 1, 33, 'admin');
+INSERT INTO `sys_role_menus` VALUES (857, 1, 34, 'admin');
+INSERT INTO `sys_role_menus` VALUES (858, 1, 35, 'admin');
+INSERT INTO `sys_role_menus` VALUES (859, 1, 36, 'admin');
+INSERT INTO `sys_role_menus` VALUES (860, 1, 37, 'admin');
+INSERT INTO `sys_role_menus` VALUES (861, 1, 38, 'admin');
+INSERT INTO `sys_role_menus` VALUES (862, 1, 39, 'admin');
+INSERT INTO `sys_role_menus` VALUES (863, 1, 40, 'admin');
+INSERT INTO `sys_role_menus` VALUES (864, 1, 41, 'admin');
+INSERT INTO `sys_role_menus` VALUES (865, 1, 42, 'admin');
+INSERT INTO `sys_role_menus` VALUES (866, 1, 43, 'admin');
+INSERT INTO `sys_role_menus` VALUES (867, 1, 44, 'admin');
+INSERT INTO `sys_role_menus` VALUES (868, 1, 45, 'admin');
+INSERT INTO `sys_role_menus` VALUES (869, 1, 46, 'admin');
+INSERT INTO `sys_role_menus` VALUES (870, 1, 47, 'admin');
+INSERT INTO `sys_role_menus` VALUES (871, 1, 48, 'admin');
+INSERT INTO `sys_role_menus` VALUES (872, 1, 49, 'admin');
+INSERT INTO `sys_role_menus` VALUES (873, 1, 50, 'admin');
+INSERT INTO `sys_role_menus` VALUES (874, 1, 51, 'admin');
+INSERT INTO `sys_role_menus` VALUES (875, 1, 52, 'admin');
+INSERT INTO `sys_role_menus` VALUES (876, 1, 53, 'admin');
+INSERT INTO `sys_role_menus` VALUES (877, 1, 54, 'admin');
+INSERT INTO `sys_role_menus` VALUES (878, 1, 55, 'admin');
+INSERT INTO `sys_role_menus` VALUES (879, 1, 56, 'admin');
+INSERT INTO `sys_role_menus` VALUES (880, 1, 57, 'admin');
+INSERT INTO `sys_role_menus` VALUES (881, 1, 58, 'admin');
+INSERT INTO `sys_role_menus` VALUES (882, 2, 1, 'manage');
+INSERT INTO `sys_role_menus` VALUES (883, 2, 3, 'manage');
+INSERT INTO `sys_role_menus` VALUES (884, 2, 4, 'manage');
+INSERT INTO `sys_role_menus` VALUES (885, 2, 5, 'manage');
+INSERT INTO `sys_role_menus` VALUES (886, 2, 6, 'manage');
+INSERT INTO `sys_role_menus` VALUES (887, 2, 7, 'manage');
+INSERT INTO `sys_role_menus` VALUES (888, 2, 8, 'manage');
+INSERT INTO `sys_role_menus` VALUES (889, 2, 9, 'manage');
+INSERT INTO `sys_role_menus` VALUES (890, 2, 10, 'manage');
+INSERT INTO `sys_role_menus` VALUES (891, 2, 11, 'manage');
+INSERT INTO `sys_role_menus` VALUES (892, 2, 12, 'manage');
+INSERT INTO `sys_role_menus` VALUES (893, 2, 13, 'manage');
+INSERT INTO `sys_role_menus` VALUES (894, 2, 14, 'manage');
+INSERT INTO `sys_role_menus` VALUES (895, 2, 15, 'manage');
+INSERT INTO `sys_role_menus` VALUES (896, 2, 16, 'manage');
+INSERT INTO `sys_role_menus` VALUES (897, 2, 17, 'manage');
+INSERT INTO `sys_role_menus` VALUES (898, 2, 18, 'manage');
+INSERT INTO `sys_role_menus` VALUES (899, 2, 19, 'manage');
+INSERT INTO `sys_role_menus` VALUES (900, 2, 20, 'manage');
+INSERT INTO `sys_role_menus` VALUES (901, 2, 21, 'manage');
+INSERT INTO `sys_role_menus` VALUES (902, 2, 22, 'manage');
+INSERT INTO `sys_role_menus` VALUES (903, 2, 23, 'manage');
+INSERT INTO `sys_role_menus` VALUES (904, 2, 24, 'manage');
+INSERT INTO `sys_role_menus` VALUES (905, 2, 25, 'manage');
+INSERT INTO `sys_role_menus` VALUES (906, 2, 26, 'manage');
+INSERT INTO `sys_role_menus` VALUES (907, 2, 28, 'manage');
+INSERT INTO `sys_role_menus` VALUES (908, 2, 29, 'manage');
+INSERT INTO `sys_role_menus` VALUES (909, 2, 30, 'manage');
+INSERT INTO `sys_role_menus` VALUES (910, 2, 31, 'manage');
+INSERT INTO `sys_role_menus` VALUES (911, 2, 32, 'manage');
+INSERT INTO `sys_role_menus` VALUES (912, 2, 33, 'manage');
+INSERT INTO `sys_role_menus` VALUES (913, 2, 34, 'manage');
+INSERT INTO `sys_role_menus` VALUES (914, 2, 35, 'manage');
+INSERT INTO `sys_role_menus` VALUES (915, 2, 36, 'manage');
+INSERT INTO `sys_role_menus` VALUES (916, 2, 37, 'manage');
+INSERT INTO `sys_role_menus` VALUES (917, 2, 38, 'manage');
+INSERT INTO `sys_role_menus` VALUES (918, 2, 39, 'manage');
+INSERT INTO `sys_role_menus` VALUES (919, 2, 40, 'manage');
+INSERT INTO `sys_role_menus` VALUES (920, 2, 41, 'manage');
+INSERT INTO `sys_role_menus` VALUES (921, 2, 42, 'manage');
+INSERT INTO `sys_role_menus` VALUES (922, 2, 43, 'manage');
+INSERT INTO `sys_role_menus` VALUES (923, 2, 44, 'manage');
+INSERT INTO `sys_role_menus` VALUES (924, 2, 45, 'manage');
+INSERT INTO `sys_role_menus` VALUES (925, 2, 46, 'manage');
+INSERT INTO `sys_role_menus` VALUES (926, 2, 47, 'manage');
+INSERT INTO `sys_role_menus` VALUES (927, 2, 48, 'manage');
+INSERT INTO `sys_role_menus` VALUES (928, 2, 49, 'manage');
+INSERT INTO `sys_role_menus` VALUES (929, 2, 50, 'manage');
+INSERT INTO `sys_role_menus` VALUES (930, 2, 51, 'manage');
+INSERT INTO `sys_role_menus` VALUES (931, 2, 52, 'manage');
+INSERT INTO `sys_role_menus` VALUES (932, 2, 53, 'manage');
+INSERT INTO `sys_role_menus` VALUES (933, 2, 54, 'manage');
+INSERT INTO `sys_role_menus` VALUES (934, 2, 55, 'manage');
+INSERT INTO `sys_role_menus` VALUES (935, 2, 57, 'manage');
+INSERT INTO `sys_role_menus` VALUES (936, 2, 58, 'manage');
-- ----------------------------
-- Table structure for sys_roles
-- ----------------------------
DROP TABLE IF EXISTS `sys_roles`;
CREATE TABLE `sys_roles` (
- `role_id` bigint NOT NULL AUTO_INCREMENT,
+ `role_id` bigint(20) NOT NULL AUTO_INCREMENT,
`role_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '角色名称',
`status` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '状态',
`role_key` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '角色代码',
`data_scope` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)',
- `role_sort` int NULL DEFAULT NULL COMMENT '角色排序',
+ `role_sort` int(4) NULL DEFAULT NULL COMMENT '角色排序',
`flag` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '删除标识',
`create_by` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`update_by` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
@@ -561,32 +813,29 @@ CREATE TABLE `sys_roles` (
`update_time` datetime NULL DEFAULT NULL,
`delete_time` datetime NULL DEFAULT NULL,
PRIMARY KEY (`role_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_roles
-- ----------------------------
-INSERT INTO `sys_roles` VALUES (1, '超管理员', '0', 'admin', '2', 1, '', 'admin', 'admin', '', '2021-12-02 16:03:26', '2021-12-09 19:53:20', NULL);
-
--- ----------------------------
--- Records of sys_settings
--- ----------------------------
+INSERT INTO `sys_roles` VALUES (1, '超管理员', '0', 'admin', '2', 1, '', 'admin', 'panda', '', '2021-12-02 16:03:26', '2021-12-28 15:16:11', NULL);
+INSERT INTO `sys_roles` VALUES (2, '管理员', '0', 'manage', '', 2, '', 'panda', 'panda', '', '2021-12-19 16:06:20', '2021-12-28 15:16:23', NULL);
-- ----------------------------
-- Table structure for sys_users
-- ----------------------------
DROP TABLE IF EXISTS `sys_users`;
CREATE TABLE `sys_users` (
- `user_id` bigint NOT NULL AUTO_INCREMENT,
+ `user_id` bigint(20) NOT NULL AUTO_INCREMENT,
`nick_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`phone` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
- `role_id` int NULL DEFAULT NULL,
+ `role_id` int(11) NULL DEFAULT NULL,
`salt` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`avatar` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`sex` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`email` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
- `dept_id` int NULL DEFAULT NULL,
- `post_id` int NULL DEFAULT NULL,
+ `dept_id` int(11) NULL DEFAULT NULL,
+ `post_id` int(11) NULL DEFAULT NULL,
`create_by` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`update_by` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
@@ -599,13 +848,13 @@ CREATE TABLE `sys_users` (
`role_ids` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '多角色',
`post_ids` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '多岗位',
PRIMARY KEY (`user_id`) USING BTREE
-) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
+) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Records of sys_users
-- ----------------------------
-INSERT INTO `sys_users` VALUES (1, 'pandax', '13818888888', 1, NULL, '', '0', '1@qq.com', 2, 1, 'admin', '1', NULL, '0', '2021-12-03 09:46:55', '2021-12-03 10:51:34', NULL, 'admin', '$2a$10$cKFFTCzGOvaIHHJY2K45Zuwt8TD6oPzYi4s5MzYIBAWCLL6ZhouP2', '1', '1');
-INSERT INTO `sys_users` VALUES (2, '测试用户', '18353366754', 1, '', '', '0', '1234@163.com', 3, 4, 'admin', '', 'test', '0', '2021-12-03 10:11:11', '2021-12-03 11:23:59', '2021-12-03 11:24:38', 'test', '$2a$10$Xj35fNwCNbqcXWByNbd8/e0CrN0vqoDToqFxpOQDzhk4pN59Cm9Gu', NULL, '');
+INSERT INTO `sys_users` VALUES (1, 'pandax', '13818888888', 1, NULL, '', '0', '1@qq.com', 2, 1, 'admin', '1', NULL, '0', '2021-12-03 09:46:55', '2021-12-03 10:51:34', NULL, 'panda', '$2a$10$EXMJ5huCCTlCmP2ITFkAJ.4Mgmq3JcZGUvtE.KLX8j7FmhiiTEEya', '1', '1');
INSERT INTO `sys_users` VALUES (3, '测试用户', '18435234356', 1, '', '', '0', '342@163.com', 3, 1, 'admin', '', '', '0', '2021-12-06 15:16:53', '2021-12-06 15:29:28', NULL, 'test', '$2a$10$4cHTracxWJLdhMmazvbm1urKyD3v5N2AYxAFtNYh6juU39kgae73e', '1', '1,4');
+INSERT INTO `sys_users` VALUES (4, 'panda', '18353366912', 2, '', '', '0', '2417920382@qq.com', 2, 4, 'panda', '', '', '0', '2021-12-19 15:58:09', '2021-12-19 16:06:54', NULL, 'admin', '$2a$10$cKFFTCzGOvaIHHJY2K45Zuwt8TD6oPzYi4s5MzYIBAWCLL6ZhouP2', '2', '4,1');
SET FOREIGN_KEY_CHECKS = 1;
diff --git a/resource/pandax-pg.sql b/resource/pandax-pg.sql
new file mode 100644
index 0000000..910a4aa
--- /dev/null
+++ b/resource/pandax-pg.sql
@@ -0,0 +1,1044 @@
+/*
+ Navicat Premium Data Transfer
+
+ Source Server : localhost_pg
+ Source Server Type : PostgreSQL
+ Source Server Version : 120001
+ Source Host : localhost:5432
+ Source Catalog : pandax
+ Source Schema : public
+
+ Target Server Type : PostgreSQL
+ Target Server Version : 120001
+ File Encoding : 65001
+
+ Date: 01/01/2022 13:53:04
+*/
+
+
+-- ----------------------------
+-- Table structure for casbin_rule
+-- ----------------------------
+DROP TABLE IF EXISTS "public"."casbin_rule";
+CREATE TABLE "public"."casbin_rule" (
+ "ptype" varchar(100) COLLATE "pg_catalog"."default",
+ "v0" varchar(100) COLLATE "pg_catalog"."default",
+ "v1" varchar(100) COLLATE "pg_catalog"."default",
+ "v2" varchar(100) COLLATE "pg_catalog"."default",
+ "v3" varchar(100) COLLATE "pg_catalog"."default",
+ "v4" varchar(100) COLLATE "pg_catalog"."default",
+ "v5" varchar(100) COLLATE "pg_catalog"."default",
+ "id" int8 NOT NULL DEFAULT nextval('casbin_rule_id_seq'::regclass)
+)
+;
+
+-- ----------------------------
+-- Records of casbin_rule
+-- ----------------------------
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/job', 'POST', '', '', '', 34);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/job', 'PUT', '', '', '', 35);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/job/:jobId', 'DELETE', '', '', '', 37);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/job/:jobId', 'GET', '', '', '', 36);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/job/changeStatus', 'PUT', '', '', '', 40);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/job/list', 'GET', '', '', '', 33);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/job/start/:jobId', 'GET', '', '', '', 39);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/job/stop/:jobId', 'GET', '', '', '', 38);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/log/logJob/:logId', 'DELETE', '', '', '', 49);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/log/logJob/all', 'DELETE', '', '', '', 48);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/log/logJob/list', 'GET', '', '', '', 47);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/log/logLogin/:infoId', 'DELETE', '', '', '', 42);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/log/logLogin/all', 'DELETE', '', '', '', 43);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/log/logLogin/list', 'GET', '', '', '', 41);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/log/logOper/:operId', 'DELETE', '', '', '', 45);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/log/logOper/all', 'DELETE', '', '', '', 46);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/log/logOper/list', 'GET', '', '', '', 44);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/api', 'POST', '', '', '', 5);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/api', 'PUT', '', '', '', 6);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/api/:id', 'DELETE', '', '', '', 7);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/api/:id', 'GET', '', '', '', 4);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/api/all', 'GET', '', '', '', 2);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/api/getPolicyPathByRoleId', 'GET', '', '', '', 3);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/api/list', 'GET', '', '', '', 1);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/config', 'POST', '', '', '', 11);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/config', 'PUT', '', '', '', 12);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/config/:configId', 'DELETE', '', '', '', 13);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/config/:configId', 'GET', '', '', '', 10);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/config/configKey', 'GET', '', '', '', 9);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/config/list', 'GET', '', '', '', 8);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/dept', 'POST', '', '', '', 18);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/dept', 'PUT', '', '', '', 19);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/dept/:deptId', 'DELETE', '', '', '', 20);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/dept/:deptId', 'GET', '', '', '', 15);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/dept/deptTree', 'GET', '', '', '', 17);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/dept/list', 'GET', '', '', '', 14);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/dept/roleDeptTreeSelect/:roleId', 'GET', '', '', '', 16);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/dict/data', 'POST', '', '', '', 30);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/dict/data', 'PUT', '', '', '', 31);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/dict/data/:dictCode', 'DELETE', '', '', '', 32);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/dict/data/:dictCode', 'GET', '', '', '', 29);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/dict/data/list', 'GET', '', '', '', 27);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/dict/data/type', 'GET', '', '', '', 28);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/dict/type', 'POST', '', '', '', 23);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/dict/type', 'PUT', '', '', '', 24);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/dict/type/:dictId', 'DELETE', '', '', '', 25);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/dict/type/:dictId', 'GET', '', '', '', 22);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/dict/type/export', 'GET', '', '', '', 26);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/dict/type/list', 'GET', '', '', '', 21);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/menu', 'POST', '', '', '', 56);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/menu', 'PUT', '', '', '', 57);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/menu/:menuId', 'DELETE', '', '', '', 58);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/menu/:menuId', 'GET', '', '', '', 55);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/menu/list', 'GET', '', '', '', 54);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/menu/menuPaths', 'GET', '', '', '', 53);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/menu/menuRole', 'GET', '', '', '', 51);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/menu/menuTreeSelect', 'GET', '', '', '', 50);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/menu/roleMenuTreeSelect/:roleId', 'GET', '', '', '', 52);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/notice', 'POST', '', '', '', 60);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/notice', 'PUT', '', '', '', 61);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/notice/:noticeId', 'DELETE', '', '', '', 62);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/notice/list', 'GET', '', '', '', 59);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/post', 'POST', '', '', '', 65);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/post', 'PUT', '', '', '', 66);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/post/:postId', 'DELETE', '', '', '', 67);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/post/:postId', 'GET', '', '', '', 64);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/post/list', 'GET', '', '', '', 63);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/role', 'POST', '', '', '', 70);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/role', 'PUT', '', '', '', 71);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/role/:roleId', 'DELETE', '', '', '', 72);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/role/:roleId', 'GET', '', '', '', 69);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/role/changeStatus', 'PUT', '', '', '', 73);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/role/dataScope', 'PUT', '', '', '', 74);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/role/export', 'GET', '', '', '', 75);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/role/list', 'GET', '', '', '', 68);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/user', 'POST', '', '', '', 84);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/user', 'PUT', '', '', '', 85);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/user/:userId', 'DELETE', '', '', '', 78);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/user/avatar', 'POST', '', '', '', 79);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/user/changeStatus', 'PUT', '', '', '', 77);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/user/export', 'GET', '', '', '', 86);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/user/getById/:userId', 'GET', '', '', '', 81);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/user/getInit', 'GET', '', '', '', 82);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/user/getRoPo', 'GET', '', '', '', 83);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/user/list', 'GET', '', '', '', 76);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'admin', '/system/user/pwd', 'PUT', '', '', '', 80);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/job/:jobId', 'GET', '', '', '', 104);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/job/changeStatus', 'PUT', '', '', '', 105);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/job/list', 'GET', '', '', '', 103);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/log/logJob/list', 'GET', '', '', '', 108);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/log/logLogin/list', 'GET', '', '', '', 106);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/log/logOper/list', 'GET', '', '', '', 107);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/api/:id', 'GET', '', '', '', 90);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/api/all', 'GET', '', '', '', 88);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/api/getPolicyPathByRoleId', 'GET', '', '', '', 89);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/api/list', 'GET', '', '', '', 87);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/config/:configId', 'GET', '', '', '', 93);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/config/configKey', 'GET', '', '', '', 92);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/config/list', 'GET', '', '', '', 91);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/dept/:deptId', 'GET', '', '', '', 95);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/dept/deptTree', 'GET', '', '', '', 97);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/dept/list', 'GET', '', '', '', 94);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/dept/roleDeptTreeSelect/:roleId', 'GET', '', '', '', 96);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/dict/data/:dictCode', 'GET', '', '', '', 102);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/dict/data/list', 'GET', '', '', '', 100);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/dict/data/type', 'GET', '', '', '', 101);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/dict/type/:dictId', 'GET', '', '', '', 99);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/dict/type/list', 'GET', '', '', '', 98);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/menu/:menuId', 'GET', '', '', '', 114);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/menu/list', 'GET', '', '', '', 113);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/menu/menuPaths', 'GET', '', '', '', 112);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/menu/menuRole', 'GET', '', '', '', 110);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/menu/menuTreeSelect', 'GET', '', '', '', 109);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/menu/roleMenuTreeSelect/:roleId', 'GET', '', '', '', 111);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/notice/list', 'GET', '', '', '', 115);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/post/:postId', 'GET', '', '', '', 117);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/post/list', 'GET', '', '', '', 116);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/role/:roleId', 'GET', '', '', '', 119);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/role/list', 'GET', '', '', '', 118);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/user/avatar', 'POST', '', '', '', 121);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/user/getById/:userId', 'GET', '', '', '', 122);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/user/getInit', 'GET', '', '', '', 123);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/user/getRoPo', 'GET', '', '', '', 124);
+INSERT INTO "public"."casbin_rule" VALUES ('p', 'manage', '/system/user/list', 'GET', '', '', '', 120);
+
+-- ----------------------------
+-- Table structure for log_jobs
+-- ----------------------------
+DROP TABLE IF EXISTS "public"."log_jobs";
+CREATE TABLE "public"."log_jobs" (
+ "log_id" int8 NOT NULL DEFAULT nextval('log_jobs_log_id_seq'::regclass),
+ "name" varchar(128) COLLATE "pg_catalog"."default",
+ "job_group" varchar(128) COLLATE "pg_catalog"."default",
+ "entry_id" int8,
+ "invoke_target" varchar(128) COLLATE "pg_catalog"."default",
+ "log_info" varchar(255) COLLATE "pg_catalog"."default",
+ "status" varchar(1) COLLATE "pg_catalog"."default",
+ "create_time" timestamptz(6),
+ "update_time" timestamptz(6),
+ "delete_time" timestamptz(6)
+)
+;
+COMMENT ON COLUMN "public"."log_jobs"."name" IS '任务名称';
+COMMENT ON COLUMN "public"."log_jobs"."job_group" IS '分组';
+COMMENT ON COLUMN "public"."log_jobs"."entry_id" IS '任务id';
+COMMENT ON COLUMN "public"."log_jobs"."invoke_target" IS '调用方法';
+COMMENT ON COLUMN "public"."log_jobs"."log_info" IS '日志信息';
+COMMENT ON COLUMN "public"."log_jobs"."status" IS '状态';
+
+-- ----------------------------
+-- Records of log_jobs
+-- ----------------------------
+
+-- ----------------------------
+-- Table structure for log_logins
+-- ----------------------------
+DROP TABLE IF EXISTS "public"."log_logins";
+CREATE TABLE "public"."log_logins" (
+ "info_id" int8 NOT NULL DEFAULT nextval('log_logins_info_id_seq'::regclass),
+ "username" varchar(128) COLLATE "pg_catalog"."default",
+ "status" varchar(1) COLLATE "pg_catalog"."default",
+ "ipaddr" varchar(255) COLLATE "pg_catalog"."default",
+ "login_location" varchar(255) COLLATE "pg_catalog"."default",
+ "browser" varchar(255) COLLATE "pg_catalog"."default",
+ "os" varchar(255) COLLATE "pg_catalog"."default",
+ "platform" varchar(255) COLLATE "pg_catalog"."default",
+ "login_time" timestamp(6),
+ "create_by" varchar(128) COLLATE "pg_catalog"."default",
+ "update_by" varchar(128) COLLATE "pg_catalog"."default",
+ "remark" varchar(255) COLLATE "pg_catalog"."default",
+ "msg" varchar(255) COLLATE "pg_catalog"."default",
+ "create_time" timestamptz(6),
+ "update_time" timestamptz(6),
+ "delete_time" timestamptz(6)
+)
+;
+COMMENT ON COLUMN "public"."log_logins"."username" IS '用户名';
+COMMENT ON COLUMN "public"."log_logins"."status" IS '状态';
+COMMENT ON COLUMN "public"."log_logins"."ipaddr" IS 'ip地址';
+COMMENT ON COLUMN "public"."log_logins"."login_location" IS '归属地';
+COMMENT ON COLUMN "public"."log_logins"."browser" IS '浏览器';
+COMMENT ON COLUMN "public"."log_logins"."os" IS '系统';
+COMMENT ON COLUMN "public"."log_logins"."platform" IS '固件';
+COMMENT ON COLUMN "public"."log_logins"."login_time" IS '登录时间';
+COMMENT ON COLUMN "public"."log_logins"."create_by" IS '创建人';
+COMMENT ON COLUMN "public"."log_logins"."update_by" IS '更新者';
+
+-- ----------------------------
+-- Records of log_logins
+-- ----------------------------
+INSERT INTO "public"."log_logins" VALUES (1, 'panda', '0', '127.0.0.1', '内部IP', 'Chrome 96.0.4664.110', 'Windows 10', 'Windows', '2022-01-01 12:32:51.697576', '0', '0', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36', '登录成功', '2022-01-01 04:32:51.699189+00', '2022-01-01 04:32:51.699189+00', NULL);
+INSERT INTO "public"."log_logins" VALUES (2, 'panda', '0', '127.0.0.1', '内部IP', 'Chrome 96.0.4664.110', 'Windows 10', 'Windows', '2022-01-01 13:50:11.578926', '0', '0', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36', '登录成功', '2022-01-01 05:50:11.580002+00', '2022-01-01 05:50:11.580002+00', NULL);
+
+-- ----------------------------
+-- Table structure for log_opers
+-- ----------------------------
+DROP TABLE IF EXISTS "public"."log_opers";
+CREATE TABLE "public"."log_opers" (
+ "oper_id" int8 NOT NULL DEFAULT nextval('log_opers_oper_id_seq'::regclass),
+ "title" varchar(128) COLLATE "pg_catalog"."default",
+ "business_type" varchar(1) COLLATE "pg_catalog"."default",
+ "method" varchar(255) COLLATE "pg_catalog"."default",
+ "oper_name" varchar(255) COLLATE "pg_catalog"."default",
+ "oper_url" varchar(255) COLLATE "pg_catalog"."default",
+ "oper_ip" varchar(255) COLLATE "pg_catalog"."default",
+ "oper_location" varchar(255) COLLATE "pg_catalog"."default",
+ "oper_param" varchar(255) COLLATE "pg_catalog"."default",
+ "status" varchar(1) COLLATE "pg_catalog"."default",
+ "create_time" timestamptz(6),
+ "update_time" timestamptz(6),
+ "delete_time" timestamptz(6)
+)
+;
+COMMENT ON COLUMN "public"."log_opers"."title" IS '操作的模块';
+COMMENT ON COLUMN "public"."log_opers"."business_type" IS '0其它 1新增 2修改 3删除';
+COMMENT ON COLUMN "public"."log_opers"."method" IS '请求方法';
+COMMENT ON COLUMN "public"."log_opers"."oper_name" IS '操作人员';
+COMMENT ON COLUMN "public"."log_opers"."oper_url" IS '操作url';
+COMMENT ON COLUMN "public"."log_opers"."oper_ip" IS '操作IP';
+COMMENT ON COLUMN "public"."log_opers"."oper_location" IS '操作地点';
+COMMENT ON COLUMN "public"."log_opers"."oper_param" IS '请求参数';
+COMMENT ON COLUMN "public"."log_opers"."status" IS '0=正常,1=异常';
+
+-- ----------------------------
+-- Records of log_opers
+-- ----------------------------
+INSERT INTO "public"."log_opers" VALUES (1, '删除部门信息', '3', 'DELETE', 'admin', '/system/dept/7', '127.0.0.1', '内部IP', '', '0', '2022-01-01 03:50:22.688828+00', '2022-01-01 03:50:22.688828+00', NULL);
+
+-- ----------------------------
+-- Table structure for sys_apis
+-- ----------------------------
+DROP TABLE IF EXISTS "public"."sys_apis";
+CREATE TABLE "public"."sys_apis" (
+ "id" int8 NOT NULL DEFAULT nextval('sys_apis_id_seq'::regclass),
+ "create_time" timestamptz(6),
+ "update_time" timestamptz(6),
+ "delete_time" timestamptz(6),
+ "path" text COLLATE "pg_catalog"."default",
+ "description" text COLLATE "pg_catalog"."default",
+ "api_group" text COLLATE "pg_catalog"."default",
+ "method" text COLLATE "pg_catalog"."default"
+)
+;
+COMMENT ON COLUMN "public"."sys_apis"."path" IS 'api路径';
+COMMENT ON COLUMN "public"."sys_apis"."description" IS 'api中文描述';
+COMMENT ON COLUMN "public"."sys_apis"."api_group" IS 'api组';
+COMMENT ON COLUMN "public"."sys_apis"."method" IS '方法';
+
+-- ----------------------------
+-- Records of sys_apis
+-- ----------------------------
+INSERT INTO "public"."sys_apis" VALUES (1, '2021-12-09 09:21:04+00', '2021-12-09 09:21:04+00', NULL, '/system/user/list', '查询用户列表(分页)', 'user', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (2, '2021-12-09 09:29:36+00', '2021-12-09 09:29:36+00', NULL, '/system/user/changeStatus', '修改用户状态', 'user', 'PUT');
+INSERT INTO "public"."sys_apis" VALUES (3, '2021-12-09 09:34:37+00', '2021-12-09 09:34:37+00', NULL, '/system/user/:userId', '删除用户信息', 'user', 'DELETE');
+INSERT INTO "public"."sys_apis" VALUES (4, '2021-12-09 09:36:43+00', '2021-12-09 09:36:43+00', NULL, '/system/dept/list', '获取部门列表', 'dept', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (5, '2021-12-09 09:37:31+00', '2021-12-09 09:37:31+00', NULL, '/system/dept/:deptId', '获取部门信息', 'dept', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (6, '2021-12-09 18:20:32+00', '2021-12-09 18:20:32+00', NULL, '/system/user/avatar', '上传头像', 'user', 'POST');
+INSERT INTO "public"."sys_apis" VALUES (7, '2021-12-09 18:21:10+00', '2021-12-09 18:21:10+00', NULL, '/system/user/pwd', '修改密码', 'user', 'PUT');
+INSERT INTO "public"."sys_apis" VALUES (8, '2021-12-09 18:21:54+00', '2021-12-09 18:21:54+00', NULL, '/system/user/getById/:userId', '通过id获取用户信息', 'user', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (9, '2021-12-09 18:58:50+00', '2021-12-09 18:58:50+00', NULL, '/system/user/getInit', '获取初始化角色岗位信息(添加用户初始化)', 'user', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (10, '2021-12-09 18:59:43+00', '2021-12-09 18:59:43+00', NULL, '/system/user/getRoPo', '获取用户角色岗位信息', 'user', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (11, '2021-12-09 19:00:24+00', '2021-12-09 19:00:24+00', NULL, '/system/user', '添加用户信息', 'user', 'POST');
+INSERT INTO "public"."sys_apis" VALUES (12, '2021-12-09 19:00:52+00', '2021-12-09 19:00:52+00', NULL, '/system/user', '修改用户信息', 'user', 'PUT');
+INSERT INTO "public"."sys_apis" VALUES (13, '2021-12-09 19:02:30+00', '2021-12-09 19:02:30+00', NULL, '/system/user/export', '导出用户信息', 'user', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (14, '2021-12-09 19:04:04+00', '2021-12-09 19:04:04+00', NULL, '/system/dept/roleDeptTreeSelect/:roleId', '获取角色部门树', 'dept', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (15, '2021-12-09 19:04:48+00', '2021-12-09 19:04:48+00', NULL, '/system/dept/deptTree', '获取所有部门树', 'dept', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (16, '2021-12-09 19:07:37+00', '2021-12-09 19:07:37+00', NULL, '/system/dept', '添加部门信息', 'dept', 'POST');
+INSERT INTO "public"."sys_apis" VALUES (17, '2021-12-09 19:08:14+00', '2021-12-09 19:08:14+00', NULL, '/system/dept', '修改部门信息', 'dept', 'PUT');
+INSERT INTO "public"."sys_apis" VALUES (18, '2021-12-09 19:08:40+00', '2021-12-09 19:08:40+00', NULL, '/system/dept/:deptId', '删除部门信息', 'dept', 'DELETE');
+INSERT INTO "public"."sys_apis" VALUES (19, '2021-12-09 19:09:41+00', '2021-12-09 19:09:41+00', NULL, '/system/config/list', '获取配置分页列表', 'config', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (20, '2021-12-09 19:10:11+00', '2021-12-09 19:10:11+00', NULL, '/system/config/configKey', '获取配置列表通过ConfigKey', 'config', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (21, '2021-12-09 19:10:45+00', '2021-12-09 19:10:45+00', NULL, '/system/config/:configId', '获取配置信息', 'config', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (22, '2021-12-09 19:11:22+00', '2021-12-09 19:11:22+00', NULL, '/system/config', '添加配置信息', 'config', 'POST');
+INSERT INTO "public"."sys_apis" VALUES (23, '2021-12-09 19:11:41+00', '2021-12-09 19:11:41+00', NULL, '/system/config', '修改配置信息', 'config', 'PUT');
+INSERT INTO "public"."sys_apis" VALUES (24, '2021-12-09 19:12:28+00', '2021-12-09 19:12:28+00', NULL, '/system/config/:configId', '删除配置信息', 'config', 'DELETE');
+INSERT INTO "public"."sys_apis" VALUES (25, '2021-12-09 19:13:08+00', '2021-12-09 19:13:08+00', NULL, '/system/dict/type/list', '获取字典类型分页列表', 'dict', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (26, '2021-12-09 19:13:55+00', '2021-12-09 19:13:55+00', NULL, '/system/dict/type/:dictId', '获取字典类型信息', 'dict', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (27, '2021-12-09 19:14:28+00', '2021-12-09 19:14:28+00', NULL, '/system/dict/type', '添加字典类型信息', 'dict', 'POST');
+INSERT INTO "public"."sys_apis" VALUES (28, '2021-12-09 19:14:55+00', '2021-12-09 19:14:55+00', NULL, '/system/dict/type', '修改字典类型信息', 'dict', 'PUT');
+INSERT INTO "public"."sys_apis" VALUES (29, '2021-12-09 19:15:17+00', '2021-12-09 19:15:17+00', NULL, '/system/dict/type/:dictId', '删除字典类型信息', 'dict', 'DELETE');
+INSERT INTO "public"."sys_apis" VALUES (30, '2021-12-09 19:15:50+00', '2021-12-09 19:15:50+00', NULL, '/system/dict/type/export', '导出字典类型信息', 'dict', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (31, '2021-12-09 19:16:26+00', '2021-12-09 19:16:26+00', NULL, '/system/dict/data/list', '获取字典数据分页列表', 'dict', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (32, '2021-12-09 19:17:01+00', '2021-12-09 19:17:01+00', NULL, '/system/dict/data/type', '获取字典数据列表通过字典类型', 'dict', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (33, '2021-12-09 19:17:39+00', '2021-12-09 19:17:39+00', NULL, '/system/dict/data/:dictCode', '获取字典数据信息', 'dict', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (34, '2021-12-09 19:18:20+00', '2021-12-09 19:18:20+00', NULL, '/system/dict/data', '添加字典数据信息', 'dict', 'POST');
+INSERT INTO "public"."sys_apis" VALUES (35, '2021-12-09 19:18:44+00', '2021-12-09 19:18:44+00', NULL, '/system/dict/data', '修改字典数据信息', 'dict', 'PUT');
+INSERT INTO "public"."sys_apis" VALUES (36, '2021-12-09 19:19:16+00', '2021-12-09 19:19:16+00', NULL, '/system/dict/data/:dictCode', '删除字典数据信息', 'dict', 'DELETE');
+INSERT INTO "public"."sys_apis" VALUES (37, '2021-12-09 19:21:18+00', '2021-12-09 19:21:18+00', NULL, '/system/menu/menuTreeSelect', '获取菜单树', 'menu', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (38, '2021-12-09 19:21:47+00', '2021-12-09 19:21:47+00', NULL, '/system/menu/menuRole', '获取角色菜单', 'menu', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (39, '2021-12-09 19:22:42+00', '2021-12-09 19:22:42+00', NULL, '/system/menu/roleMenuTreeSelect/:roleId', '获取角色菜单树', 'menu', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (40, '2021-12-09 19:23:17+00', '2021-12-09 19:23:17+00', NULL, '/system/menu/menuPaths', '获取角色菜单路径列表', 'menu', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (41, '2021-12-09 19:23:40+00', '2021-12-09 19:23:40+00', NULL, '/system/menu/list', '获取菜单列表', 'menu', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (42, '2021-12-09 19:24:09+00', '2021-12-09 19:24:09+00', NULL, '/system/menu/:menuId', '获取菜单信息', 'menu', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (43, '2021-12-09 19:24:29+00', '2021-12-09 19:24:29+00', NULL, '/system/menu', '添加菜单信息', 'menu', 'POST');
+INSERT INTO "public"."sys_apis" VALUES (44, '2021-12-09 19:24:48+00', '2021-12-09 19:24:48+00', NULL, '/system/menu', '修改菜单信息', 'menu', 'PUT');
+INSERT INTO "public"."sys_apis" VALUES (45, '2021-12-09 19:25:10+00', '2021-12-09 19:25:10+00', NULL, '/system/menu/:menuId', '删除菜单信息', 'menu', 'DELETE');
+INSERT INTO "public"."sys_apis" VALUES (46, '2021-12-09 19:25:44+00', '2021-12-09 19:27:06+00', NULL, '/system/post/list', '获取岗位分页列表', 'post', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (47, '2021-12-09 19:26:55+00', '2021-12-09 19:26:55+00', NULL, '/system/post/:postId', '获取岗位信息', 'post', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (48, '2021-12-09 19:25:44+00', '2021-12-09 19:25:44+00', NULL, '/system/post', '添加岗位信息', 'post', 'POST');
+INSERT INTO "public"."sys_apis" VALUES (49, '2021-12-09 19:25:44+00', '2021-12-09 19:25:44+00', NULL, '/system/post', '修改岗位信息', 'post', 'PUT');
+INSERT INTO "public"."sys_apis" VALUES (50, '2021-12-09 19:25:44+00', '2021-12-09 19:25:44+00', NULL, '/system/post/:postId', '删除岗位信息', 'post', 'DELETE');
+INSERT INTO "public"."sys_apis" VALUES (51, '2021-12-09 19:25:44+00', '2021-12-09 19:25:44+00', NULL, '/system/role/list', '获取角色分页列表', 'role', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (52, '2021-12-09 19:25:44+00', '2021-12-09 19:25:44+00', NULL, '/system/role/:roleId', '获取角色信息', 'role', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (53, '2021-12-09 19:25:44+00', '2021-12-09 19:25:44+00', NULL, '/system/role', '添加角色信息', 'role', 'POST');
+INSERT INTO "public"."sys_apis" VALUES (54, '2021-12-09 19:25:44+00', '2021-12-09 19:25:44+00', NULL, '/system/role', '修改角色信息', 'role', 'PUT');
+INSERT INTO "public"."sys_apis" VALUES (55, '2021-12-09 19:25:44+00', '2021-12-09 19:25:44+00', NULL, '/system/role/:roleId', '删除角色信息', 'role', 'DELETE');
+INSERT INTO "public"."sys_apis" VALUES (56, '2021-12-09 19:25:44+00', '2021-12-09 19:25:44+00', NULL, '/system/role/changeStatus', '修改角色状态', 'role', 'PUT');
+INSERT INTO "public"."sys_apis" VALUES (57, '2021-12-09 19:25:44+00', '2021-12-09 19:25:44+00', NULL, '/system/role/dataScope', '修改角色部门权限', 'role', 'PUT');
+INSERT INTO "public"."sys_apis" VALUES (58, '2021-12-09 19:25:44+00', '2021-12-09 19:25:44+00', NULL, '/system/role/export', '导出角色信息', 'role', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (59, '2021-12-09 19:50:57+00', '2021-12-09 19:50:57+00', NULL, '/system/api/list', '获取api分页列表', 'api', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (60, '2021-12-09 19:51:26+00', '2021-12-09 19:51:26+00', NULL, '/system/api/all', '获取所有api', 'api', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (61, '2021-12-09 19:51:54+00', '2021-12-09 19:51:54+00', NULL, '/system/api/getPolicyPathByRoleId', '获取角色拥有的api权限', 'api', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (62, '2021-12-09 19:52:14+00', '2021-12-09 19:52:14+00', NULL, '/system/api/:id', '获取api信息', 'api', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (63, '2021-12-09 19:52:35+00', '2021-12-09 19:52:35+00', NULL, '/system/api', '添加api信息', 'api', 'POST');
+INSERT INTO "public"."sys_apis" VALUES (64, '2021-12-09 19:52:50+00', '2021-12-09 19:52:50+00', NULL, '/system/api', '修改api信息', 'api', 'PUT');
+INSERT INTO "public"."sys_apis" VALUES (65, '2021-12-09 19:53:07+00', '2021-12-09 19:53:07+00', NULL, '/system/api/:id', '删除api信息', 'api', 'DELETE');
+INSERT INTO "public"."sys_apis" VALUES (66, '2021-12-17 10:51:05+00', '2021-12-17 10:54:22+00', NULL, '/log/logLogin/list', '获取登录日志', 'log', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (67, '2021-12-17 10:51:43+00', '2021-12-17 10:54:28+00', NULL, '/log/logLogin/:infoId', '删除日志', 'log', 'DELETE');
+INSERT INTO "public"."sys_apis" VALUES (68, '2021-12-17 10:53:09+00', '2021-12-17 10:54:34+00', NULL, '/log/logLogin/all', '清空所有', 'log', 'DELETE');
+INSERT INTO "public"."sys_apis" VALUES (69, '2021-12-17 10:54:07+00', '2021-12-17 10:54:07+00', NULL, '/log/logOper/list', '操作日志列表', 'log', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (70, '2021-12-17 10:53:09+00', '2021-12-17 10:53:09+00', NULL, '/log/logOper/:operId', '删除', 'log', 'DELETE');
+INSERT INTO "public"."sys_apis" VALUES (71, '2021-12-17 10:53:09+00', '2021-12-17 10:53:09+00', NULL, '/log/logOper/all', '清空', 'log', 'DELETE');
+INSERT INTO "public"."sys_apis" VALUES (72, '2021-12-24 15:41:23+00', '2021-12-24 15:41:23+00', NULL, '/job/list', '任务列表', 'job', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (73, '2021-12-24 15:41:54+00', '2021-12-24 15:41:54+00', NULL, '/job', '添加', 'job', 'POST');
+INSERT INTO "public"."sys_apis" VALUES (74, '2021-12-24 15:42:11+00', '2021-12-24 15:42:11+00', NULL, '/job', '修改任务', 'job', 'PUT');
+INSERT INTO "public"."sys_apis" VALUES (75, '2021-12-24 15:42:37+00', '2021-12-24 16:32:21+00', NULL, '/job/:jobId', '获取任务', 'job', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (76, '2021-12-24 15:43:09+00', '2021-12-24 16:32:05+00', NULL, '/job/:jobId', '删除job', 'job', 'DELETE');
+INSERT INTO "public"."sys_apis" VALUES (77, '2021-12-24 15:43:35+00', '2021-12-24 16:31:11+00', NULL, '/job/stop/:jobId', '停止任务', 'job', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (78, '2021-12-24 15:44:09+00', '2021-12-24 16:30:38+00', NULL, '/job/start/:jobId', '开始任务', 'job', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (79, '2021-12-24 15:45:03+00', '2021-12-24 15:46:36+00', NULL, '/log/logJob/list', '任务日志列表', 'log', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (80, '2021-12-24 15:45:33+00', '2021-12-24 15:46:43+00', NULL, '/log/logJob/all', '清空任务日志', 'log', 'DELETE');
+INSERT INTO "public"."sys_apis" VALUES (81, '2021-12-24 15:46:08+00', '2021-12-24 16:33:13+00', NULL, '/log/logJob/:logId', '删除任务日志', 'log', 'DELETE');
+INSERT INTO "public"."sys_apis" VALUES (82, '2021-12-24 15:45:33+00', '2021-12-24 15:45:33+00', NULL, '/system/notice/list', '获取通知分页列表', 'notice', 'GET');
+INSERT INTO "public"."sys_apis" VALUES (83, '2021-12-24 15:45:33+00', '2021-12-24 15:45:33+00', NULL, '/system/notice', '添加通知信息', 'notice', 'POST');
+INSERT INTO "public"."sys_apis" VALUES (84, '2021-12-24 15:45:33+00', '2021-12-24 15:45:33+00', NULL, '/system/notice', '修改通知信息', 'notice', 'PUT');
+INSERT INTO "public"."sys_apis" VALUES (85, '2021-12-24 15:45:33+00', '2021-12-24 16:33:48+00', NULL, '/system/notice/:noticeId', '删除通知信息', 'notice', 'DELETE');
+INSERT INTO "public"."sys_apis" VALUES (86, '2021-12-24 22:40:19+00', '2021-12-24 22:40:19+00', NULL, '/job/changeStatus', '修改状态', 'job', 'PUT');
+
+-- ----------------------------
+-- Table structure for sys_configs
+-- ----------------------------
+DROP TABLE IF EXISTS "public"."sys_configs";
+CREATE TABLE "public"."sys_configs" (
+ "config_id" int8 NOT NULL DEFAULT nextval('sys_configs_config_id_seq'::regclass),
+ "config_name" varchar(128) COLLATE "pg_catalog"."default",
+ "config_key" varchar(128) COLLATE "pg_catalog"."default",
+ "config_value" varchar(255) COLLATE "pg_catalog"."default",
+ "config_type" varchar(64) COLLATE "pg_catalog"."default",
+ "is_frontend" varchar(1) COLLATE "pg_catalog"."default",
+ "remark" varchar(128) COLLATE "pg_catalog"."default",
+ "create_time" timestamptz(6),
+ "update_time" timestamptz(6),
+ "delete_time" timestamptz(6)
+)
+;
+COMMENT ON COLUMN "public"."sys_configs"."config_id" IS '主键编码';
+COMMENT ON COLUMN "public"."sys_configs"."config_name" IS 'ConfigName';
+COMMENT ON COLUMN "public"."sys_configs"."config_key" IS 'ConfigKey';
+COMMENT ON COLUMN "public"."sys_configs"."config_value" IS 'ConfigValue';
+COMMENT ON COLUMN "public"."sys_configs"."config_type" IS '是否系统内置0,1';
+COMMENT ON COLUMN "public"."sys_configs"."is_frontend" IS '是否前台';
+COMMENT ON COLUMN "public"."sys_configs"."remark" IS 'Remark';
+
+-- ----------------------------
+-- Records of sys_configs
+-- ----------------------------
+INSERT INTO "public"."sys_configs" VALUES (1, '账号初始密码', 'sys.user.initPassword', '123456', '0', '0', '初始密码', '2021-12-04 13:50:13+00', '2021-12-04 13:54:52+00', NULL);
+
+-- ----------------------------
+-- Table structure for sys_depts
+-- ----------------------------
+DROP TABLE IF EXISTS "public"."sys_depts";
+CREATE TABLE "public"."sys_depts" (
+ "dept_id" int8 NOT NULL DEFAULT nextval('sys_depts_dept_id_seq'::regclass),
+ "parent_id" int8,
+ "dept_path" varchar(255) COLLATE "pg_catalog"."default",
+ "dept_name" varchar(128) COLLATE "pg_catalog"."default",
+ "sort" int8,
+ "leader" varchar(64) COLLATE "pg_catalog"."default",
+ "phone" varchar(11) COLLATE "pg_catalog"."default",
+ "email" varchar(64) COLLATE "pg_catalog"."default",
+ "status" varchar(1) COLLATE "pg_catalog"."default",
+ "create_by" varchar(64) COLLATE "pg_catalog"."default",
+ "update_by" varchar(64) COLLATE "pg_catalog"."default",
+ "create_time" timestamptz(6),
+ "update_time" timestamptz(6),
+ "delete_time" timestamptz(6)
+)
+;
+COMMENT ON COLUMN "public"."sys_depts"."parent_id" IS '上级部门';
+COMMENT ON COLUMN "public"."sys_depts"."dept_path" IS '部门路径';
+COMMENT ON COLUMN "public"."sys_depts"."dept_name" IS '部门名称';
+COMMENT ON COLUMN "public"."sys_depts"."sort" IS '排序';
+COMMENT ON COLUMN "public"."sys_depts"."leader" IS '负责人';
+COMMENT ON COLUMN "public"."sys_depts"."phone" IS '手机';
+COMMENT ON COLUMN "public"."sys_depts"."email" IS '邮箱';
+COMMENT ON COLUMN "public"."sys_depts"."status" IS '状态';
+COMMENT ON COLUMN "public"."sys_depts"."create_by" IS '创建人';
+COMMENT ON COLUMN "public"."sys_depts"."update_by" IS '修改人';
+
+-- ----------------------------
+-- Records of sys_depts
+-- ----------------------------
+INSERT INTO "public"."sys_depts" VALUES (2, 0, '/0/2', '熊猫科技', 0, 'xm', '18353366836', '342@qq.com', '0', 'admin', 'admin', '2021-12-01 17:31:53+00', '2021-12-02 08:56:19+00', NULL);
+INSERT INTO "public"."sys_depts" VALUES (3, 2, '/0/2/3', '研发部', 1, 'panda', '18353366543', 'ewr@qq.com', '0', 'admin', 'admin', '2021-12-01 17:37:43+00', '2021-12-02 08:55:56+00', NULL);
+INSERT INTO "public"."sys_depts" VALUES (7, 2, '/0/2/7', '营销部', 2, 'panda', '18353333333', '342@qq.com', '0', 'panda', 'panda', '2021-12-24 10:46:24+00', '2021-12-24 10:47:15+00', NULL);
+
+-- ----------------------------
+-- Table structure for sys_dict_data
+-- ----------------------------
+DROP TABLE IF EXISTS "public"."sys_dict_data";
+CREATE TABLE "public"."sys_dict_data" (
+ "dict_code" int8 NOT NULL DEFAULT nextval('sys_dict_data_dict_code_seq'::regclass),
+ "dict_sort" int8,
+ "dict_label" varchar(64) COLLATE "pg_catalog"."default",
+ "dict_value" varchar(64) COLLATE "pg_catalog"."default",
+ "dict_type" varchar(64) COLLATE "pg_catalog"."default",
+ "status" varchar(1) COLLATE "pg_catalog"."default",
+ "css_class" varchar(128) COLLATE "pg_catalog"."default",
+ "list_class" varchar(128) COLLATE "pg_catalog"."default",
+ "is_default" varchar(8) COLLATE "pg_catalog"."default",
+ "create_by" text COLLATE "pg_catalog"."default",
+ "update_by" text COLLATE "pg_catalog"."default",
+ "remark" varchar(256) COLLATE "pg_catalog"."default",
+ "create_time" timestamptz(6),
+ "update_time" timestamptz(6),
+ "delete_time" timestamptz(6)
+)
+;
+COMMENT ON COLUMN "public"."sys_dict_data"."dict_sort" IS '排序';
+COMMENT ON COLUMN "public"."sys_dict_data"."dict_label" IS '标签';
+COMMENT ON COLUMN "public"."sys_dict_data"."dict_value" IS '值';
+COMMENT ON COLUMN "public"."sys_dict_data"."dict_type" IS '字典类型';
+COMMENT ON COLUMN "public"."sys_dict_data"."status" IS '状态(0正常 1停用)';
+COMMENT ON COLUMN "public"."sys_dict_data"."css_class" IS 'CssClass';
+COMMENT ON COLUMN "public"."sys_dict_data"."list_class" IS 'ListClass';
+COMMENT ON COLUMN "public"."sys_dict_data"."is_default" IS 'IsDefault';
+COMMENT ON COLUMN "public"."sys_dict_data"."remark" IS '备注';
+
+-- ----------------------------
+-- Records of sys_dict_data
+-- ----------------------------
+INSERT INTO "public"."sys_dict_data" VALUES (1, 0, '男', '0', 'sys_user_sex', '0', '', '', '', 'admin', '', '男', '2021-11-30 14:58:18+00', '2021-11-30 14:58:18+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (2, 1, '女', '1', 'sys_user_sex', '0', '', '', '', 'admin', '', '女生', '2021-11-30 15:09:11+00', '2021-11-30 15:10:28+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (3, 2, '未知', '2', 'sys_user_sex', '0', '', '', '', 'admin', '', '未知', '2021-11-30 15:09:11+00', '2021-11-30 15:10:28+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (4, 0, '正常', '0', 'sys_normal_disable', '0', '', '', '', 'admin', '', '', '2021-12-01 15:58:50+00', '2021-12-01 15:58:50+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (5, 1, '停用', '1', 'sys_normal_disable', '0', '', '', '', 'admin', '', '', '2021-12-01 15:59:08+00', '2021-12-01 15:59:08+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (6, 0, '目录', 'M', 'sys_menu_type', '0', '', '', '', 'admin', '', '', '2021-12-02 09:49:12+00', '2021-12-02 09:49:12+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (7, 1, '菜单', 'C', 'sys_menu_type', '0', '', '', '', 'admin', '', '', '2021-12-02 09:49:35+00', '2021-12-02 09:49:52+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (8, 2, '按钮', 'F', 'sys_menu_type', '0', '', '', '', 'admin', '', '', '2021-12-02 09:49:35+00', '2021-12-02 09:49:35+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (9, 0, '显示', '0', 'sys_show_hide', '0', '', '', '', 'admin', '', '', '2021-12-02 09:56:40+00', '2021-12-02 09:56:40+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (10, 0, '隐藏', '1', 'sys_show_hide', '0', '', '', '', 'admin', '', '', '2021-12-02 09:56:52+00', '2021-12-02 09:56:52+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (11, 0, '是', '0', 'sys_num_yes_no', '0', '', '', '', 'admin', '', '', '2021-12-02 10:16:16+00', '2021-12-02 10:16:16+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (12, 1, '否', '1', 'sys_num_yes_no', '0', '', '', '', 'admin', '', '', '2021-12-02 10:16:26+00', '2021-12-02 10:16:26+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (13, 0, '是', '0', 'sys_yes_no', '0', '', '', '', 'admin', '', '', '2021-12-04 13:48:15+00', '2021-12-04 13:48:15+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (14, 0, '否', '1', 'sys_yes_no', '0', '', '', '', 'admin', '', '', '2021-12-04 13:48:21+00', '2021-12-04 13:48:21+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (15, 0, '创建(POST)', 'POST', 'sys_method_api', '0', '', '', '', 'admin', '', '', '2021-12-08 17:22:05+00', '2021-12-09 09:29:52+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (16, 1, '查询(GET)', 'GET', 'sys_method_api', '0', '', '', '', 'admin', '', '', '2021-12-08 17:22:24+00', '2021-12-09 09:29:59+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (17, 2, '修改(PUT)', 'PUT', 'sys_method_api', '0', '', '', '', 'admin', '', '', '2021-12-08 17:22:40+00', '2021-12-09 09:30:06+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (18, 3, '删除(DELETE)', 'DELETE', 'sys_method_api', '0', '', '', '', 'admin', '', '', '2021-12-08 17:22:54+00', '2021-12-09 09:30:13+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (19, 0, '成功', '0', 'sys_common_status', '0', '', '', '', 'admin', '', '', '2021-12-17 11:01:52+00', '2021-12-17 11:01:52+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (20, 0, '失败', '1', 'sys_common_status', '0', '', '', '', 'admin', '', '', '2021-12-17 11:02:08+00', '2021-12-17 11:02:08+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (21, 0, '其他', '0', 'sys_oper_type', '0', '', '', '', 'admin', '', '', '2021-12-17 11:30:07+00', '2021-12-17 11:30:07+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (22, 0, '新增', '1', 'sys_oper_type', '0', '', '', '', 'admin', '', '', '2021-12-17 11:30:21+00', '2021-12-17 11:30:21+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (23, 0, '修改', '2', 'sys_oper_type', '0', '', '', '', 'admin', '', '', '2021-12-17 11:30:32+00', '2021-12-17 11:30:32+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (24, 0, '删除', '3', 'sys_oper_type', '0', '', '', '', 'admin', '', '', '2021-12-17 11:30:40+00', '2021-12-17 11:30:40+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (25, 0, '默认', 'DEFAULT', 'sys_job_group', '0', '', '', '', 'panda', '', '', '2021-12-24 15:15:31+00', '2021-12-24 15:15:31+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (26, 1, '系统', 'SYSTEM', 'sys_job_group', '0', '', '', '', 'panda', '', '', '2021-12-24 15:15:50+00', '2021-12-24 15:15:50+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (27, 0, '发布通知', '1', 'sys_notice_type', '0', '', '', '', 'panda', '', '', '2021-12-26 15:24:07+00', '2021-12-26 15:24:07+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (28, 0, '任免通知', '2', 'sys_notice_type', '0', '', '', '', 'panda', '', '', '2021-12-26 15:24:18+00', '2021-12-26 15:24:18+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (29, 0, '事物通知', '3', 'sys_notice_type', '0', '', '', '', 'panda', '', '', '2021-12-26 15:24:46+00', '2021-12-26 15:24:46+00', NULL);
+INSERT INTO "public"."sys_dict_data" VALUES (30, 0, '审批通知', '4', 'sys_notice_type', '0', '', '', '', 'panda', '', '', '2021-12-26 15:25:08+00', '2021-12-26 15:25:08+00', NULL);
+
+-- ----------------------------
+-- Table structure for sys_dict_types
+-- ----------------------------
+DROP TABLE IF EXISTS "public"."sys_dict_types";
+CREATE TABLE "public"."sys_dict_types" (
+ "dict_id" int8 NOT NULL DEFAULT nextval('sys_dict_types_dict_id_seq'::regclass),
+ "dict_name" varchar(64) COLLATE "pg_catalog"."default",
+ "dict_type" varchar(64) COLLATE "pg_catalog"."default",
+ "status" varchar(1) COLLATE "pg_catalog"."default",
+ "create_by" text COLLATE "pg_catalog"."default",
+ "update_by" text COLLATE "pg_catalog"."default",
+ "remark" varchar(256) COLLATE "pg_catalog"."default",
+ "create_time" timestamptz(6),
+ "update_time" timestamptz(6),
+ "delete_time" timestamptz(6)
+)
+;
+COMMENT ON COLUMN "public"."sys_dict_types"."dict_name" IS '名称';
+COMMENT ON COLUMN "public"."sys_dict_types"."dict_type" IS '类型';
+COMMENT ON COLUMN "public"."sys_dict_types"."status" IS '状态';
+COMMENT ON COLUMN "public"."sys_dict_types"."remark" IS '备注';
+
+-- ----------------------------
+-- Records of sys_dict_types
+-- ----------------------------
+INSERT INTO "public"."sys_dict_types" VALUES (1, '用户性别', 'sys_user_sex', '0', 'admin', '', '性别列表', '2021-11-30 14:02:52+00', '2021-11-30 14:07:55+00', '2021-11-30 14:11:54+00');
+INSERT INTO "public"."sys_dict_types" VALUES (2, '用户性别', 'sys_user_sex', '0', 'admin', '', '用户性别列表', '2021-11-30 14:12:33+00', '2021-11-30 14:12:33+00', '2021-11-30 14:14:19+00');
+INSERT INTO "public"."sys_dict_types" VALUES (3, '的心', 'sfd', '0', 'admin', '', 'fs', '2021-11-30 14:13:22+00', '2021-11-30 14:13:22+00', '2021-11-30 14:14:19+00');
+INSERT INTO "public"."sys_dict_types" VALUES (4, '用户性别', 'sys_user_sex', '0', 'admin', '', '性别字典', '2021-11-30 14:15:25+00', '2021-11-30 14:15:25+00', NULL);
+INSERT INTO "public"."sys_dict_types" VALUES (5, 'df', 'da', '0', 'admin', '', 'sd', '2021-11-30 15:54:33+00', '2021-11-30 15:54:33+00', '2021-11-30 15:54:40+00');
+INSERT INTO "public"."sys_dict_types" VALUES (6, '系统开关', 'sys_normal_disable', '0', 'admin', '', '开关列表', '2021-12-01 15:57:58+00', '2021-12-01 15:57:58+00', NULL);
+INSERT INTO "public"."sys_dict_types" VALUES (7, '菜单类型', 'sys_menu_type', '0', 'admin', '', '菜单类型列表', '2021-12-02 09:48:48+00', '2021-12-02 09:56:12+00', NULL);
+INSERT INTO "public"."sys_dict_types" VALUES (8, '菜单状态', 'sys_show_hide', '0', 'admin', '', '菜单状态列表', '2021-12-02 09:55:59+00', '2021-12-02 09:55:59+00', NULL);
+INSERT INTO "public"."sys_dict_types" VALUES (9, '数字是否', 'sys_num_yes_no', '0', 'admin', '', '数字是否列表', '2021-12-02 10:13:29+00', '2021-12-02 10:13:40+00', '2021-12-02 10:15:07+00');
+INSERT INTO "public"."sys_dict_types" VALUES (10, '数字是否', 'sys_num_yes_no', '0', 'admin', '', '数字是否', '2021-12-02 10:13:29+00', '2021-12-02 10:13:29+00', NULL);
+INSERT INTO "public"."sys_dict_types" VALUES (11, '状态是否', 'sys_yes_no', '0', 'admin', '', '状态是否', '2021-12-04 13:47:57+00', '2021-12-04 13:47:57+00', NULL);
+INSERT INTO "public"."sys_dict_types" VALUES (12, '网络请求方法', 'sys_method_api', '0', 'admin', '', '网络请求方法列表', '2021-12-08 17:21:27+00', '2021-12-08 17:21:27+00', NULL);
+INSERT INTO "public"."sys_dict_types" VALUES (13, '成功失败', 'sys_common_status', '0', 'admin', '', '是否成功失败', '2021-12-17 10:10:03+00', '2021-12-17 10:10:03+00', NULL);
+INSERT INTO "public"."sys_dict_types" VALUES (27, '操作分类', 'sys_oper_type', '0', 'admin', '', '操作分类列表', '2021-12-17 11:29:50+00', '2021-12-17 11:29:50+00', NULL);
+INSERT INTO "public"."sys_dict_types" VALUES (28, '任务组', 'sys_job_group', '0', 'panda', '', '系统任务,开机自启', '2021-12-24 15:14:56+00', '2021-12-24 15:14:56+00', NULL);
+INSERT INTO "public"."sys_dict_types" VALUES (29, '通知类型', 'sys_notice_type', '0', 'panda', '', '通知类型列表', '2021-12-26 15:23:26+00', '2021-12-26 15:23:26+00', NULL);
+
+-- ----------------------------
+-- Table structure for sys_jobs
+-- ----------------------------
+DROP TABLE IF EXISTS "public"."sys_jobs";
+CREATE TABLE "public"."sys_jobs" (
+ "job_id" int8 NOT NULL DEFAULT nextval('sys_jobs_job_id_seq'::regclass),
+ "job_name" varchar(255) COLLATE "pg_catalog"."default",
+ "job_group" varchar(255) COLLATE "pg_catalog"."default",
+ "job_type" varchar(1) COLLATE "pg_catalog"."default",
+ "cron_expression" varchar(255) COLLATE "pg_catalog"."default",
+ "invoke_target" varchar(255) COLLATE "pg_catalog"."default",
+ "args" varchar(255) COLLATE "pg_catalog"."default",
+ "misfire_policy" varchar(1) COLLATE "pg_catalog"."default",
+ "concurrent" varchar(1) COLLATE "pg_catalog"."default",
+ "status" varchar(1) COLLATE "pg_catalog"."default",
+ "entry_id" int8,
+ "create_by" varchar(128) COLLATE "pg_catalog"."default",
+ "update_by" varchar(128) COLLATE "pg_catalog"."default",
+ "create_time" timestamptz(6),
+ "update_time" timestamptz(6),
+ "delete_time" timestamptz(6)
+)
+;
+COMMENT ON COLUMN "public"."sys_jobs"."create_by" IS '创建人';
+COMMENT ON COLUMN "public"."sys_jobs"."update_by" IS '更新者';
+
+-- ----------------------------
+-- Records of sys_jobs
+-- ----------------------------
+INSERT INTO "public"."sys_jobs" VALUES (1, 'testcron', 'SYSTEM', '2', ' 0/10 * * * * ?', 'cronHandle', 'aaa', '', '', '1', 0, 'panda', '', '2021-12-24 16:06:09+00', '2021-12-24 22:44:09+00', NULL);
+
+-- ----------------------------
+-- Table structure for sys_menus
+-- ----------------------------
+DROP TABLE IF EXISTS "public"."sys_menus";
+CREATE TABLE "public"."sys_menus" (
+ "menu_id" int8 NOT NULL DEFAULT nextval('sys_menus_menu_id_seq'::regclass),
+ "menu_name" varchar(128) COLLATE "pg_catalog"."default",
+ "title" varchar(64) COLLATE "pg_catalog"."default",
+ "parent_id" int8,
+ "sort" int8,
+ "icon" varchar(128) COLLATE "pg_catalog"."default",
+ "path" varchar(128) COLLATE "pg_catalog"."default",
+ "component" varchar(255) COLLATE "pg_catalog"."default",
+ "is_iframe" varchar(1) COLLATE "pg_catalog"."default",
+ "is_link" varchar(255) COLLATE "pg_catalog"."default",
+ "menu_type" varchar(1) COLLATE "pg_catalog"."default",
+ "is_hide" varchar(1) COLLATE "pg_catalog"."default",
+ "is_keep_alive" varchar(1) COLLATE "pg_catalog"."default",
+ "is_affix" varchar(1) COLLATE "pg_catalog"."default",
+ "permission" varchar(32) COLLATE "pg_catalog"."default",
+ "status" text COLLATE "pg_catalog"."default",
+ "create_by" varchar(128) COLLATE "pg_catalog"."default",
+ "update_by" varchar(128) COLLATE "pg_catalog"."default",
+ "remark" text COLLATE "pg_catalog"."default",
+ "create_time" timestamptz(6),
+ "update_time" timestamptz(6),
+ "delete_time" timestamptz(6)
+)
+;
+
+-- ----------------------------
+-- Records of sys_menus
+-- ----------------------------
+INSERT INTO "public"."sys_menus" VALUES (1, '系统设置', '', 0, 0, 'elementSetting', '/system', 'Layout', '1', '', 'M', '0', '0', '1', '', '0', 'admin', 'panda', '', '2021-12-02 11:04:08+00', '2021-12-28 13:32:21+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (3, '用户管理', '', 1, 1, 'elementUser', '/system/user', '/system/user/index', '1', '', 'C', '0', '1', '1', 'system:user:list', '0', 'admin', 'panda', '', '2021-12-02 14:07:56+00', '2021-12-28 13:32:44+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (4, '添加用户', '', 3, 1, '', '', '', '', '', 'F', '0', '', '', 'system:user:add', '0', 'admin', '', '', '2021-12-03 13:36:33+00', '2021-12-03 13:36:33+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (5, '编辑用户', '', 3, 1, '', '', '', '', '', 'F', '0', '', '', 'system:user:edit', '0', 'admin', '', '', '2021-12-03 13:48:13+00', '2021-12-03 13:48:13+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (6, '角色管理', '', 1, 1, 'elementUserFilled', '/system/role', '/system/role/index', '1', '', 'C', '0', '1', '1', 'system:role:list', '0', 'admin', 'panda', '', '2021-12-03 13:51:55+00', '2021-12-28 13:32:55+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (7, '菜单管理', '', 1, 2, 'iconfont icon-juxingkaobei', '/system/menu', '/system/menu/index', '1', '', 'C', '0', '1', '1', 'system:menu:list', '0', 'admin', 'panda', '', '2021-12-03 13:54:44+00', '2021-12-28 13:33:19+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (8, '部门管理', '', 1, 3, 'iconfont icon-jiliandongxuanzeqi', '/system/dept', '/system/dept/index', '1', '', 'C', '0', '1', '1', 'system:dept:list', '0', 'admin', 'panda', '', '2021-12-03 13:58:36+00', '2021-12-28 13:40:20+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (9, '岗位管理', '', 1, 4, 'iconfont icon-neiqianshujuchucun', '/system/post', '/system/post/index', '1', '', 'C', '0', '1', '1', 'system:post:list', '0', 'admin', 'panda', '', '2021-12-03 13:54:44+00', '2021-12-28 13:40:31+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (10, '字典管理', '', 1, 5, 'elementCellphone', '/system/dict', '/system/dict/index', '1', '', 'C', '0', '1', '1', 'system:dict:list', '0', 'admin', 'panda', '', '2021-12-03 13:54:44+00', '2021-12-28 13:40:50+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (11, '参数管理', '', 1, 6, 'elementDocumentCopy', '/system/config', '/system/config/index', '1', '', 'C', '0', '1', '1', 'system:config:list', '0', 'admin', 'panda', '', '2021-12-03 13:54:44+00', '2021-12-28 13:41:05+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (12, '个人中心', '', 0, 10, 'elementAvatar', '/personal', '/personal/index', '1', '', 'M', '0', '0', '0', '', '0', 'admin', 'panda', '', '2021-12-03 14:12:43+00', '2021-12-28 13:43:17+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (13, '添加配置', '', 11, 1, '', '', '', '', '', 'F', '', '', '', 'system:config:add', '0', 'admin', '', '', '2021-12-06 17:19:19+00', '2021-12-06 17:19:19+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (14, '修改配置', '', 11, 1, '', '', '', '', '', 'F', '', '', '', 'system:config:edit', '0', 'admin', '', '', '2021-12-06 17:20:30+00', '2021-12-06 17:20:30+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (15, '删除配置', '', 11, 1, '', '', '', '', '', 'F', '', '', '', 'system:config:delete', '0', 'admin', '', '', '2021-12-06 17:23:52+00', '2021-12-06 17:23:52+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (16, '导出配置', '', 11, 1, '', '', '', '', '', 'F', '', '', '', 'system:config:export', '0', 'admin', '', '', '2021-12-06 17:24:41+00', '2021-12-06 17:24:41+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (17, '新增角色', '', 6, 1, '', '', '', '', '', 'F', '', '', '', 'system:role:add', '0', 'admin', '', '', '2021-12-06 17:43:35+00', '2021-12-06 17:43:35+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (18, '删除角色', '', 6, 1, '', '', '', '', '', 'F', '', '', '', 'system:role:delete', '0', 'admin', '', '', '2021-12-06 17:44:10+00', '2021-12-06 17:44:10+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (19, '修改角色', '', 6, 1, '', '', '', '', '', 'F', '', '', '', 'system:role:edit', '0', 'admin', '', '', '2021-12-06 17:44:48+00', '2021-12-06 17:44:48+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (20, '导出角色', '', 6, 1, '', '', '', '', '', 'F', '', '', '', 'system:role:export', '0', 'admin', '', '', '2021-12-06 17:45:25+00', '2021-12-06 17:45:25+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (21, '添加菜单', '', 7, 1, '', '', '', '', '', 'F', '', '', '', 'system:menu:add', '0', 'admin', '', '', '2021-12-06 17:46:01+00', '2021-12-06 17:46:01+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (22, '修改菜单', '', 7, 1, '', '', '', '', '', 'F', '', '', '', 'system:menu:edit', '0', 'admin', '', '', '2021-12-06 17:46:24+00', '2021-12-06 17:46:24+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (23, '删除菜单', '', 7, 1, '', '', '', '', '', 'F', '', '', '', 'system:menu:delete', '0', 'admin', '', '', '2021-12-06 17:46:47+00', '2021-12-06 17:46:47+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (24, '添加部门', '', 8, 1, '', '', '', '', '', 'F', '', '', '', 'system:dept:add', '0', 'admin', '', '', '2021-12-07 09:33:58+00', '2021-12-07 09:33:58+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (25, '编辑部门', '', 8, 1, '', '', '', '', '', 'F', '', '', '', 'system:dept:edit', '0', 'admin', '', '', '2021-12-07 09:34:39+00', '2021-12-07 09:34:39+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (26, '删除部门', '', 8, 1, '', '', '', '', '', 'F', '', '', '', 'system:dept:delete', '0', 'admin', 'admin', '', '2021-12-07 09:35:09+00', '2021-12-07 09:36:26+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (27, '导出部门', '', 8, 1, '', '', '', '', '', 'F', '', '', '', 'system:dept:export', '0', 'admin', '', '', '2021-12-07 09:35:51+00', '2021-12-07 09:35:51+00', '2021-12-07 09:36:37+00');
+INSERT INTO "public"."sys_menus" VALUES (28, '添加岗位', '', 9, 1, '', '', '', '', '', 'F', '', '', '', 'system:post:add', '0', 'admin', '', '', '2021-12-07 09:35:09+00', '2021-12-07 09:35:09+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (29, '编辑岗位', '', 9, 1, '', '', '', '', '', 'F', '', '', '', 'system:post:edit', '0', 'admin', '', '', '2021-12-07 09:35:09+00', '2021-12-07 09:35:09+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (30, '删除岗位', '', 9, 1, '', '', '', '', '', 'F', '', '', '', 'system:post:delete', '0', 'admin', '', '', '2021-12-07 09:35:09+00', '2021-12-07 09:35:09+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (31, '导出岗位', '', 9, 1, '', '', '', '', '', 'F', '', '', '', 'system:post:export', '0', 'admin', '', '', '2021-12-07 09:35:09+00', '2021-12-07 09:35:09+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (32, '添加字典类型', '', 10, 1, '', '', '', '', '', 'F', '', '', '', 'system:dictT:add', '0', 'admin', '', '', '2021-12-07 09:35:09+00', '2021-12-07 09:35:09+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (33, '编辑字典类型', '', 10, 1, '', '', '', '', '', 'F', '', '', '', 'system:dictT:edit', '0', 'admin', '', '', '2021-12-07 09:35:09+00', '2021-12-07 09:35:09+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (34, '删除字典类型', '', 10, 1, '', '', '', '', '', 'F', '', '', '', 'system:dictT:delete', '0', 'admin', '', '', '2021-12-07 09:35:09+00', '2021-12-07 09:35:09+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (35, '导出字典类型', '', 10, 1, '', '', '', '', '', 'F', '', '', '', 'system:dictT:export', '0', 'admin', '', '', '2021-12-07 09:35:09+00', '2021-12-07 09:35:09+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (36, '新增字典数据', '', 10, 1, '', '', '', '', '', 'F', '', '', '', 'system:dictD:add', '0', 'admin', '', '', '2021-12-07 09:35:09+00', '2021-12-07 09:35:09+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (37, '修改字典数据', '', 10, 1, '', '', '', '', '', 'F', '', '', '', 'system:dictD:edit', '0', 'admin', '', '', '2021-12-07 09:48:04+00', '2021-12-07 09:48:04+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (38, '删除字典数据', '', 10, 1, '', '', '', '', '', 'F', '', '', '', 'system:dictD:delete', '0', 'admin', '', '', '2021-12-07 09:48:42+00', '2021-12-07 09:48:42+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (39, 'API管理', '', 1, 1, 'iconfont icon-siweidaotu', '/system/api', '/system/api/index', '1', '', 'C', '0', '1', '1', 'system:api:list', '0', 'admin', '', '', '2021-12-09 09:09:13+00', '2021-12-09 09:09:13+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (40, '添加api', '', 39, 1, '', '/system/api', '', '', '', 'F', '', '', '', 'system:api:add', '0', 'admin', '', '', '2021-12-09 09:09:54+00', '2021-12-09 09:09:54+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (41, '编辑api', '', 39, 1, '', '/system/api', '', '', '', 'F', '', '', '', 'system:api:edit', '0', 'admin', '', '', '2021-12-09 09:10:38+00', '2021-12-09 09:10:38+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (42, '删除api', '', 39, 1, '', '/system/api', '', '', '', 'F', '', '', '', 'system:api:delete', '0', 'admin', '', '', '2021-12-09 09:11:11+00', '2021-12-09 09:11:11+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (43, '日志系统', '', 0, 1, 'iconfont icon-biaodan', '/log', 'Layout', '1', '', 'M', '0', '1', '1', '', '0', 'admin', 'panda', '', '2021-12-02 11:04:08+00', '2021-12-28 13:38:33+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (44, '系统工具', '', 0, 2, 'iconfont icon-gongju', '/tool', 'Layout', '1', '', 'M', '0', '1', '1', '', '0', 'admin', 'panda', '', '2021-12-16 16:35:15+00', '2021-12-28 13:38:46+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (45, '操作日志', '', 43, 1, 'iconfont icon-bolangnengshiyanchang', '/log/operation', '/log/operation/index', '1', '', 'C', '0', '1', '1', 'log:operation:list', '0', 'admin', 'panda', '', '2021-12-16 16:42:03+00', '2021-12-28 13:39:44+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (46, '登录日志', '', 43, 2, 'iconfont icon--chaifenlie', '/log/login', '/log/login/index', '1', '', 'C', '0', '1', '1', 'log:login:list', '0', 'admin', 'panda', '', '2021-12-16 16:43:28+00', '2021-12-28 13:39:58+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (47, '服务监控', '', 44, 1, 'elementCpu', '/tool/monitor/', '/tool/monitor/index', '1', '', 'C', '0', '1', '1', 'tool:monitor:list', '0', 'admin', 'panda', '', '2021-12-03 14:12:43+00', '2021-12-28 13:41:25+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (48, '定时任务', '', 44, 2, 'elementAlarmClock', '/tool/job', '/tool/job/index', '1', '', 'C', '0', '1', '1', 'tool:job:list', '0', 'admin', 'panda', '', '2021-12-16 16:48:45+00', '2021-12-28 13:41:59+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (49, '开发工具', '', 0, 3, 'iconfont icon-diannao', '/develop', 'Layout', '1', '', 'M', '0', '1', '1', '', '0', 'admin', '', '', '2021-12-16 16:53:11+00', '2021-12-16 16:53:11+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (50, '表单构建', '', 49, 1, 'iconfont icon-zidingyibuju', '/develop/form', '/layout/routerView/iframes', '0', 'http://127.0.0.1:7788/form-generator/', 'C', '0', '1', '1', 'develop:form:list', '0', 'admin', 'panda', '', '2021-12-16 16:55:01+00', '2021-12-31 08:23:07+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (51, '代码生成', '', 49, 2, 'iconfont icon-zhongduancanshu', '/develop/code', '/develop/code/index', '1', '', 'C', '0', '1', '1', 'develop:code:list', '0', 'admin', '', '', '2021-12-16 16:56:48+00', '2021-12-16 16:56:48+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (52, '系统接口', '', 49, 3, 'iconfont icon-wenducanshu-05', '/develop/apis', '/layout/routerView/iframes', '0', 'http://127.0.0.1:7788/swagger/index.html', 'C', '0', '1', '1', 'develop:apis:list', '0', 'admin', 'panda', '', '2021-12-16 16:58:07+00', '2021-12-25 00:09:23+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (53, '资源管理', '', 0, 4, 'iconfont icon-juxingkaobei', '/resource', 'Layout', '1', '', 'M', '0', '1', '1', '', '0', 'admin', '', '', '2021-12-16 17:02:06+00', '2021-12-16 17:02:06+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (54, '文件管理', '', 53, 1, 'iconfont icon-chazhaobiaodanliebiao', '/resource/file', '/resource/file/index', '1', '', 'C', '0', '1', '1', 'resource:file:list', '0', 'admin', 'panda', '', '2021-12-16 17:06:04+00', '2021-12-28 15:13:08+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (55, '公告通知', '', 44, 3, 'elementTicket', '/tool/notice', '/tool/notice/index', '1', '', 'C', '0', '1', '1', 'tool:notice:list', '0', 'admin', 'panda', '', '2021-12-16 22:09:11+00', '2021-12-28 13:42:39+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (56, '任务日志', '', 43, 1, 'iconfont icon--chaifenhang', '/log/job', '/log/job/index', '1', '', 'C', '0', '1', '1', 'log:job:list', '0', 'panda', 'panda', '', '2021-12-24 22:13:45+00', '2021-12-28 13:39:52+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (57, '邮件管理', '', 53, 1, 'iconfont icon-shouye_dongtaihui', '/resource/mail', '/resource/mail/index', '1', '', 'C', '0', '1', '1', 'resource:mail:list', '0', 'panda', 'panda', '', '2021-12-28 15:12:37+00', '2021-12-28 15:12:45+00', NULL);
+INSERT INTO "public"."sys_menus" VALUES (58, '短信管理', '', 53, 3, 'elementChatDotRound', '/resource/message', '/resource/message/index', '1', '', 'C', '0', '1', '1', 'resource:message:list', '0', 'panda', '', '', '2021-12-16 17:06:04+00', '2021-12-16 17:06:04+00', NULL);
+
+-- ----------------------------
+-- Table structure for sys_notices
+-- ----------------------------
+DROP TABLE IF EXISTS "public"."sys_notices";
+CREATE TABLE "public"."sys_notices" (
+ "notice_id" int8 NOT NULL DEFAULT nextval('sys_notices_notice_id_seq'::regclass),
+ "title" varchar(128) COLLATE "pg_catalog"."default",
+ "content" text COLLATE "pg_catalog"."default",
+ "notice_type" varchar(1) COLLATE "pg_catalog"."default",
+ "dept_id" int8,
+ "user_name" varchar(64) COLLATE "pg_catalog"."default",
+ "create_time" timestamptz(6),
+ "update_time" timestamptz(6),
+ "delete_time" timestamptz(6)
+)
+;
+COMMENT ON COLUMN "public"."sys_notices"."title" IS '标题';
+COMMENT ON COLUMN "public"."sys_notices"."content" IS '标题';
+COMMENT ON COLUMN "public"."sys_notices"."notice_type" IS '通知类型';
+COMMENT ON COLUMN "public"."sys_notices"."dept_id" IS '部门Id,部门及子部门';
+COMMENT ON COLUMN "public"."sys_notices"."user_name" IS '发布人';
+
+-- ----------------------------
+-- Records of sys_notices
+-- ----------------------------
+INSERT INTO "public"."sys_notices" VALUES (1, '关于学习交流的通知', ' 发布入群通知 467890197, 交流学习 sdsad ', '1', 0, 'panda', '2021-12-26 17:33:47+00', '2021-12-26 17:33:47+00', NULL);
+
+-- ----------------------------
+-- Table structure for sys_posts
+-- ----------------------------
+DROP TABLE IF EXISTS "public"."sys_posts";
+CREATE TABLE "public"."sys_posts" (
+ "post_id" int8 NOT NULL DEFAULT nextval('sys_posts_post_id_seq'::regclass),
+ "post_name" varchar(128) COLLATE "pg_catalog"."default",
+ "post_code" varchar(128) COLLATE "pg_catalog"."default",
+ "sort" int8,
+ "status" varchar(1) COLLATE "pg_catalog"."default",
+ "remark" varchar(255) COLLATE "pg_catalog"."default",
+ "create_by" varchar(128) COLLATE "pg_catalog"."default",
+ "update_by" varchar(128) COLLATE "pg_catalog"."default",
+ "create_time" timestamptz(6),
+ "update_time" timestamptz(6),
+ "delete_time" timestamptz(6)
+)
+;
+COMMENT ON COLUMN "public"."sys_posts"."post_name" IS '岗位名称';
+COMMENT ON COLUMN "public"."sys_posts"."post_code" IS '岗位代码';
+COMMENT ON COLUMN "public"."sys_posts"."sort" IS '岗位排序';
+COMMENT ON COLUMN "public"."sys_posts"."status" IS '状态';
+COMMENT ON COLUMN "public"."sys_posts"."remark" IS '描述';
+
+-- ----------------------------
+-- Records of sys_posts
+-- ----------------------------
+INSERT INTO "public"."sys_posts" VALUES (1, '首席执行官', 'CEO', 0, '0', '首席执行官', 'admin', '', '2021-12-02 09:21:44+00', '2021-12-02 09:24:25+00', NULL);
+INSERT INTO "public"."sys_posts" VALUES (3, '首席技术执行官', 'CTO', 1, '0', '', 'admin', '', '2021-12-02 09:21:44+00', '2021-12-02 09:25:59+00', '2021-12-02 09:27:41+00');
+INSERT INTO "public"."sys_posts" VALUES (4, '首席技术执行官', 'CTO', 1, '0', '', 'admin', '', '2021-12-02 09:21:44+00', '2021-12-02 09:25:59+00', NULL);
+INSERT INTO "public"."sys_posts" VALUES (5, '123', '123', 0, '0', '', 'admin', '', '2021-12-18 00:33:28+00', '2021-12-18 00:33:28+00', '2021-12-28 14:11:52+00');
+
+-- ----------------------------
+-- Table structure for sys_role_depts
+-- ----------------------------
+DROP TABLE IF EXISTS "public"."sys_role_depts";
+CREATE TABLE "public"."sys_role_depts" (
+ "role_id" int8,
+ "dept_id" int8,
+ "id" int8 NOT NULL DEFAULT nextval('sys_role_depts_id_seq'::regclass)
+)
+;
+
+-- ----------------------------
+-- Records of sys_role_depts
+-- ----------------------------
+INSERT INTO "public"."sys_role_depts" VALUES (1, 2, 1);
+INSERT INTO "public"."sys_role_depts" VALUES (1, 3, 2);
+
+-- ----------------------------
+-- Table structure for sys_role_menus
+-- ----------------------------
+DROP TABLE IF EXISTS "public"."sys_role_menus";
+CREATE TABLE "public"."sys_role_menus" (
+ "role_id" int8,
+ "menu_id" int8,
+ "role_name" varchar(128) COLLATE "pg_catalog"."default",
+ "id" int8 NOT NULL DEFAULT nextval('sys_role_menus_id_seq'::regclass)
+)
+;
+
+-- ----------------------------
+-- Records of sys_role_menus
+-- ----------------------------
+INSERT INTO "public"."sys_role_menus" VALUES (1, 1, 'admin', 1);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 3, 'admin', 2);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 4, 'admin', 3);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 5, 'admin', 4);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 6, 'admin', 5);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 7, 'admin', 6);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 8, 'admin', 7);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 9, 'admin', 8);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 10, 'admin', 9);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 11, 'admin', 10);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 12, 'admin', 11);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 13, 'admin', 12);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 14, 'admin', 13);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 15, 'admin', 14);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 16, 'admin', 15);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 17, 'admin', 16);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 18, 'admin', 17);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 19, 'admin', 18);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 20, 'admin', 19);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 21, 'admin', 20);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 22, 'admin', 21);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 23, 'admin', 22);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 24, 'admin', 23);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 25, 'admin', 24);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 26, 'admin', 25);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 28, 'admin', 26);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 29, 'admin', 27);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 30, 'admin', 28);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 31, 'admin', 29);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 32, 'admin', 30);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 33, 'admin', 31);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 34, 'admin', 32);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 35, 'admin', 33);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 36, 'admin', 34);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 37, 'admin', 35);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 38, 'admin', 36);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 39, 'admin', 37);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 40, 'admin', 38);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 41, 'admin', 39);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 42, 'admin', 40);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 43, 'admin', 41);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 44, 'admin', 42);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 45, 'admin', 43);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 46, 'admin', 44);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 47, 'admin', 45);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 48, 'admin', 46);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 49, 'admin', 47);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 50, 'admin', 48);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 51, 'admin', 49);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 52, 'admin', 50);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 53, 'admin', 51);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 54, 'admin', 52);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 55, 'admin', 53);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 56, 'admin', 54);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 57, 'admin', 55);
+INSERT INTO "public"."sys_role_menus" VALUES (1, 58, 'admin', 56);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 1, 'manage', 57);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 3, 'manage', 58);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 4, 'manage', 59);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 5, 'manage', 60);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 6, 'manage', 61);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 7, 'manage', 62);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 8, 'manage', 63);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 9, 'manage', 64);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 10, 'manage', 65);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 11, 'manage', 66);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 12, 'manage', 67);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 13, 'manage', 68);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 14, 'manage', 69);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 15, 'manage', 70);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 16, 'manage', 71);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 17, 'manage', 72);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 18, 'manage', 73);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 19, 'manage', 74);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 20, 'manage', 75);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 21, 'manage', 76);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 22, 'manage', 77);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 23, 'manage', 78);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 24, 'manage', 79);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 25, 'manage', 80);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 26, 'manage', 81);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 28, 'manage', 82);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 29, 'manage', 83);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 30, 'manage', 84);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 31, 'manage', 85);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 32, 'manage', 86);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 33, 'manage', 87);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 34, 'manage', 88);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 35, 'manage', 89);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 36, 'manage', 90);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 37, 'manage', 91);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 38, 'manage', 92);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 39, 'manage', 93);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 40, 'manage', 94);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 41, 'manage', 95);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 42, 'manage', 96);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 43, 'manage', 97);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 44, 'manage', 98);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 45, 'manage', 99);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 46, 'manage', 100);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 47, 'manage', 101);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 48, 'manage', 102);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 49, 'manage', 103);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 50, 'manage', 104);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 51, 'manage', 105);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 52, 'manage', 106);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 53, 'manage', 107);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 54, 'manage', 108);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 55, 'manage', 109);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 57, 'manage', 110);
+INSERT INTO "public"."sys_role_menus" VALUES (2, 58, 'manage', 111);
+
+-- ----------------------------
+-- Table structure for sys_roles
+-- ----------------------------
+DROP TABLE IF EXISTS "public"."sys_roles";
+CREATE TABLE "public"."sys_roles" (
+ "role_id" int8 NOT NULL DEFAULT nextval('sys_roles_role_id_seq'::regclass),
+ "role_name" varchar(128) COLLATE "pg_catalog"."default",
+ "status" varchar(1) COLLATE "pg_catalog"."default",
+ "role_key" varchar(128) COLLATE "pg_catalog"."default",
+ "role_sort" int8,
+ "data_scope" varchar(1) COLLATE "pg_catalog"."default",
+ "flag" varchar(128) COLLATE "pg_catalog"."default",
+ "create_by" varchar(128) COLLATE "pg_catalog"."default",
+ "update_by" varchar(128) COLLATE "pg_catalog"."default",
+ "remark" varchar(255) COLLATE "pg_catalog"."default",
+ "create_time" timestamptz(6),
+ "update_time" timestamptz(6),
+ "delete_time" timestamptz(6)
+)
+;
+COMMENT ON COLUMN "public"."sys_roles"."role_name" IS '角色名称';
+COMMENT ON COLUMN "public"."sys_roles"."status" IS '状态';
+COMMENT ON COLUMN "public"."sys_roles"."role_key" IS '角色代码';
+COMMENT ON COLUMN "public"."sys_roles"."role_sort" IS '角色排序';
+COMMENT ON COLUMN "public"."sys_roles"."data_scope" IS '数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限)';
+COMMENT ON COLUMN "public"."sys_roles"."flag" IS '删除标识';
+
+-- ----------------------------
+-- Records of sys_roles
+-- ----------------------------
+INSERT INTO "public"."sys_roles" VALUES (1, '超管理员', '0', 'admin', 2, '1', '', 'admin', 'panda', '', '2021-12-02 16:03:26+00', '2021-12-28 15:16:11+00', NULL);
+INSERT INTO "public"."sys_roles" VALUES (2, '管理员', '0', 'manage', 2, '', '', 'panda', 'panda', '', '2021-12-19 16:06:20+00', '2021-12-28 15:16:23+00', NULL);
+
+-- ----------------------------
+-- Table structure for sys_users
+-- ----------------------------
+DROP TABLE IF EXISTS "public"."sys_users";
+CREATE TABLE "public"."sys_users" (
+ "user_id" int8 NOT NULL DEFAULT nextval('sys_users_user_id_seq'::regclass),
+ "nick_name" varchar(128) COLLATE "pg_catalog"."default",
+ "phone" varchar(11) COLLATE "pg_catalog"."default",
+ "role_id" int8,
+ "salt" varchar(255) COLLATE "pg_catalog"."default",
+ "avatar" varchar(255) COLLATE "pg_catalog"."default",
+ "sex" varchar(255) COLLATE "pg_catalog"."default",
+ "email" varchar(128) COLLATE "pg_catalog"."default",
+ "dept_id" int8,
+ "post_id" int8,
+ "role_ids" varchar(255) COLLATE "pg_catalog"."default",
+ "post_ids" varchar(255) COLLATE "pg_catalog"."default",
+ "create_by" varchar(128) COLLATE "pg_catalog"."default",
+ "update_by" varchar(128) COLLATE "pg_catalog"."default",
+ "remark" varchar(255) COLLATE "pg_catalog"."default",
+ "status" varchar(1) COLLATE "pg_catalog"."default",
+ "create_time" timestamptz(6),
+ "update_time" timestamptz(6),
+ "delete_time" timestamptz(6),
+ "username" varchar(64) COLLATE "pg_catalog"."default",
+ "password" varchar(128) COLLATE "pg_catalog"."default"
+)
+;
+
+-- ----------------------------
+-- Records of sys_users
+-- ----------------------------
+INSERT INTO "public"."sys_users" VALUES (1, 'pandax', '13818888888', 1, NULL, '', '0', '1@qq.com', 2, 1, '1', '1', 'admin', '1', NULL, '0', '2021-12-03 09:46:55+00', '2021-12-03 10:51:34+00', NULL, 'panda', '$2a$10$EXMJ5huCCTlCmP2ITFkAJ.4Mgmq3JcZGUvtE.KLX8j7FmhiiTEEya');
+INSERT INTO "public"."sys_users" VALUES (4, 'panda', '18353366912', 2, '', '', '0', '2417920382@qq.com', 2, 4, '2', '4,1', 'panda', '', '', '0', '2021-12-19 15:58:09+00', '2021-12-19 16:06:54+00', NULL, 'admin', '$2a$10$cKFFTCzGOvaIHHJY2K45Zuwt8TD6oPzYi4s5MzYIBAWCLL6ZhouP2');
+
+-- ----------------------------
+-- Indexes structure for table casbin_rule
+-- ----------------------------
+CREATE UNIQUE INDEX "idx_casbin_rule" ON "public"."casbin_rule" USING btree (
+ "ptype" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST,
+ "v0" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST,
+ "v1" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST,
+ "v2" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST,
+ "v3" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST,
+ "v4" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST,
+ "v5" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST
+);
+
+-- ----------------------------
+-- Primary Key structure for table casbin_rule
+-- ----------------------------
+ALTER TABLE "public"."casbin_rule" ADD CONSTRAINT "casbin_rule_pkey" PRIMARY KEY ("id");
+
+-- ----------------------------
+-- Primary Key structure for table log_jobs
+-- ----------------------------
+ALTER TABLE "public"."log_jobs" ADD CONSTRAINT "log_jobs_pkey" PRIMARY KEY ("log_id");
+
+-- ----------------------------
+-- Primary Key structure for table log_logins
+-- ----------------------------
+ALTER TABLE "public"."log_logins" ADD CONSTRAINT "log_logins_pkey" PRIMARY KEY ("info_id");
+
+-- ----------------------------
+-- Primary Key structure for table log_opers
+-- ----------------------------
+ALTER TABLE "public"."log_opers" ADD CONSTRAINT "log_opers_pkey" PRIMARY KEY ("oper_id");
+
+-- ----------------------------
+-- Primary Key structure for table sys_apis
+-- ----------------------------
+ALTER TABLE "public"."sys_apis" ADD CONSTRAINT "sys_apis_pkey" PRIMARY KEY ("id");
+
+-- ----------------------------
+-- Primary Key structure for table sys_configs
+-- ----------------------------
+ALTER TABLE "public"."sys_configs" ADD CONSTRAINT "sys_configs_pkey" PRIMARY KEY ("config_id");
+
+-- ----------------------------
+-- Primary Key structure for table sys_depts
+-- ----------------------------
+ALTER TABLE "public"."sys_depts" ADD CONSTRAINT "sys_depts_pkey" PRIMARY KEY ("dept_id");
+
+-- ----------------------------
+-- Primary Key structure for table sys_dict_data
+-- ----------------------------
+ALTER TABLE "public"."sys_dict_data" ADD CONSTRAINT "sys_dict_data_pkey" PRIMARY KEY ("dict_code");
+
+-- ----------------------------
+-- Primary Key structure for table sys_dict_types
+-- ----------------------------
+ALTER TABLE "public"."sys_dict_types" ADD CONSTRAINT "sys_dict_types_pkey" PRIMARY KEY ("dict_id");
+
+-- ----------------------------
+-- Primary Key structure for table sys_jobs
+-- ----------------------------
+ALTER TABLE "public"."sys_jobs" ADD CONSTRAINT "sys_jobs_pkey" PRIMARY KEY ("job_id");
+
+-- ----------------------------
+-- Primary Key structure for table sys_menus
+-- ----------------------------
+ALTER TABLE "public"."sys_menus" ADD CONSTRAINT "sys_menus_pkey" PRIMARY KEY ("menu_id");
+
+-- ----------------------------
+-- Primary Key structure for table sys_notices
+-- ----------------------------
+ALTER TABLE "public"."sys_notices" ADD CONSTRAINT "sys_notices_pkey" PRIMARY KEY ("notice_id");
+
+-- ----------------------------
+-- Primary Key structure for table sys_posts
+-- ----------------------------
+ALTER TABLE "public"."sys_posts" ADD CONSTRAINT "sys_posts_pkey" PRIMARY KEY ("post_id");
+
+-- ----------------------------
+-- Primary Key structure for table sys_role_depts
+-- ----------------------------
+ALTER TABLE "public"."sys_role_depts" ADD CONSTRAINT "sys_role_depts_pkey" PRIMARY KEY ("id");
+
+-- ----------------------------
+-- Primary Key structure for table sys_role_menus
+-- ----------------------------
+ALTER TABLE "public"."sys_role_menus" ADD CONSTRAINT "sys_role_menus_pkey" PRIMARY KEY ("id");
+
+-- ----------------------------
+-- Primary Key structure for table sys_roles
+-- ----------------------------
+ALTER TABLE "public"."sys_roles" ADD CONSTRAINT "sys_roles_pkey" PRIMARY KEY ("role_id");
+
+-- ----------------------------
+-- Primary Key structure for table sys_users
+-- ----------------------------
+ALTER TABLE "public"."sys_users" ADD CONSTRAINT "sys_users_pkey" PRIMARY KEY ("user_id");
diff --git a/resource/template/go/dao_internal.template b/resource/template/go/dao_internal.template
deleted file mode 100644
index 8ef9de5..0000000
--- a/resource/template/go/dao_internal.template
+++ /dev/null
@@ -1,67 +0,0 @@
-// ==========================================================================
-// GFast自动生成dao internal操作代码,无需手动修改,重新生成会自动覆盖.
-// 生成日期:{{.table.CreateTime}}
-// 生成路径: {{.table.PackageName}}/dao/internal/{{.table.TableName}}.go
-// 生成人:{{.table.FunctionAuthor}}
-// ==========================================================================
-////
-package internal
-
-
-import (
- "context"
- "github.com/gogf/gf/database/gdb"
- "github.com/gogf/gf/frame/g"
-)
-
-
-// {{.table.ClassName}}Dao is the manager for logic model data accessing and custom defined data operations functions management.
-type {{.table.ClassName}}Dao struct {
- Table string // Table is the underlying table name of the DAO.
- Group string // Group is the database configuration group name of current DAO.
- Columns {{.table.ClassName}}Columns // Columns is the short type for Columns, which contains all the column names of Table for convenient usage.
-}
-
-
-// {{.table.ClassName}}Columns defines and stores column names for table {{.table.TableName}}.
-type {{.table.ClassName}}Columns struct {
- {{range $index, $column := .table.Columns}}
- {{$column.GoField}} string // {{$column.ColumnComment}}
- {{end}}
-}
-
-var {{.table.BusinessName | CaseCamelLower}}Columns = {{.table.ClassName}}Columns{
- {{range $index, $column := .table.Columns}}
- {{$column.GoField}}: "{{$column.ColumnName}}",
- {{end}}
-}
-
-// New{{.table.ClassName}}Dao creates and returns a new DAO object for table data access.
-func New{{.table.ClassName}}Dao() *{{.table.ClassName}}Dao {
- return &{{.table.ClassName}}Dao{
- Group: "default",
- Table: "{{.table.TableName}}",
- Columns:{{.table.BusinessName | CaseCamelLower}}Columns,
- }
-}
-
-
-// DB retrieves and returns the underlying raw database management object of current DAO.
-func (dao *{{.table.ClassName}}Dao) DB() gdb.DB {
- return g.DB(dao.Group)
-}
-
-// Ctx creates and returns the Model for current DAO, It automatically sets the context for current operation.
-func (dao *{{.table.ClassName}}Dao) Ctx(ctx context.Context) *gdb.Model {
- return dao.DB().Model(dao.Table).Safe().Ctx(ctx)
-}
-
-// Transaction wraps the transaction logic using function f.
-// It rollbacks the transaction and returns the error from function f if it returns non-nil error.
-// It commits the transaction and returns nil if function f returns nil.
-//
-// Note that, you should not Commit or Rollback the transaction in function f
-// as it is automatically handled by this function.
-func (dao *{{.table.ClassName}}Dao) Transaction(ctx context.Context, f func(ctx context.Context, tx *gdb.TX) error) (err error) {
- return dao.Ctx(ctx).Transaction(ctx, f)
-}
\ No newline at end of file
diff --git a/resource/template/go/model.template b/resource/template/go/model.template
deleted file mode 100644
index a9d9774..0000000
--- a/resource/template/go/model.template
+++ /dev/null
@@ -1,27 +0,0 @@
-// ==========================================================================
-// GFast自动生成model代码,无需手动修改,重新生成会自动覆盖.
-// 生成日期:{{.table.CreateTime}}
-// 生成路径: {{.table.PackageName}}/model/{{.table.TableName}}.go
-// 生成人:{{.table.FunctionAuthor}}
-// ==========================================================================
-////
-package model
-
-
-{{$hasGTime:=false}}
-{{range $index, $column := .table.Columns}}
-{{if eq $column.GoType "Time"}}
-{{$hasGTime = true}}
-{{end}}
-{{end}}
-
-{{if $hasGTime}}
-import "github.com/gogf/gf/os/gtime"
-{{end}}
-
-// {{.table.ClassName}} is the golang structure for table {{.table.TableName}}.
-type {{.table.ClassName}} struct {
- {{range $index, $column := .table.Columns}}
- {{if eq $column.IsPk "1"}} {{$column.GoField}} {{if eq $column.GoType "Time"}}*gtime.Time{{else}}{{$column.GoType}}{{end}} `orm:"{{$column.ColumnName}},primary" json:"{{$column.HtmlField}}"` // {{$column.ColumnComment}} {{else}} {{$column.GoField}} {{if eq $column.GoType "Time"}}*gtime.Time{{else}}{{$column.GoType}}{{end}} `orm:"{{$column.ColumnName}}" json:"{{$column.HtmlField}}"` // {{$column.ColumnComment}} {{end}}
- {{end}}
-}
\ No newline at end of file
diff --git a/resource/template/sql/sql.template b/resource/template/sql/sql.template
deleted file mode 100644
index 947cbcc..0000000
--- a/resource/template/sql/sql.template
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
-==========================================================================
-GFast自动生成菜单SQL,只生成一次,按需修改.
-生成日期:{{.table.CreateTime}}
-生成路径: data/gen_sql/{{.table.ModuleName}}/{{.table.BusinessName}}_menu.sql
-生成人:{{.table.FunctionAuthor}}
-==========================================================================
-*/
-
-{{$plugin:=""}}
-{{if ContainsI $.table.PackageName "plugins"}}
-{{$plugin = "plugins/"}}
-{{end}}
-
--- 当前日期
-select @now := now();
-
--- 目录 SQL
-INSERT INTO `sys_auth_rule` (`pid`,`name`,`title`,`icon`,`condition`,`remark`,`menu_type`,`weigh`,`status`,`always_show`,`path`,`jump_path`,`component`,`is_frame`,`module_type`,`model_id`,`created_at`,`updated_at`,`deleted_at` )
-VALUES(0,'{{$plugin}}{{.table.ModuleName}}/{{.table.BusinessName | CaseCamelLower}}','{{.table.FunctionName}}管理','form','','{{.table.FunctionName}}管理',0,0,1,1,'{{$plugin}}{{.table.BusinessName | CaseCamelLower}}','','',0,'sys_admin',0,@now,@now,NULL );
-
--- 菜单父目录ID
-SELECT @parentId := LAST_INSERT_ID();
-
--- 菜单 SQL
-INSERT INTO `sys_auth_rule` (`pid`,`name`,`title`,`icon`,`condition`,`remark`,`menu_type`,`weigh`,`status`,`always_show`,`path`,`jump_path`,`component`,`is_frame`,`module_type`,`model_id`,`created_at`,`updated_at`,`deleted_at` )
-VALUES(@parentId,'{{$plugin}}{{.table.ModuleName}}/{{.table.BusinessName | CaseCamelLower}}/list','{{.table.FunctionName}}列表','list','','{{.table.FunctionName}}列表',1,0,1,1,'{{.table.BusinessName | CaseCamelLower}}List','','{{$plugin}}{{.table.ModuleName}}/{{.table.BusinessName | CaseCamelLower}}/list',0,'sys_admin',0,@now,@now,NULL );
-
--- 按钮父目录ID
-SELECT @parentId := LAST_INSERT_ID();
-
--- 按钮 SQL
-INSERT INTO `sys_auth_rule` (`pid`,`name`,`title`,`icon`,`condition`,`remark`,`menu_type`,`weigh`,`status`,`always_show`,`path`,`jump_path`,`component`,`is_frame`,`module_type`,`model_id`,`created_at`,`updated_at`,`deleted_at` )
-VALUES(@parentId,'{{$plugin}}{{.table.ModuleName}}/{{.table.BusinessName | CaseCamelLower}}/get','{{.table.FunctionName}}查询','','','{{.table.FunctionName}}查询',2,0,1,1,'','','',0,'sys_admin',0,@now,@now,NULL );
-
-INSERT INTO `sys_auth_rule` (`pid`,`name`,`title`,`icon`,`condition`,`remark`,`menu_type`,`weigh`,`status`,`always_show`,`path`,`jump_path`,`component`,`is_frame`,`module_type`,`model_id`,`created_at`,`updated_at`,`deleted_at` )
-VALUES(@parentId,'{{$plugin}}{{.table.ModuleName}}/{{.table.BusinessName | CaseCamelLower}}/add','{{.table.FunctionName}}添加','','','{{.table.FunctionName}}添加',2,0,1,1,'','','',0,'sys_admin',0,@now,@now,NULL );
-
-INSERT INTO `sys_auth_rule` (`pid`,`name`,`title`,`icon`,`condition`,`remark`,`menu_type`,`weigh`,`status`,`always_show`,`path`,`jump_path`,`component`,`is_frame`,`module_type`,`model_id`,`created_at`,`updated_at`,`deleted_at` )
-VALUES(@parentId,'{{$plugin}}{{.table.ModuleName}}/{{.table.BusinessName | CaseCamelLower}}/edit','{{.table.FunctionName}}修改','','','{{.table.FunctionName}}修改',2,0,1,1,'','','',0,'sys_admin',0,@now,@now,NULL );
-
-INSERT INTO `sys_auth_rule` (`pid`,`name`,`title`,`icon`,`condition`,`remark`,`menu_type`,`weigh`,`status`,`always_show`,`path`,`jump_path`,`component`,`is_frame`,`module_type`,`model_id`,`created_at`,`updated_at`,`deleted_at` )
-VALUES(@parentId,'{{$plugin}}{{.table.ModuleName}}/{{.table.BusinessName | CaseCamelLower}}/delete','{{.table.FunctionName}}删除','','','{{.table.FunctionName}}删除',2,0,1,1,'','','',0,'sys_admin',0,@now,@now,NULL );
-
-{{range $index,$column:= .table.Columns}}
-{{if and (HasSuffix $column.ColumnName "status") (eq $column.IsList "1") }}
-INSERT INTO `sys_auth_rule` (`pid`,`name`,`title`,`icon`,`condition`,`remark`,`menu_type`,`weigh`,`status`,`always_show`,`path`,`jump_path`,`component`,`is_frame`,`module_type`,`model_id`,`created_at`,`updated_at`,`deleted_at` )
-VALUES(@parentId,'{{$plugin}}{{$.table.ModuleName}}/{{$.table.BusinessName | CaseCamelLower}}/change{{$column.GoField}}','{{$.table.FunctionName}}{{$column.ColumnComment}}修改','','','{{$.table.FunctionName}}{{$column.ColumnComment}}修改',2,0,1,1,'','','',0,'sys_admin',0,@now,@now,NULL );
-{{end}}
-{{end}}
diff --git a/resource/template/vue/tree-vue.template b/resource/template/vue/edit-vue.template
similarity index 100%
rename from resource/template/vue/tree-vue.template
rename to resource/template/vue/edit-vue.template