Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Z
zhichan
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
蒋勇
zhichan
Commits
4ee2223c
Commit
4ee2223c
authored
Jun 29, 2020
by
蒋勇
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
d
parent
7de7b368
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
86 additions
and
45 deletions
+86
-45
center-manage/app/base/service/impl/common/companySve.js
+86
-45
No files found.
center-manage/app/base/service/impl/common/companySve.js
View file @
4ee2223c
...
@@ -5,63 +5,104 @@ class CompanyService extends ServiceBase {
...
@@ -5,63 +5,104 @@ class CompanyService extends ServiceBase {
constructor
()
{
constructor
()
{
super
(
"common"
,
ServiceBase
.
getDaoName
(
CompanyService
));
super
(
"common"
,
ServiceBase
.
getDaoName
(
CompanyService
));
}
}
async
getMyApps
(
appids
,
isSuper
){
async
getMyApps
(
appids
,
isSuper
)
{
let
appsrtn
=
null
let
appsrtn
=
null
if
(
isSuper
){
if
(
isSuper
)
{
appsrtn
=
this
.
db
.
models
.
app
.
findAll
({
where
:
appsrtn
=
this
.
db
.
models
.
app
.
findAll
({
{
where
:
id
:{[
this
.
db
.
Op
.
ne
]:
settings
.
pmappid
}
{
}
id
:
{
[
this
.
db
.
Op
.
ne
]:
settings
.
pmappid
}
})
}
}
else
{
})
appsrtn
=
this
.
db
.
models
.
app
.
findAll
({
where
:
}
else
{
{
appsrtn
=
this
.
db
.
models
.
app
.
findAll
({
id
:{[
this
.
db
.
Op
.
in
]:
appids
}
where
:
}
{
})
id
:
{
[
this
.
db
.
Op
.
in
]:
appids
}
}
}
return
appsrtn
})
}
return
appsrtn
}
}
async
bindApps
(
appids
,
companyid
)
{
async
bindApps
(
appids
,
companyid
)
{
var
self
=
this
var
self
=
this
return
this
.
db
.
transaction
(
async
function
(
t
)
{
return
this
.
db
.
transaction
(
async
function
(
t
)
{
let
u
=
await
self
.
dao
.
update
({
appids
:
appids
,
id
:
companyid
},
t
)
let
u
=
await
self
.
dao
.
update
({
appids
:
appids
,
id
:
companyid
},
t
)
return
appids
return
appids
})
})
}
}
async
setOrgs
(
p
,
cmk
)
{
async
setOrgs
(
p
,
cmk
)
{
var
self
=
this
var
self
=
this
let
curNodeData
=
p
.
curdata
let
opathstr
=
curNodeData
.
orgpath
let
oldNodeData
=
p
.
olddata
//老的节点数据
let
strjson
=
JSON
.
stringify
(
p
.
orgJson
)
p
.
id
=
p
.
company_id
p
.
orgJson
=
strjson
if
(
!
oldNodeData
){
//如果不传老对象,表示当前操作是删除节点操作,检查是否存在用户,如果已经存在
//那么就提示不能删除
let
us
=
await
self
.
db
.
models
.
user
.
findOne
({
where
:
{
opath
:
{
[
self
.
db
.
Op
.
like
]:
`%
${
opathstr
}
%`
}
}})
if
(
us
){
let
companytmp
=
await
this
.
dao
.
model
.
findOne
({
where
:
{
id
:
p
.
company_id
}});
return
{
orgJson
:
JSON
.
parse
(
companytmp
.
orgJson
)
}
}
else
{
let
u
=
await
this
.
dao
.
update
(
p
)
let
companytmp
=
await
this
.
dao
.
model
.
findOne
({
where
:
{
id
:
p
.
company_id
}});
return
{
orgJson
:
JSON
.
parse
(
companytmp
.
orgJson
)
}
}
}
else
{
oldopath
=
oldNodeData
.
orgpath
}
return
this
.
db
.
transaction
(
async
function
(
t
)
{
return
this
.
db
.
transaction
(
async
function
(
t
)
{
let
strjson
=
JSON
.
stringify
(
p
.
orgJson
)
p
.
id
=
p
.
company_id
p
.
orgJson
=
strjson
//更新组织机构
//更新组织机构
let
u
=
await
self
.
dao
.
update
(
p
,
t
)
let
u
=
await
self
.
dao
.
update
(
p
,
t
)
//更新,还得传输当前节点,查询出当前节点的角色
//更新,还得传输当前节点,查询出当前节点的角色
//按照当前节点的opath查询出所有的用户,更新这些用户的角色信息
//按照当前节点的opath查询出所有的用户,更新这些用户的角色信息
let
curNodeData
=
p
.
curdata
if
(
curNodeData
&&
curNodeData
.
isPosition
){
if
(
curNodeData
)
{
let
opathstr
=
curNodeData
.
orgpath
if
(
curNodeData
.
isPosition
)
{
let
us
=
await
self
.
db
.
models
.
user
.
findAll
({
where
:{
opath
:{[
self
.
db
.
Op
.
like
]:
`%
${
opathstr
}
%`
}},
transaction
:
t
})
let
us
=
await
self
.
db
.
models
.
user
.
findAll
({
where
:
{
opath
:
{
[
self
.
db
.
Op
.
like
]:
`%
${
oldopath
}
%`
}
},
transaction
:
t
})
//查询出角色
//查询出角色
let
roleids
=
curNodeData
.
roles
let
roleids
=
curNodeData
.
roles
// let rs=await self.db.models.role.findAll({where:{id:{[self.db.Op.in]:roleids},app_id:p.app_id,company_id:p.company_id},transaction:t})
// let rs=await self.db.models.role.findAll({where:{id:{[self.db.Op.in]:roleids},app_id:p.app_id,company_id:p.company_id},transaction:t})
//需要添加访客角色
//需要添加访客角色
if
(
roleids
&&
roleids
.
length
>
0
)
{
if
(
roleids
.
indexOf
(
settings
.
pmroleid
[
"pr"
])
<
0
)
{
roleids
.
push
(
settings
.
pmroleid
[
"pr"
])
}
}
let
rs
=
await
self
.
db
.
models
.
role
.
findAll
({
where
:
{
id
:
{
[
self
.
db
.
Op
.
in
]:
roleids
}
},
transaction
:
t
})
for
(
let
u
of
us
)
{
await
u
.
setRoles
(
rs
,
{
transaction
:
t
})
if
(
opathstr
!=
oldopath
)
{
u
.
opath
=
opathstr
+
"/"
+
u
.
userName
u
.
ptags
=
curNodeData
.
ptags
u
.
save
({
transaction
:
t
})
}
//令用户缓存失效
await
self
.
cacheManager
[
"UserCache"
].
invalidate
(
u
.
userName
)
}
}
else
{
//不是岗位节点,检查修改后的路径是否和原始一致,如果不一致,那么需要查出原始的用户数据
//把原来的路径替换当前新的code
if
(
opathstr
!=
oldopath
){
let
us2
=
await
self
.
db
.
models
.
user
.
findAll
({
where
:
{
opath
:
{
[
self
.
db
.
Op
.
like
]:
`%
${
oldopath
}
%`
}
},
transaction
:
t
})
for
(
let
u
of
us2
)
{
let
curpath
=
u
.
opath
let
newpath
=
curpath
.
replace
(
oldNodeData
.
code
,
curNodeData
.
code
)
u
.
opath
=
newpath
u
.
save
({
transaction
:
t
})
//令用户缓存失效
await
self
.
cacheManager
[
"UserCache"
].
invalidate
(
u
.
userName
)
}
}
if
(
roleids
&&
roleids
.
length
>
0
)
{
if
(
roleids
.
indexOf
(
settings
.
pmroleid
[
"pr"
])
<
0
)
{
roleids
.
push
(
settings
.
pmroleid
[
"pr"
])
}
}
let
rs
=
await
self
.
db
.
models
.
role
.
findAll
({
where
:{
id
:{[
self
.
db
.
Op
.
in
]:
roleids
}},
transaction
:
t
})
for
(
let
u
of
us
){
await
u
.
setRoles
(
rs
,{
transaction
:
t
})
//令用户缓存失效
await
self
.
cacheManager
[
"UserCache"
].
invalidate
(
u
.
userName
)
}
}
}
}
let
companytmp
=
await
self
.
dao
.
model
.
findOne
({
where
:{
id
:
p
.
company_id
},
transaction
:
t
});
let
companytmp
=
await
self
.
dao
.
model
.
findOne
({
where
:
{
id
:
p
.
company_id
},
transaction
:
t
});
return
{
orgJson
:
JSON
.
parse
(
companytmp
.
orgJson
)
}
return
{
orgJson
:
JSON
.
parse
(
companytmp
.
orgJson
)
}
})
})
}
}
}
}
...
...
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