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
e1a44ce5
Commit
e1a44ce5
authored
Aug 06, 2024
by
“yiyousong”
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.scsmile.cn/zxf/smart_gov_platform
parents
be9a19ca
7bd47354
Changes
15
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
235 additions
and
207 deletions
+235
-207
base-manager/db/add.sql
base-manager/db/add.sql
+2
-2
base-manager/src/main/java/com/mortals/xhx/base/system/user/service/impl/UserServiceImpl.java
...ls/xhx/base/system/user/service/impl/UserServiceImpl.java
+1
-0
base-manager/src/main/java/com/mortals/xhx/busiz/web/AlarmWebApiController.java
...java/com/mortals/xhx/busiz/web/AlarmWebApiController.java
+1
-1
base-manager/src/main/java/com/mortals/xhx/common/key/Constant.java
...er/src/main/java/com/mortals/xhx/common/key/Constant.java
+0
-2
base-manager/src/main/java/com/mortals/xhx/common/utils/MatterDetailHtmlParseUtil.java
...m/mortals/xhx/common/utils/MatterDetailHtmlParseUtil.java
+3
-27
base-manager/src/main/java/com/mortals/xhx/module/app/model/vo/AppDatasetVo.java
...ava/com/mortals/xhx/module/app/model/vo/AppDatasetVo.java
+20
-20
base-manager/src/main/java/com/mortals/xhx/module/business/service/impl/BusinessServiceImpl.java
...xhx/module/business/service/impl/BusinessServiceImpl.java
+47
-30
base-manager/src/main/java/com/mortals/xhx/module/dept/service/impl/DeptServiceImpl.java
...mortals/xhx/module/dept/service/impl/DeptServiceImpl.java
+64
-42
base-manager/src/main/java/com/mortals/xhx/module/matter/service/impl/MatterExtServiceImpl.java
.../xhx/module/matter/service/impl/MatterExtServiceImpl.java
+13
-17
base-manager/src/main/java/com/mortals/xhx/module/matter/service/impl/MatterServiceImpl.java
...als/xhx/module/matter/service/impl/MatterServiceImpl.java
+52
-61
base-manager/src/main/java/com/mortals/xhx/module/site/service/impl/SiteServiceImpl.java
...mortals/xhx/module/site/service/impl/SiteServiceImpl.java
+10
-3
base-manager/src/test/java/com/mortals/httpclient/site/SiteBusinessController.http
...a/com/mortals/httpclient/site/SiteBusinessController.http
+1
-1
base-manager/src/test/java/com/mortals/httpclient/site/SiteController.http
...test/java/com/mortals/httpclient/site/SiteController.http
+10
-1
base-manager/src/test/java/com/mortals/httpclient/window/WindowBusinessController.http
...m/mortals/httpclient/window/WindowBusinessController.http
+6
-0
portal-manager/src/main/java/com/mortals/xhx/module/system/service/impl/SystemServiceApiServiceImpl.java
...dule/system/service/impl/SystemServiceApiServiceImpl.java
+5
-0
No files found.
base-manager/db/add.sql
View file @
e1a44ce5
...
...
@@ -38,7 +38,7 @@ INSERT INTO `mortals_xhx_param` VALUES (null, '应用主题 ', 'App', 'appThemeN
-- ----------------------------
2023
-
4
-
12
--
2023-4-12
-- ----------------------------
ALTER
TABLE
mortals_sys_site_matter
ADD
COLUMN
`hot`
tinyint
(
2
)
DEFAULT
'0'
COMMENT
'热门(0.否,1.是)'
AFTER
eventTypeShow
;
ALTER
TABLE
mortals_sys_site_matter
ADD
COLUMN
`display`
tinyint
(
2
)
DEFAULT
'1'
COMMENT
'显示(0.否,1.是)'
AFTER
hot
;
...
...
@@ -250,6 +250,6 @@ ALTER TABLE mortals_sys_dept ADD COLUMN `inNum` int(9) DEFAULT '0' COMMENT '
INSERT
INTO
mortals_xhx_task
VALUES
(
null
,
'同步全部站点事项材料附件'
,
'SyncMatterDaumFileTask'
,
0
,
'SyncMatterDaumFileTask'
,
''
,
''
,
1
,
3600
,
'16:05'
,
''
,
'192.168.1.107'
,
'2024-05-18 16:05:00'
,
0
,
'2024-03-01 10:59:53'
,
1
,
'系统管理员'
);
-- ----------------------------
2024
-
07
-
20
--
2024-07-20
-- ----------------------------
INSERT
INTO
`mortals_sys_base_area`
(
`id`
,
`ancestors`
,
`name`
,
`iid`
,
`pid`
,
`haveSonArea`
,
`haveSonDept`
,
`haveGetDept`
,
`haveGetMatterList`
,
`areaCode`
,
`areaLevel`
,
`shortName`
,
`domain`
,
`status`
,
`createTime`
,
`createUserId`
,
`updateTime`
)
VALUES
(
null
,
''
,
'巴中经济开发区'
,
'f190133f82dd46f0ae2e2116a8b9b13b'
,
'60a505e9dfa643e9826902e0810de55f'
,
'false'
,
'True'
,
'false'
,
'false'
,
'511971000000'
,
3
,
'巴中经济开发区'
,
'bzsbzq.sczwfw.gov.cn'
,
1
,
'2021-07-19 11:59:30'
,
NULL
,
NULL
);
base-manager/src/main/java/com/mortals/xhx/base/system/user/service/impl/UserServiceImpl.java
View file @
e1a44ce5
...
...
@@ -497,6 +497,7 @@ public class UserServiceImpl extends AbstractCRUDCacheServiceImpl<UserDao, UserE
System
.
out
.
println
(
SecurityUtil
.
md5DoubleEncoding
(
"xhxADMIN8@a"
));
System
.
out
.
println
(
SecurityUtil
.
md5DoubleEncoding
(
"123"
));
// System.out.println(SecurityUtil.md5DoubleEncoding("Qt123456@"));
/*
...
...
base-manager/src/main/java/com/mortals/xhx/busiz/web/AlarmWebApiController.java
View file @
e1a44ce5
base-manager/src/main/java/com/mortals/xhx/common/key/Constant.java
View file @
e1a44ce5
package
com.mortals.xhx.common.key
;
import
com.mortals.framework.ap.GlobalSysInfo
;
public
final
class
Constant
{
/**
...
...
base-manager/src/main/java/com/mortals/xhx/common/utils/MatterDetailHtmlParseUtil.java
View file @
e1a44ce5
...
...
@@ -226,7 +226,6 @@ public class MatterDetailHtmlParseUtil {
List
<
Map
<
String
,
Object
>>
resultListMap
=
new
ArrayList
<>();
String
baseInfoExp
=
"//div[@class='section7']//table[1]//tr[1]//td"
;
String
baseInfoExp1
=
"//div[@class='section7']//table[1]//tr"
;
XPath
xPath
=
XPathFactory
.
newInstance
().
newXPath
();
Object
result
;
int
rowNum
=
0
;
try
{
...
...
@@ -237,36 +236,13 @@ public class MatterDetailHtmlParseUtil {
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
String
baseInfoTempExp
=
String
.
format
(
"//div[@class='section7']//table[1]//tr[%d]//td"
,
j
+
1
);
Elements
evaluateList
=
dom
.
selectXpath
(
baseInfoTempExp
);
if
(
ObjectUtils
.
isEmpty
(
evaluateList
))
continue
;
for
(
int
k
=
0
;
k
<
evaluateList
.
size
();
k
++)
{
map
.
put
(
nodeList
.
get
(
k
).
text
(),
evaluateList
.
get
(
k
).
text
().
trim
());
map
.
put
(
"sort"
,
j
);
}
resultListMap
.
add
(
map
);
}
/*
result = xPath.evaluate(baseInfoExp1, dom, XPathConstants.NODESET);
if (result instanceof NodeList) {
NodeList nodeList = (NodeList) result;
rowNum = nodeList.getLength();
}
result = xPath.evaluate(baseInfoExp, dom, XPathConstants.NODESET);
if (result instanceof NodeList) {
NodeList nodeList = (NodeList) result;
// int num = nodeList.getLength();
for (int j = 1; j <= rowNum; j++) {
Map<String, Object> map = new HashMap<>();
String baseInfoTempExp = String.format("//div[@class='section7']//table[1]//tr[%d]//td", j + 1);
Object evaluate = xPath.evaluate(baseInfoTempExp, dom, XPathConstants.NODESET);
if (evaluate instanceof NodeList) {
NodeList evaluateList = (NodeList) evaluate;
for (int k = 0; k < evaluateList.getLength(); k++) {
map.put(nodeList.item(k).getTextContent(), evaluateList.item(k).getTextContent().trim());
map.put("sort", j);
}
}
resultListMap.add(map);
}
}*/
}
catch
(
Exception
e
)
{
log
.
error
(
"办理流程xpath解析异常:"
,
e
);
}
...
...
base-manager/src/main/java/com/mortals/xhx/module/app/model/vo/AppDatasetVo.java
View file @
e1a44ce5
base-manager/src/main/java/com/mortals/xhx/module/business/service/impl/BusinessServiceImpl.java
View file @
e1a44ce5
...
...
@@ -7,6 +7,7 @@ import com.mortals.framework.model.Context;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.framework.model.Result
;
import
com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl
;
import
com.mortals.framework.util.ThreadPool
;
import
com.mortals.xhx.base.system.message.MessageService
;
import
com.mortals.xhx.busiz.req.ApiThirdPartyReq
;
import
com.mortals.xhx.busiz.req.BussinessThirdPartyReq
;
...
...
@@ -84,23 +85,34 @@ public class BusinessServiceImpl extends AbstractCRUDCacheServiceImpl<BusinessDa
@Override
protected
void
updateAfter
(
BusinessEntity
entity
,
Context
context
)
throws
AppException
{
Runnable
runnable
=
new
Runnable
()
{
/**
*
*/
@Override
public
void
run
()
{
//同步更新所有站点
List
<
SiteBusinessEntity
>
collec
t
=
siteBusinessService
.
find
(
new
SiteBusinessQuery
().
businessId
(
entity
.
getId
())).
stream
()
List
<
SiteBusinessEntity
>
siteBusinessEntityLis
t
=
siteBusinessService
.
find
(
new
SiteBusinessQuery
().
businessId
(
entity
.
getId
())).
stream
()
.
map
(
item
->
{
BeanUtils
.
copyProperties
(
entity
,
item
,
new
String
[]{
"id"
});
item
.
setBusinessName
(
entity
.
getName
());
return
item
;
}).
collect
(
Collectors
.
toList
());
siteBusinessService
.
update
(
collect
,
context
);
//更新事项业务表中字段
List
<
SiteBusinessEntity
>
siteBusinessEntities
=
siteBusinessService
.
find
(
new
SiteBusinessQuery
().
businessId
(
entity
.
getId
()))
.
stream
()
.
filter
(
item
->
!
item
.
getBusinessName
().
equals
(
entity
.
getName
()))
.
peek
(
item
->
item
.
setBusinessName
(
entity
.
getName
()))
.
collect
(
Collectors
.
toList
());
if
(!
ObjectUtils
.
isEmpty
(
siteBusinessEntities
))
{
siteBusinessService
.
update
(
siteBusinessEntities
,
context
);
if
(!
ObjectUtils
.
isEmpty
(
siteBusinessEntityList
))
{
siteBusinessService
.
update
(
siteBusinessEntityList
,
context
);
}
for
(
SiteBusinessEntity
siteBusinessEntity
:
siteBusinessEntityList
)
{
List
<
WindowBusinessEntity
>
windowBusinessEntityList
=
windowBusinessService
.
find
(
new
WindowBusinessQuery
().
siteBusinessId
(
siteBusinessEntity
.
getId
())).
stream
().
map
(
item
->
{
item
.
setBusinessName
(
entity
.
getName
());
return
item
;
}).
collect
(
Collectors
.
toList
());
if
(
!
ObjectUtils
.
isEmpty
(
windowBusinessEntityList
))
{
windowBusinessService
.
update
(
windowBusinessEntityList
,
context
);
}
}
//通知第三方平台
...
...
@@ -114,6 +126,11 @@ public class BusinessServiceImpl extends AbstractCRUDCacheServiceImpl<BusinessDa
apiThirdPartyReq
.
setStatus
(
ThirdPartyStatusEnum
.
修改
.
getValue
());
apiThirdPartyReq
.
setData
(
bussinessThirdPartyReq
);
messageService
.
sendThirdParty
(
phpUrl
,
JSON
.
toJSONString
(
apiThirdPartyReq
));
}
};
ThreadPool
.
getInstance
().
execute
(
runnable
);
super
.
updateAfter
(
entity
,
context
);
}
...
...
base-manager/src/main/java/com/mortals/xhx/module/dept/service/impl/DeptServiceImpl.java
View file @
e1a44ce5
...
...
@@ -6,6 +6,7 @@ import com.mortals.framework.exception.AppException;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.model.PageInfo
;
import
com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl
;
import
com.mortals.framework.util.ThreadPool
;
import
com.mortals.xhx.common.code.SourceEnum
;
import
com.mortals.xhx.common.code.YesNoEnum
;
import
com.mortals.xhx.common.key.Constant
;
...
...
@@ -21,17 +22,17 @@ import com.mortals.xhx.module.dept.service.DeptService;
import
com.mortals.xhx.module.matters.model.MattersDeptEntity
;
import
com.mortals.xhx.module.matters.model.MattersDeptQuery
;
import
com.mortals.xhx.module.matters.service.MattersDeptService
;
import
com.mortals.xhx.module.site.model.SiteBusinessEntity
;
import
com.mortals.xhx.module.site.model.SiteBusinessQuery
;
import
com.mortals.xhx.module.site.model.SiteEntity
;
import
com.mortals.xhx.module.site.model.*
;
import
com.mortals.xhx.module.site.service.SiteBusinessService
;
import
com.mortals.xhx.module.site.service.SiteMatterService
;
import
com.mortals.xhx.module.site.service.SiteService
;
import
com.mortals.xhx.module.window.model.WindowBusinessEntity
;
import
com.mortals.xhx.module.window.model.WindowBusinessQuery
;
import
com.mortals.xhx.module.window.model.WindowEntity
;
import
com.mortals.xhx.module.window.model.WindowQuery
;
import
com.mortals.xhx.module.window.model.*
;
import
com.mortals.xhx.module.window.service.WindowBusinessService
;
import
com.mortals.xhx.module.window.service.WindowMatterService
;
import
com.mortals.xhx.module.window.service.WindowService
;
import
com.mortals.xhx.module.workman.model.WorkmanEntity
;
import
com.mortals.xhx.module.workman.model.WorkmanQuery
;
import
com.mortals.xhx.module.workman.service.WorkmanService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.ObjectUtils
;
...
...
@@ -57,6 +58,12 @@ public class DeptServiceImpl extends AbstractCRUDCacheServiceImpl<DeptDao, DeptE
private
MattersDeptService
mattersDeptService
;
@Autowired
private
WindowService
windowService
;
@Autowired
private
WorkmanService
workmanService
;
@Autowired
private
WindowMatterService
windowMatterService
;
@Autowired
private
SiteMatterService
siteMatterService
;
@Override
...
...
@@ -191,39 +198,9 @@ public class DeptServiceImpl extends AbstractCRUDCacheServiceImpl<DeptDao, DeptE
@Override
public
Rest
<
Map
<
String
,
List
<
DeptVo
>>>
getBusinessByDept
(
DeptQuery
deptQuery
,
Context
context
)
{
List
<
DeptVo
>
businessDeptList
=
this
.
dao
.
getBusinessByDept
(
deptQuery
);
Map
<
String
,
List
<
DeptVo
>>
collect
=
businessDeptList
.
parallelStream
().
collect
(
Collectors
.
groupingBy
(
x
->
x
.
getId
().
toString
()));
return
Rest
.
ok
(
collect
);
/* //查询部门窗口
List<WindowEntity> windowEntities = windowService.find(new WindowQuery().deptId(deptQuery.getId()));
//查询窗口业务
WindowBusinessQuery windowBusinessQuery = new WindowBusinessQuery();
List<Long> windowList = windowEntities.stream().map(WindowEntity::getId).collect(Collectors.toList());
if (ObjectUtils.isEmpty(windowList)) {
return Rest.ok("窗口查询结果为空", Collections.EMPTY_LIST);
}
windowBusinessQuery.setWindowIdList(windowList);
List<WindowBusinessEntity> windowBusinessEntities = windowBusinessService.find(windowBusinessQuery);
SiteBusinessQuery siteBusinessQuery = new SiteBusinessQuery();
List<Long> siteBusinessList = windowBusinessEntities.stream().map(WindowBusinessEntity::getSiteBusinessId).collect(Collectors.toList());
if (ObjectUtils.isEmpty(siteBusinessList)) {
return Rest.ok("站点业务查询结果为空", Collections.EMPTY_LIST);
}
siteBusinessQuery.setBusinessIdList(siteBusinessList);
List<SiteBusinessEntity> siteBusinessEntities = siteBusinessService.find(siteBusinessQuery);
BusinessQuery businessQuery = new BusinessQuery();
List<Long> businessList = siteBusinessEntities.stream().map(SiteBusinessEntity::getBusinessId).collect(Collectors.toList());
if (ObjectUtils.isEmpty(businessList)) {
return Rest.ok("业务查询结果为空", Collections.EMPTY_LIST);
}
businessQuery.setIdList(businessList);
List<BusinessEntity> businessEntities = businessService.find(businessQuery);*/
//return Rest.ok(businessEntities);
}
@Override
...
...
@@ -262,11 +239,56 @@ public class DeptServiceImpl extends AbstractCRUDCacheServiceImpl<DeptDao, DeptE
*/
@Override
protected
void
updateAfter
(
DeptEntity
entity
,
Context
context
)
throws
AppException
{
List
<
WindowEntity
>
windowEntityList
=
windowService
.
find
(
new
WindowQuery
().
deptId
(
entity
.
getId
()));
windowEntityList
.
forEach
(
item
->
{
//异步更新
Runnable
runnable
=
new
Runnable
()
{
/**
*
*/
@Override
public
void
run
()
{
List
<
WindowEntity
>
windowEntityList
=
windowService
.
find
(
new
WindowQuery
().
deptId
(
entity
.
getId
())).
stream
().
map
(
item
->
{
item
.
setDeptName
(
entity
.
getName
());
});
return
item
;
}).
collect
(
Collectors
.
toList
());
if
(!
ObjectUtils
.
isEmpty
(
windowEntityList
))
{
windowService
.
update
(
windowEntityList
,
context
);
}
List
<
WorkmanEntity
>
workmanEntityList
=
workmanService
.
find
(
new
WorkmanQuery
().
deptId
(
entity
.
getId
())).
stream
().
map
(
item
->
{
item
.
setDeptName
(
entity
.
getName
());
return
item
;
}).
collect
(
Collectors
.
toList
());
if
(!
ObjectUtils
.
isEmpty
(
workmanEntityList
))
{
workmanService
.
update
(
workmanEntityList
,
context
);
}
List
<
WindowMatterEntity
>
windowMatterEntityList
=
windowMatterService
.
find
(
new
WindowMatterQuery
().
deptId
(
entity
.
getId
())).
stream
().
map
(
item
->
{
item
.
setDeptName
(
entity
.
getName
());
return
item
;
}).
collect
(
Collectors
.
toList
());
if
(!
ObjectUtils
.
isEmpty
(
windowMatterEntityList
))
{
windowMatterService
.
update
(
windowMatterEntityList
,
context
);
}
List
<
SiteMatterEntity
>
siteMatterEntityList
=
siteMatterService
.
find
(
new
SiteMatterQuery
().
deptId
(
entity
.
getId
())).
stream
().
map
(
item
->
{
item
.
setDeptName
(
entity
.
getName
());
return
item
;
}).
collect
(
Collectors
.
toList
());
if
(!
ObjectUtils
.
isEmpty
(
siteMatterEntityList
))
{
siteMatterService
.
update
(
siteMatterEntityList
,
context
);
}
}
};
ThreadPool
.
getInstance
().
execute
(
runnable
);
super
.
updateAfter
(
entity
,
context
);
}
}
\ No newline at end of file
base-manager/src/main/java/com/mortals/xhx/module/matter/service/impl/MatterExtServiceImpl.java
View file @
e1a44ce5
package
com.mortals.xhx.module.matter.service.impl
;
import
cn.hutool.core.collection.ListUtil
;
import
com.alibaba.fastjson.JSON
;
import
com.google.common.collect.Lists
;
import
com.mortals.framework.ap.GlobalSysInfo
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.util.ThreadPool
;
import
com.mortals.xhx.common.code.DxTypeEnum
;
import
com.mortals.xhx.common.code.SourceEnum
;
...
...
@@ -16,23 +17,20 @@ import com.mortals.xhx.module.area.service.AreaService;
import
com.mortals.xhx.module.dept.model.DeptEntity
;
import
com.mortals.xhx.module.dept.model.DeptQuery
;
import
com.mortals.xhx.module.dept.service.DeptService
;
import
com.mortals.xhx.module.matter.dao.MatterExtDao
;
import
com.mortals.xhx.module.matter.model.MatterEntity
;
import
com.mortals.xhx.module.matter.model.MatterExtEntity
;
import
com.mortals.xhx.module.matter.model.MatterQuery
;
import
com.mortals.xhx.module.matter.service.MatterExtService
;
import
com.mortals.xhx.module.matter.service.MatterService
;
import
com.mortals.xhx.module.site.model.*
;
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.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Service
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.model.Context
;
import
com.mortals.xhx.module.matter.dao.MatterExtDao
;
import
com.mortals.xhx.module.matter.model.MatterExtEntity
;
import
com.mortals.xhx.module.matter.service.MatterExtService
;
import
org.springframework.util.ObjectUtils
;
import
java.util.*
;
...
...
@@ -61,6 +59,8 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao,
private
SiteThemeService
siteThemeService
;
@Autowired
private
SiteMatterService
siteMatterService
;
@Value
(
"${sync.matter.deleted:false}"
)
private
Boolean
deleted
;
/**
...
...
@@ -119,7 +119,7 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao,
private
List
<
MatterEntity
>
getMatterEntities
(
SiteEntity
siteEntity
,
Context
context
)
{
AreaEntity
areaEntity
=
areaService
.
getCache
(
siteEntity
.
getAreaCode
());
List
<
DeptEntity
>
deptEntities
=
deptService
.
find
(
new
DeptQuery
().
siteId
(
siteEntity
.
getId
()).
source
(
SourceEnum
.
政务网
.
getValue
()));
List
<
MatterEntity
>
govMatterList
=
deptEntities
.
parallelS
tream
().
flatMap
(
deptEntity
->
{
List
<
MatterEntity
>
govMatterList
=
deptEntities
.
s
tream
().
flatMap
(
deptEntity
->
{
HashMap
<
String
,
String
>
params
=
new
HashMap
<>();
params
.
put
(
"areaCode"
,
areaEntity
.
getAreaCode
());
params
.
put
(
"dxType"
,
"6"
);
...
...
@@ -233,8 +233,9 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao,
*/
@Override
public
Rest
<
String
>
syncDelMatterBySiteId
(
SiteEntity
siteEntity
,
Context
context
)
{
//
List
<
MatterEntity
>
govMatterList
=
getMatterEntities
(
siteEntity
,
context
);
if
(
ObjectUtils
.
isEmpty
(
govMatterList
))
return
Rest
.
ok
(
"爬取事项列表为空!"
);
if
(!
deleted
)
return
Rest
.
ok
(
"配置不允许删除!"
);
log
.
info
(
"计算差集"
);
MatterQuery
matterQuery
=
new
MatterQuery
();
...
...
@@ -247,7 +248,7 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao,
Set
<
String
>
matterExistSet
=
govMatterList
.
parallelStream
().
map
(
i
->
i
.
getMatterNo
()).
collect
(
Collectors
.
toSet
());
List
<
MatterEntity
>
delList
=
this
.
subListSet
(
matterList
,
matterExistSet
);
log
.
info
(
"抓取事项总数:{} ,需要删除事项数量:{}"
,
govMatterList
.
size
(),
delList
.
size
());
//删除matter 和siteMatter
//删除matter 和siteMatter
开启了自动删除才启用
if
(!
ObjectUtils
.
isEmpty
(
delList
))
{
Long
[]
delMatterIds
=
delList
.
parallelStream
().
map
(
i
->
i
.
getId
()).
toArray
(
Long
[]::
new
);
matterService
.
remove
(
delMatterIds
,
context
);
...
...
@@ -260,21 +261,16 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao,
}
SiteThemeMatterQuery
siteThemeMatterQuery
=
new
SiteThemeMatterQuery
();
siteThemeMatterQuery
.
setMatterIdList
(
Arrays
.
asList
(
delMatterIds
));
List
<
SiteThemeMatterEntity
>
delSiteThemeMatterList
=
siteThemeMatterService
.
find
(
siteThemeMatterQuery
);
if
(!
ObjectUtils
.
isEmpty
(
delSiteThemeMatterList
))
{
log
.
info
(
"删除站点主题事项数量:{}"
,
delSiteThemeMatterList
.
size
());
siteThemeMatterService
.
removeList
(
delSiteThemeMatterList
,
context
);
}
}
return
Rest
.
ok
(
"同步删除成功!"
);
}
/**
* @param Code
* @param context
* @return
*/
...
...
@@ -284,7 +280,7 @@ public class MatterExtServiceImpl extends AbstractCRUDServiceImpl<MatterExtDao,
List
<
DeptEntity
>
deptEntities
=
deptService
.
getDeptByWeb
(
areaCode
,
context
).
getData
();
List
<
MatterEntity
>
govMatterList
=
deptEntities
.
parallelStream
().
flatMap
(
deptEntity
->
{
HashMap
<
String
,
String
>
params
=
new
HashMap
<>();
params
.
put
(
"areaCode"
,
areaCode
);
params
.
put
(
"areaCode"
,
areaCode
);
params
.
put
(
"dxType"
,
"6"
);
params
.
put
(
"deptCode"
,
deptEntity
.
getDeptNumber
());
params
.
put
(
"searchtext"
,
""
);
...
...
base-manager/src/main/java/com/mortals/xhx/module/matter/service/impl/MatterServiceImpl.java
View file @
e1a44ce5
...
...
@@ -15,6 +15,7 @@ import com.mortals.framework.model.Result;
import
com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl
;
import
com.mortals.framework.service.impl.AbstractCRUDServiceImpl
;
import
com.mortals.framework.util.DataUtil
;
import
com.mortals.framework.util.ThreadPool
;
import
com.mortals.xhx.base.framework.config.InterceptorConfig
;
import
com.mortals.xhx.common.code.FiletypeEnum
;
import
com.mortals.xhx.common.code.SourceEnum
;
...
...
@@ -24,6 +25,9 @@ import com.mortals.xhx.common.utils.MatterDetailHtmlParseUtil;
import
com.mortals.xhx.module.base.model.BaseAreaEntity
;
import
com.mortals.xhx.module.base.model.BaseAreaQuery
;
import
com.mortals.xhx.module.base.service.BaseAreaService
;
import
com.mortals.xhx.module.business.model.BusinessMatterEntity
;
import
com.mortals.xhx.module.business.model.BusinessMatterQuery
;
import
com.mortals.xhx.module.business.service.BusinessMatterService
;
import
com.mortals.xhx.module.dept.model.DeptEntity
;
import
com.mortals.xhx.module.dept.service.DeptService
;
import
com.mortals.xhx.module.matter.dao.MatterDao
;
...
...
@@ -41,6 +45,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
com.mortals.xhx.module.window.model.WindowMatterEntity
;
import
com.mortals.xhx.module.window.model.WindowMatterQuery
;
import
com.mortals.xhx.module.window.service.WindowMatterService
;
import
io.netty.handler.timeout.ReadTimeoutException
;
...
...
@@ -112,6 +117,8 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
private
WindowMatterService
windowMatterService
;
@Autowired
private
BaseAreaService
baseAreaService
;
@Autowired
private
BusinessMatterService
businessMatterService
;
@Override
...
...
@@ -198,13 +205,49 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
@Override
protected
void
updateAfter
(
MatterEntity
entity
,
Context
context
)
throws
AppException
{
Runnable
runnable
=
new
Runnable
()
{
/**
*
*/
@Override
public
void
run
()
{
//同步更新所有站点
List
<
SiteMatterEntity
>
collec
t
=
siteMatterService
.
find
(
new
SiteMatterQuery
().
matterId
(
entity
.
getId
())).
stream
()
List
<
SiteMatterEntity
>
siteMatterEntityLis
t
=
siteMatterService
.
find
(
new
SiteMatterQuery
().
matterId
(
entity
.
getId
())).
stream
()
.
map
(
item
->
{
item
.
setMatterName
(
entity
.
getMatterName
());
return
item
;
}).
collect
(
Collectors
.
toList
());
siteMatterService
.
update
(
collect
,
context
);
if
(!
ObjectUtils
.
isEmpty
(
siteMatterEntityList
))
{
siteMatterService
.
update
(
siteMatterEntityList
,
context
);
}
List
<
BusinessMatterEntity
>
businessMatterEntityList
=
businessMatterService
.
find
(
new
BusinessMatterQuery
().
matterId
(
entity
.
getId
())).
stream
().
map
(
item
->
{
item
.
setMatterName
(
entity
.
getMatterName
());
return
item
;
}).
collect
(
Collectors
.
toList
());
if
(!
ObjectUtils
.
isEmpty
(
businessMatterEntityList
))
{
businessMatterService
.
update
(
businessMatterEntityList
,
context
);
}
for
(
SiteMatterEntity
siteMatterEntity
:
siteMatterEntityList
)
{
List
<
WindowMatterEntity
>
windowMatterEntities
=
windowMatterService
.
find
(
new
WindowMatterQuery
()
.
siteMatterId
(
siteMatterEntity
.
getId
())).
stream
().
map
(
item
->
{
item
.
setMatterName
(
entity
.
getMatterName
());
return
item
;
}).
collect
(
Collectors
.
toList
());
if
(!
ObjectUtils
.
isEmpty
(
windowMatterEntities
))
{
windowMatterService
.
update
(
windowMatterEntities
,
context
);
}
}
}
};
ThreadPool
.
getInstance
().
execute
(
runnable
);
super
.
updateAfter
(
entity
,
context
);
}
...
...
@@ -1041,15 +1084,11 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
//根据事项url 获取事项详细信息,构建相关详细信息
// String html = null;
//Boolean bool = false;
String
msg
=
""
;
int
reCount
=
0
;
while
(
reCount
<
MAX_RETRY_COUNT
)
{
try
{
if
(
ObjectUtils
.
isEmpty
(
matterEntity
.
getUrl
()))
{
// bool = true;
msg
=
"事项url不能为空!"
;
break
;
//return Rest.fail("事项url不能为空!");
return
Rest
.
fail
(
"事项url不能为空!"
);
}
Document
dom
=
Jsoup
.
connect
(
matterEntity
.
getUrl
())
.
ignoreContentType
(
true
)
...
...
@@ -1063,10 +1102,6 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
Setting
baseInfoSetting
=
interceptorConfig
.
getBaseInfoSetting
();
Setting
sqclInfoSetting
=
interceptorConfig
.
getSqclInfoSetting
();
/* 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
);
...
...
@@ -1074,41 +1109,29 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
Integer
matterEditionRemote
=
DataUtil
.
converStr2Int
(
baseInfoMap
.
getOrDefault
(
"事项版本"
,
"0"
),
0
);
if
(
matterEditionLocal
>=
matterEditionRemote
)
{
//bool = true;
msg
=
"本地事项版本大于等于远端,不需要更新!!"
;
// break;
// return Rest.fail("本地事项版本大于等于远端,不需要更新!");
return
Rest
.
fail
(
"本地事项版本大于等于远端,不需要更新!"
);
}
// log.info("更新详细事项==>{},id===>{},localVersion===>{},newVersion==>{}", matterEntity.getMatterName(),matterEntity.getId(),matterEntity.getMatterEdition(), matterEditionRemote);
//更新部门信息
DeptEntity
extCache
=
deptService
.
getExtCache
(
matterEntity
.
getDeptCode
());
matterEntity
.
setDeptName
(
extCache
==
null
?
""
:
extCache
.
getName
());
//构建基础信息参数
savebaseInfo
(
matterEntity
,
baseInfoMap
,
baseInfoSetting
);
//更新材料属性
saveDatumInfo
(
matterEntity
,
context
,
dom
,
sqclInfoSetting
);
//更新受理条件
saveSltjInfo
(
matterEntity
,
context
,
dom
);
//更新办理流程
saveBllcInfo
(
matterEntity
,
context
,
dom
);
//更新收费标准
saveSfbzInfo
(
matterEntity
,
context
,
dom
);
//设定依据
saveSdyjInfo
(
matterEntity
,
context
,
dom
);
//中介服务
saveZjfwInfo
(
matterEntity
,
context
,
dom
);
//常见问题
saveCjwtInfo
(
matterEntity
,
context
,
dom
);
//更新事项更新标志
matterEntity
.
setHaveGetMatterInfo
(
"true"
);
...
...
@@ -1139,19 +1162,10 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
}
}
catch
(
Exception
e
)
{
log
.
error
(
String
.
format
(
"获取详细异常! id:%s,matterCode:%s,url:%s"
,
matterEntity
.
getId
(),
matterEntity
.
getMatterNo
(),
matterEntity
.
getUrl
()),
e
);
//bool = true;
msg
=
e
.
getMessage
();
break
;
// return Rest.fail("更新事项失败!" + e.getMessage());
return
Rest
.
fail
(
"更新事项失败!"
+
e
.
getMessage
());
}
}
return
Rest
.
fail
(
msg
);
/* if (bool) {
return Rest.fail(msg);
} else {
return Rest.ok("更新详细成功!");
}*/
return
Rest
.
fail
(
"更新事项失败!"
);
}
...
...
@@ -1264,30 +1278,7 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
}
}
}
/*else {
//未配置的属性映射添加到扩展表中
//属性保存到扩展表中
MatterExtEntity matterExtEntity = new MatterExtEntity();
matterExtEntity.initAttrValue();
matterExtEntity.setMatterId(matterEntity.getId());
matterExtEntity.setMatterCode(matterEntity.getMatterNo());
matterExtEntity.setFieldName(m.getKey());
matterExtEntity.setFieldValue(m.getValue());
matterExtEntity.setFieldOrderNo(sortN);
matterExtEntity.setSource(SourceEnum.政务网.getValue());
matterExtEntity.setCreateTime(new Date());
matterExtEntity.setCreateUserId(1L);
matterExtEntities.add(matterExtEntity);
sortN++;
}*/
}
/* if (!ObjectUtils.isEmpty(matterExtEntities)) {
//先删除后添加
matterExtService.deleteByMatterId(matterEntity.getId(), null);
matterExtService.save(matterExtEntities, null);
}*/
}
private
void
saveBllcInfo
(
MatterEntity
matterEntity
,
Context
context
,
Document
dom
)
{
...
...
base-manager/src/main/java/com/mortals/xhx/module/site/service/impl/SiteServiceImpl.java
View file @
e1a44ce5
...
...
@@ -532,7 +532,12 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
}
siteAreaVo
.
setAreaCode
(
areaEntity
.
getAreaCode
());
siteAreaVo
.
setAreaName
(
AreaLevelEnum
.
getByValue
(
areaEntity
.
getAreaLevel
()).
getValue
()
==
AreaLevelEnum
.
地市州
.
getValue
()
?
"市本级"
:
areaEntity
.
getName
());
List
<
SiteEntity
>
siteEntityList
=
this
.
find
(
new
SiteQuery
().
areaCode
(
areaEntity
.
getAreaCode
()));
SiteQuery
siteQuery
=
new
SiteQuery
();
siteQuery
.
setAreaCode
(
areaEntity
.
getAreaCode
());
if
(!
ObjectUtils
.
isEmpty
(
query
.
getSiteName
()))
{
siteQuery
.
setSiteName
(
query
.
getSiteName
());
}
List
<
SiteEntity
>
siteEntityList
=
this
.
find
(
siteQuery
);
siteAreaVo
.
setSiteList
(
siteEntityList
);
list
.
add
(
siteAreaVo
);
//两层结构{xxx:[{sitename:xxx},{}...],bbb:[{sitename:xxx},{}...]}
...
...
@@ -547,7 +552,7 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
//不足位数,补零 5115 020 120 01 市 区 街道 社区
matchCode
=
AreaMatchCodeUtil
.
getMatchCode
(
matchCode
,
child
.
getAreaLevel
());
SiteQuery
siteQuery
=
new
SiteQuery
();
siteQuery
=
new
SiteQuery
();
siteQuery
.
setAreaCode
(
matchCode
+
"%"
);
if
(!
ObjectUtils
.
isEmpty
(
query
.
getSiteName
()))
{
siteQuery
.
setSiteName
(
query
.
getSiteName
());
...
...
@@ -560,8 +565,10 @@ public class SiteServiceImpl extends AbstractCRUDCacheServiceImpl<SiteDao, SiteE
//没有站点
siteAreaVo
.
setSiteList
(
Collections
.
EMPTY_LIST
);
}
if
(!
ObjectUtils
.
isEmpty
(
siteAreaVo
.
getSiteList
())){
list
.
add
(
siteAreaVo
);
}
}
return
Rest
.
ok
(
list
);
}
...
...
base-manager/src/test/java/com/mortals/httpclient/site/SiteBusinessController.http
View file @
e1a44ce5
...
...
@@ -41,7 +41,7 @@ client.global.set("SiteBusiness_id", JSON.parse(response.body).data.id);
%}
###站点业务查看
GET {{baseUrl}}/site/business/in
fo?id={{SiteBusiness_id}}
GET {{baseUrl}}/site/business/in
terinfo?id=24
Accept: application/json
###站点业务编辑
...
...
base-manager/src/test/java/com/mortals/httpclient/site/SiteController.http
View file @
e1a44ce5
...
...
@@ -106,8 +106,17 @@ POST {{baseUrl}}/site/getAreaSitesBySite
Content-Type: application/json
{
"areaName":"
宜宾市
"
"areaName":"
盐源县
"
}
###站点列表
POST {{baseUrl}}/site/getAreaSitesBySite
Content-Type: application/json
{
"areaName":"盐源县"
}
###同步事项数据
...
...
base-manager/src/test/java/com/mortals/httpclient/window/WindowBusinessController.http
View file @
e1a44ce5
...
...
@@ -5,6 +5,12 @@ Content-Type: application/json
{"windowIdList":["77","78","79","80","81","82","83","84","85","86","87","88","89","90","91","92","93","94","95","96","97","98","99"],"size":-1}
###窗口业务列表
POST {{baseUrl}}/window/business/interlist
Content-Type: application/json
{"windowIdList":["16"],"size":-1}
###窗口业务列表缓存
...
...
portal-manager/src/main/java/com/mortals/xhx/module/system/service/impl/SystemServiceApiServiceImpl.java
View file @
e1a44ce5
...
...
@@ -26,4 +26,9 @@ public class SystemServiceApiServiceImpl extends AbstractCRUDServiceImpl<SystemS
pageInfo
.
setPrePageResult
(-
1
);
return
entity
;
}
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
" 宜宾市政务服务和非公经济发展局"
.
equals
(
"宜宾市政务服务和非公经济发展局"
));
}
}
\ 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