Explorar o código

新增`ObjectId`函数

mxd %!s(int64=2) %!d(string=hai) anos
pai
achega
05940578ee

+ 5 - 0
magic-api-plugins/magic-api-plugin-mongo/src/main/java/org/ssssssss/magicapi/mongo/MagicMongoConfiguration.java

@@ -28,4 +28,9 @@ public class MagicMongoConfiguration implements MagicPluginConfiguration {
 		JavaReflection.registerMethodExtension(FindIterable.class, new MongoFindIterableExtension());
 		return new MongoModule(mongoTemplate);
 	}
+
+	@Bean
+	public MongoFunction mongoFunction(){
+		return new MongoFunction();
+	}
 }

+ 35 - 0
magic-api-plugins/magic-api-plugin-mongo/src/main/java/org/ssssssss/magicapi/mongo/MongoFunction.java

@@ -0,0 +1,35 @@
+package org.ssssssss.magicapi.mongo;
+
+import org.bson.types.ObjectId;
+import org.ssssssss.magicapi.core.config.MagicFunction;
+import org.ssssssss.script.annotation.Comment;
+import org.ssssssss.script.annotation.Function;
+
+import java.util.Date;
+
+public class MongoFunction implements MagicFunction {
+
+	@Comment("创建ObjectId")
+	@Function
+	public ObjectId ObjectId(String hexString){
+		return new ObjectId(hexString);
+	}
+
+	@Comment("创建ObjectId")
+	@Function
+	public ObjectId ObjectId(){
+		return new ObjectId();
+	}
+
+	@Comment("创建ObjectId")
+	@Function
+	public ObjectId ObjectId(byte[] bytes){
+		return new ObjectId(bytes);
+	}
+
+	@Comment("创建ObjectId")
+	@Function
+	public ObjectId ObjectId(Date date){
+		return new ObjectId(date);
+	}
+}