Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
kt-keystone
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Matrix
kt-keystone
Commits
cf7b1990
提交
cf7b1990
authored
8月 09, 2022
作者:
mry
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(web): 接口文档同步
上级
42400e44
全部展开
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
23 行增加
和
37 行删除
+23
-37
InterfaceDocServiceImpl.java
...java/org/matrix/service/impl/InterfaceDocServiceImpl.java
+0
-0
MouldDocServiceImpl.java
...ain/java/org/matrix/service/impl/MouldDocServiceImpl.java
+23
-37
没有找到文件。
kt-database/src/main/java/org/matrix/service/impl/InterfaceDocServiceImpl.java
浏览文件 @
cf7b1990
差异被折叠。
点击展开。
kt-database/src/main/java/org/matrix/service/impl/MouldDocServiceImpl.java
浏览文件 @
cf7b1990
...
...
@@ -18,8 +18,9 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.util.*
;
import
java.util.stream.Collectors
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.Optional
;
/**
* @author mruny
...
...
@@ -331,51 +332,36 @@ public class MouldDocServiceImpl extends ServiceImpl<MouldDocMapper, MouldDoc> i
int
ignoreNum
=
0
;
StatusCode
statusCode
=
new
StatusCode
();
statusCode
.
setSwaggerDataType
(
SwaggerDataType
.
MOULD_DOC
);
if
(
mouldVos
.
size
()
!=
0
)
{
if
(
!
CollectionUtils
.
isEmpty
(
mouldVos
)
)
{
List
<
MouldDoc
>
mouldDocs
=
getMouldDoc
(
mouldVos
);
//
当前项目中的所有
数据模型
List
<
MouldDoc
>
mouldDocList
=
Optional
.
ofNullable
(
mouldDocMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
MouldDoc
.
class
)
//
数据库中存在的当前项目中所有的
数据模型
List
<
MouldDoc
>
pastMouldDocs
=
Optional
.
ofNullable
(
mouldDocMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
MouldDoc
.
class
)
.
eq
(
MouldDoc:
:
getProjectId
,
projectId
))).
orElse
(
new
ArrayList
<>());
//按照名称分组
Map
<
String
,
List
<
MouldDoc
>>
collect
=
mouldDocList
.
stream
()
.
filter
(
mouldDoc
->
mouldDoc
!=
null
&&
mouldDoc
.
getObjName
()
!=
null
&&
!
""
.
equals
(
mouldDoc
.
getObjName
()))
.
collect
(
Collectors
.
groupingBy
(
MouldDoc:
:
getObjName
));
//存在的不同名称的数据模型(如果同名取第一个)
List
<
MouldDoc
>
list
=
new
ArrayList
<>();
//每组取第一个
if
(!
CollectionUtils
.
isEmpty
(
collect
))
{
Set
<
String
>
objNames
=
collect
.
keySet
();
if
(!
CollectionUtils
.
isEmpty
(
objNames
))
{
for
(
String
objName
:
objNames
)
{
MouldDoc
mouldDoc
=
collect
.
get
(
objName
).
get
(
0
);
list
.
add
(
mouldDoc
);
}
}
}
//如果存在当前分组就直接使用,如果不存在就创建在使用
Long
groupingId
=
getGroupingId
(
mouldId
,
projectId
);
//存数据,并且将数据库中同名的数据模型修改未未同步
for
(
MouldDoc
mouldDoc
:
mouldDocs
)
{
//将新的分组存入到数据中
mouldDoc
.
setMouldGroupingId
(
groupingId
);
mouldDoc
.
setProjectId
(
projectId
);
mouldDoc
.
setStatus
(
SyncStatus
.
INSERT
);
Integer
integer
=
Optional
.
of
(
mouldDocMapper
.
insert
(
mouldDoc
)).
orElseThrow
(()
->
new
GlobalException
(
"添加数据模型失败"
));
saveNum
=
saveNum
+
integer
;
//操作数据库中存在的数据模型
for
(
MouldDoc
doc
:
list
)
{
//如果同名,就将库存中的同名数据模型修改为未同步
if
(
mouldDoc
.
getObjName
().
equals
(
doc
.
getObjName
()))
{
list
.
remove
(
doc
);
doc
.
setStatus
(
SyncStatus
.
NO
);
mouldDocMapper
.
updateById
(
doc
);
break
;
List
<
MouldDoc
>
mouldDocList
=
Optional
.
ofNullable
(
mouldDocMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
MouldDoc
.
class
)
.
eq
(
MouldDoc:
:
getProjectId
,
projectId
)
.
eq
(
MouldDoc:
:
getObjName
,
mouldDoc
.
getObjName
()))).
orElse
(
new
ArrayList
<>());
if
(!
CollectionUtils
.
isEmpty
(
mouldDocList
))
{
for
(
MouldDoc
doc
:
mouldDocList
)
{
if
(
doc
.
toString
().
equals
(
mouldDoc
.
toString
()))
{
pastMouldDocs
.
remove
(
doc
);
doc
.
setStatus
(
SyncStatus
.
UPDATE
);
}
}
}
Integer
integer
=
Optional
.
of
(
mouldDocMapper
.
insert
(
mouldDoc
)).
orElseThrow
(()
->
new
GlobalException
(
"添加失败"
));
saveNum
=
saveNum
+
integer
;
}
//剩下的就是当前存在,但是导入的数据中不存在的
if
(
list
.
size
()
!=
0
)
{
for
(
MouldDoc
mouldDoc
:
list
)
{
mouldDoc
.
setStatus
(
SyncStatus
.
NO
);
mouldDocMapper
.
updateById
(
mouldDoc
);
if
(!
CollectionUtils
.
isEmpty
(
pastMouldDocs
))
{
for
(
MouldDoc
pastMouldDoc
:
pastMouldDocs
)
{
pastMouldDoc
.
setStatus
(
SyncStatus
.
NO
);
mouldDocMapper
.
updateById
(
pastMouldDoc
);
}
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论