Commit 25309ff4 by lixian7

Merge branch 'feature-20200720' into 'test'

Feature 20200720

See merge request !36
parents 8bd3f1ee 2b1d0fa0
......@@ -129,7 +129,7 @@ public class H5Controller {
@HeaderDecryptAnnotation
public Result<CheckValidityRes> checkValidity( @RequestBody @Validated H5BindInfoQuery query ) {
ParkVerifyInfo verifyInfo = verifyInfoMapper.checkValidity(query.getPhone(), query.getUserId(),
/* ParkVerifyInfo verifyInfo = verifyInfoMapper.checkValidity(query.getPhone(), query.getUserId(),
DateUtil.offsetHour(DateTime.now(), -checkValidityLimitTime));
CheckValidityRes checkValidityRes = new CheckValidityRes();
......@@ -138,8 +138,8 @@ public class H5Controller {
checkValidityRes.setIsChecked(1);
} else {
checkValidityRes.setIsChecked(0);
}
return ResultGenerator.success(checkValidityRes);
}*/
return service.checkValidity(query);
}
/***
......@@ -171,7 +171,7 @@ public class H5Controller {
@PostMapping( "checkVerifyCode" )
public Result<Void> checkVerifyCode( @RequestBody @Validated CheckVerifyCodeReq req ) {
CheckVerifyCodeMicReq micReq = new CheckVerifyCodeMicReq();
/*CheckVerifyCodeMicReq micReq = new CheckVerifyCodeMicReq();
micReq.setPhone(req.getPhone());
micReq.setVerifyCode(req.getVerifyCode());
micReq.setTemplateCode("PARK_LOOK_DRIVER_LICENSE");
......@@ -186,7 +186,7 @@ public class H5Controller {
verifyInfoMapper.insert(verifyInfo);
// 保存验证信息到redis
service.saveValid(req.getUserId(), req.getUnqId(), req.getPhone());
}
return checkResult;
}*/
return service.checkVerifyCode(req);
}
}
......@@ -89,6 +89,20 @@ public interface IBindService extends IService<ParkBindInfo> {
Result violationInfo( H5BindInfoQuery query);
/**
* 【驾照信息查询】验证当前手机号是否在1天内,已通过验证
* @param query
* @return
*/
Result checkValidity(H5BindInfoQuery query);
/**
* 【驾照信息查询】校验短信验证码
* @param req
* @return
*/
Result checkVerifyCode(CheckVerifyCodeReq req);
/**
* 驾照信息查询接口
*
* @param query
......
......@@ -40,13 +40,7 @@ import com.hikcreate.edl.pub.web.mobile.infra.data.mapper.VerifyInfoMapper;
import com.hikcreate.edl.pub.web.mobile.infra.model.entity.ParkBindInfo;
import com.hikcreate.edl.pub.web.mobile.infra.model.entity.ParkVerifyInfo;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.request.*;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.BindInfoQueryRes;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.BindInfoRes;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.InsuranceInfoRes;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.ResultList;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.VehicleDrivingLicenseInfoRes;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.ViolationInfoRes;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.YearCheckInfoRes;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -127,6 +121,11 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
private final String bindKeyPrefix = "park:extend:bindInfo:";
/**
* 驾照信息查询验证rediskey
*/
private final String drvValidityKeyPrefix = "park:extend:drivingLicense:query:validity:unqId:{}:ownerPhone:{}";
@Override
@DistributedLock(key = "'park:extend:lock:bind:userId:'+#bindInfoReq.userId+':timestamp:'+#bindInfoReq.timestamp", expireTime =
......@@ -478,6 +477,60 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
return ResultGenerator.success(new ResultList<>(violationInfoResList));
}
/**
* 【驾照信息查询】验证当前手机号是否在1天内,已通过验证
*
* @param query
* @return
*/
@Override
public Result checkValidity( H5BindInfoQuery query ) {
//获取绑定信息
ParkBindInfo parkBindInfo = bindCache.getById(query.getUnqId());
if (parkBindInfo == null || "0".equals(parkBindInfo.getStatus())) {
return ResultGenerator.fail(ResultCode.BIND_INFO_UNKNOWN);
}
String redisKey = StrUtil.format(drvValidityKeyPrefix, parkBindInfo.getUnqId(), parkBindInfo.getOwnerPhone());
String value = redisTemplate.opsForValue().get(redisKey);
CheckValidityRes checkValidityRes = new CheckValidityRes();
defaultConverter.getMapperFacade().map(query, checkValidityRes);
checkValidityRes.setPhone(parkBindInfo.getOwnerPhone());
if( StrUtil.isEmpty(value) ) {
checkValidityRes.setIsChecked(0);
} else {
checkValidityRes.setIsChecked(1);
}
return ResultGenerator.success(checkValidityRes);
}
/**
* 【驾照信息查询】校验短信验证码
*
* @param req
* @return
*/
@Override
public Result checkVerifyCode( CheckVerifyCodeReq req ) {
//获取绑定信息
ParkBindInfo parkBindInfo = bindCache.getById(req.getUnqId());
if (parkBindInfo == null || "0".equals(parkBindInfo.getStatus())) {
return ResultGenerator.fail(ResultCode.BIND_INFO_UNKNOWN);
}
CheckVerifyCodeMicReq micReq = new CheckVerifyCodeMicReq();
micReq.setPhone(req.getPhone());
micReq.setVerifyCode(req.getVerifyCode());
micReq.setTemplateCode("PARK_LOOK_DRIVER_LICENSE");
Result<Void> checkResult = smsFeign.checkVerifyCode(micReq);
if ( StatusCode.SUCCESS.getCode() == (checkResult.getCode()) ) {
//保存
String redisKey = StrUtil.format(drvValidityKeyPrefix, parkBindInfo.getUnqId(), parkBindInfo.getOwnerPhone());
redisTemplate.opsForValue().set(redisKey, "true", checkValidityLimitTime, TimeUnit.HOURS);
// 保存验证信息到redis
this.saveValid(req.getUserId(), req.getUnqId(), parkBindInfo.getPhone());
}
return checkResult;
}
@Override
public Result<VehicleDrivingLicenseInfoRes> drivingLicenseInfo(H5BindInfoQuery query) {
/**
......@@ -494,11 +547,16 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
/**
* 校验当前电话号码是否在1天内已通过验证
*/
ParkVerifyInfo verify = verifyInfo.checkValidity(query.getPhone(), query.getUserId(),
String redisKey = StrUtil.format(drvValidityKeyPrefix, bindInfo.getUnqId(), bindInfo.getOwnerPhone());
String value = redisTemplate.opsForValue().get(redisKey);
if( StrUtil.isEmpty(value) ) {
return ResultGenerator.fail(StatusCode.PERMISSION_DENIED);
}
/*ParkVerifyInfo verify = verifyInfo.checkValidity(query.getPhone(), query.getUserId(),
DateUtil.offsetHour(DateTime.now(), -checkValidityLimitTime));
if (verify == null) {
return ResultGenerator.fail(StatusCode.PERMISSION_DENIED);
}
}*/
/**
* 根据车牌号和车牌类型查询车辆信息
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment