Explorar el Código

第二版,频安宝

suntianwu hace 3 años
padre
commit
91dbbf1786

+ 16 - 3
src/main/java/com/care/client/controller/PassportController.java

@@ -86,6 +86,9 @@ public class PassportController {
             return Result.error("请输入密码");
         }
         if (StringUtils.isNotBlank(phone) && StringUtils.isNotBlank(password)) {
+            if(careMemberInfoService.detailByPhone(phone) != null){
+                return Result.error("该账号已经注册");
+            }
             CareMemberInfo careMemberInfo = new CareMemberInfo();
             careMemberInfo.setPhone(phone);
             careMemberInfo.setPassword(DigestUtils.md5Hex(password));
@@ -101,11 +104,21 @@ public class PassportController {
     @GetMapping("getVCode")
     @ApiImplicitParams(value = {
             @ApiImplicitParam(paramType = "query", name = "phone", value = "电话号码"),
+            @ApiImplicitParam(paramType = "query", name = "type", value = "类型:1手机号注册,2密码重置,3修改注册手机号"),
     })
-    public Result<String> getVCode(@RequestParam(value = "phone", required = true) String phone) {
+    public Result<String> getVCode(@RequestParam(value = "phone", required = true) String phone,
+                                   @RequestParam(value = "type", required = true) String type) {
 
         String vcode = String.format("%04d",new Random().nextInt(9999));
-        boolean flag = smsSendService.sendSmsCode4RegisterPhone(phone, vcode);
+        boolean flag = false;
+        if("1".equals(type)){
+            flag = smsSendService.sendSmsCode4RegisterPhone(phone, vcode);
+        } else if("2".equals(type)){
+            flag = smsSendService.sendSmsCode4ModifyPassword(phone, vcode);
+        } else if("3".equals(type)){
+            flag = smsSendService.sendSmsCode4ModifyPhone(phone, vcode);
+        }
+
         if (flag) {
             smsTimeoutCache.put(phone, vcode);
             return Result.success();
@@ -143,7 +156,7 @@ public class PassportController {
         if (StringUtils.isBlank(params.getPasswordAgain())) {
             return Result.error("请再次输入密码");
         }
-        if (!params.getPassword().equals(StringUtils.isBlank(params.getPasswordAgain()))) {
+        if (!params.getPassword().equals(params.getPasswordAgain())) {
             return Result.error("两次输入密码不一致");
         }
         if (StringUtils.isBlank(params.getVcode())) {

+ 14 - 0
src/main/java/com/care/common/service/SmsSendService.java

@@ -15,6 +15,20 @@ public interface SmsSendService  {
      */
     boolean sendSmsCode4RegisterPhone(String phone,String params);
 
+    /**
+     * 重置密码发送短信验证码
+     * @param phone
+     * @return
+     */
+    boolean sendSmsCode4ModifyPassword(String phone,String params);
+
+    /**
+     * 修改手机号发送短信验证码
+     * @param phone
+     * @return
+     */
+    boolean sendSmsCode4ModifyPhone(String phone,String params);
+
     /**
      * 给紧急联系人发送短信
      * @param phone

+ 54 - 1
src/main/java/com/care/common/service/impl/SmsSendServiceImpl.java

@@ -34,13 +34,18 @@ public class SmsSendServiceImpl implements SmsSendService {
     @Value("${sms.notice.templateid.register.phone:#{null}}")
     private String noticeTemplateId4registerPhone;
 
+    @Value("${sms.notice.templateid.modify.password:#{null}}")
+    private String noticeTemplateId4modifyPassword;
+
+    @Value("${sms.notice.templateid.modify.phone:#{null}}")
+    private String noticeTemplateId4ModifyPhone;
+
     @Value("${sms.notice.templateid.jiuzhi:#{null}}")
     private String noticeTemplateId4jiuzhi;
 
     @Value("${sms.notice.templateid.diedao:#{null}}")
     private String noticeTemplateId4diedao;
 
-
     /**
      * 注册手机号发送短信验证码
      * @param phone
@@ -65,6 +70,54 @@ public class SmsSendServiceImpl implements SmsSendService {
         }
     }
 
+    /**
+     * 重置密码发送短信验证码
+     * @param phone
+     * @return
+     */
+    @Override
+    public boolean sendSmsCode4ModifyPassword(String phone,String params) {
+
+        String[] _p = {params};
+        SendStatus sendStatus =  SmsUtil.sendSms(noticeEndpoint,
+                noticeRegion,
+                noticeSecretId,
+                noticeecretKey,
+                noticeSmsSdkAppId,
+                noticeSignName,
+                noticeTemplateId4modifyPassword,
+                phone,_p);
+        if (sendStatus!=null && "Ok".equals(sendStatus.getCode())){
+            return true;
+        }else{
+            return  false;
+        }
+    }
+
+    /**
+     * 修改手机号发送短信验证码
+     * @param phone
+     * @return
+     */
+    @Override
+    public boolean sendSmsCode4ModifyPhone(String phone,String params) {
+
+        String[] _p = {params};
+        SendStatus sendStatus =  SmsUtil.sendSms(noticeEndpoint,
+                noticeRegion,
+                noticeSecretId,
+                noticeecretKey,
+                noticeSmsSdkAppId,
+                noticeSignName,
+                noticeTemplateId4ModifyPhone,
+                phone,_p);
+        if (sendStatus!=null && "Ok".equals(sendStatus.getCode())){
+            return true;
+        }else{
+            return  false;
+        }
+    }
+
     @Override
     public boolean sendSmsToLianxiren(String phone, String params) {
         String[] _p = {params};