xyc
3 天以前 bdcd315656cf31777522ed1f7c9f72668d377903
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package com.trafficaudit.observation.mapper;
 
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.trafficaudit.observation.dto.ObservationDateSummary;
import com.trafficaudit.observation.dto.ObservationDailyOperation;
import com.trafficaudit.observation.entity.ObservationStationFlow;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
 
import java.util.List;
import java.time.LocalDate;
 
@Mapper
public interface ObservationStationFlowMapper extends BaseMapper<ObservationStationFlow> {
 
    @Select("SELECT obs_date, COUNT(*) AS station_count, "
            + "SUM(small_medium_passenger) AS small_medium_passenger_total, "
            + "MAX(updated_at) AS imported_at "
            + "FROM observation_station_flow GROUP BY obs_date ORDER BY obs_date ASC")
    List<ObservationDateSummary> selectDateSummary();
 
    @Select("SELECT obs_date, COUNT(*) AS station_count, "
            + "AVG(vehicle_speed) AS average_speed, "
            + "AVG(congestion_degree) AS average_congestion "
            + "FROM observation_station_flow "
            + "WHERE obs_date BETWEEN #{startDate} AND #{endDate} "
            + "GROUP BY obs_date ORDER BY obs_date ASC")
    List<ObservationDailyOperation> selectDailyOperations(@Param("startDate") LocalDate startDate,
                                                          @Param("endDate") LocalDate endDate);
}