Commit ca3377a8 authored by zhoushiguang's avatar zhoushiguang

删除、注释一些未用的类

parent 92c4bc00
package net.wanji.opt;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement;
/**
* @author
*/
@SpringBootApplication(scanBasePackages = {"net.wanji.opt", "net.wanji.databus", "net.wanji.common",
"net.wanji.opt.task.controller"})
@MapperScan(basePackages = {"net.wanji.opt.dao.mapper", "net.wanji.databus.dao.mapper"})
@EnableTransactionManagement
@EnableScheduling
@EnableAsync
public class SignalOptimizeApplication {
public static void main(String[] args) {
SpringApplication.run(SignalOptimizeApplication.class, args);
}
}
package net.wanji.opt.common;//package net.wanji.opt.common;
//package net.wanji.opt.common;
//
//import com.alibaba.fastjson.JSONObject;
//import com.fasterxml.jackson.core.JsonProcessingException;
......
package net.wanji.opt.config;//package net.wanji.opt.config;
//package net.wanji.opt.config;
//
//import org.apache.kafka.clients.consumer.ConsumerConfig;
//import org.apache.kafka.common.serialization.StringDeserializer;
......
package net.wanji.opt.config;///*
///*
// * Copyright (C) 2018 Zhejiang xiaominfo Technology CO.,LTD.
// * All rights reserved.
// * Official Web Site: http://www.xiaominfo.com.
......
package net.wanji.opt.config;//package net.wanji.opt.config;
//package net.wanji.opt.config;
//
//import com.google.common.base.Predicates;
//import org.springframework.context.annotation.Bean;
......
package net.wanji.opt.dao.mapper;
import net.wanji.opt.synthesis.pojo.*;
import net.wanji.opt.synthesis.pojo.vo.CrossOrGreenWaveTypeEntity;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* 监测详情-路口事件详情
* </p>
* @author zhengyifan
* @date 2025/3/15
*/
public interface CrossMapper {
/**
* 监测详情-路口事件详情-路口状态分布趋势-优化时间
* @param crossID 路口ID
*/
List<CrossStatusDisOptTimeEntity> getOptTimes(String crossID);
/**
* 监测详情-路口事件详情-路口实时告警
* @param crossID 路口ID
* @param time 时间
*/
CrossRealTimeAlarmEntity getCrossRealTimeAlarms(String crossID, String time);
/**
* 监测详情-路口策略详情-路口实时告警
* @param crossID
* @param time
* @return
*/
CrossRealTimeAlarmEntity getCrossRealTimeAlarmsPlan(String crossID, String time,String eventSerialNumber);
/**
* 路口方向信息
*
* @param crossID 路口ID
*/
List<CrossDirectionInfoEntity> getCrossDirectionInfo(String crossID);
/**
* 路口转向信息
*
* @param crossID 路口ID
*/
List<CrossTurnInfoEntity> getCrossTurnInfo(String crossID);
/**
* 路口车道信息
*
* @param crossID 路口ID
*/
List<CrossLaneInfoEntity> getCrossLaneInfo(String crossID);
/**
* 路口类型信息
*
* @param crossID 路口ID
* @param date 日期 格式:yyyyMMdd
*/
List<CrossOrGreenWaveTypeEntity> getCrossTypeInfo(@Param("crossID") String crossID, @Param("dt") String date);
}
package net.wanji.opt.dao.mapper.comprehensivequery;
import net.wanji.opt.entity.comprehensivequery.GreenAndCrossEntity;
import net.wanji.opt.po.base.CrossLaneDataHistPoExtend;
import java.util.List;
import java.util.Map;
public interface ComprehensiveQueryMapper {
List<GreenAndCrossEntity> getGreenAndCross();
List<GreenAndCrossEntity> getCross();
List<CrossLaneDataHistPoExtend> findCrossObjectIndex(Map<String,Object> params);
}
package net.wanji.opt.dao.mapper.evaluation;
import net.wanji.common.framework.mapper.BaseInterfaceMapper;
import net.wanji.opt.entity.evaluation.EventInfo;
import net.wanji.opt.entity.eventoptimize.TEventOptimizeInfo;
import net.wanji.opt.entity.judgeanalysis.AnalysisProblemAndStrategyDay;
import net.wanji.opt.po.trend.EventInfoSimplePo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* <p>
* 交通事件信息
* </p>
*
* @Author wangtao
* @Date 2025-03-18
*/
public interface CrossProblemEvaluationMapper {
public List<AnalysisProblemAndStrategyDay> findOVerFlowInfo();
List<EventInfoSimplePo> getOverflow(@Param("evenType") String evenType, @Param("currentAlgo")String currentAlgo, @Param("crossId")String crossId, @Param("startTime")String startTime, @Param("endTime")String endTime);
List<EventInfoSimplePo> getContrastOverflow(@Param("evenType")String evenType,@Param("currentAlgo")String currentAlgo,@Param("crossId")String crossId,@Param("contrastStartTime") String contrastStartTime, @Param("constrastEndTime")String constrastEndTime);
}
package net.wanji.opt.dao.mapper.eventoptimize;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import net.wanji.opt.entity.eventoptimize.TEventOptimizeInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
@Mapper
public interface TEventOptimizeInfoMapper extends BaseMapper<TEventOptimizeInfo> {
Page<TEventOptimizeInfo> selectPageWithConditions(@Param("page") Page<TEventOptimizeInfo> page,
@Param("startTime") String startTime,
@Param("endTime") String endTime,
@Param("crossId") String crossId,
@Param("eventType") String eventType,
@Param("optStatus") Integer optStatus,
@Param("duration") Integer duration,
@Param("startOptDuration") Integer startOptDuration,
@Param("endOptDuration") Integer endOptDuration,
@Param("startDuration") Integer startDuration,
@Param("endDuration") Integer endDuration
);
Page<TEventOptimizeInfo> selectPageWithCrossIdAndGreenId(@Param("page") Page<TEventOptimizeInfo> page,
@Param("startTime") String startTime,
@Param("endTime") String endTime,
@Param("crossId") String crossId,
@Param("greenId") Integer greenId);
List<Map<String,String>> getCrossOptimizeDistribute(@Param("groupType") Integer groupType,
@Param("startTime") String startTime,
@Param("endTime") String endTime,
@Param("crossId") String crossId,
@Param("greenId") Integer greenId);
String getEventLabel(@Param("eventType") String eventType);
Page<TEventOptimizeInfo> pageWithLineConditions(@Param("page") Page<TEventOptimizeInfo> page,
@Param("startTime") String startTime,
@Param("endTime") String endTime,
@Param("greenId") Integer greenId,
@Param("eventType") String eventType,
@Param("optStatus") Integer optStatus,
@Param("duration") Integer duration,
@Param("startOptDuration") Integer startOptDuration,
@Param("endOptDuration") Integer endOptDuration,
@Param("startDuration") Integer startDuration,
@Param("endDuration") Integer endDuration
);
}
\ No newline at end of file
package net.wanji.opt.dao.mapper.syslog;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import net.wanji.opt.entity.judgeanalysis.AnalysisProblemCrossDay;
import net.wanji.opt.entity.syslog.SysOptimizeLog;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* <p>
* 系统日志
* </p>
* @author huangwm
* @date 2025/3/26
*/
public interface SysLogMapper extends BaseMapper<SysOptimizeLog> {
List<SysOptimizeLog> findSysOptimizeLog(@Param("crossId") String crossId, @Param("startTime") String startTime,@Param("endTime") String endTime);
}
package net.wanji.opt.service;
import net.wanji.databus.bo.CrossIdBO;
import net.wanji.databus.po.CrossDataRealtimePO;
import net.wanji.databus.po.CrossDirDataRealtimePO;
import net.wanji.databus.po.CrossDirStatusDataPO;
import net.wanji.databus.po.TBaseCrossInfo;
import net.wanji.opt.po.trend.HoloEventInfoPO;
import net.wanji.opt.vo.AIOptResultVO;
import net.wanji.opt.vo.CrossEventListPO;
import net.wanji.opt.vo.CrossOptResult;
import net.wanji.opt.vo.CrossStatusCountVO;
import java.util.List;
import java.util.Map;
/**
* @author duanruiming
* @date 2024/11/25 19:12
*/
public interface CrossIndexService {
Map<Integer, CrossDirDataRealtimePO> crossDirIndex(CrossIdBO crossIdBO);
CrossDataRealtimePO crossIndex(CrossIdBO crossIdBO);
List<TBaseCrossInfo> crossInfoList();
List<CrossOptResult> crossOptResultList(CrossIdBO crossIdBO) throws Exception;
List<AIOptResultVO> crossAIList() throws Exception;
List<CrossStatusCountVO> crossStatusCount(String crossId) throws Exception;
HoloEventInfoPO crossEventDirTurn(String crossId) throws Exception;
List<CrossEventListPO> selectCrossEventList() throws Exception;
/**
* @Description 查询据当前时间某小时的数据
* @Param crossId 路口编号
* @Param hour 小时数
* @return java.util.List<net.wanji.databus.po.CrossDirDataHistPO>
**/
CrossDirStatusDataPO selectByCrossIdAndHour(String crossId,int hour);
}
package net.wanji.opt.service;
/**
* @author hfx
* @date 2023/1/12 15:12
* @desc 路口基础信息接口服务
*/
public interface CrossInfoService {
/**
* 查询路口基础信息列表
* @return
*/
// List<CrossInfoDTO> listCrossInfo(CrossQuery query);
}
package net.wanji.opt.service;
import net.wanji.databus.po.CrossDataRealtimePO;
import java.util.List;
/**
* @author hfx
* @date 2023/1/10 11:12
* @desc 路口优化接口服务
*/
public interface CrossOptimizeService {
/**
* 路口实时优化
* @return
*/
String realtimeOptimize(List<CrossDataRealtimePO> abnormalCrossList, List<CrossDataRealtimePO> crossDataRealtimePOList);
/**
* 路口方案优化
*/
// String schemeOptimize();
}
package net.wanji.opt.service;
import net.wanji.databus.bo.CrossIdAndSchemeIdBO;
import net.wanji.databus.bo.CrossIdBO;
import net.wanji.opt.dto.CrossIdAndDirDTO;
import net.wanji.opt.dto.CrossIdAndSchemeIdDTO;
import net.wanji.opt.dto.SaveLaneInfoDTO;
import net.wanji.opt.dto.SendManualDTO;
import net.wanji.opt.dto.strategy.AddOrUpdateSceneDTO;
import net.wanji.opt.vo.CrossIdAndLocationVO;
import net.wanji.opt.vo.OptEffectVO;
import net.wanji.opt.vo.SchemeOptVO;
import java.util.List;
/**
* @author Kent HAN
* @date 2023/3/2 10:09
*/
public interface DiagnoService {
AddOrUpdateSceneDTO queryCrossScene(CrossIdBO crossIdBO);
List<CrossIdAndLocationVO> queryNeighborCross(CrossIdBO crossIdBO);
SchemeOptVO querySchemeOpt(CrossIdAndSchemeIdBO bo);
List<SchemeOptVO.PhaseOptTime> queryOptTime(CrossIdAndSchemeIdDTO crossIdAndSchemeIdDTO);
List<SchemeOptVO.PhaseOptTime> schemeComparison(CrossIdAndSchemeIdDTO crossIdAndSchemeIdDTO);
void sendManual(SendManualDTO sendManualDTO) throws Exception;
void restoreSend(CrossIdBO crossIdBO) throws Exception;
OptEffectVO optEffect(CrossIdAndDirDTO crossIdAndDirDTO);
SaveLaneInfoDTO listLaneInfo(CrossIdBO crossIdBO);
}
package net.wanji.opt.service;
import net.wanji.opt.dto.CrossIdAndMinutesDTO;
import net.wanji.opt.vo.EvaluateCrossDetailVO;
import net.wanji.opt.vo.EvaluateMetricsVO;
/**
* @author hanbing
* @date 2023/1/12 15:12
* @desc 信号评价接口服务
*/
public interface EvaluateService {
EvaluateCrossDetailVO evaluateCrossDetail(CrossIdAndMinutesDTO crossIdAndMinutesDTO);
EvaluateMetricsVO evaluateMetrics(CrossIdAndMinutesDTO crossIdAndMinutesDTO);
}
package net.wanji.opt.service;
import net.wanji.common.framework.exception.DubboProviderException;
import net.wanji.databus.dto.EventInfoTrafficStatusDTO;
import net.wanji.databus.vo.EventInfoTrafficStatusVO;
import net.wanji.opt.entity.EventAlarmInfo;
import net.wanji.opt.po.base.EventStatisticPo;
import java.util.List;
import java.util.Map;
/**
* 事件接口
*/
public interface EventService {
/**
* 查询路口事件统计数
* @param crossId
* @param type
* @param startTime
* @param endTime
* @return
*/
EventStatisticPo findCrossEventCount(String crossId, String type, String startTime, String endTime) throws DubboProviderException;
/**
* 场景分布
* @param crossId
* @param startTime
* @param endTime
* @return
*/
List<Map<String,Object>> findEventDistribute(String crossId, String startTime, String endTime) throws DubboProviderException;
/**
* 路口监测、干线监测-交通状态
* @param eventInfoTrafficStatusDTO
* @return
*/
EventInfoTrafficStatusVO trafficStatus(EventInfoTrafficStatusDTO eventInfoTrafficStatusDTO) throws DubboProviderException;
/**
* 当时事件报警数据监测
* @return
* @throws DubboProviderException
*/
List<EventAlarmInfo> findEventAlarmInfo(String realtimeType, String eventType, String name) throws DubboProviderException;
/**
* 查询当前未结束事件
* @return
* @throws DubboProviderException
*/
List<EventAlarmInfo> findNotFinishAlarmInfo() throws DubboProviderException;
}
package net.wanji.opt.service;
import net.wanji.databus.bo.GreenwaveStartEndDateBO;
import net.wanji.opt.bo.*;
import net.wanji.opt.vo.*;
import java.util.List;
public interface MainlineEvaluateService {
List<String> bottomMenu(BottomMenuBO bo);
List<MainlineEvaluateBottomCurveVO> bottomCurve(BottomCurveBO bo) throws Exception;
List<MainlineListVO> mainlineList();
MainlineSchemeAnalysisVO mainlineSchemeAnalysis(MainlineSchemeAnalysisBO bo) throws Exception;
MainlineSchemeEvaluateVO mainlineSchemeEvaluate(MainlineSchemeEvaluateBO bo);
List<MainlineCrossEvaluateVO> mainlineCrossEvaluate(MainlineCrossEvaluateBO bo);
List<MainlineRunningAnalyseVO> mainlineRunningAnalyse(GreenwaveStartEndDateBO bo);
}
package net.wanji.opt.service;
import net.wanji.common.framework.exception.DubboProviderException;
import net.wanji.databus.bo.CrossIdAndStartEndDateBO;
import net.wanji.databus.bo.CrossIdBO;
import net.wanji.databus.bo.HeatMapBO;
import net.wanji.databus.vo.RunningEvaluateCrossListVO;
import net.wanji.opt.bo.CrossNameBO;
import net.wanji.opt.bo.MetricsDetailBO;
import net.wanji.opt.vo.*;
import java.util.List;
public interface RunningEvaluateService {
List<RunningEvaluateCrossListVO> crossList(CrossNameBO crossNameBO);
RunningEvaluateCrossEvaluateVO crossEvaluate(CrossIdAndStartEndDateBO bo) throws DubboProviderException;
RunningEvaluateStatusVO congestionStatus(CrossIdAndStartEndDateBO bo);
RunningEvaluateStatusVO unbalanceStatus(CrossIdAndStartEndDateBO bo);
RunningEvaluateStatusVO spilloverStatus(CrossIdAndStartEndDateBO bo);
List<RunningEvaluateSchemeProblemsVO> schemeProblems(CrossIdAndStartEndDateBO bo);
RunningEvaluateMetricsDetailVO metricsDetail(MetricsDetailBO bo);
RunningEvaluateScopeTreeVO scopeTree(CrossIdBO bo);
List<RunningEvaluateHeatMapVO> heatMap(HeatMapBO bo);
}
package net.wanji.opt.service;
import net.wanji.databus.bo.CrossIdAndStartEndDateBO;
import net.wanji.databus.bo.HeatMapBO;
import net.wanji.opt.bo.AbnormalDetailBO;
import net.wanji.opt.bo.MetricsTurnAndLaneBO;
import net.wanji.opt.bo.SceneMetricsDetailBO;
import net.wanji.opt.vo.*;
import net.wanji.opt.vo.SceneMetricsDetailVO;
import java.lang.reflect.InvocationTargetException;
import java.text.ParseException;
import java.util.List;
public interface SceneEvaluateService {
SceneEvaluateAbnormalDistributeVO abnormalDistribute(CrossIdAndStartEndDateBO bo);
SceneEvaluateAbnormalDetailVO abnormalDetail(AbnormalDetailBO abnormalDetailBO) throws ParseException;
List<SceneMetricsDetailVO> metricsDetail(SceneMetricsDetailBO bo) throws InvocationTargetException, NoSuchMethodException, IllegalAccessException;
SceneEvaluateMetricsTurnVO metricsTurn(MetricsTurnAndLaneBO bo) throws ParseException;
SceneEvaluateMetricsLaneVO metricsLane(MetricsTurnAndLaneBO bo) throws ParseException;
List<SceneEvaluateHeatMapVO> heatMap(HeatMapBO bo);
}
package net.wanji.opt.service;
import net.wanji.databus.bo.CrossIdBO;
import net.wanji.opt.bo.CrossSchemeListBO;
import net.wanji.opt.bo.CurveChartBO;
import net.wanji.opt.bo.ProblemSchemeBO;
import net.wanji.opt.bo.SchemeDetailOverallBO;
import net.wanji.opt.vo.*;
import java.text.ParseException;
import java.util.List;
public interface SchemeEvaluateService {
SchemeEvaluateProblemSchemeVO problemSchemeList(ProblemSchemeBO problemSchemeBO);
List<SchemeEvaluateStrategyMetricMenuVO> strategyMetricMenu(CrossIdBO crossIdBO);
List<SchemeEvaluateCrossSchemeListVO> crossSchemeList(CrossSchemeListBO crossSchemeListBO);
SchemeEvaluateSchemeDetailOverallVO schemeDetailOverall(SchemeDetailOverallBO schemeDetailOverallBO) throws Exception;
SchemeEvaluateSchemeDetailedProblemVO detailedProblem(SchemeDetailOverallBO schemeDetailOverallBO) throws Exception;
List<SchemeEvaluateCurveChartVO> curveChart(CurveChartBO curveChartBO) throws ParseException, NoSuchFieldException, IllegalAccessException;
}
package net.wanji.opt.service;
import net.wanji.databus.bo.CrossIdBO;
import net.wanji.databus.vo.GreenwaveListVO;
import net.wanji.opt.bo.*;
import net.wanji.opt.dto.trend.AbnormalCrossListDTO;
import net.wanji.opt.dto.trend.GreenwaveListDTO;
import net.wanji.opt.po.trend.AnalysisRidTurnIndicators;
import net.wanji.opt.po.trend.HoloEventInfoPO;
import net.wanji.opt.vo.*;
import javax.servlet.http.HttpServletResponse;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
/**
* @date 2023/1/12 15:12
* @desc 态势监测接口服务
*/
public interface TrendService {
List<GreenwaveListVO> greenwaveList(GreenwaveListDTO greenwaveListDTO);
GreenwaveStats buildGreenwaveStats(List<GreenwaveListVO> greenwaveListVOList);
AbnormalCrossVO abnormalCrossList(AbnormalCrossListDTO abnormalCrossListDTO);
AbnormalCrossDetailVO abnormalCrossDetail(CrossIdBO crossIdBO);
List<EventAlarmVO> eventAlarm(Date todayTime) throws ParseException;
List<GreenWaveCrossMonitorVO> greenwaveCrossMonitor(GreenwaveIdBO greenwaveIdBO);
List<GreenwaveRunMonitorVO> greenwaveRunMonitor(GreenwaveIdBO greenwaveIdBO);
GreenwaveDetailVO greenwaveDetail(GreenwaveDetailBO greenwaveDetailBO) throws Exception;
List<GreenwaveCrossMetricsVO> greenwaveCrossMetrics(GreenwaveIdAndTimeStampBO greenwaveIdAndTimeStampBO) throws Exception;
void saveGreenwaveStrategy(SaveGreenwaveStrategyBO saveGreenwaveStrategyBO);
GreenwaveDetailVO currentGreenwaveDetail(GreenwaveIdBO bo) throws Exception;
CountRealTimeVO countRealTime(String crossId) throws Exception;
TableQueryVO tableQuery(CrossIdAndTimeSpanBO crossIdAndTimeSpanBO) throws Exception;
TableQueryVO tableRealTime(CrossIdAndIsFirstBO crossIdAndIsFirstBO) throws Exception;
OptTypeVO optType(CrossIdBO crossIdBO);
List<HotspotCrossVO> hotspotCross(CommonCrossIdVO commonCrossIdVO) throws Exception;
List<HotspotCrossTurnVO> crossTurnData(CommonCrossIdVO commonCrossIdVO) throws Exception;
List<HotspotCrossLaneVO> crossLaneData(CommonCrossIdVO commonCrossIdVO) throws Exception;
List<Top5IndexVO> top5Flow() throws Exception;
CrossStatusTimeRateVO crossStatusTimeRate(CommonCrossIdVO commonCrossIdVO) throws Exception;
GreenStatusTimeRateVO greenStatusTimeRate(Integer greenId) throws Exception;
List<TableQueryVO.CycleDataElement> laneTrafficIndex(CommonCrossIdDateTimeVO crossIdDateTimeVO) throws Exception;
List<TableQueryVO.RealTimeDataElement> laneSnapshotIndex(LaneSnapshotIndexVO laneSnapshotIndexVO) throws Exception;
List<OverflowEvent> overFlowEvent(LaneSnapshotIndexVO laneSnapshotIndexVO) throws Exception;
List<AnalysisRidTurnIndicators> lanePeriodTurnData(LanePeriodTurnVO lanePeriodTurnVO) throws Exception;
List<HoloEventInfoPO> holoEvenList(HoloEventVO holoEventVO) throws Exception;
List<LaneIdAliasNameVO> laneIdList(CommonCrossIdVO commonCrossIdVO) throws Exception;
void periodExcel(CommonCrossIdDateTimeVO crossIdDateTimeVO, HttpServletResponse response) throws Exception;
void periodTurnExcel(LanePeriodTurnVO lanePeriodTurnVO, HttpServletResponse response) throws Exception;
void laneSnapshotExcel(LaneSnapshotIndexVO laneSnapshotIndexVO, HttpServletResponse response) throws Exception;
}
package net.wanji.opt.service.es;
import lombok.extern.slf4j.Slf4j;
import net.wanji.common.constant.Constants;
import net.wanji.common.utils.tool.JacksonUtils;
import net.wanji.common.utils.tool.StringUtils;
import net.wanji.opt.dto.CrossLaneSnapshotDataDTO;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.client.core.CountRequest;
import org.elasticsearch.client.core.CountResponse;
import org.elasticsearch.index.query.*;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.SearchHits;
import org.elasticsearch.search.builder.SearchSourceBuilder;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
/**
* @author duanruiming
* @date 2023/10/26 14:13
*/
@Service
@Slf4j
public class LaneSnapshotDataQueryService implements LaneSnapshotService {
@Resource
RestHighLevelClient client;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
@Override
public List<CrossLaneSnapshotDataDTO> queryByCrossIdAndTimeSpan(
String crossId, int startTimeStamp, int endTimeStamp, int pageNum, String laneId, boolean overFlow)
throws Exception {
List<CrossLaneSnapshotDataDTO> result = new ArrayList<>();
try {
SearchRequest searchRequest = new SearchRequest(Constants.LANE_SNAPSHOT_DATA_ES_INDEX);
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
MatchQueryBuilder matchQuery = QueryBuilders.matchQuery("crossId", crossId);
RangeQueryBuilder rangeQuery = QueryBuilders.rangeQuery("timeStamp")
.gte(startTimeStamp)
.lte(endTimeStamp);
BoolQueryBuilder boolQuery = QueryBuilders.boolQuery()
.must(matchQuery)
.must(rangeQuery);
// 是否是溢出事件
MatchQueryBuilder overFlowQuery = null;
if (overFlow) {
overFlowQuery = QueryBuilders.matchQuery("overflow", true);
boolQuery.must(overFlowQuery);
}
// 车道号筛选
String[] split = null;
if (StringUtils.isNotBlank(laneId)) {
split = laneId.split(",");
TermsQueryBuilder termsQuery = QueryBuilders.termsQuery("laneId.keyword", Arrays.asList(split));
boolQuery.must(termsQuery);
}
if (pageNum == -1) {
searchSourceBuilder
.query(boolQuery)
.size(50000);
} else {
searchSourceBuilder
.query(boolQuery)
.from(pageNum * 500)
.size((pageNum + 1) * 500);
}
searchRequest.source(searchSourceBuilder);
SearchResponse response = client.search(searchRequest, RequestOptions.DEFAULT);
SearchHits hits = response.getHits();
for (SearchHit hit : hits) {
String sourceAsString = hit.getSourceAsString();
CrossLaneSnapshotDataDTO crossLaneSnapshotDataDTO =
JacksonUtils.getInstance().readValue(sourceAsString, CrossLaneSnapshotDataDTO.class);
result.add(crossLaneSnapshotDataDTO);
}
} catch (Exception e) {
log.error("ES数据获取错误", e);
throw new Exception(e);
}
return result;
}
@Override
public int queryCountsByCrossIdAndTimeSpan(String crossId, int startTimeStamp, int endTimeStamp) throws Exception {
try {
CountRequest countRequest = new CountRequest(Constants.LANE_SNAPSHOT_DATA_ES_INDEX);
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
MatchQueryBuilder matchQuery = QueryBuilders.matchQuery("crossId", crossId);
RangeQueryBuilder rangeQuery = QueryBuilders.rangeQuery("timeStamp")
.gte(startTimeStamp)
.lte(endTimeStamp);
BoolQueryBuilder boolQuery = QueryBuilders.boolQuery()
.must(matchQuery)
.must(rangeQuery);
searchSourceBuilder.query(boolQuery);
countRequest.source(searchSourceBuilder);
CountResponse countResponse = client.count(countRequest, RequestOptions.DEFAULT);
long count = countResponse.getCount();
return (int) count;
} catch (Exception e) {
log.error("ES数据获取错误", e);
throw new Exception(e);
}
}
}
package net.wanji.opt.service.es;
import net.wanji.opt.dto.CrossLaneSnapshotDataDTO;
import java.util.List;
/**
* @author duanruiming
* @date 2023/10/26 14:12
*/
public interface LaneSnapshotService {
List<CrossLaneSnapshotDataDTO> queryByCrossIdAndTimeSpan(String crossId, int startTimeStamp,
int endTimeStamp, int pageNum,
String laneId, boolean overFlow) throws Exception;
int queryCountsByCrossIdAndTimeSpan(String crossId, int startTimeStamp, int endTimeStamp) throws Exception;
}
package net.wanji.opt.service.impl;
import net.wanji.opt.service.CrossInfoService;
import org.springframework.stereotype.Service;
/**
* @author hfx
* @date 2023/1/12 15:12
* @desc CrossInfoServiceImpl
*/
@Service
public class CrossInfoServiceImpl implements CrossInfoService {
// @Resource
// CrossInfoMapper crossInfoMapper;
//
// public List<CrossInfoDTO> listCrossInfo(CrossQuery query) {
//
// // 获取数据库数据
// List<CrossInfoPO> crossInfoPOList = crossInfoMapper.listCrossInfo(query);
// return BeanListUtils.populateList(crossInfoPOList, new ArrayList<>(), CrossInfoDTO.class);
// }
}
package net.wanji.opt.service.impl;//package net.wanji.opt.service.impl;
//package net.wanji.opt.service.impl;
//
//import lombok.extern.slf4j.Slf4j;
//import net.wanji.common.utils.tool.BeanListUtils;
......
package net.wanji.opt.service.impl;//package net.wanji.opt.service.impl;
//package net.wanji.opt.service.impl;
//
//import net.wanji.databus.dao.entity.CrossPhaseLightsPO;
//import net.wanji.databus.dao.entity.CrossPhasePO;
......
package net.wanji.opt.service.impl;//package net.wanji.opt.service.impl;
//package net.wanji.opt.service.impl;
//
//import lombok.extern.slf4j.Slf4j;
//import net.wanji.common.utils.tool.BeanListUtils;
......
package net.wanji.opt.service.impl;//package net.wanji.opt.service.impl;
//package net.wanji.opt.service.impl;
//
//import lombok.extern.slf4j.Slf4j;
//import net.wanji.common.utils.tool.BeanListUtils;
......
package net.wanji.opt.service.impl;//package net.wanji.opt.service.impl;
//package net.wanji.opt.service.impl;
//
//import lombok.extern.slf4j.Slf4j;
//import net.wanji.common.utils.tool.BeanListUtils;
......
package net.wanji.opt.service.impl;//package net.wanji.opt.service.impl;
//package net.wanji.opt.service.impl;
//
//import lombok.extern.slf4j.Slf4j;
//import net.wanji.common.utils.tool.BeanListUtils;
......
package net.wanji.opt.service.signalcontrol;
import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.databus.bo.CrossIdBO;
import net.wanji.databus.dto.CrossIdDateTimeDTO;
import net.wanji.databus.vo.ControlCommandVO;
import net.wanji.databus.vo.SchemeOptSendVO;
/**
* @author duanruiming
* @date 2023/03/01 20:59
*/
public interface FeignProxyService {
JsonViewObject schemeOptSend(SchemeOptSendVO schemeOptSendVO) throws Exception;
JsonViewObject schemeOptRestore(String crossId) throws Exception;
/** 增加路口红闪,黄闪,步进,相位锁定服务 20250315 /
*
* @param vo
* @return
* @throws Exception
*/
JsonViewObject allRedControl(ControlCommandVO vo) throws Exception;
JsonViewObject yellowLightControl(ControlCommandVO vo) throws Exception;
JsonViewObject stepControl(String crossId, Integer command, Integer stepNum) throws Exception;
JsonViewObject lockControl(ControlCommandVO vo) throws Exception;
JsonViewObject recoverSchedule(CrossIdBO crossIdBO) throws Exception;
JsonViewObject lightStatusOneHist(CrossIdDateTimeDTO crossIdDateTimeDTO) throws Exception;
}
package net.wanji.opt.service.signalcontrol.impl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import net.wanji.common.framework.exception.FeignServiceException;
import net.wanji.common.framework.rest.JsonViewObject;
import net.wanji.databus.bo.CrossIdBO;
import net.wanji.databus.dto.CrossIdDateTimeDTO;
import net.wanji.databus.entity.develop.servicedevelop.develop.StatusCodeEnum;
import net.wanji.databus.vo.ControlCommandVO;
import net.wanji.databus.vo.LockControlVO;
import net.wanji.databus.vo.SchemeSendVO;
import net.wanji.feign.service.UtcFeignClients;
import net.wanji.opt.cache.CrossDirTurnPhaseCache;
import net.wanji.opt.dao.mapper.CrossSchemeOptLogMapper;
import net.wanji.opt.dto.CrossPhaseDTO;
import net.wanji.opt.po.base.CrossSchemeOptLogPO;
import net.wanji.opt.service.impl.CrossOptimizeServiceImpl;
import net.wanji.opt.service.signalcontrol.FeignProxyService;
import net.wanji.databus.vo.SchemeOptSendVO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.*;
/**
* @author duanruiming
* @date 2023/03/02 9:11
*/
@Service
@Slf4j
@RequiredArgsConstructor
public class FeignProxyServiceImpl implements FeignProxyService {
private final UtcFeignClients utcFeignClients;
private final CrossSchemeOptLogMapper crossSchemeOptLogMapper;
private final CrossDirTurnPhaseCache crossDirTurnPhaseCache;
private final CrossOptimizeServiceImpl crossOptimizeService;
@Override
public JsonViewObject schemeOptSend(SchemeOptSendVO schemeOptSendVO) throws Exception {
SchemeSendVO schemeSendVO = new SchemeSendVO();
BeanUtils.copyProperties(schemeOptSendVO, schemeSendVO);
JsonViewObject jsonViewObject = utcFeignClients.tempScheme(schemeOptSendVO);
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
log.error("诊断优化手动下发优化方案,UTC服务调用异常", jsonViewObject);
throw new FeignServiceException("诊断优化手动下发优化方案,UTC服务调用异常");
}
// 将优化记录插入方案优化记录表
List<CrossSchemeOptLogPO> crossSchemeOptLogPOS = getCrossSchemeOptLogPOList(schemeOptSendVO);
crossSchemeOptLogMapper.insertBatch(crossSchemeOptLogPOS);
return jsonViewObject.success("手动下发优化方案成功");
}
@Override
public JsonViewObject schemeOptRestore(String crossId) throws Exception {
// 下发原始方案
Map<String, CrossPhaseDTO> phaseMap = crossDirTurnPhaseCache.getPhaseDirTurnMap();
SchemeSendVO schemeSendVO = crossOptimizeService.getSchemeSendVO(crossId, phaseMap, Collections.EMPTY_MAP);
JsonViewObject jsonViewObject = utcFeignClients.schemeSend(schemeSendVO);
if (Objects.isNull(jsonViewObject) || jsonViewObject.getCode() != 200) {
log.error("诊断优化手动恢复优化方案,UTC服务调用异常!", jsonViewObject);
throw new FeignServiceException("手动恢复优化方案,UTC服务调用异常");
}
return jsonViewObject.success("手动恢复优化方案成功");
}
/**
* 获取方案优化数据,插入到数据库
*
* @param schemeOptSendVO
* @return
*/
private List<CrossSchemeOptLogPO> getCrossSchemeOptLogPOList(SchemeOptSendVO schemeOptSendVO) {
List<CrossSchemeOptLogPO> crossSchemeOptLogPOS = new ArrayList<>();
Map<String, CrossPhaseDTO> phaseDirTurnMap = crossDirTurnPhaseCache.getPhaseDirTurnMap();
long dataBatchTimeLong = LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8"));
Map<String, Integer> phaseOffsetTimeMap = schemeOptSendVO.getPhaseOffsetTimeMap();
String crossId = schemeOptSendVO.getCrossCode();
List<SchemeSendVO.Pattern> patternList = schemeOptSendVO.getPatternList();
for (SchemeSendVO.Pattern pattern : patternList) {
String patternNo = pattern.getPatternNo();
String offset = pattern.getOffset();
List<SchemeSendVO.Pattern.Ring> rings = pattern.getRings();
for (SchemeSendVO.Pattern.Ring ring : rings) {
String ringNo = ring.getRingNo();
List<SchemeSendVO.Pattern.Ring.Phase> phaseList = ring.getPhaseList();
for (SchemeSendVO.Pattern.Ring.Phase phase : phaseList) {
String phaseNo = phase.getPhaseNo();
String greenTime = phase.getGreenTime();
Integer greenTimeOffset = phaseOffsetTimeMap.get(phaseNo);
for (Map.Entry<String, CrossPhaseDTO> entry : phaseDirTurnMap.entrySet()) {
CrossPhaseDTO crossPhaseDTO = entry.getValue();
if (StringUtils.equals(crossId, crossPhaseDTO.getCrossId()) && StringUtils.equals(phaseNo, crossPhaseDTO.getPhaseNo())) {
Integer dirType = crossPhaseDTO.getDirType();
String turnType = crossPhaseDTO.getTurnType();
CrossSchemeOptLogPO crossSchemeOptLogPO = new CrossSchemeOptLogPO();
crossSchemeOptLogPO.setCrossId(crossId);
crossSchemeOptLogPO.setSchemeId(Integer.valueOf(patternNo));
crossSchemeOptLogPO.setDirType(dirType);
crossSchemeOptLogPO.setTurnType(turnType);
crossSchemeOptLogPO.setOffset(Integer.valueOf(offset));
crossSchemeOptLogPO.setRingNo(Integer.valueOf(ringNo));
crossSchemeOptLogPO.setPhaseNo(phaseNo);
crossSchemeOptLogPO.setPhaseOrderId(Integer.valueOf(phase.getSort()));
crossSchemeOptLogPO.setOriGreenTime(Integer.valueOf(greenTime) - greenTimeOffset);
crossSchemeOptLogPO.setOptGreenTime(Integer.valueOf(greenTime));
crossSchemeOptLogPO.setOptTime(greenTimeOffset);
crossSchemeOptLogPO.setOptType(schemeOptSendVO.getOptType());
crossSchemeOptLogPO.setOptReason(schemeOptSendVO.getOptReason());
crossSchemeOptLogPO.setStartTime(new Date());
crossSchemeOptLogPO.setRelationFlag(schemeOptSendVO.getRelationFlag());
crossSchemeOptLogPO.setRelationCrossId(schemeOptSendVO.getRelationCrossId());
crossSchemeOptLogPO.setOptResult("1");
crossSchemeOptLogPO.setOptResultDesc(StatusCodeEnum.STATUS_00200.getDetail());
crossSchemeOptLogPO.setDataBatchTime((int) dataBatchTimeLong);
}
}
}
}
}
return crossSchemeOptLogPOS;
}
@Override
public JsonViewObject allRedControl(ControlCommandVO vo) throws Exception {
return utcFeignClients.allRedControl(vo);
}
@Override
public JsonViewObject yellowLightControl(ControlCommandVO vo) throws Exception {
return utcFeignClients.yellowLightControl(vo);
}
@Override
public JsonViewObject stepControl(String crossId, Integer command, Integer stepNum) throws Exception {
return utcFeignClients.stepControl(crossId, command, stepNum);
}
@Override
public JsonViewObject lockControl(ControlCommandVO vo) throws Exception {
LockControlVO lockControlVO = new LockControlVO();
lockControlVO.setCrossCode(vo.getCrossCode());
lockControlVO.setCommand(vo.getCommand());
lockControlVO.setDuration(vo.getDuration());
lockControlVO.setPhaseList(vo.getPhaseList());
return utcFeignClients.lockControl(lockControlVO);
}
@Override
public JsonViewObject recoverSchedule(CrossIdBO crossIdBO) throws Exception {
return utcFeignClients.recoverSchedule(crossIdBO.getCrossId());
}
@Override
public JsonViewObject lightStatusOneHist(CrossIdDateTimeDTO crossIdDateTimeDTO) throws Exception {
return utcFeignClients.selectLightStatusHist(crossIdDateTimeDTO);
}
}
package net.wanji.opt.service.signalopt;
import net.wanji.opt.vo.GreenBeltCrossDetailVO;
import net.wanji.opt.vo.GreenBeltFlowStopTimeVO;
import net.wanji.opt.vo.GreenBeltKeyCrossFlowTimeVO;
import net.wanji.opt.vo.GreenBeltSpeedWidthVO;
import java.util.List;
/**
* @author duanruiming
* @date 2024/11/19 18:07
*/
public interface GreenBeltInfoService {
List<GreenBeltFlowStopTimeVO> greenBeltCrossDetailHist(Integer greenId) throws Exception;
List<GreenBeltSpeedWidthVO> greenBeltSpeedWidth(Integer greenId) throws Exception;
List<GreenBeltKeyCrossFlowTimeVO> greenBeltKeyCrossFlowTime(Integer greenId) throws Exception;
GreenBeltCrossDetailVO greenBeltCrossDetailList(Integer greenId) throws Exception;
}
package net.wanji.opt.service.strategy;
import com.github.pagehelper.PageInfo;
import net.wanji.opt.dto.IntegerIdsDTO;
import net.wanji.opt.dto.strategy.AddOrUpdateIdeaDTO;
import net.wanji.opt.dto.strategy.QueryIdeaDTO;
import net.wanji.opt.po.strategy.IdeaPO;
/**
* @author hanbing
* @date 2023/1/12 15:12
* @desc 策略管理-方法库接口服务
*/
public interface IdeaService {
void addOrUpdateIdea(AddOrUpdateIdeaDTO addOrUpdateIdeaDTO);
void deleteIdea(IntegerIdsDTO integerIdsDTO);
PageInfo<IdeaPO> queryIdea(QueryIdeaDTO queryIdeaDTO);
}
package net.wanji.opt.service.strategy;
import com.github.pagehelper.PageInfo;
import net.wanji.opt.dto.IntegerIdsDTO;
import net.wanji.opt.dto.strategy.AddOrUpdateSceneDTO;
import net.wanji.opt.dto.strategy.QuerySceneDTO;
import net.wanji.opt.po.strategy.SceneStrategyIdeaPO;
/**
* @author hanbing
* @date 2023/1/12 15:12
* @desc 策略管理-场景库接口服务
*/
public interface SceneService {
void addOrUpdateScene(AddOrUpdateSceneDTO addOrUpdateSceneDTO);
void deleteScene(IntegerIdsDTO integerIdsDTO);
PageInfo<AddOrUpdateSceneDTO> queryScene(QuerySceneDTO querySceneDTO);
/**
* 通过场景编号获取当前执行的场景-策略-方法的id
*
* @param sceneNum
* @return
*/
SceneStrategyIdeaPO selectIdBySceneNum(Integer sceneNum);
}
package net.wanji.opt.service.strategy;
import com.github.pagehelper.PageInfo;
import net.wanji.opt.dto.IntegerIdsDTO;
import net.wanji.opt.dto.strategy.AddOrUpdateStrategyDTO;
import net.wanji.opt.dto.strategy.QueryStrategyDTO;
import net.wanji.opt.po.strategy.StrategyPO;
/**
* @author hanbing
* @date 2023/1/12 15:12
* @desc 策略管理-策略库接口服务
*/
public interface StrategyService {
void addOrUpdateStrategy(AddOrUpdateStrategyDTO addOrUpdateStrategyDTO);
void deleteStrategy(IntegerIdsDTO integerIdsDTO);
PageInfo<StrategyPO> queryStrategy(QueryStrategyDTO queryStrategyDTO);
}
package net.wanji.opt.service.strategy.impl;
import cn.hutool.core.util.ObjectUtil;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import net.wanji.opt.dao.mapper.strategy.IdeaMapper;
import net.wanji.opt.dao.mapper.strategy.SceneStrategyIdeaMapper;
import net.wanji.opt.dto.IntegerIdsDTO;
import net.wanji.opt.dto.strategy.AddOrUpdateIdeaDTO;
import net.wanji.opt.dto.strategy.QueryIdeaDTO;
import net.wanji.opt.po.strategy.IdeaPO;
import net.wanji.opt.service.strategy.IdeaService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* @author Kent HAN
* @date 2023/2/27 9:43
*/
@Service
public class IdeaServiceImpl implements IdeaService {
private final IdeaMapper ideaMapper;
private final SceneStrategyIdeaMapper sceneStrategyIdeaMapper;
public IdeaServiceImpl(IdeaMapper ideaMapper, SceneStrategyIdeaMapper sceneStrategyIdeaMapper) {
this.ideaMapper = ideaMapper;
this.sceneStrategyIdeaMapper = sceneStrategyIdeaMapper;
}
@Override
@Transactional
public void addOrUpdateIdea(AddOrUpdateIdeaDTO addOrUpdateIdeaDTO) {
Integer id = addOrUpdateIdeaDTO.getId();
if (ObjectUtil.isEmpty(id) || id == 0) {
// 不传ID为新增
IdeaPO ideaPO = new IdeaPO();
fillData(addOrUpdateIdeaDTO, ideaPO);
ideaMapper.insertOne(ideaPO);
} else {
// 传ID为修改
IdeaPO ideaPO = new IdeaPO();
ideaPO.setId(id);
fillData(addOrUpdateIdeaDTO, ideaPO);
ideaMapper.updateOne(ideaPO);
}
}
private void fillData(AddOrUpdateIdeaDTO addOrUpdateIdeaDTO, IdeaPO ideaPO) {
ideaPO.setIdeaCode(addOrUpdateIdeaDTO.getIdeaCode());
ideaPO.setIdeaName(addOrUpdateIdeaDTO.getIdeaName());
ideaPO.setIdeaTarget(addOrUpdateIdeaDTO.getIdeaTarget());
ideaPO.setIdeaDetail(addOrUpdateIdeaDTO.getIdeaDetail());
}
@Override
public void deleteIdea(IntegerIdsDTO integerIdsDTO) {
List<Integer> ids = integerIdsDTO.getIds();
ideaMapper.deleteByIds(ids);
// 删除关系表数据
sceneStrategyIdeaMapper.deleteByIdeaIds(ids);
}
@Override
public PageInfo<IdeaPO> queryIdea(QueryIdeaDTO queryIdeaDTO) {
Integer pageNum = queryIdeaDTO.getPageNum();
Integer pageSize = queryIdeaDTO.getPageSize();
PageHelper.startPage(pageNum, pageSize);
List<IdeaPO> ideaPOList = ideaMapper.selectByIdeaNameAndIdeaTarget(queryIdeaDTO);
PageInfo<IdeaPO> ideaPOPageInfo = new PageInfo<>(ideaPOList);
return ideaPOPageInfo;
}
}
package net.wanji.opt.servicev2.comprehensivequery;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageInfo;
import net.wanji.opt.entity.comprehensivequery.CrossLaneDataHistPoExtendName;
import net.wanji.opt.entity.comprehensivequery.GreenTreeEntity;
import java.util.List;
import java.util.Map;
public interface ComprehensiveQueryService {
List<GreenTreeEntity> getGreenAndCross();
JSONObject getCrossStatusDistribution(String crossId , String startTime , String endTime , String objectType , String groupType, Integer pageNum, Integer pageSize);
}
package net.wanji.opt.servicev2.evaluation;
import com.baomidou.mybatisplus.extension.service.IService;
import net.wanji.databus.po.CrossDataHistPO;
import java.util.List;
import java.util.Map;
public interface EvaluationInfoService extends IService<CrossDataHistPO> {
Map<String,Object> getListEvaluationSummarize(String crossId, String startTime, String endTime, String contrastStartTime, String constrastEndTime);
Map<String, Object> summaryEvaluation(String evenType,String currentAlgo,String crossId, String startTime, String endTime, String contrastStartTime, String constrastEndTime);
Map<String, Object> unbalanceEvaluation(String evenType,String currentAlgo,String crossId, String startTime, String endTime, String contrastStartTime, String constrastEndTime);
Map<String, Object> idleEvaluation(String evenType,String currentAlgo,String crossId, String startTime, String endTime, String contrastStartTime, String constrastEndTime);
}
package net.wanji.opt.servicev2.eventoptimize;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import net.wanji.opt.entity.eventoptimize.TEventOptimizeInfo;
import net.wanji.opt.entity.eventoptimize.TEventOptimizeInfoVO;
public interface TEventOptimizeInfoService extends IService<TEventOptimizeInfo> {
Page<TEventOptimizeInfo> queryPageWithConditions(int currentPage, int pageSize, String startTime, String endTime, String crossId,String eventType,Integer optStatus,Integer duration,Integer startOptDuration, Integer endOptDuration,Integer startDuration,Integer endDuration);
Page<TEventOptimizeInfoVO> selectPageWithCrossIdAndGreenId(int currentPage, int pageSize, String startTime, String endTime, String crossId, Integer greenId);
JSONObject getCrossOptimizeDistribute(Integer greenId, String crossId, String startTime, String endTime, Integer groupType);
Page<TEventOptimizeInfo> pageWithLineConditions(int currentPage, int pageSize, String startTime, String endTime, Integer greenId,String eventType, Integer optStatus, Integer duration,Integer startOptDuration,Integer endOptDuration,Integer startDuration, Integer endDuration);
}
\ No newline at end of file
package net.wanji.opt.servicev2.implv2;//package net.wanji.opt.servicev2.implv2;
//package net.wanji.opt.servicev2.implv2;
//
//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
//import com.fasterxml.jackson.core.type.TypeReference;
......
package net.wanji.opt.synthesis.service.impl;//package net.wanji.opt.synthesis.service.impl;
//package net.wanji.opt.synthesis.service.impl;
//
//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
//import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
......
......@@ -32,7 +32,7 @@ public class TablePartitionManagerTask {
public void createTablePartition() {
String[] tableList = partitionTableList.split(",");
DateTime tomorrow = DateTime.now().offset(DateField.HOUR,24);
DateTime tomorrow = DateTime.now().offset(DateField.HOUR,1);
Integer dt = Integer.parseInt(DateUtil.format(tomorrow.toJdkDate(), "yyyyMMdd"));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment