GVA 组织管理功能
开发者:奇淼
本插件支持自动安装
图例
手动安装方法
1.解压zip获得organization文件夹
2.将 organization/web/plugin/organization 放置在web/plugin下
3.将 organization/server/plugin/organization 放置在server/plugin下
执行如下注册方法
注册(手动自动都需要)
1. 前往GVA主程序下的initialize/router.go 在Routers 方法最末尾按照你需要的及安全模式添加本插件
PluginInit(PublicGroup, organization.CreateOrganizationPlug())
到gva系统,角色管理,分配角色的菜单权限和api权限即可,插件会自动注册菜单和api,需要手动分配。
2. 配置说明
2-1 全局配置结构体说明
无配置
2-2 结构说明
// 组织基础结构
type Organization struct {
global.GVA_MODEL
Name string `json:"name" form:"name" gorm:"column:name;comment:;"`
ParentID uint `json:"parentID" form:"parentID" gorm:"column:parent_id;comment:父节点ID;"`
}
// 组织用户关系表
type OrgUser struct {
Organization Organization `json:"organization"`
OrganizationID uint `json:"organizationID,omitempty" form:"organizationID" `
SysUserID uint `json:"sysUserID,omitempty" form:"sysUserID"`
IsAdmin bool `json:"isAdmin" form:"isAdmin"`
SysUser system.SysUser `json:"sysUser"`
}
// 组织内用户操作结构
type OrgUserReq struct {
OrganizationID uint `json:"organizationID,omitempty"`
ToOrganizationID uint `json:"toOrganizationID,omitempty"`
SysUserIDS []uint `json:"sysUserIDS,omitempty"`
}
// 搜索组织功能(未使用)
type OrganizationSearch struct {
organization.Organization
request.PageInfo
}
// 搜索组织内用户功能
type OrgUserSearch struct {
organization.OrgUser
UserName string `json:"userName" form:"userName"`
request.PageInfo
}
3. 方法API
无,后续维护会增加便捷查询当前用户所属组织,所属组织子组织以及成员等便捷方法,根据反馈添加。
4. 可直接调用的接口
POST /org/createOrganization // 新建Organization
入参为 Organization 结构体
DELETE /org/deleteOrganization // 删除Organization
入参为 ID int
DELETE /org/deleteOrganizationByIds // 批量删除Organization
入参为 IDS:[]int
PUT /org/updateOrganization // 更新Organization
入参为 Organization 结构体
POST /org/createOrgUser // 人员入职
入参为 OrgUserReq 结构体
PUT /org/setOrgUserAdmin // 管理员设置
入参为 {
sysUserID: 用户id,
isAdmin: 是否管理员 bool
}
GET /org/findOrganization // 根据ID获取Organization
入参为 { ID: 组织id }
GET /org/getOrganizationList // 获取Organization列表
无需入参
GET /org/findOrgUserAll // 获取当前组织下所有用户ID
入参为 { organizationID: 组织id }
GET /org/findOrgUserList // 获取当前组织下所有用户(分页)
入参为 OrgUserSearch 结构体
DELETE /org/deleteOrgUser // 删除当前组织下选中用户
入参为 { sysUserIDS:用户id []int, organizationID: 当前组织id }
PUT /org/transferOrgUser // 用户转移组织
入参为 sysUserIDS: 需要操作的用户的ids []int,
organizationID: 原始组织ID int,
toOrganizationID: 目标组织ID int,