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
20bfcbd5
Commit
20bfcbd5
authored
Feb 28, 2024
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加查询通用字典接口
parent
2e0a8ac7
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
236 additions
and
19 deletions
+236
-19
base-manager/src/main/java/com/mortals/xhx/base/system/param/web/ParamController.java
...om/mortals/xhx/base/system/param/web/ParamController.java
+22
-2
base-manager/src/main/java/com/mortals/xhx/common/utils/AreaMatchCodeUtil.java
.../java/com/mortals/xhx/common/utils/AreaMatchCodeUtil.java
+27
-3
base-manager/src/main/java/com/mortals/xhx/common/utils/MatterDetailHtmlParseUtil.java
...m/mortals/xhx/common/utils/MatterDetailHtmlParseUtil.java
+1
-1
base-manager/src/main/java/com/mortals/xhx/daemon/task/SyncMatterTaskImpl.java
.../java/com/mortals/xhx/daemon/task/SyncMatterTaskImpl.java
+179
-0
base-manager/src/main/java/com/mortals/xhx/module/dept/service/impl/DeptServiceImpl.java
...mortals/xhx/module/dept/service/impl/DeptServiceImpl.java
+0
-1
base-manager/src/main/java/com/mortals/xhx/module/matter/service/impl/MatterServiceImpl.java
...als/xhx/module/matter/service/impl/MatterServiceImpl.java
+0
-2
base-manager/src/main/java/com/mortals/xhx/module/site/service/impl/SiteServiceImpl.java
...mortals/xhx/module/site/service/impl/SiteServiceImpl.java
+2
-1
base-manager/src/test/java/com/mortals/httpclient/base/BaseAreaController.http
.../java/com/mortals/httpclient/base/BaseAreaController.http
+1
-1
base-manager/src/test/java/com/mortals/httpclient/matter/MatterController.http
.../java/com/mortals/httpclient/matter/MatterController.http
+2
-6
base-manager/src/test/java/com/mortals/httpclient/site/SiteController.http
...test/java/com/mortals/httpclient/site/SiteController.http
+2
-2
No files found.
base-manager/src/main/java/com/mortals/xhx/base/system/param/web/ParamController.java
View file @
20bfcbd5
...
...
@@ -49,8 +49,7 @@ public class ParamController extends BaseCRUDJsonBodyMappingController<ParamServ
}
@RequestMapping
(
method
=
{
RequestMethod
.
GET
,
RequestMethod
.
POST
},
value
=
"key"
)
@RequestMapping
(
method
=
{
RequestMethod
.
GET
,
RequestMethod
.
POST
},
value
=
"key"
)
@UnAuth
public
String
getValueByKey
(
@RequestParam
(
name
=
"key"
)
String
key
)
{
JSONObject
jsonObject
=
new
JSONObject
();
...
...
@@ -70,6 +69,27 @@ public class ParamController extends BaseCRUDJsonBodyMappingController<ParamServ
}
@RequestMapping
(
method
=
{
RequestMethod
.
GET
,
RequestMethod
.
POST
},
value
=
"dict"
)
@UnAuth
public
String
getDict
(
@RequestParam
(
name
=
"first"
)
String
first
,
@RequestParam
(
name
=
"second"
)
String
second
)
{
JSONObject
jsonObject
=
new
JSONObject
();
String
busiDesc
=
"通过key查询字典参数值"
+
this
.
getModuleDesc
();
try
{
Map
<
String
,
String
>
dict
=
this
.
service
.
getParamBySecondOrganize
(
first
,
second
);
// String value = this.service.getValueByKey(key);
jsonObject
.
put
(
KEY_RESULT_DATA
,
dict
);
recordSysLog
(
request
,
busiDesc
+
" 【成功】"
);
jsonObject
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_SUCCESS
);
jsonObject
.
put
(
KEY_RESULT_MSG
,
busiDesc
+
"成功!"
);
}
catch
(
Exception
e
)
{
log
.
error
(
"获取异常"
,
e
);
jsonObject
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_FAILURE
);
jsonObject
.
put
(
KEY_RESULT_MSG
,
super
.
convertException
(
e
));
}
return
jsonObject
.
toJSONString
();
}
private
Map
<
String
,
Object
>
getPageDisplayType
()
{
PageDisplayType
[]
pageDisplayTypes
=
PageDisplayType
.
values
();
Map
<
String
,
Object
>
result
=
new
HashMap
<>(
pageDisplayTypes
.
length
);
...
...
base-manager/src/main/java/com/mortals/xhx/common/utils/AreaMatchCodeUtil.java
View file @
20bfcbd5
...
...
@@ -2,17 +2,35 @@ package com.mortals.xhx.common.utils;
import
cn.hutool.core.util.StrUtil
;
import
com.mortals.xhx.common.code.AreaLevelEnum
;
import
com.mortals.xhx.common.code.SourceType
;
public
class
AreaMatchCodeUtil
{
/**
* 遂宁市 510900000000
* 蓬溪县 510921000000
* 普安街 510921174000
*
* @param matchCode
* @param areaLevel
* @return
*/
public
static
String
getMatchCode
(
String
matchCode
,
Integer
areaLevel
)
{
if
(
AreaLevelEnum
.
地市州
.
getValue
()
==
areaLevel
)
{
return
StrUtil
.
padAfter
(
matchCode
,
4
,
"0"
);
matchCode
=
StrUtil
.
sub
(
matchCode
,
0
,
3
);
return
StrUtil
.
padAfter
(
matchCode
,
3
,
"0"
);
}
else
if
(
AreaLevelEnum
.
区县
.
getValue
()
==
areaLevel
)
{
return
StrUtil
.
padAfter
(
matchCode
,
7
,
"0"
);
//510921174000
matchCode
=
StrUtil
.
sub
(
matchCode
,
0
,
6
);
return
StrUtil
.
padAfter
(
matchCode
,
6
,
"0"
);
}
else
if
(
AreaLevelEnum
.
街道
.
getValue
()
==
areaLevel
)
{
return
StrUtil
.
padAfter
(
matchCode
,
10
,
"0"
);
//510921174000
//510921100249
matchCode
=
StrUtil
.
sub
(
matchCode
,
0
,
9
);
return
StrUtil
.
padAfter
(
matchCode
,
9
,
"0"
);
}
else
if
(
AreaLevelEnum
.
社区
.
getValue
()
==
areaLevel
)
{
return
StrUtil
.
padAfter
(
matchCode
,
12
,
"0"
);
}
else
{
...
...
@@ -20,4 +38,10 @@ public class AreaMatchCodeUtil {
}
}
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
getMatchCode
(
"510921000000"
,
3
));
System
.
out
.
println
(
getMatchCode
(
"510921174000"
,
4
));
// System.out.println(getMatchCode("510921100249", 5));
}
}
base-manager/src/main/java/com/mortals/xhx/common/utils/MatterDetailHtmlParseUtil.java
View file @
20bfcbd5
...
...
@@ -505,7 +505,7 @@ public class MatterDetailHtmlParseUtil {
// String url = "http://www.sczwfw.gov.cn/jiq/front/transition/ywTransToDetail?areaCode=511500000000&itemCode=511A0151400000-511500000000-000-511501-7-1-00&taskType=1&deptCode=511501-7";
// String url = "http://www.sczwfw.gov.cn/jiq/front/transition/ywTransToDetail?areaCode=511500000000&itemCode=511A0000400004-511500000000-000-1151120000870212XU-1-00&taskType=1&deptCode=3922757070285361152";
String
url
=
"http
s
://www.sczwfw.gov.cn/jiq/front/transition/ywTransToDetail?areaCode=511500000000&itemCode=512036008003-511500000000-000-11511200MB1503849K-1-00&taskType=20&deptCode=3907787168696946688"
;
String
url
=
"http://www.sczwfw.gov.cn/jiq/front/transition/ywTransToDetail?areaCode=511500000000&itemCode=512036008003-511500000000-000-11511200MB1503849K-1-00&taskType=20&deptCode=3907787168696946688"
;
Document
dom
=
MatterDetailHtmlParseUtil
.
getDomByHtml
(
url
);
Map
<
String
,
String
>
baseInfoMap
=
MatterDetailHtmlParseUtil
.
getbaseInfoMapByHtml
(
dom
);
...
...
base-manager/src/main/java/com/mortals/xhx/daemon/task/SyncMatterTaskImpl.java
0 → 100644
View file @
20bfcbd5
package
com.mortals.xhx.daemon.task
;
import
cn.hutool.core.collection.ListUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.service.ICacheService
;
import
com.mortals.framework.service.ITask
;
import
com.mortals.framework.service.ITaskExcuteService
;
import
com.mortals.xhx.common.code.DxTypeEnum
;
import
com.mortals.xhx.common.code.SourceEnum
;
import
com.mortals.xhx.common.code.YesNoEnum
;
import
com.mortals.xhx.common.keys.RedisCacheKeys
;
import
com.mortals.xhx.module.area.model.AreaEntity
;
import
com.mortals.xhx.module.area.service.AreaService
;
import
com.mortals.xhx.module.dept.service.DeptService
;
import
com.mortals.xhx.module.matter.model.MatterEntity
;
import
com.mortals.xhx.module.matter.model.MatterQuery
;
import
com.mortals.xhx.module.matter.service.MatterService
;
import
com.mortals.xhx.module.site.model.SiteEntity
;
import
com.mortals.xhx.module.site.model.SiteMatterEntity
;
import
com.mortals.xhx.module.site.model.SiteMatterQuery
;
import
com.mortals.xhx.module.site.model.SiteQuery
;
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
org.springframework.util.ObjectUtils
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* 同步全部站点事项
*
* @author: zxfei
* @date: 2024/2/27 15:34
*/
@Slf4j
@Service
(
"SyncMatterTask"
)
public
class
SyncMatterTaskImpl
implements
ITaskExcuteService
{
@Autowired
private
SiteService
siteService
;
private
MatterService
matterService
;
private
AreaService
areaService
;
private
DeptService
deptService
;
private
SiteMatterService
siteMatterService
;
private
SiteThemeService
siteThemeService
;
private
SiteThemeMatterService
siteThemeMatterService
;
private
SiteEntity
siteEntity
;
private
Context
context
;
private
ICacheService
cacheService
;
@Override
public
void
excuteTask
(
ITask
task
)
throws
AppException
{
log
.
info
(
"开始同步事项!"
);
List
<
SiteEntity
>
siteEntities
=
siteService
.
find
(
new
SiteEntity
());
for
(
SiteEntity
siteEntity
:
siteEntities
)
{
syncMatter
(
siteEntity
);
}
// syncDevice();
log
.
info
(
"结束同步事项!"
);
}
private
void
syncMatter
(
SiteEntity
siteEntity
)
throws
AppException
{
AreaEntity
areaEntity
=
areaService
.
getCache
(
siteEntity
.
getAreaCode
());
log
.
info
(
"同步站点事项开始....."
);
Rest
<
String
>
deptRest
=
deptService
.
syncDeptBySiteId
(
siteEntity
,
context
);
log
.
info
(
"同步站点部门结果:"
+
JSON
.
toJSONString
(
deptRest
));
Rest
<
String
>
rest
=
siteService
.
syncMatterBySiteId
(
siteEntity
,
context
);
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
()
// .filter(f -> f.getHaveGetMatterInfo().equalsIgnoreCase("false"))
.
collect
(
Collectors
.
toList
());
//查询站点事项相关
List
<
SiteEntity
>
siteEntities
=
siteService
.
find
(
new
SiteQuery
().
areaCode
(
siteEntity
.
getAreaCode
()));
//删除站点与政务事项相关项
/* for (SiteEntity site : siteEntities) {
siteMatterService.deleteBysiteIdAndSource(site.getId(), SourceEnum.政务网.getValue(), context);
}*/
//重新添加
if
(!
ObjectUtils
.
isEmpty
(
siteEntities
))
{
log
.
info
(
"同步站点事项到站点....."
);
for
(
SiteEntity
site
:
siteEntities
)
{
//判断是否已经有站点事项,如果有则不添加
SiteMatterQuery
siteMatterQuery
=
new
SiteMatterQuery
();
siteMatterQuery
.
setSiteId
(
site
.
getId
());
siteMatterQuery
.
setSource
(
SourceEnum
.
政务网
.
getValue
());
int
count
=
siteMatterService
.
count
(
siteMatterQuery
,
null
);
if
(
count
>
0
)
{
continue
;
}
List
<
SiteMatterEntity
>
siteMatterList
=
matterEntityList
.
stream
().
map
(
item
->
{
return
matterService
.
switchMatterToSiteMatter
(
item
,
site
,
context
).
getData
();
}).
filter
(
f
->
f
!=
null
).
collect
(
Collectors
.
toList
());
List
<
List
<
SiteMatterEntity
>>
partition
=
ListUtil
.
partition
(
siteMatterList
,
100
);
for
(
List
<
SiteMatterEntity
>
rests
:
partition
)
{
siteMatterService
.
save
(
rests
);
}
}
log
.
info
(
"同步站点事项到站点完成....."
);
}
log
.
info
(
"同步站点事项详细条数....."
+
unSyncDetailMatterList
.
size
());
unSyncDetailMatterList
.
parallelStream
().
forEach
(
matterEntity
->
{
matterService
.
buildMatterDetail
(
matterEntity
,
context
);
matterEntity
.
setUpdateTime
(
new
Date
());
matterService
.
update
(
matterEntity
,
context
);
});
}
log
.
info
(
"同步站点主题事项开始....."
);
//判断站点区域乡镇情况
if
(
areaEntity
.
getAreaLevel
()
<=
3
)
{
//省,市,区
Rest
<
String
>
themeRest
=
siteThemeService
.
syncThemeBySiteId
(
siteEntity
,
context
);
log
.
info
(
"同步站点主题:"
+
JSON
.
toJSONString
(
themeRest
));
log
.
info
(
"同步站点个人主题事项开始....."
);
siteThemeMatterService
.
deleteGovBySiteId
(
siteEntity
.
getId
(),
context
);
Rest
<
String
>
grRest
=
siteThemeMatterService
.
syncThemeMatterBySiteId
(
siteEntity
.
getId
(),
"2"
,
context
);
log
.
info
(
"同步站点主题个人事项:"
+
JSON
.
toJSONString
(
grRest
));
log
.
info
(
"同步站点法人主题事项开始....."
);
Rest
<
String
>
frRest
=
siteThemeMatterService
.
syncThemeMatterBySiteId
(
siteEntity
.
getId
(),
"3"
,
context
);
log
.
info
(
"同步站点主题法人事项:"
+
JSON
.
toJSONString
(
frRest
));
}
else
if
(
areaEntity
.
getAreaLevel
()
>
3
)
{
//街道,镇,乡
Rest
<
String
>
themeTownRest
=
siteThemeService
.
syncTownThemeBySiteId
(
siteEntity
,
context
);
log
.
info
(
"同步乡镇站点主题:"
+
JSON
.
toJSONString
(
themeTownRest
));
if
(
themeTownRest
.
getCode
()
==
YesNoEnum
.
YES
.
getValue
())
{
siteThemeMatterService
.
deleteGovBySiteId
(
siteEntity
.
getId
(),
context
);
String
dxType
=
DxTypeEnum
.
街道镇服务
.
getValue
();
if
(
areaEntity
.
getAreaLevel
()
==
5
)
{
dxType
=
DxTypeEnum
.
乡村服务
.
getValue
();
}
Rest
<
String
>
townThemeRest
=
siteThemeMatterService
.
syncTownThemeMatterBySiteId
(
siteEntity
,
dxType
,
context
);
log
.
info
(
"同步站点乡镇主题事项:"
+
JSON
.
toJSONString
(
townThemeRest
));
}
else
{
try
{
cacheService
.
del
(
RedisCacheKeys
.
getSyncMatterLockKey
()
+
siteEntity
.
getAreaCode
(),
siteEntity
.
getAreaCode
());
log
.
info
(
"同步站点乡镇主题事项失败:"
+
themeTownRest
.
getData
());
}
catch
(
Exception
e
){
log
.
error
(
"同步站点乡镇主题事项失败"
,
e
);
}
}
}
log
.
info
(
"同步站点事项结束....."
);
}
@Override
public
void
stopTask
(
ITask
task
)
throws
AppException
{
}
}
base-manager/src/main/java/com/mortals/xhx/module/dept/service/impl/DeptServiceImpl.java
View file @
20bfcbd5
...
...
@@ -136,7 +136,6 @@ public class DeptServiceImpl extends AbstractCRUDCacheServiceImpl<DeptDao, DeptE
String
deptCode
=
item
.
getKey
();
String
deptName
=
item
.
getValue
();
DeptEntity
deptEntity
=
deptService
.
getExtCache
(
deptCode
);
// DeptEntity deptEntity = deptService.selectOne(new DeptQuery().siteId(siteId).deptNumber(deptCode), context);
if
(
ObjectUtils
.
isEmpty
(
deptEntity
))
{
deptEntity
=
new
DeptEntity
();
deptEntity
.
initAttrValue
();
...
...
base-manager/src/main/java/com/mortals/xhx/module/matter/service/impl/MatterServiceImpl.java
View file @
20bfcbd5
...
...
@@ -1202,8 +1202,6 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
if
(!
ObjectUtils
.
isEmpty
(
matterExtEntities
))
{
//先删除后添加
matterExtService
.
save
(
matterExtEntities
,
null
);
}
...
...
base-manager/src/main/java/com/mortals/xhx/module/site/service/impl/SiteServiceImpl.java
View file @
20bfcbd5
...
...
@@ -22,6 +22,7 @@ import com.mortals.xhx.base.system.user.model.UserEntity;
import
com.mortals.xhx.base.system.user.service.UserService
;
import
com.mortals.xhx.common.code.AreaLevelDxTypeEnum
;
import
com.mortals.xhx.common.code.AreaLevelEnum
;
import
com.mortals.xhx.common.code.SourceEnum
;
import
com.mortals.xhx.common.code.YesNoEnum
;
import
com.mortals.xhx.common.key.Constant
;
import
com.mortals.xhx.common.pdu.RespData
;
...
...
@@ -702,7 +703,7 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
//String dxType = "3";
log
.
info
(
"抓取事项开始"
);
List
<
MatterEntity
>
govMatterList
=
new
ArrayList
<>();
List
<
DeptEntity
>
deptEntities
=
deptService
.
find
(
new
DeptQuery
().
siteId
(
siteEntity
.
getId
()).
source
(
0
));
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
());
...
...
base-manager/src/test/java/com/mortals/httpclient/base/BaseAreaController.http
View file @
20bfcbd5
...
...
@@ -54,7 +54,7 @@ POST {{baseUrl}}/base/area/genSubAreaByAreaName
Content-Type: application/json
{
"areaCode": "51
3232
000000"
"areaCode": "51
0921
000000"
}
...
...
base-manager/src/test/java/com/mortals/httpclient/matter/MatterController.http
View file @
20bfcbd5
...
...
@@ -20,12 +20,8 @@ POST {{baseUrl}}/matter/list
Content-Type: application/json
{
"siteId": 1,
"matterName": "%%",
"page": 1,
"size": 10,
"deptCode":"zyl",
"source": ""
"siteId": 1
}
###基础事项列表
...
...
base-manager/src/test/java/com/mortals/httpclient/site/SiteController.http
View file @
20bfcbd5
...
...
@@ -115,7 +115,7 @@ POST {{baseUrl}}/site/syncGovMatterBySiteId
Content-Type: application/json
{
"id":2
4
"id":2
2
}
...
...
@@ -124,7 +124,7 @@ POST {{baseUrl}}/site/getFlatSitesBySiteId
Content-Type: application/json
{
"id":
1
"id":
22
}
...
...
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