| | |
| | | package com.ruoyi.auth.controller; |
| | | |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | |
| | | import com.ruoyi.common.core.constant.SecurityConstants; |
| | | import com.ruoyi.system.api.RemoteUserService; |
| | | import com.ruoyi.system.api.domain.SysRole; |
| | | import com.ruoyi.system.api.domain.SysUser; |
| | | import com.ruoyi.system.api.feignClient.SysUserClient; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.web.bind.annotation.DeleteMapping; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | import cn.hutool.core.util.RandomUtil; |
| | | import com.ruoyi.auth.form.ChangePasswordBody; |
| | | import com.ruoyi.auth.form.LoginBody; |
| | | import com.ruoyi.auth.form.RegisterBody; |
| | | import com.ruoyi.auth.service.SysLoginService; |
| | | import com.ruoyi.auth.utils.HuaWeiSMSUtil; |
| | | import com.ruoyi.common.core.constant.CacheConstants; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.utils.JwtUtils; |
| | | import com.ruoyi.common.core.utils.StringUtils; |
| | | import com.ruoyi.common.redis.service.RedisService; |
| | | import com.ruoyi.common.security.auth.AuthUtil; |
| | | import com.ruoyi.common.security.service.TokenService; |
| | | import com.ruoyi.common.security.utils.SecurityUtils; |
| | | import com.ruoyi.system.api.domain.SysRole; |
| | | import com.ruoyi.system.api.domain.SysUser; |
| | | import com.ruoyi.system.api.feignClient.SysUserClient; |
| | | import com.ruoyi.system.api.model.LoginUser; |
| | | |
| | | import java.util.*; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import java.util.Date; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.concurrent.TimeUnit; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.web.bind.annotation.DeleteMapping; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.PutMapping; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * token 控制 |
| | |
| | | */ |
| | | @RestController |
| | | @Api(tags = "认证授权") |
| | | @Slf4j |
| | | public class TokenController |
| | | { |
| | | @Autowired |
| | |
| | | private SysLoginService sysLoginService; |
| | | @Autowired |
| | | private SysUserClient userClient; |
| | | |
| | | @Autowired |
| | | private RedisService redisService; |
| | | @PostMapping("login") |
| | | @ApiOperation(value = "用户登录") |
| | | public R<?> login(@RequestBody LoginBody form) |
| | |
| | | sysLoginService.register(registerBody.getUsername(), registerBody.getPassword()); |
| | | return R.ok(); |
| | | } |
| | | |
| | | @GetMapping("send-verification-code") |
| | | @ApiOperation(value = "发送验证码") |
| | | public R<?> changePassword(@RequestParam("username") String username) { |
| | | //校验手机号码 |
| | | SysUser sysUser = userClient.queryUserByUserName(username).getData(); |
| | | if (StringUtils.isNull(sysUser)) { |
| | | return R.fail("用户不存在"); |
| | | } |
| | | String code = RandomUtil.randomNumbers(6); |
| | | try { |
| | | //TODO 发送短信未配置 |
| | | HuaWeiSMSUtil.sendSms(code, sysUser.getUserName(), "8823121426646", |
| | | "cf1707ec44694627b1b483b0277e12fd"); |
| | | } catch (Exception e) { |
| | | log.error("【修改密码】发送短信失败", e); |
| | | return R.fail("发送失败"); |
| | | } |
| | | //将验证码放入redis |
| | | redisService.setCacheObject( |
| | | CacheConstants.CHANGE_PASSWORD_CAPTCHA_CODE_KEY + sysUser.getUserName(), code, 5L, |
| | | TimeUnit.MINUTES); |
| | | return R.ok(); |
| | | } |
| | | |
| | | @PutMapping("change-password") |
| | | @ApiOperation(value = "用户修改密码") |
| | | public R<?> changePassword(@RequestBody ChangePasswordBody changePasswordBody) { |
| | | // 用户修改密码 |
| | | sysLoginService.changePassword(changePasswordBody.getUsername(), |
| | | changePasswordBody.getPassword(), changePasswordBody.getVerificationCode()); |
| | | return R.ok(); |
| | | } |
| | | } |
| | | |
| | | |