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
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
package
entity
import
(
import
(
"time"
"
gitlab.wodcloud.com/smart-operation/so-operation-api/src/pkg/beagle/json
time"
)
)
// SystemRole 系统角色
// SystemRole 系统角色
type
SystemRole
struct
{
type
SystemRole
struct
{
Id
int64
`json:"id" xorm:"pk autoincr"`
// id
Id
int64
`json:"id" xorm:"pk autoincr"`
// id
RoleName
string
`json:"role_name"`
// 角色名称
RoleName
string
`json:"role_name"`
// 角色名称
RoleDesc
string
`json:"role_desc"`
// 角色描述
RoleDesc
string
`json:"role_desc"`
// 角色描述
State
int
`json:"state"`
// 状态0禁用1启用
State
int
`json:"state"`
// 状态0禁用1启用
CreatedBy
int
`json:"created_by"`
// 角色创建人
CreatedBy
int
`json:"created_by"`
// 角色创建人
CreatedTime
time
.
Time
`json:"created_time"`
// 角色创建时间
CreatedTime
json
time
.
Time
`json:"created_time"`
// 角色创建时间
UpdatedTime
time
.
Time
`json:"updated_time"`
// 角色更新时间
UpdatedTime
json
time
.
Time
`json:"updated_time"`
// 角色更新时间
UpdatedBy
int
`json:"updated_by"`
// 角色更新人
UpdatedBy
int
`json:"updated_by"`
// 角色更新人
RoleType
int
`json:"role_type"`
// 角色类型(0 普通角色 1 内置角色类型 不能删除和编辑 )
RoleType
int
`json:"role_type"`
// 角色类型(0 普通角色 1 内置角色类型 不能删除和编辑 )
RoleId
string
`json:"role_id"`
// 角色id(uuid)
RoleId
string
`json:"role_id"`
// 角色id(uuid)
IsDeleted
int
`json:"is_deleted" xorm:"is_deleted"`
// 是否删除
IsDeleted
int
`json:"is_deleted" xorm:"is_deleted"`
// 是否删除
}
}
src/common/tools/hosts.go
View file @
6ece8975
...
@@ -8,8 +8,8 @@ import (
...
@@ -8,8 +8,8 @@ import (
)
)
func
HostsToJson
()
(
data
map
[
string
][]
string
,
err
error
)
{
func
HostsToJson
()
(
data
map
[
string
][]
string
,
err
error
)
{
//
f, err := os.Open(`/etc/ansible/hosts`)
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(`D:\work\goWork\智能运维平台\so-operation-api\src\common\tools\hosts`)
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
err
return
nil
,
err
...
@@ -37,8 +37,8 @@ func HostsToJson() (data map[string][]string, err error) {
...
@@ -37,8 +37,8 @@ func HostsToJson() (data map[string][]string, err error) {
}
}
func
MapToSaveHosts
(
data
map
[
string
][]
string
)
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
(
"/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("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
{
if
err
!=
nil
{
return
err
return
err
...
...
src/controller/system_user.go
View file @
6ece8975
...
@@ -29,13 +29,13 @@ func OrgUserDetail(c *gin.Context) {
...
@@ -29,13 +29,13 @@ func OrgUserDetail(c *gin.Context) {
// 组织添加用户时查询的角色列表
// 组织添加用户时查询的角色列表
func
OrgUserRoles
(
c
*
gin
.
Context
)
{
func
OrgUserRoles
(
c
*
gin
.
Context
)
{
isAdmin
:=
c
.
Query
(
"is_admin
"
)
oid
:=
c
.
Query
(
"oid
"
)
if
isAdmin
==
""
{
if
oid
==
""
{
SendJsonResponse
(
c
,
resp
.
InvalidParam
.
WithMsg
(
"
用户类型
必填"
),
nil
)
SendJsonResponse
(
c
,
resp
.
InvalidParam
.
WithMsg
(
"
组织id
必填"
),
nil
)
return
return
}
}
svc
:=
service
.
User
{}
svc
:=
service
.
User
{}
result
,
err
:=
svc
.
OrgUserRoles
(
cast
.
ToInt
(
isAdmin
))
result
,
err
:=
svc
.
OrgUserRoles
(
cast
.
ToInt
(
oid
))
if
err
!=
nil
{
if
err
!=
nil
{
SendJsonResponse
(
c
,
err
,
nil
)
SendJsonResponse
(
c
,
err
,
nil
)
return
return
...
...
src/pkg/beagle/resp/resp.go
View file @
6ece8975
...
@@ -18,6 +18,9 @@ type Resp struct {
...
@@ -18,6 +18,9 @@ type Resp struct {
func
(
r
Resp
)
WithMsg
(
msg
string
)
Resp
{
func
(
r
Resp
)
WithMsg
(
msg
string
)
Resp
{
r
.
Msg
=
msg
r
.
Msg
=
msg
if
r
.
Data
==
nil
{
r
.
Data
=
msg
}
return
r
return
r
}
}
...
...
src/service/organization.go
View file @
6ece8975
...
@@ -281,19 +281,19 @@ func (o *Organization) OrgDetail(input request.QueryOrgDetailInput) (interface{}
...
@@ -281,19 +281,19 @@ func (o *Organization) OrgDetail(input request.QueryOrgDetailInput) (interface{}
for
_
,
v
:=
range
orgAdminUsers
{
for
_
,
v
:=
range
orgAdminUsers
{
ids
=
append
(
ids
,
v
.
Id
)
ids
=
append
(
ids
,
v
.
Id
)
}
}
//
var systemUserRoles []response.SystemUserRole
var
systemUserRoles
[]
response
.
SystemUserRole
//
if err := db.Table("system_user_role").Alias("sur").Select("sur.system_id, sr.role_name").
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 {
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))
conf
.
Logger
.
Error
(
"查询用户角色信息失败"
,
zap
.
Error
(
err
))
// return nil, res
.DbSelectError.ErrorDetail(err)
return
nil
,
resp
.
DbSelectError
.
ErrorDetail
(
err
)
//
}
}
//
for i, v := range orgAdminUsers {
for
i
,
v
:=
range
orgAdminUsers
{
//
for _, s := range systemUserRoles {
for
_
,
s
:=
range
systemUserRoles
{
// if v.SystemId == s.System
Id {
if
v
.
Id
==
s
.
User
Id
{
//
orgAdminUsers[i].SystemRole = append(orgAdminUsers[i].SystemRole, s.RoleName)
orgAdminUsers
[
i
]
.
SystemRole
=
append
(
orgAdminUsers
[
i
]
.
SystemRole
,
s
.
RoleName
)
//
}
}
//
}
}
//
}
}
var
orgInfo
response
.
OrgDetail
var
orgInfo
response
.
OrgDetail
if
_
,
err
=
db
.
Table
(
"system_organization"
)
.
Alias
(
"so"
)
.
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
...
@@ -32,8 +32,8 @@ func CreateSystemRole(params request.CreateSystemRoleReq) (resultData int64, err
RoleDesc
:
params
.
RoleDesc
,
RoleDesc
:
params
.
RoleDesc
,
State
:
params
.
State
,
State
:
params
.
State
,
CreatedBy
:
params
.
CreatedBy
,
CreatedBy
:
params
.
CreatedBy
,
CreatedTime
:
time
.
Now
(
),
CreatedTime
:
jsontime
.
Time
(
time
.
Now
()
),
UpdatedTime
:
time
.
Now
(
),
UpdatedTime
:
jsontime
.
Time
(
time
.
Now
()
),
UpdatedBy
:
params
.
CreatedBy
,
UpdatedBy
:
params
.
CreatedBy
,
RoleType
:
roleTypeNormal
,
RoleType
:
roleTypeNormal
,
RoleId
:
roleId
,
RoleId
:
roleId
,
...
@@ -107,7 +107,7 @@ func UpdateSystemRole(params request.UpdateSystemRoleReq) (resultData int64, err
...
@@ -107,7 +107,7 @@ func UpdateSystemRole(params request.UpdateSystemRoleReq) (resultData int64, err
RoleName
:
params
.
RoleName
,
RoleName
:
params
.
RoleName
,
RoleDesc
:
params
.
RoleDesc
,
RoleDesc
:
params
.
RoleDesc
,
State
:
params
.
State
,
State
:
params
.
State
,
UpdatedTime
:
time
.
Now
(
),
UpdatedTime
:
jsontime
.
Time
(
time
.
Now
()
),
UpdatedBy
:
params
.
UpdatedBy
,
UpdatedBy
:
params
.
UpdatedBy
,
//DataPurview: params.DataPurview,
//DataPurview: params.DataPurview,
}
}
...
...
src/service/system_user.go
View file @
6ece8975
...
@@ -49,28 +49,36 @@ func (o *User) OrgUserDetail(id int) (interface{}, error) {
...
@@ -49,28 +49,36 @@ func (o *User) OrgUserDetail(id int) (interface{}, error) {
}
}
//查询用户角色
//查询用户角色
//
var systemUserRoles []response.SystemUserRole
var
systemUserRoles
[]
response
.
SystemUserRole
//
if err := db.Table("system_user_role").Alias("sur").Select(" sr.role_name").
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 {
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))
conf
.
Logger
.
Error
(
"查询用户角色信息失败"
,
zap
.
Error
(
err
))
//
return nil, resp.DbSelectError.ErrorDetail(err)
return
nil
,
resp
.
DbSelectError
.
ErrorDetail
(
err
)
//
}
}
//
for _, v := range systemUserRoles {
for
_
,
v
:=
range
systemUserRoles
{
//
result.SystemRole = append(result.SystemRole, v.RoleName)
result
.
SystemRole
=
append
(
result
.
SystemRole
,
v
.
RoleName
)
//
}
}
return
result
,
nil
return
result
,
nil
}
}
// 组织添加用户时查询角色列表 查询非内置角色 + 平台运营者
// 组织添加用户时查询角色列表 查询非内置角色 + 平台运营者
func
(
o
*
User
)
OrgUserRoles
(
hasAdmin
int
)
(
interface
{},
error
)
{
func
(
o
*
User
)
OrgUserRoles
(
oid
int
)
(
interface
{},
error
)
{
db
,
err
:=
client
.
GetDbClient
()
db
,
err
:=
client
.
GetDbClient
()
if
err
!=
nil
{
if
err
!=
nil
{
return
nil
,
resp
.
DbConnectError
.
ErrorDetail
(
err
)
return
nil
,
resp
.
DbConnectError
.
ErrorDetail
(
err
)
}
}
session
:=
db
.
Table
(
"system_role"
)
.
Where
(
"role_type = 0 and is_deleted = 0 and state = 1 "
)
var
org
entity
.
SystemOrganization
if
hasAdmin
==
1
{
_
,
err
=
db
.
Table
(
"system_organization"
)
.
Where
(
"id = ?"
,
oid
)
.
Get
(
&
org
)
session
.
Or
(
"role_type = 1 and is_deleted = 0 and state = 1"
)
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
var
roles
[]
entity
.
SystemRole
if
err
:=
session
.
Find
(
&
roles
);
err
!=
nil
{
if
err
:=
session
.
Find
(
&
roles
);
err
!=
nil
{
...
@@ -137,14 +145,14 @@ func (o *User) OrgAddUser(input request.OrgUserInput) error {
...
@@ -137,14 +145,14 @@ func (o *User) OrgAddUser(input request.OrgUserInput) error {
return
nil
,
resp
.
DbInsertError
.
ErrorDetail
(
err
)
return
nil
,
resp
.
DbInsertError
.
ErrorDetail
(
err
)
}
}
//
var systemUserRoles []entity.SystemUserRole
var
systemUserRoles
[]
entity
.
SystemUserRole
//
for _, v := range input.SelectRole {
for
_
,
v
:=
range
input
.
SelectRole
{
// systemUserRoles = append(systemUserRoles, entity.SystemUserRole{SystemId: system
Id, RoleId: v})
systemUserRoles
=
append
(
systemUserRoles
,
entity
.
SystemUserRole
{
UserId
:
userModel
.
Id
,
RoleId
:
v
})
//
}
}
//
if _, err := s.Table("system_user_role").Insert(&systemUserRoles); err != nil {
if
_
,
err
:=
s
.
Table
(
"system_user_role"
)
.
Insert
(
&
systemUserRoles
);
err
!=
nil
{
//
conf.Logger.Error("创建用户角色失败", zap.Error(err))
conf
.
Logger
.
Error
(
"创建用户角色失败"
,
zap
.
Error
(
err
))
// return nil, res
.DbInsertError.ErrorDetail(err)
return
nil
,
resp
.
DbInsertError
.
ErrorDetail
(
err
)
//
}
}
return
nil
,
nil
return
nil
,
nil
})
})
return
err
return
err
...
@@ -234,14 +242,14 @@ func (o *User) DelOrgUser(input request.DelOrgUser) error {
...
@@ -234,14 +242,14 @@ func (o *User) DelOrgUser(input request.DelOrgUser) error {
}
}
//删除用户关联角色
//删除用户关联角色
//
var user_ids []int
var
user_ids
[]
int
//
for _, v := range baseUsers {
for
_
,
v
:=
range
baseUsers
{
//
user_ids = append(user_ids, v.Id)
user_ids
=
append
(
user_ids
,
v
.
Id
)
//
}
}
//
if _, err := db.Table("system_user_role").In("user_id", user_ids).Delete(&entity.SystemUserRole{}); err != nil {
if
_
,
err
:=
db
.
Table
(
"system_user_role"
)
.
In
(
"user_id"
,
user_ids
)
.
Delete
(
&
entity
.
SystemUserRole
{});
err
!=
nil
{
//
conf.Logger.Error("删除用户关联角色失败", zap.Error(err))
conf
.
Logger
.
Error
(
"删除用户关联角色失败"
,
zap
.
Error
(
err
))
// return nil, res
.DbDeleteError.ErrorDetail(err)
return
nil
,
resp
.
DbDeleteError
.
ErrorDetail
(
err
)
//
}
}
return
nil
,
nil
return
nil
,
nil
})
})
return
err
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