|
@ -1,5 +1,6 @@
|
|
|
package com.yihu.hos.gateway.control;
|
|
|
|
|
|
import com.yihu.hos.gateway.thread.ResponseThread;
|
|
|
import com.yihu.hos.gateway.exception.EHRException;
|
|
|
import com.yihu.hos.gateway.exception.EHRExceptionConstant;
|
|
|
import com.yihu.hos.gateway.model.rest.RestRequsetResult;
|
|
@ -7,6 +8,7 @@ import com.yihu.hos.gateway.model.rest.RestResponseResult;
|
|
|
import com.yihu.hos.gateway.service.intf.IGatewayService;
|
|
|
import com.yihu.hos.resource.util.httpclient.HttpClientUtil;
|
|
|
import com.yihu.hos.resource.viewModel.ResourceRestDetailModel;
|
|
|
import com.yihu.hos.resource.viewModel.SQLResponResult;
|
|
|
import net.sf.json.JSONObject;
|
|
|
import org.apache.commons.beanutils.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@ -43,6 +45,7 @@ public class GatewayControl {
|
|
|
*/
|
|
|
@RequestMapping("/transfer")
|
|
|
public Object transfer(HttpServletRequest request) {
|
|
|
boolean isSyn = false;//是否异步
|
|
|
String resultData = null;
|
|
|
RestRequsetResult restRequsetResult = new RestRequsetResult();
|
|
|
RestResponseResult restResponseResult = new RestResponseResult();
|
|
@ -51,6 +54,7 @@ public class GatewayControl {
|
|
|
//---start 扩展type和data两个参数 作用于API和param一样
|
|
|
if (StringUtils.isEmpty(restRequsetResult.getApi())) {
|
|
|
restRequsetResult.setApi(restRequsetResult.getType());
|
|
|
isSyn = true;
|
|
|
}
|
|
|
if (StringUtils.isEmpty(restRequsetResult.getParam())) {
|
|
|
restRequsetResult.setParam(restRequsetResult.getData());
|
|
@ -61,7 +65,17 @@ public class GatewayControl {
|
|
|
//根据API得到资源对象
|
|
|
ResourceRestDetailModel resourceRestDetailModel = gatewayService.getResourceRestDetailModelByCode(restRequsetResult.getApi());
|
|
|
//根据资源对象的信息还有访问的参数通过httpclient得到数据
|
|
|
resultData = getResultData(resourceRestDetailModel, restRequsetResult.getParam());
|
|
|
if (isSyn) {
|
|
|
new Thread(new ResponseThread(httpClientUtil,
|
|
|
resourceRestDetailModel.getUrl() + resourceRestDetailModel.getNamespace().replace(".", "/"),
|
|
|
resourceRestDetailModel.getUsername(),
|
|
|
resourceRestDetailModel.getPassword(),
|
|
|
JSONObject.fromObject(resourceRestDetailModel.getParam()),
|
|
|
resourceRestDetailModel.getType())).start();
|
|
|
return new SQLResponResult();
|
|
|
} else {
|
|
|
resultData = getResultData(resourceRestDetailModel, restRequsetResult.getParam());
|
|
|
}
|
|
|
return resultData;
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|