From cc39b5661472a3dd26efc83eb1733386d7c30682 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Thu, 16 Sep 2021 17:28:35 +0800
Subject: [PATCH] add some member/login interface
---
src/main/java/cc/mrbird/febs/mall/controller/ApiLoginController.java | 9 ++++
src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java | 24 ++++++++++++
src/main/java/cc/mrbird/febs/common/utils/LoginUserUtil.java | 19 +++++++++
src/main/java/cc/mrbird/febs/mall/dto/ForgetPwdDto.java | 29 ++++++++++++++
src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java | 4 ++
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 29 ++++++++++++++
6 files changed, 114 insertions(+), 0 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/common/utils/LoginUserUtil.java b/src/main/java/cc/mrbird/febs/common/utils/LoginUserUtil.java
new file mode 100644
index 0000000..08cdb4a
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/common/utils/LoginUserUtil.java
@@ -0,0 +1,19 @@
+package cc.mrbird.febs.common.utils;
+
+import cc.mrbird.febs.mall.entity.MallMember;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * @author xxx
+ * @date 2020-08-24
+ **/
+public class LoginUserUtil {
+
+ public static MallMember getLoginUser() {
+ HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest();
+ return (MallMember) request.getSession().getAttribute("member");
+ }
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiLoginController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiLoginController.java
index 3dc024f..843b622 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiLoginController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiLoginController.java
@@ -1,6 +1,7 @@
package cc.mrbird.febs.mall.controller;
import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.mall.dto.ForgetPwdDto;
import cc.mrbird.febs.mall.dto.LoginDto;
import cc.mrbird.febs.mall.dto.RegisterDto;
import cc.mrbird.febs.mall.service.IApiMallMemberService;
@@ -36,9 +37,17 @@
return memberService.register(registerDto);
}
+
@ApiOperation(value = "账号密码登录接口", notes = "账号密码登录接口")
@PostMapping(value = "/toLogin")
public FebsResponse login(@RequestBody LoginDto loginDto) {
return memberService.toLogin(loginDto);
}
+
+
+ @ApiOperation(value = "忘记/修改密码", notes = "忘记/修改密码")
+ @PostMapping(value = "/forgetPwd")
+ public FebsResponse forgetPwd(@RequestBody ForgetPwdDto forgetPwdDto) {
+ return memberService.forgetPwd(forgetPwdDto);
+ }
}
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
index 0021335..85f77bf 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallMemberController.java
@@ -1,8 +1,32 @@
package cc.mrbird.febs.mall.controller;
+import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.mall.service.IApiMallMemberService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
/**
* @author wzy
* @date 2021-09-16
**/
+@Slf4j
+@RestController
+@RequestMapping(value = "/api/member")
+@RequiredArgsConstructor
+@Api(value = "ApiMallMemberController", tags = "商城用户接口类")
public class ApiMallMemberController {
+
+ private final IApiMallMemberService memberService;
+
+
+ @ApiOperation(value = "推出登录", notes = "推出登录")
+ @PostMapping(value = "/logout")
+ public FebsResponse logout() {
+ return memberService.logout();
+ }
}
diff --git a/src/main/java/cc/mrbird/febs/mall/dto/ForgetPwdDto.java b/src/main/java/cc/mrbird/febs/mall/dto/ForgetPwdDto.java
new file mode 100644
index 0000000..2e402c8
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/mall/dto/ForgetPwdDto.java
@@ -0,0 +1,29 @@
+package cc.mrbird.febs.mall.dto;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @author wzy
+ * @date 2021-09-16
+ **/
+@Data
+@ApiModel(value = "ForgetPwdDto", description = "忘记/修改密码参数接收类")
+public class ForgetPwdDto {
+
+ @NotBlank(message = "账号不能为空")
+ @ApiModelProperty(value = "账号", example = "15773001234")
+ private String account;
+
+ @NotBlank(message = "密码不能为空")
+ @ApiModelProperty(value = "新密码", example = "123456")
+ private String password;
+
+ @NotBlank(message = "验证码不能为空")
+ @ApiModelProperty(value = "验证码", example = "123456")
+ private String code;
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
index f0d3815..66d3053 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallMemberService.java
@@ -1,6 +1,7 @@
package cc.mrbird.febs.mall.service;
import cc.mrbird.febs.common.entity.FebsResponse;
+import cc.mrbird.febs.mall.dto.ForgetPwdDto;
import cc.mrbird.febs.mall.dto.LoginDto;
import cc.mrbird.febs.mall.dto.RegisterDto;
import cc.mrbird.febs.mall.entity.MallMember;
@@ -11,4 +12,7 @@
FebsResponse toLogin(LoginDto loginDto);
+ FebsResponse forgetPwd(ForgetPwdDto forgetPwdDto);
+
+ FebsResponse logout();
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
index 8b3273e..134b87a 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java
@@ -3,8 +3,10 @@
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.exception.FebsException;
import cc.mrbird.febs.common.utils.AppContants;
+import cc.mrbird.febs.common.utils.LoginUserUtil;
import cc.mrbird.febs.common.utils.RedisUtils;
import cc.mrbird.febs.common.utils.ShareCodeUtil;
+import cc.mrbird.febs.mall.dto.ForgetPwdDto;
import cc.mrbird.febs.mall.dto.LoginDto;
import cc.mrbird.febs.mall.dto.RegisterDto;
import cc.mrbird.febs.mall.entity.MallMember;
@@ -152,4 +154,31 @@
RSA rsa = new RSA(null, AppContants.PUBLIC_KEY);
return rsa.encryptBase64(token + "_" + System.currentTimeMillis(), KeyType.PublicKey);
}
+
+ @Override
+ public FebsResponse forgetPwd(ForgetPwdDto forgetPwdDto) {
+ MallMember mallMember = this.baseMapper.selectInfoByAccount(forgetPwdDto.getAccount());
+ if (mallMember == null) {
+ throw new FebsException("账号不存在");
+ }
+
+ boolean b = commonService.verifyCode(forgetPwdDto.getAccount(), forgetPwdDto.getCode());
+ if (!b) {
+ throw new FebsException("验证码错误");
+ }
+
+ String pwd = SecureUtil.md5(forgetPwdDto.getPassword());
+ mallMember.setPassword(pwd);
+
+ this.baseMapper.updateById(mallMember);
+ return new FebsResponse().success().message("重置成功");
+ }
+
+ @Override
+ public FebsResponse logout() {
+ Long id = LoginUserUtil.getLoginUser().getId();
+ redisUtils.del(AppContants.APP_LOGIN_PREFIX + id);
+ return new FebsResponse().success().message("退出登录");
+ }
+
}
--
Gitblit v1.9.1