package com.hongqiang.shop.modules.user.service;
import java.util.ArrayList;
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.base.persistence.Page;
import com.hongqiang.shop.common.service.BaseService;
import com.hongqiang.shop.common.utils.Pageable;
import com.hongqiang.shop.modules.entity.Role;
import com.hongqiang.shop.modules.user.dao.RoleDao;
@Service
public class RoleServiceImpl extends BaseService implements RoleService {
@Autowired
private RoleDao roleDao;
@Transactional(readOnly = true)
public Role find(Long id) {
return this.roleDao.findById(id);
}
@Transactional(readOnly = true)
public Page<Role> findPage(Pageable pageable) {
return this.roleDao.findPage(pageable);
}
@Transactional(readOnly = true)
public List<Role> findList(Long[] ids) {
List<Role> localArrayList = new ArrayList<Role>();
if (ids != null)
for (Long id : ids) {
Role localObject = this.roleDao.findById(id);
if (localObject == null)
continue;
localArrayList.add(localObject);
}
return localArrayList;
}
@Transactional(readOnly = true)
public List<Role> findAll() {
return this.roleDao.findList();
}
@Transactional
@CacheEvict(value = { "authorization" }, allEntries = true)
public void save(Role role) {
this.roleDao.persist(role);
}
@Transactional
@CacheEvict(value = { "authorization" }, allEntries = true)
public Role update(Role role) {
return (Role) this.roleDao.merge(role);
}
@Transactional
@CacheEvict(value = { "authorization" }, allEntries = true)
public Role update(Role role, String[] ignoreProperties) {
return (Role) this.roleDao.update(role, ignoreProperties);
}
@Transactional
@CacheEvict(value = { "authorization" }, allEntries = true)
public void delete(Long id) {
this.roleDao.delete(id);
}
@Transactional
@CacheEvict(value = { "authorization" }, allEntries = true)
public void delete(Long[] ids) {
if (ids != null)
for (Long localSerializable : ids)
this.roleDao.delete(localSerializable);
}
@Transactional
@CacheEvict(value = { "authorization" }, allEntries = true)
public void delete(Role role) {
this.roleDao.delete(role);
}
}