12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- package com.huimv.farm.damsubsidy.test;
- import com.alibaba.fastjson.JSONObject;
- import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.huimv.farm.damsubsidy.common.utils.Result;
- import com.huimv.farm.damsubsidy.common.utils.ResultCode;
- import com.huimv.farm.damsubsidy.common.utils.SmsUtils;
- import com.huimv.farm.damsubsidy.entity.BillBuyInfo;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.data.redis.core.RedisTemplate;
- import org.springframework.web.bind.annotation.*;
- import java.util.Map;
- import java.util.Random;
- import java.util.concurrent.TimeUnit;
- @RestController
- @RequestMapping("/sys-user2")
- @CrossOrigin
- public class LoginTest {
- @Autowired
- private RedisTemplate<String,String> redisTemplate;
- @PostMapping("/senCode")
- public void senCode(@RequestBody Map<String,String> paramsMap) throws Exception {
- String phone = paramsMap.get("phone");
- System.out.println(phone);
- String code = generateRandomCode();
- //模板id
- String templateId = "e683346d84234fc1a0816791587a4335";
- //模板里的参数,可多个
- String[] params = {code};
- // 调用发送短信的接口
- JSONObject success = SmsUtils.sendSms(templateId,phone, params);
- Boolean success1 = (Boolean)success.get("success");
- if (success1) {
- // 如果发送成功,将手机号和验证码保存
- redisTemplate.opsForValue().set("xumu:"+phone,code,5L, TimeUnit.MINUTES);
- System.out.println("发送成功");
- // phoneCodeMap.put(phoneNumber, code);
- } else {
- // do something
- }
- System.out.println(success);
- }
- @PostMapping("/checkCode")
- public void listTransaction(@RequestBody Map<String,String> paramsMap){
- String phone = paramsMap.get("phone");
- String code = paramsMap.get("code");
- //是否存在
- Boolean aBoolean = redisTemplate.hasKey("xumu:" + phone);
- //是否过期
- Boolean isGuoqi = redisTemplate.hasKey("xumu:" + phone);
- System.out.println(aBoolean);
- System.out.println(isGuoqi);
- String s = redisTemplate.opsForValue().get("xumu:" + phone);
- if (!code.equals(s)){
- System.out.println("验证码错误");
- }else {
- System.out.println("登录成功");
- }
- }
- private static String generateRandomCode() {
- Random random = new Random();
- String code = "";
- for (int i = 0; i < 6; i++) {
- code += random.nextInt(10);
- }
- return code;
- }
- }
|