Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
so-operation-api
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
smart-operation
so-operation-api
Commits
6ece8975
You need to sign in or sign up before continuing.
Commit
6ece8975
authored
Jul 03, 2023
by
魏灿
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev' into dev
parents
3a78e176
f2cdf1ec
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
76 additions
and
65 deletions
+76
-65
src/bean/entity/system_role.go
src/bean/entity/system_role.go
+12
-12
src/common/tools/hosts.go
src/common/tools/hosts.go
+4
-4
src/controller/system_user.go
src/controller/system_user.go
+4
-4
src/pkg/beagle/resp/resp.go
src/pkg/beagle/resp/resp.go
+3
-0
src/service/organization.go
src/service/organization.go
+13
-13
src/service/system_role.go
src/service/system_role.go
+3
-3
src/service/system_user.go
src/service/system_user.go
+37
-29
No files found.
src/bean/entity/system_role.go
View file @
6ece8975
package
entity
import
(
"time"
"
gitlab.wodcloud.com/smart-operation/so-operation-api/src/pkg/beagle/json
time"
)
// SystemRole 系统角色
type
SystemRole
struct
{
Id
int64
`json:"id" xorm:"pk autoincr"`
// id
RoleName
string
`json:"role_name"`
// 角色名称
RoleDesc
string
`json:"role_desc"`
// 角色描述
State
int
`json:"state"`
// 状态0禁用1启用
CreatedBy
int
`json:"created_by"`
// 角色创建人
CreatedTime
time
.
Time
`json:"created_time"`
// 角色创建时间
UpdatedTime
time
.
Time
`json:"updated_time"`
// 角色更新时间
UpdatedBy
int
`json:"updated_by"`
// 角色更新人
RoleType
int
`json:"role_type"`
// 角色类型(0 普通角色 1 内置角色类型 不能删除和编辑 )
RoleId
string
`json:"role_id"`
// 角色id(uuid)
IsDeleted
int
`json:"is_deleted" xorm:"is_deleted"`
// 是否删除
Id
int64
`json:"id" xorm:"pk autoincr"`
// id
RoleName
string
`json:"role_name"`
// 角色名称
RoleDesc
string
`json:"role_desc"`
// 角色描述
State
int
`json:"state"`
// 状态0禁用1启用
CreatedBy
int
`json:"created_by"`
// 角色创建人
CreatedTime
json
time
.
Time
`json:"created_time"`
// 角色创建时间
UpdatedTime
json
time
.
Time
`json:"updated_time"`
// 角色更新时间
UpdatedBy
int
`json:"updated_by"`
// 角色更新人
RoleType
int
`json:"role_type"`
// 角色类型(0 普通角色 1 内置角色类型 不能删除和编辑 )
RoleId
string
`json:"role_id"`
// 角色id(uuid)
IsDeleted
int
`json:"is_deleted" xorm:"is_deleted"`
// 是否删除
}
src/common/tools/hosts.go
View file @
6ece8975
...
...
@@ -8,8 +8,8 @@ import (
)
func
HostsToJson
()
(
data
map
[
string
][]
string
,
err
error
)
{
//
f, err := os.Open(`/etc/ansible/hosts`)
f
,
err
:=
os
.
Open
(
`D:\work\goWork\智能运维平台\so-operation-api\src\common\tools\hosts`
)
f
,
err
:=
os
.
Open
(
`/etc/ansible/hosts`
)
//
f, err := os.Open(`D:\work\goWork\智能运维平台\so-operation-api\src\common\tools\hosts`)
if
err
!=
nil
{
return
nil
,
err
...
...
@@ -37,8 +37,8 @@ func HostsToJson() (data map[string][]string, err error) {
}
func
MapToSaveHosts
(
data
map
[
string
][]
string
)
error
{
//
f, err := os.OpenFile("/etc/ansible/hosts", os.O_APPEND|os.O_CREATE|os.O_RDWR|os.O_TRUNC, 0777)
f
,
err
:=
os
.
OpenFile
(
"D:/work/goWork/智能运维平台/so-operation-api/src/common/tools/hosts"
,
os
.
O_APPEND
|
os
.
O_CREATE
|
os
.
O_RDWR
|
os
.
O_TRUNC
,
0777
)
f
,
err
:=
os
.
OpenFile
(
"/etc/ansible/hosts"
,
os
.
O_APPEND
|
os
.
O_CREATE
|
os
.
O_RDWR
|
os
.
O_TRUNC
,
0777
)
//
f, err := os.OpenFile("D:/work/goWork/智能运维平台/so-operation-api/src/common/tools/hosts", os.O_APPEND|os.O_CREATE|os.O_RDWR|os.O_TRUNC, 0777)
if
err
!=
nil
{
return
err
...
...
src/controller/system_user.go
View file @
6ece8975
...
...
@@ -29,13 +29,13 @@ func OrgUserDetail(c *gin.Context) {
// 组织添加用户时查询的角色列表
func
OrgUserRoles
(
c
*
gin
.
Context
)
{
isAdmin
:=
c
.
Query
(
"is_admin
"
)
if
isAdmin
==
""
{
SendJsonResponse
(
c
,
resp
.
InvalidParam
.
WithMsg
(
"
用户类型
必填"
),
nil
)
oid
:=
c
.
Query
(
"oid
"
)
if
oid
==
""
{
SendJsonResponse
(
c
,
resp
.
InvalidParam
.
WithMsg
(
"
组织id
必填"
),
nil
)
return
}
svc
:=
service
.
User
{}
result
,
err
:=
svc
.
OrgUserRoles
(
cast
.
ToInt
(
isAdmin
))
result
,
err
:=
svc
.
OrgUserRoles
(
cast
.
ToInt
(
oid
))
if
err
!=
nil
{
SendJsonResponse
(
c
,
err
,
nil
)
return
...
...
src/pkg/beagle/resp/resp.go
View file @
6ece8975
...
...
@@ -18,6 +18,9 @@ type Resp struct {
func
(
r
Resp
)
WithMsg
(
msg
string
)
Resp
{
r
.
Msg
=
msg
if
r
.
Data
==
nil
{
r
.
Data
=
msg
}
return
r
}
...
...
src/service/organization.go
View file @
6ece8975
...
...
@@ -281,19 +281,19 @@ func (o *Organization) OrgDetail(input request.QueryOrgDetailInput) (interface{}
for
_
,
v
:=
range
orgAdminUsers
{
ids
=
append
(
ids
,
v
.
Id
)
}
//
var systemUserRoles []response.SystemUserRole
//
if err := db.Table("system_user_role").Alias("sur").Select("sur.system_id, sr.role_name").
// Join("left", "system_role sr", "sr.role_id = sur.role_id").In("sur.system_id", system_
ids).Find(&systemUserRoles); err != nil {
//
conf.Logger.Error("查询用户角色信息失败", zap.Error(err))
// return nil, res
.DbSelectError.ErrorDetail(err)
//
}
//
for i, v := range orgAdminUsers {
//
for _, s := range systemUserRoles {
// if v.SystemId == s.System
Id {
//
orgAdminUsers[i].SystemRole = append(orgAdminUsers[i].SystemRole, s.RoleName)
//
}
//
}
//
}
var
systemUserRoles
[]
response
.
SystemUserRole
if
err
:=
db
.
Table
(
"system_user_role"
)
.
Alias
(
"sur"
)
.
Select
(
"sur.system_id, sr.role_name"
)
.
Join
(
"left"
,
"system_role sr"
,
"sr.role_id = sur.role_id"
)
.
In
(
"sur.user_id"
,
ids
)
.
Find
(
&
systemUserRoles
);
err
!=
nil
{
conf
.
Logger
.
Error
(
"查询用户角色信息失败"
,
zap
.
Error
(
err
))
return
nil
,
resp
.
DbSelectError
.
ErrorDetail
(
err
)
}
for
i
,
v
:=
range
orgAdminUsers
{
for
_
,
s
:=
range
systemUserRoles
{
if
v
.
Id
==
s
.
User
Id
{
orgAdminUsers
[
i
]
.
SystemRole
=
append
(
orgAdminUsers
[
i
]
.
SystemRole
,
s
.
RoleName
)
}
}
}
var
orgInfo
response
.
OrgDetail
if
_
,
err
=
db
.
Table
(
"system_organization"
)
.
Alias
(
"so"
)
.
...
...
src/service/system_role.go
View file @
6ece8975
...
...
@@ -32,8 +32,8 @@ func CreateSystemRole(params request.CreateSystemRoleReq) (resultData int64, err
RoleDesc
:
params
.
RoleDesc
,
State
:
params
.
State
,
CreatedBy
:
params
.
CreatedBy
,
CreatedTime
:
time
.
Now
(
),
UpdatedTime
:
time
.
Now
(
),
CreatedTime
:
jsontime
.
Time
(
time
.
Now
()
),
UpdatedTime
:
jsontime
.
Time
(
time
.
Now
()
),
UpdatedBy
:
params
.
CreatedBy
,
RoleType
:
roleTypeNormal
,
RoleId
:
roleId
,
...
...
@@ -107,7 +107,7 @@ func UpdateSystemRole(params request.UpdateSystemRoleReq) (resultData int64, err
RoleName
:
params
.
RoleName
,
RoleDesc
:
params
.
RoleDesc
,
State
:
params
.
State
,
UpdatedTime
:
time
.
Now
(
),
UpdatedTime
:
jsontime
.
Time
(
time
.
Now
()
),
UpdatedBy
:
params
.
UpdatedBy
,
//DataPurview: params.DataPurview,
}
...
...
src/service/system_user.go
View file @
6ece8975
...
...
@@ -49,28 +49,36 @@ func (o *User) OrgUserDetail(id int) (interface{}, error) {
}
//查询用户角色
//
var systemUserRoles []response.SystemUserRole
//
if err := db.Table("system_user_role").Alias("sur").Select(" sr.role_name").
//
Join("left", "system_role sr", "sr.role_id = sur.role_id").Where("sur.user_id = ?", result.Id).Find(&systemUserRoles); err != nil {
//
conf.Logger.Error("查询用户角色信息失败", zap.Error(err))
//
return nil, resp.DbSelectError.ErrorDetail(err)
//
}
//
for _, v := range systemUserRoles {
//
result.SystemRole = append(result.SystemRole, v.RoleName)
//
}
var
systemUserRoles
[]
response
.
SystemUserRole
if
err
:=
db
.
Table
(
"system_user_role"
)
.
Alias
(
"sur"
)
.
Select
(
" sr.role_name"
)
.
Join
(
"left"
,
"system_role sr"
,
"sr.role_id = sur.role_id"
)
.
Where
(
"sur.user_id = ?"
,
result
.
Id
)
.
Find
(
&
systemUserRoles
);
err
!=
nil
{
conf
.
Logger
.
Error
(
"查询用户角色信息失败"
,
zap
.
Error
(
err
))
return
nil
,
resp
.
DbSelectError
.
ErrorDetail
(
err
)
}
for
_
,
v
:=
range
systemUserRoles
{
result
.
SystemRole
=
append
(
result
.
SystemRole
,
v
.
RoleName
)
}
return
result
,
nil
}
// 组织添加用户时查询角色列表 查询非内置角色 + 平台运营者
func
(
o
*
User
)
OrgUserRoles
(
hasAdmin
int
)
(
interface
{},
error
)
{
func
(
o
*
User
)
OrgUserRoles
(
oid
int
)
(
interface
{},
error
)
{
db
,
err
:=
client
.
GetDbClient
()
if
err
!=
nil
{
return
nil
,
resp
.
DbConnectError
.
ErrorDetail
(
err
)
}
session
:=
db
.
Table
(
"system_role"
)
.
Where
(
"role_type = 0 and is_deleted = 0 and state = 1 "
)
if
hasAdmin
==
1
{
session
.
Or
(
"role_type = 1 and is_deleted = 0 and state = 1"
)
var
org
entity
.
SystemOrganization
_
,
err
=
db
.
Table
(
"system_organization"
)
.
Where
(
"id = ?"
,
oid
)
.
Get
(
&
org
)
if
err
!=
nil
{
conf
.
Logger
.
Error
(
"查询机构信息失败"
,
zap
.
Error
(
err
))
return
nil
,
resp
.
DbSelectError
.
ErrorDetail
(
err
)
}
session
:=
db
.
Table
(
"system_role"
)
.
Where
(
" is_deleted = 0 and state = 1 "
)
if
org
.
DataType
==
2
{
session
.
Where
(
"role_type <= 2"
)
}
else
{
session
.
Where
(
"role_type <= 1"
)
}
var
roles
[]
entity
.
SystemRole
if
err
:=
session
.
Find
(
&
roles
);
err
!=
nil
{
...
...
@@ -137,14 +145,14 @@ func (o *User) OrgAddUser(input request.OrgUserInput) error {
return
nil
,
resp
.
DbInsertError
.
ErrorDetail
(
err
)
}
//
var systemUserRoles []entity.SystemUserRole
//
for _, v := range input.SelectRole {
// systemUserRoles = append(systemUserRoles, entity.SystemUserRole{SystemId: system
Id, RoleId: v})
//
}
//
if _, err := s.Table("system_user_role").Insert(&systemUserRoles); err != nil {
//
conf.Logger.Error("创建用户角色失败", zap.Error(err))
// return nil, res
.DbInsertError.ErrorDetail(err)
//
}
var
systemUserRoles
[]
entity
.
SystemUserRole
for
_
,
v
:=
range
input
.
SelectRole
{
systemUserRoles
=
append
(
systemUserRoles
,
entity
.
SystemUserRole
{
UserId
:
userModel
.
Id
,
RoleId
:
v
})
}
if
_
,
err
:=
s
.
Table
(
"system_user_role"
)
.
Insert
(
&
systemUserRoles
);
err
!=
nil
{
conf
.
Logger
.
Error
(
"创建用户角色失败"
,
zap
.
Error
(
err
))
return
nil
,
resp
.
DbInsertError
.
ErrorDetail
(
err
)
}
return
nil
,
nil
})
return
err
...
...
@@ -234,14 +242,14 @@ func (o *User) DelOrgUser(input request.DelOrgUser) error {
}
//删除用户关联角色
//
var user_ids []int
//
for _, v := range baseUsers {
//
user_ids = append(user_ids, v.Id)
//
}
//
if _, err := db.Table("system_user_role").In("user_id", user_ids).Delete(&entity.SystemUserRole{}); err != nil {
//
conf.Logger.Error("删除用户关联角色失败", zap.Error(err))
// return nil, res
.DbDeleteError.ErrorDetail(err)
//
}
var
user_ids
[]
int
for
_
,
v
:=
range
baseUsers
{
user_ids
=
append
(
user_ids
,
v
.
Id
)
}
if
_
,
err
:=
db
.
Table
(
"system_user_role"
)
.
In
(
"user_id"
,
user_ids
)
.
Delete
(
&
entity
.
SystemUserRole
{});
err
!=
nil
{
conf
.
Logger
.
Error
(
"删除用户关联角色失败"
,
zap
.
Error
(
err
))
return
nil
,
resp
.
DbDeleteError
.
ErrorDetail
(
err
)
}
return
nil
,
nil
})
return
err
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment