微信授权登录、支付宝授权登录、短信登录、发送验证码 、java、Spring、SSH、SSM

短信登录使用的是阿里云5000条300元,在控制台就可以设置
微信在微信开放平台开通
支付宝在蚂蚁开放平台开通
import java.io.IOException;
import java.util.Map;
import java.util.Random;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.aliyuncs.exceptions.ClientException;
import com.tgb.entity.Users;
import com.tgb.manager.UsersManager;
import com.tgb.util.DateTime;
import com.tgb.util.Json;
import com.tgb.util.Sms;
/**

  • Title: LoginController

  • Description: 用户登录模块(IOS、Android)

  • @author zhaoxuehong

  • @date 2018年11月3日上午10:38:40
    */
    @Controller
    @RequestMapping(value=“api”)
    public class LoginAppController {
    @Resource(name=“usersManager”)
    private UsersManager usersManager;

    /**

    • 登录验证
    • @param users
    • @return
    • @return
      /
      @RequestMapping(value=“login”,method=RequestMethod.POST)
      @ResponseBody
      public Map<String, Object> login(Users users,HttpServletRequest request,HttpServletResponse response,HttpSession session) {
      String alipayuser_id=request.getParameter(“alipayuser_id”);
      String wechatopen_id=request.getParameter(“wechatopen_id”);
      String cellphone=request.getParameter(“cellphone”);
      String code=request.getParameter(“code”);
      if (cellphone!=null&&code!=null) {
      String token=session.getId();
      String code2=usersManager.getCellphone(cellphone).getCode().toString();
      String lat=users.getLat();
      String lng=users.getLng();
      String lasttime=new DateTime().getDataTime();
      if (Integer.parseInt(code2)Integer.parseInt(code)) {
      if(lat
      ""&&lng=="") {
      users.setLat(“30.66074”);
      users.setLng(“104.06327”);
      }else{
      users.setLat(lat);
      users.setLng(lng);
      }
      users.setAlipayuser_id(alipayuser_id);
      users.setWechatopen_id(wechatopen_id);
      System.out.println(usersManager.getCellphone(cellphone).getToken());
      System.out.println(token);
      users.setToken(token);
      users.setLasttime(lasttime);
      users.setUid(usersManager.getCellphone(cellphone).getUid());
      if (usersManager.updateUsers(users)) {
      return new Json().getJson(“200”, “登录成功”,usersManager.getCellphone(cellphone).getUid());
      }
      }if(code2null||code2!=code) {
      return new Json().getJson(“201”, “登录失败,请重新获取验证码”,"");
      }
      }else {
      Users ali=new Users();
      Users wechat=new Users();
      if (alipayuser_id!=null||wechatopen_id!=null) {
      if (alipayuser_id!=null&&wechatopen_id
      null) {
      ali=usersManager.getAlipay(alipayuser_id);
      }else {
      wechat=usersManager.getWechat(wechatopen_id);
      System.out.println(wechat);
      }
      }
      if (wechat!=null) {
      if (wechat.getUid()!=null) {
      return new Json().getJson(“200”, “成功授权微信登录”, wechat.getUid());
      }
      }if (ali!=null) {
      if (ali.getUid()!=null) {
      return new Json().getJson(“200”, “成功授权支付宝登录”, ali.getUid());
      }
      }
      }
      return new Json().getJson(“203”, “重新登录”,"");
      }
      /
      *
    • 发送验证码
    • @param users
    • @param request
    • @param response
    • @return
    • @throws IOException
    • @throws ClientException
      */
      @SuppressWarnings(“unused”)
      @RequestMapping(value=“sendSMS”,method=RequestMethod.POST)
      @ResponseBody
      public Map<String, Object> sendSMS(Users users,HttpServletResponse response,HttpSession session) throws IOException, ClientException {
      String msg = “发送成功”;
      String cellphone=users.getCellphone();
      String createtime=new DateTime().getDataTime();
      Random random = new Random();
      String code="";
      for (int i=0;i<4;i++)
      {
      code+=random.nextInt(10);
      }
      System.out.println(“code”+code);
      Sms.sendSms(code,cellphone);
      Users phone=usersManager.getCellphone(cellphone);
      if (phone==null){
      users.setCellphone(cellphone);
      users.setCode(code);
      users.setSex(“0”);
      users.setStatus("-1");
      users.setAuthorization(“0”);
      users.setHead_pic("/static/img/head_pic.png");
      users.setCreatetime(createtime);
      users.setLasttime(createtime);
      users.setLat(“30.66074”);
      users.setLng(“104.06327”);
      users.setUsername(“pck”+“800”+code);
      users.setGrade(“0”);
      users.setEnergy(“0”);
      users.setBalance(“0”);
      usersManager.addUsers(users);
      return new Json().getJson(“200”, “新增用户,验证码发送成功”,usersManager.getCellphone(cellphone).getToken()+"");
      }if (phone!=null) {
      String uid=phone.getUid();
      //测试用账户
      if (cellphone.equals(“12345678901”)) {
      phone.setCode(“1234”);
      }else {
      phone.setCode(code);
      }
      usersManager.updateUsers(phone);
      return new Json().getJson(“200”, “用户已存在,验证码发送成功”,usersManager.getCellphone(cellphone).getToken()+"");
      }
      return new Json().getJson(“201”, “发送验证码失败”,"");
      }
      }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值