From f475b4b51672abf3d54177df79d23e975ddd2dba Mon Sep 17 00:00:00 2001
From: wuxw7 <wuxw7@asiainfo.com>
Date: 星期一, 17 四月 2017 00:18:20 +0800
Subject: [PATCH] 实现订单查询接口,优化订单受理支持异步方式受理订单

---
 OrderService/src/main/java/com/java110/order/rest/OrderServiceRest.java |   88 ++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 84 insertions(+), 4 deletions(-)

diff --git a/OrderService/src/main/java/com/java110/order/rest/OrderServiceRest.java b/OrderService/src/main/java/com/java110/order/rest/OrderServiceRest.java
index a9709d7..d16b4ec 100644
--- a/OrderService/src/main/java/com/java110/order/rest/OrderServiceRest.java
+++ b/OrderService/src/main/java/com/java110/order/rest/OrderServiceRest.java
@@ -4,8 +4,10 @@
 import com.java110.common.log.LoggerEngine;
 import com.java110.common.util.ProtocolUtil;
 import com.java110.core.base.controller.BaseController;
+import com.java110.entity.order.OrderList;
 import com.java110.order.smo.IOrderServiceSMO;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.Assert;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
@@ -26,22 +28,99 @@
 
     /**
      * 鏌ヨ璁㈠崟淇℃伅
+     * 鎺ュ彛鍗忚锛�
+     * 璇锋眰鎶ユ枃
+     * {'olId':'71234567','extSystemId':'','custId':'','channelId':''}
+     *
+     * 鍙互鏍规嵁 璐墿杞D 鎴栬�� 澶栭儴绯荤粺ID 鎴栬�� custId 鎴栬�� channelId
+     *
+     * 杩斿洖鎶ユ枃:
+     * {
+     "RESULT_CODE": "0000",
+     "RESULT_MSG": "鎴愬姛",
+     "RESULT_INFO": {
+     "orderLists": [
+     {
+     "channelId": "700212896",
+     "remarks": "",
+     "olId": "123456",
+     "custId": "701008023904",
+     "statusCd": "S",
+     "reqTime": "20170411163709",
+     "extSystemId": "310013698777",
+     "olTypeCd": "15",
+     "orderListAttrs": [
+     {
+     "olId": "123456",
+     "attrCd": "712345",
+     "value": "XXX",
+     "name": "绯荤粺鏉ユ簮"
+     }
+     ],
+     "busiOrders": [
+     {
+     "boId": "123456",
+     "olId": "123456",
+     "actionTypeCd": "C1",
+     "status_cd": "0",
+     "create_dt": "2017-04-16 22:58:03",
+     "start_dt": "2017-04-16 22:58:03",
+     "end_dt": "2017-04-16 22:58:03",
+     "remark": "",
+     "busiOrders": [
+     {
+     "boId": "123456",
+     "attrCd": "712345",
+     "value": "XXX",
+     "name": "绯荤粺鏉ユ簮"
+     }
+     ]
+     }
+     ]
+     }
+     ]
+     }
+     }
+     *
      * @param orderInfo
      * @return
      */
+    @RequestMapping("/orderService/queryOrder")
     public String queryOrder(@RequestParam("orderInfo") String orderInfo) {
 
-        try {
+        LoggerEngine.debug("soOrderService鍏ュ弬锛�" + orderInfo);
+        String resultUserInfo = null;
+
+        JSONObject reqOrderJSON = null;
+
+        try{
+
+            reqOrderJSON = this.simpleValidateJSON(orderInfo);
+
+            //鏍¢獙 璐墿杞D 鎴栬�� 澶栭儴绯荤粺ID 鎴栬�� custId 鎴栬�� channelId 涓殑涓�涓槸
+            Assert.notNull(reqOrderJSON);
+
+            if(!reqOrderJSON.containsKey("olId") && !reqOrderJSON.containsKey("extSystemId")
+                    && !reqOrderJSON.containsKey("custId") && !reqOrderJSON.containsKey("channelId")){
+                throw new IllegalArgumentException("姝ゆ帴鍙e彧鏀寔鐢╫lId锛宔xtSystemId锛宑ustId锛宑hannelId 鏉ユ煡璇㈣鍗曪紝褰撳墠璇锋眰鎶ユ枃涓猴細"+orderInfo);
+            }
+            //杞寲涓� 瀵硅薄
+            OrderList orderListTmp = JSONObject.toJavaObject(reqOrderJSON, OrderList.class);
+
+            resultUserInfo = iOrderServiceSMO.queryOrderInfo(orderListTmp);
 
         }catch (Exception e){
-
+            LoggerEngine.error("鏌ヨ澶辫触锛宱rderInfo = "+orderInfo,e);
+            resultUserInfo = ProtocolUtil.createResultMsg(ProtocolUtil.RETURN_MSG_ERROR,"鏌ヨ澶辫触锛宱rderInfo = "+orderInfo+"澶辫触鍘熷洜锛�"+e,null);
         }finally {
-            return "";
+            return resultUserInfo;
         }
     }
 
     /**
      * 璁㈠崟缁熶竴澶勭悊鎺ュ彛
+     *
+     * orderListInfo 涓瓧娈� asyn 濡傛灉涓� A 琛ㄧず 寮傛澶勭悊璁㈠崟锛屽叾浠栬〃鍚屾澶勭悊璁㈠崟
      * 鎺ュ彛鍗忚
      * {
      "orderList": {
@@ -130,7 +209,8 @@
      "statusCd": "S",
      "reqTime": "20170411163709",
      "extSystemId": "310013698777",
-     "olTypeCd": "15"
+     "olTypeCd": "15",
+     "asyn":"A"
      }
      }
      }

--
Gitblit v1.8.0