diff --git a/mall-pms/pms-boot/src/main/java/com/youlai/mall/pms/controller/app/SearchController.java b/mall-pms/pms-boot/src/main/java/com/youlai/mall/pms/controller/app/SearchController.java index e54c71b79a9d6b6ec73b8f858e3644ac8fad3746..13005c73ed2c7b636461f9242aa19249e6e58db4 100644 --- a/mall-pms/pms-boot/src/main/java/com/youlai/mall/pms/controller/app/SearchController.java +++ b/mall-pms/pms-boot/src/main/java/com/youlai/mall/pms/controller/app/SearchController.java @@ -34,10 +34,12 @@ public class SearchController { }) @GetMapping("/{name}") public Result searchByName(@PathVariable String name) { - SearchSourceBuilder builder = new SearchSourceBuilder(); + /* SearchSourceBuilder builder = new SearchSourceBuilder(); builder.query(QueryBuilders.matchQuery("name", name)); List list = elasticSearchService.search(builder.query(), PmsProduct.class, "pms_spu"); - return Result.success(list); + return Result.success(list);*/ + + return null; } } diff --git a/youlai-admin/admin-api/src/main/java/com/youlai/admin/pojo/domain/LoginRecord.java b/youlai-admin/admin-api/src/main/java/com/youlai/admin/pojo/domain/LoginRecord.java index 2aba2188e56e5d2b5eeb660ed036d8ac5f720c6f..cc949afe19d2716cfc4d79151cf7f1118a03d6b8 100644 --- a/youlai-admin/admin-api/src/main/java/com/youlai/admin/pojo/domain/LoginRecord.java +++ b/youlai-admin/admin-api/src/main/java/com/youlai/admin/pojo/domain/LoginRecord.java @@ -1,5 +1,6 @@ package com.youlai.admin.pojo.domain; +import com.youlai.common.base.BaseDocument; import lombok.Data; /** @@ -7,9 +8,7 @@ import lombok.Data; * @date 2021-03-09 */ @Data -public class LoginRecord { - - private String _id; +public class LoginRecord extends BaseDocument { private String description; diff --git a/youlai-admin/admin-boot/pom.xml b/youlai-admin/admin-boot/pom.xml index c7a8b246e7bc4e358da7b9055ebb326bdd726518..a94d0cd025044d574e27755d470469abada37dc6 100644 --- a/youlai-admin/admin-boot/pom.xml +++ b/youlai-admin/admin-boot/pom.xml @@ -95,7 +95,7 @@ 1.0.0 - - + diff --git a/youlai-common/common-core/src/main/java/com/youlai/common/base/BaseDocument.java b/youlai-common/common-core/src/main/java/com/youlai/common/base/BaseDocument.java new file mode 100644 index 0000000000000000000000000000000000000000..ffa054d4d492acb98f3659fe01e144fc2973bc60 --- /dev/null +++ b/youlai-common/common-core/src/main/java/com/youlai/common/base/BaseDocument.java @@ -0,0 +1,22 @@ +package com.youlai.common.base; + +import lombok.Data; + +/** + * @description document 是 ES 里的一个 JSON 对象,包括零个或多个field,类比关系数据库的一行记录 + * @author haoxr + * @createTime 2021/3/9 22:14 + */ +@Data +public class BaseDocument { + + /** + * 数据唯一标识 + */ + private String id; + + /** + * 索引名称 + */ + private String index; +} diff --git a/youlai-common/common-elasticsearch/pom.xml b/youlai-common/common-elasticsearch/pom.xml index 25b57b21db6fc542f02d07c5c776fda346dc59cf..fbbba78e74b8089784cc806007eace08677dadce 100644 --- a/youlai-common/common-elasticsearch/pom.xml +++ b/youlai-common/common-elasticsearch/pom.xml @@ -13,6 +13,11 @@ + + com.youlai + common-core + + org.elasticsearch.client elasticsearch-rest-high-level-client diff --git a/youlai-common/common-elasticsearch/src/main/java/com/youlai/common/elasticsearch/service/ElasticSearchService.java b/youlai-common/common-elasticsearch/src/main/java/com/youlai/common/elasticsearch/service/ElasticSearchService.java index b22cdad1f538895a8601d578a78efaef36b49859..1752b12a7c92c9e4dab5ea16684b161df76e346f 100644 --- a/youlai-common/common-elasticsearch/src/main/java/com/youlai/common/elasticsearch/service/ElasticSearchService.java +++ b/youlai-common/common-elasticsearch/src/main/java/com/youlai/common/elasticsearch/service/ElasticSearchService.java @@ -2,9 +2,12 @@ package com.youlai.common.elasticsearch.service; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.json.JSONUtil; +import com.youlai.common.base.BaseDocument; import com.youlai.common.elasticsearch.constant.ESConstants; import lombok.AllArgsConstructor; import lombok.SneakyThrows; +import org.elasticsearch.action.delete.DeleteRequest; +import org.elasticsearch.action.delete.DeleteResponse; import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.action.support.IndicesOptions; @@ -12,7 +15,12 @@ import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.client.core.CountRequest; import org.elasticsearch.client.core.CountResponse; +import org.elasticsearch.index.query.BoolQueryBuilder; import org.elasticsearch.index.query.QueryBuilder; +import org.elasticsearch.index.query.QueryBuilders; +import org.elasticsearch.index.query.TermQueryBuilder; +import org.elasticsearch.index.reindex.BulkByScrollResponse; +import org.elasticsearch.index.reindex.DeleteByQueryRequest; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHits; import org.elasticsearch.search.aggregations.AggregationBuilder; @@ -24,6 +32,7 @@ import org.elasticsearch.search.builder.SearchSourceBuilder; import org.elasticsearch.search.sort.SortBuilder; import org.springframework.stereotype.Service; +import java.io.IOException; import java.util.*; /** @@ -105,20 +114,21 @@ public class ElasticSearchService { } @SneakyThrows - public List search(QueryBuilder queryBuilder, Class clazz, String... indices) { + public List search(QueryBuilder queryBuilder, Class clazz, String... indices) { List list = this.search(queryBuilder, null, 1, ESConstants.DEFAULT_PAGE_SIZE, clazz, indices); return list; } @SneakyThrows - public List search(QueryBuilder queryBuilder, Integer page, Integer size, Class clazz, String... indices) { + public List search(QueryBuilder queryBuilder, Integer page, Integer size, Class clazz, String... indices) { + List list = this.search(queryBuilder, null, 1, ESConstants.DEFAULT_PAGE_SIZE, clazz, indices); return list; } @SneakyThrows - public List search(QueryBuilder queryBuilder, SortBuilder sortBuilder, Integer page, Integer size, Class clazz, String... indices) { + public List search(QueryBuilder queryBuilder, SortBuilder sortBuilder, Integer page, Integer size, Class clazz, String... indices) { // 构造SearchSourceBuilder SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder(); searchSourceBuilder.query(queryBuilder); @@ -136,9 +146,18 @@ public class ElasticSearchService { List list = CollectionUtil.newArrayList(); for (SearchHit hit : searchHits) { T t = JSONUtil.toBean(hit.getSourceAsString(), clazz); + t.setId(hit.getId()); // 数据的唯一标识 + t.setIndex(hit.getIndex());// 索引 list.add(t); } return list; } + @SneakyThrows + public boolean deleteById(String id, String index) { + DeleteRequest deleteRequest = new DeleteRequest(index,id); + DeleteResponse deleteResponse = client.delete(deleteRequest, RequestOptions.DEFAULT); + return true; + } + } diff --git a/youlai-common/common-web/pom.xml b/youlai-common/common-web/pom.xml index 116430c8b6f73a83a270d00d5b0b084beeb1dd87..9e50d004b9f388cf39f5b6a65fbec9ebacfb26d7 100644 --- a/youlai-common/common-web/pom.xml +++ b/youlai-common/common-web/pom.xml @@ -50,7 +50,6 @@ ip2region - com.github.dozermapper dozer-core diff --git a/youlai-common/common-web/src/main/java/com/youlai/common/web/aspect/LoginLogAspect.java b/youlai-common/common-web/src/main/java/com/youlai/common/web/aspect/LoginLogAspect.java index e6e5e0c1d628889adc0e863dec9051f56a98e41e..45001bcef55dd82a5b1bebff2a4a34e86f6c80ba 100644 --- a/youlai-common/common-web/src/main/java/com/youlai/common/web/aspect/LoginLogAspect.java +++ b/youlai-common/common-web/src/main/java/com/youlai/common/web/aspect/LoginLogAspect.java @@ -74,6 +74,7 @@ public class LoginLogAspect { token = jsonObject.getStr("value"); } String clientIP = IPUtils.getClientIP(request); // 客户端请求IP(注意:如果使用Nginx代理需配置) + log.info("222. {}",clientIP); String region = IPUtils.ip2region(clientIP); // IP对应的城市信息 // MDC 扩展logback字段,具体请看logback-spring.xml的自定义日志输出格式 diff --git a/youlai-common/common-web/src/main/java/com/youlai/common/web/util/IPUtils.java b/youlai-common/common-web/src/main/java/com/youlai/common/web/util/IPUtils.java index ca37484d36fbf760fdb9c1c2abab301156ce699b..ce3321373f0385d720e347bef3019bf127df6f4f 100644 --- a/youlai-common/common-web/src/main/java/com/youlai/common/web/util/IPUtils.java +++ b/youlai-common/common-web/src/main/java/com/youlai/common/web/util/IPUtils.java @@ -91,23 +91,24 @@ public class IPUtils { return Strings.EMPTY; } + log.info("1. {}",ip); if(LOCAL_IP.equals(ip)){ return "本地访问"; } - + log.info("2. {}",ip); String filePath = IPUtils.class.getResource("/data/ip2region.db").getPath(); File file = new File(filePath); if (file.exists() == false) { return Strings.EMPTY; } - + log.info("3. {}",ip); try { DbConfig config = new DbConfig(); DbSearcher searcher = new DbSearcher(config, filePath); - + log.info("4. {}",ip); Method method = searcher.getClass().getMethod("btreeSearch", String.class); DataBlock dataBlock = (DataBlock) method.invoke(searcher, ip); - + log.info("5. {}",ip); return dataBlock.getRegion(); } catch (Exception e) { @@ -117,4 +118,5 @@ public class IPUtils { } + } diff --git a/youlai-gateway/pom.xml b/youlai-gateway/pom.xml index 6b887c97ec77c3062dc9727ff9a84714a1b87131..39cb5843f19a0dc08317b03edeee5c2b5d430958 100644 --- a/youlai-gateway/pom.xml +++ b/youlai-gateway/pom.xml @@ -128,13 +128,13 @@ 1.0.0 - +