Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
extend
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
park
extend
Commits
d10cea1c
Commit
d10cea1c
authored
Jul 21, 2020
by
牟邦恺
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
调整驾驶证信息
parent
3a9b199e
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
166 additions
and
20 deletions
+166
-20
api/src/main/java/com/hikcreate/edl/pub/web/mobile/api/controller/DrivingLicenseController.java
+14
-6
api/src/main/java/com/hikcreate/edl/pub/web/mobile/api/controller/H5Controller.java
+2
-0
domain/src/main/java/com/hikcreate/edl/pub/web/mobile/domain/DrivingLicenseService.java
+3
-0
domain/src/main/java/com/hikcreate/edl/pub/web/mobile/domain/IBindService.java
+15
-0
domain/src/main/java/com/hikcreate/edl/pub/web/mobile/domain/impl/BindServiceImpl.java
+70
-12
domain/src/main/java/com/hikcreate/edl/pub/web/mobile/domain/impl/DrivingLicenseServiceImpl.java
+27
-0
infra/src/main/java/com/hikcreate/edl/pub/web/mobile/infra/model/param/request/IdCardReq.java
+15
-0
infra/src/main/java/com/hikcreate/edl/pub/web/mobile/infra/model/param/request/UserIdReq.java
+16
-0
infra/src/main/java/com/hikcreate/edl/pub/web/mobile/infra/model/param/response/DrivingLicenseInfoRes.java
+4
-2
No files found.
api/src/main/java/com/hikcreate/edl/pub/web/mobile/api/controller/DrivingLicenseController.java
View file @
d10cea1c
...
@@ -17,15 +17,16 @@ import com.hikcreate.edl.pub.web.mobile.infra.data.feign.edl_pvt_service_driving
...
@@ -17,15 +17,16 @@ import com.hikcreate.edl.pub.web.mobile.infra.data.feign.edl_pvt_service_driving
import
com.hikcreate.edl.pub.web.mobile.infra.model.param.request.DrivingLicenseSendSmsCodeReq
;
import
com.hikcreate.edl.pub.web.mobile.infra.model.param.request.DrivingLicenseSendSmsCodeReq
;
import
com.hikcreate.edl.pub.web.mobile.infra.model.param.request.DrivingLicenseValidReq
;
import
com.hikcreate.edl.pub.web.mobile.infra.model.param.request.DrivingLicenseValidReq
;
import
com.hikcreate.edl.pub.web.mobile.infra.model.param.request.DrivingLicenseValidSmsCodeReq
;
import
com.hikcreate.edl.pub.web.mobile.infra.model.param.request.DrivingLicenseValidSmsCodeReq
;
import
com.hikcreate.edl.pub.web.mobile.infra.model.param.request.IdCardReq
;
import
com.hikcreate.edl.pub.web.mobile.infra.model.param.request.UserIdReq
;
import
com.hikcreate.edl.pub.web.mobile.infra.model.param.response.DrivingLicenseInfoRes
;
import
com.hikcreate.edl.pub.web.mobile.infra.model.param.response.DrivingLicenseValidRes
;
import
com.hikcreate.edl.pub.web.mobile.infra.model.param.response.DrivingLicenseValidRes
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
...
@@ -74,9 +75,16 @@ public class DrivingLicenseController {
...
@@ -74,9 +75,16 @@ public class DrivingLicenseController {
return
ResultGenerator
.
success
();
return
ResultGenerator
.
success
();
}
}
@GetMapping
(
"/image"
)
@PostMapping
(
"/drivingLicenseInfo"
)
public
void
image
(
@RequestParam
(
"idCard"
)
String
idCard
,
HttpServletResponse
response
)
{
@HeaderDecryptAnnotation
DrivingLicenseMicRes
drivingLicenseMicRes
=
drivingLicenseFeign
.
getByIdCard
(
new
CreditIdCardMicReq
().
setIdCard
(
idCard
)).
fallback
().
getData
();
public
Result
<
DrivingLicenseInfoRes
>
getDrivingLicenseInfo
(
@RequestBody
@Validated
UserIdReq
req
)
{
DrivingLicenseInfoRes
drivingLicenseInfoRes
=
drivingLicenseService
.
getDrivingLicenseInfo
(
req
.
getUserId
());
return
ResultGenerator
.
success
(
drivingLicenseInfoRes
);
}
@PostMapping
(
"/image"
)
public
void
image
(
@RequestBody
@Validated
IdCardReq
req
,
HttpServletResponse
response
)
{
DrivingLicenseMicRes
drivingLicenseMicRes
=
drivingLicenseFeign
.
getByIdCard
(
new
CreditIdCardMicReq
().
setIdCard
(
req
.
getIdCard
())).
fallback
().
getData
();
DlImageDO
dlImageDO
=
new
DlImageDO
();
DlImageDO
dlImageDO
=
new
DlImageDO
();
dlImageDO
.
setAddress
(
drivingLicenseMicRes
.
getAddress
());
dlImageDO
.
setAddress
(
drivingLicenseMicRes
.
getAddress
());
dlImageDO
.
setBelowLicenseNumber
(
drivingLicenseMicRes
.
getIdCard
());
dlImageDO
.
setBelowLicenseNumber
(
drivingLicenseMicRes
.
getIdCard
());
...
@@ -98,7 +106,7 @@ public class DrivingLicenseController {
...
@@ -98,7 +106,7 @@ public class DrivingLicenseController {
setHeader
(
response
,
drivingLicenseMicRes
.
getIdCard
()
+
".jpg"
);
setHeader
(
response
,
drivingLicenseMicRes
.
getIdCard
()
+
".jpg"
);
response
.
getOutputStream
().
write
(
outputStream
.
toByteArray
());
response
.
getOutputStream
().
write
(
outputStream
.
toByteArray
());
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"Get dl img E, idCard={}, msg={}"
,
idCard
,
e
);
log
.
error
(
"Get dl img E, idCard={}, msg={}"
,
req
.
getIdCard
()
,
e
);
getResException
(
response
,
"获取驾照图片异常"
);
getResException
(
response
,
"获取驾照图片异常"
);
}
finally
{
}
finally
{
try
{
try
{
...
...
api/src/main/java/com/hikcreate/edl/pub/web/mobile/api/controller/H5Controller.java
View file @
d10cea1c
...
@@ -184,6 +184,8 @@ public class H5Controller {
...
@@ -184,6 +184,8 @@ public class H5Controller {
verifyInfo
.
setPhone
(
req
.
getPhone
());
verifyInfo
.
setPhone
(
req
.
getPhone
());
verifyInfo
.
setPassTime
(
DateTime
.
now
());
verifyInfo
.
setPassTime
(
DateTime
.
now
());
verifyInfoMapper
.
insert
(
verifyInfo
);
verifyInfoMapper
.
insert
(
verifyInfo
);
// 保存验证信息到redis
service
.
saveValid
(
req
.
getUserId
(),
req
.
getUnqId
(),
req
.
getPhone
());
}
}
return
checkResult
;
return
checkResult
;
}
}
...
...
domain/src/main/java/com/hikcreate/edl/pub/web/mobile/domain/DrivingLicenseService.java
View file @
d10cea1c
package
com
.
hikcreate
.
edl
.
pub
.
web
.
mobile
.
domain
;
package
com
.
hikcreate
.
edl
.
pub
.
web
.
mobile
.
domain
;
import
com.hikcreate.edl.pub.web.mobile.infra.model.param.response.DrivingLicenseInfoRes
;
import
com.hikcreate.edl.pub.web.mobile.infra.model.param.response.DrivingLicenseValidRes
;
import
com.hikcreate.edl.pub.web.mobile.infra.model.param.response.DrivingLicenseValidRes
;
/**
/**
...
@@ -13,4 +14,6 @@ public interface DrivingLicenseService {
...
@@ -13,4 +14,6 @@ public interface DrivingLicenseService {
void
sendSmsCode
(
String
userId
);
void
sendSmsCode
(
String
userId
);
void
validSmsCode
(
String
userId
,
String
smsCode
);
void
validSmsCode
(
String
userId
,
String
smsCode
);
DrivingLicenseInfoRes
getDrivingLicenseInfo
(
String
userId
);
}
}
domain/src/main/java/com/hikcreate/edl/pub/web/mobile/domain/IBindService.java
View file @
d10cea1c
...
@@ -98,4 +98,19 @@ public interface IBindService extends IService<ParkBindInfo> {
...
@@ -98,4 +98,19 @@ public interface IBindService extends IService<ParkBindInfo> {
*/
*/
Result
<
VehicleDrivingLicenseInfoRes
>
drivingLicenseInfo
(
H5BindInfoQuery
query
);
Result
<
VehicleDrivingLicenseInfoRes
>
drivingLicenseInfo
(
H5BindInfoQuery
query
);
/**
* 保存校验信息
* @param userId
* @param unqId
* @param phone
*/
void
saveValid
(
String
userId
,
String
unqId
,
String
phone
);
/**
* 验证是否通过短信校验
* @param userId
* @param idCard
* @return
*/
Boolean
valid
(
String
userId
,
String
idCard
);
}
}
domain/src/main/java/com/hikcreate/edl/pub/web/mobile/domain/impl/BindServiceImpl.java
View file @
d10cea1c
...
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.core.JsonProcessingException
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.hikcreate.common.orika.DefaultConverter
;
import
com.hikcreate.common.orika.DefaultConverter
;
import
com.hikcreate.common.sdk.exception.BusinessException
;
import
com.hikcreate.common.sdk.response.apiparam.Response
;
import
com.hikcreate.common.sdk.response.apiparam.Response
;
import
com.hikcreate.common.sdk.response.statuscode.StatusCode
;
import
com.hikcreate.common.sdk.response.statuscode.StatusCode
;
import
com.hikcreate.edl.common.distributed.lock.annotation.DistributedLock
;
import
com.hikcreate.edl.common.distributed.lock.annotation.DistributedLock
;
...
@@ -47,6 +48,7 @@ import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.VehicleDrivin
...
@@ -47,6 +48,7 @@ import com.hikcreate.edl.pub.web.mobile.infra.model.param.response.VehicleDrivin
import
com.hikcreate.edl.pub.web.mobile.infra.model.param.response.ViolationInfoRes
;
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.YearCheckInfoRes
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
...
@@ -117,6 +119,8 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
...
@@ -117,6 +119,8 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
private
StringRedisTemplate
redisTemplate
;
private
StringRedisTemplate
redisTemplate
;
private
final
ObjectMapper
objectMapper
=
new
ObjectMapper
();
private
final
ObjectMapper
objectMapper
=
new
ObjectMapper
();
@Autowired
private
StringRedisTemplate
redisTemplate
;
private
final
String
bindKeyPrefix
=
"park:extend:bindInfo:"
;
private
final
String
bindKeyPrefix
=
"park:extend:bindInfo:"
;
...
@@ -199,7 +203,7 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
...
@@ -199,7 +203,7 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
try
{
try
{
String
key
=
bindKeyPrefix
.
concat
(
info
.
getPhone
()).
concat
(
"-"
).
concat
(
info
.
getOwnerPhone
());
String
key
=
bindKeyPrefix
.
concat
(
info
.
getPhone
()).
concat
(
"-"
).
concat
(
info
.
getOwnerPhone
());
redisTemplate
.
opsForValue
().
set
(
key
,
objectMapper
.
writeValueAsString
(
info
),
30
,
TimeUnit
.
MINUTES
);
redisTemplate
.
opsForValue
().
set
(
key
,
objectMapper
.
writeValueAsString
(
info
),
30
,
TimeUnit
.
MINUTES
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"绑定异常:{}"
,
e
.
getMessage
());
log
.
error
(
"绑定异常:{}"
,
e
.
getMessage
());
return
ResultGenerator
.
fail
(
StatusCode
.
SYSTEM_ERROR
);
return
ResultGenerator
.
fail
(
StatusCode
.
SYSTEM_ERROR
);
}
}
...
@@ -222,12 +226,12 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
...
@@ -222,12 +226,12 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@DistributedLock
(
key
=
"'park:extend:lock:bind:smsValid:phone:'+#req.phone+':ownerPhone:'+#req.ownerPhone"
,
isSpin
=
false
)
@DistributedLock
(
key
=
"'park:extend:lock:bind:smsValid:phone:'+#req.phone+':ownerPhone:'+#req.ownerPhone"
,
isSpin
=
false
)
public
Result
bindSmsValid
(
BindSmsValidReq
req
)
{
public
Result
bindSmsValid
(
BindSmsValidReq
req
)
{
try
{
try
{
//获取缓存信息
//获取缓存信息
String
key
=
bindKeyPrefix
.
concat
(
req
.
getPhone
()).
concat
(
"-"
).
concat
(
req
.
getOwnerPhone
());
String
key
=
bindKeyPrefix
.
concat
(
req
.
getPhone
()).
concat
(
"-"
).
concat
(
req
.
getOwnerPhone
());
String
bindInfoStr
=
redisTemplate
.
opsForValue
().
get
(
key
);
String
bindInfoStr
=
redisTemplate
.
opsForValue
().
get
(
key
);
if
(
StrUtil
.
isBlank
(
bindInfoStr
)
)
{
if
(
StrUtil
.
isBlank
(
bindInfoStr
)
)
{
log
.
error
(
"车辆绑定短信验证失败:未发起车辆绑定"
);
log
.
error
(
"车辆绑定短信验证失败:未发起车辆绑定"
);
return
ResultGenerator
.
fail
(
StatusCode
.
BUSINESS_ERROR
.
getCode
(),
"已超时"
);
return
ResultGenerator
.
fail
(
StatusCode
.
BUSINESS_ERROR
.
getCode
(),
"已超时"
);
}
}
...
@@ -242,13 +246,13 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
...
@@ -242,13 +246,13 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
//绑定信息入库
//绑定信息入库
bindInfo
.
setUnqId
(
unqIdUtil
.
getUnqId
());
bindInfo
.
setUnqId
(
unqIdUtil
.
getUnqId
());
bindInfo
.
setGmtBindTime
(
new
Date
());
bindInfo
.
setGmtBindTime
(
new
Date
());
if
(!
bindCache
.
insert
(
bindInfo
))
{
if
(!
bindCache
.
insert
(
bindInfo
))
{
log
.
error
(
"车辆绑定短信验证失败:绑定信息入库失败"
);
log
.
error
(
"车辆绑定短信验证失败:绑定信息入库失败"
);
return
ResultGenerator
.
fail
(
StatusCode
.
SYSTEM_ERROR
);
return
ResultGenerator
.
fail
(
StatusCode
.
SYSTEM_ERROR
);
}
}
return
ResultGenerator
.
success
(
new
BindInfoRes
(
bindInfo
.
getUnqId
()));
return
ResultGenerator
.
success
(
new
BindInfoRes
(
bindInfo
.
getUnqId
()));
}
catch
(
JsonProcessingException
e
)
{
}
catch
(
JsonProcessingException
e
)
{
log
.
error
(
"车辆绑定短信验证异常:{}"
,
e
.
getMessage
());
log
.
error
(
"车辆绑定短信验证异常:{}"
,
e
.
getMessage
());
return
ResultGenerator
.
fail
(
StatusCode
.
SYSTEM_ERROR
);
return
ResultGenerator
.
fail
(
StatusCode
.
SYSTEM_ERROR
);
}
}
}
}
...
@@ -283,11 +287,11 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
...
@@ -283,11 +287,11 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
*/
*/
@Override
@Override
@DistributedLock
(
key
=
"'park:extend:lock:adnmUnbind:unqId:'+#req.unqId"
,
isSpin
=
false
)
@DistributedLock
(
key
=
"'park:extend:lock:adnmUnbind:unqId:'+#req.unqId"
,
isSpin
=
false
)
public
Result
adminUnbind
(
AdminUnbindReq
req
)
{
public
Result
adminUnbind
(
AdminUnbindReq
req
)
{
//获取绑定信息
//获取绑定信息
ParkBindInfo
parkBindInfo
=
bindCache
.
getById
(
req
.
getUnqId
());
ParkBindInfo
parkBindInfo
=
bindCache
.
getById
(
req
.
getUnqId
());
if
(
parkBindInfo
==
null
||
"0"
.
equals
(
parkBindInfo
.
getStatus
())
if
(
parkBindInfo
==
null
||
"0"
.
equals
(
parkBindInfo
.
getStatus
())
||
!
parkBindInfo
.
getUserId
().
equals
(
req
.
getUserId
())
)
{
||
!
parkBindInfo
.
getUserId
().
equals
(
req
.
getUserId
()))
{
return
ResultGenerator
.
fail
(
ResultCode
.
BIND_INFO_UNKNOWN
);
return
ResultGenerator
.
fail
(
ResultCode
.
BIND_INFO_UNKNOWN
);
}
}
//发送验证码
//发送验证码
...
@@ -309,10 +313,10 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
...
@@ -309,10 +313,10 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
@Override
@Override
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
@DistributedLock
(
key
=
"'park:extend:lock:adminUnbind:smsValid:unqId:'+#req.unqId"
,
isSpin
=
false
)
@DistributedLock
(
key
=
"'park:extend:lock:adminUnbind:smsValid:unqId:'+#req.unqId"
,
isSpin
=
false
)
public
Result
adminUnbindSmsValid
(
AdminUnbindSmsValidReq
req
)
{
public
Result
adminUnbindSmsValid
(
AdminUnbindSmsValidReq
req
)
{
//获取绑定信息
//获取绑定信息
ParkBindInfo
parkBindInfo
=
bindCache
.
getById
(
req
.
getUnqId
());
ParkBindInfo
parkBindInfo
=
bindCache
.
getById
(
req
.
getUnqId
());
if
(
parkBindInfo
==
null
||
"0"
.
equals
(
parkBindInfo
.
getStatus
())
)
{
if
(
parkBindInfo
==
null
||
"0"
.
equals
(
parkBindInfo
.
getStatus
())
)
{
return
ResultGenerator
.
fail
(
ResultCode
.
BIND_INFO_UNKNOWN
);
return
ResultGenerator
.
fail
(
ResultCode
.
BIND_INFO_UNKNOWN
);
}
}
//验证短信
//验证短信
...
@@ -449,7 +453,7 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
...
@@ -449,7 +453,7 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
queryReq
.
setTimeStart
(
DateUtil
.
offsetMonth
(
new
Date
(),
-
12
));
queryReq
.
setTimeStart
(
DateUtil
.
offsetMonth
(
new
Date
(),
-
12
));
List
<
ViolationMicRes
>
byPlateNumAndType
=
violationCache
.
getByPlateNumAndType
(
queryReq
);
List
<
ViolationMicRes
>
byPlateNumAndType
=
violationCache
.
getByPlateNumAndType
(
queryReq
);
//过滤已处理信息
//过滤已处理信息
byPlateNumAndType
=
byPlateNumAndType
.
stream
().
filter
(
v
->
!
"1"
.
equals
(
v
.
getStatus
())).
collect
(
Collectors
.
toList
());
byPlateNumAndType
=
byPlateNumAndType
.
stream
().
filter
(
v
->
!
"1"
.
equals
(
v
.
getStatus
())).
collect
(
Collectors
.
toList
());
/**
/**
* 构建违章信息返回列表
* 构建违章信息返回列表
...
@@ -524,6 +528,7 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
...
@@ -524,6 +528,7 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
VehicleDrivingLicenseInfoRes
result
=
new
VehicleDrivingLicenseInfoRes
();
VehicleDrivingLicenseInfoRes
result
=
new
VehicleDrivingLicenseInfoRes
();
result
.
setDriverName
(
drivingLicenseRes
.
getXm
());
result
.
setDriverName
(
drivingLicenseRes
.
getXm
());
result
.
setPlateNum
(
byPlateNumAndType
.
getHphm
());
result
.
setPlateNum
(
byPlateNumAndType
.
getHphm
());
result
.
setUserId
(
query
.
getUserId
());
result
.
setDlQr
(
qrInfo
.
getData
().
getQr
());
result
.
setDlQr
(
qrInfo
.
getData
().
getQr
());
String
validityTime
=
drivingLicenseRes
.
getYxqz
();
String
validityTime
=
drivingLicenseRes
.
getYxqz
();
if
(
StrUtil
.
isNotBlank
(
validityTime
)
&&
!
"null"
.
equalsIgnoreCase
(
validityTime
))
{
if
(
StrUtil
.
isNotBlank
(
validityTime
)
&&
!
"null"
.
equalsIgnoreCase
(
validityTime
))
{
...
@@ -537,6 +542,59 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
...
@@ -537,6 +542,59 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
return
ResultGenerator
.
success
(
result
);
return
ResultGenerator
.
success
(
result
);
}
}
@Override
public
void
saveValid
(
String
userId
,
String
unqId
,
String
phone
)
{
/**
* 校验当前的绑定信息是否存在
*/
ParkBindInfo
bindInfo
=
bindCache
.
getById
(
unqId
);
if
(
bindInfo
==
null
||
"0"
.
equals
(
bindInfo
.
getStatus
()))
{
throw
new
BusinessException
(
ResultCode
.
BIND_INFO_UNKNOWN
);
}
if
(!
bindInfo
.
getUserId
().
equals
(
userId
)
||
!
bindInfo
.
getPhone
().
equals
(
phone
))
{
throw
new
BusinessException
((
StatusCode
.
PARAM_ERROR
.
getCode
(),
"客户唯一编码或手机号不正确"
);
}
/**
* 根据车牌号和车牌类型查询车辆信息
*/
PlateNumAndTypeQueryReq
vechicleInfoReq
=
new
PlateNumAndTypeQueryReq
();
vechicleInfoReq
.
setPlateType
(
bindInfo
.
getPlateType
());
vechicleInfoReq
.
setPlateNum
(
bindInfo
.
getPlateNum
());
VehicleRes
byPlateNumAndType
=
vechicleCache
.
getByPlateNumAndType
(
vechicleInfoReq
);
if
(
byPlateNumAndType
.
getSfzmhm
()
==
null
)
{
throw
new
BusinessException
(
ResultCode
.
DRIVING_LICENSE_UNKNOWN
);
}
/**
* 根据身份证号码查询驾照信息
*/
IdCardQueryReq
idCardQueryReq
=
new
IdCardQueryReq
();
idCardQueryReq
.
setIdCard
(
byPlateNumAndType
.
getSfzmhm
());
DrivingLicenseRes
drivingLicenseRes
=
drivingLicenseCache
.
getByIdCard
(
idCardQueryReq
);
if
(
drivingLicenseRes
==
null
)
{
throw
new
BusinessException
(
ResultCode
.
DRIVING_LICENSE_UNKNOWN
);
}
// 存至缓存,有效期一天
redisTemplate
.
opsForValue
().
set
(
getValidKey
(
userId
,
drivingLicenseRes
.
getSfzmhm
()),
phone
,
24
*
3600
,
TimeUnit
.
SECONDS
);
}
/**
* 验证是否已通过短信验证
*
* @param userId
* @param idCard
* @return
*/
@Override
public
Boolean
valid
(
String
userId
,
String
idCard
)
{
String
s
=
redisTemplate
.
opsForValue
().
get
(
getValidKey
(
userId
,
idCard
));
return
!
StringUtils
.
isEmpty
(
s
);
}
private
String
getValidKey
(
String
userId
,
String
idCard
)
{
return
"VehValidKey:"
+
userId
+
":"
+
idCard
;
}
}
}
...
...
domain/src/main/java/com/hikcreate/edl/pub/web/mobile/domain/impl/DrivingLicenseServiceImpl.java
View file @
d10cea1c
package
com
.
hikcreate
.
edl
.
pub
.
web
.
mobile
.
domain
.
impl
;
package
com
.
hikcreate
.
edl
.
pub
.
web
.
mobile
.
domain
.
impl
;
import
cn.hutool.core.date.DateUtil
;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.hikcreate.common.sdk.exception.BusinessException
;
import
com.hikcreate.common.sdk.exception.BusinessException
;
import
com.hikcreate.edl.common.sdk.util.VerifyCodeUtil
;
import
com.hikcreate.edl.common.sdk.util.VerifyCodeUtil
;
...
@@ -10,7 +11,10 @@ import com.hikcreate.edl.pub.web.mobile.infra.data.feign.edl_pub_service_sms.par
...
@@ -10,7 +11,10 @@ import com.hikcreate.edl.pub.web.mobile.infra.data.feign.edl_pub_service_sms.par
import
com.hikcreate.edl.pub.web.mobile.infra.data.feign.edl_pub_service_sms.param.request.SendVerifyCodeMicReq
;
import
com.hikcreate.edl.pub.web.mobile.infra.data.feign.edl_pub_service_sms.param.request.SendVerifyCodeMicReq
;
import
com.hikcreate.edl.pub.web.mobile.infra.data.feign.edl_pvt_service_drivinglicense.DrivingLicenseFeign
;
import
com.hikcreate.edl.pub.web.mobile.infra.data.feign.edl_pvt_service_drivinglicense.DrivingLicenseFeign
;
import
com.hikcreate.edl.pub.web.mobile.infra.data.feign.edl_pvt_service_drivinglicense.request.CreditIdCardMicReq
;
import
com.hikcreate.edl.pub.web.mobile.infra.data.feign.edl_pvt_service_drivinglicense.request.CreditIdCardMicReq
;
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.edl_pvt_service_drivinglicense.response.DrivingLicenseMicRes
;
import
com.hikcreate.edl.pub.web.mobile.infra.data.feign.edl_pvt_service_drivinglicense.response.DrivingLicenseMicRes
;
import
com.hikcreate.edl.pub.web.mobile.infra.model.param.response.DrivingLicenseInfoRes
;
import
com.hikcreate.edl.pub.web.mobile.infra.model.param.response.DrivingLicenseValidRes
;
import
com.hikcreate.edl.pub.web.mobile.infra.model.param.response.DrivingLicenseValidRes
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
@@ -18,6 +22,7 @@ import org.springframework.data.redis.core.RedisTemplate;
...
@@ -18,6 +22,7 @@ import org.springframework.data.redis.core.RedisTemplate;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.StringUtils
;
import
org.springframework.util.StringUtils
;
import
java.util.Date
;
import
java.util.Objects
;
import
java.util.Objects
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.TimeUnit
;
...
@@ -82,6 +87,28 @@ public class DrivingLicenseServiceImpl implements DrivingLicenseService {
...
@@ -82,6 +87,28 @@ public class DrivingLicenseServiceImpl implements DrivingLicenseService {
saveSmsValid
(
userId
,
drivingLicenseMicRes
.
getIdCard
(),
drivingLicenseMicRes
.
getPhone
());
saveSmsValid
(
userId
,
drivingLicenseMicRes
.
getIdCard
(),
drivingLicenseMicRes
.
getPhone
());
}
}
@Override
public
DrivingLicenseInfoRes
getDrivingLicenseInfo
(
String
userId
)
{
DrivingLicenseMicRes
drivingLicenseMicRes
=
getFromRedis
(
userId
);
DlQrRes
data
=
drivingLicenseFeign
.
getQrInfo
(
new
IdCardMicReq
().
setIdCard
(
drivingLicenseMicRes
.
getIdCard
())).
fallback
().
getData
();
/**
* 构建驾照信息查询结果
*/
DrivingLicenseInfoRes
result
=
new
DrivingLicenseInfoRes
();
result
.
setDriverName
(
drivingLicenseMicRes
.
getRealName
());
result
.
setDlQr
(
data
.
getQr
());
result
.
setValidityTime
(
drivingLicenseMicRes
.
getExpiryDate
());
String
status
=
DateUtil
.
compare
(
DateUtil
.
parseDate
(
drivingLicenseMicRes
.
getExpiryDate
()),
new
Date
())
>=
0
?
"有效"
:
"已过期"
;
result
.
setStatus
(
status
);
result
.
setUserId
(
userId
);
result
.
setIdCard
(
drivingLicenseMicRes
.
getIdCard
());
result
.
setSurplusGrade
(
String
.
valueOf
(
drivingLicenseMicRes
.
getResidualScore
()));
return
result
;
}
private
void
saveSmsValid
(
String
userId
,
String
idCard
,
String
phone
)
{
private
void
saveSmsValid
(
String
userId
,
String
idCard
,
String
phone
)
{
redisTemplate
.
opsForValue
().
set
(
getSmsKey
(
userId
,
idCard
),
phone
,
300
,
TimeUnit
.
SECONDS
);
redisTemplate
.
opsForValue
().
set
(
getSmsKey
(
userId
,
idCard
),
phone
,
300
,
TimeUnit
.
SECONDS
);
}
}
...
...
infra/src/main/java/com/hikcreate/edl/pub/web/mobile/infra/model/param/request/IdCardReq.java
0 → 100644
View file @
d10cea1c
package
com
.
hikcreate
.
edl
.
pub
.
web
.
mobile
.
infra
.
model
.
param
.
request
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
/**
* @author MOUBK
* @create 2020/7/21 16:43
*/
@Data
public
class
IdCardReq
{
@NotBlank
(
message
=
"身份证号不能为空"
)
private
String
idCard
;
}
infra/src/main/java/com/hikcreate/edl/pub/web/mobile/infra/model/param/request/UserIdReq.java
0 → 100644
View file @
d10cea1c
package
com
.
hikcreate
.
edl
.
pub
.
web
.
mobile
.
infra
.
model
.
param
.
request
;
import
lombok.Data
;
import
javax.validation.constraints.NotBlank
;
/**
* @author MOUBK
* @create 2020/7/21 16:18
*/
@Data
public
class
UserIdReq
{
@NotBlank
(
message
=
"用户Id不能为空"
)
private
String
userId
;
}
infra/src/main/java/com/hikcreate/edl/pub/web/mobile/infra/model/param/response/DrivingLicenseInfoRes.java
View file @
d10cea1c
...
@@ -9,9 +9,11 @@ import lombok.Data;
...
@@ -9,9 +9,11 @@ import lombok.Data;
@Data
@Data
public
class
DrivingLicenseInfoRes
{
public
class
DrivingLicenseInfoRes
{
private
String
userId
;
// 身份证号
private
String
idCard
;
/**
/**
*有效期止
*
有效期止
*/
*/
private
String
validityTime
;
private
String
validityTime
;
/**
/**
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment