package incheon.cmm.g2f.basemap.service.impl;

import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import incheon.cmm.g2f.basemap.vo.G2FBasemapVO;
import incheon.cmm.g2f.basemap.mapper.G2FBasemapMapper;
import incheon.cmm.g2f.basemap.service.G2FBasemapService;

import java.util.List;

@Service
public class G2FBasemapServiceImpl extends EgovAbstractServiceImpl implements G2FBasemapService {

	private final G2FBasemapMapper mapper;

	public G2FBasemapServiceImpl(G2FBasemapMapper mapper) {
		this.mapper = mapper;
	}

	@Override
	public G2FBasemapVO getById(String bcrnLyrId) {
		return mapper.findById(bcrnLyrId);
	}
	@Override
	public List<G2FBasemapVO> getList() {
		return mapper.findAll();
	}
	@Override
	public List<G2FBasemapVO> getList(String searchKeyword, int page, int size) {
		int offset = (page - 1) * size;
		return mapper.findAllWithPaging(searchKeyword, size, offset);
	}

	@Override
	public int getTotalCount(String searchKeyword) {
		return mapper.count(searchKeyword);
	}

	@Override
	@Transactional
	public void create(G2FBasemapVO baseMap) {
		mapper.insert(baseMap);
	}

	@Override
	@Transactional
	public void update(G2FBasemapVO baseMap) {
		mapper.update(baseMap);
	}

	@Override
	@Transactional
	public void delete(String bcrnLyrId) {
		mapper.delete(bcrnLyrId);
	}

}
