From fd098f67ef7e57f7165c06519a3f238f9d4529b0 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期二, 15 十一月 2022 09:19:14 +0800
Subject: [PATCH] 1

---
 src/main/java/com/lf/server/controller/other/FloatServerController.java |   92 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 89 insertions(+), 3 deletions(-)

diff --git a/src/main/java/com/lf/server/controller/other/FloatServerController.java b/src/main/java/com/lf/server/controller/other/FloatServerController.java
index 7586bcf..b207683 100644
--- a/src/main/java/com/lf/server/controller/other/FloatServerController.java
+++ b/src/main/java/com/lf/server/controller/other/FloatServerController.java
@@ -1,25 +1,111 @@
 package com.lf.server.controller.other;
 
+import com.alibaba.fastjson.JSON;
 import com.lf.server.controller.all.BaseController;
+import com.lf.server.entity.other.FloatServerResponse;
+import com.lf.server.entity.other.ReqParamFloatServer;
 import com.lf.server.helper.HttpHelper;
+import com.lf.server.helper.LicHelper;
 import io.swagger.annotations.Api;
+import org.apache.http.HttpEntity;
+import org.apache.http.entity.InputStreamEntity;
+import org.apache.http.util.EntityUtils;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+/**
+ * FloatServer
+ * @author WWW
+ */
 @Api(tags = "FloatServer")
 @RestController
 @RequestMapping("/floatserver")
 public class FloatServerController extends BaseController {
+    private static LicHelper licHelper;
+
+    private static boolean isRedirect = false;
+
     @RequestMapping({"/checkout/license"})
     public void license(HttpServletRequest req, HttpServletResponse res) {
         try {
-            HttpHelper httpHelper = new HttpHelper();
-            httpHelper.service(req, res, "http://192.168.20.43:38080/floatserver/checkout/license", null);
-        } catch (Exception ex) {
+            if (isRedirect) {
+                HttpHelper httpHelper = new HttpHelper();
+                httpHelper.service(req, res, "http://192.168.20.43:38080/floatserver/checkout/license", null);
+                return;
+            }
 
+            HttpEntity entity = new InputStreamEntity(req.getInputStream(), getContentLength(req));
+            String str = EntityUtils.toString(entity, "UTF-8");
+
+            LicHelper helper = getHelper();
+            String reqJson = helper.b(str);
+
+            ReqParamFloatServer rfs = JSON.parseObject(reqJson, ReqParamFloatServer.class);
+            FloatServerResponse fsr = new FloatServerResponse(rfs);
+
+            String resJson = JSON.toJSONString(fsr);
+            String strRes = helper.a(resJson);
+
+            res.getWriter().write(strRes);
+        } catch (Exception ex) {
+            String str = ex.getMessage();
+        }
+    }
+
+    private Integer getContentLength(HttpServletRequest request) {
+        String contentLengthHeader = request.getHeader("Content-Length");
+        if (contentLengthHeader != null) {
+            return Integer.parseInt(contentLengthHeader);
+        }
+
+        return -1;
+    }
+
+    private static LicHelper getHelper() {
+        if (licHelper == null) {
+            licHelper = new LicHelper();
+            licHelper.d("&kdaow$IEW.##%5-");
+            licHelper.c("*y91z72a;pclfleoqc20161v$DSP&%3+");
+        }
+
+        return licHelper;
+    }
+
+    @SuppressWarnings("AlibabaUndefineMagicConstant")
+    private static String getClientIpAddr(HttpServletRequest req) {
+        String ip;
+        if ((ip = req.getHeader("x-forwarded-for")) == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+            ip = req.getHeader("Proxy-Client-IP");
+        }
+        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+            ip = req.getHeader("WL-Proxy-Client-IP");
+        }
+        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+            ip = req.getRemoteAddr();
+        }
+
+        return ip;
+    }
+
+    public static void test() {
+        try {
+            ReqParamFloatServer reqParam = new ReqParamFloatServer("192.168.20.106", "12316");
+            String json = JSON.toJSONString(reqParam);
+
+            String licCode = "78a82f0920de0f557f8177bec1e48601c4dc25e4054a00728e4314b56528d3a1632de5298edee38a65412277977a174fea5d91c452b19ef138dbc2ba089ba632";
+
+            LicHelper helper = getHelper();
+            String str = helper.a(json);
+            System.out.println("ReqParamFloatServer: " + str);
+
+            String data = "8dfb75298185cbcc4b2d485fdb4f25627f7aeb4dd41329076b5015586e4d56cfe2c56f12cd9852c447904210117b41fe2672b24d7e82fd581ad5a0983b501b5bcbe97d65dbbe770dbdc4a98e80d2966a71ecd0041a5282283bff853d70caf7aed671bc9c9d4bedf6d1d0294394861af40f195d68a965d957d53c78aa50ada3afc65d1a526c54648e6e081e8f7f7ab1c31b9f75916170e638b0b9216d30204864afe3a7a1bc8a6563bf44daf6a29e27c19f798c4f82dbb904ea4aa4fcc87a82226d9bf3e891ecb97b94263064fec025e3aa7c440d7c0e8ed559b84ae2438ec0fc438444a03c992883170ecdde20e08552efcf9d584de469930b27c81f946548d5c6e63e815671182b03b5e6e622ddb10a3f6a35ad3f44ec247a3b2dee0e936020d48efb7abc2d2abfb555f61d54c85eca";
+            String rs = helper.b(data);
+            System.out.println("Lic: " + rs);
+        } catch (Exception ex) {
+            System.out.println(ex.getStackTrace());
         }
     }
 }

--
Gitblit v1.9.3