From ca4e66f00da70b852fc0aae769b6d9b69e627263 Mon Sep 17 00:00:00 2001
From: wuxw7 <wuxw7@asiainfo.com>
Date: 星期一, 11 九月 2017 11:12:36 +0800
Subject: [PATCH] 订单查询优化
---
OrderService/src/main/java/com/java110/order/smo/impl/OrderServiceSMOImpl.java | 167 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 164 insertions(+), 3 deletions(-)
diff --git a/OrderService/src/main/java/com/java110/order/smo/impl/OrderServiceSMOImpl.java b/OrderService/src/main/java/com/java110/order/smo/impl/OrderServiceSMOImpl.java
index 729261f..2989fce 100644
--- a/OrderService/src/main/java/com/java110/order/smo/impl/OrderServiceSMOImpl.java
+++ b/OrderService/src/main/java/com/java110/order/smo/impl/OrderServiceSMOImpl.java
@@ -50,14 +50,93 @@
/**
* 鏍规嵁璐墿杞D 鎴栬�� 澶栭儴绯荤粺ID 鎴栬�� custId 鎴栬�� channelId 鏌ヨ璁㈠崟淇℃伅
+ *
+ * 杩斿洖鎶ユ枃鏍煎紡濡備笅锛�
+ *
+ * {
+
+ "orderList": [{
+
+ "orderListAttrs": [{路路路}],
+
+ "busiOrder": [
+
+ {
+
+ "data": {
+
+ "boCust": [{路路路}],
+
+ "boCustAttr": [ {路路路}]
+
+ },
+
+ "busiObj": {路路路路},
+
+ "busiOrderAttrs": [{路路路}]
+
+ }
+
+ ],
+
+ "orderListInfo": {路路路}
+
+ }]
+ }
+
* @param orderList
* @return
*/
@Override
public String queryOrderInfo(OrderList orderList) throws Exception{
+ return queryOrderInfo(orderList,true);
+ }
+
+ /**
+ * 鏍规嵁璐墿杞D 鎴栬�� 澶栭儴绯荤粺ID 鎴栬�� custId 鎴栬�� channelId 鏌ヨ璁㈠崟淇℃伅
+ *
+ * 杩斿洖鎶ユ枃鏍煎紡濡備笅锛�
+ *
+ * {
+
+ "orderList": [{
+
+ "orderListAttrs": [{路路路}],
+
+ "busiOrder": [
+
+ {
+
+ "data": {
+
+ "boCust": [{路路路}],
+
+ "boCustAttr": [ {路路路}]
+
+ },
+
+ "busiObj": {路路路路},
+
+ "busiOrderAttrs": [{路路路}]
+
+ }
+
+ ],
+
+ "orderListInfo": {路路路}
+
+ }]
+ }
+
+ * @param orderList
+ * @param isQueryDataInfo 鏄� 鏌ヨdata鑺傜偣 鍚︿笉鏌ヨdata鑺傜偣
+ * @return
+ */
+ @Override
+ public String queryOrderInfo(OrderList orderList,Boolean isQueryDataInfo) throws Exception{
- List<OrderList> orderLists = iOrderServiceDao.queryOrderListAndAttr(orderList);
+ /*List<OrderList> orderLists = iOrderServiceDao.queryOrderListAndAttr(orderList);
//
JSONArray orderListsArray = new JSONArray();
for (OrderList orderListTmp : orderLists){
@@ -75,9 +154,84 @@
}
JSONObject orderListTmpO = new JSONObject();
- orderListTmpO.put("orderLists",orderListsArray);
+ orderListTmpO.put("orderList",orderListsArray);*/
- return ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_SUCCESS,"鏌ヨ鎴愬姛",orderListTmpO);
+ List<OrderList> orderLists = iOrderServiceDao.queryOrderListAndAttr(orderList);
+ //澶氫釜璐墿杞﹀皝瑁�
+ JSONArray orderListsArray = new JSONArray();
+
+ JSONObject orderListTmpJson = null;
+
+ for(OrderList orderListTmp : orderLists){
+ orderListTmpJson = new JSONObject();
+ //灏佽orderListAttrs
+ orderListTmpJson.put("orderListAttrs",JSONArray.parseArray(JSONObject.toJSONString(orderListTmp.getOrderListAttrs())));
+
+ orderListTmpJson.put("orderListInfo",JSONObject.parseObject(JSONObject.toJSONString(orderListTmp)).remove("orderListAttrs"));
+
+
+ BusiOrder busiOrderTmp = new BusiOrder();
+ busiOrderTmp.setBoId(orderListTmp.getOlId());
+
+ List<BusiOrder> busiOrders = iOrderServiceDao.queryBusiOrderAndAttr(busiOrderTmp);
+
+ //灏佽busiObj
+ JSONArray busiOrderTmpArray = new JSONArray();
+
+ /**
+ * [
+
+ {
+
+ "data": {
+
+ "boCust": [{路路路}],
+
+ "boCustAttr": [ {路路路}]
+
+ },
+
+ "busiObj": {路路路路},
+
+ "busiOrderAttrs": [{路路路}]
+
+ }
+ */
+ JSONObject busiOrderTmpJson = null;
+ for(BusiOrder busiOrderTmp1 : busiOrders){
+ busiOrderTmpJson = new JSONObject();
+
+ //灏佽busiOrderAttrs
+
+ busiOrderTmpJson.put("busiOrderAttrs",JSONArray.parseArray(JSONObject.toJSONString(busiOrderTmp1.getBusiOrderAttrs())));
+
+
+ //灏佽busiObj
+
+ busiOrderTmpJson.put("busiObj",JSONObject.parseObject(JSONObject.toJSONString(busiOrderTmp1)).remove("busiOrderAttrs"));
+
+ //灏佽data 鑺傜偣
+ if(isQueryDataInfo){
+
+ }
+
+
+ busiOrderTmpArray.add(busiOrderTmpJson);
+ }
+
+
+ //鍒嗚busiOrder
+
+ orderListTmpJson.put("busiOrder",busiOrderTmpArray);
+
+ }
+ orderListsArray.add(orderListTmpJson);
+
+ JSONObject orderListJson = new JSONObject();
+ orderListJson.put("orderList",orderListsArray);
+
+
+ return ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_SUCCESS,"鏌ヨ鎴愬姛",orderListJson);
}
/**
@@ -433,7 +587,14 @@
return ;
}
+ // 鏌ヨ璐墿杞︿俊鎭紝璁㈠崟椤逛俊鎭�
+ String oldOrderInfo = this.queryOrderInfo(orderList,false);
+ JSONObject oldOrderInfoJson = ProtocolUtil.getObject(oldOrderInfo,JSONObject.class);
+
+ oldOrderInfoJson.getJSONArray("orderLists");
+ //閲嶆柊鍙戣捣鎾ゅ崟璁㈠崟
+ orderDispatch(null);
}
/**
--
Gitblit v1.8.0