jiangping
2024-12-27 5506edbe54883b31db3cc8e4a1d9d0795a18a3c9
server/service/src/main/java/com/doumee/biz/system/impl/SystemRoleBizImpl.java
@@ -3,14 +3,19 @@
import com.doumee.biz.system.SystemRoleBiz;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.utils.DateUtil;
import com.doumee.dao.system.dto.CreateRoleMenuDTO;
import com.doumee.dao.system.dto.CreateRolePermissionDTO;
import com.doumee.dao.system.model.SystemDataPermission;
import com.doumee.dao.system.model.SystemRole;
import com.doumee.dao.system.model.SystemRoleMenu;
import com.doumee.dao.system.model.SystemRolePermission;
import com.doumee.service.system.SystemDataPermissionService;
import com.doumee.service.system.SystemRoleMenuService;
import com.doumee.service.system.SystemRolePermissionService;
import com.doumee.service.system.SystemRoleService;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -29,6 +34,9 @@
    @Autowired
    private SystemRoleMenuService systemRoleMenuService;
    @Autowired
    private SystemDataPermissionService systemDataPermissionService;
    @Override
    public Integer create(SystemRole systemRole) {
@@ -110,4 +118,27 @@
            systemRoleMenuService.create(newRoleMenu);
        }
    }
    @Override
    @Transactional
    public void createRoleDataPermission(SystemDataPermission dto) {
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        if(dto.getRoleId()==null || dto.getType()==null ){
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "对不起,请求参数不正确!");
        }
        // 删除关联权限
        SystemDataPermission deleteDto = new SystemDataPermission();
        deleteDto.setRoleId(dto.getRoleId());
        systemDataPermissionService.delete(deleteDto);
        // 新增新的权限
        dto.setDeleted(Boolean.FALSE);
        dto.setBusinessCode("DEPARTMENT");
        dto.setCreateTime(DateUtil.getCurrentDate());
        dto.setCreateUser(user.getId());
        dto.setDisabled(Boolean.FALSE);
        systemDataPermissionService.create(dto);
    }
}