|
|
@@ -448,6 +448,31 @@ public class IndexServiceImpl implements IndexService {
|
|
|
} else if (obj instanceof ComponentSimpleInfo) {
|
|
|
indexWriter.updateDocument(new Term(SearchConstants.COMPONENT_ID_FIELD,
|
|
|
String.valueOf(((ComponentSimpleInfo) obj).getId())), document);
|
|
|
+ } else if (obj instanceof OrderSimpleInfo) {
|
|
|
+ indexWriter.updateDocument(
|
|
|
+ new Term(SearchConstants.ORDER_ID_FIELD, String.valueOf(((OrderSimpleInfo) obj).getId())),
|
|
|
+ document);
|
|
|
+ } else if (obj instanceof OrderDetailSimpleInfo) {
|
|
|
+ indexWriter.updateDocument(new Term(SearchConstants.ORDER_DETAIL_ID_FIELD,
|
|
|
+ String.valueOf(((OrderDetailSimpleInfo) obj).getId())), document);
|
|
|
+ } else if (obj instanceof OrderInvoiceSimpleInfo) {
|
|
|
+ indexWriter.updateDocument(new Term(SearchConstants.ORDER_INVOICE_ID_FIELD,
|
|
|
+ String.valueOf(((OrderInvoiceSimpleInfo) obj).getId())), document);
|
|
|
+ } else if (obj instanceof OrderInvoiceDetailSimpleInfo) {
|
|
|
+ indexWriter.updateDocument(new Term(SearchConstants.ORDER_INVOICE_DETAIL_ID_FIELD,
|
|
|
+ String.valueOf(((OrderInvoiceDetailSimpleInfo) obj).getId())), document);
|
|
|
+ } else if (obj instanceof PurchaseSimpleInfo) {
|
|
|
+ indexWriter.updateDocument(new Term(SearchConstants.PURCHASE_ID_FIELD,
|
|
|
+ String.valueOf(((PurchaseSimpleInfo) obj).getId())), document);
|
|
|
+ } else if (obj instanceof PurchaseDetailSimpleInfo) {
|
|
|
+ indexWriter.updateDocument(new Term(SearchConstants.PURCHASE_DETAIL_ID_FIELD,
|
|
|
+ String.valueOf(((PurchaseDetailSimpleInfo) obj).getId())), document);
|
|
|
+ } else if (obj instanceof PurchaseInvoiceSimpleInfo) {
|
|
|
+ indexWriter.updateDocument(new Term(SearchConstants.PURCHASE_INVOICE_ID_FIELD,
|
|
|
+ String.valueOf(((PurchaseInvoiceSimpleInfo) obj).getId())), document);
|
|
|
+ } else if (obj instanceof PurchaseInvoiceDetailSimpleInfo) {
|
|
|
+ indexWriter.updateDocument(new Term(SearchConstants.PURCHASE_INVOICE_DETAIL_ID_FIELD,
|
|
|
+ String.valueOf(((PurchaseInvoiceDetailSimpleInfo) obj).getId())), document);
|
|
|
} else {
|
|
|
logger.error("Message parsing failed!");
|
|
|
}
|
|
|
@@ -472,37 +497,37 @@ public class IndexServiceImpl implements IndexService {
|
|
|
indexWriter = indexWriterManager.get();
|
|
|
if (obj instanceof KindSimpleInfo) {
|
|
|
indexWriter.deleteDocuments(
|
|
|
- new Term(SearchConstants.KIND_ID_FIELD, ((KindSimpleInfo) obj).getId().toString()));
|
|
|
+ new Term(SearchConstants.KIND_ID_FIELD, String.valueOf(((KindSimpleInfo) obj).getId())));
|
|
|
} else if (obj instanceof BrandSimpleInfo) {
|
|
|
indexWriter.deleteDocuments(
|
|
|
- new Term(SearchConstants.BRAND_ID_FIELD, ((BrandSimpleInfo) obj).getId().toString()));
|
|
|
+ new Term(SearchConstants.BRAND_ID_FIELD, String.valueOf(((BrandSimpleInfo) obj).getId())));
|
|
|
} else if (obj instanceof ComponentSimpleInfo) {
|
|
|
- indexWriter.deleteDocuments(
|
|
|
- new Term(SearchConstants.COMPONENT_ID_FIELD, ((ComponentSimpleInfo) obj).getId().toString()));
|
|
|
+ indexWriter.deleteDocuments(new Term(SearchConstants.COMPONENT_ID_FIELD,
|
|
|
+ String.valueOf(((ComponentSimpleInfo) obj).getId())));
|
|
|
} else if (obj instanceof OrderSimpleInfo) {
|
|
|
indexWriter.deleteDocuments(
|
|
|
- new Term(SearchConstants.ORDER_ID_FIELD, ((OrderSimpleInfo) obj).getId().toString()));
|
|
|
+ new Term(SearchConstants.ORDER_ID_FIELD, String.valueOf(((OrderSimpleInfo) obj).getId())));
|
|
|
} else if (obj instanceof OrderDetailSimpleInfo) {
|
|
|
indexWriter.deleteDocuments(new Term(SearchConstants.ORDER_DETAIL_ID_FIELD,
|
|
|
- ((OrderDetailSimpleInfo) obj).getId().toString()));
|
|
|
+ String.valueOf(((OrderDetailSimpleInfo) obj).getId())));
|
|
|
} else if (obj instanceof OrderInvoiceSimpleInfo) {
|
|
|
indexWriter.deleteDocuments(new Term(SearchConstants.ORDER_INVOICE_ID_FIELD,
|
|
|
- ((OrderInvoiceSimpleInfo) obj).getId().toString()));
|
|
|
+ String.valueOf(((OrderInvoiceSimpleInfo) obj).getId())));
|
|
|
} else if (obj instanceof OrderInvoiceDetailSimpleInfo) {
|
|
|
indexWriter.deleteDocuments(new Term(SearchConstants.ORDER_INVOICE_DETAIL_ID_FIELD,
|
|
|
- ((OrderInvoiceDetailSimpleInfo) obj).getId().toString()));
|
|
|
+ String.valueOf(((OrderInvoiceDetailSimpleInfo) obj).getId())));
|
|
|
} else if (obj instanceof PurchaseSimpleInfo) {
|
|
|
- indexWriter.deleteDocuments(
|
|
|
- new Term(SearchConstants.PURCHASE_ID_FIELD, ((PurchaseSimpleInfo) obj).getId().toString()));
|
|
|
+ indexWriter.deleteDocuments(new Term(SearchConstants.PURCHASE_ID_FIELD,
|
|
|
+ String.valueOf(((PurchaseSimpleInfo) obj).getId())));
|
|
|
} else if (obj instanceof PurchaseDetailSimpleInfo) {
|
|
|
indexWriter.deleteDocuments(new Term(SearchConstants.PURCHASE_DETAIL_ID_FIELD,
|
|
|
- ((PurchaseDetailSimpleInfo) obj).getId().toString()));
|
|
|
+ String.valueOf(((PurchaseDetailSimpleInfo) obj).getId())));
|
|
|
} else if (obj instanceof PurchaseInvoiceSimpleInfo) {
|
|
|
indexWriter.deleteDocuments(new Term(SearchConstants.PURCHASE_INVOICE_ID_FIELD,
|
|
|
- ((PurchaseInvoiceSimpleInfo) obj).getId().toString()));
|
|
|
+ String.valueOf(((PurchaseInvoiceSimpleInfo) obj).getId())));
|
|
|
} else if (obj instanceof PurchaseInvoiceDetailSimpleInfo) {
|
|
|
indexWriter.deleteDocuments(new Term(SearchConstants.PURCHASE_INVOICE_DETAIL_ID_FIELD,
|
|
|
- ((PurchaseInvoiceDetailSimpleInfo) obj).getId().toString()));
|
|
|
+ String.valueOf(((PurchaseInvoiceDetailSimpleInfo) obj).getId())));
|
|
|
} else {
|
|
|
logger.error("Message parsing failed!");
|
|
|
}
|
|
|
@@ -520,8 +545,7 @@ public class IndexServiceImpl implements IndexService {
|
|
|
@Override
|
|
|
public String maintainIndexes(String tableName, String ids) {
|
|
|
if (StringUtils.isEmpty(tableName)) {
|
|
|
- throw new SearchException("需指定要维护的表名:" + SearchConstants.KIND_TABLE_NAME + "、"
|
|
|
- + SearchConstants.BRAND_TABLE_NAME + "、" + SearchConstants.COMPONENT_TABLE_NAME);
|
|
|
+ throw new SearchException("需指定要维护的表名,如:" + SearchConstants.KIND_TABLE_NAME);
|
|
|
}
|
|
|
if (StringUtils.isEmpty(ids)) {
|
|
|
throw new SearchException("需指定要维护的ids,多个id以英文逗号隔开,如:321,988");
|
|
|
@@ -533,25 +557,42 @@ public class IndexServiceImpl implements IndexService {
|
|
|
idList.add(Long.parseLong(str));
|
|
|
}
|
|
|
if (tableName.equals(SearchConstants.KIND_TABLE_NAME)) {
|
|
|
- List<KindSimpleInfo> kinds = kindDao.findAll(idList);
|
|
|
- for (KindSimpleInfo kind : kinds) {
|
|
|
- update(kind);
|
|
|
- }
|
|
|
+ update(kindDao.findAll(idList));
|
|
|
} else if (tableName.equals(SearchConstants.BRAND_TABLE_NAME)) {
|
|
|
- List<BrandSimpleInfo> brands = brandDao.findAll(idList);
|
|
|
- for (BrandSimpleInfo brand : brands) {
|
|
|
- update(brand);
|
|
|
- }
|
|
|
+ update(brandDao.findAll(idList));
|
|
|
} else if (tableName.equals(SearchConstants.COMPONENT_TABLE_NAME)) {
|
|
|
- List<ComponentSimpleInfo> components = componentDao.findAll(idList);
|
|
|
- for (ComponentSimpleInfo component : components) {
|
|
|
- update(component);
|
|
|
- }
|
|
|
+ update(componentDao.findAll(idList));
|
|
|
+ } else if (tableName.equals(SearchConstants.ORDER_TABLE_NAME)) {
|
|
|
+ update(orderDao.findAll(idList));
|
|
|
+ } else if (tableName.equals(SearchConstants.ORDER_DETAIL_TABLE_NAME)) {
|
|
|
+ update(orderDetailDao.findAll(idList));
|
|
|
+ } else if (tableName.equals(SearchConstants.ORDER_INVOICE_TABLE_NAME)) {
|
|
|
+ update(orderInvoiceDao.findAll(idList));
|
|
|
+ } else if (tableName.equals(SearchConstants.ORDER_INVOICE_DETAIL_TABLE_NAME)) {
|
|
|
+ update(orderInvoiceDetailDao.findAll(idList));
|
|
|
+ } else if (tableName.equals(SearchConstants.PURCHASE_TABLE_NAME)) {
|
|
|
+ update(purchaseDao.findAll(idList));
|
|
|
+ } else if (tableName.equals(SearchConstants.PURCHASE_DETAIL_TABLE_NAME)) {
|
|
|
+ update(purchaseDetailDao.findAll(idList));
|
|
|
+ } else if (tableName.equals(SearchConstants.PURCHASE_INVOICE_TABLE_NAME)) {
|
|
|
+ update(purchaseInvoiceDao.findAll(idList));
|
|
|
+ } else if (tableName.equals(SearchConstants.PURCHASE_INVOICE_DETAIL_TABLE_NAME)) {
|
|
|
+ update(purchaseInvoiceDetailDao.findAll(idList));
|
|
|
} else {
|
|
|
- throw new SearchException("需指定要维护的表名:" + SearchConstants.KIND_TABLE_NAME + "、"
|
|
|
- + SearchConstants.BRAND_TABLE_NAME + "、" + SearchConstants.COMPONENT_TABLE_NAME);
|
|
|
+ throw new SearchException("暂时不支持该表的索引进行维护:" + tableName);
|
|
|
}
|
|
|
return "维护成功";
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 根据对象列表,对索引进行更新
|
|
|
+ *
|
|
|
+ * @param list
|
|
|
+ */
|
|
|
+ private <T> void update(List<T> list) {
|
|
|
+ for (T element : list) {
|
|
|
+ update(element);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|