package com.hongqiang.shop.modules.user.service; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.annotation.CacheEvict; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import com.hongqiang.shop.common.service.BaseService; import com.hongqiang.shop.modules.entity.Area; import com.hongqiang.shop.modules.user.dao.AreaDao; @Service public class AreaServiceImpl extends BaseService implements AreaService { @Autowired private AreaDao areaDao; @Transactional(readOnly = true) public List<Area> findRoots() { return this.areaDao.findRoots(null); } @Transactional(readOnly = true) public List<Area> findRoots(Integer count) { return this.areaDao.findRoots(count); } @Transactional(readOnly = true) public Area find(Long id) { return this.areaDao.findById(id); } @Transactional @CacheEvict(value = { "area" }, allEntries = true) public void save(Area area) { this.areaDao.save(area); } @Transactional @CacheEvict(value = { "area" }, allEntries = true) public Area update(Area area) { return (Area) this.areaDao.merge(area); } @Transactional @CacheEvict(value = { "area" }, allEntries = true) public Area update(Area area, String[] ignoreProperties) { return (Area) this.areaDao.update(area, ignoreProperties); } @Transactional @CacheEvict(value = { "area" }, allEntries = true) public void delete(Long id) { this.areaDao.delete(id); } @Transactional @CacheEvict(value = { "area" }, allEntries = true) public void delete(Long[] ids) { if (ids != null) for (Long id : ids) this.areaDao.delete(id); } @Transactional @CacheEvict(value = { "area" }, allEntries = true) public void delete(Area area) { this.areaDao.delete(area); } }