|
@@ -3,6 +3,8 @@ package com.fdkankan.scene.service.impl;
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.fdkankan.common.constant.ErrorCode;
|
|
|
+import com.fdkankan.common.exception.BusinessException;
|
|
|
import com.fdkankan.scene.entity.SceneResource;
|
|
|
import com.fdkankan.scene.entity.SceneResourceCooperation;
|
|
|
import com.fdkankan.scene.mapper.ISceneResourceMapper;
|
|
@@ -18,7 +20,7 @@ import org.springframework.stereotype.Service;
|
|
|
* 场景资源表 服务实现类
|
|
|
* </p>
|
|
|
*
|
|
|
- * @author
|
|
|
+ * @author
|
|
|
* @since 2022-07-18
|
|
|
*/
|
|
|
@Service
|
|
@@ -30,21 +32,29 @@ public class SceneResourceServiceImpl extends ServiceImpl<ISceneResourceMapper,
|
|
|
@Override
|
|
|
public List<SceneResource> findByCooperationId(Long sceneCooperationId) {
|
|
|
|
|
|
+ long countV4Resource = this.countByVersion("v4");
|
|
|
+
|
|
|
List<SceneResourceCooperation> sceneResourceCooperationList
|
|
|
= sceneResourceCooperationService.list(
|
|
|
new LambdaQueryWrapper<SceneResourceCooperation>()
|
|
|
.eq(SceneResourceCooperation::getSceneCooperationId, sceneCooperationId));
|
|
|
|
|
|
- List<Long> sceneResourceIdList = null;
|
|
|
- if(CollUtil.isNotEmpty(sceneResourceCooperationList)){
|
|
|
- sceneResourceIdList = sceneResourceCooperationList.stream()
|
|
|
- .map(sceneResourceCooperation -> sceneResourceCooperation.getSceneResourceId())
|
|
|
- .collect(Collectors.toList());
|
|
|
+ if(CollUtil.isEmpty(sceneResourceCooperationList)){
|
|
|
+ throw new BusinessException(ErrorCode.FAILURE_CODE_5014);
|
|
|
}
|
|
|
- if(CollUtil.isEmpty(sceneResourceIdList)){
|
|
|
+ if(countV4Resource == sceneResourceCooperationList.size()){//如果协作菜单数量与资源数量相同,则返回空,由前端判断当前用户拥有所有该场景编辑权限
|
|
|
return null;
|
|
|
}
|
|
|
|
|
|
+ List<Long> sceneResourceIdList = sceneResourceCooperationList.stream()
|
|
|
+ .map(sceneResourceCooperation -> sceneResourceCooperation.getSceneResourceId())
|
|
|
+ .collect(Collectors.toList());
|
|
|
+
|
|
|
return this.listByIds(sceneResourceIdList);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public long countByVersion(String version) {
|
|
|
+ return this.count(new LambdaQueryWrapper<SceneResource>().eq(SceneResource::getVersion, version));
|
|
|
+ }
|
|
|
}
|