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
8a44ad2f
Commit
8a44ad2f
authored
Dec 29, 2022
by
hanbing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
方案管理-路口配置-保存渠化配置
parent
a143e240
Changes
16
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
412 additions
and
39 deletions
+412
-39
CrossConfigController.java
...et/wanji/web/controller/scheme/CrossConfigController.java
+7
-9
CrossIdDTO.java
...l-service/src/main/java/net/wanji/web/dto/CrossIdDTO.java
+2
-0
DirListElement.java
...rvice/src/main/java/net/wanji/web/dto/DirListElement.java
+22
-0
LaneListElement.java
...vice/src/main/java/net/wanji/web/dto/LaneListElement.java
+21
-0
SaveLaneInfoDTO.java
...vice/src/main/java/net/wanji/web/dto/SaveLaneInfoDTO.java
+26
-0
CrossDirInfoMapper.java
.../java/net/wanji/web/mapper/scheme/CrossDirInfoMapper.java
+5
-3
CrossLaneLightsMapper.java
...va/net/wanji/web/mapper/scheme/CrossLaneLightsMapper.java
+15
-0
LaneInfoMapper.java
...main/java/net/wanji/web/mapper/scheme/LaneInfoMapper.java
+20
-0
CrossDirInfoPO.java
...src/main/java/net/wanji/web/po/scheme/CrossDirInfoPO.java
+3
-0
CrossLaneLightsPO.java
.../main/java/net/wanji/web/po/scheme/CrossLaneLightsPO.java
+32
-0
LaneInfoPO.java
...ice/src/main/java/net/wanji/web/po/scheme/LaneInfoPO.java
+74
-0
CrossConfigService.java
...java/net/wanji/web/service/scheme/CrossConfigService.java
+2
-2
CrossConfigServiceImpl.java
...wanji/web/service/scheme/impl/CrossConfigServiceImpl.java
+104
-19
CrossDirInfoMapper.xml
...-service/src/main/resources/mapper/CrossDirInfoMapper.xml
+14
-6
CrossLaneLightsMapper.xml
...rvice/src/main/resources/mapper/CrossLaneLightsMapper.xml
+24
-0
LaneInfoMapper.xml
...trol-service/src/main/resources/mapper/LaneInfoMapper.xml
+41
-0
No files found.
signal-control-service/src/main/java/net/wanji/web/controller/scheme/CrossConfigController.java
View file @
8a44ad2f
...
...
@@ -5,9 +5,8 @@ import io.swagger.annotations.ApiOperation;
import
io.swagger.annotations.ApiResponse
;
import
io.swagger.annotations.ApiResponses
;
import
net.wanji.web.common.entity.JsonViewObject
;
import
net.wanji.web.dto.
CrossId
DTO
;
import
net.wanji.web.dto.
SaveLaneInfo
DTO
;
import
net.wanji.web.service.scheme.impl.CrossConfigServiceImpl
;
import
net.wanji.web.vo.scheme.CrossDirsVO
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -29,18 +28,17 @@ public class CrossConfigController {
this
.
crossConfigServiceImpl
=
crossConfigServiceImpl
;
}
@ApiOperation
(
value
=
"
获取路口方向列表"
,
notes
=
"获取路口方向列表
"
,
response
=
JsonViewObject
.
class
,
@ApiOperation
(
value
=
"
保存渠化配置"
,
notes
=
"保存渠化配置
"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@PostMapping
(
value
=
"/
listCrossDirs
"
,
@PostMapping
(
value
=
"/
saveLaneInfo
"
,
produces
=
MediaType
.
APPLICATION_JSON
,
consumes
=
MediaType
.
APPLICATION_JSON
)
@ApiResponses
({
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
CrossDirsVO
.
class
),
@ApiResponse
(
code
=
200
,
message
=
"OK"
,
response
=
JsonViewObject
.
class
),
})
public
JsonViewObject
listCrossDirs
(
@RequestBody
CrossIdDTO
crossIdDTO
)
{
String
crossId
=
crossIdDTO
.
getCrossId
();
CrossDirsVO
crossDirsVO
=
crossConfigServiceImpl
.
listCrossDirs
(
crossId
);
public
JsonViewObject
saveLaneInfo
(
@RequestBody
SaveLaneInfoDTO
saveLaneInfoDTO
)
{
crossConfigServiceImpl
.
saveLaneInfo
(
saveLaneInfoDTO
);
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
return
jsonViewObject
.
success
(
crossDirsVO
);
return
jsonViewObject
.
success
();
}
}
signal-control-service/src/main/java/net/wanji/web/dto/CrossIdDTO.java
View file @
8a44ad2f
...
...
@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModelProperty;
import
lombok.Data
;
/**
* 方案管理-路口配置-获取路口方向列表输入参数
*
* @author Kent HAN
* @date 2022/12/20 10:17
*/
...
...
signal-control-service/src/main/java/net/wanji/web/dto/DirListElement.java
0 → 100644
View file @
8a44ad2f
package
net
.
wanji
.
web
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
@NoArgsConstructor
@Data
public
class
DirListElement
{
/**
* dir : 1
* laneList : [{"direction":1,"name":"01","laneType":1}]
*/
@ApiModelProperty
(
value
=
"车道进口方向:1北;2东北;3东;4东南;5南;6西南;7西;8西北"
,
required
=
true
)
private
Integer
dir
;
@ApiModelProperty
(
value
=
"是否有行人过街:0否;1是"
,
required
=
true
)
private
Integer
isPersonCross
;
private
List
<
LaneListElement
>
laneList
;
}
\ No newline at end of file
signal-control-service/src/main/java/net/wanji/web/dto/LaneListElement.java
0 → 100644
View file @
8a44ad2f
package
net
.
wanji
.
web
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
@NoArgsConstructor
@Data
public
class
LaneListElement
{
/**
* direction : 1
* name : 01
* laneType : 1
*/
@ApiModelProperty
(
value
=
"0无方向 箭头 1:直行2:左转,3:右转,4:掉头,5:左直,6:右直,7:左转掉头,8:左直掉头, 9:左直右, 10:左右转 11:左弯 12:右弯"
,
required
=
true
)
private
Integer
direction
;
@ApiModelProperty
(
value
=
"车道代码"
,
required
=
true
)
private
String
name
;
@ApiModelProperty
(
value
=
"1机动车;2非机动车;3公交专用;4可变;5潮汐"
,
required
=
true
)
private
Integer
laneType
;
}
\ No newline at end of file
signal-control-service/src/main/java/net/wanji/web/dto/SaveLaneInfoDTO.java
0 → 100644
View file @
8a44ad2f
package
net
.
wanji
.
web
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.List
;
/**
* 方案管理-路口配置-保存渠化配置输入参数
*
* @author Kent HAN
* @date 2022/12/20 10:17
*/
@NoArgsConstructor
@Data
public
class
SaveLaneInfoDTO
{
/**
* crossId : 13FNK0C6790
* dirList : [{"dir":1,"laneList":[{"direction":1,"name":"01","laneType":1}]}]
*/
@ApiModelProperty
(
value
=
"路口ID,如:c7e7b1f352dd4acab4a60088eb391cca"
,
required
=
true
)
private
String
crossId
;
private
List
<
DirListElement
>
dirList
;
}
signal-control-service/src/main/java/net/wanji/web/mapper/scheme/CrossDirInfoMapper.java
View file @
8a44ad2f
...
...
@@ -4,13 +4,15 @@ import io.lettuce.core.dynamic.annotation.Param;
import
net.wanji.web.po.scheme.CrossDirInfoPO
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* @author Kent HAN
* @date 2022/12/20 10:32
*/
@Repository
public
interface
CrossDirInfoMapper
{
List
<
CrossDirInfoPO
>
listByCrossID
(
@Param
(
"crossId"
)
String
crossId
);
void
deleteInByDirType
(
@Param
(
"crossId"
)
String
crossId
,
@Param
(
"dir"
)
Integer
dir
);
void
insertOne
(
CrossDirInfoPO
crossDirInfoPO
);
void
updateIsPedestrian
(
@Param
(
"isPersonCross"
)
Integer
isPersonCross
,
@Param
(
"id"
)
String
id
);
}
signal-control-service/src/main/java/net/wanji/web/mapper/scheme/CrossLaneLightsMapper.java
0 → 100644
View file @
8a44ad2f
package
net
.
wanji
.
web
.
mapper
.
scheme
;
import
io.lettuce.core.dynamic.annotation.Param
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* @author Kent HAN
* @date 2022/12/20 10:32
*/
@Repository
public
interface
CrossLaneLightsMapper
{
void
deleteByLaneIds
(
@Param
(
"ids"
)
List
<
String
>
ids
);
}
signal-control-service/src/main/java/net/wanji/web/mapper/scheme/LaneInfoMapper.java
0 → 100644
View file @
8a44ad2f
package
net
.
wanji
.
web
.
mapper
.
scheme
;
import
io.lettuce.core.dynamic.annotation.Param
;
import
net.wanji.web.po.scheme.LaneInfoPO
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* @author Kent HAN
* @date 2022/12/20 10:32
*/
@Repository
public
interface
LaneInfoMapper
{
List
<
LaneInfoPO
>
selectByCrossIdAndDir
(
@Param
(
"crossId"
)
String
crossId
,
@Param
(
"dir"
)
Integer
dir
);
void
deleteByCrossIdAndDir
(
@Param
(
"crossId"
)
String
crossId
,
@Param
(
"dir"
)
Integer
dir
);
void
insertBatch
(
@Param
(
"entities"
)
List
<
LaneInfoPO
>
laneInfoPOListForInsert
);
}
signal-control-service/src/main/java/net/wanji/web/po/scheme/CrossDirInfoPO.java
View file @
8a44ad2f
...
...
@@ -26,6 +26,9 @@ public class CrossDirInfoPO {
/** 方向路段长度 */
@ApiModelProperty
(
name
=
"方向路段长度"
,
notes
=
""
)
private
Double
length
;
/** 是否有行人过街:0否;1是 */
@ApiModelProperty
(
name
=
"是否有行人过街:0否;1是"
,
notes
=
""
)
private
Integer
isPedestrian
;
/** 创建时间 */
@ApiModelProperty
(
name
=
"创建时间"
,
notes
=
""
)
private
Date
gmtCreate
;
...
...
signal-control-service/src/main/java/net/wanji/web/po/scheme/CrossLaneLightsPO.java
0 → 100644
View file @
8a44ad2f
package
net
.
wanji
.
web
.
po
.
scheme
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
* @author Kent HAN
* @date 2022/12/29 9:17
*/
@Data
public
class
CrossLaneLightsPO
{
/** 主键 */
@ApiModelProperty
(
name
=
"主键"
,
notes
=
""
)
private
Integer
id
;
/** 灯组ID */
@ApiModelProperty
(
name
=
"灯组ID"
,
notes
=
""
)
private
Integer
lightsId
;
/** 车道ID */
@ApiModelProperty
(
name
=
"车道ID"
,
notes
=
""
)
private
String
laneId
;
/** 路口ID */
@ApiModelProperty
(
name
=
"路口ID"
,
notes
=
""
)
private
String
crossId
;
/** 创建时间 */
@ApiModelProperty
(
name
=
"创建时间"
,
notes
=
""
)
private
Date
gmtCreate
;
/** 修改时间 */
@ApiModelProperty
(
name
=
"修改时间"
,
notes
=
""
)
private
Date
gmtModified
;
}
signal-control-service/src/main/java/net/wanji/web/po/scheme/LaneInfoPO.java
0 → 100644
View file @
8a44ad2f
package
net
.
wanji
.
web
.
po
.
scheme
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
* @author Kent HAN
* @date 2022/12/28 17:45
*/
@Data
public
class
LaneInfoPO
{
/**
* 车道ID(路口ID_方向_序号)
*/
@ApiModelProperty
(
name
=
"车道ID(路口ID_方向_序号)"
,
notes
=
""
)
private
String
id
;
/**
* 车道代码
*/
@ApiModelProperty
(
name
=
"车道代码"
,
notes
=
""
)
private
String
code
;
/**
* 车道序号;从左车道开始编号11、12、13...
*/
@ApiModelProperty
(
name
=
"车道序号"
,
notes
=
"从左车道开始编号11、12、13..."
)
private
Integer
sort
;
/**
* 车道方向:1北;2东北;3东;4东南;5南;6西南;7西;8西北
*/
@ApiModelProperty
(
name
=
"车道方向:1北;2东北;3东;4东南;5南;6西南;7西;8西北"
,
notes
=
""
)
private
Integer
dir
;
/**
* 车道转向:1左转;2直行;3右转;4掉头;5左直;6直右;7左直右;8左右;9左转掉头;10直行掉头;11右转掉头;12左直掉头;13直右掉头;14左直右掉头;15左右掉头
*/
@ApiModelProperty
(
name
=
"0无方向 车道转向:1左转;2直行;3右转;4掉头;5左直;6直右;7左直右;8左右;9左转掉头;10直行掉头;11右转掉头;12左直掉头;13直右掉头;14左直右掉头;15左右掉头; "
,
notes
=
""
)
private
Integer
turn
;
/**
* 车道类别:1机动车;2非机动车;3公交专用;4可变;5潮汐
*/
@ApiModelProperty
(
name
=
"车道类别:1机动车;2非机动车;3公交专用;4可变;5潮汐"
,
notes
=
""
)
private
Integer
category
;
/**
* 路口ID
*/
@ApiModelProperty
(
name
=
"路口ID"
,
notes
=
""
)
private
String
crossId
;
/**
* 路段编号
*/
@ApiModelProperty
(
name
=
"路段编号"
,
notes
=
""
)
private
String
rid
;
/**
* 车道长度
*/
@ApiModelProperty
(
name
=
"车道长度"
,
notes
=
""
)
private
Double
length
;
/**
* 车道宽度
*/
@ApiModelProperty
(
name
=
"车道宽度"
,
notes
=
""
)
private
Double
width
;
/**
* 创建时间
*/
@ApiModelProperty
(
name
=
"创建时间"
,
notes
=
""
)
private
Date
gmtCreate
;
/**
* 修改时间
*/
@ApiModelProperty
(
name
=
"修改时间"
,
notes
=
""
)
private
Date
gmtModified
;
}
\ No newline at end of file
signal-control-service/src/main/java/net/wanji/web/service/scheme/CrossConfigService.java
View file @
8a44ad2f
package
net
.
wanji
.
web
.
service
.
scheme
;
import
net.wanji.web.
vo.scheme.CrossDirsV
O
;
import
net.wanji.web.
dto.SaveLaneInfoDT
O
;
/**
* @author Kent HAN
* @date 2022/12/20 10:26
*/
public
interface
CrossConfigService
{
CrossDirsVO
listCrossDirs
(
String
crossId
);
void
saveLaneInfo
(
SaveLaneInfoDTO
saveLaneInfoDTO
);
}
signal-control-service/src/main/java/net/wanji/web/service/scheme/impl/CrossConfigServiceImpl.java
View file @
8a44ad2f
package
net
.
wanji
.
web
.
service
.
scheme
.
impl
;
import
net.wanji.web.common.enums.CrossDirEnum
;
import
net.wanji.web.common.enums.CrossInOutEnum
;
import
net.wanji.web.dto.DirListElement
;
import
net.wanji.web.dto.LaneListElement
;
import
net.wanji.web.dto.SaveLaneInfoDTO
;
import
net.wanji.web.mapper.scheme.CrossDirInfoMapper
;
import
net.wanji.web.mapper.scheme.CrossLaneLightsMapper
;
import
net.wanji.web.mapper.scheme.LaneInfoMapper
;
import
net.wanji.web.po.scheme.CrossDirInfoPO
;
import
net.wanji.web.po.scheme.LaneInfoPO
;
import
net.wanji.web.service.scheme.CrossConfigService
;
import
net.wanji.web.vo.scheme.CrossDirsVO
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
...
...
@@ -18,28 +21,110 @@ import java.util.List;
@Service
public
class
CrossConfigServiceImpl
implements
CrossConfigService
{
private
final
CrossDirInfoMapper
crossDirInfoMapper
;
private
final
LaneInfoMapper
laneInfoMapper
;
private
final
CrossLaneLightsMapper
crossLaneLightsMapper
;
public
CrossConfigServiceImpl
(
CrossDirInfoMapper
crossDirInfoMapper
)
{
public
CrossConfigServiceImpl
(
CrossDirInfoMapper
crossDirInfoMapper
,
LaneInfoMapper
laneInfoMapper
,
CrossLaneLightsMapper
crossLaneLightsMapper
)
{
this
.
crossDirInfoMapper
=
crossDirInfoMapper
;
this
.
laneInfoMapper
=
laneInfoMapper
;
this
.
crossLaneLightsMapper
=
crossLaneLightsMapper
;
}
@Override
public
CrossDirsVO
listCrossDirs
(
String
crossId
)
{
List
<
CrossDirInfoPO
>
crossDirInfoPOList
=
crossDirInfoMapper
.
listByCrossID
(
crossId
);
CrossDirsVO
crossDirsVO
=
new
CrossDirsVO
();
crossDirsVO
.
setCrossId
(
crossId
);
ArrayList
<
String
>
dirs
=
new
ArrayList
<>();
for
(
CrossDirInfoPO
crossDirInfoPO
:
crossDirInfoPOList
)
{
Integer
inOutTypeCode
=
crossDirInfoPO
.
getInOutType
();
if
(
inOutTypeCode
==
1
)
{
// 只取进口
Integer
dirTypeCode
=
crossDirInfoPO
.
getDirType
();
String
dirType
=
CrossDirEnum
.
getMsgByCode
(
dirTypeCode
);
String
inOutType
=
CrossInOutEnum
.
getMsgByCode
(
inOutTypeCode
);
String
dir
=
dirType
+
inOutType
;
dirs
.
add
(
dir
);
public
void
saveLaneInfo
(
SaveLaneInfoDTO
saveLaneInfoDTO
)
{
String
crossId
=
saveLaneInfoDTO
.
getCrossId
();
List
<
DirListElement
>
dirList
=
saveLaneInfoDTO
.
getDirList
();
for
(
DirListElement
dirListElement
:
dirList
)
{
// 获取数据库中已有数据
Integer
dir
=
dirListElement
.
getDir
();
List
<
LaneInfoPO
>
laneInfoPOList
=
laneInfoMapper
.
selectByCrossIdAndDir
(
crossId
,
dir
);
// 按车道代码排序
List
<
LaneListElement
>
laneListFromClient
=
dirListElement
.
getLaneList
();
laneListFromClient
.
sort
((
x
,
y
)
->
String
.
CASE_INSENSITIVE_ORDER
.
compare
(
x
.
getName
(),
y
.
getName
()));
List
<
LaneListElement
>
laneListFromDb
=
buildLaneListFromDb
(
laneInfoPOList
);
laneListFromDb
.
sort
((
x
,
y
)
->
String
.
CASE_INSENSITIVE_ORDER
.
compare
(
x
.
getName
(),
y
.
getName
()));
// 比较入参数据与已有数据
if
(!
laneListFromClient
.
equals
(
laneListFromDb
))
{
// 删除车道表数据
laneInfoMapper
.
deleteByCrossIdAndDir
(
crossId
,
dir
);
// 删除路口方向表数据
crossDirInfoMapper
.
deleteInByDirType
(
crossId
,
dir
);
// 删除灯组-车道关系表数据
List
<
String
>
laneIds
=
getLaneIds
(
laneInfoPOList
);
crossLaneLightsMapper
.
deleteByLaneIds
(
laneIds
);
// 插入进口信息
List
<
LaneInfoPO
>
laneInfoPOListForInsert
=
getLaneInfoPOListForInsert
(
crossId
,
dirListElement
,
dir
,
laneListFromClient
);
laneInfoMapper
.
insertBatch
(
laneInfoPOListForInsert
);
// 插入路口方向
CrossDirInfoPO
crossDirInfoPO
=
getCrossDirInfoPO
(
crossId
,
dirListElement
);
crossDirInfoMapper
.
insertOne
(
crossDirInfoPO
);
}
// 更新是否有行人道
String
id
=
getId
(
crossId
,
dirListElement
);
crossDirInfoMapper
.
updateIsPedestrian
(
dirListElement
.
getIsPersonCross
(),
id
);
}
crossDirsVO
.
setCrossDirs
(
dirs
);
return
crossDirsVO
;
}
private
static
String
getId
(
String
crossId
,
DirListElement
dirListElement
)
{
CrossDirInfoPO
crossDirInfoPO
=
new
CrossDirInfoPO
();
Integer
dir
=
dirListElement
.
getDir
();
String
id
=
crossId
+
dir
+
1
+
0
;
// todo 暂无主辅路序号,赋值0
return
id
;
}
private
static
CrossDirInfoPO
getCrossDirInfoPO
(
String
crossId
,
DirListElement
dirListElement
)
{
CrossDirInfoPO
crossDirInfoPO
=
new
CrossDirInfoPO
();
Integer
dir
=
dirListElement
.
getDir
();
crossDirInfoPO
.
setId
(
crossId
+
dir
+
1
+
0
);
// todo 暂无主辅路序号,赋值0
crossDirInfoPO
.
setDirType
(
dir
);
crossDirInfoPO
.
setInOutType
(
1
);
crossDirInfoPO
.
setCrossId
(
crossId
);
crossDirInfoPO
.
setLength
(
0
D
);
// todo 暂无长度,赋值0
crossDirInfoPO
.
setIsPedestrian
(
dirListElement
.
getIsPersonCross
());
return
crossDirInfoPO
;
}
private
static
List
<
LaneInfoPO
>
getLaneInfoPOListForInsert
(
String
crossId
,
DirListElement
dirListElement
,
Integer
dir
,
List
<
LaneListElement
>
laneListFromClient
)
{
List
<
LaneInfoPO
>
laneInfoPOListForInsert
=
new
ArrayList
<>();
for
(
LaneListElement
laneListElement
:
laneListFromClient
)
{
LaneInfoPO
laneInfoPO
=
new
LaneInfoPO
();
// 序号
String
name
=
laneListElement
.
getName
();
// 01
String
substring
=
name
.
substring
(
name
.
length
()
-
1
);
// 1
String
s
=
1
+
substring
;
int
sort
=
Integer
.
parseInt
(
s
);
laneInfoPO
.
setId
(
crossId
+
dirListElement
.
getDir
()
+
sort
);
laneInfoPO
.
setCode
(
name
);
laneInfoPO
.
setSort
(
sort
);
laneInfoPO
.
setDir
(
dir
);
laneInfoPO
.
setTurn
(
laneListElement
.
getDirection
());
laneInfoPO
.
setCategory
(
laneListElement
.
getLaneType
());
laneInfoPO
.
setCrossId
(
crossId
);
laneInfoPOListForInsert
.
add
(
laneInfoPO
);
}
return
laneInfoPOListForInsert
;
}
private
List
<
String
>
getLaneIds
(
List
<
LaneInfoPO
>
laneInfoPOList
)
{
List
<
String
>
laneIds
=
new
ArrayList
<>();
for
(
LaneInfoPO
laneInfoPO
:
laneInfoPOList
)
{
String
id
=
laneInfoPO
.
getId
();
laneIds
.
add
(
id
);
}
return
laneIds
;
}
private
List
<
LaneListElement
>
buildLaneListFromDb
(
List
<
LaneInfoPO
>
laneInfoPOList
)
{
List
<
LaneListElement
>
laneListElements
=
new
ArrayList
<>();
for
(
LaneInfoPO
laneInfoPO
:
laneInfoPOList
)
{
LaneListElement
laneListElement
=
new
LaneListElement
();
laneListElement
.
setDirection
(
laneInfoPO
.
getTurn
());
laneListElement
.
setName
(
laneInfoPO
.
getCode
());
laneListElement
.
setLaneType
(
laneInfoPO
.
getCategory
());
laneListElements
.
add
(
laneListElement
);
}
return
laneListElements
;
}
}
signal-control-service/src/main/resources/mapper/CrossDirInfoMapper.xml
View file @
8a44ad2f
...
...
@@ -9,16 +9,24 @@
<result
property=
"inOutType"
column=
"in_out_type"
/>
<result
property=
"crossId"
column=
"cross_id"
/>
<result
property=
"length"
column=
"length"
/>
<result
property=
"isPedestrian"
column=
"is_pedestrian"
/>
<result
property=
"gmtCreate"
column=
"gmt_create"
/>
<result
property=
"gmtModified"
column=
"gmt_modified"
/>
</resultMap>
<select
id=
"listByCrossID"
resultMap=
"BaseResultMap"
>
select
id,dir_type,in_out_type,cross_id,length,gmt_create,gmt_modified
from t_base_cross_dir_info
where cross_id = #{crossId}
</select>
<insert
id=
"insertOne"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
insert into t_base_cross_dir_info(id,dir_type,in_out_type,cross_id,length,is_pedestrian)
values (#{id},#{dirType},#{inOutType},#{crossId},#{length},#{isPedestrian})
</insert>
<update
id=
"updateIsPedestrian"
>
update t_base_cross_dir_info
set is_pedestrian = #{isPersonCross}
where id = #{id}
</update>
<delete
id=
"deleteInByDirType"
>
delete from t_base_cross_dir_info
where cross_id = #{crossId} and in_out_type = 1 and dir_type = #{dir}
</delete>
</mapper>
signal-control-service/src/main/resources/mapper/CrossLaneLightsMapper.xml
0 → 100644
View file @
8a44ad2f
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"net.wanji.web.mapper.scheme.CrossLaneLightsMapper"
>
<!-- 通用查询映射结果 -->
<resultMap
type=
"net.wanji.web.po.scheme.CrossLaneLightsPO"
id=
"BaseResultMap"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"lightsId"
column=
"lights_id"
/>
<result
property=
"laneId"
column=
"lane_id"
/>
<result
property=
"crossId"
column=
"cross_id"
/>
<result
property=
"gmtCreate"
column=
"gmt_create"
/>
<result
property=
"gmtModified"
column=
"gmt_modified"
/>
</resultMap>
<delete
id=
"deleteByLaneIds"
>
delete from t_base_cross_lane_lights
where id in
<foreach
collection=
"ids"
item=
"id"
separator=
","
open=
"("
close=
")"
>
#{id}
</foreach>
</delete>
</mapper>
signal-control-service/src/main/resources/mapper/LaneInfoMapper.xml
0 → 100644
View file @
8a44ad2f
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"net.wanji.web.mapper.scheme.LaneInfoMapper"
>
<!-- 通用查询映射结果 -->
<resultMap
type=
"net.wanji.web.po.scheme.LaneInfoPO"
id=
"BaseResultMap"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"code"
column=
"code"
/>
<result
property=
"sort"
column=
"sort"
/>
<result
property=
"dir"
column=
"dir"
/>
<result
property=
"turn"
column=
"turn"
/>
<result
property=
"category"
column=
"category"
/>
<result
property=
"crossId"
column=
"cross_id"
/>
<result
property=
"rid"
column=
"rid"
/>
<result
property=
"length"
column=
"length"
/>
<result
property=
"width"
column=
"width"
/>
<result
property=
"gmtCreate"
column=
"gmt_create"
/>
<result
property=
"gmtModified"
column=
"gmt_modified"
/>
</resultMap>
<insert
id=
"insertBatch"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
insert into t_base_lane_info(id,code,sort,dir,turn,category,cross_id)
values
<foreach
collection=
"entities"
item=
"entity"
separator=
","
>
(#{entity.id},#{entity.code},#{entity.sort},#{entity.dir},#{entity.turn},#{entity.category},#{entity.crossId})
</foreach>
</insert>
<delete
id=
"deleteByCrossIdAndDir"
>
delete from t_base_lane_info
where cross_id = #{crossId} and dir = #{dir}
</delete>
<select
id=
"selectByCrossIdAndDir"
resultMap=
"BaseResultMap"
>
select
id,code,sort,dir,turn,category,cross_id,rid,length,width,gmt_create,gmt_modified
from t_base_lane_info
where cross_id = #{crossId} and dir = #{dir}
</select>
</mapper>
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