main
HuangHai 2 months ago
parent 33d08a49a7
commit f1b6e97b18

@ -226,6 +226,12 @@
<version>${lombok.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.dsideal</groupId>
<artifactId>dsUtils</artifactId>
<version>1.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<finalName>dsAiSupport</finalName>

@ -1,5 +1,6 @@
package com.dsideal.Res;
import com.dsideal.Config.PropKit;
import com.dsideal.Res.Index.IndexController;
import com.dsideal.Res.Interceptor.*;
import com.dsideal.Res.Plugin.RocketMQPlugin;
@ -7,7 +8,6 @@ import com.dsideal.Res.Plugin.YamlProp;
import com.dsideal.Res.Util.FileUtil;
import com.dsideal.Res.Util.LogBackLogFactory;
import com.jfinal.config.*;
import com.jfinal.kit.Prop;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.activerecord.dialect.MysqlDialect;
import com.jfinal.plugin.druid.DruidPlugin;
@ -21,37 +21,19 @@ import java.io.File;
public class AiApplication extends JFinalConfig {
private static final Logger logger = LoggerFactory.getLogger(AiApplication.class);
public static String getEnvPrefix() {
String myEnvVar = System.getenv("WORKING_ENV");
if (myEnvVar == null) {
myEnvVar = "dev";
}
return myEnvVar;
}
public static void main(String[] args) {
System.out.println("当前环境: " + getEnvPrefix());
System.out.println("当前环境: " + PropKit.getEnvPrefix());
UndertowServer.create(AiApplication.class, "undertow.properties").start();
}
/**
*
*/
public static Prop PropKit;
static {
//加载配置文件
String configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix());
PropKit = new YamlProp(configFile);
}
@Override
public void configConstant(Constants me) {
//使用LogBack
me.setLogFactory(new LogBackLogFactory());
// 设置静态根目录为上传根目录
me.setBaseUploadPath(PropKit.get("uploadTempPath"));
}
/**

@ -1,10 +1,11 @@
package com.dsideal.Res.Config;
import com.dsideal.Res.AiApplication;
import com.jfinal.kit.Prop;
import static com.dsideal.Res.Util.JiMeng.Kit.JmCommon.PropKit;
public class GatewayConfig {
private static final Prop prop = AiApplication.PropKit;
private static final Prop prop = PropKit;
// 超时配置
public static final int CONNECT_TIMEOUT = prop.getInt("gateway.timeout.connect", 10000);

@ -1,5 +1,6 @@
package com.dsideal.Res.Util;
import com.dsideal.Config.PropKit;
import com.dsideal.Res.AiApplication;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
@ -16,7 +17,7 @@ import java.util.Map;
public class JwtUtil {
public static final String AUTHORIZATION_STARTER = "Bearer ";
public static final String SECRET = AiApplication.PropKit.get("jwt.SECRET");
public static final String SECRET = PropKit.get("jwt.SECRET");
// 生成安全的密钥
private static final SecretKey key = Keys.hmacShaKeyFor(SECRET.getBytes(StandardCharsets.UTF_8));

@ -1,139 +0,0 @@
package com.dsideal.Res.Util;
import cn.hutool.core.io.FileUtil;
import com.dsideal.Res.Plugin.YamlProp;
import com.jfinal.kit.PathKit;
import com.jfinal.kit.Prop;
import io.minio.GetPresignedObjectUrlArgs;
import io.minio.MinioClient;
import io.minio.SetBucketPolicyArgs;
import io.minio.UploadObjectArgs;
import io.minio.errors.*;
import io.minio.http.Method;
import java.io.File;
import java.io.IOException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import static com.dsideal.Res.AiApplication.getEnvPrefix;
public class MinioUtils {
public static Prop PropKit;
public static String minio_endpoint;
public static String minio_accesskey;
public static String minio_secretkey;
public static String bucketName;
static {
//加载配置文件
String configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix());
PropKit = new YamlProp(configFile);
minio_endpoint = PropKit.get("minio.endpoint");
minio_accesskey = PropKit.get("minio.accessKey");
minio_secretkey = PropKit.get("minio.secretKey");
bucketName = PropKit.get("minio.bucketName");
}
/**
* Minio
*
* @return
*/
public static MinioClient getMinioClient() {
return MinioClient.builder()
.endpoint(minio_endpoint)
.credentials(minio_accesskey, minio_secretkey)
.build();
}
/**
*
*
* @param objectName
* @return
* @throws ServerException
* @throws InsufficientDataException
* @throws ErrorResponseException
* @throws IOException
* @throws NoSuchAlgorithmException
* @throws InvalidKeyException
* @throws InvalidResponseException
* @throws XmlParserException
* @throws InternalException
*/
public static String getSignature(String objectName) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
// 生成带有签名的URL
return getMinioClient().getPresignedObjectUrl(
GetPresignedObjectUrlArgs.builder()
.method(Method.PUT)
.bucket(bucketName)
.object(objectName)
.build());
}
/**
*
*
* @param minioClient
* @param key
* @param source
* @throws IOException
* @throws ServerException
* @throws InsufficientDataException
* @throws ErrorResponseException
* @throws NoSuchAlgorithmException
* @throws InvalidKeyException
* @throws InvalidResponseException
* @throws XmlParserException
* @throws InternalException
*/
public static void uploadFile(MinioClient minioClient, String key, String source) throws IOException, ServerException, InsufficientDataException, ErrorResponseException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
minioClient.uploadObject(
UploadObjectArgs.builder()
.bucket(bucketName)
.object(key)
.filename(source)
.build());
}
/**
* Minio
*
* @throws Exception
*/
public static void initMinio() throws Exception {
MinioClient client = getMinioClient();
String policy = FileUtil.readUtf8String(PathKit.getRootClassPath() + "/SetMinioDownload.json");
SetBucketPolicyArgs setBucketPolicyArgs = SetBucketPolicyArgs.builder()
.bucket(bucketName)
.config(policy)
.build();
client.setBucketPolicy(setBucketPolicyArgs);
System.out.println("完成全局权限设置!");
client.close();
}
public static void main(String[] args) throws Exception {
//加载配置文件
String configFile = "application_{?}.yaml".replace("{?}", getEnvPrefix());
PropKit = new YamlProp(configFile);
MinioClient client = getMinioClient();
//测试样例
//http://10.10.14.212:9000/dsideal/%E5%AE%89%E5%90%89%E4%B8%BD%E5%A8%9C%E6%9C%B1%E8%8E%89.jpg
//将指定目录下的所有以png为扩展名的文件找出来并且将图标文件上传上去
String path = PathKit.getRootClassPath() + "/Icon";
File[] files = FileUtil.ls(path);
for (File file : files) {
//上传到minio
String objectName = "Thumbs/" + file.getName();
uploadFile(client, objectName, file.getAbsolutePath());
System.out.println("上传成功!文件名:" + objectName);
}
client.close();
}
}

@ -1,5 +1,6 @@
package com.dsideal.Res.Util;
import com.dsideal.Config.PropKit;
import com.dsideal.Res.AiApplication;
import org.apache.rocketmq.client.consumer.DefaultLitePullConsumer;
import org.apache.rocketmq.client.producer.DefaultMQProducer;
@ -27,13 +28,13 @@ public class RocketMqKit {
private static final Object consumerLock = new Object();
// RocketMQ服务器地址
private final static String nameServer = AiApplication.PropKit.get("RocketMq.nameServer");
private final static String nameServer = PropKit.get("RocketMq.nameServer");
// 生产者组名
private final static String producerGroup = "my_group";
// 消费者组名
private final static String consumerGroup = "my_group";
// 主题名称
private final static String topic = AiApplication.PropKit.get("RocketMq.topic");
private final static String topic = PropKit.get("RocketMq.topic");
// 获取Producer实例
public static DefaultMQProducer getProducer() {

@ -3,6 +3,7 @@ package com.dsideal.Res.Util.Suno;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.dsideal.Config.PropKit;
import okhttp3.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -11,7 +12,6 @@ import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import static com.dsideal.Res.AiApplication.PropKit;
public class SunoMusicGenerator {

@ -10,21 +10,6 @@
</parent>
<artifactId>dsBase</artifactId>
<name>dsBase</name>
<!-- 使用阿里 maven 库 -->
<repositories>
<repository>
<id>ali-maven</id>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
</repository>
</repositories>
<dependencies>
<!-- JFinal框架 -->
@ -226,8 +211,8 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
<configuration>
<source>8</source>
<target>8</target>
<source>21</source>
<target>21</target>
<encoding>UTF-8</encoding>
<compilerArgument>-parameters</compilerArgument>
<compilerArgument>-Xlint:unchecked</compilerArgument>

Loading…
Cancel
Save