pms/server/plugin/organization
root 97faf9126b 添加组织管理 2024-08-07 12:45:01 +08:00
..
api 添加组织管理 2024-08-07 12:45:01 +08:00
config 添加组织管理 2024-08-07 12:45:01 +08:00
global 添加组织管理 2024-08-07 12:45:01 +08:00
model 添加组织管理 2024-08-07 12:45:01 +08:00
router 添加组织管理 2024-08-07 12:45:01 +08:00
service 添加组织管理 2024-08-07 12:45:01 +08:00
utils 添加组织管理 2024-08-07 12:45:01 +08:00
README.md 添加组织管理 2024-08-07 12:45:01 +08:00
main.go 添加组织管理 2024-08-07 12:45:01 +08:00

README.md

GVA 组织管理功能

开发者:奇淼

本插件支持自动安装

图例

img

img

img

img

img

手动安装方法

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,