GatewayService.java 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. package com.yihu.hos.services;
  2. import com.yihu.hos.common.configuration.GatewayConfiguration;
  3. import com.yihu.hos.core.constants.CoreConstant;
  4. import com.yihu.hos.core.constants.ExceptionConstant;
  5. import com.yihu.hos.core.exception.ESBException;
  6. import com.yihu.hos.core.http.HttpClientKit;
  7. import com.yihu.hos.models.GatewayRequestResult;
  8. import net.sf.json.JSONObject;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Service;
  11. import org.springframework.util.StringUtils;
  12. import java.util.HashMap;
  13. import java.util.Iterator;
  14. import java.util.Map;
  15. /**
  16. * @author chenweida on 2016/1/27.
  17. */
  18. @Service
  19. public class GatewayService {
  20. private final GatewayConfiguration gatewayConfiguration;
  21. @Autowired
  22. public GatewayService(GatewayConfiguration gatewayConfiguration) {
  23. this.gatewayConfiguration = gatewayConfiguration;
  24. }
  25. public String getResultData(GatewayRequestResult gatewayRequestResult) throws ESBException {
  26. String returnData;
  27. //拼凑出URL
  28. String url = getUrl(gatewayConfiguration.getIp(), gatewayConfiguration.getPort(), gatewayRequestResult.getApi());
  29. try {
  30. Map<String, String> params = getParams(gatewayRequestResult.getParam());
  31. returnData = HttpClientKit.post(url, params).getBody();
  32. System.out.print(returnData);
  33. } catch (Exception e) {
  34. throw new ESBException(ExceptionConstant.EHREXCEPTION_SYSTEM_TRANSFER, ExceptionConstant.EHREXCEPTION_SYSTEM_TRANSFER_MESSAGE);
  35. }
  36. return returnData;
  37. }
  38. public void paramsIsNotNull(Object params) throws ESBException {
  39. if (StringUtils.isEmpty(params)) {
  40. throw new ESBException(ExceptionConstant.EHREXCEPTION_BUSINESS_PARAMS_EXCEPTION, ExceptionConstant.EHREXCEPTION_BUSINESS_PARAMS_EXCEPTION_MESSAGE);
  41. }
  42. }
  43. private String getUrl(String ip, String port, String api) {
  44. String url = CoreConstant.HTTP + CoreConstant.COLON + CoreConstant.BACKSLASH +
  45. CoreConstant.BACKSLASH + ip + CoreConstant.COLON + port +
  46. CoreConstant.BACKSLASH + api;
  47. return url;
  48. }
  49. private Map<String, String> getParams(String jsonParam) {
  50. JSONObject object = JSONObject.fromObject(jsonParam);
  51. Map<String, String> params = new HashMap<>();
  52. Iterator<?> keys = object.keys();
  53. while (keys.hasNext()) {
  54. String key = (String) keys.next();
  55. String value = object.getString(key);
  56. params.put(key, value);
  57. }
  58. return params;
  59. }
  60. }