|
|
@@ -29,28 +29,28 @@ import com.uas.search.constant.SearchConstants;
|
|
|
import com.uas.search.constant.model.PageInfo;
|
|
|
import com.uas.search.constant.model.PageParams;
|
|
|
import com.uas.search.constant.model.SPage;
|
|
|
-import com.uas.search.dao.BrandSimpleInfoDao;
|
|
|
-import com.uas.search.dao.ComponentSimpleInfoDao;
|
|
|
-import com.uas.search.dao.GoodsSimpleInfoDao;
|
|
|
-import com.uas.search.dao.KindSimpleInfoDao;
|
|
|
+import com.uas.search.dao.BrandDao;
|
|
|
+import com.uas.search.dao.ComponentDao;
|
|
|
+import com.uas.search.dao.GoodsDao;
|
|
|
+import com.uas.search.dao.KindDao;
|
|
|
import com.uas.search.dao.LuceneQueueMessageDao;
|
|
|
-import com.uas.search.dao.OrderInvoiceSimpleInfoDao;
|
|
|
-import com.uas.search.dao.OrderSimpleInfoDao;
|
|
|
-import com.uas.search.dao.PurchaseInvoiceSimpleInfoDao;
|
|
|
-import com.uas.search.dao.PurchaseSimpleInfoDao;
|
|
|
+import com.uas.search.dao.OrderInvoiceDao;
|
|
|
+import com.uas.search.dao.OrderDao;
|
|
|
+import com.uas.search.dao.PurchaseInvoiceDao;
|
|
|
+import com.uas.search.dao.PurchaseDao;
|
|
|
import com.uas.search.exception.SearchException;
|
|
|
import com.uas.search.jms.AQListener;
|
|
|
import com.uas.search.jms.QueueMessageParser;
|
|
|
-import com.uas.search.model.BrandSimpleInfo;
|
|
|
-import com.uas.search.model.ComponentSimpleInfo;
|
|
|
-import com.uas.search.model.GoodsSimpleInfo;
|
|
|
-import com.uas.search.model.KindSimpleInfo;
|
|
|
+import com.uas.search.model.Brand;
|
|
|
+import com.uas.search.model.Component;
|
|
|
+import com.uas.search.model.Goods;
|
|
|
+import com.uas.search.model.Kind;
|
|
|
import com.uas.search.model.LuceneQueueMessage;
|
|
|
-import com.uas.search.model.OrderInvoiceSimpleInfo;
|
|
|
-import com.uas.search.model.OrderSimpleInfo;
|
|
|
+import com.uas.search.model.OrderInvoice;
|
|
|
+import com.uas.search.model.Order;
|
|
|
import com.uas.search.model.ParsedQueueMessage;
|
|
|
-import com.uas.search.model.PurchaseInvoiceSimpleInfo;
|
|
|
-import com.uas.search.model.PurchaseSimpleInfo;
|
|
|
+import com.uas.search.model.PurchaseInvoice;
|
|
|
+import com.uas.search.model.Purchase;
|
|
|
import com.uas.search.service.IndexService;
|
|
|
import com.uas.search.support.IndexSearcherManager;
|
|
|
import com.uas.search.support.IndexWriterManager;
|
|
|
@@ -73,28 +73,28 @@ public class IndexServiceImpl implements IndexService {
|
|
|
private LuceneQueueMessageDao luceneQueueMessageDao;
|
|
|
|
|
|
@Autowired
|
|
|
- private KindSimpleInfoDao kindDao;
|
|
|
+ private KindDao kindDao;
|
|
|
|
|
|
@Autowired
|
|
|
- private BrandSimpleInfoDao brandDao;
|
|
|
+ private BrandDao brandDao;
|
|
|
|
|
|
@Autowired
|
|
|
- private ComponentSimpleInfoDao componentDao;
|
|
|
+ private ComponentDao componentDao;
|
|
|
|
|
|
@Autowired
|
|
|
- private GoodsSimpleInfoDao goodsDao;
|
|
|
+ private GoodsDao goodsDao;
|
|
|
|
|
|
@Autowired
|
|
|
- private OrderSimpleInfoDao orderDao;
|
|
|
+ private OrderDao orderDao;
|
|
|
|
|
|
@Autowired
|
|
|
- private OrderInvoiceSimpleInfoDao orderInvoiceDao;
|
|
|
+ private OrderInvoiceDao orderInvoiceDao;
|
|
|
|
|
|
@Autowired
|
|
|
- private PurchaseSimpleInfoDao purchaseDao;
|
|
|
+ private PurchaseDao purchaseDao;
|
|
|
|
|
|
@Autowired
|
|
|
- private PurchaseInvoiceSimpleInfoDao purchaseInvoiceDao;
|
|
|
+ private PurchaseInvoiceDao purchaseInvoiceDao;
|
|
|
|
|
|
private IndexWriter indexWriter;
|
|
|
|
|
|
@@ -210,7 +210,7 @@ public class IndexServiceImpl implements IndexService {
|
|
|
*/
|
|
|
private Long createKindIndexes() throws IOException {
|
|
|
logger.info("正在创建类目索引...");
|
|
|
- List<KindSimpleInfo> kinds = kindDao.findAll();
|
|
|
+ List<Kind> kinds = kindDao.findAll();
|
|
|
logger.info("发现数据:" + kinds.size() + "条");
|
|
|
return createIndexesWithObjects(kinds.toArray());
|
|
|
}
|
|
|
@@ -223,7 +223,7 @@ public class IndexServiceImpl implements IndexService {
|
|
|
*/
|
|
|
private Long createBrandIndexes() throws IOException {
|
|
|
logger.info("正在创建品牌索引...");
|
|
|
- List<BrandSimpleInfo> brands = brandDao.findAll();
|
|
|
+ List<Brand> brands = brandDao.findAll();
|
|
|
logger.info("发现数据:" + brands.size() + "条");
|
|
|
return createIndexesWithObjects(brands.toArray());
|
|
|
}
|
|
|
@@ -246,7 +246,7 @@ public class IndexServiceImpl implements IndexService {
|
|
|
BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
|
|
|
String line = null;
|
|
|
while (!StringUtils.isEmpty(line = bufferedReader.readLine())) {
|
|
|
- ComponentSimpleInfo component = JSONObject.parseObject(line, ComponentSimpleInfo.class);
|
|
|
+ Component component = JSONObject.parseObject(line, Component.class);
|
|
|
Document document = ObjectToDocumentUtils.toDocument(component);
|
|
|
if (document != null) {
|
|
|
size++;
|
|
|
@@ -285,14 +285,14 @@ public class IndexServiceImpl implements IndexService {
|
|
|
params.setPage(page);
|
|
|
|
|
|
PageInfo info = new PageInfo(params);
|
|
|
- Page<ComponentSimpleInfo> pageResult = componentDao.findAll(info);
|
|
|
+ Page<Component> pageResult = componentDao.findAll(info);
|
|
|
long totalElements = pageResult.getTotalElements();
|
|
|
logger.info("Number of components: " + totalElements);
|
|
|
// 用于记录上次提交索引时的创建进度
|
|
|
double recordProgress = 0;
|
|
|
while (totalElements > size) {
|
|
|
- List<ComponentSimpleInfo> components = pageResult.getContent();
|
|
|
- for (ComponentSimpleInfo component : components) {
|
|
|
+ List<Component> components = pageResult.getContent();
|
|
|
+ for (Component component : components) {
|
|
|
Document document = ObjectToDocumentUtils.toDocument(component);
|
|
|
if (document != null) {
|
|
|
indexWriter.addDocument(document);
|
|
|
@@ -335,7 +335,7 @@ public class IndexServiceImpl implements IndexService {
|
|
|
BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
|
|
|
String line = null;
|
|
|
while (!StringUtils.isEmpty(line = bufferedReader.readLine())) {
|
|
|
- GoodsSimpleInfo goods = JSONObject.parseObject(line, GoodsSimpleInfo.class);
|
|
|
+ Goods goods = JSONObject.parseObject(line, Goods.class);
|
|
|
Document document = ObjectToDocumentUtils.toDocument(goods);
|
|
|
if (document != null) {
|
|
|
size++;
|
|
|
@@ -361,28 +361,28 @@ public class IndexServiceImpl implements IndexService {
|
|
|
|
|
|
private Long createOrderIndexes() {
|
|
|
logger.info("正在创建销售单索引...");
|
|
|
- List<OrderSimpleInfo> orders = orderDao.findAll();
|
|
|
+ List<Order> orders = orderDao.findAll();
|
|
|
logger.info("发现数据:" + orders.size() + "条");
|
|
|
return createIndexesWithObjects(orders.toArray());
|
|
|
}
|
|
|
|
|
|
private Long createOrderInvoiceIndexes() {
|
|
|
logger.info("正在创建销售发货单索引...");
|
|
|
- List<OrderInvoiceSimpleInfo> orderInvoices = orderInvoiceDao.findAll();
|
|
|
+ List<OrderInvoice> orderInvoices = orderInvoiceDao.findAll();
|
|
|
logger.info("发现数据:" + orderInvoices.size() + "条");
|
|
|
return createIndexesWithObjects(orderInvoices.toArray());
|
|
|
}
|
|
|
|
|
|
private Long createPurchaseIndexes() {
|
|
|
logger.info("正在创建采购单索引...");
|
|
|
- List<PurchaseSimpleInfo> purchases = purchaseDao.findAll();
|
|
|
+ List<Purchase> purchases = purchaseDao.findAll();
|
|
|
logger.info("发现数据:" + purchases.size() + "条");
|
|
|
return createIndexesWithObjects(purchases.toArray());
|
|
|
}
|
|
|
|
|
|
private Long createPurchaseInvoiceIndexes() {
|
|
|
logger.info("正在创建采购发货单索引...");
|
|
|
- List<PurchaseInvoiceSimpleInfo> purchaseInvoices = purchaseInvoiceDao.findAll();
|
|
|
+ List<PurchaseInvoice> purchaseInvoices = purchaseInvoiceDao.findAll();
|
|
|
logger.info("发现数据:" + purchaseInvoices.size() + "条");
|
|
|
return createIndexesWithObjects(purchaseInvoices.toArray());
|
|
|
}
|
|
|
@@ -391,9 +391,9 @@ public class IndexServiceImpl implements IndexService {
|
|
|
* 利用对象数组创建索引
|
|
|
*
|
|
|
* @param objects
|
|
|
- * 对象数组,可为KindSimpleInfo、BrandSimpleInfo、OrderSimpleInfo、
|
|
|
- * OrderInvoiceSimpleInfo、PurchaseSimpleInfo、
|
|
|
- * PurchaseInvoiceSimpleInfo
|
|
|
+ * 对象数组,可为Kind、Brand、Order、
|
|
|
+ * OrderInvoice、Purchase、
|
|
|
+ * PurchaseInvoice
|
|
|
* @return 对象数组的数量
|
|
|
*/
|
|
|
private Long createIndexesWithObjects(Object[] objects) {
|
|
|
@@ -435,7 +435,7 @@ public class IndexServiceImpl implements IndexService {
|
|
|
pageParams.setPage((fileIndex - 1) * SINGLE_FILE_MAX_SIZE / PAGE_SIZE + 1);
|
|
|
pageParams.setSize(PAGE_SIZE);
|
|
|
PageInfo pageInfo = new PageInfo(pageParams);
|
|
|
- Page<ComponentSimpleInfo> pageResult = componentDao.findAll(pageInfo);
|
|
|
+ Page<Component> pageResult = componentDao.findAll(pageInfo);
|
|
|
|
|
|
// 数据库中数据的总数目
|
|
|
if (pageResult.getTotalElements() < (fileIndex - 1) * SINGLE_FILE_MAX_SIZE) {
|
|
|
@@ -464,8 +464,8 @@ public class IndexServiceImpl implements IndexService {
|
|
|
fileIndex++;
|
|
|
printWriter = new PrintWriter(componentDataPath + "/" + fileIndex + ".txt");
|
|
|
}
|
|
|
- List<ComponentSimpleInfo> content = pageResult.getContent();
|
|
|
- for (ComponentSimpleInfo element : content) {
|
|
|
+ List<Component> content = pageResult.getContent();
|
|
|
+ for (Component element : content) {
|
|
|
printWriter.println(JSONObject.toJSONString(element));
|
|
|
count++;
|
|
|
}
|
|
|
@@ -518,28 +518,28 @@ public class IndexServiceImpl implements IndexService {
|
|
|
if (document != null) {
|
|
|
try {
|
|
|
indexWriter = indexWriterManager.get(tableName);
|
|
|
- if (obj instanceof KindSimpleInfo) {
|
|
|
+ if (obj instanceof Kind) {
|
|
|
indexWriter.updateDocument(
|
|
|
- new Term(SearchConstants.KIND_ID_FIELD, String.valueOf(((KindSimpleInfo) obj).getId())),
|
|
|
+ new Term(SearchConstants.KIND_ID_FIELD, String.valueOf(((Kind) obj).getId())),
|
|
|
document);
|
|
|
- } else if (obj instanceof BrandSimpleInfo) {
|
|
|
+ } else if (obj instanceof Brand) {
|
|
|
indexWriter.updateDocument(new Term(SearchConstants.BRAND_ID_FIELD,
|
|
|
- String.valueOf(((BrandSimpleInfo) obj).getId())), document);
|
|
|
- } else if (obj instanceof ComponentSimpleInfo) {
|
|
|
+ String.valueOf(((Brand) obj).getId())), document);
|
|
|
+ } else if (obj instanceof Component) {
|
|
|
indexWriter.updateDocument(new Term(SearchConstants.COMPONENT_ID_FIELD,
|
|
|
- String.valueOf(((ComponentSimpleInfo) obj).getId())), document);
|
|
|
- } else if (obj instanceof OrderSimpleInfo) {
|
|
|
+ String.valueOf(((Component) obj).getId())), document);
|
|
|
+ } else if (obj instanceof Order) {
|
|
|
indexWriter.updateDocument(new Term(SearchConstants.ORDER_ID_FIELD,
|
|
|
- String.valueOf(((OrderSimpleInfo) obj).getId())), document);
|
|
|
- } else if (obj instanceof OrderInvoiceSimpleInfo) {
|
|
|
+ String.valueOf(((Order) obj).getId())), document);
|
|
|
+ } else if (obj instanceof OrderInvoice) {
|
|
|
indexWriter.updateDocument(new Term(SearchConstants.ORDER_INVOICE_ID_FIELD,
|
|
|
- String.valueOf(((OrderInvoiceSimpleInfo) obj).getId())), document);
|
|
|
- } else if (obj instanceof PurchaseSimpleInfo) {
|
|
|
+ String.valueOf(((OrderInvoice) obj).getId())), document);
|
|
|
+ } else if (obj instanceof Purchase) {
|
|
|
indexWriter.updateDocument(new Term(SearchConstants.PURCHASE_ID_FIELD,
|
|
|
- String.valueOf(((PurchaseSimpleInfo) obj).getId())), document);
|
|
|
- } else if (obj instanceof PurchaseInvoiceSimpleInfo) {
|
|
|
+ String.valueOf(((Purchase) obj).getId())), document);
|
|
|
+ } else if (obj instanceof PurchaseInvoice) {
|
|
|
indexWriter.updateDocument(new Term(SearchConstants.PURCHASE_INVOICE_ID_FIELD,
|
|
|
- String.valueOf(((PurchaseInvoiceSimpleInfo) obj).getId())), document);
|
|
|
+ String.valueOf(((PurchaseInvoice) obj).getId())), document);
|
|
|
} else {
|
|
|
throw new SearchException("Message parsing failed!");
|
|
|
}
|
|
|
@@ -563,29 +563,29 @@ public class IndexServiceImpl implements IndexService {
|
|
|
String tableName = SearchUtils.getTableName(obj.getClass());
|
|
|
try {
|
|
|
indexWriter = indexWriterManager.get(tableName);
|
|
|
- if (obj instanceof KindSimpleInfo) {
|
|
|
+ if (obj instanceof Kind) {
|
|
|
indexWriter.deleteDocuments(
|
|
|
- new Term(SearchConstants.KIND_ID_FIELD, String.valueOf(((KindSimpleInfo) obj).getId())));
|
|
|
- } else if (obj instanceof BrandSimpleInfo) {
|
|
|
+ new Term(SearchConstants.KIND_ID_FIELD, String.valueOf(((Kind) obj).getId())));
|
|
|
+ } else if (obj instanceof Brand) {
|
|
|
indexWriter.deleteDocuments(
|
|
|
- new Term(SearchConstants.BRAND_ID_FIELD, String.valueOf(((BrandSimpleInfo) obj).getId())));
|
|
|
- } else if (obj instanceof ComponentSimpleInfo) {
|
|
|
+ new Term(SearchConstants.BRAND_ID_FIELD, String.valueOf(((Brand) obj).getId())));
|
|
|
+ } else if (obj instanceof Component) {
|
|
|
indexWriter.deleteDocuments(new Term(SearchConstants.COMPONENT_ID_FIELD,
|
|
|
- String.valueOf(((ComponentSimpleInfo) obj).getId())));
|
|
|
- } else if (obj instanceof GoodsSimpleInfo) {
|
|
|
- indexWriter.deleteDocuments(toTerm((GoodsSimpleInfo) obj));
|
|
|
- } else if (obj instanceof OrderSimpleInfo) {
|
|
|
+ String.valueOf(((Component) obj).getId())));
|
|
|
+ } else if (obj instanceof Goods) {
|
|
|
+ indexWriter.deleteDocuments(toTerm((Goods) obj));
|
|
|
+ } else if (obj instanceof Order) {
|
|
|
indexWriter.deleteDocuments(
|
|
|
- new Term(SearchConstants.ORDER_ID_FIELD, String.valueOf(((OrderSimpleInfo) obj).getId())));
|
|
|
- } else if (obj instanceof OrderInvoiceSimpleInfo) {
|
|
|
+ new Term(SearchConstants.ORDER_ID_FIELD, String.valueOf(((Order) obj).getId())));
|
|
|
+ } else if (obj instanceof OrderInvoice) {
|
|
|
indexWriter.deleteDocuments(new Term(SearchConstants.ORDER_INVOICE_ID_FIELD,
|
|
|
- String.valueOf(((OrderInvoiceSimpleInfo) obj).getId())));
|
|
|
- } else if (obj instanceof PurchaseSimpleInfo) {
|
|
|
+ String.valueOf(((OrderInvoice) obj).getId())));
|
|
|
+ } else if (obj instanceof Purchase) {
|
|
|
indexWriter.deleteDocuments(new Term(SearchConstants.PURCHASE_ID_FIELD,
|
|
|
- String.valueOf(((PurchaseSimpleInfo) obj).getId())));
|
|
|
- } else if (obj instanceof PurchaseInvoiceSimpleInfo) {
|
|
|
+ String.valueOf(((Purchase) obj).getId())));
|
|
|
+ } else if (obj instanceof PurchaseInvoice) {
|
|
|
indexWriter.deleteDocuments(new Term(SearchConstants.PURCHASE_INVOICE_ID_FIELD,
|
|
|
- String.valueOf(((PurchaseInvoiceSimpleInfo) obj).getId())));
|
|
|
+ String.valueOf(((PurchaseInvoice) obj).getId())));
|
|
|
} else {
|
|
|
throw new SearchException("Message parsing failed!");
|
|
|
}
|
|
|
@@ -608,7 +608,7 @@ public class IndexServiceImpl implements IndexService {
|
|
|
* @param goods
|
|
|
* @return
|
|
|
*/
|
|
|
- private Term toTerm(GoodsSimpleInfo goods) {
|
|
|
+ private Term toTerm(Goods goods) {
|
|
|
if (goods.getGoId() != null) {
|
|
|
return new Term(SearchConstants.GOODS_GO_ID_FIELD, String.valueOf(goods.getGoId()));
|
|
|
} else if (goods.getCmpId() != null) {
|
|
|
@@ -632,10 +632,10 @@ public class IndexServiceImpl implements IndexService {
|
|
|
// 新增、更新索引
|
|
|
if (parsedQueueMessage.isInsert() || parsedQueueMessage.isUpdate()) {
|
|
|
for (Object object : objects) {
|
|
|
- if (object instanceof GoodsSimpleInfo) {
|
|
|
- List<GoodsSimpleInfo> goodsesList = goodsDao.find((GoodsSimpleInfo) object);
|
|
|
+ if (object instanceof Goods) {
|
|
|
+ List<Goods> goodsesList = goodsDao.find((Goods) object);
|
|
|
delete(object);
|
|
|
- for (GoodsSimpleInfo goods : goodsesList) {
|
|
|
+ for (Goods goods : goodsesList) {
|
|
|
Object maintainedObject = save(goods);
|
|
|
if (maintainedObject != null) {
|
|
|
maintainedObjects.add(maintainedObject);
|