package com.hongqiang.shop.website.service;
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.base.persistence.Page;
import com.hongqiang.shop.common.service.BaseService;
import com.hongqiang.shop.common.utils.Pageable;
import com.hongqiang.shop.website.dao.SeoDao;
import com.hongqiang.shop.website.entity.Seo;
@Service
public class SeoServiceImpl extends BaseService implements SeoService {
@Autowired
private SeoDao seoDao;
@Transactional(readOnly = true)
public Seo find(Seo.Type type) {
return this.seoDao.findByType(type);
}
@Transactional(readOnly = true)
@Cacheable({ "seo" })
public Seo find(Seo.Type type, String cacheRegion) {
return this.seoDao.findByType(type);
}
@Transactional(readOnly = true)
@Cacheable({ "seo" })
public Seo find(Long id) {
return this.seoDao.find(id);
}
@Transactional
@Cacheable({ "seo" })
public Page<Seo> findPage(Pageable pageable) {
return this.seoDao.findPage(pageable);
}
@Transactional
@CacheEvict(value = { "seo" }, allEntries = true)
public void save(Seo seo) {
this.seoDao.persist(seo);
}
@Transactional
@CacheEvict(value = { "seo" }, allEntries = true)
public Seo update(Seo seo) {
return (Seo) this.seoDao.merge(seo);
}
@Transactional
@CacheEvict(value = { "seo" }, allEntries = true)
public Seo update(Seo seo, String[] ignoreProperties) {
return (Seo) this.seoDao.update(seo, ignoreProperties);
}
@Transactional
@CacheEvict(value = { "seo" }, allEntries = true)
public void delete(Long id) {
this.seoDao.delete(id);
}
@Transactional
@CacheEvict(value = { "seo" }, allEntries = true)
public void delete(Long[] ids) {
if (ids != null)
for (Long id : ids)
this.seoDao.delete(id);
}
@Transactional
@CacheEvict(value = { "seo" }, allEntries = true)
public void delete(Seo seo) {
this.seoDao.delete(seo);
}
}