| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- package com.ljsd.controller;
- import com.google.gson.Gson;
- import com.ljsd.pojo.ResMsg;
- import com.ljsd.redis.RedisKey;
- import com.ljsd.redis.RedisUtil;
- import com.ljsd.util.BaseGlobal;
- import com.ljsd.util.IdCard;
- import com.ljsd.util.MD5Util;
- import com.ljsd.util.StringUtils;
- import com.mongodb.BasicDBObject;
- import com.mongodb.DBObject;
- 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.text.DateFormat;
- import java.text.SimpleDateFormat;
- import java.util.*;
- public class UserLoginController extends HttpServlet {
- private static Gson gson = new Gson();
- private static final String _COLLECTION_NAME = "user_register_info";
- 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 {
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application/json; charset=utf-8");
- String name = request.getParameter("userName");
- String password = request.getParameter("password");
- String sign = request.getParameter("sign");
- String returnMsg = "success";
- ResMsg resMsg = new ResMsg();
- resMsg.setCode(1);
- try (PrintWriter out = response.getWriter();){
- if(StringUtils.checkIsEmpty(name) || StringUtils.checkIsEmpty(password) || StringUtils.checkIsEmpty(sign)){
- resMsg.setMsg("参数不能为空");
- out.print(gson.toJson(resMsg));
- return;
- }
- String mySign = MD5Util.encrypByMd5(name + password + MD5Util.salt);
- if(!mySign.equals(sign)){
- resMsg.setMsg("签名错误");
- out.print(gson.toJson(resMsg));
- return;
- }
- DBObject one = BaseGlobal.getInstance().mongoDBPool.findOne(_COLLECTION_NAME, name);
- if(one ==null){
- resMsg.setMsg("该账号不存在");
- out.print(gson.toJson(resMsg));
- return;
- }
- Object passwordInDb = one.get("password");
- if(!password.equals(passwordInDb)){
- resMsg.setMsg("密码错误,请重试");
- out.print(gson.toJson(resMsg));
- return;
- }
- Map<String,String> parms = new HashMap<>();
- String openId = one.get("openId").toString();
- parms.put("openId",one.get("openId").toString());
- int token = new Random().nextInt(1024) +10000;
- parms.put("token",Integer.toString(token));
- BaseGlobal.getInstance().redisApp.set(RedisKey.LOGIN_TOKEN,openId,token,-1, false);
- int code = 0;
- //开关防沉迷
- Properties properties = BaseGlobal.getInstance().properties;
- if(Boolean.parseBoolean(properties.getProperty("openAdultCheck"))){
- int age = 0;//年龄
- if(one.get("idstr")==null){
- //resMsg.setCode(2);//未进行身份验证
- code = 2;
- }else{
- if(IdCard.isAdult((String) one.get("idstr"))){
- age = 19;
- }
- //resMsg.setCode(0);//正常
- code = 0;
- }
- resMsg.setMsg(String.valueOf(age)); //登录成功,返回年龄
- }else{
- resMsg.setMsg(returnMsg);
- }
- resMsg.setCode(code);//正常
- resMsg.setParms(parms);
- out.print(gson.toJson(resMsg));
- }catch (Exception e){
- e.printStackTrace();
- }
- }
- }
|