提交 e240a8c6 编写于 作者: 别团等shy哥发育's avatar 别团等shy哥发育

用户认证接口实现

上级 74825ee6
package com.atguigu.yygu.common.utils;
import com.atguigu.yygu.common.helper.JwtHelper;
import javax.servlet.http.HttpServletRequest;
//获取当前用户信息工具类
public class AuthContextHolder {
//获取当前用户id
public static Long getUserId(HttpServletRequest request) {
//从header获取token
String token = request.getHeader("token");
//jwt从token获取userid
Long userId = JwtHelper.getUserId(token);
return userId;
}
//获取当前用户名称
public static String getUserName(HttpServletRequest request) {
//从header获取token
String token = request.getHeader("token");
//jwt从token获取userid
String userName = JwtHelper.getUserName(token);
return userName;
}
}
package com.atguigu.yygh.user.controller;
import com.atguigu.yygh.model.user.UserInfo;
import com.atguigu.yygh.user.service.UserInfoService;
import com.atguigu.yygh.vo.user.LoginVo;
import com.atguigu.yygh.vo.user.UserAuthVo;
import com.atguigu.yygu.common.result.Result;
import com.atguigu.yygu.common.utils.AuthContextHolder;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.Map;
@Api(tags = "用户控制器")
@RestController
......@@ -28,4 +29,22 @@ public class UserInfoApiController {
return Result.ok(info);
}
//用户认证接口
@ApiOperation(value = "用户认证接口")
@PostMapping("auth/userAuth")
public Result userAuth(@RequestBody UserAuthVo userAuthVo, HttpServletRequest request){
//传递两个参数,第一个参数:用户id,第二个参数:认证数据vo对象
userInfoService.userAuth(AuthContextHolder.getUserId(request),userAuthVo);
return Result.ok();
}
//获取用户id信息接口
@ApiOperation(value = "获取用户id信息接口")
@GetMapping("auth/getUserInfo")
public Result getUserInfo(HttpServletRequest request){
Long userId = AuthContextHolder.getUserId(request);
UserInfo userInfo = userInfoService.getById(userId);
return Result.ok(userInfo);
}
}
......@@ -2,6 +2,7 @@ package com.atguigu.yygh.user.service;
import com.atguigu.yygh.model.user.UserInfo;
import com.atguigu.yygh.vo.user.LoginVo;
import com.atguigu.yygh.vo.user.UserAuthVo;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.Map;
......@@ -12,4 +13,7 @@ public interface UserInfoService extends IService<UserInfo> {
//判断数据库中是否已经存在微信扫码人的信息,根据openid做判断
UserInfo selectWxInfoOpenId(String openid);
//用户认证
void userAuth(Long userId, UserAuthVo userAuthVo);
}
package com.atguigu.yygh.user.service.impl;
import com.atguigu.yygh.enums.AuthStatusEnum;
import com.atguigu.yygh.model.user.UserInfo;
import com.atguigu.yygh.user.mapper.UserInfoMapper;
import com.atguigu.yygh.user.service.UserInfoService;
import com.atguigu.yygh.vo.user.LoginVo;
import com.atguigu.yygh.vo.user.UserAuthVo;
import com.atguigu.yygu.common.exception.YyghException;
import com.atguigu.yygu.common.helper.JwtHelper;
import com.atguigu.yygu.common.result.ResultCodeEnum;
......@@ -95,4 +97,21 @@ public class UserInfoServiceImpl extends
UserInfo userInfo = baseMapper.selectOne(wrapper);
return userInfo;
}
//用户认证
@Override
public void userAuth(Long userId, UserAuthVo userAuthVo) {
//根据用户id查询用户信息
UserInfo userInfo = baseMapper.selectById(userId);
//设置认证信息
//认证人的姓名
userInfo.setName(userAuthVo.getName());
//其他认证信息
userInfo.setCertificatesType(userAuthVo.getCertificatesType());
userInfo.setCertificatesNo(userAuthVo.getCertificatesNo());
userInfo.setCertificatesUrl(userAuthVo.getCertificatesUrl());
userInfo.setAuthStatus(AuthStatusEnum.AUTH_RUN.getStatus());
//进行信息更新
baseMapper.updateById(userInfo);
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册