LoginV2Controller.java 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. package com.ljsd.controller;
  2. import com.google.gson.Gson;
  3. import com.ljsd.channel.*;
  4. import com.ljsd.pojo.ResMsg;
  5. import com.ljsd.redis.RedisKey;
  6. import com.ljsd.util.BaseGlobal;
  7. import com.ljsd.util.StringUtils;
  8. import org.slf4j.Logger;
  9. import org.slf4j.LoggerFactory;
  10. import javax.servlet.ServletException;
  11. import javax.servlet.http.HttpServlet;
  12. import javax.servlet.http.HttpServletRequest;
  13. import javax.servlet.http.HttpServletResponse;
  14. import java.io.IOException;
  15. import java.io.PrintWriter;
  16. import java.util.HashMap;
  17. import java.util.Map;
  18. import java.util.Random;
  19. public class LoginV2Controller extends HttpServlet {
  20. private static final Logger LOGGER = LoggerFactory.getLogger(LoginV2Controller.class);
  21. private static Gson gson = new Gson();
  22. public LoginV2Controller() {
  23. super();
  24. }
  25. public void destroy() {
  26. super.destroy();
  27. }
  28. public void doGet(HttpServletRequest request, HttpServletResponse response)
  29. throws ServletException, IOException {
  30. this.doPost(request, response);
  31. }
  32. @Override
  33. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  34. request.setCharacterEncoding("UTF-8");
  35. response.setCharacterEncoding("UTF-8");
  36. response.setContentType("application/json; charset=utf-8");
  37. String uid = request.getParameter("userId");
  38. String token = request.getParameter("token");
  39. String ch = request.getParameter("sdksign");
  40. int appId = 33;
  41. int ts = Integer.parseInt(request.getParameter("ts"));
  42. String channel = request.getParameter("channel");
  43. String subChannel = request.getParameter("sub_channel");
  44. LOGGER.info("LoginV2Controller uid={}, token={}, channel={}, subChannel={}",uid,token,channel, subChannel);
  45. ResMsg resMsg = new ResMsg();
  46. resMsg.setCode(1);
  47. try (PrintWriter out = response.getWriter()){
  48. if(StringUtils.checkIsEmpty(uid) || StringUtils.checkIsEmpty(channel)){
  49. resMsg.setMsg("参数不能为空");
  50. out.print(gson.toJson(resMsg));
  51. return;
  52. }
  53. boolean ok = false;
  54. if (channel.equals("quick")) {
  55. ok = MockQuickSDK.verifyUser(uid, token, subChannel);
  56. } else if (channel.equals("361yx")) {
  57. ok = Mock361YXSDK.verifyUser(uid);
  58. } else if (channel.equals("xingtu")) {
  59. ok = MockXingTuSDK.verifyUser(token);
  60. } else if (channel.equals("737yx")) {
  61. ok = Mock737YXSDK.verifyUser(uid);
  62. } else if (channel.equals("wanba")){
  63. ok = MsySDK.verifyUser(uid,token);
  64. } else if (channel.equals("mix")){
  65. ok= MixSDK.verifyUser(uid,appId,channel,token,ts,ch);
  66. }else {
  67. resMsg.setMsg("不支持该渠道");
  68. out.print(gson.toJson(resMsg));
  69. return;
  70. }
  71. if (!ok) {
  72. resMsg.setMsg("登录验证失败");
  73. out.print(gson.toJson(resMsg));
  74. return;
  75. // throw new RuntimeException("登录验证失败");
  76. }
  77. Map<String,String> parms = new HashMap<>();
  78. parms.put("openId",uid);
  79. int tokenKey = new Random().nextInt(1024) +10000;
  80. parms.put("token",Integer.toString(tokenKey));
  81. BaseGlobal.getInstance().redisApp.set(RedisKey.LOGIN_TOKEN,uid,tokenKey,-1, false);
  82. int code = 0;
  83. resMsg.setCode(code);//正常
  84. resMsg.setParms(parms);
  85. out.print(gson.toJson(resMsg));
  86. }catch (Exception e){
  87. e.printStackTrace();
  88. }
  89. }
  90. }