package com.hongqiang.shop.website.service; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.hongqiang.shop.common.service.BaseService; import com.hongqiang.shop.common.utils.Filter; import com.hongqiang.shop.common.utils.Order; import com.hongqiang.shop.website.dao.NavigationDao; import com.hongqiang.shop.website.entity.Navigation; @Service public class NavigationServiceImpl extends BaseService implements NavigationService { @Autowired private NavigationDao navigationDao; @Transactional(readOnly=true) public List<Navigation> findList(Navigation.Position position) { return this.navigationDao.findList(position); } @Transactional(readOnly=true) @Cacheable({"navigation"}) public List<Navigation> findList(Integer count, List<Filter> filters, List<Order> orders, String cacheRegion) { return this.navigationDao.findList(null, count, filters, orders); } @Transactional(readOnly=true) public List<Navigation> findList(Integer count, List<Filter> filters, List<Order> orders) { return this.navigationDao.findList(null, count, filters, orders); } @Transactional @CacheEvict(value={"navigation"}) public Navigation find(Long id) { return this.navigationDao.find(id); } @Transactional @CacheEvict(value={"navigation"}, allEntries=true) public void save(Navigation navigation) { this.navigationDao.persist(navigation); } @Transactional @CacheEvict(value={"navigation"}, allEntries=true) public Navigation update(Navigation navigation) { return (Navigation)this.navigationDao.merge(navigation); } @Transactional @CacheEvict(value={"navigation"}, allEntries=true) public Navigation update(Navigation navigation, String[] ignoreProperties) { return (Navigation)this.navigationDao.update(navigation, ignoreProperties); } @Transactional @CacheEvict(value={"navigation"}, allEntries=true) public void delete(Long id) { this.navigationDao.delete(id); } @Transactional @CacheEvict(value={"navigation"}, allEntries=true) public void delete(Long[] ids) { if (ids != null) for (Long id : ids) this.navigationDao.delete(id); } @Transactional @CacheEvict(value={"navigation"}, allEntries=true) public void delete(Navigation navigation) { this.navigationDao.delete(navigation); } }