Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
T
traffic-signal-platform
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
signal
traffic-signal-platform
Commits
83a93397
Commit
83a93397
authored
Jun 25, 2023
by
hanbing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[add] 路口管理,新增/修改子区
parent
f877d5c4
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
133 additions
and
24 deletions
+133
-24
AddOrUpdateAreaBO.java
...ice/src/main/java/net/wanji/web/bo/AddOrUpdateAreaBO.java
+6
-4
PolygonBO.java
...rol-service/src/main/java/net/wanji/web/bo/PolygonBO.java
+1
-1
CrossManageController.java
.../java/net/wanji/web/controller/CrossManageController.java
+8
-8
CrossManageService.java
...c/main/java/net/wanji/web/service/CrossManageService.java
+4
-4
CrossManageServiceImpl.java
...va/net/wanji/web/service/impl/CrossManageServiceImpl.java
+23
-6
CrossIdAndNameVO.java
...vice/src/main/java/net/wanji/web/vo/CrossIdAndNameVO.java
+1
-1
BaseAreaInfoMapper.java
...java/net/wanji/databus/dao/mapper/BaseAreaInfoMapper.java
+3
-0
BaseCrossInfoMapper.java
...ava/net/wanji/databus/dao/mapper/BaseCrossInfoMapper.java
+6
-0
BaseAreaInfoPO.java
...us/src/main/java/net/wanji/databus/po/BaseAreaInfoPO.java
+46
-0
BaseAreaInfoMapper.xml
wj-databus/src/main/resources/mapper/BaseAreaInfoMapper.xml
+9
-0
BaseCrossInfoMapper.xml
wj-databus/src/main/resources/mapper/BaseCrossInfoMapper.xml
+26
-0
No files found.
signal-
optimize-service/src/main/java/net/wanji/opt
/bo/AddOrUpdateAreaBO.java
→
signal-
control-service/src/main/java/net/wanji/web
/bo/AddOrUpdateAreaBO.java
View file @
83a93397
package
net
.
wanji
.
opt
.
bo
;
package
net
.
wanji
.
web
.
bo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
@@ -16,13 +16,15 @@ import java.util.List;
public
class
AddOrUpdateAreaBO
{
@ApiModelProperty
(
value
=
"子区ID"
)
private
Integer
areaId
;
@ApiModelProperty
(
value
=
"子区名称"
)
@ApiModelProperty
(
value
=
"子区名称"
,
required
=
true
)
@Pattern
(
regexp
=
"^[\\u4E00-\\u9FA5\\w\\-]{0,20}$"
,
message
=
"子区名称只能包含中文、英文、数字、下划线和中横线,0~20个字符"
)
private
String
areaName
;
@Pattern
(
regexp
=
"^[\\u4E00-\\u9FA5\\w\\-]{0,200}$"
,
message
=
"子区名称只能包含中文、英文、数字、下划线和中横线,0~200个字符"
)
@ApiModelProperty
(
value
=
"备注"
)
@ApiModelProperty
(
value
=
"备注"
,
required
=
true
)
private
String
remark
;
@ApiModelProperty
(
value
=
"路口ID数组"
)
@ApiModelProperty
(
value
=
"路口ID数组"
,
required
=
true
)
private
List
<
String
>
crossIdList
;
@ApiModelProperty
(
value
=
"区域坐标"
)
private
String
wkt
;
}
signal-
optimize-service/src/main/java/net/wanji/opt
/bo/PolygonBO.java
→
signal-
control-service/src/main/java/net/wanji/web
/bo/PolygonBO.java
View file @
83a93397
package
net
.
wanji
.
opt
.
bo
;
package
net
.
wanji
.
web
.
bo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
signal-
optimize-service/src/main/java/net/wanji/opt/controller/Cross
Controller.java
→
signal-
control-service/src/main/java/net/wanji/web/controller/CrossManage
Controller.java
View file @
83a93397
package
net
.
wanji
.
opt
.
controller
;
package
net
.
wanji
.
web
.
controller
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.
opt
.bo.AddOrUpdateAreaBO
;
import
net.wanji.
opt
.bo.PolygonBO
;
import
net.wanji.
opt
.service.impl.CrossManageServiceImpl
;
import
net.wanji.
opt
.vo.CrossIdAndNameVO
;
import
net.wanji.
web
.bo.AddOrUpdateAreaBO
;
import
net.wanji.
web
.bo.PolygonBO
;
import
net.wanji.
web
.service.impl.CrossManageServiceImpl
;
import
net.wanji.
web
.vo.CrossIdAndNameVO
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -22,14 +22,14 @@ import java.util.List;
*
* @author Kent HAN
*/
@Api
(
value
=
"CrossController"
,
description
=
"路口管理"
)
@Api
(
value
=
"Cross
Manage
Controller"
,
description
=
"路口管理"
)
@RequestMapping
(
"/crossManage"
)
@RestController
public
class
CrossController
{
public
class
Cross
Manage
Controller
{
private
final
CrossManageServiceImpl
crossManageService
;
public
CrossController
(
CrossManageServiceImpl
crossManageService
)
{
public
Cross
Manage
Controller
(
CrossManageServiceImpl
crossManageService
)
{
this
.
crossManageService
=
crossManageService
;
}
...
...
signal-
optimize-service/src/main/java/net/wanji/opt
/service/CrossManageService.java
→
signal-
control-service/src/main/java/net/wanji/web
/service/CrossManageService.java
View file @
83a93397
package
net
.
wanji
.
opt
.
service
;
package
net
.
wanji
.
web
.
service
;
import
net.wanji.
opt
.bo.AddOrUpdateAreaBO
;
import
net.wanji.
opt
.bo.PolygonBO
;
import
net.wanji.
opt
.vo.CrossIdAndNameVO
;
import
net.wanji.
web
.bo.AddOrUpdateAreaBO
;
import
net.wanji.
web
.bo.PolygonBO
;
import
net.wanji.
web
.vo.CrossIdAndNameVO
;
import
java.util.List
;
...
...
signal-
optimize-service/src/main/java/net/wanji/opt
/service/impl/CrossManageServiceImpl.java
→
signal-
control-service/src/main/java/net/wanji/web
/service/impl/CrossManageServiceImpl.java
View file @
83a93397
package
net
.
wanji
.
opt
.
service
.
impl
;
package
net
.
wanji
.
web
.
service
.
impl
;
import
cn.hutool.core.util.ObjectUtil
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -6,11 +6,12 @@ import net.wanji.common.gts.GeometryUtil;
import
net.wanji.common.utils.tool.CrossUtil
;
import
net.wanji.databus.dao.mapper.BaseAreaInfoMapper
;
import
net.wanji.databus.dao.mapper.BaseCrossInfoMapper
;
import
net.wanji.databus.po.BaseAreaInfoPO
;
import
net.wanji.databus.po.BaseCrossInfoPO
;
import
net.wanji.
opt
.bo.AddOrUpdateAreaBO
;
import
net.wanji.
opt
.bo.PolygonBO
;
import
net.wanji.
opt
.service.CrossManageService
;
import
net.wanji.
opt
.vo.CrossIdAndNameVO
;
import
net.wanji.
web
.bo.AddOrUpdateAreaBO
;
import
net.wanji.
web
.bo.PolygonBO
;
import
net.wanji.
web
.service.CrossManageService
;
import
net.wanji.
web
.vo.CrossIdAndNameVO
;
import
org.locationtech.jts.geom.Geometry
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -65,15 +66,31 @@ public class CrossManageServiceImpl implements CrossManageService {
String
areaName
=
addOrUpdateAreaBO
.
getAreaName
();
String
remark
=
addOrUpdateAreaBO
.
getRemark
();
List
<
String
>
crossIdList
=
addOrUpdateAreaBO
.
getCrossIdList
();
String
wkt
=
addOrUpdateAreaBO
.
getWkt
();
if
(
ObjectUtil
.
isNotEmpty
(
areaId
))
{
// 修改
// 修改子区名称和备注
baseAreaInfoMapper
.
updateAreaNameAndRemark
(
areaName
,
remark
,
areaId
);
// 修改子区关联路口
List
<
String
>
oldIds
=
crossInfoMapper
.
selectIdsByAreaId
(
areaId
);
crossInfoMapper
.
deleteAreaId
(
oldIds
);
crossInfoMapper
.
updateAreaId
(
crossIdList
,
areaId
);
}
else
{
// 新增
// 新增子区
BaseAreaInfoPO
baseAreaInfoPO
=
new
BaseAreaInfoPO
();
baseAreaInfoPO
.
setCode
(
0
);
baseAreaInfoPO
.
setName
(
areaName
);
baseAreaInfoPO
.
setType
(
5
);
baseAreaInfoPO
.
setParentCode
(
0
);
baseAreaInfoPO
.
setLocation
(
""
);
baseAreaInfoPO
.
setPolylines
(
wkt
);
baseAreaInfoPO
.
setRemark
(
remark
);
baseAreaInfoMapper
.
insertOne
(
baseAreaInfoPO
);
Integer
newAreaId
=
baseAreaInfoPO
.
getId
();
// 关联子区路口
crossInfoMapper
.
updateAreaId
(
crossIdList
,
newAreaId
);
}
}
}
signal-
optimize-service/src/main/java/net/wanji/opt
/vo/CrossIdAndNameVO.java
→
signal-
control-service/src/main/java/net/wanji/web
/vo/CrossIdAndNameVO.java
View file @
83a93397
package
net
.
wanji
.
opt
.
vo
;
package
net
.
wanji
.
web
.
vo
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
...
...
wj-databus/src/main/java/net/wanji/databus/dao/mapper/BaseAreaInfoMapper.java
View file @
83a93397
package
net
.
wanji
.
databus
.
dao
.
mapper
;
import
net.wanji.databus.po.BaseAreaInfoPO
;
import
org.springframework.stereotype.Repository
;
/**
...
...
@@ -11,4 +12,6 @@ import org.springframework.stereotype.Repository;
public
interface
BaseAreaInfoMapper
{
void
updateAreaNameAndRemark
(
String
name
,
String
remark
,
Integer
id
);
void
insertOne
(
BaseAreaInfoPO
baseAreaInfoPO
);
}
wj-databus/src/main/java/net/wanji/databus/dao/mapper/BaseCrossInfoMapper.java
View file @
83a93397
...
...
@@ -50,4 +50,10 @@ public interface BaseCrossInfoMapper extends BaseMapper<TBaseCrossInfo> {
Integer
countSelectAll
(
CrossInfoVO
crossInfoVO
);
List
<
CrossDeviceStatusInfoOutVO
>
listCrossDeviceStatusInfo
();
void
deleteAreaId
(
List
<
String
>
ids
);
List
<
String
>
selectIdsByAreaId
(
Integer
areaId
);
void
updateAreaId
(
List
<
String
>
ids
,
Integer
areaId
);
}
wj-databus/src/main/java/net/wanji/databus/po/BaseAreaInfoPO.java
0 → 100644
View file @
83a93397
package
net
.
wanji
.
databus
.
po
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
* @author duanruiming
* @date 2023/03/10 17:27
*/
@Data
@ApiModel
(
value
=
"BaseAreaInfoPO"
,
description
=
"区域基础信息"
)
public
class
BaseAreaInfoPO
{
/** 主键 */
@ApiModelProperty
(
value
=
"主键"
,
notes
=
""
)
private
Integer
id
;
/** 行政区划代码 */
@ApiModelProperty
(
value
=
"行政区划代码"
,
notes
=
""
)
private
Integer
code
;
/** 区域名称 */
@ApiModelProperty
(
value
=
"区域名称"
,
notes
=
""
)
private
String
name
;
/** 区划类型:1行政区划;2交警辖区;3商圈;4交通小区;5热点区域;6道路 */
@ApiModelProperty
(
value
=
"区划类型:1行政区划;2交警辖区;3商圈;4交通小区;5热点区域;6道路"
,
notes
=
""
)
private
Integer
type
;
/** 父节点 */
@ApiModelProperty
(
value
=
"父节点"
,
notes
=
""
)
private
Integer
parentCode
;
/** 区域中心点 */
@ApiModelProperty
(
value
=
"区域中心点"
,
notes
=
""
)
private
String
location
;
/** 区域边界 */
@ApiModelProperty
(
value
=
"区域边界"
,
notes
=
""
)
private
String
polylines
;
/** 备注 */
@ApiModelProperty
(
value
=
"备注"
,
notes
=
""
)
private
String
remark
;
/** 创建时间 */
@ApiModelProperty
(
value
=
"创建时间"
,
notes
=
""
)
private
Date
gmtCreate
;
/** 修改时间 */
@ApiModelProperty
(
value
=
"修改时间"
,
notes
=
""
)
private
Date
gmtModified
;
}
wj-databus/src/main/resources/mapper/BaseAreaInfoMapper.xml
View file @
83a93397
...
...
@@ -2,6 +2,15 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"net.wanji.databus.dao.mapper.BaseAreaInfoMapper"
>
<sql
id=
"baseColumnList"
>
code,name,type,parent_code,location,polylines,remark
</sql>
<insert
id=
"insertOne"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
insert into t_base_area_info (
<include
refid=
"baseColumnList"
/>
)
values (#{code},#{name},#{type},#{parentCode},#{location},#{polylines},#{remark})
</insert>
<update
id=
"updateAreaNameAndRemark"
>
update t_base_area_info
<set>
...
...
wj-databus/src/main/resources/mapper/BaseCrossInfoMapper.xml
View file @
83a93397
...
...
@@ -44,6 +44,16 @@
from t_base_cross_info
where id = #{id,jdbcType=CHAR}
</delete>
<update
id=
"deleteAreaId"
>
update t_base_cross_info
set area_id = 0
where id in
<foreach
collection=
"ids"
item=
"id"
separator=
","
open=
"("
close=
")"
>
#{id}
</foreach>
</update>
<insert
id=
"insert"
parameterType=
"net.wanji.databus.po.TBaseCrossInfo"
>
insert into t_base_cross_info (id, name, type,
level, area_id, location,
...
...
@@ -177,6 +187,16 @@
gmt_modified = #{gmtModified,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=CHAR}
</update>
<update
id=
"updateAreaId"
>
update t_base_cross_info
set area_id = #{areaId}
where id in
<foreach
collection=
"ids"
item=
"id"
separator=
","
open=
"("
close=
")"
>
#{id}
</foreach>
</update>
<select
id=
"selectAll"
parameterType=
"net.wanji.databus.vo.CrossInfoPageVO"
resultMap=
"SelectAllMap"
>
<bind
name=
"startNum"
value=
"(pageNum - 1) * pageSize"
/>
select c.id,c.name,c.type,c.level,c.area_id,a.name
...
...
@@ -272,4 +292,10 @@
from t_base_cross_info
where name = #{name}
</select>
<select
id=
"selectIdsByAreaId"
resultType=
"java.lang.String"
>
select id from t_base_cross_info
where area_id = #{areaId}
</select>
</mapper>
\ 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