feat():增加版本添加后将生成的.java文件上传OSS

yuan
yuan 2024-08-30 21:57:14 +08:00
parent e4bbcea391
commit 736ba6d3dc
5 changed files with 107 additions and 3 deletions

View File

@ -74,8 +74,9 @@ public class RuleVersion extends BaseEntity {
.ruleVersionName(ruleVersionAddReq.getRuleVersionName())
.ruleVersionCode(ruleVersionAddReq.getRuleVersionCode())
.ruleVersionActivate(ruleVersionAddReq.getRuleVersionActivate())
.ruleVersionTest("W")
.ruleVersionStatus(ruleVersionAddReq.getRuleVersionStatus())
.remark(ruleVersionAddReq.getRuleVersionRemark())
.remark(ruleVersionAddReq.getRemark())
.build();
}

View File

@ -56,9 +56,14 @@ public class RuleVersionAddReq {
*/
@Schema(title = "版本状态",type = "String",description = "I")
private String ruleVersionStatus ;
/**
*
*/
@Schema(title = "代码",type = "String")
private String ruleVersionText ;
/**
*
*/
@Schema(title = "版本备注",type = "String")
private String ruleVersionRemark;
private String remark;
}

View File

@ -84,6 +84,29 @@
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.17.4</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>
<!-- no more than 2.3.3-->
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.3.3</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>

View File

@ -46,7 +46,7 @@ public class GenerateConstant {
"/**\n" +
" * @Author: "+ SecurityUtils.getUsername() +"\n" +
" * @date: "+format+"\n" +
" * @Description: "+ruleVersion.getRuleVersionName()+ruleVersion.getRuleVersionCode()+"\n" +
" * @Description: "+ruleVersion.getRuleVersionName()+"_"+ruleVersion.getRuleVersionCode()+"\n" +
" * @Version: 1.0\n" +
" */\n" +
"public class "+getClassName(ruleVersion.getRuleVersionType()) + " extends "+level+" {\n" +

View File

@ -0,0 +1,75 @@
package com.muyu.upload;
import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.OSSException;
import com.aliyun.oss.common.auth.CredentialsProviderFactory;
import com.aliyun.oss.common.auth.EnvironmentVariableCredentialsProvider;
import com.aliyun.oss.model.PutObjectRequest;
import com.aliyun.oss.model.PutObjectResult;
import com.muyu.common.core.domain.Result;
import org.apache.poi.ss.formula.functions.T;
import java.io.ByteArrayInputStream;
import java.io.FileInputStream;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
/**
* @Author
* @Packagecom.muyu.upload
* @Projectcloud-rule
* @nameALiYunUpload
* @Date2024/8/30 7:05
*/
public class ALiYunUpload {
// Endpoint以华东1杭州为例其它Region请按实际情况填写
private static final String endpoint = "https://oss-cn-shanghai.aliyuncs.com" ;
// AccessKeyID
private static final String accessKeyId = "LTAI5tHKdDATVKeBjFH8mb8D" ;
// AccessKeySecret
private static final String accessKeySecret = "5ejb4gdgukfD1FdM181kdeAkSuURo7" ;
// Bucket名称
private static final String bucketName = "java-web-generating-class" ;
public static Result<Object> uploadFiles(String content, String fileName) {
System.out.println(content);
System.out.println(fileName);
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 上传到OSS后文件保存的目录例如folder/subfolder/,最后以斜杠结尾
String objectName = "build/rule/version/"+fileName+".java";
try {
// 将内容转换为字节数组输入流
ByteArrayInputStream inputStream = new ByteArrayInputStream(content.getBytes(StandardCharsets.UTF_8));
// 构造上传请求
PutObjectRequest putObjectRequest = new PutObjectRequest(bucketName, objectName, inputStream);
// 执行上传操作
ossClient.putObject(putObjectRequest);
return Result.success(null,"文件"+fileName+".java"+"存储成功");
} catch (Exception e) {
e.printStackTrace();
return Result.error(null,"文件"+fileName+".java"+"存储失败");
} finally {
// 关闭OSSClient
if (ossClient != null) {
ossClient.shutdown();
}
}
}
}