123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- package com.ruoyi.app.controller;
- import com.alibaba.fastjson.JSONObject;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.ruoyi.app.annotation.UserLoginToken;
- import com.ruoyi.app.base.AppLoginUser;
- import com.ruoyi.app.base.AppTokenService;
- import com.ruoyi.app.domain.TbAppUser;
- import com.ruoyi.app.service.ITbAppUserService;
- import com.ruoyi.app.util.AliSMSUtil;
- import com.ruoyi.common.core.domain.AjaxResult;
- import com.ruoyi.common.utils.StringUtils;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import lombok.RequiredArgsConstructor;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import java.util.Map;
- /**
- * 会员登录
- *
- * @author Alex
- * @date 2020-09-24
- */
- @Api(value = "APP登录",tags = "APP登录")
- @RequiredArgsConstructor(onConstructor_ = @Autowired)
- @RestController
- @RequestMapping("/app" )
- public class AppLoginController {
- @Autowired
- AppTokenService tokenService;
- @Autowired
- private ITbAppUserService userService;
- /**
- * 登录
- */
- @ApiOperation(value = "APP登录", notes = "APP登录")
- @PostMapping("/login")
- public AjaxResult login(String mobile, String captcha){
- if (StringUtils.isBlank(mobile)) {
- return AjaxResult.error("手机号不能为空");
- }
- if (StringUtils.isBlank(captcha)){
- return AjaxResult.error("验证码不能为空");
- }
- //手机短信验证
- boolean ckCaptcha = AliSMSUtil.getInstance().validateSmsCode(mobile, captcha);
- if (!ckCaptcha) {
- return AjaxResult.error("验证码错误");
- }
- JSONObject jsonObject = new JSONObject();
- TbAppUser userForBase = userService.getOne(new QueryWrapper<TbAppUser>()
- .eq("mobile",mobile)
- );
- if(userForBase == null){
- return AjaxResult.error("用户不存在");
- }
- AppLoginUser loginUser = new AppLoginUser();
- loginUser.setUser(userForBase);
- String token = tokenService.createToken(loginUser);
- jsonObject.put("token", token);
- jsonObject.put("user", userForBase);
- return AjaxResult.success(jsonObject);
- }
- /**
- * 发送短信验证码
- * @param type 1、用户注册;2、登录确认;3、身份验证;4、登录异常;5、修改密码;6、信息变更;
- * @param mobile 手机号码
- * @return
- */
- @ApiOperation(value = "发送短信验证码", notes = "发送短信验证码")
- @GetMapping("/captchaSend")
- public AjaxResult sendCaptcha(Integer type, String mobile){
- TbAppUser user = userService.getOne(new QueryWrapper<TbAppUser>()
- .eq("mobile",mobile)
- );
- //注册
- if (type == 1){
- }
- if(user == null || user.getId() == null){
- return AjaxResult.error("用户不存在");
- }
- Map<String,String> map = AliSMSUtil.getInstance().sendSmsCode(type, mobile);
- if(map.get("code").equals("200")) {
- return AjaxResult.success("发送成功");
- }
- return AjaxResult.error(map.get("msg"));
- }
- /**
- * 校验验证码
- * @param mobile
- * @param captcha
- * @return
- */
- @ApiOperation(value = "校验短信验证码", notes = "校验短信验证码")
- @GetMapping("/captchaValidate")
- public AjaxResult validateCaptcha(String mobile, String captcha){
- if (StringUtils.isBlank(mobile)) {
- return AjaxResult.error("手机号不能为空");
- }
- if (StringUtils.isBlank(captcha)){
- return AjaxResult.error("验证码不能为空");
- }
- //手机短信验证
- boolean ckCaptcha = AliSMSUtil.getInstance().validateSmsCode(mobile, captcha);
- if (!ckCaptcha) {
- return AjaxResult.error("验证码错误");
- }
- return AjaxResult.success("验证成功");
- }
- @UserLoginToken
- @GetMapping("/getMessage")
- public String getMessage(){
- return "你已通过验证";
- }
- }
|