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
3232c2c6
Commit
3232c2c6
authored
Mar 06, 2024
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
优化站点同步事项
parent
7b3c26cb
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
75 additions
and
9 deletions
+75
-9
base-manager/src/main/java/com/mortals/xhx/module/matter/service/impl/MatterExtServiceImpl.java
.../xhx/module/matter/service/impl/MatterExtServiceImpl.java
+2
-1
base-manager/src/main/java/com/mortals/xhx/module/matter/service/impl/MatterServiceImpl.java
...als/xhx/module/matter/service/impl/MatterServiceImpl.java
+7
-5
base-manager/src/main/java/com/mortals/xhx/module/site/service/SiteMatterService.java
...om/mortals/xhx/module/site/service/SiteMatterService.java
+5
-0
base-manager/src/main/java/com/mortals/xhx/module/site/service/impl/SiteMatterServiceImpl.java
...s/xhx/module/site/service/impl/SiteMatterServiceImpl.java
+61
-3
No files found.
base-manager/src/main/java/com/mortals/xhx/module/matter/service/impl/MatterExtServiceImpl.java
View file @
3232c2c6
...
@@ -99,7 +99,7 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao,
...
@@ -99,7 +99,7 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao,
subList
=
subList
.
parallelStream
().
distinct
().
collect
(
Collectors
.
toList
());
subList
=
subList
.
parallelStream
().
distinct
().
collect
(
Collectors
.
toList
());
log
.
info
(
"抓取事项总数:{} 需要添加事项数量:{}"
,
govMatterList
.
size
(),
subList
.
size
());
log
.
info
(
"抓取事项总数:{} 需要添加事项数量:{}"
,
govMatterList
.
size
(),
subList
.
size
());
//差集进行插入
并更新详细数据
//差集进行插入
if
(!
ObjectUtils
.
isEmpty
(
subList
))
{
if
(!
ObjectUtils
.
isEmpty
(
subList
))
{
for
(
MatterEntity
matterEntity
:
subList
)
{
for
(
MatterEntity
matterEntity
:
subList
)
{
DeptEntity
deptCache
=
deptService
.
getExtCache
(
matterEntity
.
getDeptCode
());
DeptEntity
deptCache
=
deptService
.
getExtCache
(
matterEntity
.
getDeptCode
());
...
@@ -108,6 +108,7 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao,
...
@@ -108,6 +108,7 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao,
matterEntity
.
setMatterEdition
(
"0"
);
matterEntity
.
setMatterEdition
(
"0"
);
}
}
matterService
.
save
(
subList
,
context
);
matterService
.
save
(
subList
,
context
);
matterList
=
matterService
.
getDao
().
getMatterListByAreaCode
(
new
MatterQuery
().
areaCode
(
siteEntity
.
getAreaCode
()));
}
}
for
(
MatterEntity
matterEntity
:
matterList
)
{
for
(
MatterEntity
matterEntity
:
matterList
)
{
...
...
base-manager/src/main/java/com/mortals/xhx/module/matter/service/impl/MatterServiceImpl.java
View file @
3232c2c6
...
@@ -1022,6 +1022,10 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
...
@@ -1022,6 +1022,10 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
//根据事项url 获取事项详细信息,构建相关详细信息
//根据事项url 获取事项详细信息,构建相关详细信息
String
html
=
null
;
String
html
=
null
;
try
{
try
{
if
(
ObjectUtils
.
isEmpty
(
matterEntity
.
getUrl
()))
{
return
Rest
.
fail
(
"事项url不能为空!"
);
}
Document
dom
=
Jsoup
.
connect
(
matterEntity
.
getUrl
()).
timeout
(
30
*
1000
).
get
();
Document
dom
=
Jsoup
.
connect
(
matterEntity
.
getUrl
()).
timeout
(
30
*
1000
).
get
();
// html = Jsoup.connect(matterEntity.getUrl()).get().body().html();
// html = Jsoup.connect(matterEntity.getUrl()).get().body().html();
// html = HttpUtil.get(matterEntity.getUrl());
// html = HttpUtil.get(matterEntity.getUrl());
...
@@ -1031,19 +1035,17 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
...
@@ -1031,19 +1035,17 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
Setting
baseInfoSetting
=
interceptorConfig
.
getBaseInfoSetting
();
Setting
baseInfoSetting
=
interceptorConfig
.
getBaseInfoSetting
();
Setting
sqclInfoSetting
=
interceptorConfig
.
getSqclInfoSetting
();
Setting
sqclInfoSetting
=
interceptorConfig
.
getSqclInfoSetting
();
/* if(!ObjectUtils.isEmpty(matterEntity.getDeptCode())&&ObjectUtils.isEmpty(matterEntity.getDeptName())){
/* if(!ObjectUtils.isEmpty(matterEntity.getDeptCode())&&ObjectUtils.isEmpty(matterEntity.getDeptName())){
DeptEntity extCache = deptService.getExtCache(matterEntity.getDeptCode());
DeptEntity extCache = deptService.getExtCache(matterEntity.getDeptCode());
matterEntity.setDeptName(extCache==null?"":extCache.getName());
matterEntity.setDeptName(extCache==null?"":extCache.getName());
}*/
}*/
//根据本地与远端事项版本觉得是否更新或者新增
//根据本地与远端事项版本觉得是否更新或者新增
Integer
matterEditionLocal
=
DataUtil
.
converStr2Int
(
matterEntity
.
getMatterEdition
(),
0
);
Integer
matterEditionLocal
=
DataUtil
.
converStr2Int
(
matterEntity
.
getMatterEdition
(),
0
);
Map
<
String
,
String
>
baseInfoMap
=
MatterDetailHtmlParseUtil
.
getbaseInfoMapByHtml
(
dom
);
Map
<
String
,
String
>
baseInfoMap
=
MatterDetailHtmlParseUtil
.
getbaseInfoMapByHtml
(
dom
);
Integer
matterEditionRemote
=
DataUtil
.
converStr2Int
(
baseInfoMap
.
getOrDefault
(
"事项版本"
,
"0"
),
0
);
Integer
matterEditionRemote
=
DataUtil
.
converStr2Int
(
baseInfoMap
.
getOrDefault
(
"事项版本"
,
"0"
),
0
);
if
(
matterEditionLocal
>=
matterEditionRemote
)
{
if
(
matterEditionLocal
>=
matterEditionRemote
)
{
return
Rest
.
fail
(
"本地事项版本大于等于远端,不需要更新!"
);
return
Rest
.
fail
(
"本地事项版本大于等于远端,不需要更新!"
);
}
}
//更新部门信息
//更新部门信息
...
...
base-manager/src/main/java/com/mortals/xhx/module/site/service/SiteMatterService.java
View file @
3232c2c6
package
com.mortals.xhx.module.site.service
;
package
com.mortals.xhx.module.site.service
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.xhx.module.site.dao.SiteMatterDao
;
import
com.mortals.xhx.module.site.dao.SiteMatterDao
;
import
com.mortals.xhx.module.site.model.SiteEntity
;
import
com.mortals.xhx.module.site.model.SiteMatterEntity
;
import
com.mortals.xhx.module.site.model.SiteMatterEntity
;
/**
/**
...
@@ -17,5 +19,8 @@ public interface SiteMatterService extends ICRUDService<SiteMatterEntity, Long>
...
@@ -17,5 +19,8 @@ public interface SiteMatterService extends ICRUDService<SiteMatterEntity, Long>
SiteMatterDao
getDao
();
SiteMatterDao
getDao
();
Rest
<
String
>
doSyncSiteMatter
(
SiteEntity
siteEntity
,
Context
context
);
void
deleteBysiteIdAndSource
(
Long
siteId
,
Integer
source
,
Context
context
);
void
deleteBysiteIdAndSource
(
Long
siteId
,
Integer
source
,
Context
context
);
}
}
\ No newline at end of file
base-manager/src/main/java/com/mortals/xhx/module/site/service/impl/SiteMatterServiceImpl.java
View file @
3232c2c6
package
com.mortals.xhx.module.site.service.impl
;
package
com.mortals.xhx.module.site.service.impl
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.xhx.common.code.SourceEnum
;
import
com.mortals.xhx.module.matter.model.MatterEntity
;
import
com.mortals.xhx.module.matter.model.MatterEntity
;
import
com.mortals.xhx.module.matter.model.MatterQuery
;
import
com.mortals.xhx.module.matter.model.MatterQuery
;
import
com.mortals.xhx.module.matter.service.MatterService
;
import
com.mortals.xhx.module.matter.service.MatterService
;
import
com.mortals.xhx.module.site.model.
SiteThemeMatterEntity
;
import
com.mortals.xhx.module.site.model.
*
;
import
com.mortals.xhx.module.site.
model.SiteThemeMatterQuery
;
import
com.mortals.xhx.module.site.
service.SiteService
;
import
com.mortals.xhx.module.site.service.SiteThemeMatterService
;
import
com.mortals.xhx.module.site.service.SiteThemeMatterService
;
import
com.mortals.xhx.module.site.service.SiteThemeService
;
import
com.mortals.xhx.module.site.service.SiteThemeService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.xhx.module.site.dao.SiteMatterDao
;
import
com.mortals.xhx.module.site.dao.SiteMatterDao
;
import
com.mortals.xhx.module.site.model.SiteMatterEntity
;
import
com.mortals.xhx.module.site.service.SiteMatterService
;
import
com.mortals.xhx.module.site.service.SiteMatterService
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.ObjectUtils
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.Set
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -37,6 +39,8 @@ public class SiteMatterServiceImpl extends AbstractCRUDServiceImpl<SiteMatterDao
...
@@ -37,6 +39,8 @@ public class SiteMatterServiceImpl extends AbstractCRUDServiceImpl<SiteMatterDao
private
MatterService
matterService
;
private
MatterService
matterService
;
@Autowired
@Autowired
private
SiteThemeMatterService
siteThemeMatterService
;
private
SiteThemeMatterService
siteThemeMatterService
;
@Autowired
private
SiteService
siteService
;
@Override
@Override
protected
void
findAfter
(
SiteMatterEntity
params
,
PageInfo
pageInfo
,
Context
context
,
List
<
SiteMatterEntity
>
list
)
throws
AppException
{
protected
void
findAfter
(
SiteMatterEntity
params
,
PageInfo
pageInfo
,
Context
context
,
List
<
SiteMatterEntity
>
list
)
throws
AppException
{
...
@@ -109,4 +113,58 @@ public class SiteMatterServiceImpl extends AbstractCRUDServiceImpl<SiteMatterDao
...
@@ -109,4 +113,58 @@ public class SiteMatterServiceImpl extends AbstractCRUDServiceImpl<SiteMatterDao
condition
.
put
(
"source"
,
source
);
condition
.
put
(
"source"
,
source
);
this
.
dao
.
delete
(
condition
);
this
.
dao
.
delete
(
condition
);
}
}
/**
* @param siteEntity
* @param context
* @return
*/
@Override
public
Rest
<
String
>
doSyncSiteMatter
(
SiteEntity
siteEntity
,
Context
context
)
{
List
<
MatterEntity
>
matterList
=
matterService
.
getDao
().
getMatterListByAreaCode
(
new
MatterQuery
().
areaCode
(
siteEntity
.
getAreaCode
()));
//查询站点事项相关
SiteEntity
site
=
siteService
.
selectOne
(
new
SiteQuery
().
areaCode
(
siteEntity
.
getAreaCode
()));
if
(!
ObjectUtils
.
isEmpty
(
site
))
{
log
.
info
(
"同步站点事项到站点....."
);
SiteMatterQuery
siteMatterQuery
=
new
SiteMatterQuery
();
siteMatterQuery
.
setSiteId
(
site
.
getId
());
List
<
SiteMatterEntity
>
localList
=
this
.
getDao
().
getList
(
siteMatterQuery
);
//找到差集 然后添加
Set
<
Long
>
existMatterIdSet
=
localList
.
parallelStream
().
map
(
i
->
i
.
getMatterId
()).
collect
(
Collectors
.
toSet
());
// matterList.parallelStream().
//判断是否已经有站点事项,如果有则不添加
Boolean
bool
=
checkSiteMatter
(
site
);
if
(!
bool
)
{
//添加站点事项 批量添加
List
<
SiteMatterEntity
>
siteMatterList
=
matterList
.
stream
().
map
(
item
->
{
return
matterService
.
switchMatterToSiteMatter
(
item
,
site
,
null
).
getData
();
}).
filter
(
f
->
f
!=
null
).
collect
(
Collectors
.
toList
());
this
.
save
(
siteMatterList
);
}
log
.
info
(
"同步站点事项到站点完成....."
);
}
return
Rest
.
ok
();
}
private
Boolean
checkSiteMatter
(
SiteEntity
site
)
{
SiteMatterQuery
siteMatterQuery
=
new
SiteMatterQuery
();
siteMatterQuery
.
setSiteId
(
site
.
getId
());
siteMatterQuery
.
setSource
(
SourceEnum
.
政务网
.
getValue
());
int
count
=
this
.
count
(
siteMatterQuery
,
null
);
if
(
count
>
0
)
{
return
true
;
}
return
false
;
}
}
}
\ No newline at end of file
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