add sql
This commit is contained in:
parent
6f2d0c4b52
commit
568062b479
|
|
@ -0,0 +1,184 @@
|
||||||
|
-- 用户表
|
||||||
|
CREATE TABLE IF NOT EXISTS `user`(
|
||||||
|
`id` int UNSIGNED AUTO_INCREMENT COMMENT '用户id' ,
|
||||||
|
`account` varchar(64) NOT NULL COMMENT '用户账号',
|
||||||
|
`name` varchar(255) DEFAULT '' COMMENT '姓名',
|
||||||
|
`mobile` varchar(255) DEFAULT NULL COMMENT '手机',
|
||||||
|
`email` varchar(255) DEFAULT NULL COMMENT '邮箱',
|
||||||
|
`pwd` varchar(255) DEFAULT NULL COMMENT '密码',
|
||||||
|
`sex` TINYINT DEFAULT 0 COMMENT '性别:0-女,1-男',
|
||||||
|
`created_by` VARCHAR(64) DEFAULT '' COMMENT '创建人',
|
||||||
|
`created_on` DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '记录创建时间',
|
||||||
|
`modified_by` VARCHAR(64) DEFAULT '' COMMENT '修改人',
|
||||||
|
`modified_on` DATETIME DEFAULT CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP COMMENT '记录修改时间',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
UNIQUE KEY `uk_account`(`account`),
|
||||||
|
UNIQUE KEY `uk_mobile`(`mobile`),
|
||||||
|
UNIQUE KEY `uk_email`(`email`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb3 COMMENT='用户表';
|
||||||
|
|
||||||
|
|
||||||
|
-- 组织表
|
||||||
|
CREATE TABLE IF NOT EXISTS `organization`(
|
||||||
|
`id` int UNSIGNED AUTO_INCREMENT COMMENT 'id',
|
||||||
|
`name` VARCHAR(256) NOT NULL COMMENT '组织名',
|
||||||
|
`parent_id` int UNSIGNED DEFAULT 0 COMMENT '上级组织id',
|
||||||
|
`sort` SMALLINT UNSIGNED DEFAULT 0 COMMENT '层级序号',
|
||||||
|
`status` TINYINT DEFAULT 1 COMMENT '状态:0-无效,1-有效',
|
||||||
|
`path` text COMMENT '全路径',
|
||||||
|
`created_by` VARCHAR(64) DEFAULT '' COMMENT '创建人',
|
||||||
|
`created_on` DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '记录创建时间',
|
||||||
|
`modified_by` VARCHAR(64) DEFAULT '' COMMENT '修改人',
|
||||||
|
`modified_on` DATETIME DEFAULT CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP COMMENT '记录修改时间',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_path`(`path`)
|
||||||
|
) ENGINE=InnoDB DEFAULT AUTO_INCREMENT=1 CHARSET=utf8mb3 COMMENT='组织表';
|
||||||
|
|
||||||
|
-- 用户组织表
|
||||||
|
CREATE TABLE IF NOT EXISTS `user_organization`(
|
||||||
|
`id` int UNSIGNED AUTO_INCREMENT NOT NULL COMMENT 'id',
|
||||||
|
`user_id` int UNSIGNED NOT NULL COMMENT '用户id',
|
||||||
|
`org_id` int UNSIGNED NOT NULL COMMENT '组织id',
|
||||||
|
`leader` bool DEFAULT flase COMMENT '是否是组织领导:一个组织只能有一个领导人',
|
||||||
|
`created_by` VARCHAR(64) DEFAULT '' COMMENT '创建人',
|
||||||
|
`created_on` DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '记录创建时间',
|
||||||
|
`modified_by` VARCHAR(64) DEFAULT '' COMMENT '修改人',
|
||||||
|
`modified_on` DATETIME DEFAULT CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP COMMENT '记录修改时间',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_user_id`(`user_id`),
|
||||||
|
KEY `idx_org_id`(`org_id`)
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb3 COMMENT='用户组织表';
|
||||||
|
|
||||||
|
|
||||||
|
-- 角色表
|
||||||
|
CREATE TABLE IF NOT EXISTS `role`(
|
||||||
|
`id` int UNSIGNED AUTO_INCREMENT COMMENT 'id' ,
|
||||||
|
`name` VARCHAR(255) NOT NULL COMMENT '名称',
|
||||||
|
`created_by` VARCHAR(64) DEFAULT '' COMMENT '创建人',
|
||||||
|
`created_on` DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '记录创建时间',
|
||||||
|
`modified_by` VARCHAR(64) DEFAULT '' COMMENT '修改人',
|
||||||
|
`modified_on` DATETIME DEFAULT CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP COMMENT '记录修改时间',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb3 COMMENT='表';
|
||||||
|
|
||||||
|
|
||||||
|
-- 组织角色表
|
||||||
|
CREATE TABLE IF NOT EXISTS `organization_role`(
|
||||||
|
`id` int UNSIGNED NOT NULL COMMENT 'id',
|
||||||
|
`org_id` int UNSIGNED NOT NULL COMMENT '组织id',
|
||||||
|
`role_id` int UNSIGNED NOT NULL COMMENT '角色id',
|
||||||
|
`created_by` VARCHAR(64) DEFAULT '' COMMENT '创建人',
|
||||||
|
`created_on` DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '记录创建时间',
|
||||||
|
`modified_by` VARCHAR(64) DEFAULT '' COMMENT '修改人',
|
||||||
|
`modified_on` DATETIME DEFAULT CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP COMMENT '记录修改时间',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_org_id`(`org_id`),
|
||||||
|
KEY `idx_role_id`(`role_id`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COMMENT='组织角色表';
|
||||||
|
|
||||||
|
|
||||||
|
-- 组织角色授权表
|
||||||
|
CREATE TABLE IF NOT EXISTS `organization_role_author`(
|
||||||
|
`id` char(36) NOT NULL COMMENT 'id',
|
||||||
|
`org_id` int UNSIGNED NOT NULL COMMENT '组织id',
|
||||||
|
`role_id` int UNSIGNED NOT NULL COMMENT '角色id',
|
||||||
|
`option` TINYINT NOT NULL DEFAULT 0 COMMENT '选择:0-选择组织,1-选择组织含下级',
|
||||||
|
`created_by` VARCHAR(64) DEFAULT '' COMMENT '创建人',
|
||||||
|
`created_on` DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '记录创建时间',
|
||||||
|
`modified_by` VARCHAR(64) DEFAULT '' COMMENT '修改人',
|
||||||
|
`modified_on` DATETIME DEFAULT CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP COMMENT '记录修改时间',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
KEY `idx_org_id`(`org_id`),
|
||||||
|
KEY `idx_role_id`(`role_id`)
|
||||||
|
)ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COMMENT='组织角色授权表';
|
||||||
|
|
||||||
|
-- 应用表
|
||||||
|
CREATE TABLE IF NOT EXISTS `application`(
|
||||||
|
`id` int UNSIGNED AUTO_INCREMENT COMMENT 'id' ,
|
||||||
|
`code` VARCHAR(64) NOT NULL COMMENT 'code' ,
|
||||||
|
`secret` VARCHAR(64) NOT NULL COMMENT 'secret' ,
|
||||||
|
`name` VARCHAR(64) NOT NULL COMMENT 'name' ,
|
||||||
|
`created_by` VARCHAR(64) DEFAULT '' COMMENT '创建人',
|
||||||
|
`created_on` DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '记录创建时间',
|
||||||
|
`modified_by` VARCHAR(64) DEFAULT '' COMMENT '修改人',
|
||||||
|
`modified_on` DATETIME DEFAULT CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP COMMENT '记录修改时间',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb3 COMMENT='应用表';
|
||||||
|
|
||||||
|
|
||||||
|
-- 创建菜单表
|
||||||
|
CREATE TABLE IF NOT EXISTS `menu` (
|
||||||
|
`id` char(36) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '主键',
|
||||||
|
`code` varchar(100) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '编码',
|
||||||
|
`name` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '名称',
|
||||||
|
`parent_code` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '父级菜单编码',
|
||||||
|
`menu_type` int(5) NOT NULL DEFAULT 0 COMMENT '类型(1:一级导航;2:二级导航;3:三级导航)',
|
||||||
|
`order_num` int(5) NOT NULL DEFAULT 0 COMMENT '排序',
|
||||||
|
`icon` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '图标',
|
||||||
|
`path` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '访问路径',
|
||||||
|
`child_path` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '子级路径(前端用)',
|
||||||
|
`go_first_child` tinyint(1) NOT NULL DEFAULT 0 COMMENT '前端用',
|
||||||
|
`is_show` int(5) NOT NULL DEFAULT 0 COMMENT '是否显示(0:否;1:是)',
|
||||||
|
`created_on` datetime(0) NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '记录创建时间',
|
||||||
|
`modified_on` datetime(0) DEFAULT CURRENT_TIMESTAMP COMMENT '记录修改时间',
|
||||||
|
`created_by` char(36) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '记录创建者Id',
|
||||||
|
`modified_by` char(36) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT '' COMMENT '记录修改者Id',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
UNIQUE INDEX `ux_code`(`code`) USING BTREE
|
||||||
|
) COMMENT = '菜单表';
|
||||||
|
-- 菜单表
|
||||||
|
CREATE TABLE IF NOT EXISTS `menu`(
|
||||||
|
`id` int UNSIGNED AUTO_INCREMENT COMMENT 'id' ,
|
||||||
|
`app_code` VARCHAR(64) NOT NULL COMMENT '应用code',
|
||||||
|
`code` varchar(100) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '编码',
|
||||||
|
`name` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '名称',
|
||||||
|
`parent_code` varchar(20) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '父级菜单编码',
|
||||||
|
`menu_type` int(5) NOT NULL DEFAULT 0 COMMENT '类型(1:一级导航;2:二级导航;3:三级导航)',
|
||||||
|
`order_num` int(5) NOT NULL DEFAULT 0 COMMENT '排序',
|
||||||
|
`icon` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '图标',
|
||||||
|
`path` varchar(50) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '访问路径',
|
||||||
|
`child_path` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '子级路径(前端用)',
|
||||||
|
`go_first_child` tinyint(1) NOT NULL DEFAULT 0 COMMENT '前端用',
|
||||||
|
`is_show` int(5) NOT NULL DEFAULT 0 COMMENT '是否显示(0:否;1:是)',
|
||||||
|
`created_by` VARCHAR(64) DEFAULT '' COMMENT '创建人',
|
||||||
|
`created_on` DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '记录创建时间',
|
||||||
|
`modified_by` VARCHAR(64) DEFAULT '' COMMENT '修改人',
|
||||||
|
`modified_on` DATETIME DEFAULT CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP COMMENT '记录修改时间',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb3 COMMENT='用户表';
|
||||||
|
|
||||||
|
-- 角色菜单权限表
|
||||||
|
CREATE TABLE IF NOT EXISTS `role_menu_permission`(
|
||||||
|
`id` int UNSIGNED AUTO_INCREMENT COMMENT 'id' ,
|
||||||
|
`created_by` VARCHAR(64) DEFAULT '' COMMENT '创建人',
|
||||||
|
`created_on` DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '记录创建时间',
|
||||||
|
`modified_by` VARCHAR(64) DEFAULT '' COMMENT '修改人',
|
||||||
|
`modified_on` DATETIME DEFAULT CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP COMMENT '记录修改时间',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb3 COMMENT='角色菜单权限表';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- 职位表
|
||||||
|
CREATE TABLE IF NOT EXISTS `post`(
|
||||||
|
`id` int UNSIGNED AUTO_INCREMENT COMMENT 'id' ,
|
||||||
|
`created_by` VARCHAR(64) DEFAULT '' COMMENT '创建人',
|
||||||
|
`created_on` DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '记录创建时间',
|
||||||
|
`modified_by` VARCHAR(64) DEFAULT '' COMMENT '修改人',
|
||||||
|
`modified_on` DATETIME DEFAULT CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP COMMENT '记录修改时间',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb3 COMMENT='职位表';
|
||||||
|
|
||||||
|
-- 用户信息
|
||||||
|
CREATE TABLE IF NOT EXISTS `user_info`(
|
||||||
|
`id` int UNSIGNED AUTO_INCREMENT COMMENT 'id' ,
|
||||||
|
`user_id` int UNSIGNED COMMENT '用户id' ,
|
||||||
|
`avator` VARCHAR(512) COMMENT '头像',
|
||||||
|
`created_by` VARCHAR(64) DEFAULT '' COMMENT '创建人',
|
||||||
|
`created_on` DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '记录创建时间',
|
||||||
|
`modified_by` VARCHAR(64) DEFAULT '' COMMENT '修改人',
|
||||||
|
`modified_on` DATETIME DEFAULT CURRENT_TIMESTAMP null on update CURRENT_TIMESTAMP COMMENT '记录修改时间',
|
||||||
|
PRIMARY KEY (`id`),
|
||||||
|
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb3 COMMENT='用户信息表';
|
||||||
|
|
@ -7,35 +7,47 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
type ServiceInterface interface {
|
type ServiceInterface interface {
|
||||||
QueryData(name string) []string
|
QueryData(name string) string
|
||||||
}
|
}
|
||||||
|
|
||||||
type AService struct {
|
type AService struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *AService) QueryData(name string) []string {
|
func (s *AService) QueryData(name string) string {
|
||||||
return []string{"aString"}
|
return "aString"
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewAService(i *do.Injector) ServiceInterface {
|
func NewAService(i *do.Injector) (ServiceInterface, error) {
|
||||||
return &AService{}
|
return &AService{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
type BService struct {
|
type BService struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *BService) QueryData(name string) []string {
|
func (s *BService) QueryData(name string) string {
|
||||||
return []string{"bString"}
|
return "bString"
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewBService(i *do.Injector) ServiceInterface {
|
func NewBService(i *do.Injector) (ServiceInterface, error) {
|
||||||
return &BService{}
|
return &BService{}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDo(t *testing.T) {
|
func TestDo(t *testing.T) {
|
||||||
container := do.New()
|
container := do.New()
|
||||||
do.Provide(container, NewAService)
|
// do.Provide(container, NewAService)
|
||||||
|
|
||||||
aService := do.MustInvoke[AServiceInterface](injector)
|
// aService := do.MustInvoke[ServiceInterface](container)
|
||||||
aService.QueryData
|
aService, err := do.Invoke[ServiceInterface](container)
|
||||||
|
if err != nil {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
sReturn := aService.QueryData("name")
|
||||||
|
if sReturn == "aString" {
|
||||||
|
t.Logf("注入a服务")
|
||||||
|
}
|
||||||
|
|
||||||
|
if sReturn == "bString" {
|
||||||
|
t.Logf("注入b服务")
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,7 @@ func Start() {
|
||||||
do.ProvideValue(container, conf)
|
do.ProvideValue(container, conf)
|
||||||
do.ProvideValue(container, logger)
|
do.ProvideValue(container, logger)
|
||||||
do.ProvideValue(container, db)
|
do.ProvideValue(container, db)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// todo 配置中心拉去配置
|
// todo 配置中心拉去配置
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue