Commit 6fa06455 authored by yinjiacheng's avatar yinjiacheng

fix SHQBD-145 个人认证流程增加校验身份信息是否已认证逻辑

parent db4b861a
......@@ -94,4 +94,7 @@ object Constant {
// 各输入场景最大长度显示
const val MAX_LENGTH_LIFE_ACCOUNT_NAME = 24 // 生活号名称
// 服务端返回的业务错误码
const val ERROR_CODE_PERSONAL_AUTH_INFO_DUPLICATE = 103010 // 身份证号已认证并且认证手机号不是当前手机号
}
......@@ -124,7 +124,7 @@ class ApiService {
}
override fun onFailer(result: HttpResult<Any>?) {
apiCallback.authPersonCheckFailure(result?.reason)
apiCallback.authPersonCheckFailure(result?.code, result?.reason)
}
})
}
......
......@@ -6,6 +6,6 @@ package com.yidian.shenghuoquan.newscontent.http.callback
* description: API /merchant/auth/personal_check
*/
interface IAuthPersonalCheckCallback {
fun authPersonCheckSuccess()
fun authPersonCheckFailure(message: String?)
}
\ No newline at end of file
fun authPersonCheckSuccess()
fun authPersonCheckFailure(code: Int?, message: String?)
}
......@@ -218,7 +218,7 @@ class LifeAccountEnterpriseAuthActivity : BaseActivity<ActivityLifeAccountEnterp
* 清理认证数据
* 避免在修改认证时出现数据异常
*/
private fun cleanLifeAccountAuthData() {
private fun clearLifeAccountAuthData() {
LifeAccountAuthDataManager.merchantAuthData.merchantType = 0
LifeAccountAuthDataManager.merchantAuthData.authRecordId = null
LifeAccountAuthDataManager.merchantAuthData.isBusinessLicenseUpload = false
......@@ -328,8 +328,8 @@ class LifeAccountEnterpriseAuthActivity : BaseActivity<ActivityLifeAccountEnterp
override fun authEnterpriseLegalIdentityCommitSuccess(result: AuthEnterpriseLegalIdentityCommitBean.Response?) {
// 本地保存生活号id
StorageUtil.putLifeAccountId(result?.life_account_id)
// 清认证数据
cleanLifeAccountAuthData()
// 清认证数据
clearLifeAccountAuthData()
// 普通企业法人身份信息提交成功
XPageManager.push(
XRouterPathConstants.LIFE_ACCOUNT_ENTERPRISE_AUTH_COMPLETE,
......@@ -352,8 +352,8 @@ class LifeAccountEnterpriseAuthActivity : BaseActivity<ActivityLifeAccountEnterp
override fun authIndividualBusinessCompleteSuccess(result: AuthIndividualBusinessCompleteBean.Response?) {
// 本地保存生活号id
StorageUtil.putLifeAccountId(result?.life_account_id)
// 清认证数据
cleanLifeAccountAuthData()
// 清认证数据
clearLifeAccountAuthData()
// 个体工商户认证完成
XPageManager.push(
XRouterPathConstants.LIFE_ACCOUNT_ENTERPRISE_AUTH_COMPLETE,
......
......@@ -11,6 +11,7 @@ import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.core.content.ContextCompat
import androidx.core.view.isVisible
import com.megvii.demo.activity.IDCardDetectActivity
import com.megvii.demo.utils.Configuration
......@@ -25,6 +26,7 @@ import com.yidian.common.http.HttpResult
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.adapter.BottomSelectAdapter
import com.yidian.shenghuoquan.newscontent.bean.BottomSelectBean
import com.yidian.shenghuoquan.newscontent.bean.HintOptionBean
import com.yidian.shenghuoquan.newscontent.constant.Constant
import com.yidian.shenghuoquan.newscontent.databinding.FragmentLifeAccountIdCardAuthBinding
import com.yidian.shenghuoquan.newscontent.http.ApiService
......@@ -34,6 +36,7 @@ import com.yidian.shenghuoquan.newscontent.http.callback.IAuthLiveIdentityCallba
import com.yidian.shenghuoquan.newscontent.http.callback.IAuthPersonalCheckCallback
import com.yidian.shenghuoquan.newscontent.http.httpbean.*
import com.yidian.shenghuoquan.newscontent.ui.dialog.BottomSelectDialog
import com.yidian.shenghuoquan.newscontent.ui.dialog.HintDialog
import com.yidian.shenghuoquan.newscontent.utils.BitmapUtil
import com.yidian.shenghuoquan.newscontent.utils.FileUtil
import com.yidian.shenghuoquan.newscontent.utils.InputFilterUtil
......@@ -684,8 +687,21 @@ class LifeAccountIDCardAuthFragment : BaseFragment<FragmentLifeAccountIdCardAuth
)
}
override fun authPersonCheckFailure(message: String?) {
// 展示错误提示
override fun authPersonCheckFailure(code: Int?, message: String?) {
if (code == Constant.ERROR_CODE_PERSONAL_AUTH_INFO_DUPLICATE) {
// 身份证号已认证并且认证手机号不是当前手机号 弹窗提示
activity?.let {
HintDialog(
it, message.toString(),
arrayListOf(
HintOptionBean(resources.getString(R.string.change)),
HintOptionBean(resources.getString(R.string.login_again))
), it as LifeAccountPersonalAuthActivity
).setRightBtnColor(ContextCompat.getColor(it, R.color.color_FF1852F1)).show()
}
return
}
// 展示输入框下错误提示
when (message) {
Constant.ERROR_MESSAGE_REAL_NAME -> {
viewBinding.evRealName.showErrorTips(
......
......@@ -4,7 +4,6 @@ import android.os.Bundle
import android.view.View
import android.widget.CompoundButton
import com.orhanobut.hawk.Hawk
import com.yidian.common.AppConfig
import com.yidian.common.HawkConfig
import com.yidian.common.XEventConfig
import com.yidian.common.XRouterPathConstants
......@@ -15,7 +14,7 @@ import com.yidian.shenghuoquan.newscontent.http.ApiService
import com.yidian.shenghuoquan.newscontent.http.callback.IAuthPersonalCompleteCallback
import com.yidian.shenghuoquan.newscontent.http.httpbean.AuthAuthenticationBean
import com.yidian.shenghuoquan.newscontent.http.httpbean.AuthPersonalCompleteBean
import com.yidian.shenghuoquan.newscontent.ui.ProtocolActivity
import com.yidian.shenghuoquan.newscontent.ui.dialog.HintDialog
import com.yidian.shenghuoquan.newscontent.utils.StorageUtil
import com.yidian.xarc.xevent.XBaseEvent
import com.yidian.xarc.xevent.XEventManager
......@@ -29,8 +28,8 @@ import org.greenrobot.eventbus.ThreadMode
* description: 生活号个人认证
*/
class LifeAccountPersonalAuthActivity :
BaseActivity<ActivityLifeAccountPersonalAuthBinding>(),
View.OnClickListener, CompoundButton.OnCheckedChangeListener, IAuthPersonalCompleteCallback {
BaseActivity<ActivityLifeAccountPersonalAuthBinding>(), View.OnClickListener, CompoundButton.OnCheckedChangeListener,
IAuthPersonalCompleteCallback, HintDialog.OnHintOptionCallback {
companion object {
// 认证数据
......@@ -125,13 +124,18 @@ class LifeAccountPersonalAuthActivity :
}
/**
* 清认证数据
* 清认证数据
* 避免在升级企业认证时出现数据异常
*/
private fun cleanLifeAccountAuthData() {
private fun clearLifeAccountAuthData() {
LifeAccountAuthDataManager.personalAuthData.isAgreePrivacyAgreement = false
LifeAccountAuthDataManager.personalAuthData.occupation = null
LifeAccountAuthDataManager.personalAuthData.isFaceAuthPass = false
LifeAccountAuthDataManager.personalAuthData.realName = null
LifeAccountAuthDataManager.personalAuthData.idCardNum = null
LifeAccountAuthDataManager.personalAuthData.occupation = null
LifeAccountAuthDataManager.personalAuthData.isIDCardPortraitFaceUpload = false
LifeAccountAuthDataManager.personalAuthData.isIDCardNationalEmblemFaceUpload = false
}
override fun onClick(v: View?) {
......@@ -154,8 +158,8 @@ class LifeAccountPersonalAuthActivity :
override fun authPersonalCompleteSuccess(result: AuthPersonalCompleteBean.Response?) {
// 本地保存生活号id
StorageUtil.putLifeAccountId(result?.life_account_id)
// 清认证数据
cleanLifeAccountAuthData()
// 清认证数据
clearLifeAccountAuthData()
// 跳转个人认证成功页
XPageManager.push(
XRouterPathConstants.LIFE_ACCOUNT_PERSONAL_AUTH_COMPLETE,
......@@ -193,4 +197,17 @@ class LifeAccountPersonalAuthActivity :
}
}
override fun onLeftOption() {
// 更换认证信息
// 清空认证数据
clearLifeAccountAuthData()
supportFragmentManager.beginTransaction().remove(fragment).add(R.id.fragment_container, LifeAccountIDCardAuthFragment()).commit()
}
override fun onRightOption() {
// 重新登录
XPageManager.push(XRouterPathConstants.LOGIN_LIFE_CIRCLE, null)
}
}
......@@ -171,5 +171,7 @@
<string name="goto_upgrade">去升级</string>
<string name="goto_modify">去修改</string>
<string name="input_legal_person_phone_number">请输入法人手机号</string>
<string name="change">更换</string>
<string name="login_again">重新登录</string>
</resources>
\ No newline at end of file
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