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
626fec15
Commit
626fec15
authored
Jul 21, 2020
by
牟邦恺
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
添加驾驶证图片接口
parent
92b90256
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
319 additions
and
15 deletions
+319
-15
api/pom.xml
+1
-0
api/src/main/java/com/hikcreate/edl/pub/web/mobile/api/controller/DrivingLicenseController.java
+99
-0
domain/pom.xml
+4
-0
domain/src/main/java/com/hikcreate/edl/pub/web/mobile/domain/CredentialsImageService.java
+20
-0
domain/src/main/java/com/hikcreate/edl/pub/web/mobile/domain/impl/BindServiceImpl.java
+3
-4
domain/src/main/java/com/hikcreate/edl/pub/web/mobile/domain/impl/CredentialsImageServiceImpl.java
+35
-0
infra/src/main/java/com/hikcreate/edl/pub/web/mobile/infra/core/configbean/FastDfsConfigBean.java
+34
-0
infra/src/main/java/com/hikcreate/edl/pub/web/mobile/infra/data/feign/dcp_service_vehicle/param/request/IdCardQueryReq.java
+2
-0
infra/src/main/java/com/hikcreate/edl/pub/web/mobile/infra/data/feign/edl_pvt_service_drivinglicense/DrivingLicenseFeign.java
+27
-0
infra/src/main/java/com/hikcreate/edl/pub/web/mobile/infra/data/feign/edl_pvt_service_drivinglicense/DrivingLicenseQrFeign.java
+3
-11
infra/src/main/java/com/hikcreate/edl/pub/web/mobile/infra/data/feign/edl_pvt_service_drivinglicense/request/CreditIdCardMicReq.java
+23
-0
infra/src/main/java/com/hikcreate/edl/pub/web/mobile/infra/data/feign/edl_pvt_service_drivinglicense/response/DrivingLicenseMicRes.java
+63
-0
pom.xml
+5
-0
No files found.
api/pom.xml
View file @
626fec15
...
...
@@ -64,6 +64,7 @@
<artifactId>
redisson-spring-boot-starter
</artifactId>
<version>
3.9.1
</version>
</dependency>
</dependencies>
<build>
...
...
api/src/main/java/com/hikcreate/edl/pub/web/mobile/api/controller/DrivingLicenseController.java
0 → 100644
View file @
626fec15
package
com
.
hikcreate
.
edl
.
pub
.
web
.
mobile
.
api
.
controller
;
import
com.alibaba.fastjson.JSONObject
;
import
com.hikcreate.common.sdk.response.apiparam.Response
;
import
com.hikcreate.common.sdk.response.apiparam.ResponseGenerator
;
import
com.hikcreate.common.sdk.response.statuscode.StatusCode
;
import
com.hikcreate.edl.common.image.builder.domain.DlImageDO
;
import
com.hikcreate.edl.pub.web.mobile.domain.CredentialsImageService
;
import
com.hikcreate.edl.pub.web.mobile.infra.core.annotatiion.HeaderDecryptAnnotation
;
import
com.hikcreate.edl.pub.web.mobile.infra.core.configbean.FastDfsConfigBean
;
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.response.DrivingLicenseMicRes
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.http.HttpServletResponse
;
import
java.io.ByteArrayOutputStream
;
import
java.io.IOException
;
/**
* 驾驶证图片接口
*
* @author MOUBK
* @menu
* @create 2020/7/20 17:44
**/
@RestController
@RequestMapping
(
"/drivingLicense"
)
@Slf4j
public
class
DrivingLicenseController
{
@Autowired
private
CredentialsImageService
credentialsImageService
;
@Autowired
private
DrivingLicenseFeign
drivingLicenseFeign
;
@Autowired
private
FastDfsConfigBean
fastDfsConfigBean
;
@GetMapping
(
"/image"
)
@HeaderDecryptAnnotation
public
void
image
(
@RequestParam
(
"idCard"
)
String
idCard
,
HttpServletResponse
response
)
{
DrivingLicenseMicRes
drivingLicenseMicRes
=
drivingLicenseFeign
.
getByIdCard
(
new
CreditIdCardMicReq
().
setIdCard
(
idCard
)).
fallback
().
getData
();
DlImageDO
dlImageDO
=
new
DlImageDO
();
dlImageDO
.
setAddress
(
drivingLicenseMicRes
.
getAddress
());
dlImageDO
.
setBelowLicenseNumber
(
drivingLicenseMicRes
.
getIdCard
());
dlImageDO
.
setAvatarFullUrl
(
fastDfsConfigBean
.
genBigDataInnerUrl
(
drivingLicenseMicRes
.
getAvatar
()));
dlImageDO
.
setBirthday
(
drivingLicenseMicRes
.
getBirthday
());
dlImageDO
.
setLicenseNumber
(
drivingLicenseMicRes
.
getIdCard
());
dlImageDO
.
setInitLicenseDate
(
drivingLicenseMicRes
.
getIssueDate
());
dlImageDO
.
setName
(
drivingLicenseMicRes
.
getRealName
());
dlImageDO
.
setBelowName
(
drivingLicenseMicRes
.
getRealName
());
dlImageDO
.
setModel
(
drivingLicenseMicRes
.
getLicenseType
());
dlImageDO
.
setNationality
(
drivingLicenseMicRes
.
getNationality
());
dlImageDO
.
setSex
(
drivingLicenseMicRes
.
getGender
());
dlImageDO
.
setValidityPeriod
(
drivingLicenseMicRes
.
getEffectiveDate
()
+
"至"
+
drivingLicenseMicRes
.
getExpiryDate
());
dlImageDO
.
setRecord
(
""
);
dlImageDO
.
setFileNumber
(
drivingLicenseMicRes
.
getFileNum
());
ByteArrayOutputStream
outputStream
=
(
ByteArrayOutputStream
)
credentialsImageService
.
genDlImage
(
dlImageDO
);
try
{
setHeader
(
response
,
drivingLicenseMicRes
.
getIdCard
()
+
".jpg"
);
response
.
getOutputStream
().
write
(
outputStream
.
toByteArray
());
}
catch
(
Exception
e
)
{
log
.
error
(
"Get dl img E, idCard={}, msg={}"
,
idCard
,
e
);
getResException
(
response
,
"获取驾照图片异常"
);
}
finally
{
try
{
if
(
null
!=
outputStream
)
{
outputStream
.
close
();
}
}
catch
(
Exception
e
)
{
log
.
error
(
"Get dl img IOE, msg={}"
,
e
);
}
}
}
private
void
getResException
(
HttpServletResponse
response
,
String
msg
)
{
try
{
Response
<
Void
>
res
=
ResponseGenerator
.
fail
(
StatusCode
.
SYSTEM_ERROR
,
msg
);
response
.
setContentType
(
"application/json;charset=UTF-8"
);
response
.
getWriter
().
write
(
JSONObject
.
toJSONString
(
res
));
}
catch
(
IOException
e
)
{
log
.
error
(
"Get dl header IOE, msg={}"
,
e
);
}
}
private
void
setHeader
(
HttpServletResponse
resposne
,
String
fileName
)
{
resposne
.
setDateHeader
(
"Expires"
,
0L
);
resposne
.
setHeader
(
"Cache-Control"
,
"no-store, no-cache, must-revalidate"
);
resposne
.
addHeader
(
"Cache-Control"
,
"post-check=0, pre-check=0"
);
resposne
.
setHeader
(
"Pragma"
,
"no-cache"
);
resposne
.
setContentType
(
"image/jpeg"
);
resposne
.
setHeader
(
"Content-Disposition"
,
"attachment;filename="
+
fileName
);
}
}
domain/pom.xml
View file @
626fec15
...
...
@@ -32,6 +32,10 @@
<artifactId>
distributed-lock-starter
</artifactId>
<version>
${parent.version}
</version>
</dependency>
<dependency>
<groupId>
com.hikcreate.edl.common
</groupId>
<artifactId>
image-builder
</artifactId>
</dependency>
</dependencies>
</project>
domain/src/main/java/com/hikcreate/edl/pub/web/mobile/domain/CredentialsImageService.java
0 → 100644
View file @
626fec15
package
com
.
hikcreate
.
edl
.
pub
.
web
.
mobile
.
domain
;
import
com.hikcreate.edl.common.image.builder.domain.DlImageDO
;
import
java.io.OutputStream
;
/**
* @author MOUBK
* @create 2020/7/20 17:52
*/
public
interface
CredentialsImageService
{
/**
* 生成驾驶证图片.包含主副页
*
* @param params 参数
* @return
*/
OutputStream
genDlImage
(
DlImageDO
params
);
}
domain/src/main/java/com/hikcreate/edl/pub/web/mobile/domain/impl/BindServiceImpl.java
View file @
626fec15
...
...
@@ -26,7 +26,7 @@ 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.response.VehicleRes
;
import
com.hikcreate.edl.pub.web.mobile.infra.data.feign.edl_pub_service_sms.SmsFeign
;
import
com.hikcreate.edl.pub.web.mobile.infra.data.feign.edl_pub_service_sms.param.request.CheckVerifyCodeMicReq
;
import
com.hikcreate.edl.pub.web.mobile.infra.data.feign.edl_pvt_service_drivinglicense.DrivingLicense
Qr
Feign
;
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.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
;
...
...
@@ -40,7 +40,6 @@ import com.hikcreate.edl.pub.web.mobile.infra.model.param.request.BindSmsValidRe
import
com.hikcreate.edl.pub.web.mobile.infra.model.param.request.H5BindInfoQuery
;
import
com.hikcreate.edl.pub.web.mobile.infra.model.param.request.UnBindReq
;
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.DrivingLicenseInfoRes
;
import
com.hikcreate.edl.pub.web.mobile.infra.model.param.response.InsuranceInfoRes
;
import
com.hikcreate.edl.pub.web.mobile.infra.model.param.response.ResultList
;
...
...
@@ -86,7 +85,7 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
@Autowired
private
UnqIdUtil
unqIdUtil
;
@Autowired
private
DrivingLicense
QrFeign
drivingLicenseQr
Feign
;
private
DrivingLicense
Feign
drivingLicense
Feign
;
@Autowired
private
SmsFeign
smsFeign
;
...
...
@@ -437,7 +436,7 @@ public class BindServiceImpl extends ServiceImpl<BindInfoMapper, ParkBindInfo> i
/**
* 获取二维码信息
*/
Response
<
DlQrRes
>
qrInfo
=
drivingLicense
Qr
Feign
.
getQrInfo
(
new
IdCardMicReq
().
setIdCard
(
byPlateNumAndType
.
getSfzmhm
()));
Response
<
DlQrRes
>
qrInfo
=
drivingLicenseFeign
.
getQrInfo
(
new
IdCardMicReq
().
setIdCard
(
byPlateNumAndType
.
getSfzmhm
()));
if
(!
qrInfo
.
isSuccess
()
||
qrInfo
.
getData
()
==
null
)
{
return
ResultGenerator
.
fail
(
ResultCode
.
DRIVING_LICENSE_UNKNOWN
);
}
...
...
domain/src/main/java/com/hikcreate/edl/pub/web/mobile/domain/impl/CredentialsImageServiceImpl.java
0 → 100644
View file @
626fec15
package
com
.
hikcreate
.
edl
.
pub
.
web
.
mobile
.
domain
.
impl
;
import
com.alibaba.fastjson.JSONObject
;
import
com.hikcreate.common.sdk.exception.BusinessException
;
import
com.hikcreate.edl.common.image.builder.domain.DlImageDO
;
import
com.hikcreate.edl.common.image.builder.refactor.DrawDispatcher
;
import
com.hikcreate.edl.pub.web.mobile.domain.CredentialsImageService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.io.OutputStream
;
/**
* @author MOUBK
* @create 2020/7/20 17:53
*/
@Slf4j
@Service
public
class
CredentialsImageServiceImpl
implements
CredentialsImageService
{
@Autowired
private
DrawDispatcher
drawDispatcher
;
@Override
public
OutputStream
genDlImage
(
DlImageDO
params
)
{
OutputStream
outputStream
;
try
{
outputStream
=
drawDispatcher
.
drawDl
(
params
);
}
catch
(
Exception
e
)
{
log
.
error
(
"Gen DrivingLicense Image Error, param={}, msg={}"
,
JSONObject
.
toJSONString
(
params
),
e
);
throw
new
BusinessException
(
"获取驾驶证图片失败"
);
}
return
outputStream
;
}
}
infra/src/main/java/com/hikcreate/edl/pub/web/mobile/infra/core/configbean/FastDfsConfigBean.java
0 → 100644
View file @
626fec15
package
com
.
hikcreate
.
edl
.
pub
.
web
.
mobile
.
infra
.
core
.
configbean
;
import
lombok.Data
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
import
org.springframework.stereotype.Component
;
/**
* @author zhangfubing
* @create 2019/4/28 15:28
*/
@Component
@ConfigurationProperties
(
"biz.fastdfs"
)
@Data
public
class
FastDfsConfigBean
{
/**
* FastDfs地址
*/
private
String
bigDataInnerUrl
;
/**
* 大数据fastUrl
*
* @param suffix
* @return
*/
public
String
genBigDataInnerUrl
(
String
suffix
)
{
return
bigDataInnerUrl
+
suffix
;
}
}
\ No newline at end of file
infra/src/main/java/com/hikcreate/edl/pub/web/mobile/infra/data/feign/dcp_service_vehicle/param/request/IdCardQueryReq.java
View file @
626fec15
package
com
.
hikcreate
.
edl
.
pub
.
web
.
mobile
.
infra
.
data
.
feign
.
dcp_service_vehicle
.
param
.
request
;
import
lombok.Data
;
import
lombok.experimental.Accessors
;
import
javax.validation.constraints.NotBlank
;
...
...
@@ -9,6 +10,7 @@ package com.hikcreate.edl.pub.web.mobile.infra.data.feign.dcp_service_vehicle.pa
* @create 2019/7/5 14:56
*/
@Data
@Accessors
(
chain
=
true
)
public
class
IdCardQueryReq
{
@NotBlank
(
message
=
"IdCard is not blank"
)
...
...
infra/src/main/java/com/hikcreate/edl/pub/web/mobile/infra/data/feign/edl_pvt_service_drivinglicense/DrivingLicenseFeign.java
0 → 100644
View file @
626fec15
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.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
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
;
/**
* 驾照调用
*
* @author MOUBK
* @create 2019/4/9 19:49
*/
@FeignClient
(
value
=
"edl-pvt-service-dl"
,
path
=
"drivingLicense"
)
public
interface
DrivingLicenseFeign
{
@PostMapping
(
"getByIdCard"
)
Response
<
DrivingLicenseMicRes
>
getByIdCard
(
@RequestBody
CreditIdCardMicReq
req
);
@PostMapping
(
"/qr/getQrInfo"
)
Response
<
DlQrRes
>
getQrInfo
(
@RequestBody
@Validated
IdCardMicReq
req
);
}
infra/src/main/java/com/hikcreate/edl/pub/web/mobile/infra/data/feign/edl_pvt_service_drivinglicense/DrivingLicenseQrFeign.java
View file @
626fec15
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"
)
//
@FeignClient(value = "edl-pvt-service-dl", path = "drivingLicense/qr")
public
interface
DrivingLicenseQrFeign
{
@PostMapping
(
"getQrInfo"
)
Response
<
DlQrRes
>
getQrInfo
(
@RequestBody
@Validated
IdCardMicReq
req
);
//
@PostMapping("getQrInfo")
//
Response<DlQrRes> getQrInfo(@RequestBody @Validated IdCardMicReq req);
}
infra/src/main/java/com/hikcreate/edl/pub/web/mobile/infra/data/feign/edl_pvt_service_drivinglicense/request/CreditIdCardMicReq.java
0 → 100644
View file @
626fec15
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
CreditIdCardMicReq
{
@Pattern
(
regexp
=
ID_CARD_CONSTRAINT_REGEXP
,
message
=
"身份证号不正确"
)
@NotNull
private
String
idCard
;
}
infra/src/main/java/com/hikcreate/edl/pub/web/mobile/infra/data/feign/edl_pvt_service_drivinglicense/response/DrivingLicenseMicRes.java
0 → 100644
View file @
626fec15
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
;
import
java.util.List
;
/**
* @author MOUBK
* @create 2019/4/9 17:49
*/
@Data
@NoArgsConstructor
@Accessors
(
chain
=
true
)
public
class
DrivingLicenseMicRes
{
// 驾照ID
private
Long
id
;
// 驾驶证头像
private
String
avatar
;
// 清分日期
private
String
clearDate
;
// 出身年月日
private
String
birthday
;
// 剩余计分
private
Integer
residualScore
;
// 累计计分
private
Integer
cumulativeScore
;
// 生效开始日期
private
String
effectiveDate
;
// 有效期止
private
String
expiryDate
;
// 下一审验日期
private
String
verifyDate
;
// 姓名
private
String
realName
;
// 身份证号
private
String
idCard
;
// 档案号
private
String
fileNum
;
// 准驾车型
private
String
licenseType
;
// 发证机关
private
String
certDepart
;
// 发证日期
private
String
issueDate
;
// 国籍
private
String
nationality
;
// 地址
private
String
address
;
// 性别
private
String
gender
;
// 驾驶证状态
private
String
licenseStatus
;
// 联系电话
private
String
phone
;
// 地址区划
private
String
residenceZone
;
// 是否锁定
private
Boolean
isLock
;
// 准驾车型列表
private
List
<
String
>
licenseTypes
;
}
pom.xml
View file @
626fec15
...
...
@@ -73,6 +73,11 @@
<scope>
import
</scope>
</dependency>
<dependency>
<groupId>
com.hikcreate.edl.common
</groupId>
<artifactId>
image-builder
</artifactId>
<version>
1.9-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.hikcreate.edl.pub.web.mobile
</groupId>
<artifactId>
api
</artifactId>
<version>
${version}
</version>
...
...
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