| | |
| | | package com.sandu.ximon.admin.service; |
| | | |
| | | import cn.hutool.core.lang.Snowflake; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.github.pagehelper.PageHelper; |
| | | import com.sandu.common.execption.BusinessException; |
| | |
| | | import com.sandu.common.file.impl.AliOssFileServiceImpl; |
| | | import com.sandu.common.object.BaseConditionVO; |
| | | import com.sandu.common.service.impl.BaseServiceImpl; |
| | | import com.sandu.common.util.SpringContextHolder; |
| | | import com.sandu.ximon.admin.param.AllUserInfoParam; |
| | | import com.sandu.ximon.admin.param.EditFileParam; |
| | | import com.sandu.ximon.admin.param.PlatformFilePermissionParam; |
| | | import com.sandu.ximon.admin.security.SecurityUtils; |
| | | import com.sandu.ximon.dao.bo.PlatformFileListBo; |
| | | import com.sandu.ximon.dao.domain.Admin; |
| | | import com.sandu.ximon.dao.domain.Client; |
| | | import com.sandu.ximon.dao.domain.PlatformFile; |
| | | import com.sandu.ximon.dao.domain.PlatformFileUser; |
| | | import com.sandu.ximon.dao.domain.*; |
| | | import com.sandu.ximon.dao.enums.AdministratorEnums; |
| | | import com.sandu.ximon.dao.mapper.PlatformFileMapper; |
| | | import lombok.AllArgsConstructor; |
| | |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * @author LiuHaoNan |
| | |
| | | private final PlatformFileUserService platformFileUserService; |
| | | private final AdminService adminService; |
| | | private final ClientService clientService; |
| | | private final Snowflake snowflake; |
| | | |
| | | /** |
| | | * 文件上传 |
| | |
| | | PermissionToCheck(); |
| | | FileUploadDto fileUploadDto = aliOssFileService.uploadFile(file); |
| | | PlatformFile platformFile = new PlatformFile(); |
| | | platformFile.setFileId(snowflake.nextId()); |
| | | platformFile.setFileName(fileUploadDto.getOriginName()); |
| | | platformFile.setFileSize(fileUploadDto.getFileSize()); |
| | | platformFile.setFileUrl(fileUploadDto.getFileUrl()); |
| | |
| | | if (platformFiles == null && platformFiles.size() == 0) { |
| | | throw new BusinessException("未找到文件!"); |
| | | } |
| | | //删除关系 |
| | | boolean remove = platformFileUserService.remove(Wrappers.lambdaQuery(PlatformFileUser.class).in(PlatformFileUser::getFileId, param.getFileIds())); |
| | | if (remove) { |
| | | //删除文件 |
| | | return removeByIds(param.getFileIds()); |
| | | |
| | | //获取关系 |
| | | List<PlatformFileUser> list = platformFileUserService.list(Wrappers.lambdaQuery(PlatformFileUser.class).in(PlatformFileUser::getFileId, param.getFileIds())); |
| | | if (!list.isEmpty()) { |
| | | //删除关系 |
| | | platformFileUserService.remove(Wrappers.lambdaQuery(PlatformFileUser.class).in(PlatformFileUser::getFileId, param.getFileIds())); |
| | | } |
| | | return false; |
| | | //删除文件 |
| | | return removeByIds(param.getFileIds()); |
| | | } |
| | | |
| | | |
| | |
| | | List<PlatformFileListBo> platformFileListBos; |
| | | if (AdministratorEnums.ADMIN.getCode().equals(SecurityUtils.getUserDetails().getAdministratorType())) { |
| | | PageHelper.startPage(vo.getPageNo(), vo.getPageSize()); |
| | | platformFileListBos = baseMapper.fileLiet(keyword, null); |
| | | platformFileListBos = baseMapper.fileList(keyword, null); |
| | | } else { |
| | | List<PlatformFileUser> platformFileUsers = SpringContextHolder.getBean(PlatformFileUserService.class) |
| | | .list(Wrappers.lambdaQuery(PlatformFileUser.class).eq(PlatformFileUser::getUserId, SecurityUtils.getUserId())); |
| | | List<Long> fileIdList = platformFileUsers.stream().map(PlatformFileUser::getFileId).collect(Collectors.toList()); |
| | | |
| | | if(fileIdList.size() == 0){ |
| | | fileIdList.add(-1L); |
| | | } |
| | | PageHelper.startPage(vo.getPageNo(), vo.getPageSize()); |
| | | platformFileListBos = baseMapper.fileLiet(keyword, SecurityUtils.getUserId()); |
| | | platformFileListBos = baseMapper.fileList(keyword, fileIdList); |
| | | |
| | | } |
| | | return platformFileListBos; |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | public List<AllUserInfoParam> permissionInfo(Long fileId) { |
| | | PermissionToCheck(); |
| | | List<PlatformFileUser> list = platformFileUserService.list(Wrappers.lambdaQuery(PlatformFileUser.class).eq(PlatformFileUser::getFileId, fileId)); |
| | | List<Long> userIds = list.stream().map(PlatformFileUser::getUserId).collect(Collectors.toList()); |
| | | List<Admin> admins = adminService.list(Wrappers.lambdaQuery(Admin.class).in(Admin::getId, userIds)); |
| | | List<Client> clients = clientService.list(Wrappers.lambdaQuery(Client.class).in(Client::getId, userIds)); |
| | | |
| | | |
| | | List<AllUserInfoParam> infoList = new ArrayList<>(); |
| | | AllUserInfoParam allUserInfoParam; |
| | | |
| | | for (Admin admin : admins) { |
| | | allUserInfoParam = new AllUserInfoParam(); |
| | | allUserInfoParam.setId(admin.getId()); |
| | | allUserInfoParam.setName(admin.getUsername()); |
| | | allUserInfoParam.setType("管理员"); |
| | | infoList.add(allUserInfoParam); |
| | | } |
| | | |
| | | for (Client client : clients) { |
| | | allUserInfoParam = new AllUserInfoParam(); |
| | | allUserInfoParam.setId(client.getId()); |
| | | allUserInfoParam.setName(client.getClientName()); |
| | | allUserInfoParam.setType("普通用户"); |
| | | infoList.add(allUserInfoParam); |
| | | } |
| | | |
| | | return infoList; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 权限超管校验 |
| | | */ |
| | |
| | | throw new BusinessException("非超管不能操作"); |
| | | } |
| | | } |
| | | |
| | | } |