package cn.lili.modules.permission.serviceimpl; import cn.lili.cache.Cache; import cn.lili.cache.CachePrefix; import cn.lili.common.security.enums.UserEnums; import cn.lili.modules.permission.entity.dos.UserRole; import cn.lili.modules.permission.mapper.UserRoleMapper; import cn.lili.modules.permission.service.UserRoleService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; /** * 用户权限业务层实现 * * @author Chopper * @since 2020/11/17 3:52 下午 */ @Service public class UserRoleServiceImpl extends ServiceImpl implements UserRoleService { @Autowired private Cache cache; @Override public List listByUserId(String userId) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("user_id", userId); return this.baseMapper.selectList(queryWrapper); } @Override public List listId(String userId) { List userRoleList = this.listByUserId(userId); List strings = new ArrayList<>(); userRoleList.forEach(item -> strings.add(item.getRoleId())); return strings; } @Override @Transactional(rollbackFor = Exception.class) public void updateUserRole(String userId, List userRoles) { //删除 QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("user_id", userId); this.remove(queryWrapper); //保存 this.saveBatch(userRoles); cache.vagueDel(CachePrefix.USER_MENU.getPrefix(UserEnums.MANAGER)); cache.vagueDel(CachePrefix.PERMISSION_LIST.getPrefix(UserEnums.MANAGER)); } }