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
jinan
traffic-signal-platform
Commits
0cf08443
Commit
0cf08443
authored
Apr 15, 2025
by
wangyecheng
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
c9c0ab66
c886e08d
Changes
16
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
1492 additions
and
42 deletions
+1492
-42
CommonUtils.java
...rvice/src/main/java/net/wanji/opt/common/CommonUtils.java
+25
-0
CrossEnum.java
...rvice/src/main/java/net/wanji/opt/constant/CrossEnum.java
+147
-0
DirEnum.java
...service/src/main/java/net/wanji/opt/constant/DirEnum.java
+106
-0
CrossProblemTotalityAnalysisResult.java
...rv2/report/design/CrossProblemTotalityAnalysisResult.java
+2
-1
AnalysisReportCrossOptimizeDetailMapper.java
...apper/report/AnalysisReportCrossOptimizeDetailMapper.java
+52
-0
AnalysisReportCrossOptimizeDetail.java
.../opt/entity/report/AnalysisReportCrossOptimizeDetail.java
+131
-0
AnalysisReportCrossOptimizeDetailMapper.xml
...pt/mapper/xml/AnalysisReportCrossOptimizeDetailMapper.xml
+265
-0
EventInfoServiceImpl.java
...i/opt/servicev2/evaluation/impl/EventInfoServiceImpl.java
+13
-1
AnalysisProblemAndStrategyDayImpl.java
...judgeanalysis/impl/AnalysisProblemAndStrategyDayImpl.java
+4
-2
AnalysisReportCrossOptimizeDetailService.java
...cev2/report/AnalysisReportCrossOptimizeDetailService.java
+53
-0
AnalysisReportCrossOptimizeDetailServiceImpl.java
...rt/impl/AnalysisReportCrossOptimizeDetailServiceImpl.java
+83
-0
StrategyCrossResultEntity.java
...t/wanji/opt/synthesis/pojo/StrategyCrossResultEntity.java
+3
-0
OptimizeStatisticTask.java
...c/main/java/net/wanji/opt/task/OptimizeStatisticTask.java
+222
-37
EventInfoMapper.xml
.../src/main/resources/mapper/evaluation/EventInfoMapper.xml
+2
-1
AnalysisReportCrossOptimizeDetailMapper.xml
...mapper/report/AnalysisReportCrossOptimizeDetailMapper.xml
+341
-0
OptimizeStatisticTaskTest.java
...mize-service/src/test/java/OptimizeStatisticTaskTest.java
+43
-0
No files found.
signal-optimize-service/src/main/java/net/wanji/opt/common/CommonUtils.java
View file @
0cf08443
package
net
.
wanji
.
opt
.
common
;
import
com.alibaba.fastjson.JSONArray
;
import
net.wanji.opt.constant.DirEnum
;
import
org.apache.commons.lang3.StringUtils
;
/**
* @author duanruiming
* @date 2025/04/02 15:44
...
...
@@ -16,4 +20,25 @@ public class CommonUtils {
return
join
;
}
/**
* 事件发生方向转换为描述
* @param dir
* @return
*/
public
static
String
getEventHappenDirName
(
String
dir
){
StringBuilder
stringBuilder
=
new
StringBuilder
();
if
(
StringUtils
.
isNotEmpty
(
dir
))
{
JSONArray
dirArr
=
JSONArray
.
parseArray
(
dir
);
for
(
int
i
=
0
;
i
<
dirArr
.
size
();
i
++)
{
String
dirName
=
DirEnum
.
getName
(
dirArr
.
getString
(
i
));
stringBuilder
.
append
(
","
);
stringBuilder
.
append
(
dirName
);
}
}
if
(
stringBuilder
.
length
()>
1
){
return
stringBuilder
.
substring
(
1
);
}
return
null
;
}
}
signal-optimize-service/src/main/java/net/wanji/opt/constant/CrossEnum.java
0 → 100644
View file @
0cf08443
package
net
.
wanji
.
opt
.
constant
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.Objects
;
/**
* @author wanji
* @version 1.0
* Created on 2024/12/2 15:07
* @Description: [枚举类]
*/
public
enum
CrossEnum
{
//******************************************************//
EXT_NS
(
"-100"
,
"延长南北方向直行的绿灯"
),
EXT_EW
(
"-101"
,
"延长东西方向直行的绿灯"
),
EXT_NS_L
(
"-102"
,
"延长南北方向左转的绿灯"
),
EXT_EW_L
(
"-103"
,
"延长东西方向左转的绿灯"
),
EXT_N2S
(
"-110"
,
"延长北向南直行的绿灯"
)
,
EXT_E2W
(
"-112"
,
"延长东向西直行的绿灯"
)
,
EXT_S2N
(
"-114"
,
"延长南向北直行的绿灯"
),
EXT_W2E
(
"-116"
,
"延长西向东直行的绿灯"
)
,
EXT_N2S_L
(
"-120"
,
"延长北向南左转的绿灯"
),
EXT_E2W_L
(
"-122"
,
"延长东向西左转的绿灯"
),
EXT_S2N_L
(
"-124"
,
"延长南向北左转的绿灯"
),
EXT_W2E_L
(
"-126"
,
"延长西向东左转的绿灯"
),
EXT_CUR
(
"-150"
,
"延长当前方向的绿灯"
)
,
SKIP_NS
(
"-200"
,
"南北方向直行绿灯步进到下一个相位"
),
SKIP_EW
(
"-201"
,
"东西方向直行绿灯步进到下一个相位"
),
SKIP_NS_L
(
"-202"
,
"南北方向左转绿灯步进到下一个相位"
),
SKIP_EW_L
(
"-203"
,
"东西方向左转绿灯步进到下一个相位"
),
SKIP_N2S
(
"-210"
,
"北向南直行绿灯步进到下一个相位"
),
SKIP_E2W
(
"-212"
,
"东向西直行绿灯步进到下一个相位"
),
SKIP_S2N
(
"-214"
,
"南向北直行绿灯步进到下一个相位"
),
SKIP_W2E
(
"-216"
,
"西向东直行绿灯步进到下一个相位"
),
SKIP_N2S_L
(
"-220"
,
"北向南左转绿灯步进到下一个相位"
),
SKIP_E2W_L
(
"-222"
,
"东向西左转绿灯步进到下一个相位"
),
SKIP_S2N_L
(
"-224"
,
"南向北左转绿灯步进到下一个相位"
),
SKIP_W2E_L
(
"-226"
,
"西向东左转绿灯步进到下一个相位"
),
SKIP_CUR
(
"-250"
,
"当前绿灯步进到下一个相位"
),
SKIP_E2W1
(
"2"
,
"东北方向溢出,延长相位"
),
SKIP_S2N2
(
"3"
,
"东方向溢出,延长相位"
),
SKIP_W2E3
(
"4"
,
"东南方向溢出,延长相位"
),
SKIP_N2S_L4
(
"5"
,
"南方向溢出,延长相位"
),
SKIP_E2W_L5
(
"6"
,
"西南方向溢出,延长相位"
),
SKIP_S2N_L6
(
"7"
,
"西方向溢出,延长相位"
),
SKIP_W2E_L7
(
"8"
,
"西北方向溢出,延长相位"
),
SKIP_CUR0
(
"1"
,
"北方向溢出,延长相位"
);
//******************************************************//
private
String
type
;
private
String
name
;
CrossEnum
(
String
type
,
String
name
)
{
this
.
type
=
type
;
this
.
name
=
name
;
}
public
static
String
getName
(
String
type
)
{
for
(
CrossEnum
typeEnum
:
CrossEnum
.
values
())
{
if
(
Objects
.
equals
(
typeEnum
.
type
,
type
))
{
return
typeEnum
.
name
;
}
}
return
null
;
}
public
static
CrossEnum
getTypeEnum
(
String
type
)
{
for
(
CrossEnum
typeEnum
:
CrossEnum
.
values
())
{
if
(
Objects
.
equals
(
typeEnum
.
type
,
type
))
{
return
typeEnum
;
}
}
return
null
;
}
public
String
getType
()
{
return
type
;
}
public
String
getName
()
{
return
name
;
}
//空放相位延长
public
static
final
List
<
CrossEnum
>
ExtendPhaseList
=
Arrays
.
asList
(
new
CrossEnum
[]
{
CrossEnum
.
EXT_NS
,
CrossEnum
.
EXT_EW
,
CrossEnum
.
EXT_NS_L
,
CrossEnum
.
EXT_EW_L
,
CrossEnum
.
EXT_N2S
,
CrossEnum
.
EXT_E2W
,
CrossEnum
.
EXT_S2N
,
CrossEnum
.
EXT_W2E
,
CrossEnum
.
EXT_N2S_L
,
CrossEnum
.
EXT_E2W_L
,
CrossEnum
.
EXT_S2N_L
,
CrossEnum
.
EXT_W2E_L
,
CrossEnum
.
EXT_CUR
}
);
/**
* 是否为延长相位
* @param crossEnum
* @return
*/
public
static
boolean
isExtendPhase
(
CrossEnum
crossEnum
){
return
ExtendPhaseList
.
contains
(
crossEnum
);
}
//空放相位切换
public
static
final
List
<
CrossEnum
>
SwitchPhaseList
=
Arrays
.
asList
(
new
CrossEnum
[]
{
CrossEnum
.
SKIP_NS
,
CrossEnum
.
SKIP_EW
,
CrossEnum
.
SKIP_NS_L
,
CrossEnum
.
SKIP_EW_L
,
CrossEnum
.
SKIP_N2S
,
CrossEnum
.
SKIP_E2W
,
CrossEnum
.
SKIP_S2N
,
CrossEnum
.
SKIP_W2E
,
CrossEnum
.
SKIP_N2S_L
,
CrossEnum
.
SKIP_E2W_L
,
CrossEnum
.
SKIP_S2N_L
,
CrossEnum
.
SKIP_W2E_L
,
CrossEnum
.
SKIP_CUR
}
);
/**
* 是否为切换相位
* @param crossEnum
* @return
*/
public
static
boolean
isSwitchPhase
(
CrossEnum
crossEnum
){
return
SwitchPhaseList
.
contains
(
crossEnum
);
}
public
static
void
main
(
String
[]
args
)
{
System
.
out
.
println
(
CrossEnum
.
getTypeEnum
(
"-100"
).
type
);
}
}
signal-optimize-service/src/main/java/net/wanji/opt/constant/DirEnum.java
0 → 100644
View file @
0cf08443
package
net
.
wanji
.
opt
.
constant
;
import
lombok.AllArgsConstructor
;
import
lombok.Getter
;
import
java.util.Objects
;
@SuppressWarnings
(
"all"
)
public
enum
DirEnum
{
//******************************************************//
NORTH
(
"1"
,
"北"
),
EAST_NORTH
(
"2"
,
"东北"
),
EAST
(
"3"
,
"东"
),
EAST_SOUTH
(
"4"
,
"东南"
),
SOUTH
(
"5"
,
"南"
),
WEST_SOUTH
(
"6"
,
"西南"
),
WEST
(
"7"
,
"西"
),
WEST_NORTH
(
"8"
,
"西北"
);
//******************************************************//
private
String
type
;
private
String
name
;
DirEnum
(
String
type
,
String
name
)
{
this
.
type
=
type
;
this
.
name
=
name
;
}
public
static
String
getName
(
String
type
)
{
for
(
DirEnum
typeEnum
:
DirEnum
.
values
())
{
if
(
Objects
.
equals
(
typeEnum
.
type
,
type
))
{
return
typeEnum
.
name
;
}
}
return
null
;
}
public
static
String
getType
(
DirEnum
type
)
{
for
(
DirEnum
typeEnum
:
DirEnum
.
values
())
{
if
(
Objects
.
equals
(
typeEnum
,
type
))
{
return
typeEnum
.
type
;
}
}
return
null
;
}
/**
* 八方向
*/
@Getter
@AllArgsConstructor
public
enum
SignalDirectionEnum
{
N
(
1
,
"北"
,
"N"
),
EN
(
2
,
"东北"
,
"EN"
),
E
(
3
,
"东"
,
"E"
),
ES
(
4
,
"东南"
,
"ES"
),
S
(
5
,
"南"
,
"S"
),
WS
(
6
,
"西南"
,
"WS"
),
W
(
7
,
"西"
,
"W"
),
WN
(
8
,
"西北"
,
"WN"
);
private
Integer
code
;
private
String
name
;
private
String
nick
;
public
static
SignalDirectionEnum
getNickByCode
(
int
code
)
{
for
(
SignalDirectionEnum
signalDirectionEnum
:
SignalDirectionEnum
.
values
())
{
if
(
signalDirectionEnum
.
getCode
()
==
code
)
{
return
signalDirectionEnum
;
}
}
return
null
;
}
public
static
String
getNameByCode
(
int
code
)
{
for
(
SignalDirectionEnum
signalDirectionEnum
:
SignalDirectionEnum
.
values
())
{
if
(
signalDirectionEnum
.
getCode
()
==
code
)
{
return
signalDirectionEnum
.
getName
();
}
}
return
null
;
}
public
static
SignalDirectionEnum
getNameByNick
(
String
nick
)
{
for
(
SignalDirectionEnum
signalDirectionEnum
:
SignalDirectionEnum
.
values
())
{
if
(
signalDirectionEnum
.
getNick
().
equals
(
nick
))
{
return
signalDirectionEnum
;
}
}
return
null
;
}
public
static
Integer
getCodeByName
(
String
name
)
{
for
(
SignalDirectionEnum
signalDirectionEnum
:
SignalDirectionEnum
.
values
())
{
if
(
Objects
.
equals
(
signalDirectionEnum
.
getName
(),
name
))
{
return
signalDirectionEnum
.
getCode
();
}
}
return
null
;
}
}
}
signal-optimize-service/src/main/java/net/wanji/opt/controllerv2/report/design/CrossProblemTotalityAnalysisResult.java
View file @
0cf08443
...
...
@@ -55,7 +55,8 @@ class CrossProblemTotalityResultResponse {
private
String
weekCongestDurationCompare
;
//================================================================================================//
@ApiModelProperty
(
value
=
"本周总体效果情况"
,
example
=
"明显提升"
,
position
=
9
)
private
String
weekTotalitySituation
;
private
List
<
CrossProblemTotalityData
>
dataList
=
new
ArrayList
<>();
...
...
signal-optimize-service/src/main/java/net/wanji/opt/dao/mapper/report/AnalysisReportCrossOptimizeDetailMapper.java
0 → 100644
View file @
0cf08443
package
net
.
wanji
.
opt
.
dao
.
mapper
.
report
;
import
net.wanji.opt.entity.report.AnalysisGreenWaveOptimizeWeek
;
import
net.wanji.opt.entity.report.AnalysisReportCrossOptimizeDetail
;
import
java.util.List
;
import
org.apache.ibatis.annotations.Param
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
public
interface
AnalysisReportCrossOptimizeDetailMapper
extends
BaseMapper
<
AnalysisReportCrossOptimizeDetail
>{
/**
* 查询表t_analysis_report_cross_optimize_detail所有信息
*/
List
<
AnalysisReportCrossOptimizeDetail
>
findAllAnalysisReportCrossOptimizeDetail
();
/**
* 根据主键crossId查询表t_analysis_report_cross_optimize_detail信息
* @param crossId
*/
AnalysisReportCrossOptimizeDetail
findAnalysisReportCrossOptimizeDetailBycrossId
(
@Param
(
"crossId"
)
String
crossId
);
/**
* 根据条件查询表t_analysis_report_cross_optimize_detail信息
* @param analysisReportCrossOptimizeDetail
*/
List
<
AnalysisReportCrossOptimizeDetail
>
findAnalysisReportCrossOptimizeDetailByCondition
(
AnalysisReportCrossOptimizeDetail
analysisReportCrossOptimizeDetail
);
/**
* 根据主键crossId查询表t_analysis_report_cross_optimize_detail信息
* @param crossId
*/
Integer
deleteAnalysisReportCrossOptimizeDetailBycrossId
(
@Param
(
"crossId"
)
String
crossId
);
/**
* 根据主键crossId更新表t_analysis_report_cross_optimize_detail信息
* @param analysisReportCrossOptimizeDetail
*/
Integer
updateAnalysisReportCrossOptimizeDetailBycrossId
(
AnalysisReportCrossOptimizeDetail
analysisReportCrossOptimizeDetail
);
/**
* 新增表t_analysis_report_cross_optimize_detail信息
* @param analysisReportCrossOptimizeDetail
*/
Integer
addAnalysisReportCrossOptimizeDetail
(
AnalysisReportCrossOptimizeDetail
analysisReportCrossOptimizeDetail
);
/**
* 批量插入
* @param list
*/
void
insertBatch
(
List
<
AnalysisReportCrossOptimizeDetail
>
list
);
}
signal-optimize-service/src/main/java/net/wanji/opt/entity/report/AnalysisReportCrossOptimizeDetail.java
0 → 100644
View file @
0cf08443
package
net
.
wanji
.
opt
.
entity
.
report
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
java.time.LocalDateTime
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
java.io.Serializable
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
com.baomidou.mybatisplus.annotation.TableName
;
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
@TableName
(
"t_analysis_report_cross_optimize_detail"
)
public
class
AnalysisReportCrossOptimizeDetail
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 路口ID
*/
@TableId
(
value
=
"cross_id"
,
type
=
IdType
.
AUTO
)
private
String
crossId
;
/**
* 星期几:1~7代表周一至周日
*/
private
Integer
weekDay
;
/**
* 优化时段开始时间
*/
private
LocalDateTime
optimizeStartTime
;
/**
* 优化时段截止时间
*/
private
LocalDateTime
optimizeEndTime
;
/**
* 策略类型 干线当前策略:1单条 2垂直 3平行
*/
private
Integer
stragetyId
;
/**
* 策略时段内优化次数
*/
private
Integer
optimizeCount
;
/**
* 策略时段内优化总时长,单位秒
*/
private
Integer
optimizeDuration
;
/**
* 通行能力(辆)
*/
private
Integer
capacity
;
/**
* 停车次数
*/
private
Double
stopTimes
;
/**
* 延误时间,单位秒
*/
private
Double
delayTime
;
/**
* 最大排队长度
*/
private
Integer
maxQueueLength
;
/**
* 一年中的第几周
*/
private
Integer
yearWeek
;
/**
* 一一年中的第几周,格式yyyyw,如20251
*/
private
LocalDateTime
weekStartTime
;
/**
* 一周的第二天
*/
private
LocalDateTime
weekEndTime
;
/**
* 数据插入时间
*/
private
LocalDateTime
insertTime
;
/**
* 上周通行能力(辆)
*/
private
Integer
lastWeekCapacity
;
/**
* 上周停车次数
*/
private
Double
lastWeekStopTimes
;
/**
* 上周延误时间,单位秒
*/
private
Double
lastWeekDelayTime
;
/**
* 上周最大排队长度
*/
private
Integer
lastWeekMaxQueueLength
;
/**
* 上周平均速度,单位km/h
*/
private
Double
lastWeekSpeed
;
/**
* 上周拥堵指数
*/
private
Double
lastWeekCongestIndex
;
/**
* 事件问题方向[]
*/
private
String
dirs
;
}
signal-optimize-service/src/main/java/net/wanji/opt/mapper/xml/AnalysisReportCrossOptimizeDetailMapper.xml
0 → 100644
View file @
0cf08443
This diff is collapsed.
Click to expand it.
signal-optimize-service/src/main/java/net/wanji/opt/servicev2/evaluation/impl/EventInfoServiceImpl.java
View file @
0cf08443
package
net
.
wanji
.
opt
.
servicev2
.
evaluation
.
impl
;
import
com.alibaba.fastjson.JSONArray
;
import
lombok.extern.slf4j.Slf4j
;
import
net.wanji.common.framework.dubbointerface.impl.BaseDubboInterfaceImpl
;
import
net.wanji.common.framework.mapper.BaseInterfaceMapper
;
import
net.wanji.opt.common.CommonUtils
;
import
net.wanji.opt.common.Tools
;
import
net.wanji.opt.dao.mapper.evaluation.EventInfoMapper
;
import
net.wanji.opt.entity.evaluation.EventInfo
;
import
net.wanji.opt.servicev2.evaluation.EventInfoService
;
...
...
@@ -13,6 +16,7 @@ import org.springframework.stereotype.Service;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Objects
;
/**
...
...
@@ -38,7 +42,15 @@ public class EventInfoServiceImpl extends BaseDubboInterfaceImpl<EventInfo> impl
}
public
List
<
Map
<
String
,
Object
>>
getListByStartAndEnd
(
Map
<
String
,
Object
>
map
){
return
this
.
eventInfoMapper
.
getListByStartAndEnd
(
map
);
List
<
Map
<
String
,
Object
>>
list
=
this
.
eventInfoMapper
.
getListByStartAndEnd
(
map
);
for
(
Map
<
String
,
Object
>
data
:
list
)
{
String
dir
=
Tools
.
getMapValue
(
"dir"
,
data
);
if
(
Objects
.
nonNull
(
dir
)
&&
dir
.
length
()>
2
){
String
dirName
=
CommonUtils
.
getEventHappenDirName
(
dir
);
data
.
put
(
"dirName"
,
dirName
);
}
}
return
list
;
}
}
signal-optimize-service/src/main/java/net/wanji/opt/servicev2/judgeanalysis/impl/AnalysisProblemAndStrategyDayImpl.java
View file @
0cf08443
...
...
@@ -51,7 +51,8 @@ public class AnalysisProblemAndStrategyDayImpl extends ServiceImpl<AnalysisProbl
String
formattedDate
=
previousDay
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyyMMdd"
));
vo
.
setDt
(
formattedDate
);
vo
.
setInsertTime
(
LocalDateTime
.
now
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
//路口数据设置干线ID为不存在的ID
vo
.
setGreenId
(
"-1"
);
//写入数据--Error
analysisProblemAndStrategyDayMapper
.
insertProblemAndStrategy
(
vo
);
}
...
...
@@ -74,7 +75,8 @@ public class AnalysisProblemAndStrategyDayImpl extends ServiceImpl<AnalysisProbl
String
formattedDate
=
previousDay
.
format
(
DateTimeFormatter
.
ofPattern
(
"yyyyMMdd"
));
vo
.
setDt
(
formattedDate
);
vo
.
setInsertTime
(
LocalDateTime
.
now
().
format
(
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
)));
//干线数据设置路口ID为不存在的null字符串
vo
.
setCrossId
(
"null"
);
//写入数据
analysisProblemAndStrategyDayMapper
.
insertProblemAndStrategy
(
vo
);
}
...
...
signal-optimize-service/src/main/java/net/wanji/opt/servicev2/report/AnalysisReportCrossOptimizeDetailService.java
0 → 100644
View file @
0cf08443
package
net
.
wanji
.
opt
.
servicev2
.
report
;
import
net.wanji.opt.entity.report.AnalysisReportCrossOptimizeDetail
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
java.util.List
;
/**
* <p>
* 服务类
* </p>
*
* @author fengyi
* @since 2025-04-14
*/
public
interface
AnalysisReportCrossOptimizeDetailService
extends
IService
<
AnalysisReportCrossOptimizeDetail
>
{
/**
* 详情
* @param id
* @return
*/
AnalysisReportCrossOptimizeDetail
info
(
Long
id
);
/**
* 新增
* @param param 根据需要进行传值
* @return
*/
void
add
(
AnalysisReportCrossOptimizeDetail
param
);
/**
* 修改
* @param param 根据需要进行传值
* @return
*/
void
modify
(
AnalysisReportCrossOptimizeDetail
param
);
/**
* 删除(单个条目)
* @param id
* @return
*/
void
remove
(
Long
id
);
/**
* 删除(多个条目)
* @param ids
* @return
*/
void
removes
(
List
<
Long
>
ids
);
}
signal-optimize-service/src/main/java/net/wanji/opt/servicev2/report/impl/AnalysisReportCrossOptimizeDetailServiceImpl.java
0 → 100644
View file @
0cf08443
package
net
.
wanji
.
opt
.
servicev2
.
report
.
impl
;
import
net.wanji.opt.entity.report.AnalysisReportCrossOptimizeDetail
;
import
net.wanji.opt.dao.mapper.report.AnalysisReportCrossOptimizeDetailMapper
;
import
net.wanji.opt.servicev2.report.AnalysisReportCrossOptimizeDetailService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.StringUtils
;
import
javax.annotation.Resource
;
import
java.util.List
;
/**
* <p>
* 服务实现类
* </p>
*
* @author fengyi
* @since 2025-04-14
*/
@Service
public
class
AnalysisReportCrossOptimizeDetailServiceImpl
extends
ServiceImpl
<
AnalysisReportCrossOptimizeDetailMapper
,
AnalysisReportCrossOptimizeDetail
>
implements
AnalysisReportCrossOptimizeDetailService
{
@Resource
private
AnalysisReportCrossOptimizeDetailMapper
analysisReportCrossOptimizeDetailMapper
;
/**
* 详情
* @param id
* @return
*/
@Override
public
AnalysisReportCrossOptimizeDetail
info
(
Long
id
)
{
return
getById
(
id
);
}
/**
* 新增
* @param param 根据需要进行传值
* @return
*/
@Override
public
void
add
(
AnalysisReportCrossOptimizeDetail
param
)
{
save
(
param
);
}
/**
* 修改
* @param param 根据需要进行传值
* @return
*/
@Override
public
void
modify
(
AnalysisReportCrossOptimizeDetail
param
)
{
updateById
(
param
);
}
/**
* 删除(单个条目)
* @param id
* @return
*/
@Override
public
void
remove
(
Long
id
)
{
removeById
(
id
);
}
/**
* 删除(多个条目)
* @param ids
* @return
*/
@Override
public
void
removes
(
List
<
Long
>
ids
)
{
removeByIds
(
ids
);
}
}
signal-optimize-service/src/main/java/net/wanji/opt/synthesis/pojo/StrategyCrossResultEntity.java
View file @
0cf08443
...
...
@@ -66,4 +66,7 @@ public class StrategyCrossResultEntity {
private
String
empty_dir
;
@TableField
(
"dt"
)
private
Integer
dt
;
@TableField
(
"event_id"
)
private
String
eventId
;
}
signal-optimize-service/src/main/java/net/wanji/opt/task/OptimizeStatisticTask.java
View file @
0cf08443
This diff is collapsed.
Click to expand it.
signal-optimize-service/src/main/resources/mapper/evaluation/EventInfoMapper.xml
View file @
0cf08443
...
...
@@ -439,7 +439,8 @@
DATE_FORMAT(end_time,'%Y-%m-%d %H:%i:%s') endTime,
ABS(TIMESTAMPDIFF( SECOND, start_time, end_time )) AS duration,
info.type,
c.label as typeName
c.label as typeName,
dir
FROM t_event_info info
JOIN t_config_event_category c ON info.type = c.event_type
WHERE cross_id = #{crossId}
...
...
signal-optimize-service/src/main/resources/mapper/report/AnalysisReportCrossOptimizeDetailMapper.xml
0 → 100644
View file @
0cf08443
This diff is collapsed.
Click to expand it.
signal-optimize-service/src/test/java/OptimizeStatisticTaskTest.java
0 → 100644
View file @
0cf08443
/**
*
*/
import
cn.hutool.core.date.DateTime
;
import
cn.hutool.core.date.DateUtil
;
import
net.wanji.opt.SignalOptimizeApplication
;
import
net.wanji.opt.servicev2.judgeanalysis.AnalysisProblemCrossDayService
;
import
net.wanji.opt.task.OptimizeStatisticTask
;
import
org.junit.FixMethodOrder
;
import
org.junit.Test
;
import
org.junit.runner.RunWith
;
import
org.junit.runners.MethodSorters
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
org.springframework.test.context.junit4.SpringRunner
;
import
javax.annotation.Resource
;
/**
* @author fengyi
* @date
*/
@RunWith
(
SpringRunner
.
class
)
@SpringBootTest
(
classes
=
SignalOptimizeApplication
.
class
,
webEnvironment
=
SpringBootTest
.
WebEnvironment
.
RANDOM_PORT
)
@FixMethodOrder
(
MethodSorters
.
NAME_ASCENDING
)
public
class
OptimizeStatisticTaskTest
{
@Resource
OptimizeStatisticTask
optimizeStatisticTask
;
@Test
public
void
testProducerTrack
()
{
DateTime
dateTime
=
DateUtil
.
lastWeek
();
dateTime
=
DateUtil
.
beginOfWeek
(
dateTime
.
toJdkDate
());
String
start
=
dateTime
.
toString
(
"yyyy-MM-dd HH:mm:ss"
);
String
end
=
DateUtil
.
now
();
//测试运行上周一到现在的数据
optimizeStatisticTask
.
optimizeDurationCal
();
}
}
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