From ad044fc2b2fd5e93f0a50c7b29e7395d538fd77d Mon Sep 17 00:00:00 2001 From: hongawen <83944980@qq.com> Date: Wed, 8 Mar 2023 10:31:36 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E9=9B=86=E6=88=90=E5=8D=8E?= =?UTF-8?q?=E4=B8=BAobs=E6=9F=A5=E7=9C=8B=E6=B3=A2=E5=BD=A2=E6=96=87?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 23 +- pqs-common/common-minio/pom.xml | 50 -- .../com/njcn/minio/bo/MinIoUploadResDTO.java | 24 - .../main/java/com/njcn/minio/bo/Result.java | 104 --- .../njcn/minio/config/MinIoProperties.java | 35 -- .../java/com/njcn/minio/utils/MinIoUtils.java | 595 ------------------ pqs-common/common-oss/pom.xml | 37 ++ .../njcn/oss}/constant/GeneralConstant.java | 2 +- .../java/com/njcn/oss}/constant/OssPath.java | 12 +- .../com/njcn/oss/enums/OssResponseEnum.java | 29 + .../com/njcn/oss/utils/FileStorageUtil.java | 102 +++ pqs-common/pom.xml | 2 +- pqs-event/event-boot/pom.xml | 2 +- .../Impl/TransientServiceImpl.java | 7 +- .../njcn/event/EventBootApplicationTest.java | 5 +- pqs-harmonic/harmonic-boot/pom.xml | 15 +- .../algorithm/AlgorithmController.java | 33 +- .../service/impl/CustomReportServiceImpl.java | 92 +-- pqs-prepare/harmonic-prepare/pom.xml | 20 +- .../mysql/Impl/line/ReportServiceImpl.java | 36 +- .../process/enums/ProcessResponseEnum.java | 2 - pqs-process/process-boot/pom.xml | 15 +- .../ElectricityQualityIssuesController.java | 9 +- .../RGeneralSurveyPlanController.java | 2 +- .../njcn/process/service/IssuesService.java | 3 +- .../service/RGeneralSurveyPlanPOService.java | 2 +- .../service/impl/IssuesServiceImpl.java | 356 +++++------ .../impl/LoadTypeUserManageServiceImpl.java | 58 +- .../impl/RGeneralSurveyPlanPOServiceImpl.java | 302 +++++---- pqs-user/user-boot/pom.xml | 6 +- .../src/test/java/com/njcn/MinioTest.java | 84 --- 31 files changed, 558 insertions(+), 1506 deletions(-) delete mode 100644 pqs-common/common-minio/pom.xml delete mode 100644 pqs-common/common-minio/src/main/java/com/njcn/minio/bo/MinIoUploadResDTO.java delete mode 100644 pqs-common/common-minio/src/main/java/com/njcn/minio/bo/Result.java delete mode 100644 pqs-common/common-minio/src/main/java/com/njcn/minio/config/MinIoProperties.java delete mode 100644 pqs-common/common-minio/src/main/java/com/njcn/minio/utils/MinIoUtils.java create mode 100644 pqs-common/common-oss/pom.xml rename pqs-common/{common-core/src/main/java/com/njcn/common/pojo => common-oss/src/main/java/com/njcn/oss}/constant/GeneralConstant.java (90%) rename pqs-common/{common-core/src/main/java/com/njcn/common/pojo => common-oss/src/main/java/com/njcn/oss}/constant/OssPath.java (70%) create mode 100644 pqs-common/common-oss/src/main/java/com/njcn/oss/enums/OssResponseEnum.java create mode 100644 pqs-common/common-oss/src/main/java/com/njcn/oss/utils/FileStorageUtil.java delete mode 100644 pqs-user/user-boot/src/test/java/com/njcn/MinioTest.java diff --git a/pom.xml b/pom.xml index 25a9777db..6727d4e15 100644 --- a/pom.xml +++ b/pom.xml @@ -25,6 +25,7 @@ pqs-process pqs-algorithm + pom 灿能微服务生态系统 @@ -111,10 +112,8 @@ 2.3.0 1.2.7 4.4.0 - 0.5.3 - 4.8.1 - 8.2.1 1.7.0-Hoxton + 4.8.1 @@ -341,29 +340,11 @@ easypoi-spring-boot-starter ${easypoi.version} - - - - me.tongfei - progressbar - ${progressbar.version} - com.squareup.okhttp3 okhttp ${okhttp.version} - - io.minio - minio - ${minio.version} - - - com.squareup.okhttp3 - okhttp - - - com.baomidou diff --git a/pqs-common/common-minio/pom.xml b/pqs-common/common-minio/pom.xml deleted file mode 100644 index 17fba24b2..000000000 --- a/pqs-common/common-minio/pom.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - pqs-common - com.njcn - 1.0.0 - - 4.0.0 - common-minio - minioss的公共信息 - - 8 - 8 - UTF-8 - - - - - com.njcn - common-core - ${project.version} - - - com.njcn - common-web - ${project.version} - - - me.tongfei - progressbar - - - com.squareup.okhttp3 - okhttp - - - io.minio - minio - - - com.squareup.okhttp3 - okhttp - - - - - - \ No newline at end of file diff --git a/pqs-common/common-minio/src/main/java/com/njcn/minio/bo/MinIoUploadResDTO.java b/pqs-common/common-minio/src/main/java/com/njcn/minio/bo/MinIoUploadResDTO.java deleted file mode 100644 index 6447b79a5..000000000 --- a/pqs-common/common-minio/src/main/java/com/njcn/minio/bo/MinIoUploadResDTO.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.njcn.minio.bo; - -import lombok.Data; - -import java.io.Serializable; - -/** - * @author hongawen - * @version 1.0.0 - * @date 2022年10月16日 18:40 - */ -@Data -public class MinIoUploadResDTO implements Serializable { - - private static final long serialVersionUID = 475040120689218785L; - private String minFileName; - private String minFileUrl; - - public MinIoUploadResDTO(String minFileName, String minFileUrl) { - this.minFileName = minFileName; - this.minFileUrl = minFileUrl; - } - -} diff --git a/pqs-common/common-minio/src/main/java/com/njcn/minio/bo/Result.java b/pqs-common/common-minio/src/main/java/com/njcn/minio/bo/Result.java deleted file mode 100644 index 4e466f4d0..000000000 --- a/pqs-common/common-minio/src/main/java/com/njcn/minio/bo/Result.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.njcn.minio.bo; - -import java.io.Serializable; - -/** - * @author hongawen - * @version 1.0.0 - * @date 2022年10月16日 18:41 - */ -public class Result implements Serializable { - - private static final long serialVersionUID = 6273326371984994386L; - private Integer code; - private String msg; - private T data; - - private Result() { - this.code = 200; - this.msg = "OK"; - } - - private Result(T data) { - this.code = 200; - this.msg = "OK"; - this.setData(data); - } - - private Result(Integer code, String msg) { - this.code = code; - this.msg = msg; - } - - private Result(Integer code, String msg, T data) { - this.code = code; - this.msg = msg; - this.data = data; - } - - public Result setError(Integer code, String msg) { - this.setCode(code); - this.setMsg(msg); - return this; - } - - public boolean isSuccess() { - return this.getCode().equals(200); - } - - public static Result ok() { - return new Result(); - } - - public static Result ok(T data) { - return new Result(data); - } - - public static Result ok(Integer code, String msg) { - return new Result(code, msg); - } - - public static Result ok(Integer code, String msg, T data) { - return new Result(code, msg, data); - } - - public static Result error() { - return new Result(500, "failed"); - } - - public static Result error(String msg) { - return new Result(500, msg); - } - - public static Result error(Integer code, String msg) { - return new Result(code, msg); - } - - public static Result error(Integer code, String msg, T data) { - return new Result(code, msg, data); - } - - public Integer getCode() { - return this.code; - } - - public void setCode(Integer code) { - this.code = code; - } - - public String getMsg() { - return this.msg; - } - - public void setMsg(String msg) { - this.msg = msg; - } - - public T getData() { - return this.data; - } - - public void setData(T data) { - this.data = data; - } -} diff --git a/pqs-common/common-minio/src/main/java/com/njcn/minio/config/MinIoProperties.java b/pqs-common/common-minio/src/main/java/com/njcn/minio/config/MinIoProperties.java deleted file mode 100644 index 08b22ed43..000000000 --- a/pqs-common/common-minio/src/main/java/com/njcn/minio/config/MinIoProperties.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.njcn.minio.config; - -import io.minio.MinioClient; -import lombok.Data; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Bean; -import org.springframework.stereotype.Component; - -/** - * @author hongawen - * @version 1.0.0 - * @date 2022年10月16日 18:37 - */ -@Data -@Component -@ConfigurationProperties(prefix = "min.io") -public class MinIoProperties { - - /** - * Minio 服务端ip - */ - private String endpoint; - - private String accessKey; - - private String secretKey; - - private String bucket; - - @Bean - public MinioClient getMinioClient() { - return MinioClient.builder() - .endpoint(endpoint).credentials(accessKey, secretKey).build(); - } -} diff --git a/pqs-common/common-minio/src/main/java/com/njcn/minio/utils/MinIoUtils.java b/pqs-common/common-minio/src/main/java/com/njcn/minio/utils/MinIoUtils.java deleted file mode 100644 index a2909f65e..000000000 --- a/pqs-common/common-minio/src/main/java/com/njcn/minio/utils/MinIoUtils.java +++ /dev/null @@ -1,595 +0,0 @@ -package com.njcn.minio.utils; - -import com.njcn.minio.bo.MinIoUploadResDTO; -import com.njcn.minio.config.MinIoProperties; -import io.minio.*; -import io.minio.Result; -import io.minio.http.Method; -import io.minio.messages.Bucket; -import io.minio.messages.DeleteError; -import io.minio.messages.DeleteObject; -import io.minio.messages.Item; -import lombok.SneakyThrows; -import org.apache.tomcat.util.http.fileupload.IOUtils; -import org.springframework.boot.context.properties.EnableConfigurationProperties; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.multipart.MultipartFile; - -import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; -import java.io.ByteArrayInputStream; -import java.io.InputStream; -import java.util.*; - - -@Configuration -@EnableConfigurationProperties({MinIoProperties.class}) -public class MinIoUtils { - - @Resource - private MinioClient instance; - - private static final String SEPARATOR_DOT = "."; - - private static final String SEPARATOR_ACROSS = "-"; - - private static final String SEPARATOR_STR = ""; - - // 存储桶名称 - private static final String chunkBucKet = "miniobucket"; - - /** - * 不排序 - */ - public final static boolean NOT_SORT = false; - - /** - * 排序 - */ - public final static boolean SORT = true; - - /** - * 默认过期时间(分钟) - */ - private final static Integer DEFAULT_EXPIRY = 60; - - /** - * 删除分片 - */ - public final static boolean DELETE_CHUNK_OBJECT = true; - /** - * 不删除分片 - */ - public final static boolean NOT_DELETE_CHUNK_OBJECT = false; - - /** - * 判断桶是否存在 - * @param bucketName 桶名 - * @return boolean - * @author exe.wangtaotao - * @date 2020/10/21 16:33 - */ - public boolean bucketExists(String bucketName) { - try { - return instance.bucketExists(BucketExistsArgs.builder().bucket(bucketName).build()); - } catch (Exception e) { - e.printStackTrace(); - } - return false; - } - - - /** - * 创建存储桶 - * 创建 bucket - * - * @param bucketName 桶名 - */ - public void makeBucket(String bucketName) { - try { - boolean isExist = bucketExists(bucketName); - if (!isExist) { - instance.makeBucket(MakeBucketArgs.builder().bucket(bucketName).build()); - } - } catch (Exception e) { - e.printStackTrace(); - } - } - - /** - * @return java.util.List - * @Description 获取文件存储服务的所有存储桶名称 - * @author exe.wangtaotao - * @date 2020/10/21 16:35 - */ - public List listBucketNames() { - List bucketList = listBuckets(); - List bucketListName = new ArrayList<>(); - for (Bucket bucket : bucketList) { - bucketListName.add(bucket.name()); - } - return bucketListName; - } - - /** - * @return java.util.List - * @Description 列出所有存储桶 - */ - @SneakyThrows - private List listBuckets() { - return instance.listBuckets(); - } - - - /** - * 获取对象文件名称列表 - * - * @param bucketName 存储桶名称 - * @param prefix 对象名称前缀(文件夹 /xx/xx/xxx.jpg 中的 /xx/xx/) - * @return objectNames - */ - public List listObjectNames(String bucketName, String prefix) { - return listObjectNames(bucketName, prefix, NOT_SORT); - } - - - /** - * 获取对象文件名称列表 - * - * @param bucketName 存储桶名称 - * @param prefix 对象名称前缀(文件夹 /xx/xx/xxx.jpg 中的 /xx/xx/) - * @param sort 是否排序(升序) - * @return objectNames - */ - @SneakyThrows - public List listObjectNames(String bucketName, String prefix, Boolean sort) { - boolean flag = bucketExists(bucketName); - if (flag) { - ListObjectsArgs listObjectsArgs; - if (null == prefix) { - listObjectsArgs = ListObjectsArgs.builder() - .bucket(bucketName) - .recursive(true) - .build(); - } else { - listObjectsArgs = ListObjectsArgs.builder() - .bucket(bucketName) - .prefix(prefix) - .recursive(true) - .build(); - } - Iterable> chunks = instance.listObjects(listObjectsArgs); - List chunkPaths = new ArrayList<>(); - for (Result item : chunks) { - chunkPaths.add(item.get().objectName()); - } - if (sort) { - chunkPaths.sort(new Str2IntComparator(false)); - } - return chunkPaths; - } - return new ArrayList<>(); - } - - /** - * 在桶下创建文件夹,文件夹层级结构根据参数决定 - * - * @param bucket 桶名称 - * @param WotDir 格式为 xxx/xxx/xxx/ - */ - @SneakyThrows - public String createDirectory(String bucket, String WotDir) { - if (!this.bucketExists(bucket)) { - return null; - } - instance.putObject(PutObjectArgs.builder().bucket(bucket).object(WotDir).stream( - new ByteArrayInputStream(new byte[]{}), 0, -1) - .build()); - return WotDir; - } - - - /** - * 删除一个文件 - * - * @param bucketName 桶名称 - * @param objectName /xx/xx/xxx.jpg - */ - @SneakyThrows - public boolean removeObject(String bucketName, String objectName) { - - if (!bucketExists(bucketName)) { - return false; - } - instance.removeObject( - RemoveObjectArgs.builder() - .bucket(bucketName) - .object(objectName) - .build()); - return true; - } - - /** - * @param bucketName 桶名称 - * @param objectNames /xx/xx/xxx.jpg - * @return java.util.List - * @Description 删除指定桶的多个文件对象, 返回删除错误的对象列表,全部删除成功,返回空列表 - * @author exe.wangtaotao - * @date 2020/10/21 16:43 - */ - @SneakyThrows - public List removeObjects(String bucketName, List objectNames) { - if (!bucketExists(bucketName)) { - return new ArrayList<>(); - } - List deleteObjects = new ArrayList<>(objectNames.size()); - for (String objectName : objectNames) { - deleteObjects.add(new DeleteObject(objectName)); - } - List deleteErrorNames = new ArrayList<>(); - Iterable> results = instance.removeObjects( - RemoveObjectsArgs.builder() - .bucket(bucketName) - .objects(deleteObjects) - .build()); - for (Result result : results) { - DeleteError error = result.get(); - deleteErrorNames.add(error.objectName()); - } - return deleteErrorNames; - } - - - /** - * 获取访问对象的外链地址 - * 获取文件的下载url - * - * @param bucketName 存储桶名称 - * @param objectName 对象名称 - * @param expiry 过期时间(分钟) 最大为7天 超过7天则默认最大值 - * @return viewUrl - */ - @SneakyThrows - public String getObjectUrl(String bucketName, String objectName, Integer expiry) { - expiry = expiryHandle(expiry); - return instance.getPresignedObjectUrl( - GetPresignedObjectUrlArgs.builder() - .method(Method.GET) - .bucket(bucketName) - .object(objectName) - .expiry(expiry) - .build() - ); - } - - - /** - * 创建上传文件对象的外链 - * - * @param bucketName 存储桶名称 - * @param objectName 欲上传文件对象的名称 - * @return uploadUrl - */ - public String createUploadUrl(String bucketName, String objectName) { - return createUploadUrl(bucketName, objectName, DEFAULT_EXPIRY); - } - - /** - * 创建上传文件对象的外链 - * - * @param bucketName 存储桶名称 - * @param objectName 欲上传文件对象的名称 - * @param expiry 过期时间(分钟) 最大为7天 超过7天则默认最大值 - * @return uploadUrl - */ - @SneakyThrows - public String createUploadUrl(String bucketName, String objectName, Integer expiry) { - expiry = expiryHandle(expiry); - return instance.getPresignedObjectUrl( - GetPresignedObjectUrlArgs.builder() - .method(Method.PUT) - .bucket(bucketName) - .object(objectName) - .expiry(expiry) - .build() - ); - } - - -// /** -// * 批量下载 -// * -// * @param directory -// * @return -// */ -// @SneakyThrows -// public List downLoadMore(String bucket, String directory) { -// Iterable> objs = instance.listObjects(ListObjectsArgs.builder().bucket(bucket).prefix(directory).useUrlEncodingType(false).build()); -// List list = new ArrayList<>(); -// for (io.minio.Result result : objs) { -// String objectName = null; -// objectName = result.get().objectName(); -// ObjectStat statObject = instance.statObject(StatObjectArgs.builder().bucket(bucket).object(objectName).build()); -// if (statObject != null && statObject.length() > 0) { -// String fileurl = instance.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder().bucket(bucket).object(statObject.name()).method(Method.GET).build()); -// list.add(fileurl); -// } -// } -// return list; -// } -// - - /** - * @param multipartFile 文件 - * @param bucketName 桶名 - * @param directory image/ - * @return java.lang.String - * @Description 文件上传 - * @author exe.wangtaotao - * @date 2020/10/21 13:45 - */ - public MinIoUploadResDTO upload(MultipartFile multipartFile, String bucketName, String directory) throws Exception { - if (!this.bucketExists(bucketName)) { - this.makeBucket(bucketName); - } - InputStream inputStream = multipartFile.getInputStream(); - directory = Optional.ofNullable(directory).orElse(""); - String minFileName = directory + minFileName(multipartFile.getOriginalFilename()); - //上传文件到指定目录 - instance.putObject(PutObjectArgs.builder() - .bucket(bucketName) - .object(minFileName) - .contentType(multipartFile.getContentType()) - .stream(inputStream, inputStream.available(), -1) - .build()); - inputStream.close(); - // 返回生成文件名、访问路径 - return new MinIoUploadResDTO(minFileName, getObjectUrl(bucketName, minFileName, DEFAULT_EXPIRY)); - } - - /** - * @param response - * @return java.lang.String - * @Description 下载文件 - * @author exe.wangtaotao - * @date 2020/10/21 15:18 - */ - public void download(HttpServletResponse response, String bucketName, String minFileName) throws Exception { - InputStream fileInputStream = instance.getObject(GetObjectArgs.builder() - .bucket(bucketName) - .object(minFileName).build()); - response.setHeader("Content-Disposition", "attachment;filename=" + minFileName); - response.setContentType("application/force-download"); - response.setCharacterEncoding("UTF-8"); - IOUtils.copy(fileInputStream, response.getOutputStream()); - } - - - /** - * 批量创建分片上传外链 - * - * @param bucketName 存储桶名称 - * @param objectMD5 欲上传分片文件主文件的MD5 - * @param chunkCount 分片数量 - * @return uploadChunkUrls - */ - public List createUploadChunkUrlList(String bucketName, String objectMD5, Integer chunkCount) { - if (null == bucketName) { - bucketName = chunkBucKet; - } - if (null == objectMD5) { - return null; - } - objectMD5 += "/"; - if (null == chunkCount || 0 == chunkCount) { - return null; - } - List urlList = new ArrayList<>(chunkCount); - for (int i = 1; i <= chunkCount; i++) { - String objectName = objectMD5 + i + ".chunk"; - urlList.add(createUploadUrl(bucketName, objectName, DEFAULT_EXPIRY)); - } - return urlList; - } - - /** - * 创建指定序号的分片文件上传外链 - * - * @param bucketName 存储桶名称 - * @param objectMD5 欲上传分片文件主文件的MD5 - * @param partNumber 分片序号 - * @return uploadChunkUrl - */ - public String createUploadChunkUrl(String bucketName, String objectMD5, Integer partNumber) { - if (null == bucketName) { - bucketName = chunkBucKet; - } - if (null == objectMD5) { - return null; - } - objectMD5 += "/" + partNumber + ".chunk"; - return createUploadUrl(bucketName, objectMD5, DEFAULT_EXPIRY); - } - - - /** - * 获取分片文件名称列表 - * - * @param bucketName 存储桶名称 - * @param ObjectMd5 对象Md5 - * @return objectChunkNames - */ - public List listChunkObjectNames(String bucketName, String ObjectMd5) { - if (null == bucketName) { - bucketName = chunkBucKet; - } - if (null == ObjectMd5) { - return null; - } - return listObjectNames(bucketName, ObjectMd5, SORT); - } - - /** - * 获取分片名称地址HashMap key=分片序号 value=分片文件地址 - * - * @param bucketName 存储桶名称 - * @param ObjectMd5 对象Md5 - * @return objectChunkNameMap - */ - public Map mapChunkObjectNames(String bucketName, String ObjectMd5) { - if (null == bucketName) { - bucketName = chunkBucKet; - } - if (null == ObjectMd5) { - return null; - } - List chunkPaths = listObjectNames(bucketName, ObjectMd5); - if (null == chunkPaths || chunkPaths.size() == 0) { - return null; - } - Map chunkMap = new HashMap<>(chunkPaths.size()); - for (String chunkName : chunkPaths) { - Integer partNumber = Integer.parseInt(chunkName.substring(chunkName.indexOf("/") + 1, chunkName.lastIndexOf("."))); - chunkMap.put(partNumber, chunkName); - } - return chunkMap; - } - - - /** - * 合并分片文件成对象文件 - * - * @param chunkBucKetName 分片文件所在存储桶名称 - * @param composeBucketName 合并后的对象文件存储的存储桶名称 - * @param chunkNames 分片文件名称集合 - * @param objectName 合并后的对象文件名称 - * @return true/false - */ - @SneakyThrows - public boolean composeObject(String chunkBucKetName, String composeBucketName, List chunkNames, String objectName, boolean isDeleteChunkObject) { - if (null == chunkBucKetName) { - chunkBucKetName = chunkBucKet; - } - List sourceObjectList = new ArrayList<>(chunkNames.size()); - for (String chunk : chunkNames) { - sourceObjectList.add( - ComposeSource.builder() - .bucket(chunkBucKetName) - .object(chunk) - .build() - ); - } - instance.composeObject( - ComposeObjectArgs.builder() - .bucket(composeBucketName) - .object(objectName) - .sources(sourceObjectList) - .build() - ); - if (isDeleteChunkObject) { - removeObjects(chunkBucKetName, chunkNames); - } - return true; - } - - /** - * 合并分片文件成对象文件 - * - * @param bucketName 存储桶名称 - * @param chunkNames 分片文件名称集合 - * @param objectName 合并后的对象文件名称 - * @return true/false - */ - public boolean composeObject(String bucketName, List chunkNames, String objectName) { - return composeObject(chunkBucKet, bucketName, chunkNames, objectName, NOT_DELETE_CHUNK_OBJECT); - } - - /** - * 合并分片文件成对象文件 - * - * @param bucketName 存储桶名称 - * @param chunkNames 分片文件名称集合 - * @param objectName 合并后的对象文件名称 - * @return true/false - */ - public boolean composeObject(String bucketName, List chunkNames, String objectName, boolean isDeleteChunkObject) { - return composeObject(chunkBucKet, bucketName, chunkNames, objectName, isDeleteChunkObject); - } - - /** - * 合并分片文件,合并成功后删除分片文件 - * - * @param bucketName 存储桶名称 - * @param chunkNames 分片文件名称集合 - * @param objectName 合并后的对象文件名称 - * @return true/false - */ - public boolean composeObjectAndRemoveChunk(String bucketName, List chunkNames, String objectName) { - return composeObject(chunkBucKet, bucketName, chunkNames, objectName, DELETE_CHUNK_OBJECT); - } - - - /** - * @param originalFileName 原始名称 - * @return java.lang.String - * @Description 生成上传文件名 - * @author exe.wangtaotao - * @date 2020/10/21 15:07 - */ - public String minFileName(String originalFileName) { - String suffix = originalFileName; - if (originalFileName.contains(SEPARATOR_DOT)) { - suffix = originalFileName.substring(originalFileName.lastIndexOf(SEPARATOR_DOT)); - } - return UUID.randomUUID().toString().replace(SEPARATOR_ACROSS, SEPARATOR_STR).toUpperCase() + suffix; - } - - - /** - * 将分钟数转换为秒数 - * - * @param expiry 过期时间(分钟数) - * @return expiry - */ - private static int expiryHandle(Integer expiry) { - expiry = expiry * 60; - if (expiry > 604800) { - return 604800; - } - return expiry; - } - - static class Str2IntComparator implements Comparator { - private final boolean reverseOrder; // 是否倒序 - - public Str2IntComparator(boolean reverseOrder) { - this.reverseOrder = reverseOrder; - } - - @Override - public int compare(String arg0, String arg1) { - Integer intArg0 = Integer.parseInt(arg0.substring(arg0.indexOf("/") + 1, arg0.lastIndexOf("."))); - Integer intArg1 = Integer.parseInt(arg1.substring(arg1.indexOf("/") + 1, arg1.lastIndexOf("."))); - if (reverseOrder) { - return intArg1 - intArg0; - } else { - return intArg0 - intArg1; - } - } - } - - /*** - * 根据url地址获取对象名称 - * @author hongawen - * @date 2022/10/17 20:05 - * @param objectUrl 对象地址 - * @return String 对象名称 - */ - public static String getObjectNameByUrl(String objectUrl) { - if(objectUrl.indexOf("?") < 0){ - return "unknownFile"; - } - String objectName = objectUrl.substring(0, objectUrl.indexOf("?")); - return objectName.substring(objectName.lastIndexOf("/") + 1); - } -} diff --git a/pqs-common/common-oss/pom.xml b/pqs-common/common-oss/pom.xml new file mode 100644 index 000000000..128a2d112 --- /dev/null +++ b/pqs-common/common-oss/pom.xml @@ -0,0 +1,37 @@ + + + 4.0.0 + + pqs-common + com.njcn + 1.0.0 + + + common-oss + + + 8 + 8 + UTF-8 + + + 文件服务器处理模块 + + + + + com.njcn + huawei-obs-springboot-starter + 1.0.0 + + + + com.njcn + minioss-springboot-starter + 1.0.0 + + + + \ No newline at end of file diff --git a/pqs-common/common-core/src/main/java/com/njcn/common/pojo/constant/GeneralConstant.java b/pqs-common/common-oss/src/main/java/com/njcn/oss/constant/GeneralConstant.java similarity index 90% rename from pqs-common/common-core/src/main/java/com/njcn/common/pojo/constant/GeneralConstant.java rename to pqs-common/common-oss/src/main/java/com/njcn/oss/constant/GeneralConstant.java index f3501bc3f..3f9dc5458 100644 --- a/pqs-common/common-core/src/main/java/com/njcn/common/pojo/constant/GeneralConstant.java +++ b/pqs-common/common-oss/src/main/java/com/njcn/oss/constant/GeneralConstant.java @@ -1,4 +1,4 @@ -package com.njcn.common.pojo.constant; +package com.njcn.oss.constant; /** * @author hongawen diff --git a/pqs-common/common-core/src/main/java/com/njcn/common/pojo/constant/OssPath.java b/pqs-common/common-oss/src/main/java/com/njcn/oss/constant/OssPath.java similarity index 70% rename from pqs-common/common-core/src/main/java/com/njcn/common/pojo/constant/OssPath.java rename to pqs-common/common-oss/src/main/java/com/njcn/oss/constant/OssPath.java index a8cb4cc44..7a99c2356 100644 --- a/pqs-common/common-core/src/main/java/com/njcn/common/pojo/constant/OssPath.java +++ b/pqs-common/common-oss/src/main/java/com/njcn/oss/constant/OssPath.java @@ -1,4 +1,4 @@ -package com.njcn.common.pojo.constant; +package com.njcn.oss.constant; /** * @author hongawen @@ -32,5 +32,15 @@ public interface OssPath { */ String LOAD_TYPE_USER="loadTypeUser/"; + /*** + * 技术监督管理 进度文件 + */ + String ELECTRICITY_QUALITY = "electricityQuality/"; + + + /*** + * 技术监督管理 普测结果报告 + */ + String SURVEY_RESULT = "surveyresult/"; } diff --git a/pqs-common/common-oss/src/main/java/com/njcn/oss/enums/OssResponseEnum.java b/pqs-common/common-oss/src/main/java/com/njcn/oss/enums/OssResponseEnum.java new file mode 100644 index 000000000..c26740e26 --- /dev/null +++ b/pqs-common/common-oss/src/main/java/com/njcn/oss/enums/OssResponseEnum.java @@ -0,0 +1,29 @@ +package com.njcn.oss.enums; + +import lombok.Getter; + +/** + * @author hongawen + * @version 1.0.0 + * @date 2023年03月07日 22:58 + */ +@Getter +public enum OssResponseEnum { + /** + * 文件服务器异常响应码的范围: + * A00550 ~ A00649 + */ + UPLOAD_FILE_ERROR("A00551","上传文件服务器错误,请检查数据"), + DOWNLOAD_FILE_ERROR("A00554","下载文件URL不存在,请检查数据") + + ; + + private final String code; + + private final String message; + + OssResponseEnum(String code, String message) { + this.code = code; + this.message = message; + } +} diff --git a/pqs-common/common-oss/src/main/java/com/njcn/oss/utils/FileStorageUtil.java b/pqs-common/common-oss/src/main/java/com/njcn/oss/utils/FileStorageUtil.java new file mode 100644 index 000000000..600c61a69 --- /dev/null +++ b/pqs-common/common-oss/src/main/java/com/njcn/oss/utils/FileStorageUtil.java @@ -0,0 +1,102 @@ +package com.njcn.oss.utils; + +import com.njcn.common.config.GeneralInfo; +import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.huawei.obs.util.OBSUtil; +import com.njcn.minioss.bo.MinIoUploadResDTO; +import com.njcn.minioss.config.MinIoProperties; +import com.njcn.minioss.util.MinIoUtils; +import com.njcn.oss.constant.GeneralConstant; +import com.njcn.oss.constant.OssPath; +import com.njcn.oss.enums.OssResponseEnum; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; +import org.springframework.web.multipart.MultipartFile; + +/** + * @author hongawen + * @version 1.0.0 + * @date 2023年03月07日 22:24 + */ +@Slf4j +@Component +@RequiredArgsConstructor +public class FileStorageUtil { + + private final GeneralInfo generalInfo; + + /*** + * 华为文件服务器工具类 + * 若有方法需求或方法不满足,去私有仓库下载huawei-obs-springboot-starter模块进行二次开发 + * 开发完毕后需deploy到maven私有仓库 + */ + private final OBSUtil obsUtil; + + /*** + * 免费开源Minioss文件服务器工具类 + * 若有方法需求或方法不满足,去私有仓库下载minioss-springboot-starter模块进行二次开发 + * 开发完毕后需deploy到maven私有仓库 + */ + private final MinIoUtils minIoUtils; + + private final MinIoProperties minIoProperties; + + + /*** + * 上传MultipartFile文件, + * @author hongawen + * @date 2023/3/7 22:48 + * @param multipartFile 文件源 + * @param dir 服务器文件存放路径 + */ + public String uploadMultipart(MultipartFile multipartFile, String dir) { + String filePath; + if (generalInfo.getBusinessFileStorage() == GeneralConstant.HUAWEI_OBS) { + filePath = dir + minIoUtils.minFileName(multipartFile.getOriginalFilename()); + obsUtil.multiFileUpload(multipartFile, filePath); + } else { + try { + //把名称存入数据 + MinIoUploadResDTO minIoUploadResDTO = minIoUtils.upload(multipartFile, minIoProperties.getBucket(), dir); + filePath = minIoUploadResDTO.getMinFileName(); + } catch (Exception e) { + throw new BusinessException(OssResponseEnum.UPLOAD_FILE_ERROR); + } + } + return filePath; + } + + + /*** + * 根据文件路径获取文件短期的一个url + * @author hongawen + * @date 2023/3/7 23:04 + * @param filePath 文件在服务器的路径 + */ + public String getFileUrl(String filePath){ + String url; + if (generalInfo.getBusinessFileStorage() == GeneralConstant.HUAWEI_OBS) { + url = obsUtil.getFileUrl(filePath); + } else { + url = minIoUtils.getObjectUrl(minIoProperties.getBucket(), filePath, 7 * 24 * 60 * 60); + } + return url; + } + + + /*** + * 根据文件路径删除指定文件对象 + * @author hongawen + * @date 2023/3/8 9:25 + * @param fileName 文件路径名 + */ + public void deleteFile(String fileName){ + if (generalInfo.getBusinessFileStorage() == GeneralConstant.HUAWEI_OBS) { + obsUtil.delete(fileName); + }else{ + minIoUtils.removeObject(minIoProperties.getBucket(), fileName); + } + } + +} diff --git a/pqs-common/pom.xml b/pqs-common/pom.xml index a92424a53..d59a856b1 100644 --- a/pqs-common/pom.xml +++ b/pqs-common/pom.xml @@ -22,8 +22,8 @@ common-influxdb common-poi common-echarts - common-minio common-huawei + common-oss diff --git a/pqs-event/event-boot/pom.xml b/pqs-event/event-boot/pom.xml index 27dc8d35e..9d26a9187 100644 --- a/pqs-event/event-boot/pom.xml +++ b/pqs-event/event-boot/pom.xml @@ -75,7 +75,7 @@ com.njcn - huawei-obs-springboot-starter + common-oss ${project.version} diff --git a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java index 6961b31b8..c257403bc 100644 --- a/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java +++ b/pqs-event/event-boot/src/main/java/com/njcn/event/service/majornetwork/Impl/TransientServiceImpl.java @@ -5,11 +5,11 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.config.GeneralInfo; -import com.njcn.common.pojo.constant.GeneralConstant; -import com.njcn.common.pojo.constant.OssPath; import com.njcn.common.pojo.enums.common.ServerEnum; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.utils.PubUtils; +import com.njcn.oss.constant.GeneralConstant; +import com.njcn.oss.constant.OssPath; import com.njcn.device.pq.api.GeneralDeviceInfoClient; import com.njcn.device.pq.api.LineFeignClient; import com.njcn.device.pq.pojo.dto.GeneralDeviceDTO; @@ -48,7 +48,6 @@ import java.time.LocalDateTime; import java.time.ZoneId; import java.time.format.DateTimeFormatter; import java.util.ArrayList; -import java.util.Collection; import java.util.List; import java.util.Objects; import java.util.stream.Collectors; @@ -195,8 +194,6 @@ public class TransientServiceImpl implements TransientService { originalData = waveUtil.getComtrade(cfgStream, datStream, 1); // } else if (generalInfo.getBusinessFileStorage() == GeneralConstant.HUAWEI_OBS) { } else { - ip = "192.168.1.190"; - waveName = "PQMonitor_PQM1_002438_20210508_092859_938"; cfgPath = OssPath.WAVE_DIR + ip + StrUtil.SLASH + waveName + GeneralConstant.CFG; datPath = OssPath.WAVE_DIR + ip + StrUtil.SLASH + waveName + GeneralConstant.DAT; try ( diff --git a/pqs-event/event-boot/src/test/java/com/njcn/event/EventBootApplicationTest.java b/pqs-event/event-boot/src/test/java/com/njcn/event/EventBootApplicationTest.java index 8a62afc3e..aa4e69c66 100644 --- a/pqs-event/event-boot/src/test/java/com/njcn/event/EventBootApplicationTest.java +++ b/pqs-event/event-boot/src/test/java/com/njcn/event/EventBootApplicationTest.java @@ -1,6 +1,5 @@ package com.njcn.event; -import com.njcn.common.pojo.constant.OssPath; import com.njcn.event.enums.EventResponseEnum; import com.njcn.event.pojo.PqsEventDetail; import com.njcn.event.pojo.PqsOnlinerateAggregate; @@ -11,6 +10,7 @@ import com.njcn.event.utils.WaveUtil; import com.njcn.huawei.obs.util.OBSUtil; import com.njcn.influxdb.config.InfluxDbConfig; import com.njcn.influxdb.utils.InfluxDbUtils; +import com.njcn.oss.constant.OssPath; import org.influxdb.dto.QueryResult; import org.influxdb.impl.InfluxDBResultMapper; import org.influxdb.querybuilder.SelectQueryImpl; @@ -26,12 +26,9 @@ import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import javax.annotation.Resource; -import java.io.File; -import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.InputStream; import java.util.Arrays; -import java.util.Date; import java.util.List; import java.util.Objects; diff --git a/pqs-harmonic/harmonic-boot/pom.xml b/pqs-harmonic/harmonic-boot/pom.xml index b5f166343..1158f0fe1 100644 --- a/pqs-harmonic/harmonic-boot/pom.xml +++ b/pqs-harmonic/harmonic-boot/pom.xml @@ -60,18 +60,9 @@ event-api ${project.version} - - com.njcn - common-minio - ${project.version} - - - - me.tongfei - progressbar - 0.5.3 - + + com.squareup.okhttp3 @@ -101,7 +92,7 @@ com.njcn - huawei-obs-springboot-starter + common-oss ${project.version} diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/algorithm/AlgorithmController.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/algorithm/AlgorithmController.java index 127e1318d..c62a72e1c 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/algorithm/AlgorithmController.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/controller/algorithm/AlgorithmController.java @@ -3,23 +3,16 @@ package com.njcn.harmonic.controller.algorithm; import cn.hutool.core.bean.BeanUtil; import com.njcn.common.config.GeneralInfo; import com.njcn.common.pojo.annotation.OperateInfo; -import com.njcn.common.pojo.constant.GeneralConstant; -import com.njcn.common.pojo.constant.OssPath; import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; -import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; -import com.njcn.harmonic.enums.HarmonicResponseEnum; import com.njcn.harmonic.pojo.param.RStatFileVO; import com.njcn.harmonic.pojo.po.RStatFile; -import com.njcn.harmonic.pojo.vo.PwRStatOrgVO; import com.njcn.harmonic.service.algorithm.RStatFileService; -import com.njcn.huawei.obs.util.OBSUtil; -import com.njcn.minio.bo.MinIoUploadResDTO; -import com.njcn.minio.config.MinIoProperties; -import com.njcn.minio.utils.MinIoUtils; +import com.njcn.oss.constant.OssPath; +import com.njcn.oss.utils.FileStorageUtil; import com.njcn.web.controller.BaseController; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -29,7 +22,6 @@ import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; -import javax.annotation.Resource; import java.util.*; @@ -41,16 +33,10 @@ public class AlgorithmController extends BaseController { private final RStatFileService rStatFileService; - @Resource - private MinIoUtils minIoUtils; - @Resource - private MinIoProperties minIoProperties; + private final FileStorageUtil fileStorageUtil; + - @Resource - private GeneralInfo generalInfo; - @Resource - private OBSUtil obsUtil; /** * 算法保存 @@ -91,16 +77,7 @@ public class AlgorithmController extends BaseController { @ResponseBody public HttpResult uploadFile(MultipartFile file) { try { - //为2则为:华为OBS - if (generalInfo.getBusinessFileStorage() == GeneralConstant.HUAWEI_OBS) { - String fileName = file.getOriginalFilename(); - fileName = OssPath.ALGORITHM + minIoUtils.minFileName(fileName); - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, obsUtil.multiFileUpload(file, fileName), null); - } else { - //把名称存入数据 - MinIoUploadResDTO upload = minIoUtils.upload(file, minIoProperties.getBucket(), OssPath.ALGORITHM); - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, upload.getMinFileUrl(), null); - } + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, fileStorageUtil.uploadMultipart(file,OssPath.ALGORITHM), null); } catch (Exception e) { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.FAIL, null, null); } diff --git a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java index 1df5ec05c..144a4dd2d 100644 --- a/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java +++ b/pqs-harmonic/harmonic-boot/src/main/java/com/njcn/harmonic/service/impl/CustomReportServiceImpl.java @@ -1,5 +1,6 @@ package com.njcn.harmonic.service.impl; +import ch.qos.logback.core.rolling.helper.FileStoreUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; @@ -8,8 +9,6 @@ import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.common.config.GeneralInfo; -import com.njcn.common.pojo.constant.GeneralConstant; -import com.njcn.common.pojo.constant.OssPath; import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.exception.BusinessException; import com.njcn.harmonic.enums.HarmonicResponseEnum; @@ -28,14 +27,11 @@ import com.njcn.harmonic.pojo.vo.ReportTemplateVO; import com.njcn.harmonic.pojo.vo.ReportTreeVO; import com.njcn.harmonic.pojo.vo.SysDeptTempVO; import com.njcn.harmonic.service.CustomReportService; -import com.njcn.huawei.obs.util.OBSUtil; -import com.njcn.influxdb.config.InfluxDbConfig; import com.njcn.influxdb.param.InfluxDBSqlConstant; import com.njcn.influxdb.param.InfluxDBTableConstant; import com.njcn.influxdb.utils.InfluxDbUtils; -import com.njcn.minio.bo.MinIoUploadResDTO; -import com.njcn.minio.config.MinIoProperties; -import com.njcn.minio.utils.MinIoUtils; +import com.njcn.oss.constant.OssPath; +import com.njcn.oss.utils.FileStorageUtil; import com.njcn.system.api.DicDataFeignClient; import com.njcn.user.api.DeptFeignClient; import com.njcn.user.pojo.dto.DeptDTO; @@ -92,17 +88,7 @@ public class CustomReportServiceImpl implements CustomReportService { private final GeneralInfo generalInfo; - @Resource - private MinIoUtils minIoUtils; - - @Resource - private MinIoProperties minIoProperties; - - @Resource - private InfluxDbConfig influxDbConfig; - - @Resource - private OBSUtil obsUtil; + private final FileStorageUtil fileStorageUtil; @Override @@ -117,20 +103,7 @@ public class CustomReportServiceImpl implements CustomReportService { } catch (Exception e) { throw new BusinessException(HarmonicResponseEnum.CUSTOM_REPORT_JSON); } - - //为2则为:华为OBS - if (generalInfo.getBusinessFileStorage() == GeneralConstant.HUAWEI_OBS) { - fileName = OssPath.HARMONIC_EXCEL_TEMPLATE + minIoUtils.minFileName(fileName); - obsUtil.multiFileUpload(fileContent,fileName); - reportTemplateParam.setContent(fileName); - } else { - //否则认为是minioss - //文件上传到Minio服务器,存入文件名 - MinIoUploadResDTO minIoUploadResDTO = contentToMinio(reportTemplateParam.getFileContent(), OssPath.HARMONIC_EXCEL_TEMPLATE); - reportTemplateParam.setContent(minIoUploadResDTO.getMinFileName()); - } - - + reportTemplateParam.setContent(fileStorageUtil.uploadMultipart(fileContent, OssPath.HARMONIC_EXCEL_TEMPLATE)); //新增模板表 ExcelRptTemp excelRptTemp = new ExcelRptTemp(); BeanUtils.copyProperties(reportTemplateParam, excelRptTemp); @@ -155,7 +128,6 @@ public class CustomReportServiceImpl implements CustomReportService { public boolean updateCustomReportTemplate(ReportTemplateParam.UpdateReportTemplateParam reportTemplateParam) { checkName(reportTemplateParam, true); MultipartFile fileContent = reportTemplateParam.getFileContent(); - String fileName = fileContent.getName(); //检验模板json数据规范 try { String content = MultipartFileToString(fileContent); @@ -166,18 +138,8 @@ public class CustomReportServiceImpl implements CustomReportService { //删除之前的文件 ExcelRptTemp excelRptTempOld = excelRptTempMapper.selectById(reportTemplateParam.getId()); - //为2则为:华为OBS - if (generalInfo.getBusinessFileStorage() == GeneralConstant.HUAWEI_OBS) { - obsUtil.delete(excelRptTempOld.getContent()); - fileName = OssPath.HARMONIC_EXCEL_TEMPLATE + minIoUtils.minFileName(fileName); - obsUtil.multiFileUpload(fileContent,fileName); - reportTemplateParam.setContent(fileName); - }else{ - minIoUtils.removeObject(minIoProperties.getBucket(), excelRptTempOld.getContent()); - //文件上传到Minio服务器,存入文件名 - MinIoUploadResDTO minIoUploadResDTO = contentToMinio(reportTemplateParam.getFileContent(), OssPath.HARMONIC_EXCEL_TEMPLATE); - reportTemplateParam.setContent(minIoUploadResDTO.getMinFileName()); - } + fileStorageUtil.deleteFile(excelRptTempOld.getContent()); + reportTemplateParam.setContent(fileStorageUtil.uploadMultipart(fileContent, OssPath.HARMONIC_EXCEL_TEMPLATE)); //修改模板数据 ExcelRptTemp excelRptTemp = new ExcelRptTemp(); BeanUtils.copyProperties(reportTemplateParam, excelRptTemp); @@ -218,7 +180,7 @@ public class CustomReportServiceImpl implements CustomReportService { @Override public ExcelRptTemp getCustomReportTemplateById(String id) { ExcelRptTemp excelRptTemp = excelRptTempMapper.selectById(id); - String contentUrl = minIoUtils.getObjectUrl(minIoProperties.getBucket(), excelRptTemp.getContent(), 7 * 24 * 60 * 60); + String contentUrl = fileStorageUtil.getFileUrl(excelRptTemp.getContent()); excelRptTemp.setContent(contentUrl); return excelRptTemp; } @@ -265,9 +227,9 @@ public class CustomReportServiceImpl implements CustomReportService { List excelRpts = excelRptMapper.selectList(lambdaQuery); String content; if (excelRpts.size() > 0) { - content = minIoUtils.getObjectUrl(minIoProperties.getBucket(), excelRpts.get(0).getContent(), 7 * 24 * 60 * 60); + content = fileStorageUtil.getFileUrl(excelRpts.get(0).getContent()); } else { - content = minIoUtils.getObjectUrl(minIoProperties.getBucket(), analyzeReport(reportSearchParam, excelRptTemp), 7 * 24 * 60 * 60); + content = fileStorageUtil.getFileUrl(analyzeReport(reportSearchParam, excelRptTemp)); } //拼接数据 @@ -394,7 +356,7 @@ public class CustomReportServiceImpl implements CustomReportService { JSONArray jsonArray = null; try { //通过文件服务器获取 - String objectUrl = minIoUtils.getObjectUrl(minIoProperties.getBucket(), excelRptTemp.getContent(), 7 * 24 * 60 * 60); + String objectUrl = fileStorageUtil.getFileUrl(excelRptTemp.getContent()); jsonArray = JSONUtil.parseArray(urlToString(objectUrl)); jsonArray.forEach(item -> { JSONObject jsonObject = (JSONObject) item; @@ -486,22 +448,9 @@ public class CustomReportServiceImpl implements CustomReportService { }); } - String newContent; File newFile = stringToFile(jsonArray.toString()); MultipartFile newMultipartFile = getMultipartFile(newFile); - //为2则为:华为OBS - if (generalInfo.getBusinessFileStorage() == GeneralConstant.HUAWEI_OBS) { - newContent = newMultipartFile.getName(); - newContent = OssPath.HARMONIC_EXCEL_REPORT + minIoUtils.minFileName(newContent); - obsUtil.multiFileUpload(newMultipartFile,newContent); - }else{ - //否则认为是minioss - //文件上传到Minio服务器,存入文件名 - MinIoUploadResDTO minIoUploadResDTO = contentToMinio(newMultipartFile,OssPath.HARMONIC_EXCEL_REPORT); - newContent = minIoUploadResDTO.getMinFileName(); - } - - + String newContent = fileStorageUtil.uploadMultipart(newMultipartFile, OssPath.HARMONIC_EXCEL_REPORT); //存入报表库 ExcelRpt excelRpt = new ExcelRpt(); @@ -574,21 +523,6 @@ public class CustomReportServiceImpl implements CustomReportService { endList.add(data); } - /** - * 上传文件到Minio - * - * @param file 文件 - * @return 成功标记 - */ - private MinIoUploadResDTO contentToMinio(MultipartFile file, String dir) { - try { - //把名称存入数据 - MinIoUploadResDTO upload = minIoUtils.upload(file, minIoProperties.getBucket(), dir); - return upload; - } catch (Exception e) { - throw new BusinessException(HarmonicResponseEnum.CUSTOM_REPORT_FILE); - } - } /** * 文件Url 转 String @@ -619,7 +553,7 @@ public class CustomReportServiceImpl implements CustomReportService { String businessTempPath = generalInfo.getBusinessTempPath(); File distFile = new File(businessTempPath + File.separator + "temp.json"); try { - if (!distFile.getParentFile().exists()){ + if (!distFile.getParentFile().exists()) { distFile.getParentFile().mkdirs(); } bufferedReader = new BufferedReader(new StringReader(res)); diff --git a/pqs-prepare/harmonic-prepare/pom.xml b/pqs-prepare/harmonic-prepare/pom.xml index dc1f818f3..079750ceb 100644 --- a/pqs-prepare/harmonic-prepare/pom.xml +++ b/pqs-prepare/harmonic-prepare/pom.xml @@ -112,16 +112,11 @@ com.njcn - common-minio + common-oss ${project.version} - - - me.tongfei - progressbar - 0.5.3 - + com.squareup.okhttp3 @@ -129,17 +124,6 @@ 4.8.1 - - io.minio - minio - 8.2.1 - - - com.squareup.okhttp3 - okhttp - - - com.njcn diff --git a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/ReportServiceImpl.java b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/ReportServiceImpl.java index 8de56fda1..76167cec2 100644 --- a/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/ReportServiceImpl.java +++ b/pqs-prepare/harmonic-prepare/src/main/java/com/njcn/prepare/harmonic/service/mysql/Impl/line/ReportServiceImpl.java @@ -19,9 +19,9 @@ import com.njcn.harmonic.pojo.po.ExcelRptTemp; import com.njcn.influxdb.param.InfluxDBSqlConstant; import com.njcn.influxdb.param.InfluxDBTableConstant; import com.njcn.influxdb.utils.InfluxDbUtils; -import com.njcn.minio.bo.MinIoUploadResDTO; -import com.njcn.minio.config.MinIoProperties; -import com.njcn.minio.utils.MinIoUtils; +import com.njcn.minioss.bo.MinIoUploadResDTO; +import com.njcn.oss.constant.OssPath; +import com.njcn.oss.utils.FileStorageUtil; import com.njcn.prepare.harmonic.constant.AlgorithmParam; import com.njcn.prepare.harmonic.mapper.mysql.line.ExcelRptMapper; import com.njcn.prepare.harmonic.mapper.mysql.line.ExcelRptTempMapper; @@ -65,11 +65,7 @@ public class ReportServiceImpl implements ReportService { private final GeneralInfo generalInfo; - @Resource - private MinIoUtils minIoUtils; - - @Resource - private MinIoProperties minIoProperties; + private final FileStorageUtil fileStorageUtil; @Override @@ -100,7 +96,7 @@ public class ReportServiceImpl implements ReportService { for (ExcelRptTemp excelRptTemp : reportTemplateList) { try { //获取content解析数据 - String objectUrl = minIoUtils.getObjectUrl(minIoProperties.getBucket(), excelRptTemp.getContent(), 7 * 24 * 60 * 60); + String objectUrl = fileStorageUtil.getFileUrl(excelRptTemp.getContent()); jsonArray = JSONUtil.parseArray(urlToString(objectUrl)); dataList = getDataList(jsonArray); } catch (Exception e) { @@ -144,13 +140,11 @@ public class ReportServiceImpl implements ReportService { //月:例如2022十月份,传入2022-10-01进行匹配,有则更新无则插入 //周:例如2022年第五周,传入2022-01-23(周一)进行匹配,有则更新无则插入 //日:直接插入,无需配对 - //文件上传到Minio服务器,存入文件名 - MinIoUploadResDTO minIoUploadResDTO = contentToMinio(jsonArray.toString()); - String afterContent = minIoUploadResDTO.getMinFileName(); + //文件上传到文件服务器,存入文件名 if (BizParamConstant.STAT_BIZ_DAY.equals(reportParam.getType().toString())){ - rptInsert(reportParam, lineId, excelRptTemp, afterContent); + rptInsert(reportParam, lineId, excelRptTemp, contentToOss(jsonArray.toString())); }else{ - rptBiz(reportParam, lineId, excelRptTemp, afterContent); + rptBiz(reportParam, lineId, excelRptTemp, contentToOss(jsonArray.toString())); } } } @@ -331,23 +325,17 @@ public class ReportServiceImpl implements ReportService { /** - * 上传文件到Minio + * 上传文件到Oss * * @param content 文件 * @return 成功标记 */ - private MinIoUploadResDTO contentToMinio(String content) { + private String contentToOss(String content) { //上传到minio String businessTempPath = generalInfo.getBusinessTempPath(); - File file = stringToFile(content, businessTempPath + File.separator + "a.json"); + File file = stringToFile(content, businessTempPath + File.separator + "temp.json"); MultipartFile multiFile = getMultipartFile(file); - try { - //把名称存入数据 - MinIoUploadResDTO upload = minIoUtils.upload(multiFile, minIoProperties.getBucket(), "report/"); - return upload; - } catch (Exception e) { - throw new BusinessException(HarmonicResponseEnum.CUSTOM_REPORT_FILE); - } + return fileStorageUtil.uploadMultipart(multiFile, OssPath.HARMONIC_EXCEL_REPORT); } /** diff --git a/pqs-process/process-api/src/main/java/com/njcn/process/enums/ProcessResponseEnum.java b/pqs-process/process-api/src/main/java/com/njcn/process/enums/ProcessResponseEnum.java index c9c6d818f..bb2c414db 100644 --- a/pqs-process/process-api/src/main/java/com/njcn/process/enums/ProcessResponseEnum.java +++ b/pqs-process/process-api/src/main/java/com/njcn/process/enums/ProcessResponseEnum.java @@ -16,10 +16,8 @@ public enum ProcessResponseEnum { * A00550 ~ A00649 */ PROCESS_COMMON_ERROR("A00550","监督管理模块异常"), - UPLOAD_FILE_ERROR("A00551","上传文件服务器错误,请检查数据"), ARCHIVE_ERROR("A00552","不满足归档调节,操作失败!"), PROCESS_ERROR("A00553","当前流程未审核通过,操作失败!"), - DOWNLOAD_FILE_ERROR("A00554","下载文件URL不存在,请检查数据"), ; diff --git a/pqs-process/process-boot/pom.xml b/pqs-process/process-boot/pom.xml index 7b49be431..a7ed2024d 100644 --- a/pqs-process/process-boot/pom.xml +++ b/pqs-process/process-boot/pom.xml @@ -67,18 +67,9 @@ ${project.version} - - - com.njcn - common-minio - ${project.version} - - - me.tongfei - progressbar - 0.5.3 - + + com.squareup.okhttp3 @@ -117,7 +108,7 @@ com.njcn - huawei-obs-springboot-starter + common-oss ${project.version} diff --git a/pqs-process/process-boot/src/main/java/com/njcn/process/controller/ElectricityQualityIssuesController.java b/pqs-process/process-boot/src/main/java/com/njcn/process/controller/ElectricityQualityIssuesController.java index 7913d9cab..54646664c 100644 --- a/pqs-process/process-boot/src/main/java/com/njcn/process/controller/ElectricityQualityIssuesController.java +++ b/pqs-process/process-boot/src/main/java/com/njcn/process/controller/ElectricityQualityIssuesController.java @@ -8,7 +8,6 @@ import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; -import com.njcn.minio.bo.MinIoUploadResDTO; import com.njcn.process.pojo.param.*; import com.njcn.process.pojo.vo.*; import com.njcn.process.service.IssuesService; @@ -185,11 +184,11 @@ public class ElectricityQualityIssuesController extends BaseController { @PostMapping("/uploadFile") @ApiOperation("上传文件") @ApiImplicitParam(name = "file", value = "填报进度文件", required = true) - public HttpResult uploadFile(@RequestParam("file") MultipartFile issuesFile){ + public HttpResult uploadFile(@RequestParam("file") MultipartFile issuesFile){ String methodDescribe = getMethodDescribe("uploadFile"); - MinIoUploadResDTO out = issuesService.uploadFile(issuesFile); - out.setMinFileName(issuesFile.getOriginalFilename()); - return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe); + String filePath = issuesService.uploadFile(issuesFile); +// out.setMinFileName(issuesFile.getOriginalFilename()); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, filePath, methodDescribe); } @OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.DOWNLOAD) diff --git a/pqs-process/process-boot/src/main/java/com/njcn/process/controller/RGeneralSurveyPlanController.java b/pqs-process/process-boot/src/main/java/com/njcn/process/controller/RGeneralSurveyPlanController.java index e99de112b..91b57fb45 100644 --- a/pqs-process/process-boot/src/main/java/com/njcn/process/controller/RGeneralSurveyPlanController.java +++ b/pqs-process/process-boot/src/main/java/com/njcn/process/controller/RGeneralSurveyPlanController.java @@ -9,7 +9,7 @@ import com.njcn.common.pojo.enums.common.LogEnum; import com.njcn.common.pojo.enums.response.CommonResponseEnum; import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.HttpResultUtil; -import com.njcn.minio.bo.MinIoUploadResDTO; +import com.njcn.minioss.bo.MinIoUploadResDTO; import com.njcn.poi.util.PoiUtil; import com.njcn.process.pojo.param.*; import com.njcn.process.pojo.po.RGeneralSurveyPlanPO; diff --git a/pqs-process/process-boot/src/main/java/com/njcn/process/service/IssuesService.java b/pqs-process/process-boot/src/main/java/com/njcn/process/service/IssuesService.java index 255a1cc9a..da33dd585 100644 --- a/pqs-process/process-boot/src/main/java/com/njcn/process/service/IssuesService.java +++ b/pqs-process/process-boot/src/main/java/com/njcn/process/service/IssuesService.java @@ -1,7 +1,6 @@ package com.njcn.process.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.njcn.minio.bo.MinIoUploadResDTO; import com.njcn.process.pojo.param.*; import com.njcn.process.pojo.vo.*; import org.springframework.web.multipart.MultipartFile; @@ -79,7 +78,7 @@ public interface IssuesService { /** * 上传文件 */ - MinIoUploadResDTO uploadFile(MultipartFile issuesFile); + String uploadFile(MultipartFile issuesFile); /** * 下载文件 diff --git a/pqs-process/process-boot/src/main/java/com/njcn/process/service/RGeneralSurveyPlanPOService.java b/pqs-process/process-boot/src/main/java/com/njcn/process/service/RGeneralSurveyPlanPOService.java index eeb407748..cb8c2b461 100644 --- a/pqs-process/process-boot/src/main/java/com/njcn/process/service/RGeneralSurveyPlanPOService.java +++ b/pqs-process/process-boot/src/main/java/com/njcn/process/service/RGeneralSurveyPlanPOService.java @@ -2,7 +2,7 @@ package com.njcn.process.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.github.jeffreyning.mybatisplus.service.IMppService; -import com.njcn.minio.bo.MinIoUploadResDTO; +import com.njcn.minioss.bo.MinIoUploadResDTO; import com.njcn.process.pojo.param.*; import com.njcn.process.pojo.po.RGeneralSurveyPlanPO; import com.njcn.process.pojo.vo.SurveyPlanExcel; diff --git a/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/IssuesServiceImpl.java b/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/IssuesServiceImpl.java index 4495ae504..1d8e9f4c8 100644 --- a/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/IssuesServiceImpl.java +++ b/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/IssuesServiceImpl.java @@ -13,9 +13,8 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.pojo.constant.BizParamConstant; import com.njcn.common.pojo.exception.BusinessException; -import com.njcn.minio.bo.MinIoUploadResDTO; -import com.njcn.minio.config.MinIoProperties; -import com.njcn.minio.utils.MinIoUtils; +import com.njcn.oss.constant.OssPath; +import com.njcn.oss.utils.FileStorageUtil; import com.njcn.process.enums.ProcessResponseEnum; import com.njcn.process.mapper.*; import com.njcn.process.pojo.param.*; @@ -41,6 +40,7 @@ import java.util.Objects; /** * 电能质量问题实现类 + * * @author xiaoyao * @version 1.0.0 * @createTime 2022/11/14 11:03 @@ -68,19 +68,15 @@ public class IssuesServiceImpl implements IssuesService { private final RStatElectricQualityProblemLogMapper rStatElectricQualityProblemLogMapper; - @Resource - private MinIoUtils minIoUtils; - - @Resource - private MinIoProperties minIoProperties; + private final FileStorageUtil fileStorageUtil; /** * 新增电能质量问题流程表信息 */ - private LocalDateTime addIssues(IssuesParam issuesParam,String powerQualityProblemNo){ + private LocalDateTime addIssues(IssuesParam issuesParam, String powerQualityProblemNo) { RStatElectricQualityProblemFlow issues = new RStatElectricQualityProblemFlow(); LocalDateTime local = LocalDateTimeUtil.now(); - BeanUtil.copyProperties(issuesParam,issues); + BeanUtil.copyProperties(issuesParam, issues); issues.setPowerQualityProblemNo(powerQualityProblemNo); issues.setDataDate(local); issues.setStartTime(null); @@ -94,16 +90,16 @@ public class IssuesServiceImpl implements IssuesService { /** * 生成问题编号 */ - private String getPowerQualityProblemNo(IssuesParam issuesParam){ + private String getPowerQualityProblemNo(IssuesParam issuesParam) { StringBuilder powerQualityProblemNo = new StringBuilder(); - powerQualityProblemNo.append(PinyinUtil.getFirstLetter(issuesParam.getOrgName(),"").toUpperCase()).append("-"); - if (DicDataEnum.ONLINE.getCode().equals(issuesParam.getProblemSources())){ + powerQualityProblemNo.append(PinyinUtil.getFirstLetter(issuesParam.getOrgName(), "").toUpperCase()).append("-"); + if (DicDataEnum.ONLINE.getCode().equals(issuesParam.getProblemSources())) { powerQualityProblemNo.append("ZXJC"); - }else if (DicDataEnum.GENERAL.getCode().equals(issuesParam.getProblemSources())){ + } else if (DicDataEnum.GENERAL.getCode().equals(issuesParam.getProblemSources())) { powerQualityProblemNo.append("PCCB"); - }else if (DicDataEnum.USER_COMPLAINTS.getCode().equals(issuesParam.getProblemSources())){ + } else if (DicDataEnum.USER_COMPLAINTS.getCode().equals(issuesParam.getProblemSources())) { powerQualityProblemNo.append("YHTS"); - }else if (DicDataEnum.DEV_EXCEPTION.getCode().equals(issuesParam.getProblemSources())){ + } else if (DicDataEnum.DEV_EXCEPTION.getCode().equals(issuesParam.getProblemSources())) { powerQualityProblemNo.append("YWYC"); } String nowDate = DateUtil.format(new Date(), "yyyyMMdd"); @@ -112,9 +108,9 @@ public class IssuesServiceImpl implements IssuesService { LambdaQueryWrapper issuesQuery = new LambdaQueryWrapper<>(); LocalDateTime local = LocalDateTimeUtil.parse(processDate + "T00:00:00"); LocalDateTime localEnd = LocalDateTimeUtil.parse(processDate + "T23:59:59"); - issuesQuery.ge(RStatElectricQualityProblemFlow::getDataDate, local).le(RStatElectricQualityProblemFlow::getDataDate,localEnd); + issuesQuery.ge(RStatElectricQualityProblemFlow::getDataDate, local).le(RStatElectricQualityProblemFlow::getDataDate, localEnd); Integer count = issuesMapper.selectCount(issuesQuery); - powerQualityProblemNo.append(StrUtil.padPre(String.valueOf(count + 1),5, '0')); + powerQualityProblemNo.append(StrUtil.padPre(String.valueOf(count + 1), 5, '0')); return powerQualityProblemNo.toString(); } @@ -124,11 +120,11 @@ public class IssuesServiceImpl implements IssuesService { @Override public void addExcessiveIssues(ExcessiveParam excessiveParam) { IssuesParam issuesParam = new IssuesParam(); - BeanUtil.copyProperties(excessiveParam,issuesParam); + BeanUtil.copyProperties(excessiveParam, issuesParam); String powerQualityProblemNo = getPowerQualityProblemNo(issuesParam); - LocalDateTime localDateTime = addIssues(issuesParam,powerQualityProblemNo); + LocalDateTime localDateTime = addIssues(issuesParam, powerQualityProblemNo); RMpOnlineMonitorOverproofProblem excessive = new RMpOnlineMonitorOverproofProblem(); - BeanUtil.copyProperties(excessiveParam,excessive); + BeanUtil.copyProperties(excessiveParam, excessive); excessive.setPowerQualityProblemNo(powerQualityProblemNo); excessive.setDataDate(localDateTime); excessiveMapper.insert(excessive); @@ -140,12 +136,12 @@ public class IssuesServiceImpl implements IssuesService { @Override public void addGeneralSurveyIssues(GeneralSurveyParam generalSurveyParam) { IssuesParam issuesParam = new IssuesParam(); - BeanUtil.copyProperties(generalSurveyParam,issuesParam); + BeanUtil.copyProperties(generalSurveyParam, issuesParam); String powerQualityProblemNo = getPowerQualityProblemNo(issuesParam); - LocalDateTime localDateTime = addIssues(issuesParam,powerQualityProblemNo); + LocalDateTime localDateTime = addIssues(issuesParam, powerQualityProblemNo); RMpGeneralSurveyOverproofProblem generalSurvey = new RMpGeneralSurveyOverproofProblem(); - BeanUtil.copyProperties(generalSurveyParam,generalSurvey); - generalSurvey.setOverLimitTarget(ArrayUtil.toString(generalSurveyParam.getSteadyState())+ArrayUtil.toString(generalSurveyParam.getTransientIndicators())); + BeanUtil.copyProperties(generalSurveyParam, generalSurvey); + generalSurvey.setOverLimitTarget(ArrayUtil.toString(generalSurveyParam.getSteadyState()) + ArrayUtil.toString(generalSurveyParam.getTransientIndicators())); generalSurvey.setPowerQualityProblemNo(powerQualityProblemNo); generalSurvey.setDataDate(localDateTime); generalSurveyMapper.insert(generalSurvey); @@ -157,12 +153,12 @@ public class IssuesServiceImpl implements IssuesService { @Override public void addComplaintIssues(ComplaintParam complaintParam) { IssuesParam issuesParam = new IssuesParam(); - BeanUtil.copyProperties(complaintParam,issuesParam); + BeanUtil.copyProperties(complaintParam, issuesParam); String powerQualityProblemNo = getPowerQualityProblemNo(issuesParam); - LocalDateTime localDateTime = addIssues(issuesParam,powerQualityProblemNo); + LocalDateTime localDateTime = addIssues(issuesParam, powerQualityProblemNo); RMpUserComplaint complaint = new RMpUserComplaint(); - BeanUtil.copyProperties(complaintParam,complaint); - complaint.setAbnormalTarget(ArrayUtil.toString(complaintParam.getSteadyState())+ArrayUtil.toString(complaintParam.getTransientIndicators())); + BeanUtil.copyProperties(complaintParam, complaint); + complaint.setAbnormalTarget(ArrayUtil.toString(complaintParam.getSteadyState()) + ArrayUtil.toString(complaintParam.getTransientIndicators())); complaint.setPowerQualityProblemNo(powerQualityProblemNo); complaint.setDataDate(localDateTime); complaintMapper.insert(complaint); @@ -174,12 +170,12 @@ public class IssuesServiceImpl implements IssuesService { @Override public void addAbnormalIssues(AbnormalParam abnormalParam) { IssuesParam issuesParam = new IssuesParam(); - BeanUtil.copyProperties(abnormalParam,issuesParam); + BeanUtil.copyProperties(abnormalParam, issuesParam); String powerQualityProblemNo = getPowerQualityProblemNo(issuesParam); - LocalDateTime localDateTime = addIssues(issuesParam,powerQualityProblemNo); + LocalDateTime localDateTime = addIssues(issuesParam, powerQualityProblemNo); RMpOperationMonitorAbnormal abnormal = new RMpOperationMonitorAbnormal(); - BeanUtil.copyProperties(abnormalParam,abnormal); - abnormal.setAbnormalTarget(ArrayUtil.toString(abnormalParam.getSteadyState())+ArrayUtil.toString(abnormalParam.getTransientIndicators())); + BeanUtil.copyProperties(abnormalParam, abnormal); + abnormal.setAbnormalTarget(ArrayUtil.toString(abnormalParam.getSteadyState()) + ArrayUtil.toString(abnormalParam.getTransientIndicators())); abnormal.setPowerQualityProblemNo(powerQualityProblemNo); abnormal.setDataDate(localDateTime); abnormalMapper.insert(abnormal); @@ -194,26 +190,26 @@ public class IssuesServiceImpl implements IssuesService { Date dateOut = DateUtil.parse(param.getDataDate()); Date dateBegin = new Date(); Date dateEnd = new Date(); - if (Integer.valueOf(BizParamConstant.STAT_BIZ_YEAR).equals(param.getDataType())){ + if (Integer.valueOf(BizParamConstant.STAT_BIZ_YEAR).equals(param.getDataType())) { dateBegin = DateUtil.beginOfYear(dateOut); dateEnd = DateUtil.endOfYear(dateOut); - }else if (Integer.valueOf(BizParamConstant.STAT_BIZ_QUARTER).equals(param.getDataType())){ + } else if (Integer.valueOf(BizParamConstant.STAT_BIZ_QUARTER).equals(param.getDataType())) { dateBegin = DateUtil.beginOfQuarter(dateOut); dateEnd = DateUtil.endOfQuarter(dateOut); - }else if (Integer.valueOf(BizParamConstant.STAT_BIZ_MONTH).equals(param.getDataType())){ + } else if (Integer.valueOf(BizParamConstant.STAT_BIZ_MONTH).equals(param.getDataType())) { dateBegin = DateUtil.beginOfMonth(dateOut); dateEnd = DateUtil.endOfMonth(dateOut); } - List deptIds = deptFeignClient.getDepSonIdtByDeptId(param.getOrgNo ()).getData(); + List deptIds = deptFeignClient.getDepSonIdtByDeptId(param.getOrgNo()).getData(); - List out = issuesMapper.getIssues(deptIds,param,DateUtil.formatDateTime(dateBegin), DateUtil.formatDateTime(dateEnd)); + List out = issuesMapper.getIssues(deptIds, param, DateUtil.formatDateTime(dateBegin), DateUtil.formatDateTime(dateEnd)); if (!CollectionUtils.isEmpty(out)) { out.forEach(data -> data.setOrgName((deptFeignClient.getDeptById(data.getOrgNo()).getData().getName()))); /*问题来源*/ List problemSourcesDictData = dicDataFeignClient.getDicDataByTypeCode(DicDataTypeEnum.PROBLEM_SOURCES.getCode()).getData(); problemSourcesDictData.forEach(dict -> out.stream().filter(data -> dict.getCode().equals(data.getProblemSources())).forEach(data -> data.setProblemSources(dict.getName()))); page.setTotal(out.size()); - int pages = (int)Math.ceil(out.size()*1.0/param.getPageSize()); + int pages = (int) Math.ceil(out.size() * 1.0 / param.getPageSize()); page.setPages(pages); List> partition = Lists.partition(out, param.getPageSize()); List issuesVOS = partition.get(param.getPageNum() - 1); @@ -225,49 +221,49 @@ public class IssuesServiceImpl implements IssuesService { /** * 问题基本信息查询 */ - private RStatElectricQualityProblemFlow issuesSelectOne(String powerQualityProblemNo){ + private RStatElectricQualityProblemFlow issuesSelectOne(String powerQualityProblemNo) { LambdaQueryWrapper issuesQuery = new LambdaQueryWrapper<>(); - issuesQuery.eq(RStatElectricQualityProblemFlow::getPowerQualityProblemNo,powerQualityProblemNo); + issuesQuery.eq(RStatElectricQualityProblemFlow::getPowerQualityProblemNo, powerQualityProblemNo); return issuesMapper.selectOne(issuesQuery); } /** * 填报流程详情查询 */ - private RMpElectricQualityProblemFlowDetails flowDetailSelectOne(String powerQualityProblemNo){ + private RMpElectricQualityProblemFlowDetails flowDetailSelectOne(String powerQualityProblemNo) { LambdaQueryWrapper flowQuery = new LambdaQueryWrapper<>(); - flowQuery.eq(RMpElectricQualityProblemFlowDetails::getPowerQualityProblemNo,powerQualityProblemNo); + flowQuery.eq(RMpElectricQualityProblemFlowDetails::getPowerQualityProblemNo, powerQualityProblemNo); return flowDetailsMapper.selectOne(flowQuery); } /** * 处理填报信息 */ - private FlowDetailVO processFlowDetail(RMpElectricQualityProblemFlowDetails details){ + private FlowDetailVO processFlowDetail(RMpElectricQualityProblemFlowDetails details) { FlowDetailVO process = new FlowDetailVO(); - BeanUtil.copyProperties(details,process); - if (!StrUtil.isEmpty(details.getReportProcessContentYyfx())){ - process.setReportProcessContentYyfx(StrUtil.removeSuffix(StrUtil.removePrefix(details.getReportProcessContentYyfx(),"["),"]").split(",")); + BeanUtil.copyProperties(details, process); + if (!StrUtil.isEmpty(details.getReportProcessContentYyfx())) { + process.setReportProcessContentYyfx(StrUtil.removeSuffix(StrUtil.removePrefix(details.getReportProcessContentYyfx(), "["), "]").split(",")); StrUtil.trim(process.getReportProcessContentYyfx()); } - if (!StrUtil.isEmpty(details.getUserReportProcessContentYyfx())){ - process.setUserReportProcessContentYyfx(StrUtil.removeSuffix(StrUtil.removePrefix(details.getUserReportProcessContentYyfx(),"["),"]").split(",")); + if (!StrUtil.isEmpty(details.getUserReportProcessContentYyfx())) { + process.setUserReportProcessContentYyfx(StrUtil.removeSuffix(StrUtil.removePrefix(details.getUserReportProcessContentYyfx(), "["), "]").split(",")); StrUtil.trim(process.getUserReportProcessContentYyfx()); } - if (!StrUtil.isEmpty(details.getReportProcessContentJhzg())){ - process.setReportProcessContentJhzg(StrUtil.removeSuffix(StrUtil.removePrefix(details.getReportProcessContentJhzg(),"["),"]").split(",")); + if (!StrUtil.isEmpty(details.getReportProcessContentJhzg())) { + process.setReportProcessContentJhzg(StrUtil.removeSuffix(StrUtil.removePrefix(details.getReportProcessContentJhzg(), "["), "]").split(",")); StrUtil.trim(process.getReportProcessContentJhzg()); } - if (!StrUtil.isEmpty(details.getUserReportProcessContentJhzg())){ - process.setUserReportProcessContentJhzg(StrUtil.removeSuffix(StrUtil.removePrefix(details.getUserReportProcessContentJhzg(),"["),"]").split(",")); + if (!StrUtil.isEmpty(details.getUserReportProcessContentJhzg())) { + process.setUserReportProcessContentJhzg(StrUtil.removeSuffix(StrUtil.removePrefix(details.getUserReportProcessContentJhzg(), "["), "]").split(",")); StrUtil.trim(process.getUserReportProcessContentJhzg()); } - if (!StrUtil.isEmpty(details.getReportProcessContentSjcq())){ - process.setReportProcessContentSjcq(StrUtil.removeSuffix(StrUtil.removePrefix(details.getReportProcessContentSjcq(),"["),"]").split(",")); + if (!StrUtil.isEmpty(details.getReportProcessContentSjcq())) { + process.setReportProcessContentSjcq(StrUtil.removeSuffix(StrUtil.removePrefix(details.getReportProcessContentSjcq(), "["), "]").split(",")); StrUtil.trim(process.getReportProcessContentSjcq()); } - if (!StrUtil.isEmpty(details.getUserReportProcessContentSjcq())){ - process.setUserReportProcessContentSjcq(StrUtil.removeSuffix(StrUtil.removePrefix(details.getUserReportProcessContentSjcq(),"["),"]").split(",")); + if (!StrUtil.isEmpty(details.getUserReportProcessContentSjcq())) { + process.setUserReportProcessContentSjcq(StrUtil.removeSuffix(StrUtil.removePrefix(details.getUserReportProcessContentSjcq(), "["), "]").split(",")); StrUtil.trim(process.getUserReportProcessContentSjcq()); } return process; @@ -279,14 +275,14 @@ public class IssuesServiceImpl implements IssuesService { @Override public ExcessiveDetailVO getExcessiveDetail(String powerQualityProblemNo) { ExcessiveDetailVO detail = new ExcessiveDetailVO(); - BeanUtil.copyProperties(issuesSelectOne(powerQualityProblemNo),detail); + BeanUtil.copyProperties(issuesSelectOne(powerQualityProblemNo), detail); detail.setOrgName(deptFeignClient.getDeptById(detail.getOrgNo()).getData().getName()); LambdaQueryWrapper excessiveQuery = new LambdaQueryWrapper<>(); - excessiveQuery.eq(RMpOnlineMonitorOverproofProblem::getPowerQualityProblemNo,powerQualityProblemNo); + excessiveQuery.eq(RMpOnlineMonitorOverproofProblem::getPowerQualityProblemNo, powerQualityProblemNo); RMpOnlineMonitorOverproofProblem excessiveOut = excessiveMapper.selectOne(excessiveQuery); - BeanUtil.copyProperties(excessiveOut,detail); + BeanUtil.copyProperties(excessiveOut, detail); RMpElectricQualityProblemFlowDetails flowDetails = flowDetailSelectOne(powerQualityProblemNo); - BeanUtil.copyProperties(processFlowDetail(flowDetails),detail); + BeanUtil.copyProperties(processFlowDetail(flowDetails), detail); return detail; } @@ -296,16 +292,16 @@ public class IssuesServiceImpl implements IssuesService { @Override public GeneralSurveyVO getGeneralSurveyDetail(String powerQualityProblemNo) { GeneralSurveyVO detail = new GeneralSurveyVO(); - BeanUtil.copyProperties(issuesSelectOne(powerQualityProblemNo),detail); + BeanUtil.copyProperties(issuesSelectOne(powerQualityProblemNo), detail); detail.setOrgName(deptFeignClient.getDeptById(detail.getOrgNo()).getData().getName()); LambdaQueryWrapper generalSurveyQuery = new LambdaQueryWrapper<>(); - generalSurveyQuery.eq(RMpGeneralSurveyOverproofProblem::getPowerQualityProblemNo,powerQualityProblemNo); + generalSurveyQuery.eq(RMpGeneralSurveyOverproofProblem::getPowerQualityProblemNo, powerQualityProblemNo); RMpGeneralSurveyOverproofProblem generalSurveyOut = generalSurveyMapper.selectOne(generalSurveyQuery); - BeanUtil.copyProperties(generalSurveyOut,detail); + BeanUtil.copyProperties(generalSurveyOut, detail); detail.setSteadyIndicator(steadyIndicator(generalSurveyOut.getOverLimitTarget())); detail.setTransientIndicators(transientIndicators(generalSurveyOut.getOverLimitTarget())); RMpElectricQualityProblemFlowDetails flowDetails = flowDetailSelectOne(powerQualityProblemNo); - BeanUtil.copyProperties(processFlowDetail(flowDetails),detail); + BeanUtil.copyProperties(processFlowDetail(flowDetails), detail); return detail; } @@ -315,22 +311,22 @@ public class IssuesServiceImpl implements IssuesService { @Override public ComplaintVO getComplaintDetail(String powerQualityProblemNo) { ComplaintVO detail = new ComplaintVO(); - BeanUtil.copyProperties(issuesSelectOne(powerQualityProblemNo),detail); + BeanUtil.copyProperties(issuesSelectOne(powerQualityProblemNo), detail); detail.setOrgName(deptFeignClient.getDeptById(detail.getOrgNo()).getData().getName()); LambdaQueryWrapper complaintQuery = new LambdaQueryWrapper<>(); - complaintQuery.eq(RMpUserComplaint::getPowerQualityProblemNo,powerQualityProblemNo); + complaintQuery.eq(RMpUserComplaint::getPowerQualityProblemNo, powerQualityProblemNo); RMpUserComplaint complaintOut = complaintMapper.selectOne(complaintQuery); - BeanUtil.copyProperties(complaintOut,detail); + BeanUtil.copyProperties(complaintOut, detail); detail.setSteadyIndicator(steadyIndicator(complaintOut.getAbnormalTarget())); detail.setTransientIndicators(transientIndicators(complaintOut.getAbnormalTarget())); RMpElectricQualityProblemFlowDetails flowDetails = flowDetailSelectOne(powerQualityProblemNo); - BeanUtil.copyProperties(processFlowDetail(flowDetails),detail); - if (!StrUtil.isEmpty(complaintOut.getPowerGridAffectDev())){ - detail.setPowerGridAffectDev(StrUtil.removeSuffix(StrUtil.removePrefix(complaintOut.getPowerGridAffectDev(),"["),"]").split(",")); + BeanUtil.copyProperties(processFlowDetail(flowDetails), detail); + if (!StrUtil.isEmpty(complaintOut.getPowerGridAffectDev())) { + detail.setPowerGridAffectDev(StrUtil.removeSuffix(StrUtil.removePrefix(complaintOut.getPowerGridAffectDev(), "["), "]").split(",")); StrUtil.trim(detail.getPowerGridAffectDev()); } - if (!StrUtil.isEmpty(complaintOut.getUserAffectDev())){ - detail.setUserAffectDev(StrUtil.removeSuffix(StrUtil.removePrefix(complaintOut.getUserAffectDev(),"["),"]").split(",")); + if (!StrUtil.isEmpty(complaintOut.getUserAffectDev())) { + detail.setUserAffectDev(StrUtil.removeSuffix(StrUtil.removePrefix(complaintOut.getUserAffectDev(), "["), "]").split(",")); StrUtil.trim(detail.getUserAffectDev()); } return detail; @@ -342,22 +338,22 @@ public class IssuesServiceImpl implements IssuesService { @Override public AbnormalVO getAbnormalDetail(String powerQualityProblemNo) { AbnormalVO detail = new AbnormalVO(); - BeanUtil.copyProperties(issuesSelectOne(powerQualityProblemNo),detail); + BeanUtil.copyProperties(issuesSelectOne(powerQualityProblemNo), detail); detail.setOrgName(deptFeignClient.getDeptById(detail.getOrgNo()).getData().getName()); LambdaQueryWrapper abnormalQuery = new LambdaQueryWrapper<>(); - abnormalQuery.eq(RMpOperationMonitorAbnormal::getPowerQualityProblemNo,powerQualityProblemNo); + abnormalQuery.eq(RMpOperationMonitorAbnormal::getPowerQualityProblemNo, powerQualityProblemNo); RMpOperationMonitorAbnormal abnormalOut = abnormalMapper.selectOne(abnormalQuery); - BeanUtil.copyProperties(abnormalOut,detail); + BeanUtil.copyProperties(abnormalOut, detail); detail.setSteadyIndicator(steadyIndicator(abnormalOut.getAbnormalTarget())); detail.setTransientIndicators(transientIndicators(abnormalOut.getAbnormalTarget())); RMpElectricQualityProblemFlowDetails flowDetails = flowDetailSelectOne(powerQualityProblemNo); - BeanUtil.copyProperties(processFlowDetail(flowDetails),detail); - if (!StrUtil.isEmpty(abnormalOut.getPowerGridAffectDev())){ - detail.setPowerGridAffectDev(StrUtil.removeSuffix(StrUtil.removePrefix(abnormalOut.getPowerGridAffectDev(),"["),"]").split(",")); + BeanUtil.copyProperties(processFlowDetail(flowDetails), detail); + if (!StrUtil.isEmpty(abnormalOut.getPowerGridAffectDev())) { + detail.setPowerGridAffectDev(StrUtil.removeSuffix(StrUtil.removePrefix(abnormalOut.getPowerGridAffectDev(), "["), "]").split(",")); StrUtil.trim(detail.getPowerGridAffectDev()); } - if (!StrUtil.isEmpty(abnormalOut.getUserAffectDev())){ - detail.setUserAffectDev(StrUtil.removeSuffix(StrUtil.removePrefix(abnormalOut.getUserAffectDev(),"["),"]").split(",")); + if (!StrUtil.isEmpty(abnormalOut.getUserAffectDev())) { + detail.setUserAffectDev(StrUtil.removeSuffix(StrUtil.removePrefix(abnormalOut.getUserAffectDev(), "["), "]").split(",")); StrUtil.trim(detail.getUserAffectDev()); } return detail; @@ -366,8 +362,8 @@ public class IssuesServiceImpl implements IssuesService { /** * 稳态指标处理 */ - private String[] steadyIndicator(String target){ - String[] process = StrUtil.removePrefix(target.split("]\\[")[0],"\\[").split(","); + private String[] steadyIndicator(String target) { + String[] process = StrUtil.removePrefix(target.split("]\\[")[0], "\\[").split(","); StrUtil.trim(process); return process; } @@ -375,8 +371,8 @@ public class IssuesServiceImpl implements IssuesService { /** * 暂态指标处理 */ - private String[] transientIndicators(String target){ - String[] process = StrUtil.removeSuffix(target.split("]\\[")[1],"]").split(","); + private String[] transientIndicators(String target) { + String[] process = StrUtil.removeSuffix(target.split("]\\[")[1], "]").split(","); StrUtil.trim(process); return process; } @@ -388,31 +384,31 @@ public class IssuesServiceImpl implements IssuesService { public void reasonAnalysis(ProcessParam processParam) { LocalDateTime local = LocalDateTimeUtil.now(); RMpElectricQualityProblemFlowDetails details = new RMpElectricQualityProblemFlowDetails(); - BeanUtil.copyProperties(processParam,details); + BeanUtil.copyProperties(processParam, details); details.setDataDateYyfx(local); details.setReportProcessContentYyfx(ArrayUtil.toString(processParam.getReportProcessContentYyfx())); details.setUserReportProcessContentYyfx(ArrayUtil.toString(processParam.getUserReportProcessContentYyfx())); flowDetailsMapper.insert(details); LambdaQueryWrapper issuesQuery = new LambdaQueryWrapper<>(); - issuesQuery.eq(RStatElectricQualityProblemFlow::getPowerQualityProblemNo,processParam.getPowerQualityProblemNo()); + issuesQuery.eq(RStatElectricQualityProblemFlow::getPowerQualityProblemNo, processParam.getPowerQualityProblemNo()); RStatElectricQualityProblemFlow issuesOut = issuesMapper.selectOne(issuesQuery); issuesOut.setReportProcess(DicDataEnum.CAUSE_ANALYSIS.getCode()); - issuesOut.setReportProcessStatus (DicDataEnum.AUDITT.getCode()); - issuesMapper.update(issuesOut,issuesQuery); - if (DicDataEnum.USER_COMPLAINTS.getCode().equals(issuesOut.getProblemSources())){ + issuesOut.setReportProcessStatus(DicDataEnum.AUDITT.getCode()); + issuesMapper.update(issuesOut, issuesQuery); + if (DicDataEnum.USER_COMPLAINTS.getCode().equals(issuesOut.getProblemSources())) { LambdaQueryWrapper complaintQuery = new LambdaQueryWrapper<>(); - complaintQuery.eq(RMpUserComplaint::getPowerQualityProblemNo,processParam.getPowerQualityProblemNo()); + complaintQuery.eq(RMpUserComplaint::getPowerQualityProblemNo, processParam.getPowerQualityProblemNo()); RMpUserComplaint complaintOut = complaintMapper.selectOne(complaintQuery); complaintOut.setPowerGridAffectDev(ArrayUtil.toString(processParam.getPowerGridAffectDev())); complaintOut.setUserAffectDev(ArrayUtil.toString(processParam.getUserAffectDev())); - complaintMapper.update(complaintOut,complaintQuery); - }else if (DicDataEnum.DEV_EXCEPTION.getCode().equals(issuesOut.getProblemSources())){ + complaintMapper.update(complaintOut, complaintQuery); + } else if (DicDataEnum.DEV_EXCEPTION.getCode().equals(issuesOut.getProblemSources())) { LambdaQueryWrapper abnormalQuery = new LambdaQueryWrapper<>(); - abnormalQuery.eq(RMpOperationMonitorAbnormal::getPowerQualityProblemNo,processParam.getPowerQualityProblemNo()); + abnormalQuery.eq(RMpOperationMonitorAbnormal::getPowerQualityProblemNo, processParam.getPowerQualityProblemNo()); RMpOperationMonitorAbnormal abnormalOut = abnormalMapper.selectOne(abnormalQuery); abnormalOut.setPowerGridAffectDev(ArrayUtil.toString(processParam.getPowerGridAffectDev())); abnormalOut.setUserAffectDev(ArrayUtil.toString(processParam.getUserAffectDev())); - abnormalMapper.update(abnormalOut,abnormalQuery); + abnormalMapper.update(abnormalOut, abnormalQuery); } } @@ -422,26 +418,26 @@ public class IssuesServiceImpl implements IssuesService { @Override public void process(ProcessParam processParam, String code) { LambdaQueryWrapper issuesQuery = new LambdaQueryWrapper<>(); - issuesQuery.eq(RStatElectricQualityProblemFlow::getPowerQualityProblemNo,processParam.getPowerQualityProblemNo()); + issuesQuery.eq(RStatElectricQualityProblemFlow::getPowerQualityProblemNo, processParam.getPowerQualityProblemNo()); RStatElectricQualityProblemFlow issuesOut = issuesMapper.selectOne(issuesQuery); - if (DicDataEnum.SUCCESS.getCode().equals(issuesOut.getReportProcessStatus())){ + if (DicDataEnum.SUCCESS.getCode().equals(issuesOut.getReportProcessStatus())) { LambdaQueryWrapper query = new LambdaQueryWrapper<>(); - query.eq(RMpElectricQualityProblemFlowDetails::getPowerQualityProblemNo,processParam.getPowerQualityProblemNo()); + query.eq(RMpElectricQualityProblemFlowDetails::getPowerQualityProblemNo, processParam.getPowerQualityProblemNo()); RMpElectricQualityProblemFlowDetails details = flowDetailsMapper.selectOne(query); LocalDateTime local = LocalDateTimeUtil.now(); - if (DicDataEnum.PLAN_MEASURES.getCode().equals(code)){ + if (DicDataEnum.PLAN_MEASURES.getCode().equals(code)) { details.setDataDateJhzg(local); details.setReportProcessContentJhzg(ArrayUtil.toString(processParam.getReportProcessContentJhzg())); details.setUserReportProcessContentJhzg(ArrayUtil.toString(processParam.getUserReportProcessContentJhzg())); details.setFileNameJhzg(processParam.getFileNameJhzg()); details.setFilePathJhzg(processParam.getFilePathJhzg()); - }else if (DicDataEnum.ACTUAL_MEASURES.getCode().equals(code)){ + } else if (DicDataEnum.ACTUAL_MEASURES.getCode().equals(code)) { details.setDataDateSjcq(local); details.setReportProcessContentSjcq(ArrayUtil.toString(processParam.getReportProcessContentSjcq())); details.setUserReportProcessContentSjcq(ArrayUtil.toString(processParam.getUserReportProcessContentSjcq())); details.setFileNameSjcq(processParam.getFileNameSjcq()); details.setFilePathSjcq(processParam.getFilePathSjcq()); - }else if (DicDataEnum.INSIGHTS.getCode().equals(code)){ + } else if (DicDataEnum.INSIGHTS.getCode().equals(code)) { details.setDataDateZlxg(local); details.setDescriptionZlxg(processParam.getDescriptionZlxg()); details.setFileNameZlxg(processParam.getFileNameZlxg()); @@ -450,8 +446,8 @@ public class IssuesServiceImpl implements IssuesService { flowDetailsMapper.update(details, query); issuesOut.setReportProcess(code); issuesOut.setReportProcessStatus(DicDataEnum.AUDITT.getCode()); - issuesMapper.update(issuesOut,issuesQuery); - }else { + issuesMapper.update(issuesOut, issuesQuery); + } else { throw new BusinessException(ProcessResponseEnum.PROCESS_ERROR); } } @@ -462,13 +458,13 @@ public class IssuesServiceImpl implements IssuesService { @Override public void archive(String powerQualityProblemNo) { LambdaQueryWrapper query = new LambdaQueryWrapper<>(); - query.eq(RStatElectricQualityProblemFlow::getPowerQualityProblemNo,powerQualityProblemNo); + query.eq(RStatElectricQualityProblemFlow::getPowerQualityProblemNo, powerQualityProblemNo); RStatElectricQualityProblemFlow issuesOut = issuesMapper.selectOne(query); if (DicDataEnum.INSIGHTS.getCode().equals(issuesOut.getReportProcess()) - && DicDataEnum.SUCCESS.getCode().equals(issuesOut.getReportProcessStatus())){ + && DicDataEnum.SUCCESS.getCode().equals(issuesOut.getReportProcessStatus())) { issuesOut.setReportProcess(DicDataEnum.ARCHIVED.getCode()); - issuesMapper.update(issuesOut,query); - }else { + issuesMapper.update(issuesOut, query); + } else { throw new BusinessException(ProcessResponseEnum.ARCHIVE_ERROR); } } @@ -477,30 +473,26 @@ public class IssuesServiceImpl implements IssuesService { * 上传文件 */ @Override - public MinIoUploadResDTO uploadFile(MultipartFile issuesFile) { - try { - return minIoUtils.upload(issuesFile, minIoProperties.getBucket(), "electricityQuality/"); - } catch (Exception e) { - throw new BusinessException(ProcessResponseEnum.UPLOAD_FILE_ERROR); - } + public String uploadFile(MultipartFile issuesFile) { + return fileStorageUtil.uploadMultipart(issuesFile, OssPath.ELECTRICITY_QUALITY); } /** * 下载文件 */ @Override - public String downloadFile(String powerQualityProblemNo,String reportProcess) { + public String downloadFile(String powerQualityProblemNo, String reportProcess) { LambdaQueryWrapper issuesQuery = new LambdaQueryWrapper<>(); - issuesQuery.eq(RMpElectricQualityProblemFlowDetails::getPowerQualityProblemNo,powerQualityProblemNo); + issuesQuery.eq(RMpElectricQualityProblemFlowDetails::getPowerQualityProblemNo, powerQualityProblemNo); RMpElectricQualityProblemFlowDetails details = flowDetailsMapper.selectOne(issuesQuery); String filePath = null; - if (DicDataEnum.CAUSE_ANALYSIS.getName().equals(reportProcess)){ + if (DicDataEnum.CAUSE_ANALYSIS.getName().equals(reportProcess)) { filePath = details.getFilePathYyfx(); - }else if (DicDataEnum.PLAN_MEASURES.getName().equals(reportProcess)){ + } else if (DicDataEnum.PLAN_MEASURES.getName().equals(reportProcess)) { filePath = details.getFilePathJhzg(); - }else if (DicDataEnum.ACTUAL_MEASURES.getName().equals(reportProcess)){ + } else if (DicDataEnum.ACTUAL_MEASURES.getName().equals(reportProcess)) { filePath = details.getFilePathSjcq(); - }else if (DicDataEnum.INSIGHTS.getName().equals(reportProcess)){ + } else if (DicDataEnum.INSIGHTS.getName().equals(reportProcess)) { filePath = details.getFilePathZlxg(); } return filePath; @@ -512,27 +504,27 @@ public class IssuesServiceImpl implements IssuesService { @Override public void deleteIssues(String powerQualityProblemNo) { LambdaQueryWrapper query = new LambdaQueryWrapper<>(); - query.eq(RStatElectricQualityProblemFlow::getPowerQualityProblemNo,powerQualityProblemNo); + query.eq(RStatElectricQualityProblemFlow::getPowerQualityProblemNo, powerQualityProblemNo); RStatElectricQualityProblemFlow issuesOut = issuesMapper.selectOne(query); - if (DicDataEnum.ONLINE.getCode().equals(issuesOut.getProblemSources())){ + if (DicDataEnum.ONLINE.getCode().equals(issuesOut.getProblemSources())) { LambdaQueryWrapper issuesQuery = new LambdaQueryWrapper<>(); - issuesQuery.eq(RMpOnlineMonitorOverproofProblem::getPowerQualityProblemNo,powerQualityProblemNo); + issuesQuery.eq(RMpOnlineMonitorOverproofProblem::getPowerQualityProblemNo, powerQualityProblemNo); excessiveMapper.delete(issuesQuery); - }else if (DicDataEnum.GENERAL.getCode().equals(issuesOut.getProblemSources())){ + } else if (DicDataEnum.GENERAL.getCode().equals(issuesOut.getProblemSources())) { LambdaQueryWrapper issuesQuery = new LambdaQueryWrapper<>(); - issuesQuery.eq(RMpGeneralSurveyOverproofProblem::getPowerQualityProblemNo,powerQualityProblemNo); + issuesQuery.eq(RMpGeneralSurveyOverproofProblem::getPowerQualityProblemNo, powerQualityProblemNo); generalSurveyMapper.delete(issuesQuery); - }else if (DicDataEnum.USER_COMPLAINTS.getCode().equals(issuesOut.getProblemSources())){ + } else if (DicDataEnum.USER_COMPLAINTS.getCode().equals(issuesOut.getProblemSources())) { LambdaQueryWrapper issuesQuery = new LambdaQueryWrapper<>(); - issuesQuery.eq(RMpUserComplaint::getPowerQualityProblemNo,powerQualityProblemNo); + issuesQuery.eq(RMpUserComplaint::getPowerQualityProblemNo, powerQualityProblemNo); complaintMapper.delete(issuesQuery); - }else if (DicDataEnum.DEV_EXCEPTION.getCode().equals(issuesOut.getProblemSources())){ + } else if (DicDataEnum.DEV_EXCEPTION.getCode().equals(issuesOut.getProblemSources())) { LambdaQueryWrapper issuesQuery = new LambdaQueryWrapper<>(); - issuesQuery.eq(RMpOperationMonitorAbnormal::getPowerQualityProblemNo,powerQualityProblemNo); + issuesQuery.eq(RMpOperationMonitorAbnormal::getPowerQualityProblemNo, powerQualityProblemNo); abnormalMapper.delete(issuesQuery); } LambdaQueryWrapper issuesQuery = new LambdaQueryWrapper<>(); - issuesQuery.eq(RMpElectricQualityProblemFlowDetails::getPowerQualityProblemNo,powerQualityProblemNo); + issuesQuery.eq(RMpElectricQualityProblemFlowDetails::getPowerQualityProblemNo, powerQualityProblemNo); flowDetailsMapper.delete(issuesQuery); issuesMapper.delete(query); } @@ -551,17 +543,15 @@ public class IssuesServiceImpl implements IssuesService { List deptIds = deptFeignClient.getDepSonIdtByDeptId(orgNo).getData(); /*问题个数*/ - QueryWrapper qualityProblemFlowQueryWrapper = new QueryWrapper<> (); - qualityProblemFlowQueryWrapper.select ("1"). - in ("orgNo",deptIds); - Integer integer = issuesMapper.selectCount (qualityProblemFlowQueryWrapper); - issueesAndOrderVO.setId (orgNo); - issueesAndOrderVO.setIssueesCount (integer); + QueryWrapper qualityProblemFlowQueryWrapper = new QueryWrapper<>(); + qualityProblemFlowQueryWrapper.select("1"). + in("orgNo", deptIds); + Integer integer = issuesMapper.selectCount(qualityProblemFlowQueryWrapper); + issueesAndOrderVO.setId(orgNo); + issueesAndOrderVO.setIssueesCount(integer); /*已关联工单数量*/ - - return issueesAndOrderVO; } @@ -577,62 +567,62 @@ public class IssuesServiceImpl implements IssuesService { public Boolean checkPowerQuality(ElectricityQualityCheckParam electricityQualityCheckParam) { boolean result = true; RStatElectricQualityProblemLogPO rStatElectricQualityProblemLogPO = new RStatElectricQualityProblemLogPO(); - rStatElectricQualityProblemLogPO.setPowerQualityProblemNo (electricityQualityCheckParam.getPowerQualityProblemNo ()); - rStatElectricQualityProblemLogPO.setChecker (electricityQualityCheckParam.getCheckPerson ()); - rStatElectricQualityProblemLogPO.setDataDate ( new Date ()); - rStatElectricQualityProblemLogPO.setDescription (electricityQualityCheckParam.getCheckComment ()); - rStatElectricQualityProblemLogPO.setReportProcess (electricityQualityCheckParam.getReportProcess ()); - rStatElectricQualityProblemLogPO.setReportProcessContent (electricityQualityCheckParam.getCheckComment ()); + rStatElectricQualityProblemLogPO.setPowerQualityProblemNo(electricityQualityCheckParam.getPowerQualityProblemNo()); + rStatElectricQualityProblemLogPO.setChecker(electricityQualityCheckParam.getCheckPerson()); + rStatElectricQualityProblemLogPO.setDataDate(new Date()); + rStatElectricQualityProblemLogPO.setDescription(electricityQualityCheckParam.getCheckComment()); + rStatElectricQualityProblemLogPO.setReportProcess(electricityQualityCheckParam.getReportProcess()); + rStatElectricQualityProblemLogPO.setReportProcessContent(electricityQualityCheckParam.getCheckComment()); - rStatElectricQualityProblemLogPO.setType (Objects.equals ("1", electricityQualityCheckParam.getCheckResult ())?DicDataEnum.SUCCESS.getCode ( ):DicDataEnum.FAIL.getCode ( )); + rStatElectricQualityProblemLogPO.setType(Objects.equals("1", electricityQualityCheckParam.getCheckResult()) ? DicDataEnum.SUCCESS.getCode() : DicDataEnum.FAIL.getCode()); /*插入审核日志表*/ - int insert = rStatElectricQualityProblemLogMapper.insert (rStatElectricQualityProblemLogPO); - String report_process =""; - String report_process_status =""; - String reportProcess =electricityQualityCheckParam.getReportProcess (); - String checkResult = electricityQualityCheckParam.getCheckResult ( ); - if (DicDataEnum.CAUSE_ANALYSIS.getCode ().equals(reportProcess)){ - if(Objects.equals ("1", checkResult)){ - report_process_status = DicDataEnum.AUDITT.getCode (); - report_process = DicDataEnum.PLAN_MEASURES.getCode (); - }else{ - report_process_status = DicDataEnum.FAIL.getCode (); - report_process = DicDataEnum.CAUSE_ANALYSIS.getCode (); + int insert = rStatElectricQualityProblemLogMapper.insert(rStatElectricQualityProblemLogPO); + String report_process = ""; + String report_process_status = ""; + String reportProcess = electricityQualityCheckParam.getReportProcess(); + String checkResult = electricityQualityCheckParam.getCheckResult(); + if (DicDataEnum.CAUSE_ANALYSIS.getCode().equals(reportProcess)) { + if (Objects.equals("1", checkResult)) { + report_process_status = DicDataEnum.AUDITT.getCode(); + report_process = DicDataEnum.PLAN_MEASURES.getCode(); + } else { + report_process_status = DicDataEnum.FAIL.getCode(); + report_process = DicDataEnum.CAUSE_ANALYSIS.getCode(); } - }else if (DicDataEnum.PLAN_MEASURES.getCode().equals(reportProcess)){ - if(Objects.equals ("1", checkResult)){ - report_process_status = DicDataEnum.AUDITT.getCode (); - report_process = DicDataEnum.ACTUAL_MEASURES.getCode (); - }else{ - report_process_status = DicDataEnum.FAIL.getCode (); - report_process = DicDataEnum.PLAN_MEASURES.getCode (); + } else if (DicDataEnum.PLAN_MEASURES.getCode().equals(reportProcess)) { + if (Objects.equals("1", checkResult)) { + report_process_status = DicDataEnum.AUDITT.getCode(); + report_process = DicDataEnum.ACTUAL_MEASURES.getCode(); + } else { + report_process_status = DicDataEnum.FAIL.getCode(); + report_process = DicDataEnum.PLAN_MEASURES.getCode(); } - }else if (DicDataEnum.ACTUAL_MEASURES.getCode().equals(reportProcess)){ - if(Objects.equals ("1", checkResult)){ - report_process_status = DicDataEnum.AUDITT.getCode (); - report_process = DicDataEnum.INSIGHTS.getCode (); - }else{ - report_process_status = DicDataEnum.FAIL.getCode (); - report_process = DicDataEnum.ACTUAL_MEASURES.getCode (); + } else if (DicDataEnum.ACTUAL_MEASURES.getCode().equals(reportProcess)) { + if (Objects.equals("1", checkResult)) { + report_process_status = DicDataEnum.AUDITT.getCode(); + report_process = DicDataEnum.INSIGHTS.getCode(); + } else { + report_process_status = DicDataEnum.FAIL.getCode(); + report_process = DicDataEnum.ACTUAL_MEASURES.getCode(); } - }else if (DicDataEnum.INSIGHTS.getCode().equals(reportProcess)){ + } else if (DicDataEnum.INSIGHTS.getCode().equals(reportProcess)) { - if(Objects.equals ("1", checkResult)){ - report_process_status = DicDataEnum.AUDITT.getCode (); - report_process = DicDataEnum.ARCHIVED.getCode (); - }else{ - report_process_status = DicDataEnum.FAIL.getCode (); - report_process = DicDataEnum.INSIGHTS.getCode (); + if (Objects.equals("1", checkResult)) { + report_process_status = DicDataEnum.AUDITT.getCode(); + report_process = DicDataEnum.ARCHIVED.getCode(); + } else { + report_process_status = DicDataEnum.FAIL.getCode(); + report_process = DicDataEnum.INSIGHTS.getCode(); } } - UpdateWrapper updateWrapper = new UpdateWrapper (); - updateWrapper.eq ("power_quality_problem_no", electricityQualityCheckParam.getPowerQualityProblemNo ()); - updateWrapper.set ("report_process", report_process); - updateWrapper.set ("report_process_status",report_process_status); - int i= issuesMapper.update (null,updateWrapper); - result = insert==1&&i==1; + UpdateWrapper updateWrapper = new UpdateWrapper(); + updateWrapper.eq("power_quality_problem_no", electricityQualityCheckParam.getPowerQualityProblemNo()); + updateWrapper.set("report_process", report_process); + updateWrapper.set("report_process_status", report_process_status); + int i = issuesMapper.update(null, updateWrapper); + result = insert == 1 && i == 1; return result; } diff --git a/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/LoadTypeUserManageServiceImpl.java b/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/LoadTypeUserManageServiceImpl.java index bce24b7ad..d78e460e1 100644 --- a/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/LoadTypeUserManageServiceImpl.java +++ b/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/LoadTypeUserManageServiceImpl.java @@ -5,16 +5,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.njcn.common.config.GeneralInfo; -import com.njcn.common.pojo.constant.GeneralConstant; -import com.njcn.common.pojo.constant.OssPath; -import com.njcn.common.pojo.exception.BusinessException; +import com.njcn.oss.constant.OssPath; import com.njcn.device.pms.api.DistributionMonitorClient; -import com.njcn.huawei.obs.util.OBSUtil; -import com.njcn.minio.bo.MinIoUploadResDTO; -import com.njcn.minio.config.MinIoProperties; -import com.njcn.minio.utils.MinIoUtils; +import com.njcn.oss.utils.FileStorageUtil; import com.njcn.process.constant.Param; -import com.njcn.process.enums.ProcessResponseEnum; import com.njcn.process.mapper.LoadTypeUserManageMapper; import com.njcn.process.pojo.param.*; import com.njcn.process.pojo.po.RLoadTypeUserManage; @@ -61,16 +55,12 @@ public class LoadTypeUserManageServiceImpl implements LoadTypeUserManageService private final DeptFeignClient deptFeignClient; - @Resource - private MinIoUtils minIoUtils; - @Resource private GeneralInfo generalInfo; - @Resource - private OBSUtil obsUtil; - @Resource - private MinIoProperties minIoProperties; + private final FileStorageUtil fileStorageUtil; + + /** * 干扰源用户分页查询 @@ -111,11 +101,11 @@ public class LoadTypeUserManageServiceImpl implements LoadTypeUserManageService BeanUtils.copyProperties(rLoadTypeUserManage, rLoadTypeUserManageVO); //文件 if (rLoadTypeUserManageVO.getIFilePath() != null) { - String iFile = minIoUtils.getObjectUrl(minIoProperties.getBucket(), rLoadTypeUserManageVO.getIFilePath(), 7 * 24 * 60 * 60); + String iFile = fileStorageUtil.getFileUrl(rLoadTypeUserManageVO.getIFilePath()); rLoadTypeUserManageVO.setIFile(iFile); } if (rLoadTypeUserManageVO.getAFilePath() != null) { - String aFile = minIoUtils.getObjectUrl(minIoProperties.getBucket(), rLoadTypeUserManageVO.getAFilePath(), 7 * 24 * 60 * 60); + String aFile = fileStorageUtil.getFileUrl(rLoadTypeUserManageVO.getAFilePath()); rLoadTypeUserManageVO.setIFile(aFile); } return rLoadTypeUserManageVO; @@ -154,14 +144,7 @@ public class LoadTypeUserManageServiceImpl implements LoadTypeUserManageService MultipartFile multipartFile = loadTypeUserIUploadParam.getFile(); //文件上传到Minio服务器,存入文件名 if (Objects.nonNull(multipartFile)) { - if (generalInfo.getBusinessFileStorage() == GeneralConstant.HUAWEI_OBS) { - String fileName = OssPath.LOAD_TYPE_USER + minIoUtils.minFileName(multipartFile.getOriginalFilename()); - obsUtil.multiFileUpload(multipartFile, fileName); - rLoadTypeUserManage.setIFilePath(fileName); - } else { - MinIoUploadResDTO minIoUploadResDTO = fileToMinio(loadTypeUserIUploadParam.getFile(), OssPath.LOAD_TYPE_USER); - rLoadTypeUserManage.setIFilePath(minIoUploadResDTO.getMinFileName()); - } + rLoadTypeUserManage.setIFilePath(fileStorageUtil.uploadMultipart(multipartFile,OssPath.LOAD_TYPE_USER)); rLoadTypeUserManage.setIUploadTime(new Date()); } @@ -220,21 +203,7 @@ public class LoadTypeUserManageServiceImpl implements LoadTypeUserManageService return loadTypeUserPage.setRecords(resultList); } - /** - * 上传文件到Minio - * - * @param file 文件 - * @return 成功标记 - */ - private MinIoUploadResDTO fileToMinio(MultipartFile file, String dir) { - try { - //把名称存入数据 - MinIoUploadResDTO upload = minIoUtils.upload(file, minIoProperties.getBucket(), dir); - return upload; - } catch (Exception e) { - throw new BusinessException(ProcessResponseEnum.UPLOAD_FILE_ERROR); - } - } + /** * 上传干扰源用户入网报告 @@ -250,14 +219,7 @@ public class LoadTypeUserManageServiceImpl implements LoadTypeUserManageService MultipartFile multipartFile = loadTypeUserAUploadParam.getFile(); //文件上传到文件服务器,存入文件名 if (Objects.nonNull(multipartFile)) { - if (generalInfo.getBusinessFileStorage() == GeneralConstant.HUAWEI_OBS) { - String fileName = OssPath.LOAD_TYPE_USER + minIoUtils.minFileName(multipartFile.getOriginalFilename()); - obsUtil.multiFileUpload(multipartFile, fileName); - rLoadTypeUserManage.setIFilePath(fileName); - } else { - MinIoUploadResDTO minIoUploadResDTO = fileToMinio(loadTypeUserAUploadParam.getFile(), OssPath.LOAD_TYPE_USER); - rLoadTypeUserManage.setAFilePath(minIoUploadResDTO.getMinFileName()); - } + rLoadTypeUserManage.setAFilePath(fileStorageUtil.uploadMultipart(multipartFile,OssPath.LOAD_TYPE_USER)); rLoadTypeUserManage.setAUploadTime(new Date()); } diff --git a/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/RGeneralSurveyPlanPOServiceImpl.java b/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/RGeneralSurveyPlanPOServiceImpl.java index 4de804af4..fbec2906d 100644 --- a/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/RGeneralSurveyPlanPOServiceImpl.java +++ b/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/RGeneralSurveyPlanPOServiceImpl.java @@ -7,10 +7,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; import com.njcn.common.pojo.exception.BusinessException; -import com.njcn.minio.bo.MinIoUploadResDTO; -import com.njcn.minio.config.MinIoProperties; -import com.njcn.minio.utils.MinIoUtils; -import com.njcn.process.enums.ProcessResponseEnum; +import com.njcn.minioss.bo.MinIoUploadResDTO; +import com.njcn.oss.constant.OssPath; +import com.njcn.oss.enums.OssResponseEnum; +import com.njcn.oss.utils.FileStorageUtil; import com.njcn.process.mapper.RGeneralSurveyPlanDetailMapper; import com.njcn.process.mapper.RGeneralSurveyPlanPOMapper; import com.njcn.process.pojo.param.*; @@ -38,7 +38,6 @@ import java.util.stream.Collectors; import java.util.stream.Stream; /** - * * Description: * 接口文档访问地址:http://serverIP:port/swagger-ui.html * Date: 2022/11/11 11:24【需求编号】 @@ -47,27 +46,24 @@ import java.util.stream.Stream; * @version V1.0.0 */ @Service -public class RGeneralSurveyPlanPOServiceImpl extends MppServiceImpl implements RGeneralSurveyPlanPOService{ +public class RGeneralSurveyPlanPOServiceImpl extends MppServiceImpl implements RGeneralSurveyPlanPOService { - - private @Autowired - RGeneralSurveyPlanDetailService rGeneralSurveyPlanDetailService; - - private @Autowired - RGeneralSurveyPlanPOMapper rGeneralSurveyPlanPOMapper; - - private @Autowired - RGeneralSurveyPlanDetailMapper rGeneralSurveyPlanDetailMapper; + @Autowired + private RGeneralSurveyPlanDetailService rGeneralSurveyPlanDetailService; @Resource - private MinIoUtils minIoUtils; - - private @Autowired - DeptFeignClient deptFeignClient; - + private RGeneralSurveyPlanPOMapper rGeneralSurveyPlanPOMapper; @Resource - private MinIoProperties minIoProperties; + private RGeneralSurveyPlanDetailMapper rGeneralSurveyPlanDetailMapper; + + @Autowired + private DeptFeignClient deptFeignClient; + + @Resource + private FileStorageUtil fileStorageUtil; + + /** * @param rGeneralSurveyPlanAddParm * @Description: addPlan @@ -80,31 +76,31 @@ public class RGeneralSurveyPlanPOServiceImpl extends MppServiceImpl rGeneralSurveyPlanDetailAddParm = rGeneralSurveyPlanAddParm.getRGeneralSurveyPlanDetailAddParm ( ); - QueryWrapper queryWrapper = new QueryWrapper (); - queryWrapper.lambda ().eq (RGeneralSurveyPlanDetail::getPlanNo, rGeneralSurveyPlanAddParm.getPlanNo ()); - rGeneralSurveyPlanDetailService.remove (queryWrapper); - List rGeneralSurveyPlanDetailList = new ArrayList<> (); - rGeneralSurveyPlanDetailAddParm.forEach (temp->{ + List rGeneralSurveyPlanDetailAddParm = rGeneralSurveyPlanAddParm.getRGeneralSurveyPlanDetailAddParm(); + QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.lambda().eq(RGeneralSurveyPlanDetail::getPlanNo, rGeneralSurveyPlanAddParm.getPlanNo()); + rGeneralSurveyPlanDetailService.remove(queryWrapper); + List rGeneralSurveyPlanDetailList = new ArrayList<>(); + rGeneralSurveyPlanDetailAddParm.forEach(temp -> { RGeneralSurveyPlanDetail rGeneralSurveyPlanDetail = new RGeneralSurveyPlanDetail(); - BeanUtils.copyProperties (temp, rGeneralSurveyPlanDetail); + BeanUtils.copyProperties(temp, rGeneralSurveyPlanDetail); /*目前时间与计划开始时间,结束时间一致*/ - rGeneralSurveyPlanDetail.setGeneralSurveyStartTime (rGeneralSurveyPlanAddParm.getPlanStartTime ()); - rGeneralSurveyPlanDetail.setGeneralSurveyTime (rGeneralSurveyPlanAddParm.getPlanStartTime ()); - rGeneralSurveyPlanDetail.setGeneralSurveyEndTime (rGeneralSurveyPlanAddParm.getPlanEndTime ()); - rGeneralSurveyPlanDetail.setPlanNo (rGeneralSurveyPlanAddParm.getPlanNo ()); - rGeneralSurveyPlanDetail.setGeneralSurveyLeader(rGeneralSurveyPlanAddParm.getLeader ()); - rGeneralSurveyPlanDetailList.add (rGeneralSurveyPlanDetail); + rGeneralSurveyPlanDetail.setGeneralSurveyStartTime(rGeneralSurveyPlanAddParm.getPlanStartTime()); + rGeneralSurveyPlanDetail.setGeneralSurveyTime(rGeneralSurveyPlanAddParm.getPlanStartTime()); + rGeneralSurveyPlanDetail.setGeneralSurveyEndTime(rGeneralSurveyPlanAddParm.getPlanEndTime()); + rGeneralSurveyPlanDetail.setPlanNo(rGeneralSurveyPlanAddParm.getPlanNo()); + rGeneralSurveyPlanDetail.setGeneralSurveyLeader(rGeneralSurveyPlanAddParm.getLeader()); + rGeneralSurveyPlanDetailList.add(rGeneralSurveyPlanDetail); }); - boolean b1 = rGeneralSurveyPlanDetailService.saveOrUpdateBatchByMultiId (rGeneralSurveyPlanDetailList, 5); + boolean b1 = rGeneralSurveyPlanDetailService.saveOrUpdateBatchByMultiId(rGeneralSurveyPlanDetailList, 5); - return b&&b1; + return b && b1; } /** @@ -116,34 +112,34 @@ public class RGeneralSurveyPlanPOServiceImpl extends MppServiceImpl query(RGeneralSurveyPlanQueryParm rGeneralSurveyPlanQueryParm,List statusList ) { - IPage page = new Page<> (rGeneralSurveyPlanQueryParm.getCurrentPage(), rGeneralSurveyPlanQueryParm.getPageSize()); - IPage returnpage = new Page<> (rGeneralSurveyPlanQueryParm.getCurrentPage(), rGeneralSurveyPlanQueryParm.getPageSize()); + public IPage query(RGeneralSurveyPlanQueryParm rGeneralSurveyPlanQueryParm, List statusList) { + IPage page = new Page<>(rGeneralSurveyPlanQueryParm.getCurrentPage(), rGeneralSurveyPlanQueryParm.getPageSize()); + IPage returnpage = new Page<>(rGeneralSurveyPlanQueryParm.getCurrentPage(), rGeneralSurveyPlanQueryParm.getPageSize()); - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<> (); - if (!StringUtils.isEmpty (rGeneralSurveyPlanQueryParm.getOrgNo ())) { - List data = deptFeignClient.getDepSonIdtByDeptId (rGeneralSurveyPlanQueryParm.getOrgNo ()).getData ( ); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + if (!StringUtils.isEmpty(rGeneralSurveyPlanQueryParm.getOrgNo())) { + List data = deptFeignClient.getDepSonIdtByDeptId(rGeneralSurveyPlanQueryParm.getOrgNo()).getData(); - queryWrapper.in (RGeneralSurveyPlanPO::getOrgNo, data); + queryWrapper.in(RGeneralSurveyPlanPO::getOrgNo, data); } - if (!StringUtils.isEmpty (rGeneralSurveyPlanQueryParm. getStatus ())) { - queryWrapper.eq (RGeneralSurveyPlanPO::getStatus, rGeneralSurveyPlanQueryParm.getStatus ()); + if (!StringUtils.isEmpty(rGeneralSurveyPlanQueryParm.getStatus())) { + queryWrapper.eq(RGeneralSurveyPlanPO::getStatus, rGeneralSurveyPlanQueryParm.getStatus()); } - if (!StringUtils.isEmpty (rGeneralSurveyPlanQueryParm.getIsFileUpload ())) { - queryWrapper.eq (RGeneralSurveyPlanPO::getIsFileUpload, rGeneralSurveyPlanQueryParm.getIsFileUpload ()); + if (!StringUtils.isEmpty(rGeneralSurveyPlanQueryParm.getIsFileUpload())) { + queryWrapper.eq(RGeneralSurveyPlanPO::getIsFileUpload, rGeneralSurveyPlanQueryParm.getIsFileUpload()); } - if (!Objects.isNull (rGeneralSurveyPlanQueryParm.getPlanStartTime ())) { - queryWrapper.ge (RGeneralSurveyPlanPO::getPlanStartTime, rGeneralSurveyPlanQueryParm.getPlanStartTime ()); + if (!Objects.isNull(rGeneralSurveyPlanQueryParm.getPlanStartTime())) { + queryWrapper.ge(RGeneralSurveyPlanPO::getPlanStartTime, rGeneralSurveyPlanQueryParm.getPlanStartTime()); } - if (!Objects.isNull (rGeneralSurveyPlanQueryParm.getPlanEndTime ())) { - queryWrapper.le (RGeneralSurveyPlanPO::getPlanEndTime, rGeneralSurveyPlanQueryParm.getPlanEndTime ()); + if (!Objects.isNull(rGeneralSurveyPlanQueryParm.getPlanEndTime())) { + queryWrapper.le(RGeneralSurveyPlanPO::getPlanEndTime, rGeneralSurveyPlanQueryParm.getPlanEndTime()); } - queryWrapper.in (RGeneralSurveyPlanPO::getStatus, statusList); - queryWrapper.orderByAsc (RGeneralSurveyPlanPO::getStatus).orderByDesc (RGeneralSurveyPlanPO::getPlanCreateTime); + queryWrapper.in(RGeneralSurveyPlanPO::getStatus, statusList); + queryWrapper.orderByAsc(RGeneralSurveyPlanPO::getStatus).orderByDesc(RGeneralSurveyPlanPO::getPlanCreateTime); - List rGeneralSurveyPlanPOS = rGeneralSurveyPlanPOMapper.selectPage (page,queryWrapper).getRecords (); - if(CollectionUtils.isEmpty (rGeneralSurveyPlanPOS)){ - return returnpage; + List rGeneralSurveyPlanPOS = rGeneralSurveyPlanPOMapper.selectPage(page, queryWrapper).getRecords(); + if (CollectionUtils.isEmpty(rGeneralSurveyPlanPOS)) { + return returnpage; } //部门处理:根据部门code取名称 @@ -154,36 +150,36 @@ public class RGeneralSurveyPlanPOServiceImpl extends MppServiceImpl collect = rGeneralSurveyPlanPOS.stream ( ).map (RGeneralSurveyPlanPO::getPlanNo).collect (Collectors.toList ( )); - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<> (); - lambdaQueryWrapper.in (RGeneralSurveyPlanDetail::getPlanNo, collect); - List rGeneralSurveyPlanDetails = rGeneralSurveyPlanDetailMapper.selectList (lambdaQueryWrapper); - List rGeneralSurveyPlanVOList = new ArrayList<> (); - rGeneralSurveyPlanPOS.forEach (temp ->{ - RGeneralSurveyPlanVO rGeneralSurveyPlanVO = new RGeneralSurveyPlanVO(); - BeanUtils.copyProperties (temp, rGeneralSurveyPlanVO); - long Busbarcount = rGeneralSurveyPlanDetails.stream ( ). - filter (surveyPlanDetail -> Objects.equals (surveyPlanDetail.getPlanNo ( ), temp.getPlanNo ( ))). - map (RGeneralSurveyPlanDetail::getBusbarId).distinct ( ).count ( ); + List collect = rGeneralSurveyPlanPOS.stream().map(RGeneralSurveyPlanPO::getPlanNo).collect(Collectors.toList()); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(RGeneralSurveyPlanDetail::getPlanNo, collect); + List rGeneralSurveyPlanDetails = rGeneralSurveyPlanDetailMapper.selectList(lambdaQueryWrapper); + List rGeneralSurveyPlanVOList = new ArrayList<>(); + rGeneralSurveyPlanPOS.forEach(temp -> { + RGeneralSurveyPlanVO rGeneralSurveyPlanVO = new RGeneralSurveyPlanVO(); + BeanUtils.copyProperties(temp, rGeneralSurveyPlanVO); + long Busbarcount = rGeneralSurveyPlanDetails.stream(). + filter(surveyPlanDetail -> Objects.equals(surveyPlanDetail.getPlanNo(), temp.getPlanNo())). + map(RGeneralSurveyPlanDetail::getBusbarId).distinct().count(); - long Subcount = rGeneralSurveyPlanDetails.stream ( ). - filter (surveyPlanDetail -> Objects.equals (surveyPlanDetail.getPlanNo ( ), temp.getPlanNo ( ))). - map (RGeneralSurveyPlanDetail::getSubId).distinct ( ).count ( ); - rGeneralSurveyPlanVO.setBusCount (Busbarcount); - rGeneralSurveyPlanVO.setSubCount (Subcount); - List collect1 = rGeneralSurveyPlanDetails.stream ( ). - filter (surveyPlanDetail -> Objects.equals (surveyPlanDetail.getPlanNo ( ), temp.getPlanNo ( ))). - map (surveyPlanDetail -> { - RGeneralSurveyPlanVO.RGeneralSurveyPlanDetailVO rGeneralSurveyPlanDetailVO = new RGeneralSurveyPlanVO.RGeneralSurveyPlanDetailVO ( ); - BeanUtils.copyProperties (surveyPlanDetail, rGeneralSurveyPlanDetailVO); - return rGeneralSurveyPlanDetailVO; - }).collect (Collectors.toList ( )); + long Subcount = rGeneralSurveyPlanDetails.stream(). + filter(surveyPlanDetail -> Objects.equals(surveyPlanDetail.getPlanNo(), temp.getPlanNo())). + map(RGeneralSurveyPlanDetail::getSubId).distinct().count(); + rGeneralSurveyPlanVO.setBusCount(Busbarcount); + rGeneralSurveyPlanVO.setSubCount(Subcount); + List collect1 = rGeneralSurveyPlanDetails.stream(). + filter(surveyPlanDetail -> Objects.equals(surveyPlanDetail.getPlanNo(), temp.getPlanNo())). + map(surveyPlanDetail -> { + RGeneralSurveyPlanVO.RGeneralSurveyPlanDetailVO rGeneralSurveyPlanDetailVO = new RGeneralSurveyPlanVO.RGeneralSurveyPlanDetailVO(); + BeanUtils.copyProperties(surveyPlanDetail, rGeneralSurveyPlanDetailVO); + return rGeneralSurveyPlanDetailVO; + }).collect(Collectors.toList()); rGeneralSurveyPlanVO.setOrgName(pvTerminalTreeVOMap.get(temp.getOrgNo())); //单位名称 - rGeneralSurveyPlanVO.setRGeneralSurveyPlanDetailVOList (collect1); - rGeneralSurveyPlanVOList.add (rGeneralSurveyPlanVO); + rGeneralSurveyPlanVO.setRGeneralSurveyPlanDetailVOList(collect1); + rGeneralSurveyPlanVOList.add(rGeneralSurveyPlanVO); }); - returnpage.setRecords (rGeneralSurveyPlanVOList); + returnpage.setRecords(rGeneralSurveyPlanVOList); return returnpage; } @@ -199,25 +195,25 @@ public class RGeneralSurveyPlanPOServiceImpl extends MppServiceImpl surveyResultDownload(String planNo) { RGeneralSurveyPlanPO rGeneralSurveyPlanPO = new RGeneralSurveyPlanPO(); - rGeneralSurveyPlanPO.setPlanNo (planNo); - rGeneralSurveyPlanPO = this.selectByMultiId (rGeneralSurveyPlanPO); - String filePath = rGeneralSurveyPlanPO.getFilePath ( ); - if(StringUtils.isEmpty (filePath)){ - throw new BusinessException(ProcessResponseEnum.DOWNLOAD_FILE_ERROR); + rGeneralSurveyPlanPO.setPlanNo(planNo); + rGeneralSurveyPlanPO = this.selectByMultiId(rGeneralSurveyPlanPO); + String filePath = rGeneralSurveyPlanPO.getFilePath(); + if (StringUtils.isEmpty(filePath)) { + throw new BusinessException(OssResponseEnum.DOWNLOAD_FILE_ERROR); } - String[] split = filePath.substring (0, filePath.length ( ) - 1).split (";"); - List collect = Stream.of (split).map (temp -> { - String[] split1 = temp.split ("##"); + String[] split = filePath.substring(0, filePath.length() - 1).split(";"); + List collect = Stream.of(split).map(temp -> { + String[] split1 = temp.split("##"); String OriginalFilename = split1[1]; String minoFileName = split1[0]; - MinIoUploadResDTO dto = new MinIoUploadResDTO(OriginalFilename,minIoUtils.getObjectUrl (minIoProperties.getBucket ( ), minoFileName, 7 * 24 * 60 * 60)); - return dto ; - }).collect (Collectors.toList ( )); + MinIoUploadResDTO dto = new MinIoUploadResDTO(OriginalFilename, fileStorageUtil.getFileUrl(minoFileName)); + return dto; + }).collect(Collectors.toList()); return collect; } @@ -258,13 +254,13 @@ public class RGeneralSurveyPlanPOServiceImpl extends MppServiceImpl exportSurveyPlan(List planIdList) { - List surveyPlanExcels = new ArrayList<> (); - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<> (); - queryWrapper.in (RGeneralSurveyPlanPO::getPlanNo,planIdList); - List rGeneralSurveyPlanPOS = rGeneralSurveyPlanPOMapper.selectList (queryWrapper); - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<> (); - lambdaQueryWrapper.in (RGeneralSurveyPlanDetail::getPlanNo, planIdList); - List rGeneralSurveyPlanDetails = rGeneralSurveyPlanDetailMapper.selectList (lambdaQueryWrapper); + List surveyPlanExcels = new ArrayList<>(); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(RGeneralSurveyPlanPO::getPlanNo, planIdList); + List rGeneralSurveyPlanPOS = rGeneralSurveyPlanPOMapper.selectList(queryWrapper); + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.in(RGeneralSurveyPlanDetail::getPlanNo, planIdList); + List rGeneralSurveyPlanDetails = rGeneralSurveyPlanDetailMapper.selectList(lambdaQueryWrapper); //部门处理:根据部门code取名称 List dept = deptFeignClient.allDeptList().getData(); @@ -272,21 +268,21 @@ public class RGeneralSurveyPlanPOServiceImpl extends MppServiceImpl{ + rGeneralSurveyPlanPOS.forEach(temp -> { SurveyPlanExcel surveyPlanExcel = new SurveyPlanExcel(); - BeanUtils.copyProperties (temp, surveyPlanExcel); + BeanUtils.copyProperties(temp, surveyPlanExcel); - long Busbarcount = rGeneralSurveyPlanDetails.stream ( ). - filter (surveyPlanDetail -> Objects.equals (surveyPlanDetail.getPlanNo ( ), temp.getPlanNo ( ))). - map (RGeneralSurveyPlanDetail::getBusbarId).distinct ( ).count ( ); + long Busbarcount = rGeneralSurveyPlanDetails.stream(). + filter(surveyPlanDetail -> Objects.equals(surveyPlanDetail.getPlanNo(), temp.getPlanNo())). + map(RGeneralSurveyPlanDetail::getBusbarId).distinct().count(); - long Subcount = rGeneralSurveyPlanDetails.stream ( ). - filter (surveyPlanDetail -> Objects.equals (surveyPlanDetail.getPlanNo ( ), temp.getPlanNo ( ))). - map (RGeneralSurveyPlanDetail::getSubId).distinct ( ).count ( ); - surveyPlanExcel.setBusCount (Busbarcount); - surveyPlanExcel.setSubCount (Subcount); - surveyPlanExcel.setOrgNo (pvTerminalTreeVOMap.get (surveyPlanExcel.getOrgNo ())); - surveyPlanExcels.add (surveyPlanExcel); + long Subcount = rGeneralSurveyPlanDetails.stream(). + filter(surveyPlanDetail -> Objects.equals(surveyPlanDetail.getPlanNo(), temp.getPlanNo())). + map(RGeneralSurveyPlanDetail::getSubId).distinct().count(); + surveyPlanExcel.setBusCount(Busbarcount); + surveyPlanExcel.setSubCount(Subcount); + surveyPlanExcel.setOrgNo(pvTerminalTreeVOMap.get(surveyPlanExcel.getOrgNo())); + surveyPlanExcels.add(surveyPlanExcel); }); return surveyPlanExcels; @@ -302,8 +298,8 @@ public class RGeneralSurveyPlanPOServiceImpl extends MppServiceImpl querySurveyPlanOnQuestion(SurveyPlanQuestionQueryParm questionQueryParm) { - List rGeneralSurveyPlanDetailOnQuestionVOS = new ArrayList<> (); - rGeneralSurveyPlanDetailOnQuestionVOS =rGeneralSurveyPlanDetailMapper.querySurveyPlanOnQuestion(questionQueryParm); + List rGeneralSurveyPlanDetailOnQuestionVOS = new ArrayList<>(); + rGeneralSurveyPlanDetailOnQuestionVOS = rGeneralSurveyPlanDetailMapper.querySurveyPlanOnQuestion(questionQueryParm); return rGeneralSurveyPlanDetailOnQuestionVOS; } @@ -319,14 +315,14 @@ public class RGeneralSurveyPlanPOServiceImpl extends MppServiceImpl querySurveyPlanName(SurveyPlanQuestionQueryParm questionQueryParm) { - List data = deptFeignClient.getDepSonIdtByDeptId (questionQueryParm.getOrgNo ()).getData ( ); + List data = deptFeignClient.getDepSonIdtByDeptId(questionQueryParm.getOrgNo()).getData(); - QueryWrapper queryWrapper = new QueryWrapper<> (); - queryWrapper.select ("plan_name"). - in ("org_no", data). - eq ("DATE_FORMAT(upload_time, '%Y-%m')", new SimpleDateFormat ("yyyy-MM"). - format (questionQueryParm.getPlanStartTime ())); - List list = this.list (queryWrapper); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.select("plan_name"). + in("org_no", data). + eq("DATE_FORMAT(upload_time, '%Y-%m')", new SimpleDateFormat("yyyy-MM"). + format(questionQueryParm.getPlanStartTime())); + List list = this.list(queryWrapper); return list; } @@ -343,26 +339,12 @@ public class RGeneralSurveyPlanPOServiceImpl extends MppServiceImpl updateWrapper = new UpdateWrapper(); - updateWrapper.eq ("plan_no", rGeneralSurveyPlanChcekParm.getPlanNo ()); - updateWrapper.set ("check_comment", rGeneralSurveyPlanChcekParm.getCheckComment ()); - updateWrapper.set ("check_person",rGeneralSurveyPlanChcekParm.getCheckPerson ()); - updateWrapper.set ("status", Objects.equals ("1", rGeneralSurveyPlanChcekParm.getCheckResult ())?3:2); - result = this.update (updateWrapper); + updateWrapper.eq("plan_no", rGeneralSurveyPlanChcekParm.getPlanNo()); + updateWrapper.set("check_comment", rGeneralSurveyPlanChcekParm.getCheckComment()); + updateWrapper.set("check_person", rGeneralSurveyPlanChcekParm.getCheckPerson()); + updateWrapper.set("status", Objects.equals("1", rGeneralSurveyPlanChcekParm.getCheckResult()) ? 3 : 2); + result = this.update(updateWrapper); return result; } - /** - * 上传文件到Minio - * - * @param file 文件 - * @return 成功标记 - */ - private MinIoUploadResDTO fileToMinio(MultipartFile file) { - try { - MinIoUploadResDTO upload = minIoUtils.upload(file, minIoProperties.getBucket(), "surveyresult/"); - return upload; - } catch (Exception e) { - throw new BusinessException (ProcessResponseEnum.UPLOAD_FILE_ERROR); - } - } } diff --git a/pqs-user/user-boot/pom.xml b/pqs-user/user-boot/pom.xml index 90e79a5d8..9c3f01c77 100644 --- a/pqs-user/user-boot/pom.xml +++ b/pqs-user/user-boot/pom.xml @@ -44,11 +44,7 @@ common-swagger ${project.version} - - com.njcn - common-minio - ${project.version} - + diff --git a/pqs-user/user-boot/src/test/java/com/njcn/MinioTest.java b/pqs-user/user-boot/src/test/java/com/njcn/MinioTest.java deleted file mode 100644 index 9baa77ed6..000000000 --- a/pqs-user/user-boot/src/test/java/com/njcn/MinioTest.java +++ /dev/null @@ -1,84 +0,0 @@ -package com.njcn; - -import com.njcn.minio.config.MinIoProperties; -import com.njcn.minio.utils.MinIoUtils; -import org.apache.commons.fileupload.FileItem; -import org.apache.commons.fileupload.disk.DiskFileItemFactory; -import org.apache.commons.io.IOUtils; -import org.junit.Test; -import org.springframework.http.MediaType; -import org.springframework.web.multipart.MultipartFile; -import org.springframework.web.multipart.commons.CommonsMultipartFile; - -import javax.annotation.Resource; -import java.io.File; -import java.io.FileInputStream; -import java.io.InputStream; -import java.io.OutputStream; - -/** - * @author hongawen - * @version 1.0.0 - * @date 2022年11月02日 19:49 - */ -public class MinioTest extends BaseJunitTest { - - @Resource - private MinIoUtils minIoUtils; - - @Resource - private MinIoProperties minIoProperties; - - /*** - * 上传 - */ - @Test - public void upload() throws Exception { - String strUrl = "C:\\Users\\DELL\\Desktop\\功能测试文件\\text.json"; - File file = new File(strUrl); - MultipartFile cMultiFile = getMultipartFile(file); - System.out.println(minIoUtils.upload(cMultiFile, minIoProperties.getBucket(), "day/")); - } - - - /*** - * 删除 - */ - @Test - public void removeObject(){ - String name = "day/8D113DD5CE4B4AB2ABB5E531373E3D88.txt"; - minIoUtils.removeObject(minIoProperties.getBucket(), name); - } - - - /*** - * 根据对象名获取查看的url - */ - @Test - public void getObjectUrl(){ - String name = "day/8D113DD5CE4B4AB2ABB5E531373E3D88.txt"; - System.out.println(minIoUtils.getObjectUrl(minIoProperties.getBucket(), name, 7 * 24 * 60 * 60)); - } - - - - public static MultipartFile getMultipartFile(File file) { - FileItem item = new DiskFileItemFactory().createItem("file" - , MediaType.MULTIPART_FORM_DATA_VALUE - , true - , file.getName()); - try (InputStream input = new FileInputStream(file); - OutputStream os = item.getOutputStream()) { - // 流转移 - IOUtils.copy(input, os); - } catch (Exception e) { - throw new IllegalArgumentException("Invalid file: " + e, e); - } - - return new CommonsMultipartFile(item); - } - - - - -}