wwh 2 jaren geleden
bovenliggende
commit
304117dab2

+ 2 - 1
admin/src/main/java/com/huimv/farm/damsubsidy/common/utils/SmsUtils.java

@@ -3,7 +3,8 @@ package com.huimv.farm.damsubsidy.common.utils;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
-import com.huimv.farm.damsubsidy.entity.Vo.SmsVo;
+
+import com.huimv.farm.damsubsidy.entity.vo.SmsVo;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.MediaType;

+ 42 - 4
admin/src/main/java/com/huimv/farm/damsubsidy/controller/SysUserController.java

@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.extension.conditions.query.QueryChainWrapper;
 import com.huimv.farm.damsubsidy.common.token.TokenSign;
 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.common.utils.UploadImage;
 import com.huimv.farm.damsubsidy.config.CharacterEncodingFilter;
 import com.huimv.farm.damsubsidy.entity.AccessToken;
@@ -17,6 +18,7 @@ import com.huimv.farm.damsubsidy.entity.SysUser;
 import com.huimv.farm.damsubsidy.service.ISysUserService;
 import org.apache.poi.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.util.StringUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -26,10 +28,8 @@ import java.io.BufferedInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.InputStream;
 import java.io.UnsupportedEncodingException;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
+import java.util.concurrent.TimeUnit;
 
 /**
  * <p>
@@ -46,6 +46,44 @@ public class SysUserController {
 
     @Autowired
     private ISysUserService iSysUserService;
+    @Autowired
+    private RedisTemplate<String,String> redisTemplate;
+
+    @PostMapping("/sendCode")
+    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);
+
+
+
+    }
+    private static String generateRandomCode() {
+        Random random = new Random();
+        String code = "";
+        for (int i = 0; i < 6; i++) {
+            code += random.nextInt(10);
+        }
+        return code;
+    }
 
     @PostMapping(value = "/login")
     public Result loginMultilevel(HttpServletRequest req, @RequestBody Map<String, String> map) {

+ 1 - 1
admin/src/main/java/com/huimv/farm/damsubsidy/entity/Vo/SmsVo.java

@@ -1,4 +1,4 @@
-package com.huimv.farm.damsubsidy.entity.Vo;
+package com.huimv.farm.damsubsidy.entity.vo;
 
 
 import lombok.Data;

+ 25 - 13
admin/src/main/java/com/huimv/farm/damsubsidy/service/impl/SysUserServiceImpl.java

@@ -21,6 +21,7 @@ import com.huimv.farm.damsubsidy.mapper.SysUserMapper;
 import com.huimv.farm.damsubsidy.service.ISysUserService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -48,6 +49,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     private PovertyUserRegistMapper povertyUserRegistMapper;
     @Autowired
     private BaseVeterStationMapper baseVeterStationMapper;
+    @Autowired
+    private RedisTemplate<String,String> redisTemplate;
 
     @Autowired
     private AccountGroupMapper accountGroupMapper;
@@ -56,22 +59,40 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     public Result loginMultilevel(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
         //TODO 验证码接口暂时不写,验证码验证接口写在此接口之前,这里默认验证码已经正确!
         String phone = paramsMap.get("phone");
-        if (!phone.matches("1[3-9]\\d{9}")) {
-            return new Result(10001, "手机号格式不正确",false);
+        String code = paramsMap.get("code");
+        //是否存在
+        Boolean aBoolean = redisTemplate.hasKey("xumu:" + phone);
+
+
+        if (!aBoolean) {
+            return new Result(10001, "该手机号未发送验证码或验证码过期!!!", false);
         }
+        System.out.println(aBoolean);
+        String s = redisTemplate.opsForValue().get("xumu:" + phone);
+        if (!code.equals(s)) {
+            return new Result(10001, "验证码错误!!", false);
+        } else {
+            System.out.println("登录成功");
+
+
+
+//        if (!phone.matches("1[3-9]\\d{9}")) {
+//            return new Result(10001, "手机号格式不正确",false);
+//        }
         QueryWrapper<SysUser> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("phone", phone);
         SysUser sysUser = userMapper.selectOne(queryWrapper);
         if (ObjectUtil.isEmpty(sysUser)) {
-            return new Result(10004, "用户暂未注册,请注册!",false);
+            return new Result(10004, "用户暂未注册,请注册!", false);
         } else {
             if (sysUser.getAccoutType() == 1) {
                 return new Result(ResultCode.SUCCESS, sysUser);
-            }else {
+            } else {
                 return new Result(10002, "未审核或者账号异常!", false);
             }
         }
     }
+    }
 
     @Override
     public Result loginMultilevelClient(String accountName, String password) {
@@ -518,13 +539,4 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         return new Result(ResultCode.SUCCESS,sysUsers);
     }
 
-    public static void main(String[] args) {
-        String s = "6211621121621121101203";
-        if (s.length() == 19) {
-            System.out.println(s.substring(10));
-        } else {
-            System.out.println(s.substring(19));
-        }
-
-    }
 }

+ 1 - 1
admin/src/main/java/com/huimv/farm/damsubsidy/test/LoginTest.java

@@ -16,7 +16,7 @@ import java.util.Random;
 import java.util.concurrent.TimeUnit;
 
 @RestController
-@RequestMapping("/sys-user")
+@RequestMapping("/sys-user2")
 @CrossOrigin
 public class LoginTest {