LoginTest.java 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package com.huimv.farm.damsubsidy.test;
  2. import com.alibaba.fastjson.JSONObject;
  3. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  4. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  5. import com.huimv.farm.damsubsidy.common.utils.Result;
  6. import com.huimv.farm.damsubsidy.common.utils.ResultCode;
  7. import com.huimv.farm.damsubsidy.common.utils.SmsUtils;
  8. import com.huimv.farm.damsubsidy.entity.BillBuyInfo;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.data.redis.core.RedisTemplate;
  11. import org.springframework.web.bind.annotation.*;
  12. import java.util.Map;
  13. import java.util.Random;
  14. import java.util.concurrent.TimeUnit;
  15. @RestController
  16. @RequestMapping("/sys-user2")
  17. @CrossOrigin
  18. public class LoginTest {
  19. @Autowired
  20. private RedisTemplate<String,String> redisTemplate;
  21. @PostMapping("/senCode")
  22. public void senCode(@RequestBody Map<String,String> paramsMap) throws Exception {
  23. String phone = paramsMap.get("phone");
  24. System.out.println(phone);
  25. String code = generateRandomCode();
  26. //模板id
  27. String templateId = "e683346d84234fc1a0816791587a4335";
  28. //模板里的参数,可多个
  29. String[] params = {code};
  30. // 调用发送短信的接口
  31. JSONObject success = SmsUtils.sendSms(templateId,phone, params);
  32. Boolean success1 = (Boolean)success.get("success");
  33. if (success1) {
  34. // 如果发送成功,将手机号和验证码保存
  35. redisTemplate.opsForValue().set("xumu:"+phone,code,5L, TimeUnit.MINUTES);
  36. System.out.println("发送成功");
  37. // phoneCodeMap.put(phoneNumber, code);
  38. } else {
  39. // do something
  40. }
  41. System.out.println(success);
  42. }
  43. @PostMapping("/checkCode")
  44. public void listTransaction(@RequestBody Map<String,String> paramsMap){
  45. String phone = paramsMap.get("phone");
  46. String code = paramsMap.get("code");
  47. //是否存在
  48. Boolean aBoolean = redisTemplate.hasKey("xumu:" + phone);
  49. //是否过期
  50. Boolean isGuoqi = redisTemplate.hasKey("xumu:" + phone);
  51. System.out.println(aBoolean);
  52. System.out.println(isGuoqi);
  53. String s = redisTemplate.opsForValue().get("xumu:" + phone);
  54. if (!code.equals(s)){
  55. System.out.println("验证码错误");
  56. }else {
  57. System.out.println("登录成功");
  58. }
  59. }
  60. private static String generateRandomCode() {
  61. Random random = new Random();
  62. String code = "";
  63. for (int i = 0; i < 6; i++) {
  64. code += random.nextInt(10);
  65. }
  66. return code;
  67. }
  68. }