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.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.modules.entity.MemberAttribute;
import com.hongqiang.shop.modules.user.dao.MemberAttributeDao;
@Service
public class MemberAttributeServiceImpl extends BaseService implements
MemberAttributeService {
@Autowired
private MemberAttributeDao memberAttributeDao;
@Transactional(readOnly = true)
public Integer findUnusedPropertyIndex() {
return this.memberAttributeDao.findUnusedPropertyIndex();
}
@Transactional(readOnly = true)
public List<MemberAttribute> findList() {
return this.memberAttributeDao.findList();
}
@Transactional(readOnly = true)
@Cacheable({ "memberAttribute" })
public List<MemberAttribute> findList(String cacheRegion) {
return this.memberAttributeDao.findList();
}
@Transactional(readOnly = true)
@Cacheable({ "memberAttribute" })
public MemberAttribute find(Long id) {
return this.memberAttributeDao.findById(id);
}
@Transactional(readOnly = true)
@Cacheable({ "memberAttribute" })
public Page<MemberAttribute> findPage(Pageable pageable) {
return this.memberAttributeDao.findPage(pageable);
}
@Transactional(readOnly = true)
public List<MemberAttribute> findAll() {
return this.memberAttributeDao.findAll();
}
@Transactional(readOnly = true)
public long count() {
return this.memberAttributeDao.count();
}
@Transactional
@CacheEvict(value = { "memberAttribute" }, allEntries = true)
public void save(MemberAttribute memberAttribute) {
this.memberAttributeDao.persist(memberAttribute);
}
@Transactional
@CacheEvict(value = { "memberAttribute" }, allEntries = true)
public MemberAttribute update(MemberAttribute memberAttribute) {
return (MemberAttribute) this.memberAttributeDao.merge(memberAttribute);
}
@Transactional
@CacheEvict(value = { "memberAttribute" }, allEntries = true)
public MemberAttribute update(MemberAttribute memberAttribute,
String[] ignoreProperties) {
return (MemberAttribute) this.memberAttributeDao.update(
memberAttribute, ignoreProperties);
}
@Transactional
@CacheEvict(value = { "memberAttribute" }, allEntries = true)
public void delete(Long id) {
this.memberAttributeDao.delete(find(id));
}
@Transactional
@CacheEvict(value = { "memberAttribute" }, allEntries = true)
public void delete(Long[] ids) {
if (ids != null)
for (Long id : ids)
delete(id);
}
@Transactional
@CacheEvict(value = { "memberAttribute" }, allEntries = true)
public void delete(MemberAttribute memberAttribute) {
this.memberAttributeDao.delete(memberAttribute);
}
}