package incheon.product.geoview3d.data3d.mapper;

import incheon.com.config.annotation.MainDB;
import incheon.product.geoview3d.data3d.vo.Data3DModelVO;
import org.apache.ibatis.annotations.Param;
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;

import java.util.List;

/**
 * 3D 데이터 매퍼. 디지털트윈 3D 모델 테이블의 CRUD 쿼리를 정의한다.
 */
@Mapper("productData3DMapper")
@MainDB
public interface Data3DMapper {

    List<Data3DModelVO> selectList(Data3DModelVO vo);

    int selectListCount(Data3DModelVO vo);

    Data3DModelVO selectById(@Param("dgtlPairMdlId") Integer id, @Param("srvcSeCd") String srvcSeCd, @Param("modelTable") String modelTable);

    int insert(Data3DModelVO vo);

    int update(Data3DModelVO vo);

    int delete(@Param("dgtlPairMdlId") Integer id, @Param("srvcSeCd") String srvcSeCd, @Param("modelTable") String modelTable);

    int updateStatus(@Param("dgtlPairMdlId") Integer id, @Param("status") String status, @Param("serviceName") String serviceName, @Param("modelTable") String modelTable);
}
