diff --git a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java index 3fae449..113719e 100644 --- a/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java +++ b/dk-modules/business/src/main/java/org/dromara/business/service/impl/BusinessAlertStatisticsServiceImpl.java @@ -18,6 +18,8 @@ import org.dromara.system.api.RemotePostService; import org.dromara.system.api.domain.vo.RemoteAiLabelPostVo; import org.dromara.system.api.domain.vo.RemoteDeptVo; import org.dromara.system.api.domain.vo.RemotePostVo; +import org.dromara.system.api.model.LoginUser; +import org.dromara.system.api.model.RoleDTO; import org.springframework.stereotype.Service; import java.math.BigDecimal; @@ -739,7 +741,14 @@ public class BusinessAlertStatisticsServiceImpl implements IBusinessAlertStatist } private void createPermissions(BusinessAlertBo businessAlertBo) { - String roleCustom = remoteDataScopeService.getRoleCustom(LoginHelper.getLoginUser().getRoles().getFirst().getRoleId()); + Long roleId = Optional.ofNullable(LoginHelper.getLoginUser()) + .map(LoginUser::getRoles) + .filter(roles -> !roles.isEmpty()) + .map(List::getFirst) + .map(RoleDTO::getRoleId) + .orElse(null); + + String roleCustom = remoteDataScopeService.getRoleCustom(roleId); if (roleCustom.equalsIgnoreCase("-1")){ businessAlertBo.setDeptIdList(ListUtil.empty()); }else {