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.base.persistence.Page;
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.common.utils.Pageable;
import com.hongqiang.shop.website.dao.FriendLinkDao;
import com.hongqiang.shop.website.entity.FriendLink;
@Service
public class FriendLinkServiceImpl extends BaseService implements
FriendLinkService {
@Autowired
public FriendLinkDao friendLinkDao;
@Transactional(readOnly = true)
public List<FriendLink> findList(FriendLink.Type type) {
return this.friendLinkDao.findList(type);
}
@Transactional(readOnly = true)
@Cacheable({ "friendLink" })
public List<FriendLink> findList(Integer count, List<Filter> filters,
List<Order> orders, String cacheRegion) {
return this.friendLinkDao.findList(null, count, filters, orders);
}
@Transactional(readOnly = true)
public List<FriendLink> findList(Integer count,
List<Filter> filters, List<Order> orders) {
return this.friendLinkDao.findList(null, count, filters, orders);
}
@Transactional
@CacheEvict(value = { "friendLink" })
public FriendLink find(Long id) {
return this.friendLinkDao.find(id);
}
@Transactional
@CacheEvict(value = { "friendLink" })
public Page<FriendLink> findPage(Pageable pageable) {
return this.friendLinkDao.findPage(pageable);
}
@Transactional
@CacheEvict(value = { "friendLink" }, allEntries = true)
public void save(FriendLink friendLink) {
this.friendLinkDao.persist(friendLink);
}
@Transactional
@CacheEvict(value = { "friendLink" }, allEntries = true)
public FriendLink update(FriendLink friendLink) {
return (FriendLink) this.friendLinkDao.merge(friendLink);
}
@Transactional
@CacheEvict(value = { "friendLink" }, allEntries = true)
public FriendLink update(FriendLink friendLink, String[] ignoreProperties) {
return (FriendLink) this.friendLinkDao.update(friendLink,
ignoreProperties);
}
@Transactional
@CacheEvict(value = { "friendLink" }, allEntries = true)
public void delete(Long id) {
this.friendLinkDao.delete(id);
}
@Transactional
@CacheEvict(value = { "friendLink" }, allEntries = true)
public void delete(Long[] ids) {
if (ids != null)
for (Long id : ids)
this.friendLinkDao.delete(id);
}
@Transactional
@CacheEvict(value = { "friendLink" }, allEntries = true)
public void delete(FriendLink friendLink) {
this.friendLinkDao.delete(friendLink);
}
}