diff --git a/pom.xml b/pom.xml
index 4474b9a..fe0f531 100644
--- a/pom.xml
+++ b/pom.xml
@@ -152,6 +152,12 @@
org.springframework.boot
spring-boot-starter-mail
+
+
+ io.minio
+ minio
+ 8.4.5
+
diff --git a/src/main/java/com/example/catchTheLetters/config/MinioConfig.java b/src/main/java/com/example/catchTheLetters/config/MinioConfig.java
new file mode 100644
index 0000000..e042761
--- /dev/null
+++ b/src/main/java/com/example/catchTheLetters/config/MinioConfig.java
@@ -0,0 +1,26 @@
+package com.example.catchTheLetters.config;
+
+import io.minio.MinioClient;
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+//@Data
+//@Configuration
+//@ConfigurationProperties(prefix = "minio")
+//public class MinioConfig {
+// private String endpoint;
+// private String bucket;
+// private String accessKey;
+// private String secretKey;
+//
+// @Bean
+// public MinioClient minioClient(){
+// return MinioClient.builder()
+// .endpoint(endpoint)
+// .credentials(accessKey, secretKey)
+// .build();
+// }
+//
+//}
diff --git a/src/main/java/com/example/catchTheLetters/controller/LevelController.java b/src/main/java/com/example/catchTheLetters/controller/LevelController.java
index ef9e905..7eeeee7 100644
--- a/src/main/java/com/example/catchTheLetters/controller/LevelController.java
+++ b/src/main/java/com/example/catchTheLetters/controller/LevelController.java
@@ -1,10 +1,7 @@
package com.example.catchTheLetters.controller;
-import com.example.catchTheLetters.entity.Level;
-import com.example.catchTheLetters.entity.Page;
-import com.example.catchTheLetters.entity.ScoreInfoPage;
+import com.example.catchTheLetters.entity.*;
import com.example.catchTheLetters.model.vo.RankVo;
-import com.example.catchTheLetters.entity.ScoreInfo;
import com.example.catchTheLetters.service.LevelService;
import com.example.catchTheLetters.service.VersionService;
import com.example.catchTheLetters.utils.R;
@@ -107,4 +104,8 @@ public class LevelController {
public R getScores(@RequestBody Page page) {
return R.ok(levelService.getScoreInfo( page.getLevelId(),page.getPage(), page.getSize()));
}
+
+ public R> getNewVersion(){
+ return versionService.getNewDownloads();
+ }
}
diff --git a/src/main/java/com/example/catchTheLetters/entity/VersionDownload.java b/src/main/java/com/example/catchTheLetters/entity/VersionDownload.java
new file mode 100644
index 0000000..d584dd7
--- /dev/null
+++ b/src/main/java/com/example/catchTheLetters/entity/VersionDownload.java
@@ -0,0 +1,17 @@
+package com.example.catchTheLetters.entity;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class VersionDownload implements Serializable {
+ private String id;
+ private Long time;
+ private String version;
+ private String url;
+}
diff --git a/src/main/java/com/example/catchTheLetters/service/VersionService.java b/src/main/java/com/example/catchTheLetters/service/VersionService.java
index 0c0c6b1..8ae9fa8 100644
--- a/src/main/java/com/example/catchTheLetters/service/VersionService.java
+++ b/src/main/java/com/example/catchTheLetters/service/VersionService.java
@@ -1,5 +1,10 @@
package com.example.catchTheLetters.service;
+import com.example.catchTheLetters.entity.VersionDownload;
+import com.example.catchTheLetters.utils.R;
+
+import java.util.List;
+
/**
* 版本服务接口
*
@@ -21,4 +26,18 @@ public interface VersionService {
* @param version 版本号
*/
void setVersion(String tableName, Long version);
+
+ /**
+ * 添加下载文件版本
+ * @param time 时间
+ * @param version 版本号
+ * @param url 地址
+ */
+ R addVersionDownload(Long time, String version, String url);
+
+ /**
+ * 获取最新的5个版本
+ * @return 版本集合
+ */
+ R> getNewDownloads();
}
diff --git a/src/main/java/com/example/catchTheLetters/service/impl/VersionServiceImpl.java b/src/main/java/com/example/catchTheLetters/service/impl/VersionServiceImpl.java
index 0eb1864..a287f9c 100644
--- a/src/main/java/com/example/catchTheLetters/service/impl/VersionServiceImpl.java
+++ b/src/main/java/com/example/catchTheLetters/service/impl/VersionServiceImpl.java
@@ -1,13 +1,18 @@
package com.example.catchTheLetters.service.impl;
import com.example.catchTheLetters.entity.Version;
+import com.example.catchTheLetters.entity.VersionDownload;
import com.example.catchTheLetters.service.VersionService;
+import com.example.catchTheLetters.utils.R;
import jakarta.annotation.Resource;
+import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
+import java.util.List;
+
@Service
public class VersionServiceImpl implements VersionService {
@@ -30,4 +35,27 @@ public class VersionServiceImpl implements VersionService {
mongoTemplate.save(res);
}
}
+
+ @Override
+ public R addVersionDownload(Long time, String version, String url) {
+ VersionDownload versionDownload = new VersionDownload();
+ versionDownload.setUrl(url);
+ versionDownload.setTime(time);
+ versionDownload.setVersion(version);
+ VersionDownload insert = mongoTemplate.insert(versionDownload);
+ if (insert.getId() == null){
+ return R.fail("添加数据库失败");
+ }
+ //TODO
+ return R.ok(insert.getId());
+ }
+
+ @Override
+ public R> getNewDownloads() {
+ Query query = new Query()
+ .with(Sort.by(Sort.Direction.DESC,"time"))
+ .limit(5);
+ List list = mongoTemplate.find(query, VersionDownload.class);
+ return R.ok(list);
+ }
}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
index 0c116ec..fa9a1bd 100644
--- a/src/main/resources/application.yml
+++ b/src/main/resources/application.yml
@@ -21,5 +21,11 @@ spring:
host: 1.14.105.160
port: 6379
password: spynsql
+
server:
port: 3536
+#minio:
+# endpoint: http://1.14.105.160:9000
+# bucketName:
+# accessKey:
+# secretKey:
diff --git a/src/test/java/com/example/catchTheLetters/TestInsertLevel.java b/src/test/java/com/example/catchTheLetters/TestInsertLevel.java
index 796b357..88cd511 100644
--- a/src/test/java/com/example/catchTheLetters/TestInsertLevel.java
+++ b/src/test/java/com/example/catchTheLetters/TestInsertLevel.java
@@ -3,12 +3,15 @@ package com.example.catchTheLetters;
import com.example.catchTheLetters.controller.LevelController;
import com.example.catchTheLetters.entity.Level;
import com.example.catchTheLetters.entity.ScoreInfo;
+import com.example.catchTheLetters.entity.VersionDownload;
+import com.example.catchTheLetters.utils.R;
import jakarta.annotation.Resource;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
@@ -101,4 +104,14 @@ class TestInsertLevel {
List scores = mongoTemplate.find(new Query(Criteria.where("levelId").is("0")).with(pageable), ScoreInfo.class);
System.out.println(scores);
}
+
+ @Test
+ @Disabled
+ void newTest(){
+ Query query = new Query()
+ .with(Sort.by(Sort.Direction.DESC,"time"))
+ .limit(5);
+ var list = mongoTemplate.find(query, VersionDownload.class);
+ System.out.println(list);
+ }
}