From dda268997ca8f8a364f7c19b45d7a43a50a98efe Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期二, 25 十月 2022 18:00:11 +0800
Subject: [PATCH] changes
---
ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlatformFileService.java | 143 ++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 133 insertions(+), 10 deletions(-)
diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlatformFileService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlatformFileService.java
index ce1dbc3..118028c 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlatformFileService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PlatformFileService.java
@@ -1,5 +1,6 @@
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;
@@ -7,9 +8,14 @@
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.enums.AdministratorEnums;
@@ -19,7 +25,9 @@
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
+import java.util.ArrayList;
import java.util.List;
+import java.util.stream.Collectors;
/**
* @author LiuHaoNan
@@ -32,6 +40,9 @@
private final AliOssFileServiceImpl aliOssFileService;
private final PlatformFileUserService platformFileUserService;
+ private final AdminService adminService;
+ private final ClientService clientService;
+ private final Snowflake snowflake;
/**
* 鏂囦欢涓婁紶
@@ -43,7 +54,8 @@
PermissionToCheck();
FileUploadDto fileUploadDto = aliOssFileService.uploadFile(file);
PlatformFile platformFile = new PlatformFile();
- platformFile.setFileName(fileUploadDto.getFileName());
+ platformFile.setFileId(snowflake.nextId());
+ platformFile.setFileName(fileUploadDto.getOriginName());
platformFile.setFileSize(fileUploadDto.getFileSize());
platformFile.setFileUrl(fileUploadDto.getFileUrl());
log.error("瓒呯杩涜鏂囦欢涓婁紶[ 鏂囦欢鍚�:" + fileUploadDto.getFileName() + ", 鏂囦欢澶у皬: " + fileUploadDto.getFileSize() + ", url: " + fileUploadDto.getFileUrl() + "]");
@@ -52,6 +64,7 @@
/**
* 淇敼鏂囦欢鍚嶇О
+ *
* @param param
* @return
*/
@@ -70,6 +83,7 @@
/**
* 鍒犻櫎鏂囦欢
+ *
* @param param
* @return
*/
@@ -79,38 +93,56 @@
throw new BusinessException("鍒犻櫎鏃跺弬鏁颁笉鑳戒负绌�!");
}
List<PlatformFile> platformFiles = listByIds(param.getFileIds());
- if (platformFiles == null && platformFiles.size() == 0) {
+ if (platformFiles == null || platformFiles.size() == 0) {
throw new BusinessException("鏈壘鍒版枃浠�!");
}
- return removeByIds(platformFiles);
+
+ //鑾峰彇鍏崇郴
+ 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 removeByIds(param.getFileIds());
}
/**
* 骞冲彴鏂囦欢璧勬簮鍒楄〃
+ *
* @param vo
* @param keyword
* @return
*/
- public Object fileList(BaseConditionVO vo, String keyword) {
+ public List<PlatformFileListBo> fileList(BaseConditionVO vo, String keyword) {
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;
}
/**
* 涓嬭浇鏂囦欢
+ *
* @param fileId
* @return
*/
public String downFile(Long fileId) {
- if(!AdministratorEnums.ADMIN.getCode().equals(SecurityUtils.getUserDetails().getAdministratorType())){
+ if (!AdministratorEnums.ADMIN.getCode().equals(SecurityUtils.getUserDetails().getAdministratorType())) {
PlatformFileUser one = platformFileUserService.getOne(Wrappers.lambdaQuery(PlatformFileUser.class)
.eq(PlatformFileUser::getUserId, SecurityUtils.getUserId()).eq(PlatformFileUser::getFileId, fileId));
if (one == null) {
@@ -122,16 +154,107 @@
}
-// public boolean setPermission(){}
+ /**
+ * 璁剧疆鏂囦欢娴忚鏉冮檺
+ *
+ * @param platformFilePermissionParam
+ * @return
+ */
+ public String setPermission(PlatformFilePermissionParam platformFilePermissionParam) {
+ PermissionToCheck();
+ //鍒犻櫎鏃у叧绯�
+ platformFileUserService.remove(Wrappers.lambdaQuery(PlatformFileUser.class)
+ .eq(PlatformFileUser::getFileId, platformFilePermissionParam.getFileId()));
+
+ //娣诲姞鏂板叧绯�
+ List<PlatformFileUser> list = new ArrayList<>();
+ PlatformFileUser bean;
+ for (Long userId : platformFilePermissionParam.getUserIdList()) {
+ bean = new PlatformFileUser();
+ bean.setFileId(platformFilePermissionParam.getFileId());
+ bean.setUserId(userId);
+ list.add(bean);
+ }
+
+ if (platformFileUserService.saveBatch(list)) {
+ return "鍏崇郴瀛樺偍鎴愬姛锛�";
+ } else {
+ throw new BusinessException("鍏崇郴瀛樺偍澶辫触锛�");
+ }
+ }
+
+ /**
+ * 杩斿洖鎵�鏈夌敤鎴�
+ *
+ * @return
+ */
+ public List<AllUserInfoParam> allUserList() {
+ 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<>();
+ AllUserInfoParam allUserInfoParam;
+
+ for (Admin admin : adminList) {
+ allUserInfoParam = new AllUserInfoParam();
+ allUserInfoParam.setId(admin.getId());
+ allUserInfoParam.setName(admin.getUsername());
+ allUserInfoParam.setType("绠$悊鍛�");
+ list.add(allUserInfoParam);
+ }
+
+ for (Client client : clientList) {
+ allUserInfoParam = new AllUserInfoParam();
+ allUserInfoParam.setId(client.getId());
+ allUserInfoParam.setName(client.getClientName());
+ allUserInfoParam.setType("鏅�氱敤鎴�");
+ list.add(allUserInfoParam);
+ }
+
+ return list;
+ }
+
+
+ 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("闈炶秴绠′笉鑳芥搷浣�");
}
}
+
}
--
Gitblit v1.9.3