diff --git a/mall-admin/src/main/java/com/macro/mall/controller/MinioController.java b/mall-admin/src/main/java/com/macro/mall/controller/MinioController.java
index fb30e6c..b0adecd 100644
--- a/mall-admin/src/main/java/com/macro/mall/controller/MinioController.java
+++ b/mall-admin/src/main/java/com/macro/mall/controller/MinioController.java
@@ -12,10 +12,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.text.SimpleDateFormat;
@@ -43,7 +40,7 @@ public class MinioController {
@ApiOperation("文件上传")
@RequestMapping(value = "/upload", method = RequestMethod.POST)
@ResponseBody
- public CommonResult upload(@RequestParam("file") MultipartFile file) {
+ public CommonResult upload(@RequestPart("file") MultipartFile file) {
try {
//创建一个MinIO的Java客户端
MinioClient minioClient =MinioClient.builder()
diff --git a/mall-admin/src/main/resources/application-dev.yml b/mall-admin/src/main/resources/application-dev.yml
index b6d7a0b..1a75381 100644
--- a/mall-admin/src/main/resources/application-dev.yml
+++ b/mall-admin/src/main/resources/application-dev.yml
@@ -1,6 +1,6 @@
spring:
datasource:
- url: jdbc:mysql://localhost:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
+ url: jdbc:mysql://localhost:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false
username: root
password: root
druid:
@@ -19,10 +19,17 @@ spring:
password: # Redis服务器连接密码(默认为空)
timeout: 300ms # 连接超时时间(毫秒)
+minio:
+ endpoint: http://localhost:9000 #MinIO服务所在地址
+ bucketName: mall #存储桶名称
+ accessKey: minioadmin #访问的key
+ secretKey: minioadmin #访问的秘钥
+
logging:
level:
root: info
com.macro.mall: debug
logstash:
- host: localhost
\ No newline at end of file
+ host: localhost
+ enableInnerLog: false
\ No newline at end of file
diff --git a/mall-admin/src/main/resources/application-prod.yml b/mall-admin/src/main/resources/application-prod.yml
index c8cfe5c..7a63641 100644
--- a/mall-admin/src/main/resources/application-prod.yml
+++ b/mall-admin/src/main/resources/application-prod.yml
@@ -1,6 +1,6 @@
spring:
datasource:
- url: jdbc:mysql://db:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
+ url: jdbc:mysql://db:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false
username: reader
password: 123456
druid:
@@ -19,6 +19,12 @@ spring:
password: # Redis服务器连接密码(默认为空)
timeout: 300ms # 连接超时时间(毫秒)
+minio:
+ endpoint: http://192.168.3.101:9090 #MinIO服务所在地址
+ bucketName: mall #存储桶名称
+ accessKey: minioadmin #访问的key
+ secretKey: minioadmin #访问的秘钥
+
logging:
file:
path: /var/logs
diff --git a/mall-common/src/main/resources/logback-spring.xml b/mall-common/src/main/resources/logback-spring.xml
index eeac305..a478db3 100644
--- a/mall-common/src/main/resources/logback-spring.xml
+++ b/mall-common/src/main/resources/logback-spring.xml
@@ -11,6 +11,8 @@
+
+
DEBUG
${LOG_STASH_HOST}:4560
+ ${ENABLE_INNER_LOG}
@@ -96,6 +99,7 @@
DENY
${LOG_STASH_HOST}:4561
+ ${ENABLE_INNER_LOG}
@@ -123,6 +127,7 @@
${LOG_STASH_HOST}:4562
+ ${ENABLE_INNER_LOG}
@@ -150,6 +155,7 @@
${LOG_STASH_HOST}:4563
+ ${ENABLE_INNER_LOG}
diff --git a/mall-demo/src/main/resources/logback-spring.xml b/mall-demo/src/main/resources/logback-spring.xml
deleted file mode 100644
index 4b7b6da..0000000
--- a/mall-demo/src/main/resources/logback-spring.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
- localhost:4560
-
-
-
-
-
-
-
-
diff --git a/mall-portal/src/main/resources/application-dev.yml b/mall-portal/src/main/resources/application-dev.yml
index c0af59e..8ab796b 100644
--- a/mall-portal/src/main/resources/application-dev.yml
+++ b/mall-portal/src/main/resources/application-dev.yml
@@ -3,7 +3,7 @@ server:
spring:
datasource:
- url: jdbc:mysql://localhost:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
+ url: jdbc:mysql://localhost:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false
username: root
password: root
druid:
@@ -40,4 +40,5 @@ logging:
logstash:
host: localhost
+ enableInnerLog: false
diff --git a/mall-portal/src/main/resources/application-prod.yml b/mall-portal/src/main/resources/application-prod.yml
index c272a4f..32b8d22 100644
--- a/mall-portal/src/main/resources/application-prod.yml
+++ b/mall-portal/src/main/resources/application-prod.yml
@@ -3,7 +3,7 @@ server:
spring:
datasource:
- url: jdbc:mysql://db:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
+ url: jdbc:mysql://db:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false
username: reader
password: 123456
druid:
diff --git a/mall-search/src/main/java/com/macro/mall/search/domain/EsProduct.java b/mall-search/src/main/java/com/macro/mall/search/domain/EsProduct.java
index cdb17e0..8424965 100644
--- a/mall-search/src/main/java/com/macro/mall/search/domain/EsProduct.java
+++ b/mall-search/src/main/java/com/macro/mall/search/domain/EsProduct.java
@@ -6,6 +6,7 @@ import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;
+import org.springframework.data.elasticsearch.annotations.Setting;
import java.io.Serializable;
import java.math.BigDecimal;
@@ -17,7 +18,8 @@ import java.util.List;
*/
@Data
@EqualsAndHashCode
-@Document(indexName = "pms",shards = 1,replicas = 0)
+@Document(indexName = "pms")
+@Setting(shards = 1,replicas = 0)
public class EsProduct implements Serializable {
private static final long serialVersionUID = -1L;
@Id
diff --git a/mall-search/src/main/java/com/macro/mall/search/service/impl/EsProductServiceImpl.java b/mall-search/src/main/java/com/macro/mall/search/service/impl/EsProductServiceImpl.java
index fa48828..d8d0041 100644
--- a/mall-search/src/main/java/com/macro/mall/search/service/impl/EsProductServiceImpl.java
+++ b/mall-search/src/main/java/com/macro/mall/search/service/impl/EsProductServiceImpl.java
@@ -1,5 +1,6 @@
package com.macro.mall.search.service.impl;
+import cn.hutool.core.util.StrUtil;
import com.macro.mall.search.dao.EsProductDao;
import com.macro.mall.search.domain.EsProduct;
import com.macro.mall.search.domain.EsProductRelatedInfo;
@@ -13,6 +14,7 @@ import org.elasticsearch.index.query.functionscore.ScoreFunctionBuilders;
import org.elasticsearch.search.aggregations.AbstractAggregationBuilder;
import org.elasticsearch.search.aggregations.Aggregation;
import org.elasticsearch.search.aggregations.AggregationBuilders;
+import org.elasticsearch.search.aggregations.Aggregations;
import org.elasticsearch.search.aggregations.bucket.filter.ParsedFilter;
import org.elasticsearch.search.aggregations.bucket.nested.ParsedNested;
import org.elasticsearch.search.aggregations.bucket.terms.ParsedLongTerms;
@@ -36,10 +38,7 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
import java.util.stream.Collectors;
@@ -142,21 +141,21 @@ public class EsProductServiceImpl implements EsProductService {
//排序
if(sort==1){
//按新品从新到旧
- nativeSearchQueryBuilder.withSort(SortBuilders.fieldSort("id").order(SortOrder.DESC));
+ nativeSearchQueryBuilder.withSorts(SortBuilders.fieldSort("id").order(SortOrder.DESC));
}else if(sort==2){
//按销量从高到低
- nativeSearchQueryBuilder.withSort(SortBuilders.fieldSort("sale").order(SortOrder.DESC));
+ nativeSearchQueryBuilder.withSorts(SortBuilders.fieldSort("sale").order(SortOrder.DESC));
}else if(sort==3){
//按价格从低到高
- nativeSearchQueryBuilder.withSort(SortBuilders.fieldSort("price").order(SortOrder.ASC));
+ nativeSearchQueryBuilder.withSorts(SortBuilders.fieldSort("price").order(SortOrder.ASC));
}else if(sort==4){
//按价格从高到低
- nativeSearchQueryBuilder.withSort(SortBuilders.fieldSort("price").order(SortOrder.DESC));
+ nativeSearchQueryBuilder.withSorts(SortBuilders.fieldSort("price").order(SortOrder.DESC));
}else{
//按相关度
- nativeSearchQueryBuilder.withSort(SortBuilders.scoreSort().order(SortOrder.DESC));
+ nativeSearchQueryBuilder.withSorts(SortBuilders.scoreSort().order(SortOrder.DESC));
}
- nativeSearchQueryBuilder.withSort(SortBuilders.scoreSort().order(SortOrder.DESC));
+ nativeSearchQueryBuilder.withSorts(SortBuilders.scoreSort().order(SortOrder.DESC));
NativeSearchQuery searchQuery = nativeSearchQueryBuilder.build();
LOGGER.info("DSL:{}", searchQuery.getQuery().toString());
SearchHits searchHits = elasticsearchRestTemplate.search(searchQuery, EsProduct.class);
@@ -217,15 +216,15 @@ public class EsProductServiceImpl implements EsProductService {
public EsProductRelatedInfo searchRelatedInfo(String keyword) {
NativeSearchQueryBuilder builder = new NativeSearchQueryBuilder();
//搜索条件
- if(StringUtils.isEmpty(keyword)){
+ if(StrUtil.isEmpty(keyword)){
builder.withQuery(QueryBuilders.matchAllQuery());
}else{
builder.withQuery(QueryBuilders.multiMatchQuery(keyword,"name","subTitle","keywords"));
}
//聚合搜索品牌名称
- builder.addAggregation(AggregationBuilders.terms("brandNames").field("brandName"));
+ builder.withAggregations(AggregationBuilders.terms("brandNames").field("brandName"));
//集合搜索分类名称
- builder.addAggregation(AggregationBuilders.terms("productCategoryNames").field("productCategoryName"));
+ builder.withAggregations(AggregationBuilders.terms("productCategoryNames").field("productCategoryName"));
//聚合搜索商品属性,去除type=1的属性
AbstractAggregationBuilder aggregationBuilder = AggregationBuilders.nested("allAttrValues","attrValueList")
.subAggregation(AggregationBuilders.filter("productAttrs",QueryBuilders.termQuery("attrValueList.type",1))
@@ -235,7 +234,7 @@ public class EsProductServiceImpl implements EsProductService {
.field("attrValueList.value"))
.subAggregation(AggregationBuilders.terms("attrNames")
.field("attrValueList.name"))));
- builder.addAggregation(aggregationBuilder);
+ builder.withAggregations(aggregationBuilder);
NativeSearchQuery searchQuery = builder.build();
SearchHits searchHits = elasticsearchRestTemplate.search(searchQuery, EsProduct.class);
return convertProductRelatedInfo(searchHits);
@@ -246,7 +245,7 @@ public class EsProductServiceImpl implements EsProductService {
*/
private EsProductRelatedInfo convertProductRelatedInfo(SearchHits response) {
EsProductRelatedInfo productRelatedInfo = new EsProductRelatedInfo();
- Map aggregationMap = response.getAggregations().getAsMap();
+ Map aggregationMap = ((Aggregations)response.getAggregations().aggregations()).asMap();
//设置品牌
Aggregation brandNames = aggregationMap.get("brandNames");
List brandNameList = new ArrayList<>();
diff --git a/mall-search/src/main/resources/application-dev.yml b/mall-search/src/main/resources/application-dev.yml
index 9804340..8793b79 100644
--- a/mall-search/src/main/resources/application-dev.yml
+++ b/mall-search/src/main/resources/application-dev.yml
@@ -1,6 +1,6 @@
spring:
datasource:
- url: jdbc:mysql://localhost:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
+ url: jdbc:mysql://localhost:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false
username: root
password: root
druid:
@@ -17,8 +17,7 @@ spring:
repositories:
enabled: true
elasticsearch:
- rest:
- uris: localhost:9200
+ uris: localhost:9200
logging:
level:
@@ -26,4 +25,5 @@ logging:
com.macro.mall: debug
logstash:
- host: localhost
\ No newline at end of file
+ host: localhost
+ enableInnerLog: false
\ No newline at end of file
diff --git a/mall-search/src/main/resources/application-prod.yml b/mall-search/src/main/resources/application-prod.yml
index 2fd0771..07b4fc9 100644
--- a/mall-search/src/main/resources/application-prod.yml
+++ b/mall-search/src/main/resources/application-prod.yml
@@ -1,6 +1,6 @@
spring:
datasource:
- url: jdbc:mysql://db:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
+ url: jdbc:mysql://db:3306/mall?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false
username: reader
password: 123456
druid:
@@ -17,8 +17,7 @@ spring:
repositories:
enabled: true
elasticsearch:
- rest:
- uris: es:9200
+ uris: es:9200
logging:
file: