Commit 4fe0cae2 authored by yinjiacheng's avatar yinjiacheng

fix SHQBD-179 个人认证完成页、个人认证信息页中"个人小店"修改为显示生活号名称,证件号码和手机号脱敏处理

parent f7515ae7
......@@ -7,24 +7,24 @@ package com.yidian.shenghuoquan.newscontent.http.httpbean
*/
class AuthEnterpriseLegalIdentityCommitBean {
data class Request(
val record_id: Long,
val front_img: String,
val bak_img: String,
val front_completeness: Int,
val bak_completeness: Int,
val idcard_number: String,
val gender: String?,
val name: String,
val address: String?,
val nationality: String?,
val valid_date_start: String?,
val valid_date_end: String?,
val issued_by: String?,
val life_account_id: Long?,
val mobile: String,
)
data class Request(
val record_id: Long,
val front_img: String,
val bak_img: String,
val front_completeness: Int,
val bak_completeness: Int,
val idcard_number: String,
val gender: String?,
val name: String,
val address: String?,
val nationality: String?,
val valid_date_start: String?,
val valid_date_end: String?,
val issued_by: String?,
val life_account_id: Long?,
val mobile: String,
)
data class Response(val life_account_id: String)
data class Response(val life_account_id: String, val name: String, val code: String, val legal_person: String, val legal_id_card: String)
}
\ No newline at end of file
}
......@@ -7,8 +7,8 @@ package com.yidian.shenghuoquan.newscontent.http.httpbean
*/
class AuthIndividualBusinessCompleteBean {
data class Request(val record_id: Long)
data class Request(val record_id: Long)
data class Response(val life_account_id: String)
data class Response(val life_account_id: String, val name: String, val code: String, val legal_person: String, val legal_id_card: String)
}
\ No newline at end of file
}
......@@ -6,6 +6,15 @@ package com.yidian.shenghuoquan.newscontent.http.httpbean
* description: API /merchant/auth/complete
*/
class AuthPersonalCompleteBean(val request: Request) {
data class Request(val mobile: String, val life_account_id: Long?)
data class Response(val life_account_id: String)
}
\ No newline at end of file
data class Request(val mobile: String, val life_account_id: Long?)
data class Response(
val life_account_id: String,
val occupation: String,
val full_name: String,
val id_card: String,
val life_account_name: String
)
}
......@@ -305,26 +305,11 @@ class LifeAccountEnterpriseAuthActivity : BaseActivity<ActivityLifeAccountEnterp
XPageManager.push(
XRouterPathConstants.LIFE_ACCOUNT_ENTERPRISE_AUTH_COMPLETE,
hashMapOf(
Pair(
LifeAccountEnterpriseAuthCompleteActivity.REGISTRATION_NAME,
LifeAccountAuthDataManager.merchantAuthData.registrationName
),
Pair(
LifeAccountEnterpriseAuthCompleteActivity.REGISTRATION_CODE,
LifeAccountAuthDataManager.merchantAuthData.registrationCode
),
Pair(
LifeAccountEnterpriseAuthCompleteActivity.ID_CARD_NAME,
LifeAccountAuthDataManager.personalAuthData.realName
),
Pair(
LifeAccountEnterpriseAuthCompleteActivity.ID_CARD_NUM,
LifeAccountAuthDataManager.personalAuthData.idCardNum
),
Pair(
LifeAccountEnterpriseAuthCompleteActivity.EXTRA_LIFE_ACCOUNT_ID,
result?.life_account_id
),
Pair(LifeAccountEnterpriseAuthCompleteActivity.REGISTRATION_NAME, result?.name),
Pair(LifeAccountEnterpriseAuthCompleteActivity.REGISTRATION_CODE, result?.code),
Pair(LifeAccountEnterpriseAuthCompleteActivity.ID_CARD_NAME, result?.legal_person),
Pair(LifeAccountEnterpriseAuthCompleteActivity.ID_CARD_NUM, result?.legal_id_card),
Pair(LifeAccountEnterpriseAuthCompleteActivity.EXTRA_LIFE_ACCOUNT_ID, result?.life_account_id),
Pair(LifeAccountEnterpriseAuthCompleteActivity.EXTRA_IS_AUTH_MODIFY, isAuthModify)
)
)
......@@ -342,26 +327,11 @@ class LifeAccountEnterpriseAuthActivity : BaseActivity<ActivityLifeAccountEnterp
XPageManager.push(
XRouterPathConstants.LIFE_ACCOUNT_ENTERPRISE_AUTH_COMPLETE,
hashMapOf(
Pair(
LifeAccountEnterpriseAuthCompleteActivity.REGISTRATION_NAME,
LifeAccountAuthDataManager.merchantAuthData.registrationName
),
Pair(
LifeAccountEnterpriseAuthCompleteActivity.REGISTRATION_CODE,
LifeAccountAuthDataManager.merchantAuthData.registrationCode
),
Pair(
LifeAccountEnterpriseAuthCompleteActivity.ID_CARD_NAME,
LifeAccountAuthDataManager.personalAuthData.realName
),
Pair(
LifeAccountEnterpriseAuthCompleteActivity.ID_CARD_NUM,
LifeAccountAuthDataManager.personalAuthData.idCardNum
),
Pair(
LifeAccountEnterpriseAuthCompleteActivity.EXTRA_LIFE_ACCOUNT_ID,
result?.life_account_id
),
Pair(LifeAccountEnterpriseAuthCompleteActivity.REGISTRATION_NAME, result?.name),
Pair(LifeAccountEnterpriseAuthCompleteActivity.REGISTRATION_CODE, result?.code),
Pair(LifeAccountEnterpriseAuthCompleteActivity.ID_CARD_NAME, result?.legal_person),
Pair(LifeAccountEnterpriseAuthCompleteActivity.ID_CARD_NUM, result?.legal_id_card),
Pair(LifeAccountEnterpriseAuthCompleteActivity.EXTRA_LIFE_ACCOUNT_ID, result?.life_account_id),
Pair(LifeAccountEnterpriseAuthCompleteActivity.EXTRA_IS_AUTH_MODIFY, isAuthModify)
)
)
......
......@@ -66,10 +66,9 @@ class LifeAccountEnterpriseAuthCompleteActivity :
-1,
-1,
params?.get(REGISTRATION_NAME)?.let { it as String },
params?.get(REGISTRATION_CODE)
?.let { it as String },
params?.get(REGISTRATION_CODE)?.let { it as String },
params?.get(ID_CARD_NAME)?.let { it as String },
SensitiveInfoUtil.idCardNumEncrypt(params?.get(ID_CARD_NUM)?.let { it as String } ?: "")
params?.get(ID_CARD_NUM)?.let { it as String }
)
}
......
package com.yidian.shenghuoquan.newscontent.ui.auth
import android.os.Bundle
import android.util.Log
import android.view.View
import android.widget.CompoundButton
import com.orhanobut.hawk.Hawk
......@@ -11,7 +10,6 @@ import com.yidian.common.XEventConfig
import com.yidian.common.XRouterPathConstants
import com.yidian.common.base.BaseActivity
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.constant.Constant
import com.yidian.shenghuoquan.newscontent.databinding.ActivityLifeAccountPersonalAuthBinding
import com.yidian.shenghuoquan.newscontent.http.ApiService
import com.yidian.shenghuoquan.newscontent.http.callback.IAuthPersonalCompleteCallback
......@@ -37,6 +35,7 @@ class LifeAccountPersonalAuthActivity :
companion object {
// 认证数据
const val EXTRA_AUTH_DATA = "authData"
const val EXTRA_LIFE_ACCOUNT_ID = "life_account_id"
}
/**
......@@ -55,6 +54,17 @@ class LifeAccountPersonalAuthActivity :
}
}
/**
* 个人未认证的生活号升级传入
*/
private val lifeAccountId by lazy {
intent.getSerializableExtra(XRouterPathConstants.ParamsKey)?.let { params ->
(params as HashMap<*, *>)[EXTRA_LIFE_ACCOUNT_ID]?.let {
it as String
}
}
}
override fun createViewBinding(): ActivityLifeAccountPersonalAuthBinding {
return ActivityLifeAccountPersonalAuthBinding.inflate(layoutInflater)
}
......@@ -123,9 +133,8 @@ class LifeAccountPersonalAuthActivity :
XPageManager.push(XRouterPathConstants.CHOOSE_CAREER, null)
}
R.id.btn_next -> {
// TODO: 6/21/21 未认证生活号进行个人认证 传参life_account_id
// 个人认证 完成认证
ApiService.authComplete(this, hashMapOf())
ApiService.authComplete(this, lifeAccountId?.let { hashMapOf(Pair(EXTRA_LIFE_ACCOUNT_ID, it)) } ?: hashMapOf())
}
R.id.tv_privacy_certification -> {
......@@ -155,26 +164,12 @@ class LifeAccountPersonalAuthActivity :
XPageManager.push(
XRouterPathConstants.LIFE_ACCOUNT_PERSONAL_AUTH_COMPLETE,
hashMapOf(
Pair(
LifeAccountPersonalAuthCompleteActivity.OCCUPATION,
LifeAccountAuthDataManager.personalAuthData.occupation
),
Pair(
LifeAccountPersonalAuthCompleteActivity.PHONE_NUM,
Hawk.get(HawkConfig.Mobile, "")
),
Pair(
LifeAccountPersonalAuthCompleteActivity.REAL_NAME,
LifeAccountAuthDataManager.personalAuthData.realName
),
Pair(
LifeAccountPersonalAuthCompleteActivity.ID_CARD_NUM,
LifeAccountAuthDataManager.personalAuthData.idCardNum
),
Pair(
LifeAccountPersonalAuthCompleteActivity.EXTRA_LIFE_ACCOUNT_ID,
result?.life_account_id
)
Pair(LifeAccountPersonalAuthCompleteActivity.OCCUPATION, result?.occupation),
Pair(LifeAccountPersonalAuthCompleteActivity.PHONE_NUM, Hawk.get(HawkConfig.Mobile, "")),
Pair(LifeAccountPersonalAuthCompleteActivity.REAL_NAME, result?.full_name),
Pair(LifeAccountPersonalAuthCompleteActivity.ID_CARD_NUM, result?.id_card),
Pair(LifeAccountPersonalAuthCompleteActivity.EXTRA_LIFE_ACCOUNT_ID, result?.life_account_id),
Pair(LifeAccountPersonalAuthCompleteActivity.LIFE_ACCOUNT_NAME, result?.life_account_name)
)
)
XPageManager.pop(null)
......
......@@ -21,6 +21,7 @@ class LifeAccountPersonalAuthCompleteActivity :
BaseActivity<ActivityLifeAccountPersonalAuthCompleteBinding>(), IGetLifeAccountListCallback, View.OnClickListener {
companion object {
const val LIFE_ACCOUNT_NAME = "lifeAccountName"
const val OCCUPATION = "occupation"
const val REAL_NAME = "realName"
const val ID_CARD_NUM = "idCardNum"
......@@ -58,6 +59,7 @@ class LifeAccountPersonalAuthCompleteActivity :
private fun initData() {
viewBind.ivPersonAuthInfo.fillAuthInfo(
params?.get(LIFE_ACCOUNT_NAME)?.let { it as String },
params?.get(OCCUPATION)?.let { it as String },
params?.get(REAL_NAME)?.let { it as String },
params?.get(ID_CARD_NUM)?.let { it as String },
......
......@@ -17,70 +17,71 @@ import com.yidian.shenghuoquan.newscontent.http.httpbean.GetLifeAccountInfoByIdB
*/
class MerchantAuthInfoActivity : BaseActivity<ActivityMerchantAuthInfoBinding>() {
companion object {
const val EXTRA_LIFE_ACCOUNT_INFO = "life_account_info"
}
companion object {
const val EXTRA_LIFE_ACCOUNT_INFO = "life_account_info"
}
/**
* 生活号详情
*/
private val lifeAccountInfo by lazy {
intent.getSerializableExtra(XRouterPathConstants.ParamsKey)?.let { params ->
(params as HashMap<*, *>)[EXTRA_LIFE_ACCOUNT_INFO]?.let {
it as GetLifeAccountInfoByIdBean.Response
}
}
/**
* 生活号详情
*/
private val lifeAccountInfo by lazy {
intent.getSerializableExtra(XRouterPathConstants.ParamsKey)?.let { params ->
(params as HashMap<*, *>)[EXTRA_LIFE_ACCOUNT_INFO]?.let {
it as GetLifeAccountInfoByIdBean.Response
}
}
}
override fun createViewBinding(): ActivityMerchantAuthInfoBinding {
return ActivityMerchantAuthInfoBinding.inflate(layoutInflater)
}
override fun createViewBinding(): ActivityMerchantAuthInfoBinding {
return ActivityMerchantAuthInfoBinding.inflate(layoutInflater)
}
override fun getXPageName(): String {
return XRouterPathConstants.MERCHANT_AUTH_INFO
}
override fun getXPageName(): String {
return XRouterPathConstants.MERCHANT_AUTH_INFO
}
override fun init(savedInstanceState: Bundle?) {
super.init(savedInstanceState)
initData()
}
override fun init(savedInstanceState: Bundle?) {
super.init(savedInstanceState)
initData()
}
private fun initData() {
when (lifeAccountInfo?.id_type) {
Constant.TYPE_AUTH_PERSONAL -> {
// 个人认证
viewBind.ivPersonAuthInfo.isVisible = true
viewBind.ivPersonAuthInfo.fillAuthInfo(
lifeAccountInfo?.occupation,
lifeAccountInfo?.legal_person,
lifeAccountInfo?.id_card,
Hawk.get(HawkConfig.Mobile)
)
}
Constant.TYPE_AUTH_INDIVIDUAL_BUSINESS -> {
// 个人工商户认证
viewBind.ivEnterpriseAuthInfo.isVisible = true
viewBind.ivEnterpriseAuthInfo.fillAuthInfo(
lifeAccountInfo?.id_type,
lifeAccountInfo?.audit_status,
lifeAccountInfo?.name,
lifeAccountInfo?.code,
lifeAccountInfo?.legal_person,
lifeAccountInfo?.id_card
)
}
Constant.TYPE_AUTH_COMMON_ENTERPRISE -> {
// 普通企业认证
viewBind.ivEnterpriseAuthInfo.isVisible = true
viewBind.ivEnterpriseAuthInfo.fillAuthInfo(
lifeAccountInfo?.id_type,
lifeAccountInfo?.audit_status,
lifeAccountInfo?.name,
lifeAccountInfo?.code,
lifeAccountInfo?.legal_person,
lifeAccountInfo?.id_card
)
}
}
private fun initData() {
when (lifeAccountInfo?.id_type) {
Constant.TYPE_AUTH_PERSONAL -> {
// 个人认证
viewBind.ivPersonAuthInfo.isVisible = true
viewBind.ivPersonAuthInfo.fillAuthInfo(
lifeAccountInfo?.life_account_name,
lifeAccountInfo?.occupation,
lifeAccountInfo?.legal_person,
lifeAccountInfo?.id_card,
Hawk.get(HawkConfig.Mobile)
)
}
Constant.TYPE_AUTH_INDIVIDUAL_BUSINESS -> {
// 个人工商户认证
viewBind.ivEnterpriseAuthInfo.isVisible = true
viewBind.ivEnterpriseAuthInfo.fillAuthInfo(
lifeAccountInfo?.id_type,
lifeAccountInfo?.audit_status,
lifeAccountInfo?.name,
lifeAccountInfo?.code,
lifeAccountInfo?.legal_person,
lifeAccountInfo?.id_card
)
}
Constant.TYPE_AUTH_COMMON_ENTERPRISE -> {
// 普通企业认证
viewBind.ivEnterpriseAuthInfo.isVisible = true
viewBind.ivEnterpriseAuthInfo.fillAuthInfo(
lifeAccountInfo?.id_type,
lifeAccountInfo?.audit_status,
lifeAccountInfo?.name,
lifeAccountInfo?.code,
lifeAccountInfo?.legal_person,
lifeAccountInfo?.id_card
)
}
}
}
\ No newline at end of file
}
}
......@@ -12,18 +12,8 @@ object SensitiveInfoUtil {
* 身份证号码出生日期脱敏
*/
fun idCardNumEncrypt(content: String): String {
val rule = "(\\d{6})\\d{8}(\\d{4})"
return content.replace(rule.toRegex(), "$1********$2")
}
/**
* 身份证号前三后四脱敏
*/
fun idCardPartEncrypt(content: String): String {
if (content.isBlank() || content.length < 18) {
return content
}
return content.replace(("(?<=\\w{3})\\w(?=\\w{4})").toRegex(), "*");
if (content.isBlank()) return content
return content.replace(("(\\d{6})\\d{8}(\\d{4})").toRegex(), "$1********$2")
}
/**
......
......@@ -6,6 +6,7 @@ import android.view.View
import androidx.constraintlayout.widget.ConstraintLayout
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.databinding.ViewLifeAccountPersonalAuthInfoBinding
import com.yidian.shenghuoquan.newscontent.utils.SensitiveInfoUtil
/**
* author: yinjiacheng
......@@ -13,32 +14,34 @@ import com.yidian.shenghuoquan.newscontent.databinding.ViewLifeAccountPersonalAu
* description: 商户管理中心-基本信息-生活号个人认证信息
*/
class LifeAccountPersonalAuthInfoView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyle: Int = 0
context: Context,
attrs: AttributeSet? = null,
defStyle: Int = 0
) : ConstraintLayout(context, attrs, defStyle) {
private val viewBinding by lazy {
ViewLifeAccountPersonalAuthInfoBinding.bind(
View.inflate(
getContext(),
R.layout.view_life_account_personal_auth_info,
this
)
)
}
private val viewBinding by lazy {
ViewLifeAccountPersonalAuthInfoBinding.bind(
View.inflate(
getContext(),
R.layout.view_life_account_personal_auth_info,
this
)
)
}
/**
* 填充认证信息
* @param occupation 职业
* @param realName 真实姓名
* @param idCardNo 身份证号
* @param phoneNo 手机号
*/
fun fillAuthInfo(occupation: String?, realName: String?, idCardNo: String?, phoneNo: String?) {
viewBinding.tvContentOccupationLabel.text = occupation
viewBinding.tvContentRealName.text = realName
viewBinding.tvContentIdCardNo.text = idCardNo
viewBinding.tvContentPhoneNo.text = phoneNo
}
}
\ No newline at end of file
/**
* 填充认证信息
* @param lifeAccountName 生活号名称
* @param occupation 职业
* @param realName 真实姓名
* @param idCardNo 身份证号
* @param phoneNo 手机号
*/
fun fillAuthInfo(lifeAccountName: String?, occupation: String?, realName: String?, idCardNo: String?, phoneNo: String?) {
viewBinding.tvLifeAccountName.text = lifeAccountName
viewBinding.tvContentOccupationLabel.text = occupation
viewBinding.tvContentRealName.text = realName
viewBinding.tvContentIdCardNo.text = idCardNo?.let { SensitiveInfoUtil.idCardNumEncrypt(it) }
viewBinding.tvContentPhoneNo.text = phoneNo?.let { SensitiveInfoUtil.mobileEncrypt(it) }
}
}
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