| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266 |
- package com.uas.search.console.util;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.HashSet;
- import java.util.List;
- import java.util.Set;
- import org.apache.lucene.document.Document;
- import com.alibaba.dubbo.common.utils.StringUtils;
- import com.alibaba.fastjson.JSONObject;
- import com.uas.search.console.model.BaseOrderDetailSimpleInfo;
- import com.uas.search.console.model.BrandSimpleInfo;
- import com.uas.search.console.model.ComponentSimpleInfo;
- import com.uas.search.console.model.EnterpriseSimpleInfo;
- import com.uas.search.console.model.GoodsSimpleInfo;
- import com.uas.search.console.model.KindSimpleInfo;
- import com.uas.search.console.model.OrderDetailSimpleInfo;
- import com.uas.search.console.model.OrderInvoiceDetailSimpleInfo;
- import com.uas.search.console.model.OrderInvoiceSimpleInfo;
- import com.uas.search.console.model.OrderSimpleInfo;
- import com.uas.search.console.model.PurchaseDetailSimpleInfo;
- import com.uas.search.console.model.PurchaseInvoiceDetailSimpleInfo;
- import com.uas.search.console.model.PurchaseInvoiceSimpleInfo;
- import com.uas.search.console.model.PurchaseSimpleInfo;
- import com.uas.search.model.BaseOrderDetail;
- /**
- * 将Document转换为对象的工具类
- *
- * @author sunyj
- * @since 2016年10月24日 下午2:24:39
- */
- public class DocumentToObjectUtils {
- /**
- * 将Document转换为类目对象
- *
- * @param document
- * @return
- */
- public static KindSimpleInfo toKind(Document document) {
- if (document == null) {
- return null;
- }
- KindSimpleInfo kind = new KindSimpleInfo();
- kind.setId(Long.valueOf(document.get(SearchConstants.KIND_ID_FIELD)));
- kind.setNameCn(document.get(SearchConstants.KIND_NAMECN_FIELD));
- kind.setIsLeaf(Short.valueOf(document.get(SearchConstants.KIND_ISLEAF_FIELD)));
- kind.setLevel(Short.valueOf(document.get(SearchConstants.KIND_LEVEL_FIELD)));
- return kind;
- }
- /**
- * 将Document转换为品牌对象
- *
- * @param document
- * @return
- */
- public static BrandSimpleInfo toBrand(Document document) {
- if (document == null) {
- return null;
- }
- BrandSimpleInfo brand = new BrandSimpleInfo();
- brand.setId(Long.valueOf(document.get(SearchConstants.BRAND_ID_FIELD)));
- brand.setNameCn(document.get(SearchConstants.BRAND_NAMECN_FIELD));
- brand.setNameEn(document.get(SearchConstants.BRAND_NAMEEN_FIELD));
- brand.setUuid(document.get(SearchConstants.BRAND_UUID_FIELD));
- return brand;
- }
- /**
- * 将Document转换为器件对象
- *
- * @param document
- * @return
- */
- public static ComponentSimpleInfo toComponent(Document document) {
- if (document == null) {
- return null;
- }
- ComponentSimpleInfo component = new ComponentSimpleInfo();
- component.setId(Long.valueOf(document.get(SearchConstants.COMPONENT_ID_FIELD)));
- component.setCode(document.get(SearchConstants.COMPONENT_CODE_FIELD));
- component.setUuid(document.get(SearchConstants.COMPONENT_UUID_FIELD));
- KindSimpleInfo kind = new KindSimpleInfo();
- kind.setId(Long.valueOf(document.get(SearchConstants.COMPONENT_KINDID_FIELD)));
- kind.setNameCn(document.get(SearchConstants.COMPONENT_KINDNAME_FIELD));
- kind.setLevel(Short.valueOf(document.get(SearchConstants.COMPONENT_KINDLEVEL_FIELD)));
- component.setKind(kind);
- BrandSimpleInfo brand = new BrandSimpleInfo();
- brand.setId(Long.valueOf(document.get(SearchConstants.COMPONENT_BRANDID_FIELD)));
- brand.setNameCn(document.get(SearchConstants.COMPONENT_BRANDNAMECN_FIELD));
- brand.setNameEn(document.get(SearchConstants.COMPONENT_BRANDNAMEEN_FIELD));
- component.setBrand(brand);
- if (!StringUtils.isEmpty(document.get(SearchConstants.COMPONENT_RESERVE_FIELD))) {
- component.setReserve(Double.valueOf(document.get(SearchConstants.COMPONENT_RESERVE_FIELD)));
- }
- if (!StringUtils.isEmpty(document.get(SearchConstants.COMPONENT_SAMPLE_QTY_FIELD))) {
- component.setSampleQty(Double.valueOf(document.get(SearchConstants.COMPONENT_SAMPLE_QTY_FIELD)));
- }
- if (!StringUtils.isEmpty(document.get(SearchConstants.COMPONENT_ORIGINAL_QTY_FIELD))) {
- component.setOriginalQty(Double.valueOf(document.get(SearchConstants.COMPONENT_ORIGINAL_QTY_FIELD)));
- }
- if (!StringUtils.isEmpty(document.get(SearchConstants.COMPONENT_INACTION_STOCK_QTY_FIELD))) {
- component.setInactionStockQty(
- Double.valueOf(document.get(SearchConstants.COMPONENT_INACTION_STOCK_QTY_FIELD)));
- }
- return component;
- }
- /**
- * 将Document转换为批次对象
- *
- * @param document
- * @return
- */
- public static GoodsSimpleInfo toGoods(Document document) {
- // TODO
- return null;
- }
- /**
- * 将Document转换为销售单对象
- *
- * @param document
- * @return
- */
- public static OrderSimpleInfo toOrder(Document document) {
- if (document == null) {
- return null;
- }
- OrderSimpleInfo order = new OrderSimpleInfo();
- order.setId(Long.valueOf(document.get(SearchConstants.ORDER_ID_FIELD)));
- order.setCode(document.get(SearchConstants.ORDER_CODE_FIELD));
- order.setBuyeruu(Long.valueOf(document.get(SearchConstants.ORDER_BUYERUU_FIELD)));
- order.setBuyername(document.get(SearchConstants.ORDER_BUYERNAME_FIELD));
- EnterpriseSimpleInfo buyerEnterprise = new EnterpriseSimpleInfo();
- buyerEnterprise.setUu(Long.valueOf(document.get(SearchConstants.ORDER_BUYERENUU_FIELD)));
- buyerEnterprise.setEnName(document.get(SearchConstants.ORDER_BUYERENNAME_FIELD));
- order.setBuyerEnterprise(buyerEnterprise);
- EnterpriseSimpleInfo sellerEnterprise = new EnterpriseSimpleInfo();
- sellerEnterprise.setUu(Long.valueOf(document.get(SearchConstants.ORDER_SELLERENUU_FIELD)));
- sellerEnterprise.setEnName(document.get(SearchConstants.ORDER_SELLERENNAME_FIELD));
- order.setSellerEnterprise(sellerEnterprise);
- Date createtime = new Date(Long.valueOf(document.get(SearchConstants.CREATETIME_FIELD)));
- order.setCreatetime(createtime);
- order.setStatus(Integer.valueOf(document.get(SearchConstants.ORDER_STATUS_FIELD)));
- order.setDetails(toDetailsSet(document.get(SearchConstants.ORDER_DETAILS_FIELD), OrderDetailSimpleInfo.class));
- return order;
- }
- /**
- * 将Document转换为销售发货单对象
- *
- * @param document
- * @return
- */
- public static OrderInvoiceSimpleInfo toOrderInvoice(Document document) {
- if (document == null) {
- return null;
- }
- OrderInvoiceSimpleInfo orderInvoice = new OrderInvoiceSimpleInfo();
- orderInvoice.setId(Long.valueOf(document.get(SearchConstants.ORDER_INVOICE_ID_FIELD)));
- orderInvoice.setCode(document.get(SearchConstants.ORDER_INVOICE_CODE_FIELD));
- orderInvoice.setBuyeruu(Long.valueOf(document.get(SearchConstants.ORDER_INVOICE_BUYERUU_FIELD)));
- orderInvoice.setBuyername(document.get(SearchConstants.ORDER_INVOICE_BUYERNAME_FIELD));
- EnterpriseSimpleInfo buyerEnterprise = new EnterpriseSimpleInfo();
- buyerEnterprise.setUu(Long.valueOf(document.get(SearchConstants.ORDER_INVOICE_BUYERENUU_FIELD)));
- buyerEnterprise.setEnName(document.get(SearchConstants.ORDER_INVOICE_BUYERENNAME_FIELD));
- orderInvoice.setBuyerEnterprise(buyerEnterprise);
- Date createtime = new Date(Long.valueOf(document.get(SearchConstants.CREATETIME_FIELD)));
- orderInvoice.setCreatetime(createtime);
- orderInvoice.setStatus(Integer.valueOf(document.get(SearchConstants.ORDER_INVOICE_STATUS_FIELD)));
- orderInvoice.setDetails(toDetailsSet(document.get(SearchConstants.ORDER_INVOICE_DETAILS_FIELD),
- OrderInvoiceDetailSimpleInfo.class));
- return orderInvoice;
- }
- /**
- * 将Document转换为采购单对象
- *
- * @param document
- * @return
- */
- public static PurchaseSimpleInfo toPurchase(Document document) {
- if (document == null) {
- return null;
- }
- PurchaseSimpleInfo purchase = new PurchaseSimpleInfo();
- purchase.setId(Long.valueOf(document.get(SearchConstants.PURCHASE_ID_FIELD)));
- purchase.setCode(document.get(SearchConstants.PURCHASE_CODE_FIELD));
- purchase.setSellerenuu(Long.valueOf(document.get(SearchConstants.PURCHASE_SELLERENUU_FIELD)));
- purchase.setSellerenname(document.get(SearchConstants.PURCHASE_SELLERENNAME_FIELD));
- Date createtime = new Date(Long.valueOf(document.get(SearchConstants.CREATETIME_FIELD)));
- purchase.setCreatetime(createtime);
- purchase.setStatus(Integer.valueOf(document.get(SearchConstants.PURCHASE_STATUS_FIELD)));
- purchase.setDetails(
- toDetailsSet(document.get(SearchConstants.PURCHASE_DETAILS_FIELD), PurchaseDetailSimpleInfo.class));
- return purchase;
- }
- /**
- * 将Document转换为采购发货单对象
- *
- * @param document
- * @return
- */
- public static PurchaseInvoiceSimpleInfo toPurchaseInvoice(Document document) {
- if (document == null) {
- return null;
- }
- PurchaseInvoiceSimpleInfo purchaseInvoice = new PurchaseInvoiceSimpleInfo();
- purchaseInvoice.setId(Long.valueOf(document.get(SearchConstants.PURCHASE_INVOICE_ID_FIELD)));
- purchaseInvoice.setCode(document.get(SearchConstants.PURCHASE_INVOICE_CODE_FIELD));
- purchaseInvoice.setSellerenuu(Long.valueOf(document.get(SearchConstants.PURCHASE_INVOICE_SELLERENUU_FIELD)));
- purchaseInvoice.setSellerenname(document.get(SearchConstants.PURCHASE_INVOICE_SELLERENNAME_FIELD));
- Date createtime = new Date(Long.valueOf(document.get(SearchConstants.CREATETIME_FIELD)));
- purchaseInvoice.setCreatetime(createtime);
- purchaseInvoice.setStatus(Integer.valueOf(document.get(SearchConstants.PURCHASE_INVOICE_STATUS_FIELD)));
- purchaseInvoice.setDetails(toDetailsSet(document.get(SearchConstants.PURCHASE_INVOICE_DETAILS_FIELD),
- PurchaseInvoiceDetailSimpleInfo.class));
- return purchaseInvoice;
- }
- /**
- * 将json字符串转为明细对象
- *
- * @param <T>
- *
- * @param jsonString
- * 索引中存储的明细数据
- * @return 明细对象
- */
- public static <T> Set<T> toDetailsSet(String jsonString, Class<T> clazz) {
- if (StringUtils.isEmpty(jsonString)) {
- return null;
- }
- Set<T> details = new HashSet<>();
- details.addAll(JSONObject.parseArray(jsonString, clazz));
- return details;
- }
- /**
- * 将json字符串转为明细对象
- *
- * @param jsonString
- * 索引中存储的明细数据
- * @return 明细对象
- */
- public static List<BaseOrderDetail> toDetailsList(String jsonString) {
- if (StringUtils.isEmpty(jsonString)) {
- return null;
- }
- List<BaseOrderDetailSimpleInfo> details = JSONObject.parseArray(jsonString, BaseOrderDetailSimpleInfo.class);
- List<BaseOrderDetail> result = new ArrayList<>();
- for (BaseOrderDetailSimpleInfo detail : details) {
- result.add(new BaseOrderDetail(detail.getId(), detail.getDetno(), detail.getCode()));
- }
- return result;
- }
- }
|