소스 검색

代码修改

LAPTOP-KB9HII50\70708 11 달 전
부모
커밋
fced0e823b

+ 31 - 4
svr/svr-cloud-transfor/src/main/java/com/yihu/jw/care/RequestParamUtil.java

@ -1,13 +1,9 @@
package com.yihu.jw.care;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.apache.commons.lang3.StringUtils;
import javax.servlet.http.HttpServletRequest;
import java.io.BufferedReader;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@ -16,6 +12,37 @@ import java.util.stream.Collectors;
 * Created by Bing on 2021/10/15.
 */
public class RequestParamUtil {
    public static String getParam(HttpServletRequest request){
        String result = null;
        try {
            String method= request.getMethod();
            if ("GET".equals(method)){
                result = "?"+request.getQueryString();
            }else if ("POST".equals(method)){
                String paramEnd = "";
                Map<String, String[]> parameterMap =  request.getParameterMap();
                for (Map.Entry<String, String[]> entry : parameterMap.entrySet()) {
                    String k = entry.getKey();
                    String[] v = entry.getValue();
                    List<String> paramList = Arrays.asList(v.clone());
                    String paramStr = paramList.stream().map(String::valueOf).collect(Collectors.joining(","));
                    if (StringUtils.isNotBlank(paramStr)){
                        paramEnd += k+"="+paramStr+"&";
                    }
                }
                if (StringUtils.isNotBlank(paramEnd)){
                    paramEnd = paramEnd.substring(0,paramEnd.length()-1);
                    result = "?"+paramEnd;
                }
            }
            return result;
        }catch (Exception e){
            e.printStackTrace();
            return result;
        }
    }
    public static String getParamUrl( HttpServletRequest request){
        String result = null;
        try {

+ 25 - 0
svr/svr-cloud-transfor/src/main/java/com/yihu/jw/care/controller/TransforController.java

@ -10,12 +10,15 @@ import io.swagger.annotations.ApiParam;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;
import javax.servlet.http.HttpServletRequest;
import java.net.URLDecoder;
import java.util.HashMap;
import java.util.Map;
@ -30,6 +33,28 @@ public class TransforController {
    private static Logger logger = LoggerFactory.getLogger(TransforController.class);
    @Autowired
    private AqgService aqgService;
    private static final RestTemplate restTemplate = new RestTemplate();
    @ApiOperation("请求转发")
    @RequestMapping(value = "transfor", method = {RequestMethod.POST,RequestMethod.GET})
    public String transfor(HttpServletRequest request,String baseUrl) {
        try {
            long startTime=System.currentTimeMillis();
            String paraString = JSON.toJSONString(request.getParameterMap());
            String url = RequestParamUtil.getParam(request);
            url = url.replace("baseUrl="+baseUrl+"&","");
            url = URLDecoder.decode(url,"UTF-8");
            logger.info("请求转发url="+ baseUrl+url);
            ResponseEntity<String> responseEntity = restTemplate.getForEntity(baseUrl+url, String.class);
            String res = responseEntity.getBody();
            long endTime=System.currentTimeMillis();
            logger.info("请求转发,请求参数:"+paraString+" "+(endTime-startTime)+"ms; 响应:"+res);
            return res;
        } catch (Exception e) {
            e.printStackTrace();
            return "error";
        }
    }
    @ApiOperation("爱牵挂设备sos数据接收")
    @RequestMapping(value = "aqgsos", method = {RequestMethod.POST,RequestMethod.GET})

+ 1 - 1
svr/svr-cloud-transfor/src/main/resources/application.yml

@ -54,7 +54,7 @@ spring:
  profiles: jwdev
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://172.26.0.114/base?useUnicode:true&characterEncoding=utf-8&autoReconnect=true&useSSL=false
    url: jdbc:mysql://172.26.0.104/base?useUnicode:true&characterEncoding=utf-8&autoReconnect=true&useSSL=false
    username: root
    password: jkzlehr
#  elasticsearch: