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 { ...@@ -129,7 +129,7 @@ public class H5Controller {
@HeaderDecryptAnnotation @HeaderDecryptAnnotation
public Result<CheckValidityRes> checkValidity( @RequestBody @Validated H5BindInfoQuery query ) { 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)); DateUtil.offsetHour(DateTime.now(), -checkValidityLimitTime));
CheckValidityRes checkValidityRes = new CheckValidityRes(); CheckValidityRes checkValidityRes = new CheckValidityRes();
...@@ -138,8 +138,8 @@ public class H5Controller { ...@@ -138,8 +138,8 @@ public class H5Controller {
checkValidityRes.setIsChecked(1); checkValidityRes.setIsChecked(1);
} else { } else {
checkValidityRes.setIsChecked(0); checkValidityRes.setIsChecked(0);
} }*/
return ResultGenerator.success(checkValidityRes); return service.checkValidity(query);
} }
/*** /***
...@@ -171,7 +171,7 @@ public class H5Controller { ...@@ -171,7 +171,7 @@ public class H5Controller {
@PostMapping( "checkVerifyCode" ) @PostMapping( "checkVerifyCode" )
public Result<Void> checkVerifyCode( @RequestBody @Validated CheckVerifyCodeReq req ) { public Result<Void> checkVerifyCode( @RequestBody @Validated CheckVerifyCodeReq req ) {
CheckVerifyCodeMicReq micReq = new CheckVerifyCodeMicReq(); /*CheckVerifyCodeMicReq micReq = new CheckVerifyCodeMicReq();
micReq.setPhone(req.getPhone()); micReq.setPhone(req.getPhone());
micReq.setVerifyCode(req.getVerifyCode()); micReq.setVerifyCode(req.getVerifyCode());
micReq.setTemplateCode("PARK_LOOK_DRIVER_LICENSE"); micReq.setTemplateCode("PARK_LOOK_DRIVER_LICENSE");
...@@ -186,7 +186,7 @@ public class H5Controller { ...@@ -186,7 +186,7 @@ public class H5Controller {
verifyInfoMapper.insert(verifyInfo); verifyInfoMapper.insert(verifyInfo);
// 保存验证信息到redis // 保存验证信息到redis
service.saveValid(req.getUserId(), req.getUnqId(), req.getPhone()); service.saveValid(req.getUserId(), req.getUnqId(), req.getPhone());
} }*/
return checkResult; return service.checkVerifyCode(req);
} }
} }
...@@ -89,6 +89,20 @@ public interface IBindService extends IService<ParkBindInfo> { ...@@ -89,6 +89,20 @@ public interface IBindService extends IService<ParkBindInfo> {
Result violationInfo( H5BindInfoQuery query); Result violationInfo( H5BindInfoQuery query);
/** /**
* 【驾照信息查询】验证当前手机号是否在1天内,已通过验证
* @param query
* @return
*/
Result checkValidity(H5BindInfoQuery query);
/**
* 【驾照信息查询】校验短信验证码
* @param req
* @return
*/
Result checkVerifyCode(CheckVerifyCodeReq req);
/**
* 驾照信息查询接口 * 驾照信息查询接口
* *
* @param query * @param query
......
...@@ -40,13 +40,7 @@ import com.hikcreate.edl.pub.web.mobile.infra.data.mapper.VerifyInfoMapper; ...@@ -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.ParkBindInfo;
import com.hikcreate.edl.pub.web.mobile.infra.model.entity.ParkVerifyInfo; 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.request.*;
import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.BindInfoQueryRes; import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.*;
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 lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -127,6 +121,11 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i ...@@ -127,6 +121,11 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
private final String bindKeyPrefix = "park:extend:bindInfo:"; private final String bindKeyPrefix = "park:extend:bindInfo:";
/**
* 驾照信息查询验证rediskey
*/
private final String drvValidityKeyPrefix = "park:extend:drivingLicense:query:validity:unqId:{}:ownerPhone:{}";
@Override @Override
@DistributedLock(key = "'park:extend:lock:bind:userId:'+#bindInfoReq.userId+':timestamp:'+#bindInfoReq.timestamp", expireTime = @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 ...@@ -478,6 +477,60 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
return ResultGenerator.success(new ResultList<>(violationInfoResList)); 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 @Override
public Result<VehicleDrivingLicenseInfoRes> drivingLicenseInfo(H5BindInfoQuery query) { public Result<VehicleDrivingLicenseInfoRes> drivingLicenseInfo(H5BindInfoQuery query) {
/** /**
...@@ -494,11 +547,16 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i ...@@ -494,11 +547,16 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
/** /**
* 校验当前电话号码是否在1天内已通过验证 * 校验当前电话号码是否在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)); DateUtil.offsetHour(DateTime.now(), -checkValidityLimitTime));
if (verify == null) { if (verify == null) {
return ResultGenerator.fail(StatusCode.PERMISSION_DENIED); 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