package incheon.ags.ias.trms.service;

import incheon.ags.ias.trms.vo.TrmsAgreVO;
import incheon.ags.ias.trms.vo.TrmsVO;
import incheon.ags.ias.trms.vo.TrmsSearchVO;

import java.util.List;
import java.util.Map;

public interface TrmsService {
    // 약관 목록 조회 (페이징)
    List<Map<String,Object>> selectTrmsList(TrmsSearchVO trmsSearchVO);

    // 약관 목록 조회 (전체 - 외부 연동용)
    List<Map<String,Object>> selectTrmsListAll(TrmsSearchVO trmsSearchVO);

    // 약관 총 개수
    int selectTrmsListTotCnt(TrmsSearchVO trmsSearchVO);

    // 약관 상세 조회
    TrmsVO selectTrmsDetail(Long trmsSn);

    // 약관 등록
    int insertTrms(TrmsVO trmsVO);

    // 약관 수정
    int updateTrms(TrmsVO trmsVO);

    // 약관 삭제
    int deleteTrms(Long trmsSn);

    // 약관 동의 목록 조회
    List<Map<String,Object>> selectTrmsAgreList(String userId);

    // 특정 약관 동의 상세 조회 (최신)
    TrmsAgreVO selectTrmsAgreDetail(TrmsAgreVO trmsAgreVO);

    // 사용자의 최신 약관 동의 여부 확인
    TrmsAgreVO selectLatestAgreement(Long trmsSn, String userId);

    // 약관 동의 등록
    int insertTrmsAgre(TrmsAgreVO trmsAgreVO);

    // 약관 동의 수정
    int updateTrmsAgre(TrmsAgreVO trmsAgreVO);
}
