Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
dd_school
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
wangqi
dd_school
Commits
4e3d2fc9
Commit
4e3d2fc9
authored
Nov 08, 2023
by
xuwenhao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
11.8修改同步钉钉数据
parent
08487965
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
80 additions
and
75 deletions
+80
-75
smart-campus/src/main/java/yangtz/cs/liu/dingding/service/impl/dingDept/DdDeptServcieImpl.java
+80
-75
No files found.
smart-campus/src/main/java/yangtz/cs/liu/dingding/service/impl/dingDept/DdDeptServcieImpl.java
View file @
4e3d2fc9
...
...
@@ -219,94 +219,99 @@ public class DdDeptServcieImpl implements IDdDeptService {
@Override
@Transactional
public
String
syncDdDept
()
{
//获取钉钉所有部门列表
List
<
OapiV2DepartmentListsubResponse
.
DeptBaseResponse
>
ddDeptList
=
getDeptList
();
//存放钉钉部门不存在系统库集合
List
<
OapiV2DepartmentListsubResponse
.
DeptBaseResponse
>
ddDeptList1
=
new
ArrayList
<>();
ddDeptList1
.
addAll
(
ddDeptList
);
//获取系统所有部门列表
List
<
SysDdDept
>
deptList
=
ddDeptMapper
.
selectDdDeptList
(
new
SysDdDept
());
//存放钉钉删除了的部门集合
List
<
SysDdDept
>
deptList1
=
new
ArrayList
<>();
deptList1
.
addAll
(
deptList
);
if
(
deptList
.
size
()
<=
0
){
addDdDept
();
}
else
{
//获取钉钉所有部门列表
List
<
OapiV2DepartmentListsubResponse
.
DeptBaseResponse
>
ddDeptList
=
getDeptList
();
//存放钉钉部门不存在系统库集合
List
<
OapiV2DepartmentListsubResponse
.
DeptBaseResponse
>
ddDeptList1
=
new
ArrayList
<>();
ddDeptList1
.
addAll
(
ddDeptList
);
//判断钉钉部门列表是否都在系统部门列表中
for
(
OapiV2DepartmentListsubResponse
.
DeptBaseResponse
ddDept
:
ddDeptList
)
{
for
(
SysDdDept
dept
:
deptList
)
{
if
(
ddDept
.
getDeptId
().
equals
(
dept
.
getDdDeptId
())){
//存在,从集合中去除
ddDeptList1
.
remove
(
ddDept
);
//存放钉钉删除了的部门集合
List
<
SysDdDept
>
deptList1
=
new
ArrayList
<>();
deptList1
.
addAll
(
deptList
);
//判断钉钉部门列表是否都在系统部门列表中
for
(
OapiV2DepartmentListsubResponse
.
DeptBaseResponse
ddDept
:
ddDeptList
)
{
for
(
SysDdDept
dept
:
deptList
)
{
if
(
ddDept
.
getDeptId
().
equals
(
dept
.
getDdDeptId
())){
//存在,从集合中去除
ddDeptList1
.
remove
(
ddDept
);
}
}
}
}
//新增不存在系统库的部门
if
(
ddDeptList1
.
size
()
>
0
){
for
(
OapiV2DepartmentListsubResponse
.
DeptBaseResponse
ddDept
:
ddDeptList1
)
{
//钉钉父部门id
Long
ddParentId
=
ddDept
.
getParentId
();
//查询父部门信息
SysDdDept
ddDept1
=
ddDeptMapper
.
selectDeptByDdDeptId
(
ddParentId
);
//新增
SysDdDept
sysDdDept
=
new
SysDdDept
();
sysDdDept
.
setParentId
(
ddDept1
.
getDeptId
());
sysDdDept
.
setAncestors
(
ddDept1
.
getAncestors
()
+
ddDept1
.
getDeptId
());
sysDdDept
.
setDeptName
(
ddDept
.
getName
());
sysDdDept
.
setOrderNum
(
ddDept
.
getDeptId
());
sysDdDept
.
setDdDeptId
(
ddDept
.
getDeptId
());
sysDdDept
.
setDdParentId
(
ddParentId
);
sysDdDept
.
setCreateBy
(
"钉钉管理员"
);
ddDeptMapper
.
insertDdDept
(
sysDdDept
);
//新增不存在系统库的部门
if
(
ddDeptList1
.
size
()
>
0
){
for
(
OapiV2DepartmentListsubResponse
.
DeptBaseResponse
ddDept
:
ddDeptList1
)
{
//钉钉父部门id
Long
ddParentId
=
ddDept
.
getParentId
();
//查询父部门信息
SysDdDept
ddDept1
=
ddDeptMapper
.
selectDeptByDdDeptId
(
ddParentId
);
//新增
SysDdDept
sysDdDept
=
new
SysDdDept
();
sysDdDept
.
setParentId
(
ddDept1
.
getDeptId
());
sysDdDept
.
setAncestors
(
ddDept1
.
getAncestors
()
+
ddDept1
.
getDeptId
());
sysDdDept
.
setDeptName
(
ddDept
.
getName
());
sysDdDept
.
setOrderNum
(
ddDept
.
getDeptId
());
sysDdDept
.
setDdDeptId
(
ddDept
.
getDeptId
());
sysDdDept
.
setDdParentId
(
ddParentId
);
sysDdDept
.
setCreateBy
(
"钉钉管理员"
);
ddDeptMapper
.
insertDdDept
(
sysDdDept
);
}
}
}
//判断钉钉中删除的部门是否还存在系统部门中
for
(
SysDdDept
dept
:
deptList
)
{
for
(
OapiV2DepartmentListsubResponse
.
DeptBaseResponse
ddDept
:
ddDeptList
)
{
if
(
ddDept
.
getDeptId
().
equals
(
dept
.
getDdDeptId
())){
deptList1
.
remove
(
dept
);
//判断钉钉中删除的部门是否还存在系统部门中
for
(
SysDdDept
dept
:
deptList
)
{
for
(
OapiV2DepartmentListsubResponse
.
DeptBaseResponse
ddDept
:
ddDeptList
)
{
if
(
ddDept
.
getDeptId
().
equals
(
dept
.
getDdDeptId
())){
deptList1
.
remove
(
dept
);
}
}
}
}
//删除系统部门中存在的钉钉已删除的部门
if
(
deptList1
.
size
()
>
0
)
{
for
(
SysDdDept
dept
:
deptList1
)
{
if
(
dept
.
getDeptId
()
!=
100
){
ddDeptMapper
.
deleteDdDeptById
(
dept
.
getDeptId
());
//删除系统部门中存在的钉钉已删除的部门
if
(
deptList1
.
size
()
>
0
){
for
(
SysDdDept
dept
:
deptList1
)
{
if
(
dept
.
getDeptId
()
!=
100
)
{
ddDeptMapper
.
deleteDdDeptById
(
dept
.
getDeptId
());
}
}
}
}
//更新系统部门信息
//获取部门详情
OapiV2DepartmentGetResponse
.
DeptGetResponse
djDept
=
dingDeptUtils
.
getDept
(
1L
,
""
);
//修改顶级目录
SysDdDept
dept
=
new
SysDdDept
();
dept
.
setDdDeptId
(
djDept
.
getDeptId
());
dept
.
setDeptName
(
djDept
.
getName
());
dept
.
setUpdateBy
(
"钉钉管理员"
);
ddDeptMapper
.
updateDdDeptByDdDeptId
(
dept
);
for
(
OapiV2DepartmentListsubResponse
.
DeptBaseResponse
ddDept
:
ddDeptList
)
{
for
(
SysDdDept
sysDdDept
:
deptList
)
{
if
(
ddDept
.
getDeptId
().
equals
(
sysDdDept
.
getDdDeptId
())){
//判断父部门是否发生改变
if
(!(
ddDept
.
getParentId
().
equals
(
sysDdDept
.
getDdParentId
()))){
//钉钉父部门id
Long
ddParentId
=
ddDept
.
getParentId
();
//查询父部门信息
SysDdDept
ddParentDept
=
ddDeptMapper
.
selectDeptByDdDeptId
(
ddParentId
);
sysDdDept
.
setParentId
(
ddParentDept
.
getDeptId
());
sysDdDept
.
setAncestors
(
ddParentDept
.
getAncestors
()
+
","
+
ddParentDept
.
getDeptId
());
sysDdDept
.
setDdParentId
(
ddDept
.
getParentId
());
sysDdDept
.
setUpdateBy
(
"钉钉管理员"
);
ddDeptMapper
.
updateDdDeptByDdDeptId
(
sysDdDept
);
}
//判断部门基本信息是否发生改变
if
(!(
ddDept
.
getName
().
equals
(
sysDdDept
.
getDeptName
()))){
sysDdDept
.
setDeptName
(
ddDept
.
getName
());
sysDdDept
.
setUpdateBy
(
"钉钉管理员"
);
ddDeptMapper
.
updateDdDeptByDdDeptId
(
sysDdDept
);
//更新系统部门信息
//获取部门详情
OapiV2DepartmentGetResponse
.
DeptGetResponse
djDept
=
dingDeptUtils
.
getDept
(
1L
,
""
);
//修改顶级目录
SysDdDept
dept
=
new
SysDdDept
();
dept
.
setDdDeptId
(
djDept
.
getDeptId
());
dept
.
setDeptName
(
djDept
.
getName
());
dept
.
setUpdateBy
(
"钉钉管理员"
);
ddDeptMapper
.
updateDdDeptByDdDeptId
(
dept
);
for
(
OapiV2DepartmentListsubResponse
.
DeptBaseResponse
ddDept
:
ddDeptList
)
{
for
(
SysDdDept
sysDdDept
:
deptList
)
{
if
(
ddDept
.
getDeptId
().
equals
(
sysDdDept
.
getDdDeptId
())){
//判断父部门是否发生改变
if
(!(
ddDept
.
getParentId
().
equals
(
sysDdDept
.
getDdParentId
()))){
//钉钉父部门id
Long
ddParentId
=
ddDept
.
getParentId
();
//查询父部门信息
SysDdDept
ddParentDept
=
ddDeptMapper
.
selectDeptByDdDeptId
(
ddParentId
);
sysDdDept
.
setParentId
(
ddParentDept
.
getDeptId
());
sysDdDept
.
setAncestors
(
ddParentDept
.
getAncestors
()
+
","
+
ddParentDept
.
getDeptId
());
sysDdDept
.
setDdParentId
(
ddDept
.
getParentId
());
sysDdDept
.
setUpdateBy
(
"钉钉管理员"
);
ddDeptMapper
.
updateDdDeptByDdDeptId
(
sysDdDept
);
}
//判断部门基本信息是否发生改变
if
(!(
ddDept
.
getName
().
equals
(
sysDdDept
.
getDeptName
()))){
sysDdDept
.
setDeptName
(
ddDept
.
getName
());
sysDdDept
.
setUpdateBy
(
"钉钉管理员"
);
ddDeptMapper
.
updateDdDeptByDdDeptId
(
sysDdDept
);
}
}
}
}
...
...
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