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
5d78743b
Commit
5d78743b
authored
Dec 06, 2022
by
hanbing
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
556070c0
9a9e61d0
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
161 additions
and
46 deletions
+161
-46
WebConfigurer.java
...ice/src/main/java/net/wanji/web/config/WebConfigurer.java
+21
-0
TBaseCrossInfoController.java
...va/net/wanji/web/controller/TBaseCrossInfoController.java
+11
-7
TBaseAreaInfoMapper.java
...c/main/java/net/wanji/web/mapper/TBaseAreaInfoMapper.java
+7
-1
AreaTreePO.java
...eb-service/src/main/java/net/wanji/web/po/AreaTreePO.java
+34
-0
CrossInfoPO.java
...b-service/src/main/java/net/wanji/web/po/CrossInfoPO.java
+0
-1
TBaseCrossInfoService.java
...ain/java/net/wanji/web/service/TBaseCrossInfoService.java
+44
-6
BaseCrossInfoVO.java
...rvice/src/main/java/net/wanji/web/vo/BaseCrossInfoVO.java
+28
-16
CrossInfoVO.java
...b-service/src/main/java/net/wanji/web/vo/CrossInfoVO.java
+6
-15
application.yml
signal-web-service/src/main/resources/application.yml
+1
-0
TBaseAreaInfoMapper.xml
...service/src/main/resources/mapper/TBaseAreaInfoMapper.xml
+3
-0
TBaseCrossInfoMapper.xml
...ervice/src/main/resources/mapper/TBaseCrossInfoMapper.xml
+6
-0
No files found.
signal-web-service/src/main/java/net/wanji/web/config/WebConfigurer.java
0 → 100644
View file @
5d78743b
package
net
.
wanji
.
web
.
config
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.web.servlet.config.annotation.CorsRegistry
;
import
org.springframework.web.servlet.config.annotation.WebMvcConfigurer
;
@Configuration
public
class
WebConfigurer
implements
WebMvcConfigurer
{
/**
* 跨域支持
* @param registry
*/
@Override
public
void
addCorsMappings
(
CorsRegistry
registry
)
{
registry
.
addMapping
(
"/**"
)
.
allowedOrigins
(
"*"
)
.
allowedMethods
(
"GET"
,
"POST"
,
"DELETE"
,
"PUT"
)
.
allowedHeaders
(
"*"
)
.
maxAge
(
3600
*
24
);
}
}
\ No newline at end of file
signal-web-service/src/main/java/net/wanji/web/controller/TBaseCrossInfoController.java
View file @
5d78743b
...
...
@@ -4,6 +4,7 @@ package net.wanji.web.controller;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
net.wanji.web.common.Result
;
import
net.wanji.web.po.AreaTreePO
;
import
net.wanji.web.po.CrossInfoPO
;
import
net.wanji.web.po.PageResultPO
;
import
net.wanji.web.service.TBaseCrossInfoService
;
...
...
@@ -11,10 +12,7 @@ import net.wanji.web.vo.BaseCrossInfoVO;
import
net.wanji.web.vo.CrossInfoVO
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
...
...
@@ -36,13 +34,13 @@ public class TBaseCrossInfoController {
@ApiOperation
(
value
=
"路网管理-路口管理-查询"
,
notes
=
"路网管理-路口管理-查询"
)
@PostMapping
(
"/list"
)
public
Result
<
PageResultPO
<
CrossInfoPO
>>
list
(
@RequestBody
CrossInfoVO
crossInfoVO
)
{
public
Result
<
PageResultPO
<
CrossInfoPO
>>
list
(
@RequestBody
@Validated
CrossInfoVO
crossInfoVO
)
{
return
crossInfoService
.
selectAll
(
crossInfoVO
);
}
@ApiOperation
(
value
=
"路网管理-路口管理-修改"
,
notes
=
"路网管理-路口管理-修改"
)
@PostMapping
(
"/updateOne"
)
public
Result
<
String
>
updateOne
(
@RequestBody
@Validated
BaseCrossInfoVO
crossInfoPO
)
{
public
Result
<
String
>
updateOne
(
@RequestBody
@Validated
(
BaseCrossInfoVO
.
Update
.
class
)
BaseCrossInfoVO
crossInfoPO
)
{
return
crossInfoService
.
updateOne
(
crossInfoPO
);
}
...
...
@@ -54,8 +52,14 @@ public class TBaseCrossInfoController {
@ApiOperation
(
value
=
"路网管理-路口管理-增加"
,
notes
=
"路网管理-路口管理-增加"
)
@PostMapping
(
"/addOne"
)
public
Result
<
String
>
addOne
(
@RequestBody
@Validated
BaseCrossInfoVO
crossInfoPO
)
{
public
Result
<
String
>
addOne
(
@RequestBody
@Validated
(
BaseCrossInfoVO
.
Save
.
class
)
BaseCrossInfoVO
crossInfoPO
)
{
return
crossInfoService
.
addOne
(
crossInfoPO
);
}
@ApiOperation
(
value
=
"路网管理-路口管理-区域名称下拉框"
,
notes
=
"路网管理-路口管理-区域名称下拉框"
)
@GetMapping
(
"/areaTree"
)
public
Result
<
List
<
AreaTreePO
>>
areaTree
()
{
return
crossInfoService
.
areaTree
();
}
}
signal-web-service/src/main/java/net/wanji/web/mapper/TBaseAreaInfoMapper.java
View file @
5d78743b
package
net
.
wanji
.
web
.
mapper
;
import
net.wanji.web.entity.TBaseAreaInfo
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
net.wanji.web.entity.TBaseAreaInfo
;
import
net.wanji.web.po.AreaTreePO
;
import
org.springframework.stereotype.Repository
;
import
java.util.List
;
/**
* <p>
* 区域基础表 Mapper 接口
...
...
@@ -29,4 +32,7 @@ public interface TBaseAreaInfoMapper extends BaseMapper<TBaseAreaInfo> {
int
updateByPrimaryKeyWithBLOBs
(
TBaseAreaInfo
record
);
int
updateByPrimaryKey
(
TBaseAreaInfo
record
);
List
<
AreaTreePO
>
selectAreaTree
();
}
signal-web-service/src/main/java/net/wanji/web/po/AreaTreePO.java
0 → 100644
View file @
5d78743b
package
net
.
wanji
.
web
.
po
;
import
lombok.Getter
;
import
lombok.Setter
;
import
java.util.List
;
/**
* <p>
* 区域基础表
* </p>
*
* @author wj
* @since 2022-11-28
*/
@Getter
@Setter
public
class
AreaTreePO
{
/**
* 行政区划代码
*/
private
Integer
areaCode
;
/**
* 行政区划名称
*/
private
String
areaName
;
private
Integer
parentCode
;
private
List
<
AreaTreePO
>
children
;
}
signal-web-service/src/main/java/net/wanji/web/po/CrossInfoPO.java
View file @
5d78743b
package
net
.
wanji
.
web
.
po
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
lombok.Getter
;
import
lombok.Setter
;
...
...
signal-web-service/src/main/java/net/wanji/web/service/TBaseCrossInfoService.java
View file @
5d78743b
...
...
@@ -8,6 +8,7 @@ import net.wanji.web.entity.TBaseAreaInfo;
import
net.wanji.web.entity.TBaseCrossInfo
;
import
net.wanji.web.mapper.TBaseAreaInfoMapper
;
import
net.wanji.web.mapper.TBaseCrossInfoMapper
;
import
net.wanji.web.po.AreaTreePO
;
import
net.wanji.web.po.CrossInfoPO
;
import
net.wanji.web.po.PageResultPO
;
import
net.wanji.web.vo.BaseCrossInfoVO
;
...
...
@@ -18,6 +19,8 @@ import org.springframework.stereotype.Service;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
/**
* <p>
...
...
@@ -86,16 +89,29 @@ public class TBaseCrossInfoService extends ServiceImpl<TBaseCrossInfoMapper, TBa
}
private
TBaseCrossInfo
getBaseCrossInfo
(
BaseCrossInfoVO
crossInfoPO
)
{
QueryWrapper
<
TBaseAreaInfo
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
like
(
"name"
,
crossInfoPO
.
getAreaName
());
// 查询areaCode
List
<
TBaseAreaInfo
>
tBaseAreaInfos
=
areaInfoMapper
.
selectList
(
queryWrapper
);
if
(
tBaseAreaInfos
!=
null
&&
tBaseAreaInfos
.
size
()
>
0
)
{
crossInfoPO
.
setAreaCode
(
tBaseAreaInfos
.
get
(
0
).
getCode
());
if
(
crossInfoPO
.
getAreaCode
()
==
null
)
{
QueryWrapper
<
TBaseAreaInfo
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
like
(
"name"
,
crossInfoPO
.
getAreaName
());
// 查询areaCode
List
<
TBaseAreaInfo
>
tBaseAreaInfos
=
areaInfoMapper
.
selectList
(
queryWrapper
);
if
(
tBaseAreaInfos
!=
null
&&
tBaseAreaInfos
.
size
()
>
0
)
{
crossInfoPO
.
setAreaCode
(
tBaseAreaInfos
.
get
(
0
).
getCode
());
}
}
if
(
crossInfoPO
.
getAreaName
()
==
null
)
{
QueryWrapper
<
TBaseAreaInfo
>
queryWrapper
=
new
QueryWrapper
<>();
queryWrapper
.
eq
(
"code"
,
crossInfoPO
.
getAreaCode
());
List
<
TBaseAreaInfo
>
tBaseAreaInfos
=
areaInfoMapper
.
selectList
(
queryWrapper
);
if
(
tBaseAreaInfos
!=
null
&&
tBaseAreaInfos
.
size
()
>
0
)
{
crossInfoPO
.
setAreaName
(
tBaseAreaInfos
.
get
(
0
).
getName
());
}
}
TBaseCrossInfo
record
=
new
TBaseCrossInfo
();
BeanUtils
.
copyProperties
(
crossInfoPO
,
record
);
record
.
setGmtModified
(
new
Date
());
if
(
record
.
getLocation
()
==
null
)
{
record
.
setLocation
(
"null"
);
}
return
record
;
}
...
...
@@ -109,4 +125,26 @@ public class TBaseCrossInfoService extends ServiceImpl<TBaseCrossInfoMapper, TBa
crossInfoMapper
.
deleteBatchIds
(
ids
);
return
Result
.
success
(
"删除成功"
);
}
/**
* 区域名称下拉框
*
* @return {@link Result}<{@link AreaTreePO}>
*/
public
Result
<
List
<
AreaTreePO
>>
areaTree
()
{
List
<
AreaTreePO
>
infos
=
areaInfoMapper
.
selectAreaTree
();
// 构建树
Map
<
Integer
,
List
<
AreaTreePO
>>
parentCodeMap
=
infos
.
stream
().
collect
(
Collectors
.
groupingBy
(
AreaTreePO:
:
getParentCode
));
for
(
AreaTreePO
info
:
infos
)
{
for
(
Integer
parentCode
:
parentCodeMap
.
keySet
())
{
if
(
info
.
getAreaCode
().
equals
(
parentCode
))
{
info
.
setChildren
(
parentCodeMap
.
get
(
parentCode
));
break
;
}
}
}
infos
=
infos
.
stream
().
filter
(
po
->
po
.
getParentCode
()
==
null
).
collect
(
Collectors
.
toList
());
return
Result
.
success
(
infos
);
}
}
signal-web-service/src/main/java/net/wanji/web/vo/BaseCrossInfoVO.java
View file @
5d78743b
...
...
@@ -24,74 +24,86 @@ public class BaseCrossInfoVO {
* 路口ID
*/
@ApiModelProperty
(
value
=
"路口ID"
,
required
=
true
)
@NotNull
(
message
=
"路口ID不可为空"
)
@NotNull
(
message
=
"路口ID不可为空"
,
groups
=
Update
.
class
)
private
String
id
;
/**
* 路口名称
*/
@ApiModelProperty
(
value
=
"路口名称"
,
required
=
true
)
@NotNull
(
message
=
"路口名称不可为空"
)
@NotNull
(
message
=
"路口名称不可为空"
,
groups
=
{
Save
.
class
,
Update
.
class
}
)
private
String
name
;
/**
* 路口类型
*/
@ApiModelProperty
(
value
=
"路口类型"
,
required
=
true
)
@NotNull
(
message
=
"路口类型不可为空"
)
@NotNull
(
message
=
"路口类型不可为空"
,
groups
=
{
Save
.
class
,
Update
.
class
}
)
private
Integer
type
;
/**
* 路口级别
*/
@ApiModelProperty
(
value
=
"路口级别"
,
required
=
true
)
@NotNull
(
message
=
"路口级别不可为空"
)
@NotNull
(
message
=
"路口级别不可为空"
,
groups
=
{
Save
.
class
,
Update
.
class
}
)
private
Integer
level
;
/**
* 行政区划代码
*/
@ApiModelProperty
(
value
=
"行政区划代码"
)
@NotNull
(
message
=
"行政区划代码不可为空"
,
groups
=
{
Save
.
class
,
Update
.
class
})
private
Integer
areaCode
;
/**
* 行政区划名称
*/
@ApiModelProperty
(
value
=
"行政区划名称"
,
required
=
true
)
@NotNull
(
message
=
"行政区划名称不可为空"
)
private
Integer
areaName
;
private
String
areaName
;
/**
* 路口位置
*/
@ApiModelProperty
(
value
=
"路口位置"
,
required
=
true
)
@NotNull
(
message
=
"路口位置不可为空"
)
//@NotNull(message = "路口位置不可为空", groups = {Save.class, Update.class}
)
private
String
location
;
/**
* 是否信控路口:1是;0否
*/
@ApiModelProperty
(
value
=
"是否信控路口:1是;0否"
,
required
=
true
)
@NotNull
(
message
=
"是否信控路口不可为空"
)
@Max
(
value
=
1
,
message
=
"是否信控路口:1是;0否"
)
@Min
(
value
=
0
,
message
=
"是否信控路口:1是;0否"
)
@NotNull
(
message
=
"是否信控路口不可为空"
,
groups
=
{
Save
.
class
,
Update
.
class
}
)
@Max
(
value
=
1
,
message
=
"是否信控路口:1是;0否"
,
groups
=
{
Save
.
class
,
Update
.
class
}
)
@Min
(
value
=
0
,
message
=
"是否信控路口:1是;0否"
,
groups
=
{
Save
.
class
,
Update
.
class
}
)
private
Integer
isSignal
;
/**
* 是否启动优化:1是;0否
*/
@ApiModelProperty
(
value
=
"是否启动优化:1是;0否"
,
required
=
true
)
@NotNull
(
message
=
"是否启动优化不可为空"
)
@Max
(
value
=
1
,
message
=
"是否启动优化:1是;0否"
)
@Min
(
value
=
0
,
message
=
"是否启动优化:1是;0否"
)
@NotNull
(
message
=
"是否启动优化不可为空"
,
groups
=
{
Save
.
class
,
Update
.
class
}
)
@Max
(
value
=
1
,
message
=
"是否启动优化:1是;0否"
,
groups
=
{
Save
.
class
,
Update
.
class
}
)
@Min
(
value
=
0
,
message
=
"是否启动优化:1是;0否"
,
groups
=
{
Save
.
class
,
Update
.
class
}
)
private
Integer
isStart
;
/**
* 是否下发方案:1是;0否
*/
@ApiModelProperty
(
value
=
"是否下发方案:1是;0否"
,
required
=
true
)
@NotNull
(
message
=
"是否下发方案不可为空"
)
@Max
(
value
=
1
,
message
=
"是否下发方案:1是;0否"
)
@Min
(
value
=
0
,
message
=
"是否下发方案:1是;0否"
)
@NotNull
(
message
=
"是否下发方案不可为空"
,
groups
=
{
Save
.
class
,
Update
.
class
}
)
@Max
(
value
=
1
,
message
=
"是否下发方案:1是;0否"
,
groups
=
{
Save
.
class
,
Update
.
class
}
)
@Min
(
value
=
0
,
message
=
"是否下发方案:1是;0否"
,
groups
=
{
Save
.
class
,
Update
.
class
}
)
private
Integer
isSend
;
/**
* 保存的时候校验分组
*/
public
interface
Save
{
}
/**
* 更新的时候校验分组
*/
public
interface
Update
{
}
}
signal-web-service/src/main/java/net/wanji/web/vo/CrossInfoVO.java
View file @
5d78743b
...
...
@@ -4,10 +4,6 @@ import io.swagger.annotations.ApiModel;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.validation.constraints.Max
;
import
javax.validation.constraints.Min
;
import
javax.validation.constraints.NotNull
;
/**
* @author wj
* @date 2022/11/28 9:42:39
...
...
@@ -20,41 +16,36 @@ public class CrossInfoVO {
* 路口名称
*/
@ApiModelProperty
(
value
=
"路口名称"
,
required
=
true
)
@NotNull
(
message
=
"路口名称不可为空"
)
private
String
name
;
/**
* 行政区划代码
*/
@ApiModelProperty
(
value
=
"行政区划代码"
,
required
=
true
)
private
Integer
areaCode
;
/**
* 行政区划名称
*/
@ApiModelProperty
(
value
=
"行政区划名称"
,
required
=
true
)
@NotNull
(
message
=
"行政区划名称不可为空"
)
private
String
areaName
;
/**
* 是否信控路口:1是;0否
*/
@ApiModelProperty
(
value
=
"是否信控路口:1是;0否"
,
required
=
true
)
@NotNull
(
message
=
"是否信控路口不可为空"
)
@Max
(
value
=
1
,
message
=
"是否信控路口:1是;0否"
)
@Min
(
value
=
0
,
message
=
"是否信控路口:1是;0否"
)
private
Integer
isSignal
;
/**
* 是否启动优化:1是;0否
*/
@ApiModelProperty
(
value
=
"是否启动优化:1是;0否"
,
required
=
true
)
@NotNull
(
message
=
"是否启动优化不可为空"
)
@Max
(
value
=
1
,
message
=
"是否启动优化:1是;0否"
)
@Min
(
value
=
0
,
message
=
"是否启动优化:1是;0否"
)
private
Integer
isStart
;
/**
* 是否下发方案:1是;0否
*/
@ApiModelProperty
(
value
=
"是否下发方案:1是;0否"
,
required
=
true
)
@NotNull
(
message
=
"是否下发方案不可为空"
)
@Max
(
value
=
1
,
message
=
"是否下发方案:1是;0否"
)
@Min
(
value
=
0
,
message
=
"是否下发方案:1是;0否"
)
private
Integer
isSend
;
@ApiModelProperty
(
value
=
"当前页"
)
...
...
signal-web-service/src/main/resources/application.yml
View file @
5d78743b
...
...
@@ -15,6 +15,7 @@ spring:
master
:
type
:
com.alibaba.druid.pool.DruidDataSource
url
:
jdbc:mysql://10.100.1.74:3306/t_signal_control?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&sessionVariables=sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'&useSSL=false&useCursorFetch=true
# url: jdbc:mysql://10.102.1.112:53306/t_signal_control?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&sessionVariables=sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'&useSSL=false&useCursorFetch=true
username
:
root
password
:
Wanji300552
driverClassName
:
com.mysql.cj.jdbc.Driver
...
...
signal-web-service/src/main/resources/mapper/TBaseAreaInfoMapper.xml
View file @
5d78743b
...
...
@@ -155,4 +155,7 @@
gmt_modified = #{gmtModified,jdbcType=TIMESTAMP}
where id = #{id,jdbcType=INTEGER}
</update>
<select
id=
"selectAreaTree"
resultType=
"net.wanji.web.po.AreaTreePO"
>
select code areaCode, name areaName, parent parentCode from t_base_area_info
</select>
</mapper>
\ No newline at end of file
signal-web-service/src/main/resources/mapper/TBaseCrossInfoMapper.xml
View file @
5d78743b
...
...
@@ -191,6 +191,9 @@
<if
test=
"name != null and name != ''"
>
and c.name like concat('%',#{name},'%')
</if>
<if
test=
"areaCode != null and areaCode != ''"
>
and a.code = #{areaCode}
</if>
<if
test=
"areaName != null and areaName != ''"
>
and a.name = #{areaName}
</if>
...
...
@@ -216,6 +219,9 @@
<if
test=
"name != null and name != ''"
>
and c.name like concat('%',#{name},'%')
</if>
<if
test=
"areaCode != null and areaCode != ''"
>
and a.code = #{areaCode}
</if>
<if
test=
"areaName != null and areaName != ''"
>
and a.name = #{areaName}
</if>
...
...
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