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.vo.RoleVo; import com.nova.sankuai.infra.config.CommonException; import com.nova.sankuai.infra.mapper.RoleMapper; import com.nova.sankuai.infra.mapper.RolePermissionMapper; import com.nova.sankuai.service.IRolePermissionService; import com.nova.sankuai.service.IRoleService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; /** *

* description *

* * @author denglb 2021/11/18 */ @Service @AllArgsConstructor public class RoleServiceImpl extends ServiceImpl implements IRoleService { private IRolePermissionService rolePermissionService; private RolePermissionMapper rolePermissionMapper; private RoleMapper roleMapper; @Override @Transactional(rollbackFor = Exception.class) public void edit(RoleVo roleVo) { Role role = getById(roleVo.getId()); if (role == null) { throw new CommonException("该角色不存在"); } role.setName(roleVo.getName()); updateById(role); rolePermissionService.assignPermissions(roleVo.getPermissionIds(), role.getId()); } @Override @Transactional(rollbackFor = Exception.class) public void add(RoleVo roleVo) { Role role = new Role(); role.setCreationDate(new Date()); role.setName(roleVo.getName()); save(role); rolePermissionService.assignPermissions(roleVo.getPermissionIds(), role.getId()); } @Override @Transactional(rollbackFor = Exception.class) public void delete(Long id) { Role role = getById(id); if (role == null) { throw new CommonException("该角色不存在"); } if (role.getDefaultFlag() == 1) { throw new CommonException("默认角色不允许删除"); } removeById(id); rolePermissionMapper.deleteByRoleId(id); } @Override public List getRoleList() { List list = roleMapper.getRoleList(); return list; } }