Selaa lähdekoodia

Merge remote-tracking branch 'origin/dev' into dev

suntg 7 vuotta sitten
vanhempi
commit
16b4134b9c

+ 1 - 1
pom.xml

@@ -54,7 +54,7 @@
 		<zookeeper.version>3.4.6</zookeeper.version>
 		<fastjson.version>1.2.15</fastjson.version>
 		<zkclient.version>0.1</zkclient.version>
-		<druid.version>1.0.24</druid.version>
+		<druid.version>1.1.10</druid.version>
 		<oracle.jdbc.version>11.2.0</oracle.jdbc.version>
 		<lucene.version>5.2.0</lucene.version>
 		<ikanalyzer.version>2012_v5</ikanalyzer.version>

+ 33 - 7
search-console-b2b/src/main/java/com/uas/search/console/b2b/model/PurchaseOrderSimpleInfo.java

@@ -50,6 +50,8 @@ public class PurchaseOrderSimpleInfo {
 
 	public static final String USERUU_FIELD = "pu_useruu";
 
+	public static final String SOURCE_FIELD = "pu_source";
+
 	@Id
 	@Column(name = ID_FIELD)
 	// TODO
@@ -120,6 +122,12 @@ public class PurchaseOrderSimpleInfo {
 	@Column(name = USERUU_FIELD)
 	private Long userUU;
 
+	/**
+	 * 单据来源
+	 */
+	@Column(name = SOURCE_FIELD)
+	private String source;
+
 	public Long getId() {
 		return id;
 	}
@@ -221,6 +229,14 @@ public class PurchaseOrderSimpleInfo {
 		this.end = end;
 	}
 
+	public String getSource() {
+		return source;
+	}
+
+	public void setSource(String source) {
+		this.source = source;
+	}
+
 	/**
 	 * 获取所有可以搜索的字段列名(索引的field名)
 	 * 
@@ -235,11 +251,21 @@ public class PurchaseOrderSimpleInfo {
 		return fields;
 	}
 
-	@Override
-	public String toString() {
-		return "PurchaseOrderSimpleInfo [id=" + id + ", code=" + code + ", status=" + status + ", reply=" + reply
-				+ ", end=" + end + ", display=" + display + ", date=" + date + ", enterprise=" + enterprise + ", vend="
-				+ vend + ", orderItems=" + orderItems + "]";
-	}
-
+    @Override
+    public String toString() {
+        return "PurchaseOrderSimpleInfo{" +
+                "id=" + id +
+                ", code='" + code + '\'' +
+                ", status=" + status +
+                ", reply=" + reply +
+                ", end=" + end +
+                ", display=" + display +
+                ", date=" + date +
+                ", enterprise=" + enterprise +
+                ", vend=" + vend +
+                ", orderItems=" + orderItems +
+                ", userUU=" + userUU +
+                ", source='" + source + '\'' +
+                '}';
+    }
 }

+ 20 - 2
search-console-b2b/src/main/java/com/uas/search/console/b2b/service/impl/SearchServiceImpl.java

@@ -370,10 +370,28 @@ public class SearchServiceImpl implements SearchService, InnerSearchService {
 			}
 			int totalHits = previousTopDocs.totalHits;
 			ScoreDoc[] previousScoreDocs = previousTopDocs.scoreDocs;
+			// 搜索结果为空时,返回空集
+			if (totalHits == 0) {
+				sPage.setTotalElement(totalHits);
+				int totalPage = (int) Math.ceil(totalHits / (1.0 * sPage.getSize()));
+				sPage.setTotalPage(totalPage);
+				if (totalPage == sPage.getPage()) {
+					sPage.setLast(true);
+				}
+				sPage.setContent(new ArrayList<ScoreDoc>());
+				return sPage;
+			}
+			// 超出页码数时,返回第1页数据
 			if ((sPage.getPage() - 1) * sPage.getSize() >= totalHits) {
-				throw new SearchException("页码过大:元素总数量为" + totalHits);
+				sPage.setPage(1);
+				sPage.setFirst(true);
+				if (sort != null) {
+					topDocs = indexSearcher.search(booleanQuery, sPage.getSize(), sort);
+				} else {
+					topDocs = indexSearcher.search(booleanQuery, sPage.getSize());
+				}
 			}
-			if (sort != null) {
+			if (sort != null && sPage.getPage() > 1) {
 				topDocs = indexSearcher.searchAfter(previousScoreDocs[previousScoreDocs.length - 1], booleanQuery,
 						sPage.getSize(), sort);
 			} else {

+ 4 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/util/DocumentToObjectUtils.java

@@ -1473,6 +1473,10 @@ public class DocumentToObjectUtils {
 					document.get(ClassAndTableNameUtils.combineField(tableName, PurchaseOrderSimpleInfo.ITEMS_FIELD)),
 					PurchaseOrderItemSimpleInfo.class));
 		}
+		if (null != document.get(ClassAndTableNameUtils.combineField(tableName, PurchaseOrderSimpleInfo.SOURCE_FIELD))) {
+			purchaseOrder.setSource(
+					document.get(ClassAndTableNameUtils.combineField(tableName, PurchaseOrderSimpleInfo.SOURCE_FIELD)));
+		}
 		return purchaseOrder;
 	}
 

+ 4 - 0
search-console-b2b/src/main/java/com/uas/search/console/b2b/util/ObjectToDocumentUtils.java

@@ -205,6 +205,10 @@ public class ObjectToDocumentUtils {
 					new TextField(ClassAndTableNameUtils.combineField(tableName, PurchaseOrderSimpleInfo.ITEMS_FIELD),
 							JSONObject.toJSONString(purchaseOrder.getOrderItems()), Store.YES));
 		}
+		if (!StringUtils.isEmpty(purchaseOrder.getSource())) {
+			document.add(new StringField(ClassAndTableNameUtils.combineField(tableName, PurchaseOrderSimpleInfo.SOURCE_FIELD),
+					purchaseOrder.getSource(), Store.YES));
+		}
 		// 排序字段
 
 		document.add(new NumericDocValuesField(

+ 5 - 2
search-console-b2b/src/main/resources/application.yml

@@ -4,15 +4,18 @@ spring:
    enabled: true
    max-file-size: 512MB
    max-request-size: 512MB
-     
+
 security:
+ basic:
+  enabled: true
+  path: /index/**, /schedule/**, /console, /fileUpload, /druid/*
  user:
   name: admin
   password: select111***
   role: ADMIN
  ignored:
   - /static/**
-  
+
 schedule:
  daily:
   time: