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
8fa379ad
Commit
8fa379ad
authored
Feb 06, 2025
by
zhoushiguang
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
0305498e
16d28797
Changes
12
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
221 additions
and
69 deletions
+221
-69
InduceFontHistController.java
...wanji/opt/controller/induce/InduceFontHistController.java
+15
-0
InduceFontHistService.java
...a/net/wanji/opt/service/induce/InduceFontHistService.java
+7
-0
InduceFontHistServiceImpl.java
...ji/opt/service/induce/impl/InduceFontHistServiceImpl.java
+9
-0
StrategyControlSwitchReq.java
...et/wanji/opt/synthesis/pojo/StrategyControlSwitchReq.java
+1
-1
PushStrategyControlServiceImpl.java
...ynthesis/service/impl/PushStrategyControlServiceImpl.java
+3
-1
StrategyControlServiceImpl.java
...pt/synthesis/service/impl/StrategyControlServiceImpl.java
+101
-31
StrategyCrossResultMapper.xml
...e/src/main/resources/mapper/StrategyCrossResultMapper.xml
+21
-15
SignalStatusServiceImpl.java
...nji/utc/hisense/service/impl/SignalStatusServiceImpl.java
+10
-3
StaticInfoServiceImpl.java
...wanji/utc/hisense/service/impl/StaticInfoServiceImpl.java
+27
-10
WanJiCommonStaticInfoServiceImpl.java
...ice/staticinfo/impl/WanJiCommonStaticInfoServiceImpl.java
+1
-1
StringUtils.java
...service/src/main/java/net/wanji/utc/util/StringUtils.java
+24
-5
BaseCrossSchemeMapper.xml
...tabus/src/main/resources/mapper/BaseCrossSchemeMapper.xml
+2
-2
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/controller/induce/InduceFontHistController.java
View file @
8fa379ad
...
...
@@ -77,4 +77,19 @@ public class InduceFontHistController {
return
jsonViewObject
;
}
@ApiOperation
(
value
=
"通过字体id删除诱导屏字体信息"
,
notes
=
"通过字体id删除诱导屏字体信息"
,
response
=
JsonViewObject
.
class
,
produces
=
MediaType
.
APPLICATION_JSON
)
@GetMapping
(
value
=
"/deleteOneById"
,
produces
=
MediaType
.
APPLICATION_JSON
)
public
JsonViewObject
deleteOneById
(
@RequestParam
(
"id"
)
Integer
id
)
{
JsonViewObject
jsonViewObject
=
JsonViewObject
.
newInstance
();
try
{
induceFontHistService
.
deleteOneById
(
id
);
jsonViewObject
.
success
(
"删除成功"
);
}
catch
(
Exception
e
)
{
jsonViewObject
.
fail
(
I18nResourceBundle
.
getConstants
(
"GET_FAILED_MSG"
));
log
.
error
(
"{} byLastOne error"
,
this
.
getClass
().
getSimpleName
(),
e
);
}
return
jsonViewObject
;
}
}
signal-optimize-service/src/main/java/net/wanji/opt/service/induce/InduceFontHistService.java
View file @
8fa379ad
...
...
@@ -28,4 +28,11 @@ public interface InduceFontHistService {
* @return
*/
InduceFontHist
getLastOne
(
String
equipCode
);
/**
* 通过id删除诱导屏文字信息
* @param id
* @return
*/
void
deleteOneById
(
Integer
id
);
}
signal-optimize-service/src/main/java/net/wanji/opt/service/induce/impl/InduceFontHistServiceImpl.java
View file @
8fa379ad
...
...
@@ -60,4 +60,13 @@ public class InduceFontHistServiceImpl implements InduceFontHistService {
}
return
null
;
}
@Override
public
void
deleteOneById
(
Integer
id
)
{
if
(
Objects
.
nonNull
(
id
))
{
InduceFontHist
hist
=
new
InduceFontHist
();
hist
.
setId
(
id
.
longValue
());
induceFontHistMapper
.
deleteById
(
id
);
}
}
}
signal-optimize-service/src/main/java/net/wanji/opt/synthesis/pojo/StrategyControlSwitchReq.java
View file @
8fa379ad
...
...
@@ -9,7 +9,7 @@ import java.util.List;
*/
@Data
public
class
StrategyControlSwitchReq
{
private
List
<
Detail
>
req
;
private
List
<
Detail
>
data
;
@Data
public
static
class
Detail
{
...
...
signal-optimize-service/src/main/java/net/wanji/opt/synthesis/service/impl/PushStrategyControlServiceImpl.java
View file @
8fa379ad
...
...
@@ -27,6 +27,7 @@ public class PushStrategyControlServiceImpl implements PushStrategyControlServic
@Override
public
Result
push
(
StrategyControlReq
req
)
throws
Exception
{
//String url = "http://37.12.182.50:8082/api/traffic/strategy/info";
//String url = "http://37.12.182.50:8182/api/traffic/strategy/info";
try
{
ObjectMapper
mapper
=
JacksonUtils
.
getInstance
();
String
resultStr
=
RestTemplateTool
.
post
(
url
,
mapper
.
writeValueAsString
(
req
));
...
...
@@ -45,7 +46,8 @@ public class PushStrategyControlServiceImpl implements PushStrategyControlServic
@Override
public
Result
switchPush
(
StrategyControlSwitchReq
req
)
throws
Exception
{
String
switchUrl
=
"http://37.12.182.50:8082/api/traffic/strategy/control"
;
//String switchUrl = "http://37.12.182.50:8082/api/traffic/strategy/control";
//String switchUrl = "http://37.12.182.50:8182/api/traffic/strategy/control";
try
{
ObjectMapper
mapper
=
JacksonUtils
.
getInstance
();
String
resultStr
=
RestTemplateTool
.
post
(
switchUrl
,
mapper
.
writeValueAsString
(
req
));
...
...
signal-optimize-service/src/main/java/net/wanji/opt/synthesis/service/impl/StrategyControlServiceImpl.java
View file @
8fa379ad
This diff is collapsed.
Click to expand it.
signal-optimize-service/src/main/resources/mapper/StrategyCrossResultMapper.xml
View file @
8fa379ad
...
...
@@ -7,21 +7,27 @@
<select
id=
"selectAICrossList"
resultType=
"net.wanji.opt.synthesis.pojo.StrategyCrossResultEntity"
>
select t1.id as cross_id, t1.name as cross_name, t2.current_algo, t2.issue_time
from t_base_cross_info t1 left join
(
select cross_id, cross_name, max(issue_time) issue_time, current_algo
from t_strategy_cross_result
where issue_time > #{date} and response_code = 200
union
select cross_id, cross_name, max(issue_time) issue_time, current_algo
from t_strategy_cross_result
where issue_time > #{date} and response_code
<
0
group by cross_id
order by issue_time
) t2 on t1.id = t2.cross_id
where t1.is_signal = 1
order by t2.issue_time desc;
select t1.id as crossId, t1.name as crossName, t2.issue_time, t2.current_algo, t2.response_code, t1.location as responseContent from
(select id, name, location from t_base_cross_info where is_signal = 1) t1
left join (select cross_id, max(issue_time) issue_time, current_algo, response_code from t_strategy_cross_result group by cross_id) t2
on t1.id = t2.cross_id
and t2.issue_time > DATE_FORMAT(now(),'%Y-%m-%d 00:00:00')
order by t2.issue_time desc
<!-- select t1.id as cross_id, t1.name as cross_name, t2.current_algo, t2.issue_time-->
<!-- from t_base_cross_info t1 left join-->
<!-- (-->
<!-- select cross_id, cross_name, max(issue_time) issue_time, current_algo-->
<!-- from t_strategy_cross_result-->
<!-- where issue_time > #{date} and response_code = 200-->
<!-- union-->
<!-- select cross_id, cross_name, max(issue_time) issue_time, current_algo-->
<!-- from t_strategy_cross_result-->
<!-- where issue_time > #{date} and response_code < 0-->
<!-- group by cross_id-->
<!-- order by issue_time-->
<!-- ) t2 on t1.id = t2.cross_id-->
<!-- where t1.is_signal = 1-->
<!-- order by t2.issue_time desc;-->
</select>
</mapper>
\ No newline at end of file
signal-utc-hisense-service/src/main/java/net/wanji/utc/hisense/service/impl/SignalStatusServiceImpl.java
View file @
8fa379ad
...
...
@@ -24,7 +24,6 @@ import net.wanji.utc.hisense.pojo.dto.CrossSchemePhaseCountDownDTO;
import
net.wanji.utc.hisense.pojo.dto.PhaseCountDownDTO
;
import
net.wanji.utc.hisense.service.SignalStatusService
;
import
net.wanji.utc.hisense.util.OkHttpClientUtil
;
import
net.wanji.utc.hisense.util.OkHttpClientUtil
;
import
org.dom4j.Document
;
import
org.dom4j.DocumentException
;
import
org.dom4j.DocumentHelper
;
...
...
@@ -54,6 +53,8 @@ public class SignalStatusServiceImpl implements SignalStatusService {
private
String
shensiUrl
;
@Value
(
"${hisenseLightsStatus.baiduUrl}"
)
private
String
baiduUrl
;
@Value
(
"${hisenseLightsStatus.yiGouUrl}"
)
private
String
yiGouUrl
;
@Override
public
List
<
SignalStatusLogPO
>
runningStatusAlarm
(
String
crossId
)
throws
DocumentException
{
...
...
@@ -193,7 +194,7 @@ public class SignalStatusServiceImpl implements SignalStatusService {
public
void
receiveLightStatus
(
List
<
HisenseLightStatusPojo
>
hisenseLightStatusPojos
)
throws
Exception
{
ObjectMapper
jackson
=
JacksonUtils
.
getInstance
();
pushOtherCompany
(
hisenseLightStatusPojos
,
jackson
,
shensiUrl
,
baiduUrl
);
pushOtherCompany
(
hisenseLightStatusPojos
,
jackson
,
shensiUrl
,
baiduUrl
,
yiGouUrl
);
if
(!
CollectionUtils
.
isEmpty
(
hisenseLightStatusPojos
))
{
for
(
HisenseLightStatusPojo
hisenseLightStatusPojo
:
hisenseLightStatusPojos
)
{
...
...
@@ -209,6 +210,7 @@ public class SignalStatusServiceImpl implements SignalStatusService {
if
(
Objects
.
isNull
(
crossInfo
))
{
continue
;
}
StaticInfoServiceImpl
.
planMap
.
put
(
crossInfo
.
getId
(),
content
.
getPlanId
());
String
crossId
=
crossInfo
.
getId
();
Long
lastSignalMachineStamp
=
SignalDataCache
.
runningStatusStampMap
.
get
(
crossId
);
if
(
Objects
.
isNull
(
lastSignalMachineStamp
))
{
...
...
@@ -260,7 +262,7 @@ public class SignalStatusServiceImpl implements SignalStatusService {
}
private
static
void
pushOtherCompany
(
List
<
HisenseLightStatusPojo
>
hisenseLightStatusPojos
,
ObjectMapper
jackson
,
String
shensiUrl
,
String
baiduUrl
)
{
String
shensiUrl
,
String
baiduUrl
,
String
yiGouUrl
)
{
try
{
OkHttpClientUtil
.
jsonPost
(
shensiUrl
,
jackson
.
writeValueAsString
(
hisenseLightStatusPojos
));
}
catch
(
Exception
e
)
{
...
...
@@ -271,6 +273,11 @@ public class SignalStatusServiceImpl implements SignalStatusService {
}
catch
(
Exception
e
)
{
log
.
error
(
"海信灯态推送百度失败:{}"
,
e
.
getMessage
());
}
try
{
OkHttpClientUtil
.
jsonPost
(
yiGouUrl
,
jackson
.
writeValueAsString
(
hisenseLightStatusPojos
));
}
catch
(
Exception
e
)
{
log
.
error
(
"海信灯态推送易购失败:{}"
,
e
.
getMessage
());
}
}
/**
...
...
signal-utc-hisense-service/src/main/java/net/wanji/utc/hisense/service/impl/StaticInfoServiceImpl.java
View file @
8fa379ad
...
...
@@ -79,6 +79,7 @@ public class StaticInfoServiceImpl implements StaticInfoService {
private
CrossSchemeStageOptLogMapper
crossSchemeStageOptLogMapper
;
@Resource
private
BaseCrossSchemeMapper
baseCrossSchemeMapper
;
public
static
Map
<
String
,
Integer
>
planMap
=
new
HashMap
<>();
@Override
public
List
<
CrossInfoPO
>
crossBasicInfo
(
CrossInfoDTO
crossInfoDTO
)
throws
Exception
{
...
...
@@ -697,10 +698,10 @@ public class StaticInfoServiceImpl implements StaticInfoService {
crossSchedulesPOMonthDays
.
setCrossId
(
crossId
);
crossSchedulesPOMonthDays
.
setScheduleNo
(
vNtcipTimeBaseScheduleView
.
getNTimeBaseScheduleNumber
());
crossSchedulesPOMonthDays
.
setName
(
"调度"
+
vNtcipTimeBaseScheduleView
.
getNTimeBaseScheduleNumber
());
crossSchedulesPOMonthDays
.
setWeek
(
null
);
crossSchedulesPOMonthDays
.
setWeek
(
0
);
crossSchedulesPOMonthDays
.
setMonths
(
monthsStr
);
crossSchedulesPOMonthDays
.
setDays
(
daysStr
);
crossSchedulesPOMonthDays
.
setPlanId
(
0
);
crossSchedulesPOMonthDays
.
setPlanId
(
hisensePlanId
);
results
.
add
(
crossSchedulesPOMonthDays
);
}
}
...
...
@@ -804,6 +805,8 @@ public class StaticInfoServiceImpl implements StaticInfoService {
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)) {
//获取方案号失败
...
...
@@ -816,7 +819,21 @@ public class StaticInfoServiceImpl implements StaticInfoService {
crossSchemeRings.setPattern(coordinationStatus.getCoordPatternStatus());
return crossSchemeRings;
}
messageContent
.
addElement
(
HttpConstants
.
PATTERN
).
setText
(
coordinationStatus
.
getCoordPatternStatus
());
integer = Integer.valueOf(coordinationStatus.getCoordPatternStatus());
}*/
if
(
ObjectUtil
.
isEmpty
(
integer
)){
//获取方案号失败
log
.
error
(
"请求方案环图前,获取当前运行方案号失败,没有该路口的灯态信息,crossId:{}"
,
crossSchemeRingsDTO
.
getCrossId
());
return
null
;
}
else
if
(
255
==
integer
)
{
//黃闪
CrossSchemeRings
crossSchemeRings
=
new
CrossSchemeRings
();
crossSchemeRings
.
setSpot
(
crossSchemeRingsDTO
.
getCrossId
());
crossSchemeRings
.
setPattern
(
String
.
valueOf
(
integer
));
return
crossSchemeRings
;
}
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/service/staticinfo/impl/WanJiCommonStaticInfoServiceImpl.java
View file @
8fa379ad
...
...
@@ -224,7 +224,7 @@ public class WanJiCommonStaticInfoServiceImpl implements WanJiCommonStaticInfoSe
if
(
code
!=
200
){
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
JSON
.
toJSONString
(
crossSchemeRingsDTO
));
//插入命令操作日志
controlCommandStrategyService
.
insertCommandLog
(
now
,
jsonViewObject
,
jsonObject
,
10
);
//
controlCommandStrategyService.insertCommandLog(now,jsonViewObject, jsonObject,10);
}
}
else
{
CrossSchemeRings
crossSchemeRings
=
getCrossSchemeRings
(
crossSchemeRingsDTO
);
...
...
signal-utc-service/src/main/java/net/wanji/utc/util/StringUtils.java
View file @
8fa379ad
package
net
.
wanji
.
utc
.
util
;
import
cn.hutool.core.util.ObjectUtil
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.databus.dao.entity.BaseCrossSchemePO
;
import
java.lang.reflect.Field
;
import
java.math.BigDecimal
;
import
java.util.ArrayList
;
import
java.util.HashSet
;
import
java.util.List
;
import
java.util.Set
;
import
java.util.*
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
import
java.util.*
;
@Slf4j
public
class
StringUtils
extends
org
.
apache
.
commons
.
lang3
.
StringUtils
{
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 等
}
}
}
/**
* @description: 判断字符串是否为空
...
...
wj-databus/src/main/resources/mapper/BaseCrossSchemeMapper.xml
View file @
8fa379ad
...
...
@@ -241,7 +241,7 @@
AND schedules.`week` = #{week}
AND DATE_FORMAT( NOW(), '%H:%i' ) BETWEEN DATE_FORMAT( CAST( section.start_time AS TIME ), '%H:%i' )
AND DATE_FORMAT( CAST( section.end_time AS TIME ), '%H:%i' )
ORDER BY DATE_FORMAT( CAST( section.end_time AS TIME ), '%H:%i' ) DESC LIMIT 1
ORDER BY
schedules.special_date,
DATE_FORMAT( CAST( section.end_time AS TIME ), '%H:%i' ) DESC LIMIT 1
</select>
<select
id=
"selectSchemeByParams"
resultType=
"net.wanji.databus.dao.entity.BaseCrossSchemePO"
>
...
...
@@ -258,7 +258,7 @@
AND schedules.`week` = #{week}
AND DATE_FORMAT( #{queryTime}, '%H:%i' ) BETWEEN DATE_FORMAT( CAST( section.start_time AS TIME ), '%H:%i' )
AND DATE_FORMAT( CAST( section.end_time AS TIME ), '%H:%i' )
ORDER BY DATE_FORMAT( CAST( section.end_time AS TIME ), '%H:%i' ) DESC LIMIT 1
ORDER BY
schedules.special_date,
DATE_FORMAT( CAST( section.end_time AS TIME ), '%H:%i' ) DESC LIMIT 1
</select>
...
...
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