123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- 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;
- import com.fdkankan.scene.service.ISceneResourceCooperationService;
- import com.fdkankan.scene.service.ISceneResourceService;
- import java.util.List;
- import java.util.stream.Collectors;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- /**
- * <p>
- * 场景资源表 服务实现类
- * </p>
- *
- * @author
- * @since 2022-07-18
- */
- @Service
- public class SceneResourceServiceImpl extends ServiceImpl<ISceneResourceMapper, SceneResource> implements ISceneResourceService {
- @Autowired
- private ISceneResourceCooperationService sceneResourceCooperationService;
- @Override
- public List<SceneResource> findByCooperationId(Long sceneCooperationId) {
- long countV4Resource = this.countByVersion("v4");
- List<SceneResourceCooperation> sceneResourceCooperationList
- = sceneResourceCooperationService.list(
- new LambdaQueryWrapper<SceneResourceCooperation>()
- .eq(SceneResourceCooperation::getSceneCooperationId, sceneCooperationId));
- if(CollUtil.isEmpty(sceneResourceCooperationList)){
- throw new BusinessException(ErrorCode.FAILURE_CODE_5014);
- }
- 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));
- }
- }
|