package com.ljsd.controller; import com.google.gson.Gson; import com.ljsd.channel.*; import com.ljsd.pojo.ResMsg; import com.ljsd.redis.RedisKey; import com.ljsd.util.BaseGlobal; import com.ljsd.util.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; import java.util.Map; import java.util.Random; public class LoginV2Controller extends HttpServlet { private static final Logger LOGGER = LoggerFactory.getLogger(LoginV2Controller.class); private static Gson gson = new Gson(); public LoginV2Controller() { super(); } public void destroy() { super.destroy(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); response.setContentType("application/json; charset=utf-8"); String uid = request.getParameter("userId"); String token = request.getParameter("token"); String ch = request.getParameter("sdksign"); int appId = 33; int ts = Integer.parseInt(request.getParameter("ts")); String channel = request.getParameter("channel"); String subChannel = request.getParameter("sub_channel"); LOGGER.info("LoginV2Controller uid={}, token={}, channel={}, subChannel={}",uid,token,channel, subChannel); ResMsg resMsg = new ResMsg(); resMsg.setCode(1); try (PrintWriter out = response.getWriter()){ if(StringUtils.checkIsEmpty(uid) || StringUtils.checkIsEmpty(channel)){ resMsg.setMsg("参数不能为空"); out.print(gson.toJson(resMsg)); return; } boolean ok = false; if (channel.equals("quick")) { ok = MockQuickSDK.verifyUser(uid, token, subChannel); } else if (channel.equals("361yx")) { ok = Mock361YXSDK.verifyUser(uid); } else if (channel.equals("xingtu")) { ok = MockXingTuSDK.verifyUser(token); } else if (channel.equals("737yx")) { ok = Mock737YXSDK.verifyUser(uid); } else if (channel.equals("wanba")){ ok = MsySDK.verifyUser(uid,token); } else if (channel.equals("mix")){ ok= MixSDK.verifyUser(uid,appId,channel,token,ts,ch); }else { resMsg.setMsg("不支持该渠道"); out.print(gson.toJson(resMsg)); return; } if (!ok) { resMsg.setMsg("登录验证失败"); out.print(gson.toJson(resMsg)); return; // throw new RuntimeException("登录验证失败"); } Map parms = new HashMap<>(); parms.put("openId",uid); int tokenKey = new Random().nextInt(1024) +10000; parms.put("token",Integer.toString(tokenKey)); BaseGlobal.getInstance().redisApp.set(RedisKey.LOGIN_TOKEN,uid,tokenKey,-1, false); int code = 0; resMsg.setCode(code);//正常 resMsg.setParms(parms); out.print(gson.toJson(resMsg)); }catch (Exception e){ e.printStackTrace(); } } }