package com.nova.sankuai.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.nova.sankuai.domain.entity.Role; import com.nova.sankuai.domain.entity.RoleUser; import com.nova.sankuai.infra.mapper.RoleUserMapper; import com.nova.sankuai.service.IRoleService; import com.nova.sankuai.service.IRoleUserService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; /** *

* description *

* * @author denglb 2021/11/19 */ @Service @AllArgsConstructor public class RoleUserServiceImpl extends ServiceImpl implements IRoleUserService { private RoleUserMapper roleUserMapper; private IRoleService roleService; @Override @Transactional(rollbackFor = Exception.class) public void assignRoles(List roleIds, Long userId) { roleUserMapper.deleteByUserId(userId); if (roleIds.size() > 0) { roleIds = roleIds.stream().distinct().collect(Collectors.toList()); roleUserMapper.assignRoles(roleIds, userId); } } @Override @Transactional(rollbackFor = Exception.class) public void setDefaultRole(Long userId, Integer type) { Role role = roleService.lambdaQuery().eq(Role::getRoleCode, type).one(); List roleIds = new ArrayList() {{ add(role.getId()); }}; roleUserMapper.assignRoles(roleIds, userId); } }