mirror of
https://gitee.com/coder-xiaomo/flashsale
synced 2025-09-12 06:51:38 +08:00
otp验证码获取
This commit is contained in:
34
README.md
34
README.md
@@ -14,6 +14,19 @@
|
|||||||
|
|
||||||
### 本次修改通过以下方式查看👇
|
### 本次修改通过以下方式查看👇
|
||||||
|
|
||||||
|
> http://localhost:8090/user/getotp?telephone=1
|
||||||
|
|
||||||
|
预期效果:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{"data":null,"status":"success"}
|
||||||
|
```
|
||||||
|
|
||||||
|
控制台:
|
||||||
|
```sql
|
||||||
|
telephone = 1 & otpCode = 90824
|
||||||
|
```
|
||||||
|
|
||||||
> http://localhost:8090/user/get?id=2
|
> http://localhost:8090/user/get?id=2
|
||||||
|
|
||||||
预期效果:
|
预期效果:
|
||||||
@@ -21,27 +34,30 @@
|
|||||||
```json
|
```json
|
||||||
{"data":{"errCode":10002,"errMsg":"未知错误"},"status":"fail"}
|
{"data":{"errCode":10002,"errMsg":"未知错误"},"status":"fail"}
|
||||||
```
|
```
|
||||||
|
|
||||||
### 层次结构(以User为例,自上向下)
|
### 层次结构(以User为例,自上向下)
|
||||||
|
|
||||||
| | 目录 | Java对象类型 | 说明 | 举例 |
|
| | 目录 | Java对象类型 | 说明 | 举例 |
|
||||||
| ----------------------------- | --------------------- | ----------------- | ---------------------------------------- | ---------------------------- |
|
|-------------------|-----------------------|---------------------------------|-------------------------------|------------------------------|
|
||||||
| **<nobr>Controller层</nobr>** | | | | |
|
| **Controller层** | | | | |
|
||||||
| Controller | controller | 类 class | | controller.UserController |
|
| Controller | controller | 类 class | | controller.UserController |
|
||||||
| View Object | controller/viewobject | 类 class | 将用户Model转化为可供UI使用的View Object | controller.UserController |
|
| View Object | controller/viewobject | 类 class | 将用户Model转化为可供UI使用的View Object | controller.UserController |
|
||||||
| | | | | |
|
| | | | | |
|
||||||
| **<nobr>Service层</nobr>** | 转换成业务模型 | | | |
|
| **Service层** | 转换成业务模型 | | | |
|
||||||
| Service | service | 接口 interface | | service.UserService |
|
| Service | service | 接口 interface | | service.UserService |
|
||||||
| ServiceImpl | service/impl | Service接口实现类 | 将DataObject组装成Model | service.impl.UserServiceImpl |
|
| ServiceImpl | service/impl | Service接口实现类 | 将DataObject组装成Model | service.impl.UserServiceImpl |
|
||||||
| Model | service/model | 类 class | 用户模型Model | service.model.UserModel |
|
| Model | service/model | 类 class | 用户模型Model | service.model.UserModel |
|
||||||
| | | | | |
|
| | | | | |
|
||||||
| **<nobr>Dao层</nobr>** | 对数据库的映射 | | | |
|
| **Dao层** | 对数据库的映射 | | | |
|
||||||
| Mapper | dao | 接口 interface | | dao.UserDOMapper |
|
| Mapper | dao | 接口 interface | | dao.UserDOMapper |
|
||||||
| Mapping | resources/mapping | Mapper接口实现类 | xml格式;SQL语句 | mapping/UserDOMapper.xml |
|
| Mapping | resources/mapping | Mapper接口实现类 | xml格式;SQL语句 | mapping/UserDOMapper.xml |
|
||||||
| Data Object | dataobject | 类 class | | dataobject.UserDO |
|
| Data Object | dataobject | 类 class | | dataobject.UserDO |
|
||||||
|
| | | | | |
|
||||||
|
| **其他** | | | | |
|
||||||
|
| response | response | | 用于处理HTTP请求返回 | response.CommonReturnType |
|
||||||
|
| | | | | |
|
||||||
|
| **异常处理** | 用于返回错误信息 | | | |
|
||||||
|
| CommonError | error | 接口 interface | | error.CommonError |
|
||||||
|
| EmBusinessError | error | 枚举 enum & CommonError接口实现类 | | error.EmBusinessError |
|
||||||
|
| BusinessException | error | CommonError接口实现类 & 继承自Exception | | error.BusinessException |
|
||||||
|
|
||||||
**Tips:** Model与Data Object并非完全一一对应,例如UserModel是由ServiceImpl将UserDO和UserPasswordDO组装而成的。
|
**Tips:** Model与Data Object并非完全一一对应,例如UserModel是由ServiceImpl将UserDO和UserPasswordDO组装而成的。
|
||||||
|
|
||||||
response: 用于处理HTTP请求返回
|
|
||||||
|
|
||||||
error: 用于返回错误信息
|
|
@@ -10,6 +10,9 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
|
||||||
@Controller("user") // 允许被SpringBoot扫描到
|
@Controller("user") // 允许被SpringBoot扫描到
|
||||||
@RequestMapping("/user") // 通过 "/user" 访问到
|
@RequestMapping("/user") // 通过 "/user" 访问到
|
||||||
@@ -18,6 +21,27 @@ public class UserController extends BaseController {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private UserService userService;
|
private UserService userService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private HttpServletRequest httpServletRequest;
|
||||||
|
|
||||||
|
// 用户获取OTP短信接口
|
||||||
|
@RequestMapping("/getotp")
|
||||||
|
@ResponseBody
|
||||||
|
public CommonReturnType getOtp(@RequestParam(name = "telephone") String telephone) {
|
||||||
|
// 需要按照一定的规则生成OTP验证码
|
||||||
|
Random random = new Random();
|
||||||
|
int randomInt = random.nextInt(99999);// [0,99999)
|
||||||
|
String otpCode = String.format("%05d", randomInt);
|
||||||
|
|
||||||
|
// 将OTP验证码同对应用户的手机号关联 使用
|
||||||
|
httpServletRequest.getSession().setAttribute(telephone, otpCode);
|
||||||
|
|
||||||
|
// 将OTP验证码通过短信通道发送给用户
|
||||||
|
System.out.println("telephone = " + telephone + " & otpCode = " + otpCode);
|
||||||
|
|
||||||
|
return CommonReturnType.create(null);
|
||||||
|
}
|
||||||
|
|
||||||
@RequestMapping("/get")
|
@RequestMapping("/get")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public CommonReturnType getUser(@RequestParam(name = "id") Integer id) throws BusinessException {
|
public CommonReturnType getUser(@RequestParam(name = "id") Integer id) throws BusinessException {
|
||||||
|
Reference in New Issue
Block a user