Commit cb83af78 authored by yinjiacheng's avatar yinjiacheng

update 生活号id统一由LifeAccountManager管理

parent 52aeafd0
......@@ -54,5 +54,14 @@ class ZapServiceActionConstants {
// C端初始化
const val ActionClintCInit = "clientCInit"
// 获取生活号id
const val ActionGetLifeAccountId = "getLifeAccountId"
// 保存生活号id
const val ActionSaveLifeAccountId = "saveLifeAccountId"
// 清空生活号id
const val ActionDeleteLifeAccountId = "deleteLifeAccountId"
}
}
......@@ -30,6 +30,9 @@ class ZapServiceNameConstants {
// C端客户端信息服务
const val ClientInfoService = "cClientInfoService"
// BManagerCenter组件中生活号管理服务
const val LifeAccountManagerService = "LifeAccountManagerService"
}
}
package com.yidian.bcommon.utils
import com.orhanobut.hawk.Hawk
import com.yidian.bcommon.constant.HawkConfig
/**
* author: yinjiacheng
* date: 6/17/21 4:16 PM
* description: 统一管理Hawk存储
*/
object StorageUtil {
/**
* 存储生活号id
*/
fun putLifeAccountId(lifeAccountId: String?) {
Hawk.put(HawkConfig.LifeAccountId, lifeAccountId ?: "")
}
/**
* 获取生活号id
*/
fun getLifeAccountId(): String? {
return Hawk.get(HawkConfig.LifeAccountId, null)
}
/**
* 删除生活号id
*/
fun deleteLifeAccountId() {
Hawk.delete(HawkConfig.LifeAccountId)
}
}
......@@ -30,6 +30,7 @@ import com.yidian.bcommon.services.ZapServiceNameConstants
import com.yidian.news.util.ProcessUtil
import com.yidian.nightmode.util.NightModeUtil
import com.yidian.shenghuoquan.bmanagercenter.personnel.ui.*
import com.yidian.shenghuoquan.bmanagercenter.service.LifeAccountManagerService
import com.yidian.shenghuoquan.bmanagercenter.service.LifeNumberListService
import com.yidian.shenghuoquan.bmanagercenter.service.SelectStoreService
import com.yidian.shenghuoquan.bmanagercenter.ui.auth.*
......@@ -382,6 +383,7 @@ class BManagerCenterApplication : YdBaseApplication() {
private fun initService() {
Zap.addService(ZapServiceNameConstants.LifeNumberListService, LifeNumberListService())
Zap.addService(SelectStoreService.serviceName, SelectStoreService())
Zap.addService(ZapServiceNameConstants.LifeAccountManagerService, LifeAccountManagerService())
}
}
package com.yidian.shenghuoquan.bmanagercenter.manager
import com.orhanobut.hawk.Hawk
import com.yidian.bcommon.constant.HawkConfig
import com.yidian.shenghuoquan.bmanagercenter.constant.Constant
/**
......@@ -25,6 +27,27 @@ object LifeAccountManager {
}
}
/**
* 获取生活号id
*/
fun getLifeAccountId(): String? {
return Hawk.get(HawkConfig.LifeAccountId, null)
}
/**
* 保存生活号id
*/
fun saveLifeAccountId(lifeAccountId: String?) {
Hawk.put(HawkConfig.LifeAccountId, lifeAccountId ?: "")
}
/**
* 删除生活号id
*/
fun deleteLifeAccountId() {
Hawk.delete(HawkConfig.LifeAccountId)
}
/**
* 生活号Tag
* @param tagKey 唯一标识
......
......@@ -28,9 +28,9 @@ import com.yidian.shenghuoquan.bmanagercenter.personnel.http.callback.IPersonalC
import com.yidian.shenghuoquan.bmanagercenter.personnel.http.callback.IPersonalCheckSmsCodeCallBack
import com.yidian.bcommon.widget.dialog.HintDialog
import com.yidian.bcommon.utils.CountDownTimerUtils
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.bcommon.utils.TextWatcherAdapter
import com.yidian.bcommon.webview.PublicWebViewActivity
import com.yidian.shenghuoquan.bmanagercenter.manager.LifeAccountManager
import com.yidian.utils.ToastUtil
import com.yidian.xpage.XPageManager
import com.yidian.yac.core.zap.ZapTicket
......@@ -169,7 +169,7 @@ class ManagerChangeActivity : BaseActivity<ActivityManagerChangeBinding>() {
val paramsMap = HashMap<String, String?>()
paramsMap["mobile"] = managerNewMobile.replace(" ", "")
paramsMap["code"] = code
paramsMap["life_account_id"] = StorageUtil.getLifeAccountId()
paramsMap["life_account_id"] = LifeAccountManager.getLifeAccountId()
PersonalRemoteDataSource.getChangeManager(getChangeAccountCallBack, paramsMap)
}
......
......@@ -15,7 +15,7 @@ import com.yidian.shenghuoquan.bmanagercenter.personnel.bean.AccountListDto
import com.yidian.shenghuoquan.bmanagercenter.personnel.bean.AccountUser
import com.yidian.shenghuoquan.bmanagercenter.personnel.http.callback.IPersonalAccountListCallback
import com.yidian.shenghuoquan.bmanagercenter.personnel.http.PersonalRemoteDataSource
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.shenghuoquan.bmanagercenter.manager.LifeAccountManager
import com.yidian.xpage.XPageManager
/**
......@@ -47,7 +47,7 @@ class MyStaffActivity : BaseActivity<ActivityMyStaffBinding>(), IPersonalAccount
}
private fun requestAccountList() {
val lifeAccountId = StorageUtil.getLifeAccountId()
val lifeAccountId = LifeAccountManager.getLifeAccountId()
if (!lifeAccountId.isNullOrBlank()) {
val paramsMap = HashMap<String, String?>()
paramsMap["life_account_id"] = lifeAccountId
......
......@@ -15,7 +15,7 @@ import com.yidian.shenghuoquan.bmanagercenter.personnel.http.PersonalRemoteDataS
import com.yidian.shenghuoquan.bmanagercenter.personnel.http.callback.IPersonalDissolveCallBack
import com.yidian.bcommon.widget.dialog.HintDialog
import com.yidian.bcommon.utils.SensitiveInfoUtil
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.shenghuoquan.bmanagercenter.manager.LifeAccountManager
import com.yidian.xpage.XPageManager
/**
......@@ -95,7 +95,7 @@ class StaffManageActivity : BaseActivity<ActivityStaffManageBinding>() {
private fun requestDissolve() {
val paramsMap = HashMap<String, String?>()
paramsMap["delete_user_id"] = currentUserId.toString()
paramsMap["life_account_id"] = StorageUtil.getLifeAccountId()
paramsMap["life_account_id"] = LifeAccountManager.getLifeAccountId()
PersonalRemoteDataSource.getDissolveRelationship(getDissolveCallBack, paramsMap)
}
......
package com.yidian.shenghuoquan.bmanagercenter.service
import com.yidian.bcommon.services.ZapServiceActionConstants
import com.yidian.shenghuoquan.bmanagercenter.manager.LifeAccountManager
import com.yidian.xarc.xrouter.ResultResolver
import com.yidian.yac.core.zap.ZapService
import org.json.JSONObject
/**
* author: yinjiacheng
* date: 2021/8/19 08:44
* description: 生活号管理服务
*/
class LifeAccountManagerService : ZapService() {
override fun onAction(path: String, action: String, params: Any, options: Any, resolver: ResultResolver) {
when (action) {
// 获取生活号id
ZapServiceActionConstants.ActionGetLifeAccountId -> {
resolver.success(JSONObject().put("lifeAccountId", LifeAccountManager.getLifeAccountId()))
}
// 保存生活号id
ZapServiceActionConstants.ActionSaveLifeAccountId -> {
LifeAccountManager.saveLifeAccountId((params as JSONObject).optString("lifeAccountId"))
}
// 清空生活号id
ZapServiceActionConstants.ActionDeleteLifeAccountId -> {
LifeAccountManager.deleteLifeAccountId()
}
}
}
override fun onExit() {
}
override fun onInit() {
}
}
......@@ -4,10 +4,10 @@ import com.yidian.bcommon.bean.LifeAccountItemBean
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.bcommon.services.AppUpgradeService
import com.yidian.bcommon.services.ZapServiceActionConstants
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.bcommon.utils.ToastUtils
import com.yidian.shenghuoquan.bmanagercenter.http.ApiService
import com.yidian.shenghuoquan.bmanagercenter.http.callback.IGetLifeAccountListCallback
import com.yidian.shenghuoquan.bmanagercenter.manager.LifeAccountManager
import com.yidian.shenghuoquan.bmanagercenter.ui.auth.LifeAccountAuthDataManagerV2
import com.yidian.shenghuoquan.bmanagercenter.ui.auth.LifeAccountIdentityActivity
import com.yidian.xarc.xrouter.ResultResolver
......@@ -56,13 +56,13 @@ class LifeNumberListService : ZapService() {
}
1 -> {
// 此处处理用户已经关联一个生活号但本地无存储/app数据被清除的情况
StorageUtil.putLifeAccountId(result[0].life_account_id)
LifeAccountManager.saveLifeAccountId(result[0].life_account_id)
// 关联一个生活号 进入商户管理中心
XPageManager.push(XRouterPathConstants.MERCHANT_CENTER, null)
}
else -> {
// 关联多个生活号
StorageUtil.getLifeAccountId()?.apply {
LifeAccountManager.getLifeAccountId()?.apply {
// 如果本地有上次操作的生活号则遍历生活号列表进入对应生活号的管理中心
result?.forEach {
if (it.life_account_id == this) {
......
......@@ -19,7 +19,7 @@ import com.yidian.shenghuoquan.bmanagercenter.http.httpbean.AuthEnterpriseLegalI
import com.yidian.shenghuoquan.bmanagercenter.http.httpbean.AuthIndividualBusinessCompleteBean
import com.yidian.shenghuoquan.bmanagercenter.http.httpbean.AuthMerchantCheckBean
import com.yidian.shenghuoquan.bmanagercenter.ui.dialog.BottomSelectDialog
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.shenghuoquan.bmanagercenter.manager.LifeAccountManager
import com.yidian.shenghuoquan.bmanagercenter.widget.CommonTopBarView
import com.yidian.shenghuoquan.bmanagercenter.widget.LifeAccountAuthProcessView
import com.yidian.xpage.XPageManager
......@@ -345,7 +345,7 @@ class LifeAccountEnterpriseAuthActivity : BaseActivity<ActivityLifeAccountEnterp
override fun authEnterpriseLegalIdentityCommitSuccess(result: AuthEnterpriseLegalIdentityCommitBean.Response?) {
// 本地保存生活号id
StorageUtil.putLifeAccountId(result?.life_account_id)
LifeAccountManager.saveLifeAccountId(result?.life_account_id)
// 清空认证数据
clearLifeAccountAuthData()
// 普通企业法人身份信息提交成功
......@@ -369,7 +369,7 @@ class LifeAccountEnterpriseAuthActivity : BaseActivity<ActivityLifeAccountEnterp
override fun authIndividualBusinessCompleteSuccess(result: AuthIndividualBusinessCompleteBean.Response?) {
// 本地保存生活号id
StorageUtil.putLifeAccountId(result?.life_account_id)
LifeAccountManager.saveLifeAccountId(result?.life_account_id)
// 清空认证数据
clearLifeAccountAuthData()
// 个体工商户认证完成
......
......@@ -8,9 +8,9 @@ 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.shenghuoquan.bmanagercenter.manager.LifeAccountManager
import com.yidian.xpage.XPageManager
/**
......@@ -72,7 +72,7 @@ class LifeAccountIdentityActivity : BaseActivity<ActivityLifeAccountIdentityBind
XPageManager.pop(null)
}
viewBind.tvEnterLifeAccount.setOnClickListener {
StorageUtil.putLifeAccountId(curSelectedItem.life_account_id)
LifeAccountManager.saveLifeAccountId(curSelectedItem.life_account_id)
// 进入商户管理中心页
XPageManager.push(XRouterPathConstants.MERCHANT_CENTER, null)
XPageManager.pop(null)
......
......@@ -13,7 +13,6 @@ import com.yidian.bcommon.sdk.ClientType
import com.yidian.bcommon.sdk.JudgeClientUtils
import com.yidian.bcommon.services.ZapServiceActionConstants
import com.yidian.bcommon.services.ZapServiceNameConstants
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.bcommon.widget.dialog.HintDialog
import com.yidian.shenghuoquan.bmanagercenter.R
import com.yidian.shenghuoquan.bmanagercenter.databinding.ActivityLifeAccountPersonalAuthBinding
......@@ -21,6 +20,7 @@ import com.yidian.shenghuoquan.bmanagercenter.http.ApiService
import com.yidian.shenghuoquan.bmanagercenter.http.callback.IAuthPersonalCompleteCallback
import com.yidian.shenghuoquan.bmanagercenter.http.httpbean.AuthAuthenticationBean
import com.yidian.shenghuoquan.bmanagercenter.http.httpbean.AuthPersonalCompleteBean
import com.yidian.shenghuoquan.bmanagercenter.manager.LifeAccountManager
import com.yidian.shenghuoquan.bmanagercenter.widget.CommonTopBarView
import com.yidian.xarc.xevent.XBaseEvent
import com.yidian.xarc.xevent.XEventManager
......@@ -166,7 +166,7 @@ class LifeAccountPersonalAuthActivity :
override fun authPersonalCompleteSuccess(result: AuthPersonalCompleteBean.Response?) {
// 本地保存生活号id
StorageUtil.putLifeAccountId(result?.life_account_id)
LifeAccountManager.saveLifeAccountId(result?.life_account_id)
// 清空认证数据
clearLifeAccountAuthData()
// 跳转个人认证成功页
......
......@@ -4,7 +4,6 @@ import android.app.Activity
import android.os.Bundle
import com.yidian.bcommon.constant.IntentConstants
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.shenghuoquan.bmanagercenter.http.ApiService
import com.yidian.shenghuoquan.bmanagercenter.http.callback.IAuthMerchantCheckCallback
import com.yidian.shenghuoquan.bmanagercenter.http.callback.IGetLifeAccountInfoByIdCallback
......@@ -34,8 +33,8 @@ class MerchantAuthManagementActivity : Activity(), XPageViewProtocol, IGetLifeAc
intent.getSerializableExtra(XRouterPathConstants.ParamsKey)?.let { serializable ->
(serializable as HashMap<*, *>)[IntentConstants.KEY_EXTRA_LIFE_ACCOUNT_ID]?.let {
it as String
} ?: StorageUtil.getLifeAccountId()
} ?: StorageUtil.getLifeAccountId()
} ?: LifeAccountManager.getLifeAccountId()
} ?: LifeAccountManager.getLifeAccountId()
}
override fun onCreate(savedInstanceState: Bundle?) {
......
......@@ -17,7 +17,6 @@ import com.yidian.bcommon.sdk.ClientType
import com.yidian.bcommon.sdk.JudgeClientUtils
import com.yidian.bcommon.services.ZapServiceActionConstants
import com.yidian.bcommon.services.ZapServiceNameConstants
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.bcommon.widget.CommonHintDialog
import com.yidian.shenghuoquan.bmanagercenter.R
import com.yidian.shenghuoquan.bmanagercenter.adapter.MerchantServiceFunctionAdapter
......@@ -384,13 +383,13 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
viewBind.bvTopBar.setActionVisibility(it.size > 1)
}
val lifeAccountIdList = lifeAccountResult?.map { it.life_account_id }
val curLifeAccountId = StorageUtil.getLifeAccountId()
val curLifeAccountId = LifeAccountManager.getLifeAccountId()
if (lifeAccountIdList?.contains(curLifeAccountId) == false) {
// 当前选择的生活号已不存在则切换第一个生活号 目前为企业员工被解除关系会触发
// C端开店赚钱生成未认证生活号进入管理中心会触发 curLifeAccountId为null且生活号列表只有一条数据
curLifeAccount = lifeAccountResult[0]
// 更新本地存储的生活号id
StorageUtil.putLifeAccountId(lifeAccountResult[0].life_account_id)
LifeAccountManager.saveLifeAccountId(lifeAccountResult[0].life_account_id)
// 刷新数据
configResult?.data?.let { refreshMerchantCenterData(lifeAccountResult[0], it) }
// C端开店赚钱直接跳转认证首页
......
......@@ -6,7 +6,6 @@ import com.yidian.bcommon.base.BaseActivity
import com.yidian.bcommon.constant.IntentConstants
import com.yidian.bcommon.constant.XEventConfig
import com.yidian.bcommon.constant.XRouterPathConstants
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.shenghuoquan.bmanagercenter.R
import com.yidian.shenghuoquan.bmanagercenter.constant.Constant
import com.yidian.shenghuoquan.bmanagercenter.databinding.ActivityMerchantInfoBinding
......@@ -93,7 +92,7 @@ class MerchantInfoActivity : BaseActivity<ActivityMerchantInfoBinding>(), Mercha
// 请求生活号详情接口
ApiService.getLifeAccountInfoById(
this,
hashMapOf(PARAMS_LIFE_ACCOUNT_ID to (lifeAccountId ?: StorageUtil.getLifeAccountId()))
hashMapOf(PARAMS_LIFE_ACCOUNT_ID to (lifeAccountId ?: LifeAccountManager.getLifeAccountId()))
)
}
......
......@@ -12,7 +12,7 @@ import com.yidian.shenghuoquan.bmanagercenter.R
import com.yidian.shenghuoquan.bmanagercenter.adapter.MerchantSwitchAdapter
import com.yidian.shenghuoquan.bmanagercenter.databinding.DialogMerchantSwitchBinding
import com.yidian.bcommon.bean.LifeAccountItemBean
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.shenghuoquan.bmanagercenter.manager.LifeAccountManager
import com.yidian.utils.DensityUtil
/**
......@@ -49,7 +49,7 @@ class MerchantSwitchDialog(
// 选择某个生活号 弹窗消失
callback?.onLifeAccountSelect(data)
// 更新当前生活号id
StorageUtil.putLifeAccountId(data.life_account_id)
LifeAccountManager.saveLifeAccountId(data.life_account_id)
dismiss()
}
......
......@@ -13,7 +13,7 @@ import com.yidian.shenghuoquan.bmanagercenter.R
import com.yidian.shenghuoquan.bmanagercenter.adapter.ChooseStoreApter
import com.yidian.shenghuoquan.bmanagercenter.databinding.ActivityChooseStoreBinding
import com.yidian.shenghuoquan.bmanagercenter.http.ApiService
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.shenghuoquan.bmanagercenter.manager.LifeAccountManager
import com.yidian.xarc.xevent.XBaseEvent
import com.yidian.xarc.xevent.XEventManager
import com.yidian.xpage.XPageManager
......@@ -54,7 +54,7 @@ class ChooseStoreActivity : BaseActivity<ActivityChooseStoreBinding>() {
private fun requestStoreList() {
val requestParams = HashMap<String, String?>()
requestParams["life_account_id"] = StorageUtil.getLifeAccountId()
requestParams["life_account_id"] = LifeAccountManager.getLifeAccountId()
ApiService.getShopList(requestParams) { shopList ->
if (shopList.isNullOrEmpty()) {
viewBind.rvStore.hide()
......
......@@ -7,10 +7,10 @@ import com.tbruyelle.rxpermissions3.RxPermissions
import com.yidian.bcommon.base.BaseActivity
import com.yidian.bcommon.extensions.hideKeyBoard
import com.yidian.bcommon.utils.EditTextUtils
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.bcommon.utils.ToastUtils
import com.yidian.shenghuoquan.bmanagercenter.databinding.ActivityStoreEditBinding
import com.yidian.shenghuoquan.bmanagercenter.http.ApiService
import com.yidian.shenghuoquan.bmanagercenter.manager.LifeAccountManager
import com.yidian.shenghuoquan.bmanagercenter.widget.CommonTopBarView
/**
......@@ -105,7 +105,7 @@ class EditStoreActivity : BaseActivity<ActivityStoreEditBinding>(), CommonTopBar
return
}
val requestParams = HashMap<String, String?>()
requestParams["life_account_id"] = StorageUtil.getLifeAccountId()
requestParams["life_account_id"] = LifeAccountManager.getLifeAccountId()
requestParams["phone"] = viewBind.storePhoneNum.text.toString()
requestParams["shop_name"] = viewBind.storeName.text.toString()
requestParams["latitude"] = store.latitude
......@@ -125,7 +125,7 @@ class EditStoreActivity : BaseActivity<ActivityStoreEditBinding>(), CommonTopBar
}
val requestParams = HashMap<String, String?>()
requestParams["sub_shop_id"] = store.sub_shop_id
requestParams["life_account_id"] = StorageUtil.getLifeAccountId()
requestParams["life_account_id"] = LifeAccountManager.getLifeAccountId()
requestParams["phone"] = viewBind.storePhoneNum.text.toString()
requestParams["shop_id"] = store.shop_id
requestParams["shop_name"] = viewBind.storeName.text.toString()
......
......@@ -10,7 +10,7 @@ import com.yidian.bcommon.extensions.show
import com.yidian.shenghuoquan.bmanagercenter.adapter.StoreAdapter
import com.yidian.shenghuoquan.bmanagercenter.databinding.ActivityStoreManagementBinding
import com.yidian.shenghuoquan.bmanagercenter.http.ApiService
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.shenghuoquan.bmanagercenter.manager.LifeAccountManager
/**
* 门店管理
......@@ -46,7 +46,7 @@ class StoreManagementActivity : BaseActivity<ActivityStoreManagementBinding>() {
override fun onResume() {
super.onResume()
val requestParams = HashMap<String, String?>()
requestParams["life_account_id"] = StorageUtil.getLifeAccountId()
requestParams["life_account_id"] = LifeAccountManager.getLifeAccountId()
ApiService.getShopList(requestParams) {
if (it.isNullOrEmpty()) {
viewBind.storeList.hide()
......
......@@ -14,7 +14,6 @@ import com.yidian.bcommon.extensions.show
import com.yidian.bcommon.services.ZapServiceActionConstants
import com.yidian.bcommon.services.ZapServiceNameConstants
import com.yidian.bcommon.utils.CountDownTimerUtils
import com.yidian.bcommon.utils.StorageUtil
import com.yidian.bcommon.utils.TextWatcherAdapter
import com.yidian.bcommon.webview.PublicWebViewActivity
import com.yidian.bcommon.widget.EditTextInputCallback
......@@ -182,8 +181,8 @@ class LoginLifeCircleActivity : BaseActivity<ActivityLoginBinding>(), View.OnFoc
private fun cleanLocalStorage() {
// 登录状态
Hawk.put(HawkConfig.LoginStatus, false)
// 生活号id
StorageUtil.deleteLifeAccountId()
// 清空生活号id
ZapTicket(ZapServiceNameConstants.LifeAccountManagerService).withAction(ZapServiceActionConstants.ActionDeleteLifeAccountId).ship()
// 友盟账号统计退出
MobclickAgent.onProfileSignOff()
// 通过服务 清除内存中的认证数据
......
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