From c6230804a1d6078ed565cb855a471502675b03cd Mon Sep 17 00:00:00 2001
From: songhuangfeng123 <shf18767906695@163.com>
Date: 星期二, 09 八月 2022 18:31:39 +0800
Subject: [PATCH] 文件上传

---
 /dev/null                                                                                                                    |  122 --------------------
 safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioFile/utils/UUIDUtil.java                                       |   25 ++++
 safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioFile/controller/MinioController.java                           |   27 ++++
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/KeypointEquipmentInfoDto.java       |   10 +
 equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/KeypointEquipmentInfoServiceImpl.java |   26 ++++
 safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioFile/config/MinioConfig.java                                   |    2 
 safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioFile/service/MinioAccessService.java                           |   97 ++++++++++++++++
 7 files changed, 186 insertions(+), 123 deletions(-)

diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/KeypointEquipmentInfoDto.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/KeypointEquipmentInfoDto.java
index 1520b20..541a34e 100644
--- a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/KeypointEquipmentInfoDto.java
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/model/dto/resp/KeypointEquipmentInfoDto.java
@@ -12,6 +12,8 @@
     private Long id;
     //类型/类别外键    
     private Long equipmentTypeId;
+    //类型名称
+    private String equipmentTypeName;
     //名称    
     private String name;
     //单位部门外键    
@@ -356,4 +358,12 @@
     public void setUpdateTime(Date updateTime) {
         this.updateTime = updateTime;
     }
+
+    public String getEquipmentTypeName() {
+        return equipmentTypeName;
+    }
+
+    public void setEquipmentTypeName(String equipmentTypeName) {
+        this.equipmentTypeName = equipmentTypeName;
+    }
 }
\ No newline at end of file
diff --git a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/KeypointEquipmentInfoServiceImpl.java b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/KeypointEquipmentInfoServiceImpl.java
index b0d0434..1c87836 100644
--- a/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/KeypointEquipmentInfoServiceImpl.java
+++ b/equipment/equipment-service/src/main/java/com/gkhy/safePlatform/equipment/service/impl/KeypointEquipmentInfoServiceImpl.java
@@ -1,5 +1,6 @@
 package com.gkhy.safePlatform.equipment.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -7,6 +8,7 @@
 import com.gkhy.safePlatform.account.rpc.apimodel.AccountDepartmentService;
 import com.gkhy.safePlatform.equipment.entity.*;
 import com.gkhy.safePlatform.equipment.model.dto.req.*;
+import com.gkhy.safePlatform.equipment.repository.EquipmentTypeMngRepository;
 import com.gkhy.safePlatform.equipment.repository.KeypointEquipmentInfoRepository;
 import com.gkhy.safePlatform.equipment.service.*;
 import org.apache.dubbo.config.annotation.DubboReference;
@@ -58,6 +60,9 @@
 
     @Autowired
     private EquipmentInfoService equipmentInfoService;
+
+    @Autowired
+    private EquipmentTypeMngRepository equipmentTypeMngRepository;
 	
 	@Override
     public ResultVO queryAll(PageQuery<KeypointEquipmentInfoQueryCriteria> pageQuery) {
@@ -69,6 +74,7 @@
                 QueryHelpPlus.getPredicate(KeypointEquipmentInfo.class, pageQuery.getSearchParams()));
         List<KeypointEquipmentInfoDto> respList = BeanCopyUtils.copyBeanList(page.getRecords(), KeypointEquipmentInfoDto.class);
 
+        Set<Long> collectTypeIdSet = new HashSet();
         //获取额外信息
         respList.forEach(f->{
             //设备保养
@@ -95,6 +101,8 @@
             List<EquipmentRepairDetail> repairDetailList = equipmentRepairDetailService.queryAll(criteria2);
             f.setRepaireDetailList(repairDetailList);
 
+            // --------------------------- 获取设备设施类型管理ID-----------------------
+            collectTypeIdSet.add(f.getEquipmentTypeId());
 
             // --------------------------- 获取部门信息-----------------------
             //收集所用到的部门ID
@@ -113,6 +121,20 @@
             checkDetailList.forEach(info->{info.setTestPersonDepartmentName(depNameMap.get(info.getTestPersonDepartmentId()));});
             repairDetailList.forEach(info->{info.setRepairPersonDepartmentName(depNameMap.get(info.getRepairPersonDepartmentId()));});
         });
+
+
+        //获取设备设施类型名称
+        if(!collectTypeIdSet.isEmpty()){
+            List<EquipmentTypeMng> typeMngList = equipmentTypeMngRepository.selectList(new QueryWrapper<EquipmentTypeMng>().in("id",collectTypeIdSet));
+            Map<Long, String> typePool = new HashMap<>();
+            typeMngList.forEach(f->{
+                typePool.put(f.getId(),f.getTypeName());
+            });
+            respList.forEach(f->{
+                f.setEquipmentTypeName(typePool.get(f.getEquipmentTypeId()));
+            });
+        }
+
         return new SearchResultVO<>(
                 true,
                 pageIndex,
@@ -193,6 +215,10 @@
         checkDetailList.forEach(info->{info.setTestPersonDepartmentName(depNameMap.get(info.getTestPersonDepartmentId()));});
         repairDetailList.forEach(info->{info.setRepairPersonDepartmentName(depNameMap.get(info.getRepairPersonDepartmentId()));});
 
+        EquipmentTypeMng typeMng = equipmentTypeMngRepository.selectOne(new QueryWrapper<EquipmentTypeMng>().eq("id",infoDto.getEquipmentTypeId()));
+        if(typeMng != null){
+            infoDto.setEquipmentTypeName(typeMng.getTypeName());
+        }
         return infoDto;
     }
 
diff --git a/incident-manage/incident-manage-service/src/main/resources/config/mapper/incidentManage/AccidentWorkApproveInfoMapper.xml b/incident-manage/incident-manage-service/src/main/resources/config/mapper/incidentManage/AccidentWorkApproveInfoMapper.xml
deleted file mode 100644
index d168c06..0000000
--- a/incident-manage/incident-manage-service/src/main/resources/config/mapper/incidentManage/AccidentWorkApproveInfoMapper.xml
+++ /dev/null
@@ -1,111 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<!DOCTYPE mapper
-        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
-        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.gkhy.safePlatform.incidentManage.repository.AccidentWorkApproveInfoRepository">
-
-    <resultMap type="com.gkhy.safePlatform.incidentManage.entity.AccidentWorkApproveInfoPageDO" id="accidentWorkApproveInfoPageDOResult">
-        <id column="id" property="id" jdbcType="BIGINT"/>
-        <result column="gmt_create" property="gmtCreate"/>
-        <result column="work_name" property="workName"/>
-        <result column="title" property="title"/>
-        <result column="submit_person_id" property="submitPersonId"/>
-        <result column="approve_status" property="approveStatus"/>
-    </resultMap>
-
-
-    <select id="selectWorkApproveList" resultMap="accidentWorkApproveInfoPageDOResult">
-        select id,`work_name`,`title`,`submit_person_id`,`approve_status`,gmt_create from accident_work_approve where del_flag = 0
-        <if test="query.startTime != null "> and gmt_create <![CDATA[ >= ]]> #{query.startTime}</if>
-        <if test="query.endTime != null "> and gmt_create <![CDATA[ <= ]]> #{query.endTime}</if>
-    </select>
-
-    <insert id="addWorkApprove" parameterType="com.gkhy.safePlatform.incidentManage.entity.AccidentWorkApproveInfo"
-            keyProperty="id" useGeneratedKeys="true">
-        insert into accident_work_approve
-        <trim prefix="(" suffix=")" suffixOverrides=",">
-            <if test="id != null ">id,</if>
-            <if test="delFlag != null ">del_flag,</if>
-            <if test="gmtCreate != null ">gmt_create,</if>
-            <if test="gmtModitify != null ">gmt_moditify,</if>
-            <if test="createUid != null ">create_uid,</if>
-            <if test="updateUid != null ">update_uid,</if>
-
-            <if test="workName != null and workName != ''">work_name,</if>
-            <if test="title != null and title != ''">title,</if>
-            <if test="submitPersonId != null ">submit_person_id,</if>
-            <if test="approvePersonId != null ">approve_person_id,</if>
-            <if test="approveStatus != null ">approve_status,</if>
-            <if test="approveResult != null ">approve_result,</if>
-            <if test="approveMemo != null and approveMemo != ''">approve_memo,</if>
-            <if test="relateType != null ">relate_type,</if>
-            <if test="relateId != null ">relate_id,</if>
-            <if test="relateDesc != null and relateDesc != ''">relate_desc,</if>
-        </trim>
-        <trim prefix="values (" suffix=")" suffixOverrides=",">
-            <if test="id != null ">#{id},</if>
-            <if test="delFlag != null ">#{delFlag},</if>
-            <if test="gmtCreate != null ">#{gmtCreate},</if>
-            <if test="gmtModitify != null ">#{gmtModitify},</if>
-            <if test="createUid != null ">#{createUid},</if>
-            <if test="updateUid != null ">#{updateUid},</if>
-
-            <if test="workName != null and workName != ''">#{workName},</if>
-            <if test="title != null and title != ''">#{title},</if>
-            <if test="submitPersonId != null ">#{submitPersonId},</if>
-            <if test="approvePersonId != null ">#{approvePersonId},</if>
-            <if test="approveStatus != null ">#{approveStatus},</if>
-            <if test="approveResult != null ">#{approveResult},</if>
-            <if test="approveMemo != null and approveMemo != ''">#{approveMemo},</if>
-            <if test="relateType != null ">#{relateType},</if>
-            <if test="relateId != null ">#{relateId},</if>
-            <if test="relateDesc != null and relateDesc != ''">#{relateDesc},</if>
-        </trim>
-    </insert>
-
-    <resultMap type="com.gkhy.safePlatform.incidentManage.entity.AccidentWorkApproveInfoDetailDO"
-               id="WorkApproveInfoDetailDOResult">
-        <id column="id" property="id" jdbcType="BIGINT"/>
-        <result column="work_name" property="workName"/>
-        <result column="title" property="title"/>
-        <result column="submit_person_id" property="submitPersonId"/>
-        <result column="approve_person_id" property="approvePersonId"/>
-        <result column="approve_status" property="approveStatus"/>
-        <result column="approve_result" property="approveResult"/>
-        <result column="approve_memo" property="approveMemo"/>
-        <result column="relate_type" property="relateType"/>
-        <result column="relate_id" property="relateId"/>
-        <result column="relate_desc" property="relateDesc"/>
-    </resultMap>
-
-    <select id="selectWorkApproveById" resultMap="WorkApproveInfoDetailDOResult">
-        select id,gmt_create ,work_name,title,`submit_person_id`,`approve_person_id`,`approve_status`,approve_result,`approve_memo`,
-        `relate_type`,relate_id,`relate_desc`
-        from accident_work_approve where del_flag = 0 and id = #{id}
-    </select>
-
-    <update id="updateWorkApprove" parameterType="com.gkhy.safePlatform.incidentManage.entity.AccidentWorkApproveInfo">
-        update accident_work_approve
-        <trim prefix="SET" suffixOverrides=",">
-            <if test="gmtModitify != null ">gmt_moditify = #{gmtModitify},</if>
-            <if test="updateUid != null ">update_uid = #{updateUid},</if>
-
-            <if test="workName != null and workName != ''">work_name = #{workName},</if>
-            <if test="title != null and title != ''">title = #{title},</if>
-            <if test="submitPersonId != null ">submit_person_id = #{submitPersonId},</if>
-            <if test="approvePersonId != null ">approve_person_id = #{approvePersonId},</if>
-            <if test="approveStatus != null ">approve_status = #{approveStatus},</if>
-            <if test="approveResult != null ">approve_result = #{approveResult},</if>
-            <if test="approveMemo != null and approveMemo != ''">approve_memo = #{approveMemo},</if>
-            <if test="relateType != null ">relate_type = #{relateType},</if>
-            <if test="relateId != null ">relate_id = #{relateId},</if>
-            <if test="relateDesc != null and relateDesc != ''">relate_desc = #{relateDesc},</if>
-        </trim>
-        where id = #{id}
-    </update>
-
-    <update id="deleteWorkApproveById">
-        update accident_work_approve set del_flag = 1 where id = #{id}
-    </update>
-
-</mapper>
diff --git a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioDemo/controller/FileController.java b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioDemo/controller/FileController.java
deleted file mode 100644
index 629a787..0000000
--- a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioDemo/controller/FileController.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.gkhy.safePlatform.minioDemo.controller;
-
-import com.gkhy.safePlatform.commons.vo.ResultVO;
-import com.gkhy.safePlatform.minioDemo.service.FileService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.servlet.http.HttpServletResponse;
-
-
-@RestController
-@RequestMapping(value = "/file")
-public class FileController {
-
-    @Autowired
-    private FileService fileService;
-
-    @RequestMapping(value = "/upload",method = RequestMethod.POST)
-    public ResultVO uploadFile(@RequestParam MultipartFile file , @RequestParam Integer moduleType){
-        return fileService.uploadFile(file,moduleType);
-    }
-
-    @RequestMapping(value = "/download",method = RequestMethod.GET)
-    public void downloadFile(String fileName,HttpServletResponse response){
-        fileService.downloadFile(fileName,response);
-    }
-}
diff --git a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioDemo/enums/ModuleTypeEnums.java b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioDemo/enums/ModuleTypeEnums.java
deleted file mode 100644
index d8207c1..0000000
--- a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioDemo/enums/ModuleTypeEnums.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package com.gkhy.safePlatform.minioDemo.enums;
-
-public enum ModuleTypeEnums {
-
-    EMERGENCY(1,"emergency"),
-    EQUIPMENT(2,"equipment"),
-    GOAL_MANAGE(3,"goal-manage"),
-    INCIDENT_MANAGE(4,"incident-manage");
-
-    private Integer moduleNo;
-
-    private String moduleName;
-
-    public Integer getModuleNo() {
-        return moduleNo;
-    }
-
-    public void setModuleNo(Integer moduleNo) {
-        this.moduleNo = moduleNo;
-    }
-
-    public String getModuleName() {
-        return moduleName;
-    }
-
-    public void setModuleName(String moduleName) {
-        this.moduleName = moduleName;
-    }
-
-    ModuleTypeEnums(Integer moduleNo, String moduleName) {
-        this.moduleNo = moduleNo;
-        this.moduleName = moduleName;
-    }
-
-    public static ModuleTypeEnums getReviewStatus(Integer moduleNo) {
-        for (ModuleTypeEnums reviewStatus : ModuleTypeEnums.values()) {
-            if (reviewStatus.getModuleNo().equals(moduleNo)) {
-                return reviewStatus;
-            }
-        }
-        return null;
-    }
-}
diff --git a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioDemo/service/FileService.java b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioDemo/service/FileService.java
deleted file mode 100644
index de006c3..0000000
--- a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioDemo/service/FileService.java
+++ /dev/null
@@ -1,155 +0,0 @@
-package com.gkhy.safePlatform.minioDemo.service;
-
-import com.gkhy.safePlatform.commons.enums.ResultCodes;
-import com.gkhy.safePlatform.commons.vo.ResultVO;
-import com.gkhy.safePlatform.minioDemo.config.MinioConfig;
-import com.gkhy.safePlatform.minioDemo.enums.ModuleTypeEnums;
-import com.gkhy.safePlatform.minioDemo.utils.FileUtil;
-import io.minio.GetPresignedObjectUrlArgs;
-import io.minio.MinioClient;
-import io.minio.errors.*;
-import io.minio.http.Method;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.annotation.Resource;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.InputStream;
-import java.security.InvalidKeyException;
-import java.security.NoSuchAlgorithmException;
-import java.text.SimpleDateFormat;
-import java.util.*;
-
-import static com.gkhy.safePlatform.minioDemo.enums.ModuleTypeEnums.*;
-
-@Service
-public class FileService {
-
-    @Resource
-    private MinioConfig minioConfig;
-
-    @Autowired
-    private MinioClient minioClient;
-
-    @Resource
-    private FileUtil fileUtil;
-
-    /**
-     * 文件下载
-     * @param fileName
-     * @param response
-     */
-    public void downloadFile(String fileName, HttpServletResponse response) {
-        fileUtil.downloadFile(fileName,response);
-    }
-
-    /**
-     * 文件上传
-     * @param file
-     * @param moduleType
-     * @return
-     */
-    public ResultVO<String> uploadFile(MultipartFile file, Integer moduleType) {
-        String url = "";
-        String moduleName = initModuleName(moduleType);
-
-        // 文件名转换
-        String time = new SimpleDateFormat("yyyyMMdd").format(new Date());
-        String fileSuffixName = Objects.requireNonNull(file.getOriginalFilename()).substring(file.getOriginalFilename().lastIndexOf(".")+1);
-        String fileName = moduleName + "/" + time + "_" + initUUID()+"."+fileSuffixName;
-        try {
-            url=fileUtil.upload(file, fileName);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-        return new ResultVO<>(ResultCodes.OK, url);
-    }
-
-    /**
-     * 模块名称转换
-     */
-    private String initModuleName(Integer moduleType){
-        String moduleName = "";
-        ModuleTypeEnums moduleTypeEnums = ModuleTypeEnums.getReviewStatus(moduleType);
-        assert moduleTypeEnums != null;
-        switch (moduleTypeEnums) {
-            case EMERGENCY:
-                moduleName = EMERGENCY.getModuleName();
-                break;
-            case EQUIPMENT:
-                moduleName = EQUIPMENT.getModuleName();
-                break;
-            case GOAL_MANAGE:
-                moduleName = GOAL_MANAGE.getModuleName();
-                break;
-            case INCIDENT_MANAGE:
-                moduleName = INCIDENT_MANAGE.getModuleName();
-                break;
-            default:
-                break;
-        }
-        return moduleName;
-    }
-
-    /**
-     * 生成8位UUID
-     */
-    private String initUUID() {
-        String[] chars = new String[]{"a", "b", "c", "d", "e", "f",
-                "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s",
-                "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5",
-                "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I",
-                "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V",
-                "W", "X", "Y", "Z"};
-        StringBuffer shortBuffer = new StringBuffer();
-        String uuid = UUID.randomUUID().toString().replace("-", "");
-        for (int i = 0; i < 8; i++) {
-            String str = uuid.substring(i * 4, i * 4 + 4);
-            int x = Integer.parseInt(str, 16);
-            shortBuffer.append(chars[x % 0x3E]);
-        }
-        return shortBuffer.toString();
-    }
-
-
-
-
-
-    public String getPutUrl(String objName) {
-        String url = null;
-        try {
-            Map<String, String> reqParams = new HashMap<>();
-            reqParams.put("response-content-type", "application/json");
-            url = minioClient.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder()
-                    .method(Method.PUT)
-                    .bucket(minioConfig.getBucketName())
-                    .object(objName)
-                    .expiry(60 * 2)
-                    .extraQueryParams(reqParams)
-                    .build());
-        } catch (ErrorResponseException e) {
-            e.printStackTrace();
-        } catch (InsufficientDataException e) {
-            e.printStackTrace();
-        } catch (InternalException e) {
-            e.printStackTrace();
-        } catch (InvalidKeyException e) {
-            e.printStackTrace();
-        } catch (InvalidResponseException e) {
-            e.printStackTrace();
-        } catch (IOException e) {
-            e.printStackTrace();
-        } catch (NoSuchAlgorithmException e) {
-            e.printStackTrace();
-        } catch (XmlParserException e) {
-            e.printStackTrace();
-        } catch (ServerException e) {
-            e.printStackTrace();
-        }
-        return url;
-    }
-
-
-}
diff --git a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioDemo/utils/FileUtil.java b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioDemo/utils/FileUtil.java
deleted file mode 100644
index 2036414..0000000
--- a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioDemo/utils/FileUtil.java
+++ /dev/null
@@ -1,122 +0,0 @@
-package com.gkhy.safePlatform.minioDemo.utils;
-
-import com.gkhy.safePlatform.minioDemo.config.MinioConfig;
-import com.sun.org.apache.regexp.internal.RE;
-import io.minio.*;
-import io.minio.MinioClient;
-import io.minio.errors.*;
-import io.minio.http.Method;
-import lombok.SneakyThrows;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.annotation.Resource;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.charset.StandardCharsets;
-import java.security.InvalidKeyException;
-import java.security.NoSuchAlgorithmException;
-
-@Configuration
-public class FileUtil {
-
-    @Resource
-    private MinioConfig minioConfig;
-
-    @Autowired
-    private MinioClient minioClient;
-
-
-    /**
-     * 文件下载
-     * @param fileName
-     * @param response
-     */
-    public void downloadFile(String fileName, HttpServletResponse response) {
-        try {
-            InputStream file = minioClient.getObject(GetObjectArgs.builder()
-                    .bucket(minioConfig.getBucketName())
-                    .object(fileName)
-                    .build());
-            String filename = new String(fileName.getBytes("ISO8859-1"), StandardCharsets.UTF_8);
-            response.setHeader("Content-Disposition", "attachment;filename=" + filename);
-            ServletOutputStream servletOutputStream = response.getOutputStream();
-            int len;
-            byte[] buffer = new byte[1024];
-            while ((len = file.read(buffer)) > 0) {
-                servletOutputStream.write(buffer, 0, len);
-            }
-            servletOutputStream.flush();
-            file.close();
-            servletOutputStream.close();
-        } catch (ErrorResponseException e) {
-            e.printStackTrace();
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-    }
-
-
-    /**
-     * 文件上传
-     *
-     * @param file       文件
-     * @param fileName   存储的文件名称
-     */
-    public String upload(MultipartFile file, String fileName) {
-        String url;
-        try {
-            PutObjectArgs objectArgs = PutObjectArgs.builder()
-                    .bucket(minioConfig.getBucketName())
-                    .object(fileName)
-                    .stream(file.getInputStream(), file.getSize(), -1)
-                    .contentType(file.getContentType())
-                    .build();
-            //文件名称相同会覆盖
-            minioClient.putObject(objectArgs);
-            url = getFileUrl(fileName);
-        } catch (Exception e) {
-            e.printStackTrace();
-            url = "";
-        }
-        return url;
-    }
-
-    /**
-     * 文件访问路径
-     *
-     * @param objectName 存储桶里的对象名称
-     * expiry :链接失效时间,秒为单位
-     * @return
-     */
-    public String getFileUrl(String objectName) {
-        String url = null;
-        try {
-            url = minioClient.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder()
-                    .method(Method.GET)
-                    .bucket(minioConfig.getBucketName())
-                    .object(objectName)
-                    .expiry(60).build());
-        } catch (ErrorResponseException | InsufficientDataException | InternalException | InvalidKeyException | InvalidResponseException | IOException | NoSuchAlgorithmException | XmlParserException | ServerException e) {
-            e.printStackTrace();
-        }
-        return url;
-    }
-
-
-    /**
-     * 检查存储桶是否存在
-     *
-     * @return
-     */
-    @SneakyThrows
-    public boolean bucketCheck() {
-        boolean flag = minioClient.bucketExists(BucketExistsArgs.builder()
-                .bucket(minioConfig.getBucketName()).build());
-        return flag;
-    }
-
-}
diff --git a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioDemo/config/MinioConfig.java b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioFile/config/MinioConfig.java
similarity index 97%
rename from safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioDemo/config/MinioConfig.java
rename to safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioFile/config/MinioConfig.java
index ebfc4cb..25d2621 100644
--- a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioDemo/config/MinioConfig.java
+++ b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioFile/config/MinioConfig.java
@@ -1,4 +1,4 @@
-package com.gkhy.safePlatform.minioDemo.config;
+package com.gkhy.safePlatform.minioFile.config;
 
 import io.minio.MinioClient;
 import org.springframework.boot.context.properties.ConfigurationProperties;
diff --git a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioFile/controller/MinioController.java b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioFile/controller/MinioController.java
new file mode 100644
index 0000000..d95e90b
--- /dev/null
+++ b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioFile/controller/MinioController.java
@@ -0,0 +1,27 @@
+package com.gkhy.safePlatform.minioFile.controller;
+
+import com.gkhy.safePlatform.minioFile.service.MinioAccessService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+
+@RestController
+@RequestMapping(value = "/minio/file")
+public class MinioController {
+
+    @Autowired
+    private MinioAccessService minioAccessService;
+
+    @RequestMapping(value = "/view",method = RequestMethod.GET)
+    public Object viewFile(String obj){
+        return minioAccessService.viewFile(obj);
+    }
+
+    @RequestMapping(value = "/presign",method = RequestMethod.GET)
+    public Object getPresignUrl(String prefixName,String suffixName){
+        return minioAccessService.getPresignUrl(prefixName,suffixName);
+    }
+}
+
diff --git a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioFile/service/MinioAccessService.java b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioFile/service/MinioAccessService.java
new file mode 100644
index 0000000..2bc51f6
--- /dev/null
+++ b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioFile/service/MinioAccessService.java
@@ -0,0 +1,97 @@
+package com.gkhy.safePlatform.minioFile.service;
+
+import com.gkhy.safePlatform.minioFile.config.MinioConfig;
+import com.gkhy.safePlatform.minioFile.utils.UUIDUtil;
+import io.minio.GetPresignedObjectUrlArgs;
+import io.minio.MinioClient;
+import io.minio.errors.*;
+import io.minio.http.Method;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.io.IOException;
+import java.security.InvalidKeyException;
+import java.security.NoSuchAlgorithmException;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+@Service
+public class MinioAccessService {
+
+    @Resource
+    private MinioConfig minioConfig;
+
+    @Autowired
+    private MinioClient minioClient;
+
+    public String viewFile(String objectName){
+        String url = null;
+        try {
+            url = minioClient.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder()
+                    .method(Method.GET)
+                    .bucket(minioConfig.getBucketName())
+                    .object(objectName)
+                    .expiry(60).build());
+        } catch (ErrorResponseException e) {
+            e.printStackTrace();
+        } catch (InsufficientDataException e) {
+            e.printStackTrace();
+        } catch (InternalException e) {
+            e.printStackTrace();
+        } catch (InvalidKeyException e) {
+            e.printStackTrace();
+        } catch (InvalidResponseException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        } catch (NoSuchAlgorithmException e) {
+            e.printStackTrace();
+        } catch (XmlParserException e) {
+            e.printStackTrace();
+        } catch (ServerException e) {
+            e.printStackTrace();
+        }
+        return url;
+    }
+
+    public String getPresignUrl(String prefixName ,String suffixName){
+        String  uuid= UUIDUtil.initUUID();
+        String objName = prefixName+uuid+suffixName;
+        String url = null;
+        try {
+            Map<String, String> reqParams = new HashMap<>();
+            reqParams.put("response-content-type", "application/json");
+            url = minioClient.getPresignedObjectUrl(GetPresignedObjectUrlArgs.builder()
+                    .method(Method.PUT)
+                    .bucket(minioConfig.getBucketName())
+                    .object(objName)
+                    .expiry(60*2)
+                    .extraQueryParams(reqParams)
+                    .build());
+        } catch (ErrorResponseException e) {
+            e.printStackTrace();
+        } catch (InsufficientDataException e) {
+            e.printStackTrace();
+        } catch (InternalException e) {
+            e.printStackTrace();
+        } catch (InvalidKeyException e) {
+            e.printStackTrace();
+        } catch (InvalidResponseException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        } catch (NoSuchAlgorithmException e) {
+            e.printStackTrace();
+        } catch (XmlParserException e) {
+            e.printStackTrace();
+        } catch (ServerException e) {
+            e.printStackTrace();
+        }
+        return url;
+    }
+
+
+
+}
diff --git a/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioFile/utils/UUIDUtil.java b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioFile/utils/UUIDUtil.java
new file mode 100644
index 0000000..a8737d4
--- /dev/null
+++ b/safePlatfrom-out-web/src/main/java/com/gkhy/safePlatform/minioFile/utils/UUIDUtil.java
@@ -0,0 +1,25 @@
+package com.gkhy.safePlatform.minioFile.utils;
+
+import java.util.UUID;
+
+public class UUIDUtil {
+    /**
+     * 生成8位UUID
+     */
+    public static String initUUID() {
+        String[] chars = new String[]{"a", "b", "c", "d", "e", "f",
+                "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s",
+                "t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5",
+                "6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I",
+                "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V",
+                "W", "X", "Y", "Z"};
+        StringBuffer shortBuffer = new StringBuffer();
+        String uuid = UUID.randomUUID().toString().replace("-", "");
+        for (int i = 0; i < 8; i++) {
+            String str = uuid.substring(i * 4, i * 4 + 4);
+            int x = Integer.parseInt(str, 16);
+            shortBuffer.append(chars[x % 0x3E]);
+        }
+        return shortBuffer.toString();
+    }
+}

--
Gitblit v1.9.2