| | |
| | | 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 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()); |
| | |
| | | * @return |
| | | */ |
| | | public String setPermission(PlatformFilePermissionParam platformFilePermissionParam) { |
| | | PermissionToCheck(); |
| | | //删除旧关系 |
| | | platformFileUserService.remove(Wrappers.lambdaQuery(PlatformFileUser.class) |
| | | .eq(PlatformFileUser::getFileId, platformFilePermissionParam.getFileId())); |
| | |
| | | * @return |
| | | */ |
| | | public List<AllUserInfoParam> allUserList() { |
| | | List<Admin> adminList = adminService.list(Wrappers.lambdaQuery(Admin.class).ne(Admin::getId, 1)); |
| | | PermissionToCheck(); |
| | | List<Admin> adminList = adminService.list(Wrappers.lambdaQuery(Admin.class).ne(Admin::getId, SecurityUtils.getUserId())); |
| | | List<Client> clientList = clientService.list(); |
| | | |
| | | List<AllUserInfoParam> list = new ArrayList<>(); |
| | |
| | | } |
| | | |
| | | |
| | | 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; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 权限校验 |
| | | * 权限超管校验 |
| | | */ |
| | | private void PermissionToCheck() { |
| | | if (!AdministratorEnums.ADMIN.getCode().equals(SecurityUtils.getUserDetails().getAdministratorType())) { |
| | | //超管 |
| | | //非超管 |
| | | throw new BusinessException("非超管不能操作"); |
| | | } |
| | | } |
| | | |
| | | } |