134 lines
4.0 KiB
Markdown
134 lines
4.0 KiB
Markdown
## 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,
|
||
|