Browse Source

search-console下增加订单搜索接口

sunyj 9 years ago
parent
commit
66ae07d945

+ 21 - 1
search-console/src/main/java/com/uas/search/console/controller/OrderSearchController.java

@@ -4,6 +4,7 @@ import java.util.List;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
+import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.ResponseBody;
 
@@ -15,6 +16,11 @@ import com.uas.search.console.model.OrderInvoiceSimpleInfo;
 import com.uas.search.console.model.OrderSimpleInfo;
 import com.uas.search.console.model.PurchaseInvoiceSimpleInfo;
 import com.uas.search.console.model.PurchaseSimpleInfo;
+import com.uas.search.console.service.impl.OrderSearchServiceImpl;
+import com.uas.search.model.BaseOrder;
+import com.uas.search.model.PageParams;
+import com.uas.search.model.SPage;
+import com.uas.search.service.OrderSearchService.Table_name;
 
 /**
  * 订单搜索请求
@@ -23,8 +29,12 @@ import com.uas.search.console.model.PurchaseSimpleInfo;
  * @since 2016年10月14日 上午11:59:45
  */
 @Controller
-@RequestMapping("/search/order")
+@RequestMapping("/search")
 public class OrderSearchController {
+
+	@Autowired
+	private OrderSearchServiceImpl orderSearchService;
+
 	@Autowired
 	private OrderSimpleInfoDao orderDao;
 
@@ -37,6 +47,16 @@ public class OrderSearchController {
 	@Autowired
 	private PurchaseInvoiceSimpleInfoDao purchaseInvoiceDao;
 
+	@RequestMapping("orderIds")
+	@ResponseBody
+	public SPage<BaseOrder> getOrderIdsWithDetail(String keyword, String tableName, PageParams params) {
+		Table_name tbName = null;
+		if (!StringUtils.isEmpty(tableName)) {
+			tbName = Table_name.valueOf(tableName);
+		}
+		return orderSearchService.getOrderIdsWithDetail(keyword, tbName, params);
+	}
+
 	@RequestMapping("orders")
 	@ResponseBody
 	public List<OrderSimpleInfo> orders() {

+ 6 - 6
search-console/src/main/java/com/uas/search/console/model/OrderInvoiceSimpleInfo.java

@@ -51,12 +51,6 @@ public class OrderInvoiceSimpleInfo implements Serializable {
 	@Column(name = "in_buyername")
 	private String buyername;
 
-	/**
-	 * 单生成时间
-	 */
-	@Column(name = "in_creattime")
-	private Date creattime;
-
 	/**
 	 * 买方企业
 	 * 
@@ -66,6 +60,12 @@ public class OrderInvoiceSimpleInfo implements Serializable {
 	@JoinColumn(name = "in_buyerenuu", updatable = false, insertable = false)
 	private EnterpriseSimpleInfo buyerEnterprise;
 
+	/**
+	 * 单生成时间
+	 */
+	@Column(name = "in_creattime")
+	private Date creattime;
+
 	/**
 	 * 发货单明细
 	 */

+ 1 - 1
search-console/src/main/java/com/uas/search/console/model/PurchaseInvoiceSimpleInfo.java

@@ -39,7 +39,7 @@ public class PurchaseInvoiceSimpleInfo implements Serializable {
 	private String invoiceid;
 
 	/**
-	 * 企业卖方uu
+	 * 卖方企业uu
 	 * 
 	 * @Tip 这里因为平台作为中间商,所以发货单都由平台下达
 	 */

+ 70 - 0
search-console/src/main/java/com/uas/search/console/service/InnerOrderSearchService.java

@@ -0,0 +1,70 @@
+package com.uas.search.console.service;
+
+import com.uas.search.model.BaseOrder;
+import com.uas.search.model.PageParams;
+import com.uas.search.model.SPage;
+
+/**
+ * search-console下自用订单搜索接口
+ * 
+ * @author sunyj
+ * @since 2016年10月14日 下午3:16:37
+ */
+public interface InnerOrderSearchService {
+
+	/**
+	 * 根据关键词和其他信息搜索销售单id信息
+	 * 
+	 * @param keyword
+	 *            关键词,可以是:销售单号、买方个人姓名、买方企业名称、卖方企业名称、明细中的器件型号、 器件品牌名称、器件类目名称
+	 * @param params
+	 *            其他信息,filter中可以有:买方个人UU号、买方企业UU号、卖方企业UU号、订单日期范围最大值、订单日期最小值
+	 * @return 符合条件的单据。<br>
+	 *         如果关键词命中主表中的信息,结果有主表信息不带从表;<br>
+	 *         如果关键词没命中主表信息,命中了从表中的信息,结果有主表带被命中的从表信息;<br>
+	 *         如果都没有命中,则不命中。
+	 */
+	public SPage<BaseOrder> searchOrderIds(String keyword, PageParams params);
+
+	/**
+	 * 根据关键词和其他信息搜索销售发货单id信息
+	 * 
+	 * @param keyword
+	 *            关键词,可以是:发货单号、买方个人姓名、买方企业名称、明细中的器件型号、 器件品牌名称、器件类目名称
+	 * @param params
+	 *            其他信息,filter中可以有:买方个人UU号、买方企业UU号、订单日期范围最大值、订单日期最小值
+	 * @return 符合条件的单据。<br>
+	 *         如果关键词命中主表中的信息,结果有主表信息不带从表;<br>
+	 *         如果关键词没命中主表信息,命中了从表中的信息,结果有主表带被命中的从表信息;<br>
+	 *         如果都没有命中,则不命中。
+	 */
+	public SPage<BaseOrder> searchOrderInvoiceIds(String keyword, PageParams params);
+
+	/**
+	 * 根据关键词和其他信息搜索采购单id信息
+	 * 
+	 * @param keyword
+	 *            模糊搜索关键词,可以是:采购单号、卖方企业名称、明细中的器件型号、器件品牌名称、 器件类目名称
+	 * @param params
+	 *            关键词,可以是:卖方企业UU号、订单日期范围最大值、订单日期最小值
+	 * @return 符合条件的单据。<br>
+	 *         如果关键词命中主表中的信息,结果有主表信息不带从表;<br>
+	 *         如果关键词没命中主表信息,命中了从表中的信息,结果有主表带被命中的从表信息;<br>
+	 *         如果都没有命中,则不命中。
+	 */
+	public SPage<BaseOrder> searchPurchaseIds(String keyword, PageParams params);
+
+	/**
+	 * 根据关键词和其他信息搜索采购发货单id信息
+	 * 
+	 * @param keyword
+	 *            关键词,可以是:发货单号、卖方企业名称、明细中的器件型号、 器件品牌名称、器件类目名称
+	 * @param params
+	 *            其他信息,filter中可以有:卖方企业UU号、订单日期范围最大值、订单日期最小值
+	 * @return 符合条件的单据。<br>
+	 *         如果关键词命中主表中的信息,结果有主表信息不带从表;<br>
+	 *         如果关键词没命中主表信息,命中了从表中的信息,结果有主表带被命中的从表信息;<br>
+	 *         如果都没有命中,则不命中。
+	 */
+	public SPage<BaseOrder> searchPurchaseInvoiceIds(String keyword, PageParams params);
+}

+ 1 - 1
search-console/src/main/java/com/uas/search/console/service/InnerSearchService.java

@@ -5,7 +5,7 @@ import com.uas.search.console.model.ComponentSimpleInfo;
 import com.uas.search.console.model.KindSimpleInfo;
 
 /**
- * seaerch-console下自用搜索接口
+ * search-console下自用搜索接口
  * 
  * @author sunyj
  * @since 2016年9月19日 下午7:37:01

+ 56 - 0
search-console/src/main/java/com/uas/search/console/service/impl/OrderSearchServiceImpl.java

@@ -0,0 +1,56 @@
+package com.uas.search.console.service.impl;
+
+import org.apache.log4j.Logger;
+import org.springframework.stereotype.Service;
+
+import com.uas.search.console.service.InnerOrderSearchService;
+import com.uas.search.exception.SearchException;
+import com.uas.search.model.BaseOrder;
+import com.uas.search.model.PageParams;
+import com.uas.search.model.SPage;
+import com.uas.search.service.OrderSearchService;
+
+@Service
+public class OrderSearchServiceImpl implements OrderSearchService, InnerOrderSearchService {
+
+	private Logger logger = Logger.getLogger(getClass());
+
+	@Override
+	public SPage<BaseOrder> getOrderIdsWithDetail(String keyword, Table_name tableName, PageParams params) {
+		if (tableName == Table_name.ORDER) {
+			return searchOrderIds(keyword, params);
+		} else if (tableName == Table_name.ORDER_INVOICE) {
+			return searchOrderInvoiceIds(keyword, params);
+		} else if (tableName == Table_name.PURCHASE) {
+			return searchPurchaseIds(keyword, params);
+		} else if (tableName == Table_name.PURCHASE_INVOICE) {
+			return searchPurchaseInvoiceIds(keyword, params);
+		}
+		throw new SearchException("tableName不合法");
+	}
+
+	@Override
+	public SPage<BaseOrder> searchOrderIds(String keyword, PageParams params) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public SPage<BaseOrder> searchOrderInvoiceIds(String keyword, PageParams params) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public SPage<BaseOrder> searchPurchaseIds(String keyword, PageParams params) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public SPage<BaseOrder> searchPurchaseInvoiceIds(String keyword, PageParams params) {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+}

+ 42 - 1
search-console/src/main/java/com/uas/search/console/util/SearchConstants.java

@@ -48,6 +48,26 @@ public class SearchConstants {
 	 */
 	public static final String COMPONENT_TABLE_NAME = "product$component";
 
+	/**
+	 * 商城销售订单表名
+	 */
+	public static final String ORDER_TABLE_NAME = "trade$order";
+
+	/**
+	 * 商城销售订单的发货单表名
+	 */
+	public static final String ORDER_INVOICE_TABLE_NAME = "trade$invoice_fmor";
+
+	/**
+	 * 商城采购订单表名
+	 */
+	public static final String PURCHASE_TABLE_NAME = "trade$purchase";
+
+	/**
+	 * 商城采购订单的发货单表名
+	 */
+	public static final String PURCHASE_INVOICE_TABLE_NAME = "trade$invoice_fmpu";
+
 	/**
 	 * 索引文件存储路径
 	 */
@@ -59,19 +79,25 @@ public class SearchConstants {
 	public static final String COMPONENT_WITH_PROPERTY_DIR = PathUtils.getFilePath() + "components";
 
 	/**
-	 * 各索引字段的字符标示
+	 * 类目索引字段的key
 	 */
 	public static final String KIND_ID_FIELD = "ki_id";
 	public static final String KIND_NAMECN_FIELD = "ki_name_cn";
 	public static final String KIND_LEVEL_FIELD = "ki_level";
 	public static final String KIND_ISLEAF_FIELD = "ki_isleaf";
 
+	/**
+	 * 品牌索引字段的key
+	 */
 	public static final String BRAND_ID_FIELD = "br_id";
 	public static final String BRAND_NAMECN_FIELD = "br_name_cn";
 	public static final String BRAND_NAMEEN_FIELD = "br_name_en";
 	public static final String BRAND_UUID_FIELD = "br_uuid";
 	public static final String BRAND_WEIGHT_FIELD = "br_weight";
 
+	/**
+	 * 器件索引字段的key
+	 */
 	public static final String COMPONENT_ID_FIELD = "cmp_id";
 	public static final String COMPONENT_UUID_FIELD = "cmp_uuid";
 	public static final String COMPONENT_CODE_FIELD = "cmp_code";
@@ -89,5 +115,20 @@ public class SearchConstants {
 	 * 另外创建的经过分词的属性值,添加后缀作为Field的键
 	 */
 	public static final String COMPONENT_PROPERTY_TOKENIZED_SUFFIX = "_tokenized";
+	
+	
+	/**
+	 * 商城销售订单索引字段的key
+	 */
+	 
+	public static final String ORDER_ID_FIELD = "or_id";// 对应销售单id(数据库id字段)
+	public static final String ORDER_ORDER_ID_FIELD = "or_orid";// 对应销售单号(数据库or_id字段)
+	public static final String ORDER_BUYER_USERUU_FIELD = "or_buyeruu";
+	public static final String ORDER_BUYER_USERNAME_FIELD = "or_buyername";
+	public static final String ORDER_BUYER_ENUU_FIELD = "or_buyerenuu";
+	public static final String ORDER_BUYER_ENNAME_FIELD = "or_buyerenname";
+	public static final String ORDER_SELLER_ENUU_FIELD = "or_sellerenuu";
+	public static final String ORDER_SELLER_ENNAME_FIELD = "or_sellerenname";
+	public static final String ORDER_CREATE_TIME_FIELD = "or_creattime";
 
 }