From 2a2bc2abf283784151fe1c15047ff65d41ce5583 Mon Sep 17 00:00:00 2001
From: 吴学文 <wuxuewen@wuxuewendeMacBook-Pro.local>
Date: 星期四, 25 四月 2019 23:52:07 +0800
Subject: [PATCH] 增加小区楼信息开发中
---
WebService/src/main/java/com/java110/web/controller/CallComponentController.java | 41 ++++++++++++++++++++++++++++++-----------
1 files changed, 30 insertions(+), 11 deletions(-)
diff --git a/WebService/src/main/java/com/java110/web/controller/CallComponentController.java b/WebService/src/main/java/com/java110/web/controller/CallComponentController.java
index d674354..223e674 100644
--- a/WebService/src/main/java/com/java110/web/controller/CallComponentController.java
+++ b/WebService/src/main/java/com/java110/web/controller/CallComponentController.java
@@ -1,6 +1,7 @@
package com.java110.web.controller;
import com.java110.common.constant.CommonConstant;
+import com.java110.common.exception.SMOException;
import com.java110.common.factory.ApplicationContextFactory;
import com.java110.common.util.Assert;
import com.java110.core.base.controller.BaseController;
@@ -8,18 +9,24 @@
import com.java110.web.smo.impl.LoginServiceSMOImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
+import org.springframework.util.MultiValueMap;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
+import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+/**
+ * 缁勪欢璋冪敤澶勭悊绫�
+ */
@RestController
public class CallComponentController extends BaseController {
- private final static Logger logger = LoggerFactory.getLogger(LoginServiceSMOImpl.class);
+ private final static Logger logger = LoggerFactory.getLogger(CallComponentController.class);
/**
* 璋冪敤缁勪欢鏂规硶
@@ -33,27 +40,39 @@
//@RequestBody String info,
HttpServletRequest request){
ResponseEntity<String> responseEntity = null;
- try{
- Assert.hasLength(componentCode,"鍙傛暟閿欒锛屾湭浼犲叆缁勪欢缂栫爜");
- Assert.hasLength(componentMethod,"鍙傛暟閿欒锛屾湭浼犲叆璋冪敤缁勪欢鏂规硶");
+ try {
+ Assert.hasLength(componentCode, "鍙傛暟閿欒锛屾湭浼犲叆缁勪欢缂栫爜");
+ Assert.hasLength(componentMethod, "鍙傛暟閿欒锛屾湭浼犲叆璋冪敤缁勪欢鏂规硶");
Object componentInstance = ApplicationContextFactory.getBean(componentCode);
- Assert.notNull(componentInstance,"鏈壘鍒扮粍浠跺搴旂殑澶勭悊绫伙紝璇风‘璁� "+componentCode);
+ Assert.notNull(componentInstance, "鏈壘鍒扮粍浠跺搴旂殑澶勭悊绫伙紝璇风‘璁� " + componentCode);
- Method cMethod = componentInstance.getClass().getDeclaredMethod(componentMethod,IPageData.class);
+ Method cMethod = componentInstance.getClass().getDeclaredMethod(componentMethod, IPageData.class);
- Assert.notNull(cMethod,"鏈壘鍒扮粍浠跺搴斿鐞嗙被鐨勬柟娉曪紝璇风‘璁� "+componentCode+"鏂规硶锛�"+componentMethod);
+ Assert.notNull(cMethod, "鏈壘鍒扮粍浠跺搴斿鐞嗙被鐨勬柟娉曪紝璇风‘璁� " + componentCode + "鏂规硶锛�" + componentMethod);
IPageData pd = (IPageData) request.getAttribute(CommonConstant.CONTEXT_PAGE_DATA);
- logger.debug("缁勪欢缂栫爜{}锛岀粍浠舵柟娉晎}锛宲d 涓簕}",componentCode,componentMethod,pd.toString());
+ logger.debug("缁勪欢缂栫爜{}锛岀粍浠舵柟娉晎}锛宲d 涓簕}", componentCode, componentMethod, pd.toString());
- responseEntity = (ResponseEntity<String>)cMethod.invoke(componentInstance,pd);
+ responseEntity = (ResponseEntity<String>) cMethod.invoke(componentInstance, pd);
-
+ }catch (SMOException e){
+ MultiValueMap<String, String> headers = new HttpHeaders();
+ headers.add("code",e.getResult().getCode());
+ responseEntity = new ResponseEntity<>(e.getMessage(),HttpStatus.INTERNAL_SERVER_ERROR);
}catch (Exception e){
- responseEntity = new ResponseEntity<>("璋冪敤缁勪欢澶辫触"+e.getMessage(),HttpStatus.INTERNAL_SERVER_ERROR);
+ String msg = "";
+ if (e instanceof InvocationTargetException) {
+ Throwable targetEx =((InvocationTargetException)e).getTargetException();
+ if (targetEx != null) {
+ msg = targetEx.getMessage();
+ }
+ } else {
+ msg = e.getMessage();
+ }
+ responseEntity = new ResponseEntity<>(msg,HttpStatus.INTERNAL_SERVER_ERROR);
}finally {
logger.debug("缁勪欢璋冪敤杩斿洖淇℃伅涓簕}",responseEntity);
return responseEntity;
--
Gitblit v1.8.0