Commit 9f9610dd authored by yinjiacheng's avatar yinjiacheng

fix SHQBD-111 SHQBD-107 身份证两面OCR结果数据覆盖问题

parent 272d6069
......@@ -19,39 +19,26 @@ object LifeAccountAuthDataManager {
val merchantAuthData by lazy { LifeAccountMerchantAuthData() }
/**
* 将身份证OCR结果填入
* 将身份证人像面OCR结果填入
*/
fun generatePersonalAuthData(data: GetIDCardOCRBean.Response) {
if (data.posit.completeness != -1) {
personalAuthData.idCardPortraitFaceCompleteness = data.posit.completeness
}
if (data.back.completeness != -1) {
personalAuthData.idCardNationalEmblemFaceCompleteness = data.back.completeness
}
if (data.posit.idcard_number.isNotEmpty()) {
personalAuthData.idCardNum = data.posit.idcard_number
}
if (data.posit.gender.isNotEmpty()) {
personalAuthData.gender = data.posit.gender
}
if (data.posit.name.isNotEmpty()) {
personalAuthData.realName = data.posit.name
}
if (data.posit.address.isNotEmpty()) {
personalAuthData.address = data.posit.address
}
if (data.posit.nationality.isNotEmpty()) {
personalAuthData.nationality = data.posit.nationality
}
if (data.back.valid_date_start.isNotEmpty()) {
personalAuthData.validDateStart = data.back.valid_date_start
}
if (data.back.valid_date_end.isNotEmpty()) {
personalAuthData.validDateEnd = data.back.valid_date_end
}
if (data.back.issued_by.isNotEmpty()) {
personalAuthData.issuedBy = data.back.issued_by
}
fun generateIDCardPortraitFaceData(data: GetIDCardOCRBean.Response) {
personalAuthData.idCardPortraitFaceCompleteness = data.posit.completeness
personalAuthData.idCardNum = data.posit.idcard_number
personalAuthData.gender = data.posit.gender
personalAuthData.realName = data.posit.name
personalAuthData.address = data.posit.address
personalAuthData.nationality = data.posit.nationality
}
/**
* 将身份证国徽面OCR结果填入
*/
fun generateIDCardNationEmblemFaceData(data: GetIDCardOCRBean.Response) {
personalAuthData.idCardNationalEmblemFaceCompleteness = data.back.completeness
personalAuthData.validDateStart = data.back.valid_date_start
personalAuthData.validDateEnd = data.back.valid_date_end
personalAuthData.issuedBy = data.back.issued_by
}
/**
......
......@@ -50,9 +50,8 @@ import java.io.File
* description: 生活号身份证认证
*/
class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuthBinding>(),
View.OnClickListener, BottomSelectAdapter.OnItemClickListener<BottomSelectBean>,
IGetIDCardOCRCallback, AuthPersonalGetTokenCallback, IdentifyIdOcrVerifyCallback, PreCallback,
DetectCallback, KS3Core.OnKS3TaskListener, IAuthPersonalCheckCallback,
View.OnClickListener, BottomSelectAdapter.OnItemClickListener<BottomSelectBean>, AuthPersonalGetTokenCallback,
IdentifyIdOcrVerifyCallback, PreCallback, DetectCallback, KS3Core.OnKS3TaskListener, IAuthPersonalCheckCallback,
IAuthLiveIdentityCallback, LifeAccountAuthImageView.OnLifeAccountAuthImageViewCallback,
LifeAccountAuthIdentityInfoEditView.OnLifeAccountAuthIdentityInfoEditViewCallback,
IAuthIndividualBusinessIdentityCommitCallback, IAuthEnterpriseLiveIdentityCallback,
......@@ -481,14 +480,43 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
private fun startIDCardOCR(face: Int, objectKey: String?, bucket: String?) {
if (face == Constant.ID_CARD_PORTRAIT_FACE) {
ApiService.getIDCardOCR(
this, hashMapOf(
object : IGetIDCardOCRCallback {
override fun getIDCardOCRSuccess(result: GetIDCardOCRBean.Response?) {
result?.let { LifeAccountAuthDataManager.generateIDCardPortraitFaceData(it) }
// 回显OCR结果
viewBinding.evRealName.fillEditContent(result?.posit?.name)
viewBinding.evIdCardNumber.fillEditContent(result?.posit?.idcard_number)
// 此时身份证人像面已上传并OCR识别完成 删除本地临时存储文件
File(cachePath + Constant.FILE_PATH_ID_CARD_PORTRAIT_FACE).apply {
if (exists()) delete()
}
}
override fun getIDCardOCRFailure(message: String?) {
}
}, hashMapOf(
Pair("posit_image_objectid", objectKey),
Pair("posit_bucket", bucket)
)
)
} else {
ApiService.getIDCardOCR(
this, hashMapOf(
object : IGetIDCardOCRCallback {
override fun getIDCardOCRSuccess(result: GetIDCardOCRBean.Response?) {
result?.let { LifeAccountAuthDataManager.generateIDCardNationEmblemFaceData(it) }
// 此时身份证国徽面已上传并OCR识别完成 删除本地临时存储文件
File(cachePath + Constant.FILE_PATH_ID_CARD_NATIONAL_EMBLEM_FACE).apply {
if (exists()) delete()
}
}
override fun getIDCardOCRFailure(message: String?) {
}
}, hashMapOf(
Pair("back_image_objectid", objectKey),
Pair("back_bucket", bucket)
)
......@@ -496,24 +524,6 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
}
}
override fun getIDCardOCRSuccess(result: GetIDCardOCRBean.Response?) {
result?.let { LifeAccountAuthDataManager.generatePersonalAuthData(it) }
// 回显OCR结果
viewBinding.evRealName.fillEditContent(result?.posit?.name)
viewBinding.evIdCardNumber.fillEditContent(result?.posit?.idcard_number)
// 此时身份证已上传并OCR识别完成 删除本地临时存储文件
File(cachePath + Constant.FILE_PATH_ID_CARD_PORTRAIT_FACE).apply {
if (exists()) delete()
}
File(cachePath + Constant.FILE_PATH_ID_CARD_NATIONAL_EMBLEM_FACE).apply {
if (exists()) delete()
}
}
override fun getIDCardOCRFailure(message: String?) {
}
override fun getTokenSuccess(t: HttpResult<AuthPersonalGetTokenBean.Response?>?) {
LifeAccountAuthDataManager.personalAuthData.liveDetectBizToken = t?.result?.biz_token
megLiveManager.preDetect(
......
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