package com.utic.center.utic.traf.server.dao.repository.dwdb;

import com.utic.center.common.annotation.SqlOperation;
import com.utic.center.utic.traf.server.dao.mapper.dwdb.LinkPatternMapper;
import com.utic.center.utic.traf.server.dto.LinkPtrnVal;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
@RequiredArgsConstructor
public class LinkPatternRepository {

    private final LinkPatternMapper mapper;

    @SqlOperation(type = SqlOperation.SqlType.SELECT, table = "PATN_15MIN_HOLIDAY", param = "linkLevel", param2 = "ptrnTime")
    public List<LinkPtrnVal> findLinkPatternHoliday15M(String ptrnTime, String logDate, String linkLevel) {
        return this.mapper.findLinkPatternHoliday15M(ptrnTime, logDate, linkLevel);
    }
    @SqlOperation(type = SqlOperation.SqlType.SELECT, table = "PATN_15MIN_SUN", param = "linkLevel", param2 = "ptrnTime")
    public List<LinkPtrnVal> findLinkPatternSun15M(String ptrnTime, String logDate, String linkLevel) {
        return this.mapper.findLinkPatternSun15M(ptrnTime, logDate, linkLevel);
    }
    @SqlOperation(type = SqlOperation.SqlType.SELECT, table = "PATN_15MIN_MON", param = "linkLevel", param2 = "ptrnTime")
    public List<LinkPtrnVal> findLinkPatternMon15M(String ptrnTime, String logDate, String linkLevel) {
        return this.mapper.findLinkPatternMon15M(ptrnTime, logDate, linkLevel);
    }
    @SqlOperation(type = SqlOperation.SqlType.SELECT, table = "PATN_15MIN_FRI", param = "linkLevel", param2 = "ptrnTime")
    public List<LinkPtrnVal> findLinkPatternFri15M(String ptrnTime, String logDate, String linkLevel) {
        return this.mapper.findLinkPatternFri15M(ptrnTime, logDate, linkLevel);
    }
    @SqlOperation(type = SqlOperation.SqlType.SELECT, table = "PATN_15MIN_SAT", param = "linkLevel", param2 = "ptrnTime")
    public List<LinkPtrnVal> findLinkPatternSat15M(String ptrnTime, String logDate, String linkLevel) {
        return this.mapper.findLinkPatternSat15M(ptrnTime, logDate, linkLevel);
    }
    @SqlOperation(type = SqlOperation.SqlType.SELECT, table = "PATN_15MIN_WEEK", param = "linkLevel", param2 = "ptrnTime")
    public List<LinkPtrnVal> findLinkPatternWeek15M(String ptrnTime, String logDate, String linkLevel) {
        return this.mapper.findLinkPatternWeek15M(ptrnTime, logDate, linkLevel);
    }
}
