Commit 391a2ef2 authored by yinjiacheng's avatar yinjiacheng

update 跳转商户管理中心页改为页内请求

parent 96a5c4f1
......@@ -61,6 +61,7 @@
android:theme="@style/Transparent" />
<activity
android:name="com.yidian.shenghuoquan.bmanagercenter.ui.center.MerchantCenterActivity"
android:launchMode="singleTask"
android:theme="@style/Transparent" />
<activity
android:name="com.yidian.shenghuoquan.bmanagercenter.ui.center.MerchantInfoActivity"
......
......@@ -253,7 +253,7 @@ class BManagerCenterApplication : YdBaseApplication() {
intent.putExtra(XRouterPathConstants.ParamsKey, params as HashMap)
}
intent.setClass(context, MerchantCenterActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
context.startActivity(intent)
}
}),
......
......@@ -66,10 +66,10 @@ object ManagerCenterConfig {
*/
fun getFunctionParamsMap(
data: GetCommonConfigBean.Data,
lifeAccount: LifeAccountItemBean.Response,
lifeAccount: LifeAccountItemBean.Response?,
client: ClientType
): HashMap<Int, HashMap<String, Any>>? {
if (data.merchantManagerCenter.items.isEmpty()) return null
if (data.merchantManagerCenter.items.isEmpty() || lifeAccount == null) return null
when (client) {
ClientType.MERCHANT_B -> {
return hashMapOf(
......
......@@ -10,7 +10,6 @@ import com.yidian.shenghuoquan.bmanagercenter.http.ApiService
import com.yidian.shenghuoquan.bmanagercenter.http.callback.IGetLifeAccountListCallback
import com.yidian.shenghuoquan.bmanagercenter.ui.auth.LifeAccountAuthDataManagerV2
import com.yidian.shenghuoquan.bmanagercenter.ui.auth.LifeAccountIdentityActivity
import com.yidian.shenghuoquan.bmanagercenter.ui.center.MerchantCenterActivity
import com.yidian.xarc.xrouter.ResultResolver
import com.yidian.xpage.XPageManager
import com.yidian.yac.core.zap.ZapService
......@@ -59,13 +58,7 @@ class LifeNumberListService : ZapService() {
// 此处处理用户已经关联一个生活号但本地无存储/app数据被清除的情况
StorageUtil.putLifeAccountId(result[0].life_account_id)
// 关联一个生活号 进入商户管理中心
XPageManager.push(
XRouterPathConstants.MERCHANT_CENTER,
hashMapOf(
Pair(MerchantCenterActivity.EXTRA_LIFE_ACCOUNT_INFO, result[0]),
Pair(MerchantCenterActivity.EXTRA_IS_MULTI, false)
)
)
XPageManager.push(XRouterPathConstants.MERCHANT_CENTER, null)
}
else -> {
// 关联多个生活号
......@@ -73,13 +66,7 @@ class LifeNumberListService : ZapService() {
// 如果本地有上次操作的生活号则遍历生活号列表进入对应生活号的管理中心
result?.forEach {
if (it.life_account_id == this) {
XPageManager.push(
XRouterPathConstants.MERCHANT_CENTER,
hashMapOf(
Pair(MerchantCenterActivity.EXTRA_LIFE_ACCOUNT_INFO, it),
Pair(MerchantCenterActivity.EXTRA_IS_MULTI, result.size > 1)
)
)
XPageManager.push(XRouterPathConstants.MERCHANT_CENTER, null)
}
}
} ?: let {
......
......@@ -3,15 +3,14 @@ package com.yidian.shenghuoquan.bmanagercenter.ui.auth
import android.os.Bundle
import android.view.View
import com.orhanobut.hawk.Hawk
import com.yidian.bcommon.base.BaseActivity
import com.yidian.bcommon.bean.LifeAccountItemBean
import com.yidian.bcommon.constant.HawkConfig
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.bcommon.base.BaseActivity
import com.yidian.shenghuoquan.bmanagercenter.R
import com.yidian.shenghuoquan.bmanagercenter.databinding.ActivityLifeAccountCreateCompleteBinding
import com.yidian.shenghuoquan.bmanagercenter.http.ApiService
import com.yidian.shenghuoquan.bmanagercenter.http.callback.IGetLifeAccountListCallback
import com.yidian.bcommon.bean.LifeAccountItemBean
import com.yidian.shenghuoquan.bmanagercenter.ui.center.MerchantCenterActivity
import com.yidian.xpage.XPageManager
/**
......@@ -73,13 +72,7 @@ class LifeAccountCreateCompleteActivity : BaseActivity<ActivityLifeAccountCreate
val curLifeAccountId = params?.get(EXTRA_LIFE_ACCOUNT_ID)?.let { it as String }
result?.forEach {
if (it.life_account_id == curLifeAccountId) {
XPageManager.push(
XRouterPathConstants.MERCHANT_CENTER,
hashMapOf(
Pair(MerchantCenterActivity.EXTRA_IS_MULTI, result.size > 1),
Pair(MerchantCenterActivity.EXTRA_LIFE_ACCOUNT_INFO, it)
)
)
XPageManager.push(XRouterPathConstants.MERCHANT_CENTER, null)
XPageManager.pop(null)
}
}
......
......@@ -2,14 +2,13 @@ package com.yidian.shenghuoquan.bmanagercenter.ui.auth
import android.os.Bundle
import android.view.View
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.bcommon.base.BaseActivity
import com.yidian.bcommon.bean.LifeAccountItemBean
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.shenghuoquan.bmanagercenter.R
import com.yidian.shenghuoquan.bmanagercenter.databinding.ActivityLifeAccountEnterpriseAuthCompleteBinding
import com.yidian.shenghuoquan.bmanagercenter.http.ApiService
import com.yidian.shenghuoquan.bmanagercenter.http.callback.IGetLifeAccountListCallback
import com.yidian.bcommon.bean.LifeAccountItemBean
import com.yidian.shenghuoquan.bmanagercenter.ui.center.MerchantCenterActivity
import com.yidian.xpage.XPageManager
/**
......@@ -108,13 +107,7 @@ class LifeAccountEnterpriseAuthCompleteActivity :
val curLifeAccountId = params?.get(EXTRA_LIFE_ACCOUNT_ID)
result?.forEach {
if (it.life_account_id == curLifeAccountId) {
XPageManager.push(
XRouterPathConstants.MERCHANT_CENTER,
hashMapOf(
Pair(MerchantCenterActivity.EXTRA_IS_MULTI, result.size > 1),
Pair(MerchantCenterActivity.EXTRA_LIFE_ACCOUNT_INFO, it)
)
)
XPageManager.push(XRouterPathConstants.MERCHANT_CENTER, null)
XPageManager.pop(null)
}
}
......
......@@ -4,14 +4,13 @@ import android.os.Bundle
import android.view.View
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.bcommon.base.BaseActivity
import com.yidian.bcommon.bean.LifeAccountItemBean
import com.yidian.bcommon.cardutils.adapter.OnItemClickListener
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.shenghuoquan.bmanagercenter.adapter.LifeAccountIdentityAdapter
import com.yidian.shenghuoquan.bmanagercenter.databinding.ActivityLifeAccountIdentityBinding
import com.yidian.bcommon.bean.LifeAccountItemBean
import com.yidian.shenghuoquan.bmanagercenter.ui.center.MerchantCenterActivity
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.xpage.XPageManager
/**
......@@ -75,13 +74,7 @@ class LifeAccountIdentityActivity : BaseActivity<ActivityLifeAccountIdentityBind
viewBind.tvEnterLifeAccount.setOnClickListener {
StorageUtil.putLifeAccountId(curSelectedItem.life_account_id)
// 进入商户管理中心页
XPageManager.push(
XRouterPathConstants.MERCHANT_CENTER,
hashMapOf(
Pair(MerchantCenterActivity.EXTRA_LIFE_ACCOUNT_INFO, curSelectedItem),
Pair(MerchantCenterActivity.EXTRA_IS_MULTI, true)
)
)
XPageManager.push(XRouterPathConstants.MERCHANT_CENTER, null)
XPageManager.pop(null)
}
}
......
......@@ -2,14 +2,13 @@ package com.yidian.shenghuoquan.bmanagercenter.ui.auth
import android.os.Bundle
import android.view.View
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.bcommon.base.BaseActivity
import com.yidian.bcommon.bean.LifeAccountItemBean
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.shenghuoquan.bmanagercenter.R
import com.yidian.shenghuoquan.bmanagercenter.databinding.ActivityLifeAccountPersonalAuthCompleteBinding
import com.yidian.shenghuoquan.bmanagercenter.http.ApiService
import com.yidian.shenghuoquan.bmanagercenter.http.callback.IGetLifeAccountListCallback
import com.yidian.bcommon.bean.LifeAccountItemBean
import com.yidian.shenghuoquan.bmanagercenter.ui.center.MerchantCenterActivity
import com.yidian.xpage.XPageManager
/**
......@@ -76,13 +75,7 @@ class LifeAccountPersonalAuthCompleteActivity :
// 生活号列表请求成功 跳转商户管理中心
result?.forEach {
if (it.life_account_id == params?.get(EXTRA_LIFE_ACCOUNT_ID)) {
XPageManager.push(
XRouterPathConstants.MERCHANT_CENTER,
hashMapOf(
Pair(MerchantCenterActivity.EXTRA_IS_MULTI, result.size > 1),
Pair(MerchantCenterActivity.EXTRA_LIFE_ACCOUNT_INFO, it)
)
)
XPageManager.push(XRouterPathConstants.MERCHANT_CENTER, null)
XPageManager.pop(null)
}
}
......
......@@ -55,19 +55,13 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
OnRefreshListener, DialogInterface.OnShowListener, DialogInterface.OnDismissListener, IGetCommonConfigCallback {
companion object {
// 传递的生活号信息
const val EXTRA_LIFE_ACCOUNT_INFO = "lifeAccountInfo"
// 是否有多个生活号
const val EXTRA_IS_MULTI = "isMulti"
const val PARAMS_LIFE_ACCOUNT_ID = "life_account_id"
}
/**
* 当前生活号
*/
private lateinit var curLifeAccount: LifeAccountItemBean.Response
private var curLifeAccount: LifeAccountItemBean.Response? = null
/**
* 功能入口-页面路由映射
......@@ -133,10 +127,6 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
}
private fun initData() {
val params = intent.getSerializableExtra(XRouterPathConstants.ParamsKey)?.let { it as HashMap<*, *> }
// 切换主体入口是否展示判断
viewBind.bvTopBar.setActionVisibility(params?.get(EXTRA_IS_MULTI)?.let { it as Boolean } ?: false)
curLifeAccount = params?.get(EXTRA_LIFE_ACCOUNT_INFO)?.let { it as LifeAccountItemBean.Response } ?: return
viewBind.rlRefresh.autoRefresh()
}
......@@ -209,13 +199,13 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
val group = next()
if (group.groupId == Constant.MERCHANT_SERVICE_GROUP_MANAGEMENT) {
// 个人认证或企业员工不展示管理服务
if (getCurLifeAccountLabel() == Constant.LIFE_ACCOUNT_TAG_PERSONAL_AUTH || curLifeAccount.role_type == Constant.TYPE_ROLE_ORDINARY) {
if (getCurLifeAccountLabel() == Constant.LIFE_ACCOUNT_TAG_PERSONAL_AUTH || curLifeAccount?.role_type == Constant.TYPE_ROLE_ORDINARY) {
remove()
}
}
if (group.groupId == Constant.MERCHANT_SERVICE_GROUP_OTHER) {
// 企业员工不展示其他服务-认证管理
if (curLifeAccount.role_type == Constant.TYPE_ROLE_ORDINARY) {
if (curLifeAccount?.role_type == Constant.TYPE_ROLE_ORDINARY) {
(group.functions as ArrayList<GetCommonConfigBean.Function>).iterator().apply {
while (hasNext()) {
val function = next()
......@@ -236,13 +226,13 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
* 目前不支持区分个体工商户和普通企业
*/
private fun getCurLifeAccountLabel(): Int {
when (curLifeAccount.enterprise_audit_status) {
when (curLifeAccount?.enterprise_audit_status) {
Constant.STATUS_AUDIT_UNDER -> return Constant.LIFE_ACCOUNT_TAG_AUDIT_UNDER // 审核中
Constant.STATUS_AUDIT_REJECT -> return Constant.LIFE_ACCOUNT_TAG_AUTH_REJECT // 认证驳回
}
when (curLifeAccount.life_account_auth_status) {
when (curLifeAccount?.life_account_auth_status) {
Constant.STATUS_AUTH_FINISH -> {
when (curLifeAccount.life_account_type) {
when (curLifeAccount?.life_account_type) {
Constant.TYPE_LIFE_ACCOUNT_PERSONAL -> return Constant.LIFE_ACCOUNT_TAG_PERSONAL_AUTH // 个人已认证
Constant.TYPE_LIFE_ACCOUNT_ENTERPRISE -> return Constant.TYPE_LIFE_ACCOUNT_ENTERPRISE // 企业已认证
}
......@@ -268,14 +258,14 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
XRouterPathConstants.LIFE_ACCOUNT_AUTH,
hashMapOf(
Pair(LifeAccountAuthActivity.EXTRA_PAGE_FROM, LifeAccountAuthActivity.FROM_AUTH),
Pair(LifeAccountAuthActivity.EXTRA_LIFE_ACCOUNT_ID, curLifeAccount.life_account_id)
Pair(LifeAccountAuthActivity.EXTRA_LIFE_ACCOUNT_ID, curLifeAccount?.life_account_id)
)
)
}
override fun onModifyEnterpriseAuth() {
// 修改企业认证 先请求企业认证信息
ApiService.authMerchantCheck(this, hashMapOf(Pair(PARAMS_LIFE_ACCOUNT_ID, curLifeAccount.life_account_id)))
ApiService.authMerchantCheck(this, hashMapOf(Pair(PARAMS_LIFE_ACCOUNT_ID, curLifeAccount?.life_account_id)))
}
override fun authMerchantCheckSuccess(result: AuthMerchantCheckBean.Response?) {
......@@ -285,10 +275,13 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
hashMapOf(
Pair(
LifeAccountEnterpriseAuthActivity.EXTRA_LIFE_ACCOUNT_ID,
curLifeAccount.life_account_id
curLifeAccount?.life_account_id
),
Pair(LifeAccountEnterpriseAuthActivity.EXTRA_AUTH_DATA, result),
Pair(LifeAccountEnterpriseAuthActivity.EXTRA_IS_AUTH_MODIFY, curLifeAccount.enterprise_audit_status == Constant.STATUS_AUDIT_REJECT)
Pair(
LifeAccountEnterpriseAuthActivity.EXTRA_IS_AUTH_MODIFY,
curLifeAccount?.enterprise_audit_status == Constant.STATUS_AUDIT_REJECT
)
)
)
}
......@@ -304,7 +297,7 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
functionPageMap[data.functionId]?.let { XPageManager.push(it, functionParamsMap[data.functionId]) }
} else {
// 若当前功能无权限 根据生活号类型做弹窗提示
if (curLifeAccount.enterprise_audit_status == Constant.STATUS_AUDIT_UNDER) {
if (curLifeAccount?.enterprise_audit_status == Constant.STATUS_AUDIT_UNDER) {
// 审核中 提示加急审核
HintDialog(
this,
......@@ -313,7 +306,7 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
).setRightBtnColor(ContextCompat.getColor(this, R.color.color_FF1852F1)).show()
return
}
if (curLifeAccount.enterprise_audit_status == Constant.STATUS_AUDIT_REJECT) {
if (curLifeAccount?.enterprise_audit_status == Constant.STATUS_AUDIT_REJECT) {
// 审核驳回 提示修改认证
HintDialog(
this,
......@@ -328,14 +321,14 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
// 认证修改 请求商户认证检查
ApiService.authMerchantCheck(
this@MerchantCenterActivity,
hashMapOf(Pair(LifeAccountEnterpriseAuthActivity.EXTRA_LIFE_ACCOUNT_ID, curLifeAccount.life_account_id))
hashMapOf(Pair(LifeAccountEnterpriseAuthActivity.EXTRA_LIFE_ACCOUNT_ID, curLifeAccount?.life_account_id))
)
}
}).setRightBtnColor(ContextCompat.getColor(this, R.color.color_FFFF3A3A)).show()
return
}
if (curLifeAccount.life_account_type == Constant.TYPE_LIFE_ACCOUNT_PERSONAL && curLifeAccount.life_account_auth_status == Constant.STATUS_AUTH_NOT) {
if (curLifeAccount?.life_account_type == Constant.TYPE_LIFE_ACCOUNT_PERSONAL && curLifeAccount?.life_account_auth_status == Constant.STATUS_AUTH_NOT) {
// 未认证 提示认证 此处企业审核中也满足此条件但前面审核状态判断已拦截
HintDialog(
this,
......@@ -352,7 +345,7 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
XRouterPathConstants.LIFE_ACCOUNT_AUTH,
hashMapOf(
Pair(LifeAccountAuthActivity.EXTRA_PAGE_FROM, LifeAccountAuthActivity.FROM_AUTH),
Pair(LifeAccountAuthActivity.EXTRA_LIFE_ACCOUNT_ID, curLifeAccount.life_account_id)
Pair(LifeAccountAuthActivity.EXTRA_LIFE_ACCOUNT_ID, curLifeAccount?.life_account_id)
)
)
}
......@@ -360,7 +353,7 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
}).setRightBtnColor(ContextCompat.getColor(this, R.color.color_FF1852F1)).show()
return
}
if (curLifeAccount.life_account_type == Constant.TYPE_LIFE_ACCOUNT_PERSONAL) {
if (curLifeAccount?.life_account_type == Constant.TYPE_LIFE_ACCOUNT_PERSONAL) {
// 个人认证 提示认证升级
HintDialog(
this,
......@@ -375,7 +368,7 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
// 认证升级 请求商户认证检查
ApiService.authMerchantCheck(
this@MerchantCenterActivity,
hashMapOf(Pair(LifeAccountEnterpriseAuthActivity.EXTRA_LIFE_ACCOUNT_ID, curLifeAccount.life_account_id))
hashMapOf(Pair(LifeAccountEnterpriseAuthActivity.EXTRA_LIFE_ACCOUNT_ID, curLifeAccount?.life_account_id))
)
}
......@@ -390,7 +383,8 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
override fun getLifeAccountListSuccess(result: ArrayList<LifeAccountItemBean.Response>?) {
// 生活号列表请求成功 弹出切换主体弹窗
result?.let {
val dialog = MerchantSwitchDialog(this@MerchantCenterActivity, curLifeAccount.life_account_id, it, this@MerchantCenterActivity)
val dialog =
MerchantSwitchDialog(this@MerchantCenterActivity, curLifeAccount?.life_account_id ?: "", it, this@MerchantCenterActivity)
dialog.setOnShowListener(this@MerchantCenterActivity)
dialog.setOnDismissListener(this@MerchantCenterActivity)
dialog.show()
......@@ -452,23 +446,24 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
requestLogout()
return
}
if (lifeAccountResult?.contains(curLifeAccount) == false) {
lifeAccountResult?.let {
// 切换主体入口是否展示判断
viewBind.bvTopBar.setActionVisibility(it.size > 1)
}
val lifeAccountIdList = lifeAccountResult?.map { it.life_account_id }
val curLifeAccountId = StorageUtil.getLifeAccountId()
if (lifeAccountIdList?.contains(curLifeAccountId) == false) {
// 当前选择的生活号已不存在则切换第一个生活号 目前为企业员工被解除关系会触发
// C端开店赚钱生成未认证生活号进入管理中心会触发 curLifeAccountId为null
curLifeAccount = lifeAccountResult[0]
// 更新本地存储的生活号id
StorageUtil.putLifeAccountId(lifeAccountResult[0].life_account_id)
// 刷新数据
configResult?.data?.let { refreshMerchantCenterData(lifeAccountResult[0], it) }
// 切换主体入口是否展示判断
viewBind.bvTopBar.setActionVisibility(lifeAccountResult.size > 1)
return
}
lifeAccountResult?.let {
// 切换主体入口是否展示判断
viewBind.bvTopBar.setActionVisibility(it.size > 1)
}
lifeAccountResult?.forEach {
if (curLifeAccount.life_account_id == it.life_account_id) {
if (curLifeAccountId == it.life_account_id) {
curLifeAccount = it
// 刷新数据
configResult?.let { configData -> refreshMerchantCenterData(it, configData.data) }
......
......@@ -61,6 +61,7 @@
android:theme="@style/Transparent" />
<activity
android:name=".ui.center.MerchantCenterActivity"
android:launchMode="singleTask"
android:theme="@style/Transparent" />
<activity
android:name=".ui.center.MerchantInfoActivity"
......
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