From 48a204f4c90a80c0bb4e5ba1f9f0f42939cadba8 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 01 一月 2020 10:19:34 +0800
Subject: [PATCH] 用户资金记录bug修改,京东,拼多多小程序商品转链

---
 fanli/src/main/java/com/yeshi/fanli/dao/ElasticBaseDao.java |   56 ++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 40 insertions(+), 16 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/dao/ElasticBaseDao.java b/fanli/src/main/java/com/yeshi/fanli/dao/ElasticBaseDao.java
index 5c149e7..36e11b6 100644
--- a/fanli/src/main/java/com/yeshi/fanli/dao/ElasticBaseDao.java
+++ b/fanli/src/main/java/com/yeshi/fanli/dao/ElasticBaseDao.java
@@ -5,6 +5,7 @@
 import java.util.List;
 import java.util.concurrent.TimeUnit;
 
+
 import org.apache.http.HttpHost;
 import org.elasticsearch.action.delete.DeleteRequest;
 import org.elasticsearch.action.get.GetRequest;
@@ -28,18 +29,37 @@
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
 
+import org.springframework.data.elasticsearch.annotations.Document;
+
+
+
 @Repository
 public abstract class ElasticBaseDao<T> {
 	// 鍦板潃
 	private static String host = "192.168.1.200";
 	// 绔彛
 	private static Integer port = 9200;
-	// 鏁版嵁搴撳悕绉�
-	public static String index = "order";
-
+	
 	// 鍒濆鍖朼pi瀹㈡埛绔�
-	public static RestHighLevelClient client = new RestHighLevelClient(
-			RestClient.builder(new HttpHost(host, port, "http")));
+	public static RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(new HttpHost(host, port,"http")));;
+	
+	/**
+	 * 鑾峰彇index
+	 * @param bean
+	 * @return
+	 */
+	public String getDocument(Class<?> entityClass) {
+		if (entityClass.isAnnotationPresent(Document.class)) {
+	        Document doc = (Document)entityClass.getAnnotation(Document.class);
+	        System.out.println(doc.indexName());
+	        return doc.indexName();
+		}
+		
+		String name = entityClass.getName();
+		return name.substring(name.lastIndexOf(".") + 1, name.length());
+	}
+
+    
 	
 	/**
 	 * 鎻掑叆鏁版嵁
@@ -48,8 +68,10 @@
 	 * @return
 	 */
 	public void save(T bean) {
+		String document = getDocument(bean.getClass());
+		
 		String json = JsonUtil.getSimpleGson().toJson(bean);
-		IndexRequest request = new IndexRequest(index);
+		IndexRequest request = new IndexRequest(document);
 		request.source(json, XContentType.JSON);
 		// 鍚屾鎵ц
 		try {
@@ -66,8 +88,10 @@
 	 * @return
 	 */
 	public void save(T bean, String id) {
+		String document = getDocument(bean.getClass());
+		
 		String json = JsonUtil.getSimpleGson().toJson(bean);
-		IndexRequest request = new IndexRequest(index).id(id);
+		IndexRequest request = new IndexRequest(document).id(id);
 		request.source(json, XContentType.JSON);
 		// 鍚屾鎵ц
 		try {
@@ -83,7 +107,9 @@
 	 * @param bean
 	 */
 	public void update(String id, T bean) {
-		UpdateRequest request = new UpdateRequest(index, id);
+		String document = getDocument(bean.getClass());
+		
+		UpdateRequest request = new UpdateRequest(document, id);
 		String json = new GsonBuilder().create().toJson(bean);
 		request.doc(json, XContentType.JSON);
 		try {
@@ -99,8 +125,9 @@
 	 * 
 	 * @param Document id
 	 */
-	public void delete(String id) {
-		DeleteRequest request = new DeleteRequest(index, id);
+	public void delete(String id, Class<T> entityClass) {
+		String document = getDocument(entityClass);
+		DeleteRequest request = new DeleteRequest(document, id);
 		try {
 			client.delete(request, RequestOptions.DEFAULT);
 		} catch (IOException e) {
@@ -115,7 +142,8 @@
 	 * @return
 	 */
 	public T get(String id, Class<T> entityClass) {
-		GetRequest request = new GetRequest(index, id);
+		String document = getDocument(entityClass);
+		GetRequest request = new GetRequest(document, id);
 		try {
 			GetResponse getResponse = client.get(request, RequestOptions.DEFAULT);
 			if (getResponse.isExists()) {
@@ -138,6 +166,7 @@
 	 * @return
 	 */
 	public List<T> query(String document, String key, int start, int count, Class<T> entityClass) {
+		String index = getDocument(entityClass);
 		List<T> list = new ArrayList<>();
 		SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();
 		sourceBuilder.query(QueryBuilders.termQuery(document, key));
@@ -163,10 +192,5 @@
 		}
 		return list;
 	}
-	
-	
-	
-	
-	
 	
 }

--
Gitblit v1.8.0