package me.zhengjie.modules.system.service; import me.zhengjie.modules.system.domain.Menu; import me.zhengjie.modules.system.domain.Role; import me.zhengjie.modules.system.service.dto.RoleDTO; import org.springframework.cache.annotation.CacheConfig; import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; import java.util.List; import java.util.Set; /** * @author jie * @date 2018-12-03 */ @CacheConfig(cacheNames = "role") public interface RoleService { /** * get * @param id * @return */ @Cacheable(key = "#p0") RoleDTO findById(long id); /** * create * @param resources * @return */ @CacheEvict(allEntries = true) RoleDTO create(Role resources); /** * update * @param resources */ @CacheEvict(allEntries = true) void update(Role resources); /** * delete * @param id */ @CacheEvict(allEntries = true) void delete(Long id); /** * findByUsers_Id * @param id * @return */ @Cacheable(keyGenerator = "keyGenerator") List findByUsers_Id(Long id); /** * updatePermission * @param resources * @param roleDTO */ @CacheEvict(allEntries = true) void updatePermission(Role resources, RoleDTO roleDTO); /** * updateMenu * @param resources * @param roleDTO */ @CacheEvict(allEntries = true) void updateMenu(Role resources, RoleDTO roleDTO); @CacheEvict(allEntries = true) void untiedMenu(Menu menu); }