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
53fd61c0
Commit
53fd61c0
authored
Feb 20, 2025
by
zhouleilei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1、新增通过反射获取注解的注释2、新增定时同步定时任务(暂未开启)3、获取方案号从视图中获取
parent
354681b3
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
123 additions
and
22 deletions
+123
-22
SignalSynchronizationTask.java
...in/java/net/wanji/web/task/SignalSynchronizationTask.java
+64
-0
application-docker.properties
...-service/src/main/resources/application-docker.properties
+5
-5
StaticInfoServiceImpl.java
...wanji/utc/hisense/service/impl/StaticInfoServiceImpl.java
+18
-17
ApiModelPropertyUtils.java
...c/main/java/net/wanji/utc/util/ApiModelPropertyUtils.java
+36
-0
No files found.
signal-control-service/src/main/java/net/wanji/web/task/SignalSynchronizationTask.java
0 → 100644
View file @
53fd61c0
package
net
.
wanji
.
web
.
task
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.common.framework.rest.JsonViewObject
;
import
net.wanji.databus.bo.CrossIdBO
;
import
net.wanji.databus.dao.mapper.BaseCrossInfoMapper
;
import
net.wanji.databus.po.BaseCrossInfoPO
;
import
net.wanji.databus.vo.CrossInfoVO
;
import
net.wanji.web.service.impl.PlanSendServiceImpl
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.joda.time.LocalDateTime
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.scheduling.annotation.Scheduled
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @author zhouleilei
* 信号机同步任务
* @date 2025/02/18 11:35
*/
//@Component
//@RequiredArgsConstructor
@Slf4j
public
class
SignalSynchronizationTask
{
@Autowired
private
BaseCrossInfoMapper
baseCrossInfoMapper
;
@Autowired
private
PlanSendServiceImpl
planSendService
;
@Scheduled
(
fixedRate
=
1
*
1000
)
public
void
syncSignalStatus
()
{
log
.
info
(
"===开始同步,当前时间:{}"
,
LocalDateTime
.
now
());
CrossInfoVO
crossInfoVO
=
new
CrossInfoVO
();
crossInfoVO
.
setIsSignal
(
1
);
List
<
BaseCrossInfoPO
>
baseCrossInfoPOS
=
baseCrossInfoMapper
.
selectAll
(
crossInfoVO
);
List
<
String
>
errorCrossIds
=
new
ArrayList
<>();
List
<
String
>
okCrossIds
=
new
ArrayList
<>();
if
(
CollectionUtils
.
isNotEmpty
(
baseCrossInfoPOS
))
{
baseCrossInfoPOS
.
forEach
(
po
->
{
CrossIdBO
crossIdBO
=
new
CrossIdBO
();
crossIdBO
.
setCrossId
(
po
.
getId
());
try
{
JsonViewObject
jsonViewObject
=
planSendService
.
syncScheme
(
crossIdBO
);
if
(
jsonViewObject
.
getCode
()
==
200
)
{
okCrossIds
.
add
(
po
.
getId
());
log
.
info
(
"路口同步成功,路口号:{},时间:{}"
,
po
.
getId
(),
LocalDateTime
.
now
());
}
else
{
errorCrossIds
.
add
(
po
.
getId
());
log
.
error
(
"路口同步失败路口号:{},时间:{}"
,
po
.
getId
(),
LocalDateTime
.
now
());
}
}
catch
(
Exception
e
)
{
throw
new
RuntimeException
(
e
);
}
});
}
log
.
info
(
"===同步完成,当前时间:{},成功路口:{},失败路口:{}"
,
LocalDateTime
.
now
(),
okCrossIds
,
errorCrossIds
);
System
.
exit
(
0
);
}
}
signal-feign-service/src/main/resources/application-docker.properties
View file @
53fd61c0
utc.service.url
=
http://173.17.0.1:32000/utc
utc.dt.service.url
=
http://173.17.0.1:39002/utc-dt
utc.hisense.service.url
=
http://173.17.0.1:39003/utc-hisense
control.url
=
http://173.17.0.1:32001/web
ehualu.url
=
http://173.17.0.1:30015
\ No newline at end of file
utc.service.url
=
http://192.168.150.1:32000/utc
utc.dt.service.url
=
http://192.168.150.1:39002/utc-dt
utc.hisense.service.url
=
http://192.168.150.1:39003/utc-hisense
control.url
=
http://192.168.150.1:32001/web
ehualu.url
=
http://192.168.150.1:30015
\ No newline at end of file
signal-utc-hisense-service/src/main/java/net/wanji/utc/hisense/service/impl/StaticInfoServiceImpl.java
View file @
53fd61c0
...
...
@@ -806,23 +806,9 @@ public class StaticInfoServiceImpl implements StaticInfoService {
element
.
addElement
(
HttpConstants
.
MESSAGETYPE
).
setText
(
HttpConstants
.
MESSAGETYPE_30
);
Element
messageContent
=
(
Element
)
document
.
selectSingleNode
(
HttpConstants
.
SYSTEMSCRIPTION_MESSAGECONTENT
);
messageContent
.
addElement
(
HttpConstants
.
SPOT
).
setText
(
crossInfoPOExt
.
getCode
());
//获取当前运行的方案号
/*
//获取当前运行的方案号 从灯态中获取
Integer integer = planMap.get(crossSchemeRingsDTO.getCrossId());
/*if (ObjectUtil.isEmpty(integer)){
CoordinationStatus coordinationStatus = crossPlan(crossSchemeRingsDTO.getCrossId());
if (ObjectUtil.isEmpty(coordinationStatus)) {
//获取方案号失败
log.error("请求方案环图前,获取当前运行方案号失败,crossId:{}", crossSchemeRingsDTO.getCrossId());
return null;
} else if ("255".equals(coordinationStatus.getCoordPatternStatus())) {
//黃闪
CrossSchemeRings crossSchemeRings = new CrossSchemeRings();
crossSchemeRings.setSpot(crossSchemeRingsDTO.getCrossId());
crossSchemeRings.setPattern(coordinationStatus.getCoordPatternStatus());
return crossSchemeRings;
}
integer = Integer.valueOf(coordinationStatus.getCoordPatternStatus());
}*/
if (ObjectUtil.isEmpty(integer)){
//获取方案号失败
log.error("请求方案环图前,获取当前运行方案号失败,没有该路口的灯态信息,crossId:{}", crossSchemeRingsDTO.getCrossId());
...
...
@@ -834,8 +820,23 @@ public class StaticInfoServiceImpl implements StaticInfoService {
crossSchemeRings.setPattern(String.valueOf(integer));
return crossSchemeRings;
}
messageContent.addElement(HttpConstants.PATTERN).setText(String.valueOf(integer));*/
//获取当前运行的方案号 从海信视图获取
CoordinationStatus
coordinationStatus
=
crossPlan
(
crossSchemeRingsDTO
.
getCrossId
());
if
(
ObjectUtil
.
isEmpty
(
coordinationStatus
))
{
//获取方案号失败
log
.
error
(
"请求方案环图前,获取当前运行方案号失败,crossId:{}"
,
crossSchemeRingsDTO
.
getCrossId
());
return
null
;
}
else
if
(
"255"
.
equals
(
coordinationStatus
.
getCoordPatternStatus
()))
{
//黃闪
CrossSchemeRings
crossSchemeRings
=
new
CrossSchemeRings
();
crossSchemeRings
.
setSpot
(
crossSchemeRingsDTO
.
getCrossId
());
crossSchemeRings
.
setPattern
(
coordinationStatus
.
getCoordPatternStatus
());
return
crossSchemeRings
;
}
messageContent
.
addElement
(
HttpConstants
.
PATTERN
).
setText
(
coordinationStatus
.
getCoordPatternStatus
());
messageContent
.
addElement
(
HttpConstants
.
PATTERN
).
setText
(
String
.
valueOf
(
integer
));
//给海信发送http请求
String
post
=
OkHttpClientUtil
.
xmlPost
(
hisenseUrl
,
document
.
asXML
());
...
...
signal-utc-service/src/main/java/net/wanji/utc/util/ApiModelPropertyUtils.java
0 → 100644
View file @
53fd61c0
package
net
.
wanji
.
utc
.
util
;
import
cn.hutool.core.util.ObjectUtil
;
import
io.swagger.annotations.ApiModelProperty
;
import
net.wanji.databus.dao.entity.BaseCrossSchemePO
;
import
java.lang.reflect.Field
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @ClassName ApiModelPropertyUtils
* @Description 通过反射打印 属性的注解
* @Author zhouleilei
* @Date 2025/2/12 17:22
*/
public
class
ApiModelPropertyUtils
{
public
static
void
main
(
String
[]
args
)
{
// GreenwaveScenePO areaIndex = new GreenwaveScenePO();
// System.out.println(areaIndex.toString().replaceAll("=null",""));
// 替换为你的类
Class
<
BaseCrossSchemePO
>
clazz
=
BaseCrossSchemePO
.
class
;
List
<
String
>
list
=
new
ArrayList
<>();
// 遍历所有字段
for
(
Field
field
:
clazz
.
getDeclaredFields
())
{
// 获取 @ApiModelProperty 注解
ApiModelProperty
apiModelProperty
=
field
.
getAnnotation
(
ApiModelProperty
.
class
);
if
(
apiModelProperty
!=
null
)
{
System
.
out
.
print
(
field
.
getName
()
+
"\t"
);
System
.
out
.
println
(
ObjectUtil
.
isNotEmpty
(
apiModelProperty
.
value
())?
apiModelProperty
.
value
():
apiModelProperty
.
name
());
// list.add(apiModelProperty.value());
// 你可以继续打印其他属性如 notes, required 等
}
}
}
}
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