From c8f11c229b87d1652b6da0b15576c166cd51eb8b Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 01 一月 2020 14:25:22 +0800 Subject: [PATCH] 首页悬浮图mapperbug修改,增加商品详情中的比例展示 --- 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