Commit d4c49dd2 by lixian7

Merge branch 'dev' into 'test'

Dev

See merge request !23
parents 6be2adc0 e4ba83db
......@@ -5,6 +5,7 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hikcreate.common.sdk.response.apiparam.Response;
import com.hikcreate.common.sdk.response.statuscode.StatusCode;
import com.hikcreate.edl.common.distributed.lock.annotation.DistributedLock;
import com.hikcreate.edl.pub.web.mobile.domain.IBindService;
......@@ -21,6 +22,9 @@ import com.hikcreate.edl.pub.web.mobile.infra.data.feign.dcp_service_vehicle.par
import com.hikcreate.edl.pub.web.mobile.infra.data.feign.dcp_service_vehicle.param.request.PlateNumQueryReq;
import com.hikcreate.edl.pub.web.mobile.infra.data.feign.dcp_service_vehicle.param.response.DrivingLicenseRes;
import com.hikcreate.edl.pub.web.mobile.infra.data.feign.dcp_service_vehicle.param.response.VehicleRes;
import com.hikcreate.edl.pub.web.mobile.infra.data.feign.edl_pvt_service_drivinglicense.DrivingLicenseQrFeign;
import com.hikcreate.edl.pub.web.mobile.infra.data.feign.edl_pvt_service_drivinglicense.request.IdCardMicReq;
import com.hikcreate.edl.pub.web.mobile.infra.data.feign.edl_pvt_service_drivinglicense.response.DlQrRes;
import com.hikcreate.edl.pub.web.mobile.infra.data.feign.pvt_service_traffic.parm.request.ViolationListByTimeReq;
import com.hikcreate.edl.pub.web.mobile.infra.data.feign.pvt_service_traffic.parm.response.ViolationMicRes;
import com.hikcreate.edl.pub.web.mobile.infra.data.mapper.BindInfoMapper;
......@@ -74,6 +78,8 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
DrivingLicenseCache drivingLicenseCache;
@Autowired
UnqIdUtil unqIdUtil;
@Autowired
private DrivingLicenseQrFeign drivingLicenseQrFeign;
/**
* 解除绑定时间限制
......@@ -91,7 +97,7 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
* 验证有效性限制时间
* 单位:小时
*/
@Value( "${biz.check.validity.limit.time:24}" )
@Value("${biz.check.validity.limit.time:24}")
Integer checkValidityLimitTime;
......@@ -136,7 +142,7 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
if (phones != null && !phones.isEmpty()) {
boolean phoneExist = phones.get(0).getUserId().equals(info.getUserId());
if (!phoneExist) {
return ResultGenerator.fail(StatusCode.DATA_ERROR.getCode(),"当前手机号已被其他客户绑定");
return ResultGenerator.fail(StatusCode.DATA_ERROR.getCode(), "当前手机号已被其他客户绑定");
}
}
......@@ -185,7 +191,7 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
@Transactional(rollbackFor = Exception.class)
@DistributedLock(key = "'park:extend:lock:unbind:unqId:'+#req.unqId+':userId:'+#req.userId+':timestamp:'+#req" +
".timestamp", isSpin = false)
public Result unbindInfo(UnBindReq req) {
public Result unbindInfo(UnBindReq req) {
ParkBindInfo bindInfo = bindCache.getById(req.getUnqId());
if (bindInfo == null || "0".equals(bindInfo.getStatus())) {
return ResultGenerator.fail(ResultCode.BIND_INFO_UNKNOWN);
......@@ -228,8 +234,8 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
if (bindInfo == null || "0".equals(bindInfo.getStatus())) {
return ResultGenerator.fail(ResultCode.BIND_INFO_UNKNOWN);
}
if( !bindInfo.getUserId().equals(query.getUserId()) || !bindInfo.getPhone().equals(query.getPhone()) ) {
return ResultGenerator.fail(StatusCode.PARAM_ERROR.getCode(),"客户唯一编码或手机号不正确");
if (!bindInfo.getUserId().equals(query.getUserId()) || !bindInfo.getPhone().equals(query.getPhone())) {
return ResultGenerator.fail(StatusCode.PARAM_ERROR.getCode(), "客户唯一编码或手机号不正确");
}
PlateNumAndTypeQueryReq req = new PlateNumAndTypeQueryReq();
......@@ -260,8 +266,8 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
return ResultGenerator.fail(ResultCode.BIND_INFO_UNKNOWN);
}
if( !bindInfo.getUserId().equals(query.getUserId()) || !bindInfo.getPhone().equals(query.getPhone()) ) {
return ResultGenerator.fail(StatusCode.PARAM_ERROR.getCode(),"客户唯一编码或手机号不正确");
if (!bindInfo.getUserId().equals(query.getUserId()) || !bindInfo.getPhone().equals(query.getPhone())) {
return ResultGenerator.fail(StatusCode.PARAM_ERROR.getCode(), "客户唯一编码或手机号不正确");
}
PlateNumAndTypeQueryReq req = new PlateNumAndTypeQueryReq();
......@@ -303,8 +309,8 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
return ResultGenerator.fail(ResultCode.BIND_INFO_UNKNOWN);
}
if( !bindInfo.getUserId().equals(query.getUserId()) || !bindInfo.getPhone().equals(query.getPhone()) ) {
return ResultGenerator.fail(StatusCode.PARAM_ERROR.getCode(),"客户唯一编码或手机号不正确");
if (!bindInfo.getUserId().equals(query.getUserId()) || !bindInfo.getPhone().equals(query.getPhone())) {
return ResultGenerator.fail(StatusCode.PARAM_ERROR.getCode(), "客户唯一编码或手机号不正确");
}
/**
......@@ -343,8 +349,8 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
if (bindInfo == null || "0".equals(bindInfo.getStatus())) {
return ResultGenerator.fail(ResultCode.BIND_INFO_UNKNOWN);
}
if( !bindInfo.getUserId().equals(query.getUserId()) || !bindInfo.getPhone().equals(query.getPhone()) ) {
return ResultGenerator.fail(StatusCode.PARAM_ERROR.getCode(),"客户唯一编码或手机号不正确");
if (!bindInfo.getUserId().equals(query.getUserId()) || !bindInfo.getPhone().equals(query.getPhone())) {
return ResultGenerator.fail(StatusCode.PARAM_ERROR.getCode(), "客户唯一编码或手机号不正确");
}
/**
......@@ -378,13 +384,21 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
}
/**
* 获取二维码信息
*/
Response<DlQrRes> qrInfo = drivingLicenseQrFeign.getQrInfo(new IdCardMicReq().setIdCard(byPlateNumAndType.getSfzmhm()));
if (!qrInfo.isSuccess() || qrInfo.getData() == null) {
return ResultGenerator.fail(ResultCode.DRIVING_LICENSE_UNKNOWN);
}
/**
* 构建驾照信息查询结果
*/
DrivingLicenseInfoRes result = new DrivingLicenseInfoRes();
result.setDriverName(drivingLicenseRes.getXm());
result.setPlateNum(byPlateNumAndType.getHphm());
result.setDlQr(qrInfo.getData().getQr());
String validityTime = drivingLicenseRes.getYxqz();
if( StrUtil.isNotBlank(validityTime) && !"null".equalsIgnoreCase(validityTime) ) {
if (StrUtil.isNotBlank(validityTime) && !"null".equalsIgnoreCase(validityTime)) {
validityTime = validityTime.substring(0, 10);
}
result.setValidityTime(validityTime);
......
......@@ -3,9 +3,7 @@ package com.hikcreate.edl.pub.web.mobile.infra.core.Result;
import com.hikcreate.common.sdk.response.statuscode.IStatusCode;
import com.hikcreate.common.sdk.response.statuscode.ProductCode;
import com.hikcreate.common.sdk.response.statuscode.StatusCodeHelper;
import com.hikcreate.edl.common.sdk.enums.EdlServiceCode;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author: xieshixiang
......@@ -28,7 +26,7 @@ public enum ResultCode implements IStatusCode {
CAR_PHONE_UNMATCHED(5, "手机号与车辆备案手机号不一致"),
CAR_HAVE_BIND(6, "车辆已被绑定"),
BIND_INFO_UNKNOWN(7, "绑定认证不存在"),
DRIVING_LICENSE_UNKNOWN(8, "车主驾照信息不存在");
DRIVING_LICENSE_UNKNOWN(8, "车主信息不存在或非贵阳驾驶证");
private int customCode;
private String msg;
......
package com.hikcreate.edl.pub.web.mobile.infra.data.feign.edl_pvt_service_drivinglicense;
import com.hikcreate.common.sdk.response.apiparam.Response;
import com.hikcreate.edl.pub.web.mobile.infra.data.feign.edl_pvt_service_drivinglicense.request.IdCardMicReq;
import com.hikcreate.edl.pub.web.mobile.infra.data.feign.edl_pvt_service_drivinglicense.response.DlQrRes;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
*
*/
@FeignClient(value = "edl-pvt-service-dl", path = "drivingLicense/qr")
public interface DrivingLicenseQrFeign {
@PostMapping("getQrInfo")
Response<DlQrRes> getQrInfo(@RequestBody @Validated IdCardMicReq req);
}
package com.hikcreate.edl.pub.web.mobile.infra.data.feign.edl_pvt_service_drivinglicense.request;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import static com.hikcreate.edl.common.constant.ValidateConstant.ID_CARD_CONSTRAINT_REGEXP;
/**
* @author MOUBK
* @create 2019/4/8 19:43
*/
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class IdCardMicReq {
@Pattern(regexp = ID_CARD_CONSTRAINT_REGEXP, message = "身份证号不正确")
@NotNull
private String idCard;
}
package com.hikcreate.edl.pub.web.mobile.infra.data.feign.edl_pvt_service_drivinglicense.response;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
/**
* @author MOUBK
* @create 2019/6/20 11:21
*/
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class DlQrRes {
private String qr;
private Integer cumulativeScore;
private Integer residualScore;
}
......@@ -30,4 +30,8 @@ public class DrivingLicenseInfoRes {
*/
private String surplusGrade;
/**
* 驾驶证二维码
*/
private String dlQr;
}
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