diff --git a/vital-signs/pom.xml b/vital-signs/pom.xml
index 02ec988..1104875 100644
--- a/vital-signs/pom.xml
+++ b/vital-signs/pom.xml
@@ -30,6 +30,11 @@
com.rax
common-security
+
+
+ com.rax
+ quartz
+
com.rax
@@ -40,6 +45,10 @@
org.springframework.boot
spring-boot-starter-websocket
+
+ org.springframework.boot
+ spring-boot-starter-data-mongodb
+
\ No newline at end of file
diff --git a/vital-signs/src/main/java/com/rax/vital/datasource/MongoDBSource.java b/vital-signs/src/main/java/com/rax/vital/datasource/MongoDBSource.java
new file mode 100644
index 0000000..87774ff
--- /dev/null
+++ b/vital-signs/src/main/java/com/rax/vital/datasource/MongoDBSource.java
@@ -0,0 +1,54 @@
+package com.rax.vital.datasource;
+
+import com.mongodb.ConnectionString;
+import com.mongodb.MongoClientSettings;
+import com.mongodb.client.MongoClient;
+import com.mongodb.client.MongoClients;
+import org.springframework.data.mongodb.SpringDataMongoDB;
+import org.springframework.data.mongodb.core.MongoTemplate;
+import org.springframework.data.mongodb.core.SimpleMongoClientDatabaseFactory;
+
+import java.util.concurrent.TimeUnit;
+
+public class MongoDBSource {
+ private String host;
+ private String password;
+ private String username;
+ private static final String authenticationDatabase = "admin";
+ private String database;
+ private MongoClient mongoClient;
+
+ public MongoDBSource(String host, String password, String username, String database) {
+ this.host = host;
+ this.password = password;
+ this.username = username;
+ this.database = database;
+ }
+
+ public MongoTemplate open() {
+ MongoClientSettings.Builder mongoBuilder = MongoClientSettings.builder();
+ // mongodb://账户:密码@ip:端口/数据库名?authSource=admin
+ String connectionUrl = "mongodb://" + this.username + ":" + this.password + "@" + this.host + "/" + this.database + "?authSource=admin";
+ mongoBuilder.applyConnectionString(new ConnectionString(connectionUrl));
+ mongoBuilder.applyToConnectionPoolSettings(builder -> {
+ // 允许的最大连接数。
+ builder.maxSize(120);
+ // 最小连接数。
+ builder.minSize(10);
+ // 池连接可以存活的最长时间。零值表示寿命没有限制。超过其生命周期的池连接将被关闭并在必要时由新连接替换
+ builder.maxConnectionLifeTime(0, TimeUnit.SECONDS);
+ // 池连接的最大空闲时间。零值表示对空闲时间没有限制。超过其空闲时间的池连接将被关闭并在必要时由新连接替换
+ builder.maxConnectionIdleTime(6, TimeUnit.MINUTES);
+ // 默认最大连接时间120s;
+ builder.maxWaitTime(60000, TimeUnit.MILLISECONDS);
+ });
+ mongoClient = MongoClients.create(mongoBuilder.build(), SpringDataMongoDB.driverInformation());
+ SimpleMongoClientDatabaseFactory simpleMongoClientDatabaseFactory = new SimpleMongoClientDatabaseFactory(mongoClient, database);
+ MongoTemplate mongoTemplate = new MongoTemplate(simpleMongoClientDatabaseFactory);
+ return mongoTemplate;
+ }
+
+ public void close() {
+ mongoClient.close();
+ }
+}
diff --git a/vital-signs/src/main/java/com/rax/vital/medicine/controller/MedicineController.java b/vital-signs/src/main/java/com/rax/vital/medicine/controller/MedicineController.java
index c8caeb5..15a295f 100644
--- a/vital-signs/src/main/java/com/rax/vital/medicine/controller/MedicineController.java
+++ b/vital-signs/src/main/java/com/rax/vital/medicine/controller/MedicineController.java
@@ -1,18 +1,26 @@
package com.rax.vital.medicine.controller;
+import com.mongodb.client.MongoClient;
import com.rax.common.core.util.R;
+import com.rax.vital.datasource.MongoDBSource;
import com.rax.vital.medicine.service.AIMedicineService;
import com.rax.vital.medicine.service.DoctorMedicineService;
import com.rax.vital.medicine.vo.MedicineVO;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
+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.http.HttpHeaders;
import org.springframework.messaging.handler.annotation.MessageMapping;
import org.springframework.messaging.handler.annotation.SendTo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
+import java.util.List;
+import java.util.Map;
+
/**
* 用药
* @date 2024.2.19
@@ -31,12 +39,21 @@ public class MedicineController {
@MessageMapping("/doctorMedicine")
@SendTo("/topic/doctorMedicine")
public String doctorMedicine(String msg) {
+ MongoDBSource mongoDBSource = new MongoDBSource("localhost:27017", "root", "root", "ceshi");
+ MongoTemplate template = mongoDBSource.open();
+ Query query = new Query();
+ Criteria criteria = new Criteria();
+ criteria.where("");
+ query.addCriteria(criteria);
+ query.limit(1);
+ List