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
8180135f
Commit
8180135f
authored
Nov 22, 2022
by
赵啸非
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加站点事项过滤
parent
6e4613cf
Changes
23
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
23 changed files
with
49705 additions
and
46975 deletions
+49705
-46975
base-manager-ui/admin/yarn.lock
base-manager-ui/admin/yarn.lock
+10476
-10602
base-manager/db/init_area_data.sql
base-manager/db/init_area_data.sql
+36360
-36360
base-manager/src/main/java/com/mortals/xhx/common/utils/MatterTypeHtmlParseUtil.java
...com/mortals/xhx/common/utils/MatterTypeHtmlParseUtil.java
+243
-0
base-manager/src/main/java/com/mortals/xhx/common/utils/SyncGovMatterDetailThread.java
...m/mortals/xhx/common/utils/SyncGovMatterDetailThread.java
+0
-1
base-manager/src/main/java/com/mortals/xhx/common/utils/SyncSubAreaThread.java
.../java/com/mortals/xhx/common/utils/SyncSubAreaThread.java
+36
-0
base-manager/src/main/java/com/mortals/xhx/daemon/RequestDataController.java
...in/java/com/mortals/xhx/daemon/RequestDataController.java
+0
-3
base-manager/src/main/java/com/mortals/xhx/module/area/service/AreaService.java
...java/com/mortals/xhx/module/area/service/AreaService.java
+8
-0
base-manager/src/main/java/com/mortals/xhx/module/area/service/impl/AreaServiceImpl.java
...mortals/xhx/module/area/service/impl/AreaServiceImpl.java
+22
-2
base-manager/src/main/java/com/mortals/xhx/module/base/dao/BaseAreaDao.java
...ain/java/com/mortals/xhx/module/base/dao/BaseAreaDao.java
+17
-0
base-manager/src/main/java/com/mortals/xhx/module/base/dao/ibatis/BaseAreaDaoImpl.java
...m/mortals/xhx/module/base/dao/ibatis/BaseAreaDaoImpl.java
+21
-0
base-manager/src/main/java/com/mortals/xhx/module/base/model/BaseAreaEntity.java
...ava/com/mortals/xhx/module/base/model/BaseAreaEntity.java
+323
-0
base-manager/src/main/java/com/mortals/xhx/module/base/model/BaseAreaQuery.java
...java/com/mortals/xhx/module/base/model/BaseAreaQuery.java
+1021
-0
base-manager/src/main/java/com/mortals/xhx/module/base/model/vo/BaseAreaVo.java
...java/com/mortals/xhx/module/base/model/vo/BaseAreaVo.java
+21
-0
base-manager/src/main/java/com/mortals/xhx/module/base/service/BaseAreaService.java
.../com/mortals/xhx/module/base/service/BaseAreaService.java
+23
-0
base-manager/src/main/java/com/mortals/xhx/module/base/service/impl/BaseAreaServiceImpl.java
...als/xhx/module/base/service/impl/BaseAreaServiceImpl.java
+103
-0
base-manager/src/main/java/com/mortals/xhx/module/base/web/BaseAreaController.java
...a/com/mortals/xhx/module/base/web/BaseAreaController.java
+115
-0
base-manager/src/main/java/com/mortals/xhx/module/site/web/SiteController.java
.../java/com/mortals/xhx/module/site/web/SiteController.java
+1
-1
base-manager/src/main/resources/config/mybatis-sqlmap-config.xml
...nager/src/main/resources/config/mybatis-sqlmap-config.xml
+1
-1
base-manager/src/main/resources/logback-spring.xml
base-manager/src/main/resources/logback-spring.xml
+11
-0
base-manager/src/main/resources/sqlmap/module/area/AreaMapper.xml
...ager/src/main/resources/sqlmap/module/area/AreaMapper.xml
+5
-5
base-manager/src/main/resources/sqlmap/module/base/BaseAreaMapper.xml
.../src/main/resources/sqlmap/module/base/BaseAreaMapper.xml
+811
-0
base-manager/src/test/java/com/mortals/httpclient/base/BaseAreaController.http
.../java/com/mortals/httpclient/base/BaseAreaController.http
+80
-0
common-lib/src/main/java/com/mortals/xhx/common/keys/RedisCacheKeys.java
...main/java/com/mortals/xhx/common/keys/RedisCacheKeys.java
+7
-0
No files found.
base-manager-ui/admin/yarn.lock
View file @
8180135f
This diff is collapsed.
Click to expand it.
base-manager/db/init_area_data.sql
View file @
8180135f
This diff is collapsed.
Click to expand it.
base-manager/src/main/java/com/mortals/xhx/common/utils/MatterTypeHtmlParseUtil.java
0 → 100644
View file @
8180135f
This diff is collapsed.
Click to expand it.
base-manager/src/main/java/com/mortals/xhx/common/utils/SyncGovMatterDetailThread.java
View file @
8180135f
...
...
@@ -52,7 +52,6 @@ public class SyncGovMatterDetailThread implements Runnable {
log
.
info
(
"同步事项列表:"
+
JSON
.
toJSONString
(
rest
));
if
(
rest
.
getCode
()==
YesNoEnum
.
YES
.
getValue
()){
List
<
MatterEntity
>
matterEntityList
=
matterService
.
find
(
new
MatterQuery
().
areaCode
(
siteEntity
.
getAreaCode
()).
source
(
SourceEnum
.
政务网
.
getValue
()));
List
<
MatterEntity
>
unSyncDetailMatterList
=
matterEntityList
.
stream
().
filter
(
f
->
f
.
getHaveGetMatterInfo
().
equalsIgnoreCase
(
"false"
)).
collect
(
Collectors
.
toList
());
log
.
info
(
"同步站点事项到站点....."
);
...
...
base-manager/src/main/java/com/mortals/xhx/common/utils/SyncSubAreaThread.java
0 → 100644
View file @
8180135f
package
com.mortals.xhx.common.utils
;
import
com.alibaba.fastjson.JSON
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.model.Context
;
import
com.mortals.xhx.module.base.model.BaseAreaEntity
;
import
com.mortals.xhx.module.base.service.BaseAreaService
;
import
com.mortals.xhx.module.dept.service.DeptService
;
import
lombok.AllArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
/**
* 同步区域子数据
*
* @author: zxfei
* @date: 2022/4/13 13:34
* @description:
**/
@AllArgsConstructor
@Slf4j
public
class
SyncSubAreaThread
implements
Runnable
{
private
BaseAreaService
baseAreaService
;
private
BaseAreaEntity
baseAreaEntity
;
private
Context
context
;
@Override
public
void
run
()
{
log
.
info
(
"子区域同步开始!"
);
Rest
<
String
>
rest
=
baseAreaService
.
genSubAreaByRootName
(
baseAreaEntity
,
context
);
log
.
info
(
"子区域同步结束!结果:{}"
,
JSON
.
toJSONString
(
rest
));
}
}
base-manager/src/main/java/com/mortals/xhx/daemon/RequestDataController.java
View file @
8180135f
...
...
@@ -50,13 +50,10 @@ public class RequestDataController {
Map
<
String
,
String
>
baseInfoMap
=
matterService
.
getBaseInfoMap
(
null
);
//保存为
Setting
setting
=
Setting
.
create
();
setting
.
putAll
(
baseInfoMap
);
setting
.
store
(
"E://baseinfo.setting"
);
Map
<
String
,
String
>
sqclInfoMap
=
matterService
.
getSqclInfoMap
(
null
);
sqclInfoMap
.
entrySet
().
stream
().
peek
(
item
->
{
String
[]
split
=
item
.
getValue
().
split
(
","
);
if
(
split
.
length
>
1
)
{
...
...
base-manager/src/main/java/com/mortals/xhx/module/area/service/AreaService.java
View file @
8180135f
package
com.mortals.xhx.module.area.service
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.service.ICRUDCacheService
;
import
java.util.List
;
...
...
@@ -68,4 +69,11 @@ public interface AreaService extends ICRUDCacheService<AreaEntity,Long> {
* @param context
*/
void
genSqlByRootName
(
String
rootName
,
Context
context
);
/**
* 清除区域所有数据
* @return
*/
Rest
<
String
>
removeAll
();
}
\ No newline at end of file
base-manager/src/main/java/com/mortals/xhx/module/area/service/impl/AreaServiceImpl.java
View file @
8180135f
package
com.mortals.xhx.module.area.service.impl
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.service.impl.AbstractCRUDCacheServiceImpl
;
import
com.mortals.xhx.module.area.model.AreaEntity
;
import
com.mortals.xhx.module.area.model.AreaQuery
;
import
com.mortals.xhx.module.area.model.AreaTreeSelect
;
import
com.mortals.xhx.module.base.service.BaseAreaService
;
import
com.mortals.xhx.module.site.service.SiteService
;
import
org.checkerframework.checker.units.qual.A
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -30,6 +32,8 @@ public class AreaServiceImpl extends AbstractCRUDCacheServiceImpl<AreaDao, AreaE
@Autowired
private
SiteService
siteService
;
@Autowired
private
BaseAreaService
baseAreaService
;
/* @Override
...
...
@@ -247,9 +251,10 @@ public class AreaServiceImpl extends AbstractCRUDCacheServiceImpl<AreaDao, AreaE
@Override
public
void
genSqlByRootName
(
String
rootName
,
Context
context
)
{
//查询定位根节点
AreaEntity
areaEntity
=
this
.
selectOne
(
new
AreaQuery
().
name
(
rootName
));
//INSERT INTO `mortals_sys_area` VALUES (1, '', '四川省', '6182157d00ce41559e001a89d87f4057', '0', 'True', 'True', 'true', 'true', '510000000000', 1, '四川省', 'www.sczwfw.gov.cn', 1, '2021-07-19 11:28:28', NULL, '2022-03-17 13:39:30');
StringBuilder
sql
=
new
StringBuilder
();
/*
StringBuilder sql = new StringBuilder();
if (!ObjectUtils.isEmpty(areaEntity)) {
//生成当前节点下的sql
List<AreaEntity> areaList = new ArrayList<>();
...
...
@@ -263,9 +268,24 @@ public class AreaServiceImpl extends AbstractCRUDCacheServiceImpl<AreaDao, AreaE
});
log
.
info
(
sql
.
toString
());
log.info(sql.toString());*/
if
(!
ObjectUtils
.
isEmpty
(
areaEntity
))
{
List
<
AreaEntity
>
areaList
=
new
ArrayList
<>();
recursionFn
(
areaList
,
areaEntity
);
}
}
@Override
public
Rest
<
String
>
removeAll
()
{
HashMap
condition
=
new
HashMap
();
condition
.
put
(
"1"
,
1
);
int
delete
=
this
.
dao
.
delete
(
condition
);
//删除所有缓存数据
this
.
removeAllCache
();
return
Rest
.
ok
(
"清除成功!"
);
}
}
\ No newline at end of file
base-manager/src/main/java/com/mortals/xhx/module/base/dao/BaseAreaDao.java
0 → 100644
View file @
8180135f
package
com.mortals.xhx.module.base.dao
;
import
com.mortals.framework.dao.ICRUDDao
;
import
com.mortals.xhx.module.base.model.BaseAreaEntity
;
import
java.util.List
;
/**
* 区域Dao
* 区域 DAO接口
*
* @author zxfei
* @date 2022-11-22
*/
public
interface
BaseAreaDao
extends
ICRUDDao
<
BaseAreaEntity
,
Long
>{
}
base-manager/src/main/java/com/mortals/xhx/module/base/dao/ibatis/BaseAreaDaoImpl.java
0 → 100644
View file @
8180135f
package
com.mortals.xhx.module.base.dao.ibatis
;
import
org.springframework.stereotype.Repository
;
import
com.mortals.xhx.module.base.dao.BaseAreaDao
;
import
com.mortals.xhx.module.base.model.BaseAreaEntity
;
import
java.util.Date
;
import
com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis
;
import
java.util.List
;
/**
* 区域DaoImpl DAO接口
*
* @author zxfei
* @date 2022-11-22
*/
@Repository
(
"baseAreaDao"
)
public
class
BaseAreaDaoImpl
extends
BaseCRUDDaoMybatis
<
BaseAreaEntity
,
Long
>
implements
BaseAreaDao
{
}
base-manager/src/main/java/com/mortals/xhx/module/base/model/BaseAreaEntity.java
0 → 100644
View file @
8180135f
package
com.mortals.xhx.module.base.model
;
import
java.util.List
;
import
java.util.ArrayList
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.mortals.framework.annotation.Excel
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.xhx.module.base.model.vo.BaseAreaVo
;
/**
* 区域实体对象
*
* @author zxfei
* @date 2022-11-22
*/
public
class
BaseAreaEntity
extends
BaseAreaVo
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 祖级列表,逗号分隔
*/
private
String
ancestors
;
/**
* 区域名称
*/
private
String
name
;
/**
* 一体化的ID号
*/
private
String
iid
;
/**
* 一体化的父id
*/
private
String
pid
;
/**
* 是否有下级区域(True.是,False.否)
*/
private
String
haveSonArea
;
/**
* 是否有下级部门(True.是,False.否)
*/
private
String
haveSonDept
;
/**
* 是否获取部门(true.是,false.否)
*/
private
String
haveGetDept
;
/**
* 是否获取事项列表(true.是,false.否)
*/
private
String
haveGetMatterList
;
/**
* 区域编码
*/
private
String
areaCode
;
/**
* 区域等级(1.省,2.地市州,3.区县,4.街道,5.社区)
*/
private
Integer
areaLevel
;
/**
* 名称简称
*/
private
String
shortName
;
/**
* 访问地址
*/
private
String
domain
;
/**
* 区域状态 (0.停用,1.正常)
*/
private
Integer
status
;
public
BaseAreaEntity
(){}
/**
* 获取 祖级列表,逗号分隔
* @return String
*/
public
String
getAncestors
(){
return
ancestors
;
}
/**
* 设置 祖级列表,逗号分隔
* @param ancestors
*/
public
void
setAncestors
(
String
ancestors
){
this
.
ancestors
=
ancestors
;
}
/**
* 获取 区域名称
* @return String
*/
public
String
getName
(){
return
name
;
}
/**
* 设置 区域名称
* @param name
*/
public
void
setName
(
String
name
){
this
.
name
=
name
;
}
/**
* 获取 一体化的ID号
* @return String
*/
public
String
getIid
(){
return
iid
;
}
/**
* 设置 一体化的ID号
* @param iid
*/
public
void
setIid
(
String
iid
){
this
.
iid
=
iid
;
}
/**
* 获取 一体化的父id
* @return String
*/
public
String
getPid
(){
return
pid
;
}
/**
* 设置 一体化的父id
* @param pid
*/
public
void
setPid
(
String
pid
){
this
.
pid
=
pid
;
}
/**
* 获取 是否有下级区域(True.是,False.否)
* @return String
*/
public
String
getHaveSonArea
(){
return
haveSonArea
;
}
/**
* 设置 是否有下级区域(True.是,False.否)
* @param haveSonArea
*/
public
void
setHaveSonArea
(
String
haveSonArea
){
this
.
haveSonArea
=
haveSonArea
;
}
/**
* 获取 是否有下级部门(True.是,False.否)
* @return String
*/
public
String
getHaveSonDept
(){
return
haveSonDept
;
}
/**
* 设置 是否有下级部门(True.是,False.否)
* @param haveSonDept
*/
public
void
setHaveSonDept
(
String
haveSonDept
){
this
.
haveSonDept
=
haveSonDept
;
}
/**
* 获取 是否获取部门(true.是,false.否)
* @return String
*/
public
String
getHaveGetDept
(){
return
haveGetDept
;
}
/**
* 设置 是否获取部门(true.是,false.否)
* @param haveGetDept
*/
public
void
setHaveGetDept
(
String
haveGetDept
){
this
.
haveGetDept
=
haveGetDept
;
}
/**
* 获取 是否获取事项列表(true.是,false.否)
* @return String
*/
public
String
getHaveGetMatterList
(){
return
haveGetMatterList
;
}
/**
* 设置 是否获取事项列表(true.是,false.否)
* @param haveGetMatterList
*/
public
void
setHaveGetMatterList
(
String
haveGetMatterList
){
this
.
haveGetMatterList
=
haveGetMatterList
;
}
/**
* 获取 区域编码
* @return String
*/
public
String
getAreaCode
(){
return
areaCode
;
}
/**
* 设置 区域编码
* @param areaCode
*/
public
void
setAreaCode
(
String
areaCode
){
this
.
areaCode
=
areaCode
;
}
/**
* 获取 区域等级(1.省,2.地市州,3.区县,4.街道,5.社区)
* @return Integer
*/
public
Integer
getAreaLevel
(){
return
areaLevel
;
}
/**
* 设置 区域等级(1.省,2.地市州,3.区县,4.街道,5.社区)
* @param areaLevel
*/
public
void
setAreaLevel
(
Integer
areaLevel
){
this
.
areaLevel
=
areaLevel
;
}
/**
* 获取 名称简称
* @return String
*/
public
String
getShortName
(){
return
shortName
;
}
/**
* 设置 名称简称
* @param shortName
*/
public
void
setShortName
(
String
shortName
){
this
.
shortName
=
shortName
;
}
/**
* 获取 访问地址
* @return String
*/
public
String
getDomain
(){
return
domain
;
}
/**
* 设置 访问地址
* @param domain
*/
public
void
setDomain
(
String
domain
){
this
.
domain
=
domain
;
}
/**
* 获取 区域状态 (0.停用,1.正常)
* @return Integer
*/
public
Integer
getStatus
(){
return
status
;
}
/**
* 设置 区域状态 (0.停用,1.正常)
* @param status
*/
public
void
setStatus
(
Integer
status
){
this
.
status
=
status
;
}
@Override
public
int
hashCode
()
{
return
this
.
getId
().
hashCode
();
}
@Override
public
boolean
equals
(
Object
obj
)
{
if
(
obj
==
null
)
return
false
;
if
(
obj
instanceof
BaseAreaEntity
)
{
BaseAreaEntity
tmp
=
(
BaseAreaEntity
)
obj
;
if
(
this
.
getId
()
==
tmp
.
getId
())
{
return
true
;
}
}
return
false
;
}
public
String
toString
(){
StringBuilder
sb
=
new
StringBuilder
(
""
);
sb
.
append
(
",ancestors:"
).
append
(
getAncestors
());
sb
.
append
(
",name:"
).
append
(
getName
());
sb
.
append
(
",iid:"
).
append
(
getIid
());
sb
.
append
(
",pid:"
).
append
(
getPid
());
sb
.
append
(
",haveSonArea:"
).
append
(
getHaveSonArea
());
sb
.
append
(
",haveSonDept:"
).
append
(
getHaveSonDept
());
sb
.
append
(
",haveGetDept:"
).
append
(
getHaveGetDept
());
sb
.
append
(
",haveGetMatterList:"
).
append
(
getHaveGetMatterList
());
sb
.
append
(
",areaCode:"
).
append
(
getAreaCode
());
sb
.
append
(
",areaLevel:"
).
append
(
getAreaLevel
());
sb
.
append
(
",shortName:"
).
append
(
getShortName
());
sb
.
append
(
",domain:"
).
append
(
getDomain
());
sb
.
append
(
",status:"
).
append
(
getStatus
());
return
sb
.
toString
();
}
public
void
initAttrValue
(){
this
.
ancestors
=
""
;
this
.
name
=
null
;
this
.
iid
=
null
;
this
.
pid
=
null
;
this
.
haveSonArea
=
null
;
this
.
haveSonDept
=
null
;
this
.
haveGetDept
=
null
;
this
.
haveGetMatterList
=
null
;
this
.
areaCode
=
null
;
this
.
areaLevel
=
1
;
this
.
shortName
=
null
;
this
.
domain
=
null
;
this
.
status
=
1
;
}
}
\ No newline at end of file
base-manager/src/main/java/com/mortals/xhx/module/base/model/BaseAreaQuery.java
0 → 100644
View file @
8180135f
This diff is collapsed.
Click to expand it.
base-manager/src/main/java/com/mortals/xhx/module/base/model/vo/BaseAreaVo.java
0 → 100644
View file @
8180135f
package
com.mortals.xhx.module.base.model.vo
;
import
com.mortals.framework.model.BaseEntityLong
;
import
com.mortals.xhx.module.area.model.AreaEntity
;
import
com.mortals.xhx.module.base.model.BaseAreaEntity
;
import
lombok.Data
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* 区域视图对象
*
* @author zxfei
* @date 2022-11-22
*/
@Data
public
class
BaseAreaVo
extends
BaseEntityLong
{
private
List
<
BaseAreaEntity
>
children
=
new
ArrayList
<>();
}
\ No newline at end of file
base-manager/src/main/java/com/mortals/xhx/module/base/service/BaseAreaService.java
0 → 100644
View file @
8180135f
package
com.mortals.xhx.module.base.service
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.framework.model.Context
;
import
com.mortals.framework.service.ICRUDService
;
import
com.mortals.xhx.module.base.model.BaseAreaEntity
;
/**
* BaseAreaService
*
* 区域 service接口
*
* @author zxfei
* @date 2022-11-22
*/
public
interface
BaseAreaService
extends
ICRUDService
<
BaseAreaEntity
,
Long
>{
/**
* 根据顶点名称生成子节点
* @param baseAreaEntity
* @param context
*/
Rest
<
String
>
genSubAreaByRootName
(
BaseAreaEntity
baseAreaEntity
,
Context
context
);
}
\ No newline at end of file
base-manager/src/main/java/com/mortals/xhx/module/base/service/impl/BaseAreaServiceImpl.java
0 → 100644
View file @
8180135f
package
com.mortals.xhx.module.base.service.impl
;
import
cn.hutool.core.collection.CollUtil
;
import
cn.hutool.core.collection.ListUtil
;
import
com.mortals.framework.common.Rest
;
import
com.mortals.xhx.common.utils.BeanUtil
;
import
com.mortals.xhx.module.area.model.AreaEntity
;
import
com.mortals.xhx.module.area.model.AreaQuery
;
import
com.mortals.xhx.module.area.service.AreaService
;
import
com.mortals.xhx.module.base.model.BaseAreaQuery
;
import
com.mortals.xhx.module.site.model.SiteEntity
;
import
com.mortals.xhx.module.site.model.SiteQuery
;
import
org.checkerframework.checker.units.qual.A
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
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.base.dao.BaseAreaDao
;
import
com.mortals.xhx.module.base.model.BaseAreaEntity
;
import
com.mortals.xhx.module.base.service.BaseAreaService
;
import
org.springframework.util.ObjectUtils
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* BaseAreaService
* 区域 service实现
*
* @author zxfei
* @date 2022-11-22
*/
@Service
(
"baseAreaService"
)
public
class
BaseAreaServiceImpl
extends
AbstractCRUDServiceImpl
<
BaseAreaDao
,
BaseAreaEntity
,
Long
>
implements
BaseAreaService
{
@Autowired
private
AreaService
areaService
;
@Override
public
Rest
<
String
>
genSubAreaByRootName
(
BaseAreaEntity
baseAreaEntity
,
Context
context
)
{
String
areaCode
=
baseAreaEntity
.
getAreaCode
();
String
matchCode
=
areaCode
.
replaceAll
(
"(0)+$"
,
""
);
BaseAreaQuery
baseAreaQuery
=
new
BaseAreaQuery
();
baseAreaQuery
.
setAreaCode
(
matchCode
+
"%"
);
List
<
BaseAreaEntity
>
baseAreaEntityList
=
this
.
find
(
baseAreaQuery
);
//清除子区域数据
Rest
<
String
>
rest
=
areaService
.
removeAll
();
List
<
AreaEntity
>
collect
=
baseAreaEntityList
.
stream
().
map
(
item
->
{
AreaEntity
areaEntity
=
new
AreaEntity
();
areaEntity
.
initAttrValue
();
BeanUtils
.
copyProperties
(
item
,
areaEntity
,
BeanUtil
.
getNullPropertyNames
(
item
));
if
(
item
.
getAreaCode
().
equalsIgnoreCase
(
areaCode
)){
areaEntity
.
setPid
(
"0"
);
}
return
areaEntity
;
}).
collect
(
Collectors
.
toList
());
log
.
info
(
"更新数据条数:"
+
collect
.
size
());
List
<
List
<
AreaEntity
>>
partition
=
ListUtil
.
partition
(
collect
,
100
);
for
(
List
<
AreaEntity
>
areaEntities
:
partition
)
{
areaService
.
save
(
areaEntities
,
context
);
}
areaService
.
loadCache
();
return
Rest
.
ok
(
"初始化区域数据成功!"
);
}
/**
* 递归列表
*/
private
void
recursionFn
(
List
<
BaseAreaEntity
>
list
,
BaseAreaEntity
t
)
{
// 得到子节点列表
List
<
BaseAreaEntity
>
childList
=
getChildList
(
list
,
t
);
t
.
setChildren
(
childList
);
for
(
BaseAreaEntity
tChild
:
childList
)
{
if
(
hasChild
(
list
,
tChild
))
{
recursionFn
(
list
,
tChild
);
}
}
}
/**
* 得到子节点列表
*/
private
List
<
BaseAreaEntity
>
getChildList
(
List
<
BaseAreaEntity
>
list
,
BaseAreaEntity
t
)
{
return
list
.
stream
().
map
(
item
->
{
if
(!
ObjectUtils
.
isEmpty
(
item
.
getPid
())
&&
item
.
getPid
()
==
t
.
getIid
())
{
return
item
;
}
return
null
;
}).
filter
(
f
->
f
!=
null
).
collect
(
Collectors
.
toList
());
}
/**
* 判断是否有子节点
*/
private
boolean
hasChild
(
List
<
BaseAreaEntity
>
list
,
BaseAreaEntity
t
)
{
return
getChildList
(
list
,
t
).
size
()
>
0
?
true
:
false
;
}
}
\ No newline at end of file
base-manager/src/main/java/com/mortals/xhx/module/base/web/BaseAreaController.java
0 → 100644
View file @
8180135f
package
com.mortals.xhx.module.base.web
;
import
com.mortals.framework.annotation.UnAuth
;
import
com.mortals.framework.exception.AppException
;
import
com.mortals.framework.service.ICacheService
;
import
com.mortals.framework.util.ThreadPool
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.base.system.param.service.ParamService
;
import
com.mortals.xhx.common.keys.RedisCacheKeys
;
import
com.mortals.xhx.common.utils.SyncGovMatterDetailThread
;
import
com.mortals.xhx.common.utils.SyncSubAreaThread
;
import
com.mortals.xhx.module.base.model.BaseAreaQuery
;
import
com.mortals.xhx.module.site.model.SiteEntity
;
import
com.mortals.xhx.module.site.model.SiteQuery
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
com.mortals.framework.model.Context
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
com.mortals.framework.web.BaseCRUDJsonBodyMappingController
;
import
com.mortals.xhx.module.base.model.BaseAreaEntity
;
import
com.mortals.xhx.module.base.service.BaseAreaService
;
import
org.apache.commons.lang3.ArrayUtils
;
import
com.mortals.framework.util.StringUtils
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
com.alibaba.fastjson.JSONObject
;
import
java.util.Arrays
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.multipart.MultipartFile
;
import
static
com
.
mortals
.
framework
.
ap
.
SysConstains
.*;
/**
* 区域
*
* @author zxfei
* @date 2022-11-22
*/
@RestController
@RequestMapping
(
"base/area"
)
public
class
BaseAreaController
extends
BaseCRUDJsonBodyMappingController
<
BaseAreaService
,
BaseAreaEntity
,
Long
>
{
@Autowired
private
ParamService
paramService
;
@Autowired
private
ICacheService
cacheService
;
public
BaseAreaController
()
{
super
.
setModuleDesc
(
"区域"
);
}
@Override
protected
void
init
(
Map
<
String
,
Object
>
model
,
Context
context
)
{
this
.
addDict
(
model
,
"haveSonArea"
,
paramService
.
getParamBySecondOrganize
(
"BaseArea"
,
"haveSonArea"
));
this
.
addDict
(
model
,
"haveSonDept"
,
paramService
.
getParamBySecondOrganize
(
"BaseArea"
,
"haveSonDept"
));
this
.
addDict
(
model
,
"haveGetDept"
,
paramService
.
getParamBySecondOrganize
(
"BaseArea"
,
"haveGetDept"
));
this
.
addDict
(
model
,
"haveGetMatterList"
,
paramService
.
getParamBySecondOrganize
(
"BaseArea"
,
"haveGetMatterList"
));
this
.
addDict
(
model
,
"areaLevel"
,
paramService
.
getParamBySecondOrganize
(
"BaseArea"
,
"areaLevel"
));
this
.
addDict
(
model
,
"status"
,
paramService
.
getParamBySecondOrganize
(
"BaseArea"
,
"status"
));
super
.
init
(
model
,
context
);
}
/**
* 同步站点事项数据
*/
@PostMapping
(
value
=
"genSubAreaByAreaName"
)
@UnAuth
public
String
genSubAreaByAreaName
(
@RequestBody
BaseAreaQuery
areaQuery
)
{
JSONObject
jsonObject
=
new
JSONObject
();
String
busiDesc
=
"同步子区域数据"
+
this
.
getModuleDesc
();
try
{
if
(
ObjectUtils
.
isEmpty
(
areaQuery
.
getName
())
&&
ObjectUtils
.
isEmpty
(
areaQuery
.
getAreaCode
()))
{
throw
new
AppException
(
"当前初始区域编码或名称为空!"
);
}
//编码优先
BaseAreaEntity
baseAreaEntity
=
null
;
if
(!
ObjectUtils
.
isEmpty
(
areaQuery
.
getAreaCode
()))
{
baseAreaEntity
=
this
.
service
.
selectOne
(
new
BaseAreaQuery
().
areaCode
(
areaQuery
.
getAreaCode
()));
}
else
if
(!
ObjectUtils
.
isEmpty
(
areaQuery
.
getName
()))
{
baseAreaEntity
=
this
.
service
.
selectOne
(
new
BaseAreaQuery
().
name
(
areaQuery
.
getName
()));
}
if
(
ObjectUtils
.
isEmpty
(
baseAreaEntity
))
{
throw
new
AppException
(
String
.
format
(
"区域数据未找到,区域名称:%s,区域编码:%s"
,
areaQuery
.
getName
(),
areaQuery
.
getAreaCode
()));
}
boolean
bool
=
cacheService
.
setnx
(
RedisCacheKeys
.
getSyncAreaLockKey
()
+
areaQuery
.
getName
(),
areaQuery
.
getName
(),
60L
);
if
(!
bool
)
{
throw
new
AppException
(
"当前正在同步区域数据中,请勿重复提交!"
);
}
ThreadPool
.
getInstance
().
execute
(
new
SyncSubAreaThread
(
this
.
service
,
baseAreaEntity
,
getContext
()));
recordSysLog
(
request
,
busiDesc
+
" 【成功】"
);
jsonObject
.
put
(
KEY_RESULT_CODE
,
VALUE_RESULT_SUCCESS
);
jsonObject
.
put
(
KEY_RESULT_MSG
,
"初始同步区域数据命令下发成功!"
);
}
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
();
}
}
\ No newline at end of file
base-manager/src/main/java/com/mortals/xhx/module/site/web/SiteController.java
View file @
8180135f
...
...
@@ -278,7 +278,7 @@ public class SiteController extends BaseCRUDJsonBodyMappingController<SiteServic
if
(
ObjectUtils
.
isEmpty
(
siteEntity
)){
throw
new
AppException
(
"当前站点为空!"
);
}
boolean
bool
=
cacheService
.
setnx
(
RedisCacheKeys
.
get
FlowDistributed
LockKey
()
+
siteEntity
.
getAreaCode
(),
siteEntity
.
getAreaCode
(),
60L
);
boolean
bool
=
cacheService
.
setnx
(
RedisCacheKeys
.
get
SyncMatter
LockKey
()
+
siteEntity
.
getAreaCode
(),
siteEntity
.
getAreaCode
(),
60L
);
if
(!
bool
)
{
throw
new
AppException
(
"当前正在同步事项数据中,请勿重复提交!"
);
}
...
...
base-manager/src/main/resources/config/mybatis-sqlmap-config.xml
View file @
8180135f
...
...
@@ -9,7 +9,7 @@
<setting
name=
"useGeneratedKeys"
value=
"false"
/>
<setting
name=
"defaultExecutorType"
value=
"REUSE"
/>
<!-- 是否开始sql日志控制台打印 -->
<!--
<setting name="logImpl" value="STDOUT_LOGGING" />-->
<!--
<setting name="logImpl" value="STDOUT_LOGGING" />-->
</settings>
<plugins>
<plugin
interceptor=
"com.mortals.framework.thirty.mybatis.MortalsPagePlugin"
>
...
...
base-manager/src/main/resources/logback-spring.xml
View file @
8180135f
...
...
@@ -62,4 +62,15 @@
<appender-ref
ref=
"fileError"
/>
</logger>
<logger
name=
"com.mortals.xhx.module"
level=
"debug"
additivity=
"false"
>
<appender-ref
ref=
"console"
/>
<appender-ref
ref=
"fileInfo"
/>
<appender-ref
ref=
"fileError"
/>
</logger>
<!-- <logger name="com.mortals.xhx.module">
<level value="debug"/>
</logger>-->
</configuration>
\ No newline at end of file
base-manager/src/main/resources/sqlmap/module/area/AreaMapper.xml
View file @
8180135f
...
...
@@ -83,20 +83,20 @@
</trim>
</sql>
<!-- 新增 区分主键自增加还是业务插入 -->
<insert
id=
"insert"
parameterType=
"AreaEntity"
useGeneratedKeys=
"true"
keyProperty=
"id"
>
<insert
id=
"insert"
parameterType=
"AreaEntity"
>
insert into mortals_sys_area
(ancestors,name,iid,pid,haveSonArea,haveSonDept,haveGetDept,haveGetMatterList,areaCode,areaLevel,shortName,domain,status,createTime,createUserId,updateTime)
(
id,
ancestors,name,iid,pid,haveSonArea,haveSonDept,haveGetDept,haveGetMatterList,areaCode,areaLevel,shortName,domain,status,createTime,createUserId,updateTime)
VALUES
(#{ancestors},#{name},#{iid},#{pid},#{haveSonArea},#{haveSonDept},#{haveGetDept},#{haveGetMatterList},#{areaCode},#{areaLevel},#{shortName},#{domain},#{status},#{createTime},#{createUserId},#{updateTime})
(#{
id},#{
ancestors},#{name},#{iid},#{pid},#{haveSonArea},#{haveSonDept},#{haveGetDept},#{haveGetMatterList},#{areaCode},#{areaLevel},#{shortName},#{domain},#{status},#{createTime},#{createUserId},#{updateTime})
</insert>
<!-- 批量新增 -->
<insert
id=
"insertBatch"
parameterType=
"paramDto"
>
insert into mortals_sys_area
(ancestors,name,iid,pid,haveSonArea,haveSonDept,haveGetDept,haveGetMatterList,areaCode,areaLevel,shortName,domain,status,createTime,createUserId,updateTime)
(
id,
ancestors,name,iid,pid,haveSonArea,haveSonDept,haveGetDept,haveGetMatterList,areaCode,areaLevel,shortName,domain,status,createTime,createUserId,updateTime)
VALUES
<foreach
collection=
"data.dataList"
item=
"item"
index=
"index"
separator=
","
>
(#{item.ancestors},#{item.name},#{item.iid},#{item.pid},#{item.haveSonArea},#{item.haveSonDept},#{item.haveGetDept},#{item.haveGetMatterList},#{item.areaCode},#{item.areaLevel},#{item.shortName},#{item.domain},#{item.status},#{item.createTime},#{item.createUserId},#{item.updateTime})
(#{item.
id},#{item.
ancestors},#{item.name},#{item.iid},#{item.pid},#{item.haveSonArea},#{item.haveSonDept},#{item.haveGetDept},#{item.haveGetMatterList},#{item.areaCode},#{item.areaLevel},#{item.shortName},#{item.domain},#{item.status},#{item.createTime},#{item.createUserId},#{item.updateTime})
</foreach>
</insert>
...
...
base-manager/src/main/resources/sqlmap/module/base/BaseAreaMapper.xml
0 → 100644
View file @
8180135f
This diff is collapsed.
Click to expand it.
base-manager/src/test/java/com/mortals/httpclient/base/BaseAreaController.http
0 → 100644
View file @
8180135f
###登录
POST {{baseUrl}}/login/login
Content-Type: application/json
{
"loginName":"admin",
"password":"admin",
"securityCode":"8888"
}
> {%
client.global.set("SmsSet_id", JSON.parse(response.body).data.id);
client.global.set("authToken", JSON.parse(response.body).data.token);
%}
###区域列表
POST {{baseUrl}}/base/area/list
Content-Type: application/json
{
"page":1,
"size":10
}
###区域更新与保存
POST {{baseUrl}}/base/area/save
Authorization: {{authToken}}
Content-Type: application/json
{
"ancestors":"otlbm4",
"name":"rjnxoh",
"iid":"a55b2h",
"pid":"m6vxah",
"haveSonArea":"xlfy3c",
"haveSonDept":"7idn7i",
"haveGetDept":"w7isxn",
"haveGetMatterList":"05iqey",
"areaCode":"cvljmh",
"areaLevel":1,
"shortName":"aexrzi",
"domain":"dibhai",
"status":1
}
> {%
client.global.set("BaseArea_id", JSON.parse(response.body).data.id);
%}
###子区域更新
POST {{baseUrl}}/base/area/genSubAreaByAreaName
Content-Type: application/json
{
"areaCode": "510100000000"
}
###区域查看
GET {{baseUrl}}/base/area/info?id={{BaseArea_id}}
Authorization: {{authToken}}
Accept: application/json
###区域编辑
GET {{baseUrl}}/base/area/edit?id={{BaseArea_id}}
Authorization: {{authToken}}
Accept: application/json
###区域删除
GET {{baseUrl}}/base/area/delete?id={{BaseArea_id}}
Authorization: {{authToken}}
Accept: application/json
common-lib/src/main/java/com/mortals/xhx/common/keys/RedisCacheKeys.java
View file @
8180135f
...
...
@@ -35,6 +35,13 @@ public final class RedisCacheKeys {
return
"sync:matter:lock:"
;
}
/**
* @return 锁定区域
*/
public
static
String
getSyncAreaLockKey
()
{
return
"sync:area:lock:"
;
}
/**
* @return 锁定流程发起
...
...
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