Bläddra i källkod

file-service
1.删除 com.aliyun.oss 依赖和相关功能
2.删除 StoreConfig 及其相关功能

reghao 5 månader sedan
förälder
incheckning
5904c1a7d4
23 ändrade filer med 13 tillägg och 673 borttagningar
  1. 0 11
      file/file-service/pom.xml
  2. 0 25
      file/file-service/src/main/java/cn/reghao/tnb/file/app/config/AppProperties.java
  3. 0 42
      file/file-service/src/main/java/cn/reghao/tnb/file/app/config/OssConsoleClientFactory.java
  4. 1 28
      file/file-service/src/main/java/cn/reghao/tnb/file/app/config/SpringLifecycle.java
  5. 4 14
      file/file-service/src/main/java/cn/reghao/tnb/file/app/controller/AdminFileController.java
  6. 0 46
      file/file-service/src/main/java/cn/reghao/tnb/file/app/controller/AliyunController.java
  7. 0 14
      file/file-service/src/main/java/cn/reghao/tnb/file/app/db/mapper/StoreConfigMapper.java
  8. 0 17
      file/file-service/src/main/java/cn/reghao/tnb/file/app/model/dto/GetSignedUrl.java
  9. 1 0
      file/file-service/src/main/java/cn/reghao/tnb/file/app/model/po/JobDetail.java
  10. 1 0
      file/file-service/src/main/java/cn/reghao/tnb/file/app/model/po/Order.java
  11. 0 41
      file/file-service/src/main/java/cn/reghao/tnb/file/app/model/po/StoreConfig.java
  12. 0 21
      file/file-service/src/main/java/cn/reghao/tnb/file/app/model/vo/StsToken.java
  13. 2 11
      file/file-service/src/main/java/cn/reghao/tnb/file/app/rpc/FileServiceImpl.java
  14. 0 2
      file/file-service/src/main/java/cn/reghao/tnb/file/app/rpc/JobServiceImpl.java
  15. 0 42
      file/file-service/src/main/java/cn/reghao/tnb/file/app/rpc/StoreConfigServiceImpl.java
  16. 4 6
      file/file-service/src/main/java/cn/reghao/tnb/file/app/rpc/StoreServiceWrapperRouter.java
  17. 0 118
      file/file-service/src/main/java/cn/reghao/tnb/file/app/service/AliyunOss.java
  18. 0 89
      file/file-service/src/main/java/cn/reghao/tnb/file/app/service/AliyunService.java
  19. 0 21
      file/file-service/src/main/java/cn/reghao/tnb/file/app/service/StoreConfigService.java
  20. 0 2
      file/file-service/src/main/resources/application.yml
  21. 0 29
      file/file-service/src/main/resources/mapper/StoreConfigMapper.xml
  22. 0 64
      file/file-service/src/test/java/AliyunTest.java
  23. 0 30
      file/file-service/src/test/java/FileTest.java

+ 0 - 11
file/file-service/pom.xml

@@ -99,17 +99,6 @@
             <version>2.1.1</version>
         </dependency>
 
-        <dependency>
-            <groupId>com.aliyun.oss</groupId>
-            <artifactId>aliyun-sdk-oss</artifactId>
-            <version>3.8.0</version>
-        </dependency>
-        <dependency>
-            <groupId>com.aliyun</groupId>
-            <artifactId>sts20150401</artifactId>
-            <version>1.1.4</version>
-        </dependency>
-
         <dependency>
             <groupId>org.springframework.cloud</groupId>
             <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>

+ 0 - 25
file/file-service/src/main/java/cn/reghao/tnb/file/app/config/AppProperties.java

@@ -1,25 +0,0 @@
-package cn.reghao.tnb.file.app.config;
-
-import cn.reghao.tnb.file.app.model.constant.OssType;
-import lombok.Getter;
-import lombok.Setter;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * @author reghao
- * @date 2024-11-13 15:09:54
- */
-@Configuration
-@ConfigurationProperties(prefix = "app")
-@Setter
-@Getter
-public class AppProperties {
-    private Integer ossType;
-    //private String siteAddress;
-    //private Integer avatarChannelCode;
-
-    public AppProperties() {
-        this.ossType = OssType.localOss.getCode();
-    }
-}

+ 0 - 42
file/file-service/src/main/java/cn/reghao/tnb/file/app/config/OssConsoleClientFactory.java

@@ -1,42 +0,0 @@
-package cn.reghao.tnb.file.app.config;
-
-import cn.reghao.tnb.file.app.model.po.StoreConfig;
-import org.springframework.stereotype.Component;
-
-/**
- * @author reghao
- * @date 2024-02-24 17:41:42
- */
-//@Component
-public class OssConsoleClientFactory {
-    /*private OssConsoleClient ossConsoleClient;
-    private OssConsoleConfig ossConsoleConfig;*/
-
-    public void init(StoreConfig storeConfig) {
-        String endpoint = storeConfig.getEndpoint();
-        String accessKeyId = storeConfig.getAccessKeyId();
-        String accessKeySecret = storeConfig.getAccessKeySecret();
-        //this.ossConsoleConfig = new OssConsoleConfig(endpoint, accessKeyId, accessKeySecret);
-    }
-
-    /*public OssConsoleClient getOssConsoleClient() throws Exception {
-        if (ossConsoleClient == null) {
-            ossConsoleClient = get();
-            if (ossConsoleClient == null) {
-                throw new Exception("OssConsoleClient is null");
-            }
-        }
-
-        return ossConsoleClient;
-    }
-
-    private OssConsoleClient get() {
-        try {
-            return new OssConsoleClient(ossConsoleConfig);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-
-        return null;
-    }*/
-}

+ 1 - 28
file/file-service/src/main/java/cn/reghao/tnb/file/app/config/SpringLifecycle.java

@@ -1,10 +1,5 @@
 package cn.reghao.tnb.file.app.config;
 
-import cn.reghao.tnb.file.app.service.AliyunOss;
-import cn.reghao.tnb.file.app.service.AliyunService;
-import cn.reghao.tnb.file.app.db.mapper.StoreConfigMapper;
-import cn.reghao.tnb.file.app.model.constant.OssType;
-import cn.reghao.tnb.file.app.model.po.StoreConfig;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.DisposableBean;
 import org.springframework.boot.ApplicationArguments;
@@ -18,33 +13,11 @@ import org.springframework.stereotype.Component;
 @Slf4j
 @Component
 public class SpringLifecycle implements ApplicationRunner, DisposableBean {
-    private final AppProperties appProperties;
-    private final StoreConfigMapper storeConfigMapper;
-    private OssConsoleClientFactory ossConsoleClientFactory;
-    private final AliyunOss aliyunOss;
-    private final AliyunService aliyunService;
-
-    public SpringLifecycle(AppProperties appProperties, StoreConfigMapper storeConfigMapper,
-                           AliyunOss aliyunOss, AliyunService aliyunService) {
-        this.appProperties = appProperties;
-        this.storeConfigMapper = storeConfigMapper;
-        this.aliyunOss = aliyunOss;
-        this.aliyunService = aliyunService;
+    public SpringLifecycle() {
     }
 
     @Override
     public void run(ApplicationArguments args) throws Exception {
-        int ossType = appProperties.getOssType();
-        StoreConfig storeConfig = storeConfigMapper.findByOssType(ossType);
-        if (ossType == OssType.localOss.getCode()) {
-            //ossConsoleClientFactory.init(storeConfig);
-        } else if (ossType == OssType.aliyunOss.getCode()) {
-            aliyunOss.init(storeConfig);
-        } else {
-            StoreConfig storeConfig1 = storeConfigMapper.findByOssType(OssType.aliyunOss.getCode());
-            aliyunOss.init(storeConfig1);
-            aliyunService.init(aliyunOss, storeConfig);
-        }
         log.info("FileService 启动...");
     }
 

+ 4 - 14
file/file-service/src/main/java/cn/reghao/tnb/file/app/controller/AdminFileController.java

@@ -1,8 +1,6 @@
 package cn.reghao.tnb.file.app.controller;
 
 import cn.reghao.jutil.web.WebResult;
-import cn.reghao.tnb.file.app.model.po.StoreConfig;
-import cn.reghao.tnb.file.app.service.StoreConfigService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import org.springframework.http.MediaType;
@@ -19,23 +17,15 @@ import java.util.List;
 @RestController
 @RequestMapping("/api/admin/file")
 public class AdminFileController {
-    private final StoreConfigService storeConfigService;
-
-    public AdminFileController(StoreConfigService storeConfigService) {
-        this.storeConfigService = storeConfigService;
-    }
-
-    @Operation(summary = "添加文件存储配置", description = "N")
+    @Operation(summary = "", description = "N")
     @PostMapping(value = "/file_store", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String addSiteConfig(@RequestBody @Validated StoreConfig storeConfig) {
-        storeConfigService.addStoreConfig(storeConfig);
+    public String addSiteConfig() {
         return WebResult.success();
     }
 
-    @Operation(summary = "文件存储配置列表", description = "N")
+    @Operation(summary = "", description = "N")
     @GetMapping(value = "/file_store", produces = MediaType.APPLICATION_JSON_VALUE)
     public String siteConfigPage() {
-        List<StoreConfig> list = storeConfigService.getStoreConfigs();
-        return WebResult.success(list);
+        return WebResult.success();
     }
 }

+ 0 - 46
file/file-service/src/main/java/cn/reghao/tnb/file/app/controller/AliyunController.java

@@ -1,46 +0,0 @@
-package cn.reghao.tnb.file.app.controller;
-
-import cn.reghao.jutil.web.WebResult;
-import cn.reghao.tnb.common.auth.AuthUser;
-import cn.reghao.tnb.file.app.model.dto.GetSignedUrl;
-import cn.reghao.tnb.file.app.model.vo.StsToken;
-import cn.reghao.tnb.file.app.service.AliyunService;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import io.swagger.v3.oas.annotations.Operation;
-import org.springframework.http.MediaType;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @author reghao
- * @date 2024-08-30 14:31:14
- */
-@Tag(name = "阿里云接口")
-@RestController
-@RequestMapping("/api/file/aliyun")
-public class AliyunController {
-    private final AliyunService aliyunService;
-
-    public AliyunController(AliyunService aliyunService) {
-        this.aliyunService = aliyunService;
-    }
-
-    @AuthUser
-    @Operation(summary = "获取阿里云 sts token", description = "N")
-    @PostMapping(value = "/sts_token", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String getUploadStore() {
-        StsToken stsToken = aliyunService.getStsToken();
-        return WebResult.success(stsToken);
-    }
-
-    @AuthUser
-    @Operation(summary = "获取阿里云 oss 签名 url", description = "N")
-    @PostMapping(value = "/signed_url", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String getSignedUrl(@RequestBody @Validated GetSignedUrl getSignedUrl) {
-        String signedUrl = aliyunService.getSignedUrl(getSignedUrl.getObjectName());
-        return WebResult.success(signedUrl);
-    }
-}

+ 0 - 14
file/file-service/src/main/java/cn/reghao/tnb/file/app/db/mapper/StoreConfigMapper.java

@@ -1,14 +0,0 @@
-package cn.reghao.tnb.file.app.db.mapper;
-
-import cn.reghao.jutil.jdk.db.BaseMapper;
-import cn.reghao.tnb.file.app.model.po.StoreConfig;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * @author reghao
- * @date 2024-09-09 11:31:04
- */
-@Mapper
-public interface StoreConfigMapper extends BaseMapper<StoreConfig> {
-    StoreConfig findByOssType(int ossType);
-}

+ 0 - 17
file/file-service/src/main/java/cn/reghao/tnb/file/app/model/dto/GetSignedUrl.java

@@ -1,17 +0,0 @@
-package cn.reghao.tnb.file.app.model.dto;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import javax.validation.constraints.NotBlank;
-
-/**
- * @author reghao
- * @date 2024-08-30 17:06:36
- */
-@Setter
-@Getter
-public class GetSignedUrl {
-    @NotBlank
-    private String objectName;
-}

+ 1 - 0
file/file-service/src/main/java/cn/reghao/tnb/file/app/model/po/JobDetail.java

@@ -17,6 +17,7 @@ import java.time.LocalDateTime;
 @NoArgsConstructor
 @Setter
 @Getter
+@Deprecated
 public class JobDetail extends BaseObject<Integer> {
     private Long jobId;
     private String jobName;

+ 1 - 0
file/file-service/src/main/java/cn/reghao/tnb/file/app/model/po/Order.java

@@ -17,6 +17,7 @@ import lombok.Setter;
 @AllArgsConstructor
 @Setter
 @Getter
+@Deprecated
 public class Order extends BaseObject<Integer> {
     private Long orderId;
     private Long deliveryId;

+ 0 - 41
file/file-service/src/main/java/cn/reghao/tnb/file/app/model/po/StoreConfig.java

@@ -1,41 +0,0 @@
-package cn.reghao.tnb.file.app.model.po;
-
-import cn.reghao.jutil.jdk.db.BaseObject;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-import org.hibernate.validator.constraints.Length;
-
-import javax.validation.constraints.NotNull;
-
-/**
- * @author reghao
- * @date 2024-09-09 11:19:37
- */
-@NoArgsConstructor
-@Setter
-@Getter
-public class StoreConfig extends BaseObject<Integer> {
-    @NotNull(message = "ossType 不能为 null")
-    private Integer ossType;
-    @NotNull(message = "endpoint 不能为 null")
-    @Length(min = 1, max = 128, message = "")
-    private String endpoint;
-    @NotNull(message = "accessKeyId 不能为 null")
-    @Length(min = 1, max = 128, message = "")
-    private String accessKeyId;
-    @NotNull(message = "accessKeySecret 不能为 null")
-    @Length(min = 1, max = 128, message = "")
-    private String accessKeySecret;
-    private String region;
-    private String bucketName;
-    private String roleArn;
-    private String ossTypeStr;
-
-    public StoreConfig(int ossType, String endpoint, String accessKeyId, String accessKeySecret) {
-        this.ossType = ossType;
-        this.endpoint = endpoint;
-        this.accessKeyId = accessKeyId;
-        this.accessKeySecret = accessKeySecret;
-    }
-}

+ 0 - 21
file/file-service/src/main/java/cn/reghao/tnb/file/app/model/vo/StsToken.java

@@ -1,21 +0,0 @@
-package cn.reghao.tnb.file.app.model.vo;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * @author reghao
- * @date 2024-08-30 14:33:22
- */
-@AllArgsConstructor
-@Getter
-public class StsToken {
-    private String bucket;
-    private String region;
-    private String ossUrl;
-    private String objectId;
-    private String accessKeyId;
-    private String accessKeySecret;
-    private String expiration;
-    private String securityToken;
-}

+ 2 - 11
file/file-service/src/main/java/cn/reghao/tnb/file/app/rpc/FileServiceImpl.java

@@ -3,13 +3,6 @@ package cn.reghao.tnb.file.app.rpc;
 import cn.reghao.file.api.dto.JobInfo;
 import cn.reghao.file.api.iface.FileService;
 import cn.reghao.jutil.jdk.db.PageList;
-//import cn.reghao.oss.api.dto.ServerInfo;
-//import cn.reghao.oss.api.dto.media.ImageInfo;
-//import cn.reghao.oss.sdk.model.rest.UploadFileRet;
-//import cn.reghao.oss.sdk.OssConsoleClient;
-//import cn.reghao.oss.sdk.OssStoreClient;
-import cn.reghao.tnb.file.app.config.AppProperties;
-import cn.reghao.tnb.file.app.config.OssConsoleClientFactory;
 import cn.reghao.tnb.file.app.db.mapper.JobDetailMapper;
 import cn.reghao.tnb.file.app.model.constant.JobStatus;
 import cn.reghao.tnb.file.app.model.po.JobDetail;
@@ -32,13 +25,11 @@ import java.util.stream.Collectors;
 @DubboService
 @Service
 public class FileServiceImpl implements FileService {
-    private OssConsoleClientFactory ossConsoleClientFactory;
-    private final int ossType;
+    private final int ossType = 1;
     private final JobDetailMapper jobDetailMapper;
     private final String baseDir;
 
-    private FileServiceImpl(JobDetailMapper jobDetailMapper, AppProperties appProperties) {
-        this.ossType = appProperties.getOssType();
+    private FileServiceImpl(JobDetailMapper jobDetailMapper) {
         this.jobDetailMapper = jobDetailMapper;
         this.baseDir = System.getProperty("java.io.tmpdir");
     }

+ 0 - 2
file/file-service/src/main/java/cn/reghao/tnb/file/app/rpc/JobServiceImpl.java

@@ -5,7 +5,6 @@ import cn.reghao.jutil.tool.id.SnowFlake;
 import cn.reghao.oss.api.dto.ObjectInfo;
 import cn.reghao.tnb.content.api.iface.AdminVideoService;
 import cn.reghao.tnb.content.api.iface.MallService;
-import cn.reghao.tnb.file.app.config.OssConsoleClientFactory;
 import cn.reghao.tnb.file.app.db.mapper.JobDetailMapper;
 import cn.reghao.tnb.file.app.db.mapper.OrderMapper;
 import cn.reghao.tnb.file.app.delay.JobContext;
@@ -36,7 +35,6 @@ public class JobServiceImpl implements JobService {
 
     private final SnowFlake idGenerator;
     private final JobContext jobContext;
-    private OssConsoleClientFactory ossConsoleClientFactory;
     private final JobDetailMapper jobDetailMapper;
     private final String baseDir;
     private final OrderMapper orderMapper;

+ 0 - 42
file/file-service/src/main/java/cn/reghao/tnb/file/app/rpc/StoreConfigServiceImpl.java

@@ -1,42 +0,0 @@
-package cn.reghao.tnb.file.app.rpc;
-
-import cn.reghao.tnb.file.app.model.dto.StoreConfigInfo;
-import cn.reghao.tnb.file.app.db.mapper.StoreConfigMapper;
-import cn.reghao.tnb.file.app.model.constant.OssType;
-import cn.reghao.tnb.file.app.model.po.StoreConfig;
-import org.apache.dubbo.config.annotation.DubboService;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
- * @author reghao
- * @date 2024-11-01 10:02:43
- */
-@DubboService
-@Service
-public class StoreConfigServiceImpl {
-    private final StoreConfigMapper storeConfigMapper;
-
-    public StoreConfigServiceImpl(StoreConfigMapper storeConfigMapper) {
-        this.storeConfigMapper = storeConfigMapper;
-    }
-
-    public List<StoreConfigInfo> getStoreConfigs() {
-        List<StoreConfig> list = storeConfigMapper.findAll();
-        return list.stream().map(this::getStoreConfigInfo).collect(Collectors.toList());
-    }
-
-    private StoreConfigInfo getStoreConfigInfo(StoreConfig storeConfig) {
-        int ossType = storeConfig.getOssType();
-        String ossTypeStr = OssType.getDescByCode(ossType);
-        String endpoint = storeConfig.getEndpoint();
-        String accessKeyId = storeConfig.getAccessKeyId();
-        String accessKeySecret = storeConfig.getAccessKeySecret();
-        String region = storeConfig.getRegion();
-        String bucketName = storeConfig.getBucketName();
-        String roleArn = storeConfig.getRoleArn();
-        return new StoreConfigInfo(ossTypeStr, endpoint, accessKeyId, accessKeySecret, region, bucketName, roleArn);
-    }
-}

+ 4 - 6
file/file-service/src/main/java/cn/reghao/tnb/file/app/rpc/StoreServiceWrapperRouter.java

@@ -9,7 +9,6 @@ import cn.reghao.oss.api.dto.media.AudioInfo;
 import cn.reghao.oss.api.dto.media.ConvertedImageInfo;
 import cn.reghao.oss.api.dto.media.ImageInfo;
 import cn.reghao.oss.api.dto.media.VideoInfo;
-import cn.reghao.tnb.file.app.config.AppProperties;
 import cn.reghao.tnb.file.app.db.repository.StoreRepository;
 import cn.reghao.tnb.file.app.model.constant.OssType;
 import cn.reghao.tnb.file.app.model.po.UploadChannel;
@@ -25,17 +24,16 @@ import org.springframework.stereotype.Service;
 @DubboService
 @Service
 public class StoreServiceWrapperRouter implements OssService {
-    private final int ossType;
+    private final int ossType = 1;
     private final ConsoleService consoleService;
     private final StoreServiceWrapper storeServiceWrapper;
     private final StoreConfigService storeConfigService;
     private final StoreRepository storeRepository;
     private final UploadChannelService uploadChannelService;
 
-    public StoreServiceWrapperRouter(AppProperties appProperties, ConsoleService consoleService,
-                                     StoreServiceWrapper storeServiceWrapper, StoreConfigService storeConfigService,
-                                     StoreRepository storeRepository, UploadChannelService uploadChannelService) {
-        this.ossType = appProperties.getOssType();
+    public StoreServiceWrapperRouter(ConsoleService consoleService, StoreServiceWrapper storeServiceWrapper,
+                                     StoreConfigService storeConfigService, StoreRepository storeRepository,
+                                     UploadChannelService uploadChannelService) {
         this.consoleService = consoleService;
         this.storeServiceWrapper = storeServiceWrapper;
         this.storeConfigService = storeConfigService;

+ 0 - 118
file/file-service/src/main/java/cn/reghao/tnb/file/app/service/AliyunOss.java

@@ -1,118 +0,0 @@
-package cn.reghao.tnb.file.app.service;
-
-import cn.reghao.tnb.file.app.model.po.StoreConfig;
-import com.aliyun.oss.OSS;
-import com.aliyun.oss.OSSClientBuilder;
-import com.aliyun.oss.model.*;
-import org.springframework.stereotype.Service;
-
-import java.io.*;
-import java.net.URL;
-import java.util.Date;
-
-/**
- * @author reghao
- * @date 2024-08-30 16:13:38
- */
-@Service
-public class AliyunOss {
-    private String bucketName;
-    private OSS ossClient;
-
-    public void init(StoreConfig storeConfig) {
-        String endpoint = storeConfig.getEndpoint();
-        String accessKeyId = storeConfig.getAccessKeyId();
-        String accessKeySecret = storeConfig.getAccessKeySecret();
-        this.bucketName = storeConfig.getBucketName();
-        this.ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
-    }
-
-    public void uploadObject(String objectName, File file) throws IOException {
-        System.out.println("Uploading a new object to OSS from a file\n");
-        PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, file);
-        ObjectMetadata objectMetadata = new ObjectMetadata();
-        objectMetadata.setObjectAcl(CannedAccessControlList.PublicRead);
-        putObjectRequest.setMetadata(objectMetadata);
-        ossClient.putObject(putObjectRequest);
-    }
-
-    public void downloadObject(String objectName) throws IOException {
-        System.out.println("Downloading an object");
-        OSSObject object = ossClient.getObject(bucketName, objectName);
-        System.out.println("Content-Type: "  + object.getObjectMetadata().getContentType());
-        displayTextInputStream(object.getObjectContent());
-    }
-
-    private void displayTextInputStream(InputStream input) throws IOException {
-        BufferedReader reader = new BufferedReader(new InputStreamReader(input));
-        while (true) {
-            String line = reader.readLine();
-            if (line == null) break;
-
-            System.out.println("    " + line);
-        }
-        System.out.println();
-
-        reader.close();
-    }
-
-    public void deleteObject(String objectName) {
-        ossClient.deleteObject(bucketName, objectName);
-    }
-
-    public void listObjects(String prefix) {
-        System.out.println("Listing objects");
-        ObjectListing objectListing = ossClient.listObjects(bucketName, prefix);
-        for (OSSObjectSummary objectSummary : objectListing.getObjectSummaries()) {
-            String objectName = objectSummary.getKey();
-            long size = objectSummary.getSize();
-            if (size != 0) {
-                //deleteObject(objectName);
-            }
-
-            System.out.println(" - " + objectSummary.getKey() + "  " + "(size = " + objectSummary.getSize() + ")");
-        }
-        System.out.println();
-    }
-
-    public void close() {
-        ossClient.shutdown();
-    }
-
-    public String getSignedUrl(String objectName) {
-        int expireSecond = 3600;
-        long timestamp = System.currentTimeMillis() + expireSecond*1000L;
-        Date expiration = new Date(timestamp);
-        URL url = ossClient.generatePresignedUrl(bucketName, objectName, expiration);
-        return url.toString();
-    }
-
-    public static void main(String[] args) throws IOException {
-        /*String accessKeyId = System.getenv("ACCESS_KEY_ID");
-        String accessKeySecret = System.getenv("ACCESS_KEY_SECRET");
-        AliyunOss aliyunOss = new AliyunOss();
-        aliyunOss.init();
-
-        String objectName = "uploads/v2-283f0faab9f27a345e2e86070580e8d8_r.jpg";
-        String signedUrl = aliyunOss.getSignedUrl(objectName);
-        System.out.println(signedUrl);*/
-
-        /*String baseDir = "";
-        File dir = new File(baseDir);
-        for (File file : dir.listFiles()) {
-            if (file.isDirectory()) {
-                continue;
-            }
-
-            String filename = file.getName();
-            String objectName = String.format("%s%s", objectNamePrefix, filename);
-            uploadObject(objectName, file);
-        }*/
-
-        /*String objectName = "dev/test/1.txt";
-        File file = createSampleFile();*/
-
-        /*String objectNamePrefix = "mmexport/";
-        aliyunOss.listObjects(objectNamePrefix);*/
-    }
-}

+ 0 - 89
file/file-service/src/main/java/cn/reghao/tnb/file/app/service/AliyunService.java

@@ -1,89 +0,0 @@
-package cn.reghao.tnb.file.app.service;
-
-import cn.reghao.tnb.file.app.model.po.StoreConfig;
-import cn.reghao.tnb.file.app.model.vo.StsToken;
-import com.aliyun.sts20150401.models.AssumeRoleResponse;
-import com.aliyun.sts20150401.models.AssumeRoleResponseBody;
-import com.aliyun.tea.TeaException;
-import org.springframework.stereotype.Service;
-
-import java.util.UUID;
-
-/**
- * @author reghao
- * @date 2024-08-30 14:31:24
- */
-@Service
-public class AliyunService {
-    private AliyunOss aliyunOss;
-    private com.aliyun.sts20150401.Client stsClient;
-    private String bucket;
-    private String region;
-    private String roleArn;
-    private String ossDomain;
-    private String myDomain;
-
-    public void init(AliyunOss aliyunOss, StoreConfig storeConfig) throws Exception {
-        this.aliyunOss = aliyunOss;
-        String stsEndpoint = storeConfig.getEndpoint();
-        String accessKeyId = storeConfig.getAccessKeyId();
-        String accessKeySecret = storeConfig.getAccessKeySecret();
-        this.bucket = storeConfig.getBucketName();
-        this.region = storeConfig.getRegion();
-        this.roleArn = storeConfig.getRoleArn();
-        this.ossDomain = String.format("%s.%s.aliyuncs.com", bucket, region);
-        this.myDomain = System.getenv("MY_DOMAIN");
-
-        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
-                .setAccessKeyId(accessKeyId)
-                .setAccessKeySecret(accessKeySecret);
-        config.endpoint = stsEndpoint;
-        this.stsClient = new com.aliyun.sts20150401.Client(config);
-    }
-
-    public StsToken getStsToken() {
-        com.aliyun.sts20150401.models.AssumeRoleRequest assumeRoleRequest = new com.aliyun.sts20150401.models.AssumeRoleRequest();
-        assumeRoleRequest.setRoleArn(roleArn);
-        assumeRoleRequest.setRoleSessionName("role_session_test");
-        com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
-        try {
-            // 复制代码运行请自行打印 API 的返回值
-            AssumeRoleResponse roleResponse = stsClient.assumeRoleWithOptions(assumeRoleRequest, runtime);
-            AssumeRoleResponseBody.AssumeRoleResponseBodyCredentials credentials = roleResponse.getBody().getCredentials();
-            String accessKeyId = credentials.getAccessKeyId();
-            String accessKeySecret = credentials.getAccessKeySecret();
-            String expiration = credentials.getExpiration();
-            String securityToken = credentials.getSecurityToken();
-
-            String ossUrl = String.format("http://%s.%s.aliyuncs.com/", bucket, region);
-            String objectId = UUID.randomUUID().toString().replace("-", "");
-            return new StsToken(bucket, region, ossUrl, objectId, accessKeyId, accessKeySecret, expiration, securityToken);
-        } catch (TeaException error) {
-            // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
-            // 错误 message
-            System.out.println(error.getMessage());
-            // 诊断地址
-            System.out.println(error.getData().get("Recommend"));
-            com.aliyun.teautil.Common.assertAsString(error.message);
-        } catch (Exception _error) {
-            TeaException error = new TeaException(_error.getMessage(), _error);
-            // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
-            // 错误 message
-            System.out.println(error.getMessage());
-            // 诊断地址
-            System.out.println(error.getData().get("Recommend"));
-            com.aliyun.teautil.Common.assertAsString(error.message);
-        }
-
-        return null;
-    }
-
-    public String getSignedUrl(String objectName) {
-        String signedUrl = aliyunOss.getSignedUrl(objectName);
-        if (signedUrl != null) {
-            return signedUrl.replace(ossDomain, myDomain);
-        }
-
-        return null;
-    }
-}

+ 0 - 21
file/file-service/src/main/java/cn/reghao/tnb/file/app/service/StoreConfigService.java

@@ -2,15 +2,10 @@ package cn.reghao.tnb.file.app.service;
 
 import cn.reghao.tnb.account.api.iface.AccountQuery;
 import cn.reghao.tnb.common.auth.AccountRole;
-import cn.reghao.tnb.file.app.db.mapper.StoreConfigMapper;
-import cn.reghao.tnb.file.app.model.constant.OssType;
-import cn.reghao.tnb.file.app.model.po.StoreConfig;
 import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
 
-import java.util.List;
-
 /**
  * @author reghao
  * @date 2024-09-09 11:35:55
@@ -19,22 +14,6 @@ import java.util.List;
 public class StoreConfigService {
     @DubboReference(check = false, retries = 0, timeout = 60_000)
     private AccountQuery accountQuery;
-    private final StoreConfigMapper storeConfigMapper;
-
-    public StoreConfigService(StoreConfigMapper storeConfigMapper) {
-        this.storeConfigMapper = storeConfigMapper;
-    }
-
-    public List<StoreConfig> getStoreConfigs() {
-        List<StoreConfig> list = storeConfigMapper.findAll();
-        list.forEach(storeConfig -> {
-            storeConfig.setOssTypeStr(OssType.getDescByCode(storeConfig.getOssType()));
-        });
-        return list;
-    }
-
-    public void addStoreConfig(StoreConfig storeConfig) {
-    }
 
     @Cacheable(cacheNames = "tnb:file:oss_user", key = "'local_oss_user'", unless = "#result == null")
     public int getLocalOssUser() {

+ 0 - 2
file/file-service/src/main/resources/application.yml

@@ -42,8 +42,6 @@ mybatis:
     map-underscore-to-camel-case: true
   mapper-locations: classpath*:mapper/**.xml
   type-aliases-package: cn.reghao.tnb.file.app.model.po
-app:
-  ossType: 1
 eureka:
   instance:
     prefer-ip-address: true

+ 0 - 29
file/file-service/src/main/resources/mapper/StoreConfigMapper.xml

@@ -1,29 +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="cn.reghao.tnb.file.app.db.mapper.StoreConfigMapper">
-    <insert id="save">
-        insert into file_store_config
-        (`oss_type`,`endpoint`,`access_key_id`,`access_key_secret`,`region`,`bucket_name`,`role_arn`)
-        values
-        (#{ossType},#{endpoint},#{accessKeyId},#{accessKeySecret},#{region},#{bucketName},#{roleArn})
-    </insert>
-    <insert id="saveAll" useGeneratedKeys="true" keyProperty="id">
-        insert into file_store_config
-        (`oss_type`,`endpoint`,`access_key_id`,`access_key_secret`,`region`,`bucket_name`,`role_arn`)
-        values
-        <foreach collection="list" item="item" index="index" separator=",">
-            (#{item.ossType},#{item.endpoint},#{item.accessKeyId},#{item.accessKeySecret},#{item.region},#{item.bucketName},#{item.roleArn})
-        </foreach>
-    </insert>
-
-    <select id="findAll" resultType="cn.reghao.tnb.file.app.model.po.StoreConfig">
-        select *
-        from file_store_config
-    </select>
-    <select id="findByOssType" resultType="cn.reghao.tnb.file.app.model.po.StoreConfig">
-        select *
-        from file_store_config
-        where oss_type=#{ossType}
-    </select>
-</mapper>

+ 0 - 64
file/file-service/src/test/java/AliyunTest.java

@@ -1,64 +0,0 @@
-import com.aliyun.sts20150401.models.AssumeRoleResponse;
-import com.aliyun.sts20150401.models.AssumeRoleResponseBody;
-import com.aliyun.tea.TeaException;
-
-/**
- * @author reghao
- * @date 2024-08-30 13:48:52
- */
-public class AliyunTest {
-    /**
-     * <b>description</b> :
-     * <p>使用AK&amp;SK初始化账号Client</p>
-     * @return Client
-     *
-     * @throws Exception
-     */
-    public static com.aliyun.sts20150401.Client createClient() throws Exception {
-        // 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考。
-        // 建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/document_detail/378657.html。
-        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
-                // 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
-                .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
-                // 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
-                .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
-        // Endpoint 请参考 https://api.aliyun.com/product/Sts
-        config.endpoint = "sts.cn-chengdu.aliyuncs.com";
-        return new com.aliyun.sts20150401.Client(config);
-    }
-
-    public static void test(String... args0) throws Exception {
-        java.util.List<String> args = java.util.Arrays.asList(args0);
-        com.aliyun.sts20150401.Client client = createClient();
-        com.aliyun.sts20150401.models.AssumeRoleRequest assumeRoleRequest = new com.aliyun.sts20150401.models.AssumeRoleRequest();
-        String roleArn = "acs:ram::1727220085568559:role/hao-sts";
-        assumeRoleRequest.setRoleArn(roleArn);
-        assumeRoleRequest.setRoleSessionName("role_session_test");
-        com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions();
-        try {
-            // 复制代码运行请自行打印 API 的返回值
-            AssumeRoleResponse roleResponse = client.assumeRoleWithOptions(assumeRoleRequest, runtime);
-            AssumeRoleResponseBody.AssumeRoleResponseBodyCredentials credentials = roleResponse.getBody().getCredentials();
-            String id = credentials.getAccessKeyId();
-            String secret = credentials.getAccessKeySecret();
-            String expiration = credentials.getExpiration();
-            String token = credentials.getSecurityToken();
-            System.out.println();
-        } catch (TeaException error) {
-            // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
-            // 错误 message
-            System.out.println(error.getMessage());
-            // 诊断地址
-            System.out.println(error.getData().get("Recommend"));
-            com.aliyun.teautil.Common.assertAsString(error.message);
-        } catch (Exception _error) {
-            TeaException error = new TeaException(_error.getMessage(), _error);
-            // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
-            // 错误 message
-            System.out.println(error.getMessage());
-            // 诊断地址
-            System.out.println(error.getData().get("Recommend"));
-            com.aliyun.teautil.Common.assertAsString(error.message);
-        }
-    }
-}

+ 0 - 30
file/file-service/src/test/java/FileTest.java

@@ -1,6 +1,4 @@
 import cn.reghao.tnb.file.app.FileApplication;
-import cn.reghao.tnb.file.app.db.mapper.StoreConfigMapper;
-import cn.reghao.tnb.file.app.model.po.StoreConfig;
 import lombok.extern.slf4j.Slf4j;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -17,35 +15,7 @@ import java.util.List;
 @ActiveProfiles("dev")
 @SpringBootTest(classes = FileApplication.class)
 public class FileTest {
-    @Autowired
-    StoreConfigMapper storeConfigMapper;
-
     @Test
     public void test() {
-        String endpoint = System.getenv("ENDPOINT");
-        String accessKeyId = System.getenv("ACCESS_KEY_ID");
-        String accessKeySecret = System.getenv("ACCESS_KEY_SECRET");
-        String bucketName = System.getenv("BUCKET");
-        StoreConfig storeConfig = new StoreConfig(1, endpoint, accessKeyId, accessKeySecret);
-        storeConfig.setBucketName(bucketName);
-
-        String endpoint1 = System.getenv("CONSOLE_ENDPOINT");
-        String accessKeyId1 = System.getenv("CONSOLE_ACCESS_KEY_ID");
-        String accessKeySecret1 = System.getenv("CONSOLE_ACCESS_KEY_SECRET");
-        StoreConfig storeConfig1 = new StoreConfig(1, endpoint1, accessKeyId1, accessKeySecret1);
-
-        String endpoint2 = "sts.cn-chengdu.aliyuncs.com";
-        String accessKeyId2 = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
-        String accessKeySecret2 = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");
-        String bucket = System.getenv("BUCKET");
-        String region = System.getenv("REGION");
-        String roleArn = System.getenv("ROLE_ARN");
-        StoreConfig storeConfig2 = new StoreConfig(1, endpoint2, accessKeyId2, accessKeySecret2);
-        storeConfig2.setBucketName(bucket);
-        storeConfig2.setRegion(region);
-        storeConfig2.setRoleArn(roleArn);
-
-        List<StoreConfig> list = List.of(storeConfig, storeConfig1, storeConfig2);
-        storeConfigMapper.saveAll(list);
     }
 }