ht
parent
822e1b1ab7
commit
131c6c82b5
4
pom.xml
4
pom.xml
|
|
@ -74,7 +74,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.alibaba</groupId>
|
<groupId>com.alibaba</groupId>
|
||||||
<artifactId>fastjson</artifactId>
|
<artifactId>fastjson</artifactId>
|
||||||
<version>1.2.6</version>
|
<version>1.2.24</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.mongodb</groupId>
|
<groupId>org.mongodb</groupId>
|
||||||
|
|
@ -84,7 +84,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>cn.cloudowr</groupId>
|
<groupId>cn.cloudowr</groupId>
|
||||||
<artifactId>sdk</artifactId>
|
<artifactId>sdk</artifactId>
|
||||||
<version>1.1.1</version>
|
<version>1.2.3</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</project>
|
</project>
|
||||||
|
|
@ -1,7 +1,13 @@
|
||||||
package cn.cloudowr.dict;
|
package cn.cloudowr.dict;
|
||||||
|
|
||||||
import cn.cloudowr.sdk.JQueryParameterFilter;
|
import cn.cloudowr.sdk.JQueryParameterFilter;
|
||||||
|
import cn.cloudowr.sdk.jfinal.ErrorInterceptor;
|
||||||
|
import cn.cloudowr.sdk.jfinal.ErrorRender;
|
||||||
|
import com.jfinal.aop.Interceptor;
|
||||||
|
import com.jfinal.aop.Invocation;
|
||||||
import com.jfinal.config.*;
|
import com.jfinal.config.*;
|
||||||
|
import com.jfinal.core.ActionException;
|
||||||
|
import com.jfinal.render.Render;
|
||||||
import com.jfinal.template.Engine;
|
import com.jfinal.template.Engine;
|
||||||
import com.mongodb.MongoClient;
|
import com.mongodb.MongoClient;
|
||||||
import com.mongodb.MongoCredential;
|
import com.mongodb.MongoCredential;
|
||||||
|
|
@ -40,11 +46,11 @@ public class Config extends com.jfinal.config.JFinalConfig{
|
||||||
@Override
|
@Override
|
||||||
public void configInterceptor(Interceptors me) {
|
public void configInterceptor(Interceptors me) {
|
||||||
me.add(new JQueryParameterFilter());
|
me.add(new JQueryParameterFilter());
|
||||||
|
me.add(new ErrorInterceptor());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void configHandler(Handlers me) {
|
public void configHandler(Handlers me) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package cn.cloudowr.dict;
|
||||||
|
|
||||||
import cn.cloudowr.sdk.FastJSONUtil;
|
import cn.cloudowr.sdk.FastJSONUtil;
|
||||||
import cn.cloudowr.sdk.IdInterceptor;
|
import cn.cloudowr.sdk.IdInterceptor;
|
||||||
|
import cn.cloudowr.sdk.jfinal.RestfulStyle;
|
||||||
import com.jfinal.aop.Before;
|
import com.jfinal.aop.Before;
|
||||||
import com.mongodb.client.MongoCollection;
|
import com.mongodb.client.MongoCollection;
|
||||||
import com.mongodb.client.MongoDatabase;
|
import com.mongodb.client.MongoDatabase;
|
||||||
|
|
@ -21,11 +22,128 @@ import java.util.Map;
|
||||||
/**
|
/**
|
||||||
* Created by lyf66 on 2017/2/16.
|
* Created by lyf66 on 2017/2/16.
|
||||||
*/
|
*/
|
||||||
public class Controller extends com.jfinal.core.Controller {
|
public class Controller extends cn.cloudowr.sdk.jfinal.Controller implements RestfulStyle {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void index() {
|
||||||
|
int pageSize = getParaToInt("pageSize", 20);
|
||||||
|
int pageNum = getParaToInt("pageNum", 1);
|
||||||
|
String json = getPara("json");
|
||||||
|
Document document = null;
|
||||||
|
if (json != null) {
|
||||||
|
document = Document.parse(json);
|
||||||
|
}
|
||||||
|
|
||||||
|
List<Bson> filter = new ArrayList<>();
|
||||||
|
if (document != null) {
|
||||||
|
document.forEach((key, value) -> {
|
||||||
|
filter.add(Filters.eq(key, value));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
List<Document> result = new ArrayList<>();
|
||||||
|
if (filter.size() != 0) {
|
||||||
|
getCollection().find(Filters.and(filter)).skip(pageSize * (pageNum - 1)).limit(pageSize).into(result);
|
||||||
|
} else {
|
||||||
|
getCollection().find().skip(pageSize * (pageNum - 1)).limit(pageSize).into(result);
|
||||||
|
}
|
||||||
|
renderJson(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Before(IdInterceptor.class)
|
||||||
|
public void show() {
|
||||||
|
Document document = getCollection().find(Filters.eq("_id", new ObjectId(getPara("id")))).first();
|
||||||
|
renderJson(document);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void save() {
|
||||||
|
String json = getPara("json");
|
||||||
|
Document document = null;
|
||||||
|
try {
|
||||||
|
document = Document.parse(json);
|
||||||
|
} catch (Exception e) {
|
||||||
|
renderError(400, "invalid json");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
getCollection().insertOne(document);
|
||||||
|
renderJson(document);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Before(IdInterceptor.class)
|
||||||
|
public void update() {
|
||||||
|
String id = getPara("id");
|
||||||
|
String json = getPara("json");
|
||||||
|
|
||||||
|
Document document = null;
|
||||||
|
try {
|
||||||
|
document = Document.parse(json);
|
||||||
|
} catch (Exception e) {
|
||||||
|
renderError(400, "invalid json");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
Document filterDoc = document.get("filter", Document.class);
|
||||||
|
List<Bson> filterOps = new ArrayList<>();
|
||||||
|
filterDoc.forEach((key, value) -> {
|
||||||
|
if ("id".equals(key) || "_id".equals(key)) return;
|
||||||
|
filterOps.add(Filters.eq(key, value));
|
||||||
|
});
|
||||||
|
|
||||||
|
Document updateDoc = document.get("update", Document.class);
|
||||||
|
List<Bson> updateOps = new ArrayList<>();
|
||||||
|
Document $set = updateDoc.get("$set", Document.class);
|
||||||
|
if ($set != null) {
|
||||||
|
$set.forEach((key, value) -> {
|
||||||
|
updateOps.add(Updates.set(key, value));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
List $unset = updateDoc.get("$unset", List.class);
|
||||||
|
if ($unset != null) {
|
||||||
|
for (Object o : $unset) {
|
||||||
|
updateOps.add(Updates.unset(o.toString()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Document $rename = updateDoc.get("$rename", Document.class);
|
||||||
|
if ($rename != null) {
|
||||||
|
$rename.forEach((oldKey, newKey) -> {
|
||||||
|
updateOps.add(Updates.rename(oldKey, newKey.toString()));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
Bson combine = Updates.combine(updateOps);
|
||||||
|
UpdateResult updateResult = getCollection().updateOne(
|
||||||
|
Filters.eq("_id", new ObjectId(id)),
|
||||||
|
combine
|
||||||
|
);
|
||||||
|
renderJson("result", updateResult.getMatchedCount() >= 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Before(IdInterceptor.class)
|
||||||
|
public void delete() {
|
||||||
|
String id = getPara("id");
|
||||||
|
|
||||||
|
DeleteResult deleteResult = getCollection().deleteOne(
|
||||||
|
Filters.eq("_id", new ObjectId(id))
|
||||||
|
);
|
||||||
|
renderJson("result", deleteResult.getDeletedCount() == 1);
|
||||||
|
}
|
||||||
|
|
||||||
public void ping() {
|
public void ping() {
|
||||||
renderText("dict pong");
|
renderText("dict pong");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void dict() {
|
public void dict() {
|
||||||
Map<String, String[]> paraMap = getParaMap();
|
Map<String, String[]> paraMap = getParaMap();
|
||||||
List<Bson> ops = new ArrayList<>();
|
List<Bson> ops = new ArrayList<>();
|
||||||
|
|
@ -143,4 +261,5 @@ public class Controller extends com.jfinal.core.Controller {
|
||||||
MongoCollection<Document> collection = mongoDataBase.getCollection("dict");
|
MongoCollection<Document> collection = mongoDataBase.getCollection("dict");
|
||||||
return collection;
|
return collection;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,29 @@
|
||||||
|
index (
|
||||||
|
pageSize optional default 20,
|
||||||
|
pageNum optional default 1,
|
||||||
|
json optional
|
||||||
|
) {
|
||||||
|
return dict list json
|
||||||
|
}
|
||||||
|
show (id required) {
|
||||||
|
return dict json
|
||||||
|
}
|
||||||
|
save (json required) {
|
||||||
|
return saved dict json with id
|
||||||
|
}
|
||||||
|
update (id required, json required) {
|
||||||
|
return {result : true or false}
|
||||||
|
}
|
||||||
|
delete (id required) {
|
||||||
|
return {result: true or false}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
dict (key-value pairs) {
|
dict (key-value pairs) {
|
||||||
return dict list json
|
return dict list json
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue