Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
smart_gov_platform
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_gov_platform
Commits
05912012
Commit
05912012
authored
Mar 05, 2024
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化站点同步事项
parent
19a12e19
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
53 additions
and
23 deletions
+53
-23
base-manager/src/main/java/com/mortals/xhx/daemon/task/SyncMatterTaskImpl.java
.../java/com/mortals/xhx/daemon/task/SyncMatterTaskImpl.java
+0
-2
base-manager/src/main/java/com/mortals/xhx/module/matter/service/impl/MatterExtServiceImpl.java
.../xhx/module/matter/service/impl/MatterExtServiceImpl.java
+34
-14
base-manager/src/main/java/com/mortals/xhx/module/matter/service/impl/MatterServiceImpl.java
...als/xhx/module/matter/service/impl/MatterServiceImpl.java
+18
-7
base-manager/src/main/resources/sqlmap/module/matter/MatterMapperExt.xml
...c/main/resources/sqlmap/module/matter/MatterMapperExt.xml
+1
-0
No files found.
base-manager/src/main/java/com/mortals/xhx/daemon/task/SyncMatterTaskImpl.java
View file @
05912012
...
...
@@ -90,8 +90,6 @@ public class SyncMatterTaskImpl implements ITaskExcuteService {
//log.info("同步事项列表:" + JSON.toJSONString(rest));
if
(
rest
.
getCode
()
==
YesNoEnum
.
YES
.
getValue
())
{
//分页获取事项列表
List
<
MatterEntity
>
matterEntityList
=
matterService
.
find
(
new
MatterQuery
().
areaCode
(
siteEntity
.
getAreaCode
()).
source
(
SourceEnum
.
政务网
.
getValue
()));
log
.
info
(
"查询本地事项列表,size:{}"
,
matterEntityList
.
size
());
List
<
MatterEntity
>
unSyncDetailMatterList
=
matterEntityList
.
stream
()
...
...
base-manager/src/main/java/com/mortals/xhx/module/matter/service/impl/MatterExtServiceImpl.java
View file @
05912012
...
...
@@ -25,6 +25,7 @@ import com.mortals.xhx.module.site.service.SiteMatterService;
import
com.mortals.xhx.module.site.service.SiteService
;
import
com.mortals.xhx.module.site.service.SiteThemeMatterService
;
import
com.mortals.xhx.module.site.service.SiteThemeService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
...
...
@@ -46,6 +47,7 @@ import java.util.stream.Collectors;
* @date 2022-11-23
*/
@Service
(
"matterExtService"
)
@Slf4j
public
class
MatterExtServiceImpl
extends
AbstractCRUDServiceImpl
<
MatterExtDao
,
MatterExtEntity
,
Long
>
implements
MatterExtService
{
@Autowired
...
...
@@ -73,12 +75,9 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao,
*/
@Override
public
Rest
<
String
>
doMatterBySiteId
(
SiteEntity
siteEntity
,
Context
context
)
{
AreaEntity
areaEntity
=
areaService
.
getCache
(
siteEntity
.
getAreaCode
());
List
<
MatterEntity
>
govMatterList
=
new
ArrayList
<>();
List
<
DeptEntity
>
deptEntities
=
deptService
.
find
(
new
DeptQuery
().
siteId
(
siteEntity
.
getId
()).
source
(
SourceEnum
.
政务网
.
getValue
()));
for
(
DeptEntity
deptEntity
:
deptEntities
)
{
HashMap
<
String
,
String
>
params
=
new
HashMap
<>();
params
.
put
(
"areaCode"
,
areaEntity
.
getAreaCode
());
...
...
@@ -91,10 +90,35 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao,
govMatterList
.
addAll
(
deptMatterList
);
}
}
//当前本地区
域
事项全部事项
//当前本地区事项全部事项
List
<
MatterEntity
>
matterList
=
matterService
.
getDao
().
getMatterListByAreaCode
(
new
MatterQuery
().
areaCode
(
siteEntity
.
getAreaCode
()));
//全部编码
Set
<
String
>
matterNoSet
=
matterList
.
parallelStream
().
map
(
i
->
i
.
getMatterNo
()).
collect
(
Collectors
.
toSet
());
Set
<
String
>
matterNoSet
=
matterList
.
parallelStream
().
map
(
i
->
i
.
getMatterNo
()).
collect
(
Collectors
.
toSet
());
log
.
info
(
"计算差集"
);
List
<
MatterEntity
>
subList
=
this
.
subListSet
(
govMatterList
,
matterNoSet
);
subList
=
subList
.
parallelStream
().
distinct
().
collect
(
Collectors
.
toList
());
log
.
info
(
"抓取事项总数:{} 需要添加事项数量:{}"
,
govMatterList
.
size
(),
subList
.
size
());
//差集进行插入并更新详细数据
if
(!
ObjectUtils
.
isEmpty
(
subList
))
{
for
(
MatterEntity
matterEntity
:
subList
)
{
DeptEntity
deptCache
=
deptService
.
getExtCache
(
matterEntity
.
getDeptCode
());
matterEntity
.
setDeptName
(
deptCache
==
null
?
""
:
deptCache
.
getName
());
matterEntity
.
setCreateTime
(
new
Date
());
matterEntity
.
setMatterEdition
(
"0"
);
}
matterService
.
save
(
subList
,
context
);
}
matterList
.
parallelStream
().
forEach
(
matterEntity
->
{
Rest
<
String
>
rest
=
matterService
.
buildMatterDetail
(
matterEntity
,
null
);
if
(
rest
.
getCode
()==
YesNoEnum
.
YES
.
getValue
()){
matterEntity
.
setUpdateTime
(
new
Date
());
matterService
.
update
(
matterEntity
,
null
);
}
});
//查询站点事项相关
List
<
SiteEntity
>
siteEntities
=
siteService
.
find
(
new
SiteQuery
().
areaCode
(
siteEntity
.
getAreaCode
()));
...
...
@@ -114,13 +138,6 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao,
log
.
info
(
"同步站点事项到站点完成....."
);
}
log
.
info
(
"同步站点事项详细条数....."
+
matterList
.
size
());
matterList
.
parallelStream
().
forEach
(
matterEntity
->
{
matterService
.
buildMatterDetail
(
matterEntity
,
null
);
matterEntity
.
setUpdateTime
(
new
Date
());
matterService
.
update
(
matterEntity
,
null
);
});
return
Rest
.
ok
();
}
...
...
@@ -137,6 +154,10 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao,
}
public
List
<
MatterEntity
>
subListSet
(
List
<
MatterEntity
>
firstList
,
Set
<
String
>
secondSet
)
{
return
firstList
.
parallelStream
().
filter
(
item
->
!
secondSet
.
contains
(
item
.
getMatterNo
())).
collect
(
Collectors
.
toList
());
}
private
List
<
MatterEntity
>
getMatters
(
HashMap
<
String
,
String
>
params
,
Context
context
)
{
String
url
=
GlobalSysInfo
.
getParamValue
(
Constant
.
GOV_MATTER_PAGELIST_URL
,
"http://www.sczwfw.gov.cn/jiq/interface/item/tags"
);
...
...
@@ -146,7 +167,6 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao,
Integer
total
=
restStat
.
getData
().
getOrDefault
(
"total"
,
0
);
//获取事项全列表
Rest
<
List
<
MatterEntity
>>
matterAllRest
=
this
.
getMatterAllListByGOV
(
params
,
pageNum
,
context
);
if
(
matterAllRest
.
getCode
()
==
YesNoEnum
.
YES
.
getValue
())
{
return
matterAllRest
.
getData
();
}
...
...
base-manager/src/main/java/com/mortals/xhx/module/matter/service/impl/MatterServiceImpl.java
View file @
05912012
...
...
@@ -1031,16 +1031,27 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
Setting
baseInfoSetting
=
interceptorConfig
.
getBaseInfoSetting
();
Setting
sqclInfoSetting
=
interceptorConfig
.
getSqclInfoSetting
();
//更新部门信息
DeptEntity
extCache
=
deptService
.
getExtCache
(
matterEntity
.
getDeptCode
());
matterEntity
.
setDeptName
(
extCache
==
null
?
""
:
extCache
.
getName
());
/* if(!ObjectUtils.isEmpty(matterEntity.getDeptCode())&&ObjectUtils.isEmpty(matterEntity.getDeptName())){
DeptEntity extCache = deptService.getExtCache(matterEntity.getDeptCode());
matterEntity.setDeptName(extCache==null?"":extCache.getName());
}*/
//根据本地与远端事项版本觉得是否更新或者新增
Integer
matterEditionLocal
=
DataUtil
.
converStr2Int
(
matterEntity
.
getMatterEdition
(),
0
);
Map
<
String
,
String
>
baseInfoMap
=
MatterDetailHtmlParseUtil
.
getbaseInfoMapByHtml
(
dom
);
Integer
matterEditionRemote
=
DataUtil
.
converStr2Int
(
baseInfoMap
.
getOrDefault
(
"事项版本"
,
"0"
),
0
);
if
(
matterEditionLocal
>=
matterEditionRemote
){
return
Rest
.
fail
(
"本地事项版本大于等于远端,不需要更新!"
);
}
//更新部门信息
DeptEntity
extCache
=
deptService
.
getExtCache
(
matterEntity
.
getDeptCode
());
matterEntity
.
setDeptName
(
extCache
==
null
?
""
:
extCache
.
getName
());
//构建基础信息参数
savebaseInfo
(
matterEntity
,
dom
,
baseInfoSetting
);
savebaseInfo
(
matterEntity
,
baseInfoMap
,
baseInfoSetting
);
//更新材料属性
saveDatumInfo
(
matterEntity
,
context
,
dom
,
sqclInfoSetting
);
...
...
@@ -1169,8 +1180,8 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
matterChargesService
.
save
(
matterChargesEntity
);
}
private
void
savebaseInfo
(
MatterEntity
matterEntity
,
Document
dom
,
Setting
baseInfoSetting
)
{
Map
<
String
,
String
>
baseInfoMap
=
MatterDetailHtmlParseUtil
.
getbaseInfoMapByHtml
(
dom
);
private
void
savebaseInfo
(
MatterEntity
matterEntity
,
Map
<
String
,
String
>
baseInfoMap
,
Setting
baseInfoSetting
)
{
//
Map<String, String> baseInfoMap = MatterDetailHtmlParseUtil.getbaseInfoMapByHtml(dom);
List
<
MatterExtEntity
>
matterExtEntities
=
new
ArrayList
<>();
long
sortN
=
1
;
for
(
Map
.
Entry
<
String
,
String
>
m
:
baseInfoMap
.
entrySet
())
{
...
...
@@ -1203,7 +1214,7 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
if
(!
ObjectUtils
.
isEmpty
(
matterExtEntities
))
{
//先删除后添加
matter
Flowlimi
tService
.
deleteByMatterId
(
matterEntity
.
getId
(),
null
);
matter
Ex
tService
.
deleteByMatterId
(
matterEntity
.
getId
(),
null
);
matterExtService
.
save
(
matterExtEntities
,
null
);
}
...
...
base-manager/src/main/resources/sqlmap/module/matter/MatterMapperExt.xml
View file @
05912012
...
...
@@ -73,6 +73,7 @@
a.deptCode,
a.source,
a.url,
a.matterEdition,
a.eventTypeShow
FROM
mortals_sys_matter AS a
...
...
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