public class VerifyAction extends BaseAction{private static final long serialVersionUID = 1L;privateCommonConfigService commonConfigService;privateUserPhoneVerifyService userPhoneVerifyService;privateUserVerifyService userVerifyService;privatePhoneDetectService phoneDetectService;privateAccountService accountService;//发送短信验证码
publicString sensSms() {try{
result.setResult(JsonResult.SUCCESS);if (model.getType() ==PhoneVerifyType.REGISTER) {if(userVerifyService.checkRegisterPhone(model.getPhone())) {
result.setErrorMessage("该手机号已注册");
result.setResult(JsonResult.ERROR);returnSUCCESS;
}
}if (!phoneDetectService.check(model.getPhone())) {
result.setErrorMessage("该手机号异常,不能进行验证操作");
result.setResult(JsonResult.ERROR);returnSUCCESS;
}
Dh3TongSmsOperator dh3TongSmsOperator= newDh3TongSmsOperator(
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);returnSUCCESS;
}
result.setErrorMessage("短信验证码发送成功,请在5分钟内及时使用,谢谢!");
}catch(Exception e) {
e.printStackTrace();
}returnSUCCESS;
}//发送语音验证码
publicString sensVoice() {try{
result.setResult(JsonResult.SUCCESS);if (model.getType() ==PhoneVerifyType.REGISTER) {if(userVerifyService.checkRegisterPhone(model.getPhone())) {
result.setErrorMessage("该手机号已注册");
result.setResult(JsonResult.ERROR);returnSUCCESS;
}
}if (!phoneDetectService.check(model.getPhone())) {
result.setErrorMessage("该手机号异常,不能进行验证操作");
result.setResult(JsonResult.ERROR);returnSUCCESS;
}
String code= RandomUtil.randomNum(6);
Dh3TongVoiceOperator dh3TongVoiceOperator= newDh3TongVoiceOperator(
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);returnSUCCESS;
}
result.setErrorMessage("语音验证码发送成功,请在5分钟内及时使用,谢谢!");
}catch(Exception e) {
e.printStackTrace();
}returnSUCCESS;
}public voidsetCommonConfigService(CommonConfigService commonConfigService) {this.commonConfigService =commonConfigService;
}public voidsetUserPhoneVerifyService(UserPhoneVerifyService userPhoneVerifyService) {this.userPhoneVerifyService =userPhoneVerifyService;
}public voidsetUserVerifyService(UserVerifyService userVerifyService) {this.userVerifyService =userVerifyService;
}public voidsetPhoneDetectService(PhoneDetectService phoneDetectService) {this.phoneDetectService =phoneDetectService;
}public voidsetAccountService(AccountService accountService) {this.accountService =accountService;
}
}