From 2954ab04f72e40212e72d49b6bf8db55c8827b8d Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期日, 16 二月 2020 18:18:08 +0800
Subject: [PATCH] 加入 权限批量问题

---
 OrderService/src/main/java/com/java110/order/api/OrderApi.java |   86 ++++++++++++++++++++++++++++---------------
 1 files changed, 56 insertions(+), 30 deletions(-)

diff --git a/OrderService/src/main/java/com/java110/order/api/OrderApi.java b/OrderService/src/main/java/com/java110/order/api/OrderApi.java
index dd7a14c..d45765a 100644
--- a/OrderService/src/main/java/com/java110/order/api/OrderApi.java
+++ b/OrderService/src/main/java/com/java110/order/api/OrderApi.java
@@ -1,9 +1,11 @@
 package com.java110.order.api;
 
 import com.alibaba.fastjson.JSONObject;
-import com.java110.common.constant.ResponseConstant;
-import com.java110.common.exception.BusinessException;
-import com.java110.common.util.Assert;
+import com.java110.entity.order.Orders;
+import com.java110.order.smo.IOrderProcessServiceSMO;
+import com.java110.utils.constant.ResponseConstant;
+import com.java110.utils.exception.BusinessException;
+import com.java110.utils.util.Assert;
 import com.java110.core.base.controller.BaseController;
 import com.java110.event.center.DataFlowEventPublishing;
 import com.java110.order.smo.IOrderServiceSMO;
@@ -32,15 +34,23 @@
 @RequestMapping(path = "/orderApi")
 public class OrderApi extends BaseController {
 
-    private final static Logger logger = LoggerFactory.getLogger(OrderApi.class);
+    private static Logger logger = LoggerFactory.getLogger(OrderApi.class);
 
     @Autowired
     private IOrderServiceSMO orderServiceSMOImpl;
 
+    @Autowired
+    private IOrderProcessServiceSMO orderProcessServiceSMOImpl;
 
-    @RequestMapping(path = "/service",method= RequestMethod.POST)
-    @ApiOperation(value="涓績鏈嶅姟璁㈠崟鍙楃悊", notes="test: 杩斿洖 200 琛ㄧず鏈嶅姟鍙楃悊鎴愬姛锛屽叾浠栬〃绀哄け璐�")
-    @ApiImplicitParam(paramType="query", name = "orderInfo", value = "璁㈠崟鍙楃悊淇℃伅", required = true, dataType = "String")
+    /**
+     * 璁㈠崟璇锋眰鏈嶅姟
+     * @param orderInfo 璁㈠崟淇℃伅
+     * @param request 璇锋眰瀵硅薄
+     * @return ResponseEntity 瀵硅薄
+     */
+    @RequestMapping(path = "/service", method = RequestMethod.POST)
+    @ApiOperation(value = "涓績鏈嶅姟璁㈠崟鍙楃悊", notes = "test: 杩斿洖 200 琛ㄧず鏈嶅姟鍙楃悊鎴愬姛锛屽叾浠栬〃绀哄け璐�")
+    @ApiImplicitParam(paramType = "query", name = "orderInfo", value = "璁㈠崟鍙楃悊淇℃伅", required = true, dataType = "String")
     public ResponseEntity<String> servicePost(@RequestBody String orderInfo, HttpServletRequest request) {
 
         ResponseEntity<String> responseEntity = null;
@@ -48,62 +58,78 @@
         try {
             Map<String, String> headers = new HashMap<String, String>();
             getRequestInfo(request, headers);
-            logger.debug("璁㈠崟鏈嶅姟璇锋眰鎶ユ枃涓�: {},璇锋眰澶翠负:{}",orderInfo,headers);
+            logger.debug("璁㈠崟鏈嶅姟璇锋眰鎶ユ枃涓�: {},璇锋眰澶翠负:{}", orderInfo, headers);
             //鎺ュ彈璇锋眰浜嬩欢
-            DataFlowEventPublishing.receiveRequest(orderInfo,headers);
+            DataFlowEventPublishing.receiveRequest(orderInfo, headers);
             //棰勬牎楠�
             preValiateOrderInfo(orderInfo);
-            responseEntity =  orderServiceSMOImpl.service(orderInfo, headers);
-        }catch (Exception e){
-            logger.error("璇锋眰璁㈠崟寮傚父",e);
-            responseEntity =  new ResponseEntity<String>("璇锋眰涓績鏈嶅姟鍙戠敓寮傚父锛�"+e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
-        }finally {
+            JSONObject order = JSONObject.parseObject(orderInfo).getJSONObject("orders");
 
-            logger.debug("璁㈠崟鏈嶅姟杩斿洖鎶ユ枃涓�: {}",responseEntity);
+            if(!order.containsKey("orderProcess")){
+                responseEntity = orderServiceSMOImpl.service(orderInfo, headers);
+            }else if(Orders.ORDER_PROCESS_ORDER_PRE_SUBMIT.equals(order.getString("orderProcess"))){
+                responseEntity = orderProcessServiceSMOImpl.preService(orderInfo, headers);
+            }else if(Orders.ORDER_PROCESS_ORDER_CONFIRM_SUBMIT.equals(order.getString("orderProcess"))){
+                responseEntity = orderProcessServiceSMOImpl.confirmService(orderInfo, headers);
+            }else{
+                responseEntity = orderServiceSMOImpl.service(orderInfo, headers);
+            }
+
+        } catch (Exception e) {
+            logger.error("璇锋眰璁㈠崟寮傚父", e);
+            responseEntity = new ResponseEntity<String>("璇锋眰涓績鏈嶅姟鍙戠敓寮傚父锛�" + e.getMessage(), HttpStatus.INTERNAL_SERVER_ERROR);
+        } finally {
+
+            logger.debug("璁㈠崟鏈嶅姟杩斿洖鎶ユ枃涓�: {}", responseEntity);
             return responseEntity;
         }
     }
+
     /**
      * 杩欓噷棰勬牎楠岋紝璇锋眰鎶ユ枃涓笉鑳芥湁 dataFlowId
+     *
      * @param orderInfo
      */
     private void preValiateOrderInfo(String orderInfo) {
 
-        Assert.jsonObjectHaveKey(orderInfo,"orders","璇锋眰鎶ユ枃涓湭鍖呭惈orders鑺傜偣锛�"+orderInfo);
+        Assert.jsonObjectHaveKey(orderInfo, "orders", "璇锋眰鎶ユ枃涓湭鍖呭惈orders鑺傜偣锛�" + orderInfo);
 
-        Assert.jsonObjectHaveKey(orderInfo,"business","璇锋眰鎶ユ枃涓湭鍖呭惈business鑺傜偣锛�"+orderInfo);
+        Assert.jsonObjectHaveKey(orderInfo, "business", "璇锋眰鎶ユ枃涓湭鍖呭惈business鑺傜偣锛�" + orderInfo);
 
-        if(JSONObject.parseObject(orderInfo).getJSONObject("orders").containsKey("dataFlowId")){
-            throw new BusinessException(ResponseConstant.RESULT_CODE_ERROR,"鎶ユ枃涓笉鑳藉瓨鍦╠ataFlowId鑺傜偣");
+        if (JSONObject.parseObject(orderInfo).getJSONObject("orders").containsKey("dataFlowId")) {
+            throw new BusinessException(ResponseConstant.RESULT_CODE_ERROR, "鎶ユ枃涓笉鑳藉瓨鍦╠ataFlowId鑺傜偣");
         }
     }
+
     /**
      * 杩欓噷棰勬牎楠岋紝璇锋眰鎶ユ枃涓笉鑳芥湁 dataFlowId
+     *
      * @param orderInfo
      */
-    private void preValiateOrderInfo(String orderInfo,Map<String, String> headers) {
+    private void preValiateOrderInfo(String orderInfo, Map<String, String> headers) {
 
-        Assert.hasKey(headers,"serviceCode","娌℃湁鍖呭惈serviceCode");
+        Assert.hasKey(headers, "serviceCode", "娌℃湁鍖呭惈serviceCode");
 
-        Assert.hasLength(headers.get("serviceCode"),"serviceCode 涓嶈兘涓虹┖");
+        Assert.hasLength(headers.get("serviceCode"), "serviceCode 涓嶈兘涓虹┖");
 
-        Assert.hasKey(headers,"appId","娌℃湁鍖呭惈appId");
+        Assert.hasKey(headers, "appId", "娌℃湁鍖呭惈appId");
 
-        Assert.hasLength(headers.get("appId"),"appId 涓嶈兘涓虹┖");
+        Assert.hasLength(headers.get("appId"), "appId 涓嶈兘涓虹┖");
     }
 
     /**
      * 鑾峰彇璇锋眰淇℃伅
+     *
      * @param request
      * @param headers
      * @throws RuntimeException
      */
-    private void getRequestInfo(HttpServletRequest request,Map headers) throws Exception{
-        try{
-            super.initHeadParam(request,headers);
-            super.initUrlParam(request,headers);
-        }catch (Exception e){
-            logger.error("鍔犺浇澶翠俊鎭け璐�",e);
+    private void getRequestInfo(HttpServletRequest request, Map headers) throws Exception {
+        try {
+            super.initHeadParam(request, headers);
+            super.initUrlParam(request, headers);
+        } catch (Exception e) {
+            logger.error("鍔犺浇澶翠俊鎭け璐�", e);
             throw e;
         }
     }

--
Gitblit v1.8.0