Commit 672b2865 authored by yinjiacheng's avatar yinjiacheng

update TowerPro通用配置数据获取迁移到BGeneralBusiness组件

parent 60eb2874
...@@ -32,6 +32,10 @@ class AppConfig { ...@@ -32,6 +32,10 @@ class AppConfig {
const val TowerProXBridUpgradePlatformId = 32 // XBrid版本升级 const val TowerProXBridUpgradePlatformId = 32 // XBrid版本升级
const val TowerProPlatform = "Android" const val TowerProPlatform = "Android"
// Tower Api域名定义
const val TowerApiDomainTest = "http://open-tower-api.test.int.yidian-inc.com:8222"
const val TowerApiDomainPro = "https://open-tower-api.go2yd.com"
// TowerPro 通用配置模块 // TowerPro 通用配置模块
const val TowerApiEnvTest = 0 // 测试环境 const val TowerApiEnvTest = 0 // 测试环境
const val TowerApiEnvPro = 2 // 外网-正式环境 const val TowerApiEnvPro = 2 // 外网-正式环境
......
package com.yidian.bcommon.http package com.yidian.bcommon.http
import com.google.gson.reflect.TypeToken
import com.yidian.bcommon.app.YdBaseApplication
import com.yidian.bcommon.constant.RunConfig
import com.yidian.bcommon.constant.AppConfig
import com.yidian.bcommon.http.bean.CommitFeedbackBean import com.yidian.bcommon.http.bean.CommitFeedbackBean
import com.yidian.bcommon.http.bean.GetCommonConfigBean
import com.yidian.bcommon.http.bean.GetKSYunObjectIdBean
import com.yidian.bcommon.http.bean.GetKSYunTokenBean
import com.yidian.bcommon.http.callback.ICommitFeedbackCallback import com.yidian.bcommon.http.callback.ICommitFeedbackCallback
import com.yidian.bcommon.http.callback.IGetCommonConfigCallback
import com.yidian.bcommon.http.callback.IGetKSYunObjectIdCallback
import com.yidian.http.ServiceFactory import com.yidian.http.ServiceFactory
import com.yidian.utils.ToastUtil
/** /**
* author: yinjiacheng * author: yinjiacheng
...@@ -21,82 +11,10 @@ import com.yidian.utils.ToastUtil ...@@ -21,82 +11,10 @@ import com.yidian.utils.ToastUtil
*/ */
object CommonDataSource { object CommonDataSource {
// Tower-Api 域名
private val domainTowerApi by lazy {
if (RunConfig.TOWER_API_ENV == AppConfig.TowerApiEnvTest) {
CommonService.SCHEME_HTTP + CommonService.DOMAIN_TOWER_API_TEST
} else {
CommonService.SCHEME_HTTPS + CommonService.DOMAIN_TOWER_API_PRO
}
}
private val towerApi by lazy {
ServiceFactory.getInstance().createService(CommonService::class.java, domainTowerApi)
}
private val ydJiraApi by lazy { private val ydJiraApi by lazy {
ServiceFactory.getInstance().createService(CommonService::class.java, CommonService.SCHEME_HTTPS + CommonService.DOMAIN_YD_JIRA) ServiceFactory.getInstance().createService(CommonService::class.java, CommonService.SCHEME_HTTPS + CommonService.DOMAIN_YD_JIRA)
} }
// 301 获取金山云token接口
fun getKSYunToken(requestParams: HashMap<String, String?>): HttpResult<GetKSYunTokenBean.Response>? {
val timeStamp = System.currentTimeMillis()
val publicParamsMap = HttpParamsUtils.getPublicParamsMap(timeStamp)
val privateParamsMap = HttpParamsUtils.getPrivateParamsMap(requestParams, timeStamp)
val res: HttpResult<Any?>? = ServiceFactory.getInstance().createService(CommonService::class.java)
.getKSYunToken(publicParamsMap, privateParamsMap)
.execute().body()
if (res?.code == 0) {
return HttpParamsUtils.rsaDecryptResult(res, object : TypeToken<GetKSYunTokenBean.Response>() {}.type)
} else {
val decodeResult = HttpResult<GetKSYunTokenBean.Response>()
decodeResult.code = res?.code!!
decodeResult.reason = res.reason
decodeResult.status = res.status
ToastUtil.showToast(YdBaseApplication.context, res.reason)
}
return null
}
// 302 获取金山云ObjectId和Bucket接口
fun getKSYunObjectId(apiCallback: IGetKSYunObjectIdCallback, requestParams: HashMap<String, String?>) {
val timeStamp = System.currentTimeMillis()
val publicParamsMap = HttpParamsUtils.getPublicParamsMap(timeStamp)
val privateParamsMap = HttpParamsUtils.getPrivateParamsMap(requestParams, timeStamp)
ServiceFactory.getInstance().createService(CommonService::class.java)
.getKSYunObjectId(publicParamsMap, privateParamsMap)
.compose(TransformUtil.defaultSchedulers())
.subscribe(object : HttpResultSubscriber<GetKSYunObjectIdBean.Response>() {
override fun onSuccess(result: HttpResult<GetKSYunObjectIdBean.Response>?) {
apiCallback.getKSYunObjectIdSuccess(result?.result)
}
override fun onFailure(result: HttpResult<GetKSYunObjectIdBean.Response>?) {
apiCallback.getKSYunObjectIdFailure(result?.reason)
}
})
}
// TowerPro 获取配置数据
fun getCommonConfig(apiCallback: IGetCommonConfigCallback, requestParams: HashMap<String, String>) {
towerApi
.getCommonConfig(requestParams)
.compose(TransformUtil.defaultSchedulers())
.subscribe(object : HttpResultObserver<GetCommonConfigBean.GetCommonConfigResponse>() {
override fun onSuccess(result: HttpResult<GetCommonConfigBean.GetCommonConfigResponse>?) {
apiCallback.getCommonConfigSuccess(result?.result)
}
override fun onFailure(result: HttpResult<GetCommonConfigBean.GetCommonConfigResponse>?) {
apiCallback.getCommonConfigFailure(result?.status)
}
override fun onNetworkFailure(result: HttpResult<GetCommonConfigBean.GetCommonConfigResponse>?) {
apiCallback.getCommonConfigFailure(result?.status)
}
})
}
// 用户反馈提交 // 用户反馈提交
fun commitFeedback(apiCallback: ICommitFeedbackCallback, requestParams: CommitFeedbackBean.CommitFeedbackRequest) { fun commitFeedback(apiCallback: ICommitFeedbackCallback, requestParams: CommitFeedbackBean.CommitFeedbackRequest) {
ydJiraApi ydJiraApi
......
package com.yidian.bcommon.http package com.yidian.bcommon.http
import com.yidian.bcommon.http.bean.CommitFeedbackBean import com.yidian.bcommon.http.bean.CommitFeedbackBean
import com.yidian.bcommon.http.bean.GetCommonConfigBean
import io.reactivex.rxjava3.core.Observable import io.reactivex.rxjava3.core.Observable
import retrofit2.Call import retrofit2.http.Body
import retrofit2.http.* import retrofit2.http.Headers
import retrofit2.http.POST
/** /**
* author: yinjiacheng * author: yinjiacheng
...@@ -17,33 +17,13 @@ interface CommonService { ...@@ -17,33 +17,13 @@ interface CommonService {
const val SCHEME_HTTP = "http://" const val SCHEME_HTTP = "http://"
const val SCHEME_HTTPS = "https://" const val SCHEME_HTTPS = "https://"
// Tower Api域名定义
const val DOMAIN_TOWER_API_TEST = "open-tower-api.test.int.yidian-inc.com:8222"
const val DOMAIN_TOWER_API_PRO = "open-tower-api.go2yd.com"
// 一点jira域名定义 // 一点jira域名定义
const val DOMAIN_YD_JIRA = "hub.go2yd.com" const val DOMAIN_YD_JIRA = "hub.go2yd.com"
// tower-api 获取配置数据
private const val getCommonConfig = "/api/resource"
// 用户反馈提交 // 用户反馈提交
private const val commitFeedback = "/feedback/save" private const val commitFeedback = "/feedback/save"
} }
@Headers("Content-Type: application/json")
@POST(URLs.getKSYunToken)
fun getKSYunToken(@QueryMap commonParams: Map<String, String>, @Body requestParams: Map<String, String?>): Call<HttpResult<Any?>>
@GET(URLs.getKSYunObjectId)
fun getKSYunObjectId(
@QueryMap commonParams: Map<String, String>,
@QueryMap requestParams: Map<String, String?>
): Observable<HttpResult<Any?>>
@GET(getCommonConfig)
fun getCommonConfig(@QueryMap requestParams: Map<String, String>): Observable<HttpResult<GetCommonConfigBean.GetCommonConfigResponse>>
@Headers("Content-Type: application/json") @Headers("Content-Type: application/json")
@POST(commitFeedback) @POST(commitFeedback)
fun commitFeedback(@Body requestParams: CommitFeedbackBean.CommitFeedbackRequest): Observable<HttpResult<CommitFeedbackBean.CommitFeedbackResponse>> fun commitFeedback(@Body requestParams: CommitFeedbackBean.CommitFeedbackRequest): Observable<HttpResult<CommitFeedbackBean.CommitFeedbackResponse>>
......
...@@ -47,9 +47,11 @@ object BCommonManager { ...@@ -47,9 +47,11 @@ object BCommonManager {
*/ */
fun getUid(): String? { fun getUid(): String? {
var userId: String? = null var userId: String? = null
ZapTicket(ZapServiceNameConstants.ClientInfoService).withAction(ZapServiceActionConstants.ActionGetUserInfo).onResult { if (JudgeClientUtils.judgeClient(YdBaseApplication.context.packageName) == ClientType.MERCHANT_C) {
userId = (it.result as JSONObject).optString("userId") ZapTicket(ZapServiceNameConstants.ClientInfoService).withAction(ZapServiceActionConstants.ActionGetUserInfo).onResult {
}.ship() userId = (it.result as JSONObject).optString("userId")
}.ship()
}
return userId return userId
} }
......
...@@ -45,5 +45,8 @@ class ZapServiceActionConstants { ...@@ -45,5 +45,8 @@ class ZapServiceActionConstants {
// 延迟初始化 // 延迟初始化
const val ActionLazyInit = "lazyInit" const val ActionLazyInit = "lazyInit"
// 获取TowerPro通用配置数据
const val ActionGetTowerProCommonConfig = "getTowerProCommonConfig"
} }
} }
package com.yidian.bcommon.utils
import android.content.Context
/**
* 分享工具类
*/
object ShareUtils {
}
package com.yidian.bcommon.utils
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.annotation.LayoutRes
import androidx.recyclerview.widget.RecyclerView
class ViewHolderUtil {
companion object{
fun RecyclerView.Adapter<out RecyclerView.ViewHolder>.createItemView(parent:ViewGroup,@LayoutRes layoutId:Int):View{
return LayoutInflater.from(parent.context).inflate(layoutId,parent,false)
}
}
}
package com.yidian.shenghuoquan.bgeneralbusiness.http package com.yidian.shenghuoquan.bgeneralbusiness.http
import com.yidian.bcommon.http.* import com.yidian.bcommon.http.HttpResult
import com.yidian.bcommon.http.bean.GetCommonConfigBean
import io.reactivex.rxjava3.core.Observable import io.reactivex.rxjava3.core.Observable
import retrofit2.http.GET import retrofit2.http.GET
import retrofit2.http.QueryMap import retrofit2.http.QueryMap
...@@ -9,6 +10,7 @@ interface GeneralBusinessApiService { ...@@ -9,6 +10,7 @@ interface GeneralBusinessApiService {
private companion object { private companion object {
const val sendMsgCode = "/sms/sms/send_code" const val sendMsgCode = "/sms/sms/send_code"
const val getCommonConfig = "/api/resource"
} }
/** /**
...@@ -16,4 +18,10 @@ interface GeneralBusinessApiService { ...@@ -16,4 +18,10 @@ interface GeneralBusinessApiService {
*/ */
@GET(sendMsgCode) @GET(sendMsgCode)
fun sendMsgCode(@QueryMap commonParams: Map<String, String>, @QueryMap params: Map<String, String?>): Observable<HttpResult<Any?>> fun sendMsgCode(@QueryMap commonParams: Map<String, String>, @QueryMap params: Map<String, String?>): Observable<HttpResult<Any?>>
/**
* TowerPro获取通用配置数据
*/
@GET(getCommonConfig)
fun getCommonConfig(@QueryMap requestParams: Map<String, String>): Observable<HttpResult<GetCommonConfigBean.GetCommonConfigResponse>>
} }
package com.yidian.shenghuoquan.bgeneralbusiness.http package com.yidian.shenghuoquan.bgeneralbusiness.http
import com.yidian.bcommon.constant.AppConfig
import com.yidian.bcommon.constant.RunConfig
import com.yidian.bcommon.http.* import com.yidian.bcommon.http.*
import com.yidian.bcommon.http.bean.GetCommonConfigBean
import com.yidian.bcommon.http.callback.IGetCommonConfigCallback
import com.yidian.http.ServiceFactory import com.yidian.http.ServiceFactory
object GeneralBusinessRemoteDataService { object GeneralBusinessRemoteDataService {
private var api = ServiceFactory.getInstance().createService(GeneralBusinessApiService::class.java) private var api = ServiceFactory.getInstance().createService(GeneralBusinessApiService::class.java)
private val towerApi by lazy {
ServiceFactory.getInstance().createService(
GeneralBusinessApiService::class.java, if (RunConfig.TOWER_API_ENV == AppConfig.TowerApiEnvTest) {
AppConfig.TowerApiDomainTest
} else {
AppConfig.TowerApiDomainPro
}
)
}
// 获取短信验证码 // 获取短信验证码
fun sendMsgCode(requestParams: HashMap<String, String?>, callback: ((Boolean) -> Unit)? = null) { fun sendMsgCode(requestParams: HashMap<String, String?>, callback: ((Boolean) -> Unit)? = null) {
val timeStamp = System.currentTimeMillis() val timeStamp = System.currentTimeMillis()
...@@ -23,4 +37,24 @@ object GeneralBusinessRemoteDataService { ...@@ -23,4 +37,24 @@ object GeneralBusinessRemoteDataService {
} }
}) })
} }
// TowerPro 获取配置数据
fun getCommonConfig(apiCallback: IGetCommonConfigCallback, requestParams: HashMap<String, String>) {
towerApi
.getCommonConfig(requestParams)
.compose(TransformUtil.defaultSchedulers())
.subscribe(object : HttpResultObserver<GetCommonConfigBean.GetCommonConfigResponse>() {
override fun onSuccess(result: HttpResult<GetCommonConfigBean.GetCommonConfigResponse>?) {
apiCallback.getCommonConfigSuccess(result?.result)
}
override fun onFailure(result: HttpResult<GetCommonConfigBean.GetCommonConfigResponse>?) {
apiCallback.getCommonConfigFailure(result?.status)
}
override fun onNetworkFailure(result: HttpResult<GetCommonConfigBean.GetCommonConfigResponse>?) {
apiCallback.getCommonConfigFailure(result?.status)
}
})
}
} }
package com.yidian.shenghuoquan.bgeneralbusiness.service package com.yidian.shenghuoquan.bgeneralbusiness.service
import com.google.gson.Gson
import com.yidian.bcommon.constant.AppConfig
import com.yidian.bcommon.constant.RunConfig
import com.yidian.bcommon.http.bean.GetCommonConfigBean
import com.yidian.bcommon.http.callback.IGetCommonConfigCallback
import com.yidian.bcommon.sdk.BCommonManager
import com.yidian.bcommon.services.ZapServiceActionConstants import com.yidian.bcommon.services.ZapServiceActionConstants
import com.yidian.shenghuoquan.bgeneralbusiness.config.LazyInitConfig import com.yidian.shenghuoquan.bgeneralbusiness.config.LazyInitConfig
import com.yidian.shenghuoquan.bgeneralbusiness.http.GeneralBusinessRemoteDataService import com.yidian.shenghuoquan.bgeneralbusiness.http.GeneralBusinessRemoteDataService
...@@ -13,14 +19,14 @@ import org.json.JSONObject ...@@ -13,14 +19,14 @@ import org.json.JSONObject
*/ */
class GeneralAbilityService : ZapService() { class GeneralAbilityService : ZapService() {
private lateinit var resolver: ResultResolver private val gson by lazy { Gson() }
override fun onAction(path: String, action: String, params: Any, options: Any, resolver: ResultResolver) { override fun onAction(path: String, action: String, params: Any, options: Any, resolver: ResultResolver) {
this.resolver = resolver
params as JSONObject params as JSONObject
when (action) { when (action) {
ZapServiceActionConstants.ActionRequestSmsCode -> requestSmsCode(params) ZapServiceActionConstants.ActionRequestSmsCode -> requestSmsCode(params, resolver)
ZapServiceActionConstants.ActionLazyInit -> lazyInit() ZapServiceActionConstants.ActionLazyInit -> lazyInit()
ZapServiceActionConstants.ActionGetTowerProCommonConfig -> getTowerProCommonConfig(resolver)
} }
} }
...@@ -33,7 +39,7 @@ class GeneralAbilityService : ZapService() { ...@@ -33,7 +39,7 @@ class GeneralAbilityService : ZapService() {
/** /**
* 请求短信验证码 * 请求短信验证码
*/ */
private fun requestSmsCode(params: JSONObject) { private fun requestSmsCode(params: JSONObject, resolver: ResultResolver) {
val mobile = params.optString("mobile") val mobile = params.optString("mobile")
val scene = params.optString("scene") val scene = params.optString("scene")
val paramsMap = HashMap<String, String?>() val paramsMap = HashMap<String, String?>()
...@@ -53,4 +59,27 @@ class GeneralAbilityService : ZapService() { ...@@ -53,4 +59,27 @@ class GeneralAbilityService : ZapService() {
// 初始化慧眼 // 初始化慧眼
LazyInitConfig.initXInsight() LazyInitConfig.initXInsight()
} }
/**
* 获取TowerPro通用配置数据
*/
private fun getTowerProCommonConfig(resolver: ResultResolver) {
GeneralBusinessRemoteDataService.getCommonConfig(
object : IGetCommonConfigCallback {
override fun getCommonConfigSuccess(result: GetCommonConfigBean.GetCommonConfigResponse?) {
resolver.success(JSONObject(gson.toJson(result)))
}
override fun getCommonConfigFailure(message: String?) {
resolver.fail(-1, message, "获取配置失败,请稍后重试")
}
}, hashMapOf(
"appid" to BCommonManager.getAppId(),
"env" to RunConfig.TOWER_API_ENV.toString(),
"version" to AppConfig.TowerApiVersion,
"os" to AppConfig.TowerApiOS,
"keytag" to BCommonManager.getTowerProKeyTag()
)
)
}
} }
...@@ -7,6 +7,8 @@ package com.yidian.shenghuoquan.bmanagercenter.constant ...@@ -7,6 +7,8 @@ package com.yidian.shenghuoquan.bmanagercenter.constant
*/ */
object Constant { object Constant {
const val LOG_TAG = "BManagerCenter"
const val LIFE_ACCOUNT_AUTH_TAG = "LifeAccountAuth" const val LIFE_ACCOUNT_AUTH_TAG = "LifeAccountAuth"
// 认证类型 // 认证类型
......
...@@ -6,16 +6,14 @@ import android.view.View ...@@ -6,16 +6,14 @@ import android.view.View
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.core.view.isVisible import androidx.core.view.isVisible
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import com.google.gson.Gson
import com.scwang.smart.refresh.layout.api.RefreshLayout import com.scwang.smart.refresh.layout.api.RefreshLayout
import com.scwang.smart.refresh.layout.listener.OnRefreshListener import com.scwang.smart.refresh.layout.listener.OnRefreshListener
import com.yidian.bcommon.base.BaseActivity import com.yidian.bcommon.base.BaseActivity
import com.yidian.bcommon.bean.HintOptionBean import com.yidian.bcommon.bean.HintOptionBean
import com.yidian.bcommon.bean.LifeAccountItemBean import com.yidian.bcommon.bean.LifeAccountItemBean
import com.yidian.bcommon.constant.* import com.yidian.bcommon.constant.*
import com.yidian.bcommon.http.CommonDataSource
import com.yidian.bcommon.http.bean.GetCommonConfigBean import com.yidian.bcommon.http.bean.GetCommonConfigBean
import com.yidian.bcommon.http.callback.IGetCommonConfigCallback
import com.yidian.bcommon.sdk.BCommonManager
import com.yidian.bcommon.sdk.ClientType import com.yidian.bcommon.sdk.ClientType
import com.yidian.bcommon.sdk.JudgeClientUtils import com.yidian.bcommon.sdk.JudgeClientUtils
import com.yidian.bcommon.services.ZapServiceActionConstants import com.yidian.bcommon.services.ZapServiceActionConstants
...@@ -44,6 +42,8 @@ import com.yidian.xpage.XPageManager ...@@ -44,6 +42,8 @@ import com.yidian.xpage.XPageManager
import com.yidian.yac.core.zap.ZapTicket import com.yidian.yac.core.zap.ZapTicket
import org.greenrobot.eventbus.Subscribe import org.greenrobot.eventbus.Subscribe
import org.greenrobot.eventbus.ThreadMode import org.greenrobot.eventbus.ThreadMode
import org.json.JSONObject
import timber.log.Timber
/** /**
* author: yinjiacheng * author: yinjiacheng
...@@ -53,7 +53,7 @@ import org.greenrobot.eventbus.ThreadMode ...@@ -53,7 +53,7 @@ import org.greenrobot.eventbus.ThreadMode
class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), MerchantSwitchDialog.OnMerchantSwitchCallback, class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), MerchantSwitchDialog.OnMerchantSwitchCallback,
LifeAccountLabelView.OnLifeAccountLabelCallback, MerchantCenterBottomHintDialog.OnMerchantCenterBottomHintCallback, LifeAccountLabelView.OnLifeAccountLabelCallback, MerchantCenterBottomHintDialog.OnMerchantCenterBottomHintCallback,
IAuthMerchantCheckCallback, MerchantServiceFunctionAdapter.OnItemClickListener, CommonTopBarView.OnCommonTopBarActionCallback, IAuthMerchantCheckCallback, MerchantServiceFunctionAdapter.OnItemClickListener, CommonTopBarView.OnCommonTopBarActionCallback,
OnRefreshListener, DialogInterface.OnShowListener, DialogInterface.OnDismissListener, IGetCommonConfigCallback { OnRefreshListener, DialogInterface.OnShowListener, DialogInterface.OnDismissListener {
companion object { companion object {
const val PARAMS_LIFE_ACCOUNT_ID = "life_account_id" const val PARAMS_LIFE_ACCOUNT_ID = "life_account_id"
...@@ -79,6 +79,8 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me ...@@ -79,6 +79,8 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
*/ */
private lateinit var functionPermissionList: ArrayList<Int> private lateinit var functionPermissionList: ArrayList<Int>
private val gson by lazy { Gson() }
override fun createViewBinding(): ActivityMerchantCenterBinding { override fun createViewBinding(): ActivityMerchantCenterBinding {
return ActivityMerchantCenterBinding.inflate(layoutInflater) return ActivityMerchantCenterBinding.inflate(layoutInflater)
} }
...@@ -418,16 +420,59 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me ...@@ -418,16 +420,59 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
override fun onRefresh(refreshLayout: RefreshLayout) { override fun onRefresh(refreshLayout: RefreshLayout) {
// 刷新数据 // 刷新数据
// 请求TowerPro通用配置 // 请求TowerPro通用配置
CommonDataSource.getCommonConfig( ZapTicket(ZapServiceNameConstants.GeneralAbilityService).withAction(ZapServiceActionConstants.ActionGetTowerProCommonConfig)
this, .onResult { xResult ->
hashMapOf( val configResult = if (xResult.code == 0) {
"appid" to BCommonManager.getAppId(), Timber.tag(Constant.LOG_TAG).i("get common config success, result: ${xResult.result}")
"env" to RunConfig.TOWER_API_ENV.toString(), gson.fromJson((xResult.result as JSONObject).toString(), GetCommonConfigBean.GetCommonConfigResponse::class.java)
"version" to AppConfig.TowerApiVersion, } else {
"os" to AppConfig.TowerApiOS, Timber.tag(Constant.LOG_TAG).e("get common config fail, message: ${xResult.mesg}")
"keytag" to BCommonManager.getTowerProKeyTag() viewBind.rlRefresh.finishRefresh(false)
) return@onResult
) }
// 请求生活号列表
ApiService.getLifeAccountList(object : IGetLifeAccountListCallback {
override fun getLifeAccountListSuccess(@Suppress("PARAMETER_NAME_CHANGED_ON_OVERRIDE") lifeAccountResult: ArrayList<LifeAccountItemBean.Response>?) {
viewBind.rlRefresh.finishRefresh(true)
if (lifeAccountResult?.size == 0) {
// 如果当前无生活号则退出登录
ToastUtil.showToast(this@MerchantCenterActivity, resources.getString(R.string.no_life_account))
requestLogout()
return
}
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) }
return
}
lifeAccountResult?.forEach {
if (curLifeAccountId == it.life_account_id) {
curLifeAccount = it
// 刷新数据
configResult?.let { configData -> refreshMerchantCenterData(it, configData.data) }
}
}
}
override fun getLifeAccountListFailure(message: String?) {
viewBind.rlRefresh.finishRefresh(false)
}
})
}.onLost {
Timber.tag(Constant.LOG_TAG).e("get common config fail, message: ${it.mesg}")
viewBind.rlRefresh.finishRefresh(false)
}.ship()
} }
override fun onShow(dialog: DialogInterface?) { override fun onShow(dialog: DialogInterface?) {
...@@ -442,52 +487,6 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me ...@@ -442,52 +487,6 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), Me
viewBind.bvTopBar.setBackgroundColor(ContextCompat.getColor(this, R.color.transparent)) viewBind.bvTopBar.setBackgroundColor(ContextCompat.getColor(this, R.color.transparent))
} }
override fun getCommonConfigSuccess(@Suppress("PARAMETER_NAME_CHANGED_ON_OVERRIDE") configResult: GetCommonConfigBean.GetCommonConfigResponse?) {
// 请求生活号列表
ApiService.getLifeAccountList(object : IGetLifeAccountListCallback {
override fun getLifeAccountListSuccess(@Suppress("PARAMETER_NAME_CHANGED_ON_OVERRIDE") lifeAccountResult: ArrayList<LifeAccountItemBean.Response>?) {
viewBind.rlRefresh.finishRefresh(true)
if (lifeAccountResult?.size == 0) {
// 如果当前无生活号则退出登录
ToastUtil.showToast(this@MerchantCenterActivity, resources.getString(R.string.no_life_account))
requestLogout()
return
}
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) }
return
}
lifeAccountResult?.forEach {
if (curLifeAccountId == it.life_account_id) {
curLifeAccount = it
// 刷新数据
configResult?.let { configData -> refreshMerchantCenterData(it, configData.data) }
}
}
}
override fun getLifeAccountListFailure(message: String?) {
viewBind.rlRefresh.finishRefresh(false)
}
})
}
override fun getCommonConfigFailure(message: String?) {
viewBind.rlRefresh.finishRefresh(false)
}
private fun requestLogout() { private fun requestLogout() {
ZapTicket(ZapServiceNameConstants.SettingService).withAction(ZapServiceActionConstants.ActionLogout) ZapTicket(ZapServiceNameConstants.SettingService).withAction(ZapServiceActionConstants.ActionLogout)
.onResult { result -> .onResult { result ->
......
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