Commit 730bacd8 authored by shiyuelong's avatar shiyuelong
parents 1b771663 bdb623c7
......@@ -49,5 +49,7 @@ class XRouterPathConstants {
// 商户管理中心
const val MERCHANT_CENTER = "/merchantCenter"
// 商户基本信息
const val MERCHANT_INFO = "/merchantInfo"
}
}
......@@ -123,6 +123,10 @@
android:name=".ui.center.MerchantCenterActivity"
android:theme="@style/Transparent" />
<activity
android:name=".ui.center.MerchantInfoActivity"
android:theme="@style/Transparent" />
</application>
</manifest>
\ No newline at end of file
......@@ -15,6 +15,7 @@ import com.yidian.common.XRouterPathConstants.Companion.LIFE_ACCOUNT_PERSONAL_AU
import com.yidian.common.XRouterPathConstants.Companion.LIFE_ACCOUNT_PERSONAL_AUTH_COMPLETE
import com.yidian.common.XRouterPathConstants.Companion.LOGIN_LIFE_CIRCLE
import com.yidian.common.XRouterPathConstants.Companion.MERCHANT_CENTER
import com.yidian.common.XRouterPathConstants.Companion.MERCHANT_INFO
import com.yidian.common.XRouterPathConstants.Companion.NEWS_CONTENT
import com.yidian.common.XRouterPathConstants.Companion.NEWS_MAIN
import com.yidian.common.XRouterPathConstants.Companion.PERSONAL_ADD_STAFF
......@@ -35,6 +36,7 @@ import com.yidian.shenghuoquan.newscontent.service.*
import com.yidian.shenghuoquan.newscontent.ui.*
import com.yidian.shenghuoquan.newscontent.ui.auth.*
import com.yidian.shenghuoquan.newscontent.ui.center.MerchantCenterActivity
import com.yidian.shenghuoquan.newscontent.ui.center.MerchantInfoActivity
import com.yidian.shenghuoquan.newscontent.ui.idcard.IDCardTestActivity
import com.yidian.shenghuoquan.newscontent.ui.setting.SystemSettingActivity
import com.yidian.utils.DensityUtil
......@@ -337,6 +339,17 @@ class NewsContentApplication : YdBaseApplication() {
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
context.startActivity(intent)
}
}),
XPageNode(MERCHANT_INFO, XPageNodePageType.NATIVE, object : XPageHandler {
override fun handler(params: Map<String, Any?>?) {
val intent = Intent()
if (params != null) {
intent.putExtra(XRouterPathConstants.ParamsKey, params as HashMap)
}
intent.setClass(context, MerchantInfoActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
context.startActivity(intent)
}
})
)
)
......
......@@ -15,6 +15,11 @@ object Constant {
const val TYPE_AUTH_INDIVIDUAL_BUSINESS = 1 // 个体工商户
const val TYPE_AUTH_COMMON_ENTERPRISE = 2 // 普通企业
// 认证状态
const val STATUS_AUTH_NOT = 1 // 未认证
const val STATUS_AUTH_FINISH = 2 // 已认证
const val STATUS_AUTH_REJECT = 3 // 认证驳回
// 商户类型
const val ITEM_INDIVIDUAL_BUSINESSES = "个体工商户"
const val ITEM_COMMON_ENTERPRISE = "普通企业"
......
package com.yidian.shenghuoquan.newscontent.ui.center
import android.os.Bundle
import android.view.View
import androidx.core.view.isVisible
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.ActivityMerchantInfoBinding
import com.yidian.shenghuoquan.newscontent.http.httpbean.AccountItemBean
import com.yidian.shenghuoquan.newscontent.widget.MerchantInfoView
/**
* author: yinjiacheng
* date: 6/11/21 12:22 PM
* description: 商户基本信息
*/
class MerchantInfoActivity : BaseActivity<ActivityMerchantInfoBinding>(), View.OnClickListener,
MerchantInfoView.OnMerchantInfoViewListener {
companion object {
const val EXTRA_LIFE_ACCOUNT_INFO = "lifeAccountInfo"
}
override fun createViewBinding(): ActivityMerchantInfoBinding {
return ActivityMerchantInfoBinding.inflate(layoutInflater)
}
override fun getXPageName(): String {
return XRouterPathConstants.MERCHANT_INFO
}
override fun init(savedInstanceState: Bundle?) {
super.init(savedInstanceState)
initView()
initListener()
initData()
}
private fun initView() {
viewBind.viewCommonHeader.tvTitle.text = resources.getString(R.string.basic_info)
}
private fun initListener() {
viewBind.viewCommonHeader.ivBack.setOnClickListener(this)
}
private fun initData() {
val lifeAccountInfo =
intent.getSerializableExtra(XRouterPathConstants.ParamsKey)?.let { params ->
(params as HashMap<*, *>)[EXTRA_LIFE_ACCOUNT_INFO]?.let {
it as AccountItemBean.Response
}
}
// 生活号名称
viewBind.ivLifeAccountName.fillContent(lifeAccountInfo?.life_account_name)
viewBind.ivLifeAccountName.showDetailEntry()
// 生活号认证信息
when (lifeAccountInfo?.life_account_auth_status) {
Constant.STATUS_AUTH_NOT -> {
// 未认证
viewBind.ivLifeAccountAuth.fillContent(resources.getString(R.string.not_auth))
viewBind.ivLifeAccountAuth.showAuthEntry(MerchantInfoView.LifeAccountAuthStatus.NOT_AUTH)
}
Constant.STATUS_AUTH_FINISH -> {
// 已认证 判断认证类型
when (lifeAccountInfo.life_account_type) {
Constant.TYPE_AUTH_PERSONAL -> {
// 个人认证
viewBind.ivLifeAccountAuth.fillContent(resources.getString(R.string.personal_auth))
viewBind.ivLifeAccountAuth.showDetailEntry()
viewBind.ivLifeAccountAuthUpgrade.isVisible = true
viewBind.ivLifeAccountAuthUpgrade.showAuthEntry(MerchantInfoView.LifeAccountAuthStatus.UPGRADE_AUTH)
}
Constant.TYPE_AUTH_INDIVIDUAL_BUSINESS -> {
// 个体工商户认证
viewBind.ivLifeAccountAuth.fillContent(resources.getString(R.string.individual_business))
viewBind.ivLifeAccountAuth.showDetailEntry()
}
Constant.TYPE_AUTH_COMMON_ENTERPRISE -> {
// 普通企业认证
viewBind.ivLifeAccountAuth.fillContent(resources.getString(R.string.common_enterprise))
viewBind.ivLifeAccountAuth.showDetailEntry()
}
}
}
Constant.STATUS_AUTH_REJECT -> {
// 认证驳回
}
}
}
override fun onClick(v: View?) {
if (v?.id == R.id.iv_back) {
finish()
}
}
override fun onEnterDetail(from: MerchantInfoView) {
}
override fun onEnterAuth(from: MerchantInfoView) {
}
}
\ No newline at end of file
package com.yidian.shenghuoquan.newscontent.widget
import android.content.Context
import android.util.AttributeSet
import android.view.View
import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.view.isVisible
import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.databinding.ViewMerchantInfoBinding
/**
* author: yinjiacheng
* date: 6/11/21 1:15 PM
* description:
*/
class MerchantInfoView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyle: Int = 0
) : ConstraintLayout(context, attrs, defStyle), View.OnClickListener {
private val viewBinding by lazy {
ViewMerchantInfoBinding.bind(View.inflate(getContext(), R.layout.view_merchant_info, this))
}
private var listener: OnMerchantInfoViewListener? = null
init {
val typeArray = getContext().obtainStyledAttributes(attrs, R.styleable.MerchantInfoView)
viewBinding.tvTitle.text =
typeArray.getString(R.styleable.MerchantInfoView_MerchantInfoView_name_text)
typeArray.recycle()
}
/**
* 填充信息
*/
fun fillContent(content: String?) {
viewBinding.tvContent.text = content
}
/**
* 显示详情入口
* 修改生活号名称、查看认证信息
*/
fun showDetailEntry() {
viewBinding.ivNext.isVisible = true
}
/**
* 显示认证入口
* 未认证、升级认证、修改认证
*/
fun showAuthEntry(status: LifeAccountAuthStatus) {
viewBinding.tvAuth.isVisible = true
when (status) {
LifeAccountAuthStatus.NOT_AUTH -> {
viewBinding.tvAuth.text = resources.getText(R.string.immediate_auth)
viewBinding.tvAuth.setBackgroundResource(R.drawable.shape_bg_common_btn)
}
LifeAccountAuthStatus.UPGRADE_AUTH -> {
viewBinding.tvAuth.text = resources.getText(R.string.upgrade_enterprise_merchant)
viewBinding.tvAuth.setBackgroundResource(R.drawable.shape_bg_common_btn)
}
LifeAccountAuthStatus.MODIFY_AUTH -> {
viewBinding.tvAuth.text = resources.getText(R.string.upgrade_enterprise_merchant)
viewBinding.tvAuth.setBackgroundResource(R.drawable.shape_bg_modify_auth_btn)
}
}
}
override fun onClick(v: View?) {
when (v?.id) {
R.id.iv_next -> {
// 进入生活号名称修改页或认证详情页
listener?.onEnterDetail(this)
}
R.id.tv_auth -> {
// 进入认证流程
listener?.onEnterAuth(this)
}
}
}
fun setOnMerchantInfoViewListener(listener: OnMerchantInfoViewListener) {
this.listener = listener
}
interface OnMerchantInfoViewListener {
/**
* 进入详情
*/
fun onEnterDetail(from: MerchantInfoView)
/**
* 进入认证
*/
fun onEnterAuth(from: MerchantInfoView)
}
/**
* 生活号认证状态
*/
enum class LifeAccountAuthStatus {
// 未认证
NOT_AUTH,
// 升级认证
UPGRADE_AUTH,
// 修改认证
MODIFY_AUTH
}
}
\ No newline at end of file
......@@ -2,6 +2,8 @@
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/color_FFFFEEEE" />
<stroke
android:width="1dp"
android:color="@color/color_FFFF3A3A" />
......
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<include
android:id="@+id/view_common_header"
layout="@layout/layout_common_header" />
<com.yidian.shenghuoquan.newscontent.widget.MerchantInfoView
android:id="@+id/iv_life_account_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:MerchantInfoView_name_text="@string/life_account_name"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/view_common_header" />
<View
android:layout_width="match_parent"
android:layout_height="@dimen/dp1"
android:background="@color/color_FFF2F2F2"
android:layout_marginStart="@dimen/dp19"
android:layout_marginEnd="@dimen/dp19"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_life_account_name" />
<com.yidian.shenghuoquan.newscontent.widget.MerchantInfoView
android:id="@+id/iv_life_account_auth"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:MerchantInfoView_name_text="@string/life_account_auth_info"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_life_account_name" />
<com.yidian.shenghuoquan.newscontent.widget.MerchantInfoView
android:id="@+id/iv_life_account_auth_upgrade"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/dp10"
android:visibility="gone"
app:MerchantInfoView_name_text="@string/merchant_upgrade"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/iv_life_account_auth" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="@dimen/dp58"
android:paddingStart="@dimen/dp19"
android:paddingEnd="@dimen/dp12">
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:includeFontPadding="false"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp15"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/dp85"
android:includeFontPadding="false"
android:textColor="@color/color_333333"
android:textSize="@dimen/sp15"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ImageView
android:id="@+id/iv_next"
android:layout_width="@dimen/dp23"
android:layout_height="@dimen/dp23"
android:src="@mipmap/icon_next"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/tv_auth"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/dp7"
android:background="@drawable/shape_bg_common_btn"
android:includeFontPadding="false"
android:paddingStart="@dimen/dp12"
android:paddingTop="@dimen/dp6"
android:paddingEnd="@dimen/dp12"
android:paddingBottom="@dimen/dp5"
android:textColor="@color/color_FFFFFFFF"
android:textSize="@dimen/sp12"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
......@@ -20,4 +20,8 @@
<attr name="LifeAccountAuthImageView_place_holder_image" format="reference" />
</declare-styleable>
<declare-styleable name="MerchantInfoView">
<attr name="MerchantInfoView_name_text" format="string" />
</declare-styleable>
</resources>
\ No newline at end of file
......@@ -54,4 +54,5 @@
<color name="color_FFFF3A3A">#FFFF3A3A</color>
<color name="color_FF3693FF">#FF3693FF</color>
<color name="color_FF1751F1">#FF1751F1</color>
<color name="color_FFF2F2F2">#FFF2F2F2</color>
</resources>
\ No newline at end of file
......@@ -149,5 +149,11 @@
<string name="manager_register_tips">未注册生活圈的手机号,登录时将自动注册,且代表你已经同意《用户协议》《隐私政策》。</string>
<string name="dissolve_relationship">解除关系后此账号将不再有权限管理企业信息,账号已产生内容仍属企业</string>
<string name="setting">设置</string>
<string name="life_account_name">名称</string>
<string name="life_account_auth_info">认证信息</string>
<string name="merchant_upgrade">商户升级</string>
<string name="upgrade_enterprise_merchant">升级为企业商户</string>
<string name="immediate_auth">立刻认证</string>
<string name="basic_info">基本信息</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