From c5b609bb2c54ed3218aecd28aeb61eae711153d8 Mon Sep 17 00:00:00 2001 From: "DESKTOP-C3M45P4\\dengdan" Date: Mon, 19 Oct 2026 15:44:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=96=B0=E7=9A=84=E6=82=A0?= =?UTF-8?q?=E8=B0=B7=E8=A5=BF=E6=B8=B8=E5=85=8D=E8=B4=B9=E6=9C=8D=E6=B8=A0?= =?UTF-8?q?=E9=81=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ljsd/controller/GetUserController.java | 3 + .../service/YouGuXyFree2VerifyService.java | 118 ++++++++++++++++++ .../service/YouGuXyFree3VerifyService.java | 118 ++++++++++++++++++ .../service/YouGuXyFree4VerifyService.java | 118 ++++++++++++++++++ 4 files changed, 357 insertions(+) create mode 100644 src/main/java/com/ljsd/service/YouGuXyFree2VerifyService.java create mode 100644 src/main/java/com/ljsd/service/YouGuXyFree3VerifyService.java create mode 100644 src/main/java/com/ljsd/service/YouGuXyFree4VerifyService.java diff --git a/src/main/java/com/ljsd/controller/GetUserController.java b/src/main/java/com/ljsd/controller/GetUserController.java index 4237e60..3ff456f 100644 --- a/src/main/java/com/ljsd/controller/GetUserController.java +++ b/src/main/java/com/ljsd/controller/GetUserController.java @@ -64,6 +64,9 @@ public class GetUserController extends HttpServlet { serviceMap.put("GOHU", new GonghuiVerifyService("GOHU")); serviceMap.put("TCX_YG", new YouGuTcxVerifyService("TCX_YG")); serviceMap.put("XY_FREE", new YouGuXyFreeVerifyService("XY_FREE")); + serviceMap.put("XY_FREE2", new YouGuXyFree2VerifyService("XY_FREE2")); + serviceMap.put("XY_FREE3", new YouGuXyFree3VerifyService("XY_FREE3")); + serviceMap.put("XY_FREE4", new YouGuXyFree4VerifyService("XY_FREE4")); // 自在修仙西游 serviceMap.put("ZXXQ01", new Zzxxxq01VerifyService("ZXXQ01")); diff --git a/src/main/java/com/ljsd/service/YouGuXyFree2VerifyService.java b/src/main/java/com/ljsd/service/YouGuXyFree2VerifyService.java new file mode 100644 index 0000000..81b5727 --- /dev/null +++ b/src/main/java/com/ljsd/service/YouGuXyFree2VerifyService.java @@ -0,0 +1,118 @@ +package com.ljsd.service; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.ljsd.pojo.VerifyParams; +import com.ljsd.util.AppConstans; +import com.ljsd.util.HttpUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +public class YouGuXyFree2VerifyService extends AbstractVerifyService { + private static final Logger LOGGER = LoggerFactory.getLogger(YouGuXyFree2VerifyService.class); + public static int isTestLan=0; + + public YouGuXyFree2VerifyService(String sign) { + super(sign); + } + + @Override + public boolean verify(HttpServletResponse response, HttpServletRequest request, String admin, String platform, + String pid, String openId, String token,String channel){ + try { + //如果是自己人不需要验证了 + if(AppConstans.appsecret.equals(admin)) { + return true; + } + if (isTestLan == 1) { //test + boolean result = loginVerfifyByTestLan(openId, token); + if (!result) { + response.sendError(400, "verify fail"); + LOGGER.error("test verify fail"); + return false; + } + return true; + } + + if (!"3".equals(platform) ) {//正式 切不是pc + String sub_channel = request.getParameter("sub_channel"); + boolean result = false; + if (sub_channel != null && !sub_channel.isEmpty()) { + if (sub_channel.equals("1000")) { + //测试服构建参数 + VerifyParams params = new VerifyParams(); + VerifyParams testParam = getTestParam(params,request, openId, token); + result = verifyTest(testParam); + }else { + //正式服appId + VerifyParams params = new VerifyParams(); + VerifyParams formatParam = getFormatParam(params,request, openId, token); + result = verifyFormat(formatParam); + } + } + if (!result) { + response.sendError(400, "verify fail"); + LOGGER.error("verify fail"); + return false; + } + } + + }catch (Exception e){ + e.printStackTrace(); + } + return true; + } + + @Override + public boolean verifyTest(VerifyParams params) { + return doVerify(params); + } + + @Override + public boolean verifyFormat(VerifyParams params) { + return doVerify(params); + } + + @Override + boolean doVerify(VerifyParams params) { + String loginUrl = "http://smi.648sy.com/zzxxldyzbfqd2zf/auth"; + LOGGER.info("悠谷免费服2登录验证-->{}",params.getOpenId()); + Map parms = new HashMap<>(); + parms.put("token",params.getToken()); + parms.put("uid",params.getOpenId()); + boolean result = false; + try { + String r = HttpUtils.doPost(loginUrl, parms); + JSONObject jsonObject = JSON.parseObject(r); + int errno = jsonObject.getIntValue("errno"); + LOGGER.info("悠谷免费服2登录验证请求结果:{}",r); + if(errno == 0){ + result = true; + } + }catch (IOException e){ + LOGGER.info("悠谷免费服2登录验证验证失败,{}",e.getMessage()); + return false; + } + return result; + } + + @Override + protected VerifyParams getTestParam(VerifyParams params, HttpServletRequest request, String openId, String token) { + params.setToken(token); + params.setOpenId(openId); + return params; + } + + @Override + protected VerifyParams getFormatParam(VerifyParams params, HttpServletRequest request, String openId, String token) { + params.setToken(token); + params.setOpenId(openId); + return params; + } +} diff --git a/src/main/java/com/ljsd/service/YouGuXyFree3VerifyService.java b/src/main/java/com/ljsd/service/YouGuXyFree3VerifyService.java new file mode 100644 index 0000000..bc6bb70 --- /dev/null +++ b/src/main/java/com/ljsd/service/YouGuXyFree3VerifyService.java @@ -0,0 +1,118 @@ +package com.ljsd.service; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.ljsd.pojo.VerifyParams; +import com.ljsd.util.AppConstans; +import com.ljsd.util.HttpUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +public class YouGuXyFree3VerifyService extends AbstractVerifyService { + private static final Logger LOGGER = LoggerFactory.getLogger(YouGuXyFree3VerifyService.class); + public static int isTestLan=0; + + public YouGuXyFree3VerifyService(String sign) { + super(sign); + } + + @Override + public boolean verify(HttpServletResponse response, HttpServletRequest request, String admin, String platform, + String pid, String openId, String token,String channel){ + try { + //如果是自己人不需要验证了 + if(AppConstans.appsecret.equals(admin)) { + return true; + } + if (isTestLan == 1) { //test + boolean result = loginVerfifyByTestLan(openId, token); + if (!result) { + response.sendError(400, "verify fail"); + LOGGER.error("test verify fail"); + return false; + } + return true; + } + + if (!"3".equals(platform) ) {//正式 切不是pc + String sub_channel = request.getParameter("sub_channel"); + boolean result = false; + if (sub_channel != null && !sub_channel.isEmpty()) { + if (sub_channel.equals("1000")) { + //测试服构建参数 + VerifyParams params = new VerifyParams(); + VerifyParams testParam = getTestParam(params,request, openId, token); + result = verifyTest(testParam); + }else { + //正式服appId + VerifyParams params = new VerifyParams(); + VerifyParams formatParam = getFormatParam(params,request, openId, token); + result = verifyFormat(formatParam); + } + } + if (!result) { + response.sendError(400, "verify fail"); + LOGGER.error("verify fail"); + return false; + } + } + + }catch (Exception e){ + e.printStackTrace(); + } + return true; + } + + @Override + public boolean verifyTest(VerifyParams params) { + return doVerify(params); + } + + @Override + public boolean verifyFormat(VerifyParams params) { + return doVerify(params); + } + + @Override + boolean doVerify(VerifyParams params) { + String loginUrl = "http://smi.648sy.com/zzxxldyzlmzf/auth"; + LOGGER.info("悠谷免费服3登录验证-->{}",params.getOpenId()); + Map parms = new HashMap<>(); + parms.put("token",params.getToken()); + parms.put("uid",params.getOpenId()); + boolean result = false; + try { + String r = HttpUtils.doPost(loginUrl, parms); + JSONObject jsonObject = JSON.parseObject(r); + int errno = jsonObject.getIntValue("errno"); + LOGGER.info("悠谷免费服3登录验证请求结果:{}",r); + if(errno == 0){ + result = true; + } + }catch (IOException e){ + LOGGER.info("悠谷免费服3登录验证验证失败,{}",e.getMessage()); + return false; + } + return result; + } + + @Override + protected VerifyParams getTestParam(VerifyParams params, HttpServletRequest request, String openId, String token) { + params.setToken(token); + params.setOpenId(openId); + return params; + } + + @Override + protected VerifyParams getFormatParam(VerifyParams params, HttpServletRequest request, String openId, String token) { + params.setToken(token); + params.setOpenId(openId); + return params; + } +} diff --git a/src/main/java/com/ljsd/service/YouGuXyFree4VerifyService.java b/src/main/java/com/ljsd/service/YouGuXyFree4VerifyService.java new file mode 100644 index 0000000..6d4b380 --- /dev/null +++ b/src/main/java/com/ljsd/service/YouGuXyFree4VerifyService.java @@ -0,0 +1,118 @@ +package com.ljsd.service; + +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.ljsd.pojo.VerifyParams; +import com.ljsd.util.AppConstans; +import com.ljsd.util.HttpUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; + +public class YouGuXyFree4VerifyService extends AbstractVerifyService { + private static final Logger LOGGER = LoggerFactory.getLogger(YouGuXyFree4VerifyService.class); + public static int isTestLan=0; + + public YouGuXyFree4VerifyService(String sign) { + super(sign); + } + + @Override + public boolean verify(HttpServletResponse response, HttpServletRequest request, String admin, String platform, + String pid, String openId, String token,String channel){ + try { + //如果是自己人不需要验证了 + if(AppConstans.appsecret.equals(admin)) { + return true; + } + if (isTestLan == 1) { //test + boolean result = loginVerfifyByTestLan(openId, token); + if (!result) { + response.sendError(400, "verify fail"); + LOGGER.error("test verify fail"); + return false; + } + return true; + } + + if (!"3".equals(platform) ) {//正式 切不是pc + String sub_channel = request.getParameter("sub_channel"); + boolean result = false; + if (sub_channel != null && !sub_channel.isEmpty()) { + if (sub_channel.equals("1000")) { + //测试服构建参数 + VerifyParams params = new VerifyParams(); + VerifyParams testParam = getTestParam(params,request, openId, token); + result = verifyTest(testParam); + }else { + //正式服appId + VerifyParams params = new VerifyParams(); + VerifyParams formatParam = getFormatParam(params,request, openId, token); + result = verifyFormat(formatParam); + } + } + if (!result) { + response.sendError(400, "verify fail"); + LOGGER.error("verify fail"); + return false; + } + } + + }catch (Exception e){ + e.printStackTrace(); + } + return true; + } + + @Override + public boolean verifyTest(VerifyParams params) { + return doVerify(params); + } + + @Override + public boolean verifyFormat(VerifyParams params) { + return doVerify(params); + } + + @Override + boolean doVerify(VerifyParams params) { + String loginUrl = "http://smi.648sy.com/zzxxldyzqd1zf2/auth"; + LOGGER.info("悠谷免费服4登录验证-->{}",params.getOpenId()); + Map parms = new HashMap<>(); + parms.put("token",params.getToken()); + parms.put("uid",params.getOpenId()); + boolean result = false; + try { + String r = HttpUtils.doPost(loginUrl, parms); + JSONObject jsonObject = JSON.parseObject(r); + int errno = jsonObject.getIntValue("errno"); + LOGGER.info("悠谷免费服4登录验证请求结果:{}",r); + if(errno == 0){ + result = true; + } + }catch (IOException e){ + LOGGER.info("悠谷免费服4登录验证验证失败,{}",e.getMessage()); + return false; + } + return result; + } + + @Override + protected VerifyParams getTestParam(VerifyParams params, HttpServletRequest request, String openId, String token) { + params.setToken(token); + params.setOpenId(openId); + return params; + } + + @Override + protected VerifyParams getFormatParam(VerifyParams params, HttpServletRequest request, String openId, String token) { + params.setToken(token); + params.setOpenId(openId); + return params; + } +}