deason 5 år sedan
förälder
incheckning
48f0e3b9c3
1 ändrade filer med 11 tillägg och 4 borttagningar
  1. 11 4
      src/main/java/cn/com/qmth/examcloud/app/service/RouterService.java

+ 11 - 4
src/main/java/cn/com/qmth/examcloud/app/service/RouterService.java

@@ -17,6 +17,7 @@ import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Random;
 import java.util.UUID;
 
 import static cn.com.qmth.examcloud.app.model.Constants.*;
@@ -24,6 +25,7 @@ import static cn.com.qmth.examcloud.app.model.Constants.*;
 @Component
 public class RouterService {
     private static Logger log = LoggerFactory.getLogger(RouterService.class);
+    private Random random = new Random();
     @Autowired
     private SysProperty sysProperty;
 
@@ -53,8 +55,8 @@ public class RouterService {
         RequestBody requestBody = this.appendBody(router.getBody());
 
         //处理请求地址
-        final String requestUrl = sysProperty.getProxyUrl(router.getServer()) + "/" + router.getUrl() + "?" + requestParams;
-        log.info(String.format("Router:[%s][%s]-%s ", router.getServer().getInstanceName(), router.getMethod().name(), requestUrl));
+        final String requestUrl = sysProperty.getProxyUrl(router.getServer()) + "/" + router.getUrl() + requestParams;
+        log.info(String.format("[%s][%s]%s ", router.getServer().getInstanceName(), router.getMethod().name(), requestUrl));
 
         //封装请求
         Request.Builder request = new Request.Builder()
@@ -82,7 +84,7 @@ public class RouterService {
 
     private RequestBody appendBody(String body) {
         if (StringUtils.isBlank(body)) {
-            body = "{}";
+            body = "";
         }
 
         return FormBody.create(MediaType.parse(Constants.CHARSET_JSON_UTF8), body);
@@ -90,10 +92,15 @@ public class RouterService {
 
     private String appendParams(Map<String, String> params) {
         StringBuilder result = new StringBuilder();
+        result.append("?r=").append(random.nextInt(10000));
 
         if (MapUtils.isNotEmpty(params)) {
             for (Map.Entry<String, String> entry : params.entrySet()) {
-                result.append(entry.getKey()).append("=").append(strEncode(entry.getValue())).append("&");
+                if (StringUtils.isBlank(entry.getKey())) {
+                    continue;
+                }
+
+                result.append("&").append(entry.getKey()).append("=").append(strEncode(entry.getValue()));
             }
         }