| | |
| | | package com.ruoyi.auth.controller; |
| | | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | import com.ruoyi.goods.api.domain.LotteryEvent; |
| | | import com.ruoyi.goods.api.service.LotteryEventClient; |
| | | import com.ruoyi.system.api.domain.dto.AppMiniRegisterDto; |
| | | import com.ruoyi.system.api.model.AppMiniLoginDto; |
| | | import com.ruoyi.system.api.model.AppMiniLoginVo; |
| | | import io.swagger.annotations.Api; |
| | |
| | | import com.ruoyi.common.security.utils.SecurityUtils; |
| | | import com.ruoyi.system.api.model.LoginUser; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * token 控制 |
| | | * |
| | | * |
| | | * @author jqs |
| | | */ |
| | | @RestController |
| | | @Api(value = "系统和小程序登录", tags = "系统和小程序登录") |
| | | |
| | | public class TokenController |
| | | { |
| | | @Autowired |
| | | private TokenService tokenService; |
| | | |
| | | @Autowired |
| | | private SysLoginService sysLoginService; |
| | | |
| | | @ApiOperation("系统登录") |
| | | @PostMapping("login") |
| | | public R<?> login(@RequestBody LoginBody form) |
| | | { |
| | | // 用户登录 |
| | | LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword()); |
| | | // 获取登录token |
| | | return R.ok(tokenService.createToken(userInfo)); |
| | | } |
| | | |
| | | @ApiOperation("小程序登录") |
| | | @PostMapping("miniLogin") |
| | | public R<?> miniLogin(@RequestBody AppMiniLoginDto appMiniLoginDto) |
| | | { |
| | | // 小程序用户登录 |
| | | AppMiniLoginVo appMiniLoginVo = sysLoginService.miniLogin(appMiniLoginDto); |
| | | // 获取登录token |
| | | return R.ok(tokenService.createMiniToken(appMiniLoginVo)); |
| | | } |
| | | |
| | | |
| | | |
| | | @DeleteMapping("logout") |
| | | public R<?> logout(HttpServletRequest request) |
| | | { |
| | | String token = SecurityUtils.getToken(request); |
| | | if (StringUtils.isNotEmpty(token)) |
| | | { |
| | | String username = JwtUtils.getUserName(token); |
| | | // 删除用户缓存记录 |
| | | AuthUtil.logoutByToken(token); |
| | | // 记录用户退出日志 |
| | | sysLoginService.logout(username); |
| | | public class TokenController { |
| | | @Autowired |
| | | private TokenService tokenService; |
| | | |
| | | @Autowired |
| | | private SysLoginService sysLoginService; |
| | | |
| | | @Resource |
| | | private LotteryEventClient lotteryEventClient; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | @ApiOperation("系统登录") |
| | | @PostMapping("login") |
| | | public R<?> login(@RequestBody LoginBody form) { |
| | | // 用户登录 |
| | | LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword()); |
| | | // 获取登录token |
| | | return R.ok(tokenService.createToken(userInfo)); |
| | | } |
| | | |
| | | @ApiOperation("小程序登录") |
| | | @PostMapping("miniLogin") |
| | | public R<?> miniLogin(@RequestBody AppMiniLoginDto appMiniLoginDto) { |
| | | // 小程序用户登录 |
| | | AppMiniLoginVo appMiniLoginVo = sysLoginService.miniLogin(appMiniLoginDto); |
| | | Map<String, Object> miniToken = tokenService.createMiniToken(appMiniLoginVo); |
| | | return R.ok(miniToken); |
| | | } |
| | | |
| | | @ApiOperation("小程序注册【2.0】") |
| | | @PostMapping("miniRegister") |
| | | public R<?> miniRegister(@RequestBody AppMiniRegisterDto appUserRegisterDto) { |
| | | // 小程序用户登录 |
| | | AppMiniLoginVo appMiniLoginVo = sysLoginService.miniRegister(appUserRegisterDto); |
| | | // 获取登录token |
| | | Map<String, Object> miniToken = tokenService.createMiniToken(appMiniLoginVo); |
| | | //判断新用户是都符合抽奖条件 |
| | | miniToken.put("lotteryDraw", false); |
| | | List<LotteryEvent> data = lotteryEventClient.getLotteryEventList(1).getData(); |
| | | if (data.size() > 0) { |
| | | miniToken.put("lotteryDraw", true); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | @PostMapping("refresh") |
| | | public R<?> refresh(HttpServletRequest request) |
| | | { |
| | | LoginUser loginUser = tokenService.getLoginUser(request); |
| | | if (StringUtils.isNotNull(loginUser)) |
| | | { |
| | | // 刷新令牌有效期 |
| | | tokenService.refreshToken(loginUser); |
| | | return R.ok(); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | @PostMapping("register") |
| | | public R<?> register(@RequestBody RegisterBody registerBody) |
| | | { |
| | | // 用户注册 |
| | | sysLoginService.register(registerBody.getUsername(), registerBody.getPassword()); |
| | | return R.ok(); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | @DeleteMapping("logout") |
| | | public R<?> logout(HttpServletRequest request) { |
| | | String token = SecurityUtils.getToken(request); |
| | | if (StringUtils.isNotEmpty(token)) { |
| | | String username = JwtUtils.getUserName(token); |
| | | // 删除用户缓存记录 |
| | | AuthUtil.logoutByToken(token); |
| | | // 记录用户退出日志 |
| | | sysLoginService.logout(username); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | @PostMapping("refresh") |
| | | public R<?> refresh(HttpServletRequest request) { |
| | | LoginUser loginUser = tokenService.getLoginUser(request); |
| | | if (StringUtils.isNotNull(loginUser)) { |
| | | // 刷新令牌有效期 |
| | | tokenService.refreshToken(loginUser); |
| | | return R.ok(); |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | @PostMapping("register") |
| | | public R<?> register(@RequestBody RegisterBody registerBody) { |
| | | // 用户注册 |
| | | sysLoginService.register(registerBody.getUsername(), registerBody.getPassword()); |
| | | return R.ok(); |
| | | } |
| | | } |