软件编程
位置:首页>> 软件编程>> java编程>> Java实现发送手机短信语音验证功能代码实例

Java实现发送手机短信语音验证功能代码实例

作者:冰湖一角  发布时间:2023-04-04 19:03:31 

标签:java,手机,短信,语音,验证

这篇文章主要介绍了Java实现发送手机短信语音验证功能代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

利用第三方平台可以实现发送手机短信验证码和语音验证码的功能,本文使用框架是struts2+spring+hibernate,现就action层给出核心代码功能。


public class VerifyAction extends BaseAction<VerifyRequest> {
 private static final long serialVersionUID = 1L;
 private CommonConfigService commonConfigService;
 private UserPhoneVerifyService userPhoneVerifyService;
 private UserVerifyService userVerifyService;
 private PhoneDetectService phoneDetectService;
 private AccountService accountService;
 // 发送短信验证码
 public String sensSms() {
   try {
     result.setResult(JsonResult.SUCCESS);
     if (model.getType() == PhoneVerifyType.REGISTER) {
       if (userVerifyService.checkRegisterPhone(model.getPhone())) {
         result.setErrorMessage("该手机号已注册");
         result.setResult(JsonResult.ERROR);
         return SUCCESS;
       }
     }
     if (!phoneDetectService.check(model.getPhone())) {
       result.setErrorMessage("该手机号异常,不能进行验证操作");
       result.setResult(JsonResult.ERROR);
       return SUCCESS;
     }
     Dh3TongSmsOperator dh3TongSmsOperator = new Dh3TongSmsOperator(
         commonConfigService.getString("dh3tong", "account"),
         DigestUtil.md5(commonConfigService.getString("dh3tong", "password")));
     String code = RandomUtil.randomNum(6);
     if (dh3TongSmsOperator.send(UUIDGenerator.generate(), model.getPhone(),
         String.format("尊敬的用户,您的验证码是:%s", code), "【XX系统名】")) {
       userPhoneVerifyService.record(model.getPhone(), model.getType(), code, model.getUserId());
     } else {
       result.setErrorMessage("很抱歉,发送短信失败,请稍后再试");
       result.setResult(JsonResult.ERROR);
       return SUCCESS;
     }
     result.setErrorMessage( "短信验证码发送成功,请在5分钟内及时使用,谢谢!");
   } catch (Exception e) {
     e.printStackTrace();
   }

return SUCCESS;
 }

// 发送语音验证码
 public String sensVoice() {
   try {
     result.setResult(JsonResult.SUCCESS);
     if (model.getType() == PhoneVerifyType.REGISTER) {
       if (userVerifyService.checkRegisterPhone(model.getPhone())) {
         result.setErrorMessage("该手机号已注册");
         result.setResult(JsonResult.ERROR);
         return SUCCESS;
       }
     }
     if (!phoneDetectService.check(model.getPhone())) {
       result.setErrorMessage("该手机号异常,不能进行验证操作");
       result.setResult(JsonResult.ERROR);
       return SUCCESS;
     }
     String code = RandomUtil.randomNum(6);
     Dh3TongVoiceOperator dh3TongVoiceOperator = new Dh3TongVoiceOperator(
         commonConfigService.getString("dh3tong", "account"),
         DigestUtil.md5(commonConfigService.getString("dh3tong", "password")));
     if (dh3TongVoiceOperator.send(UUIDGenerator.generate(), request.getPhone(), code)) {
       userPhoneVerifyService.record(request.getPhone(), request.getType(), code, request.getUserId());
     } else {
       result.setErrorMessage("很抱歉,发送语音失败,请稍后再试");
       result.setResult(JsonResult.ERROR);
       return SUCCESS;
     }
     result.setErrorMessage("语音验证码发送成功,请在5分钟内及时使用,谢谢!");
   } catch (Exception e) {
     e.printStackTrace();
   }
   return SUCCESS;
 }
 public void setCommonConfigService(CommonConfigService commonConfigService) {
   this.commonConfigService = commonConfigService;
 }
 public void setUserPhoneVerifyService(UserPhoneVerifyService userPhoneVerifyService) {
   this.userPhoneVerifyService = userPhoneVerifyService;
 }
 public void setUserVerifyService(UserVerifyService userVerifyService) {
   this.userVerifyService = userVerifyService;
 }
 public void setPhoneDetectService(PhoneDetectService phoneDetectService) {
   this.phoneDetectService = phoneDetectService;
 }
 public void setAccountService(AccountService accountService) {
   this.accountService = accountService;
 }
}

以上是干货分享,已测试验证过!

来源:https://www.cnblogs.com/bingyimeiling/p/10685461.html

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com