123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- 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.dto.SceneResourceDTO;
- 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.ArrayList;
- import java.util.List;
- import java.util.stream.Collectors;
- import org.ini4j.spi.RegEscapeTool;
- 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) {
- // List<SceneResourceCooperation> sceneResourceCooperationList
- // = sceneResourceCooperationService.list(
- // new LambdaQueryWrapper<SceneResourceCooperation>()
- // .eq(SceneResourceCooperation::getSceneCooperationId, sceneCooperationId));
- List<SceneResourceCooperation> sceneResourceCooperationList =
- sceneResourceCooperationService.listByCondition(
- SceneResourceDTO.builder().sceneCooperationId(sceneCooperationId).version("v4").build());
- //多人协作改造后方案,不写sceneResourceCooperationList表,所以这里,没有查到相关资源绑定信息,即为全部授权协作
- if(CollUtil.isEmpty(sceneResourceCooperationList)){
- return null;
- }
- //如果协作菜单数量与资源数量相同,则返回空,由前端判断当前用户拥有所有该场景编辑权限
- long countV4Resource = this.countByVersion("v4");
- 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));
- }
- }
|