diff --git a/nflg-wms-admin/pom.xml b/nflg-wms-admin/pom.xml
index 63413daf..add938e7 100644
--- a/nflg-wms-admin/pom.xml
+++ b/nflg-wms-admin/pom.xml
@@ -34,33 +34,6 @@
org.springframework.boot
spring-boot-starter-data-ldap
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
org.junit.jupiter
junit-jupiter
@@ -100,6 +73,16 @@
org.apache.commons
commons-lang3
+
+ tech.powerjob
+ powerjob-worker-spring-boot-starter
+ 5.1.1
+
+
+ tech.powerjob
+ powerjob-client
+ 5.1.1
+
diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/AdminApplication.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/AdminApplication.java
index eeb1186b..b69f74aa 100644
--- a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/AdminApplication.java
+++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/AdminApplication.java
@@ -18,16 +18,8 @@ public class AdminApplication {
public static void main(String[] args) {
SpringApplication.run(AdminApplication.class, args);
log.info("【管理端】已启动");
-// log.info("当前日志实现类:" + LoggerFactory.getILoggerFactory().getClass().getName());
log.info("---------------------- Sa-Token SSO 模式二 Client 端启动成功 ----------------------");
log.info("配置信息:" + SaSsoManager.getClientConfig());
-
-// LdapService ldapService = new LdapService();
-// ldapService.init("192.168.0.2", 389, "commpub@nflg", "Nflg2019#", "OU=福建南方路面机械有限公司,DC=nflg");
-// LdapDepartmentDTO department = ldapService.getDepartmentTree("OU=产品事业部");
-// System.out.println(JSONUtil.toJsonStr(department));
-// List users = ldapService.getUsers();
-// System.out.println(JSONUtil.toJsonStr(users));
}
}
\ No newline at end of file
diff --git a/nflg-wms-admin/src/main/java/com/nflg/wms/admin/config/PowerJobClientConfig.java b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/config/PowerJobClientConfig.java
new file mode 100644
index 00000000..2a5ede9e
--- /dev/null
+++ b/nflg-wms-admin/src/main/java/com/nflg/wms/admin/config/PowerJobClientConfig.java
@@ -0,0 +1,24 @@
+package com.nflg.wms.admin.config;
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import tech.powerjob.client.PowerJobClient;
+
+@Configuration
+public class PowerJobClientConfig {
+
+ @Value("${powerjob.worker.server-address}")
+ private String serverAddress;
+
+ @Value("${powerjob.worker.app-name}")
+ private String appName;
+
+ @Value("${powerjob.client.password}")
+ private String password;
+
+ @Bean
+ public PowerJobClient initPowerJobClient() {
+ return new PowerJobClient(serverAddress, appName, password);
+ }
+}
diff --git a/nflg-wms-admin/src/main/resources/logback-spring.xml b/nflg-wms-admin/src/main/resources/logback-spring.xml
index 6a1d7c59..5f6b9435 100644
--- a/nflg-wms-admin/src/main/resources/logback-spring.xml
+++ b/nflg-wms-admin/src/main/resources/logback-spring.xml
@@ -32,10 +32,27 @@
+
+ ${logDir}/powerjob-worker.log
+
+ ${logDir}/powerjob-worker.%d{yyyy-MM-dd}.log
+ 7
+
+
+ %d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
+ UTF-8
+
+ true
+
+
+
+
+
+
diff --git a/nflg-wms-starter/pom.xml b/nflg-wms-starter/pom.xml
index 3adec75c..c1a7ed38 100644
--- a/nflg-wms-starter/pom.xml
+++ b/nflg-wms-starter/pom.xml
@@ -119,6 +119,11 @@
com.aliyun.oss
aliyun-sdk-oss
+
+ io.minio
+ minio
+ 8.5.17
+
diff --git a/nflg-wms-starter/src/main/java/com/nflg/wms/starter/config/MinIOConfig.java b/nflg-wms-starter/src/main/java/com/nflg/wms/starter/config/MinIOConfig.java
new file mode 100644
index 00000000..789ba52a
--- /dev/null
+++ b/nflg-wms-starter/src/main/java/com/nflg/wms/starter/config/MinIOConfig.java
@@ -0,0 +1,53 @@
+package com.nflg.wms.starter.config;
+
+import io.minio.BucketExistsArgs;
+import io.minio.MakeBucketArgs;
+import io.minio.MinioClient;
+import jakarta.annotation.PreDestroy;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Slf4j
+@Configuration
+@ConditionalOnProperty(name = "file.upload.type", havingValue = "minio")
+public class MinIOConfig {
+
+ @Value("${minio.endpoint}")
+ private String endpoint;
+
+ @Value("${minio.access-key}")
+ private String accessKey;
+
+ @Value("${minio.secret-key}")
+ private String secretKey;
+
+ @Value("${minio.bucket-name}")
+ private String bucketName;
+
+ private MinioClient client;
+
+ @Bean
+ public MinioClient initMinioClient() throws Exception{
+ client= MinioClient.builder()
+ .endpoint(endpoint)
+ .credentials(accessKey, secretKey)
+ .build();
+ // 自动创建 bucket(如果不存在)
+ if (!client.bucketExists(BucketExistsArgs.builder().bucket(bucketName).build())) {
+ client.makeBucket(MakeBucketArgs.builder().bucket(bucketName).build());
+ }
+ return client;
+ }
+
+ @PreDestroy
+ public void destroy() {
+ try {
+ client.close();
+ } catch (Exception e) {
+ log.error("MinIO 销毁出错", e);
+ }
+ }
+}
diff --git a/nflg-wms-starter/src/main/java/com/nflg/wms/starter/service/FileUploadService.java b/nflg-wms-starter/src/main/java/com/nflg/wms/starter/service/FileUploadService.java
index e6f807a1..867d8f0f 100644
--- a/nflg-wms-starter/src/main/java/com/nflg/wms/starter/service/FileUploadService.java
+++ b/nflg-wms-starter/src/main/java/com/nflg/wms/starter/service/FileUploadService.java
@@ -15,7 +15,7 @@ public interface FileUploadService {
* @return 可访问的url
* @throws IOException
*/
- String upload(String filePath, MultipartFile file) throws IOException;
+ String upload(String filePath, MultipartFile file) throws Exception;
/**
* 上传文件
@@ -25,6 +25,6 @@ public interface FileUploadService {
* @return 可访问的url
* @throws IOException
*/
- String upload(String filePath, InputStream stream) throws IOException;
+ String upload(String filePath, InputStream stream) throws Exception;
}
\ No newline at end of file
diff --git a/nflg-wms-starter/src/main/java/com/nflg/wms/starter/service/impl/MinIOServiceImpl.java b/nflg-wms-starter/src/main/java/com/nflg/wms/starter/service/impl/MinIOServiceImpl.java
new file mode 100644
index 00000000..a252cdeb
--- /dev/null
+++ b/nflg-wms-starter/src/main/java/com/nflg/wms/starter/service/impl/MinIOServiceImpl.java
@@ -0,0 +1,44 @@
+package com.nflg.wms.starter.service.impl;
+
+import cn.hutool.core.util.StrUtil;
+import com.nflg.wms.starter.service.FileUploadService;
+import io.minio.MinioClient;
+import io.minio.PutObjectArgs;
+import jakarta.annotation.Resource;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.InputStream;
+
+@Slf4j
+@Service
+@ConditionalOnProperty(name = "file.upload.type", havingValue = "minio")
+public class MinIOServiceImpl implements FileUploadService {
+
+ @Value("${minio.bucket-name}")
+ private String bucketName;
+
+ @Value("${minio.endpoint}")
+ private String domain;
+
+ @Resource
+ private MinioClient minioClient;
+
+ @Override
+ public String upload(String filePath, MultipartFile file) throws Exception {
+ return upload(filePath, file.getInputStream());
+ }
+
+ @Override
+ public String upload(String filePath, InputStream stream) throws Exception {
+ minioClient.putObject(PutObjectArgs.builder()
+ .bucket(bucketName)
+ .object(filePath)
+ .stream(stream, stream.available(), -1)
+ .build());
+ return StrUtil.format("{}/{}", domain, filePath);
+ }
+}
diff --git a/nflg-wms-starter/src/main/java/com/nflg/wms/starter/service/impl/OSSFileUploadService.java b/nflg-wms-starter/src/main/java/com/nflg/wms/starter/service/impl/OSSFileUploadServiceImpl.java
similarity index 95%
rename from nflg-wms-starter/src/main/java/com/nflg/wms/starter/service/impl/OSSFileUploadService.java
rename to nflg-wms-starter/src/main/java/com/nflg/wms/starter/service/impl/OSSFileUploadServiceImpl.java
index 563ee0a4..20a2f356 100644
--- a/nflg-wms-starter/src/main/java/com/nflg/wms/starter/service/impl/OSSFileUploadService.java
+++ b/nflg-wms-starter/src/main/java/com/nflg/wms/starter/service/impl/OSSFileUploadServiceImpl.java
@@ -18,7 +18,7 @@ import java.io.InputStream;
@Service
@ConditionalOnProperty(name = "file.upload.type", havingValue = "oss")
@Slf4j
-public class OSSFileUploadService implements FileUploadService {
+public class OSSFileUploadServiceImpl implements FileUploadService {
@Resource
private OSS ossClient;