Commit 0001530b authored by yinjiacheng's avatar yinjiacheng

update 接入TowerPro通用配置模块同步修改商户管理中心逻辑

parent c43fdfa1
...@@ -76,12 +76,12 @@ object CommonDataSource { ...@@ -76,12 +76,12 @@ object CommonDataSource {
towerApi towerApi
.getCommonConfig(requestParams) .getCommonConfig(requestParams)
.compose(TransformUtil.defaultSchedulers()) .compose(TransformUtil.defaultSchedulers())
.subscribe(object : HttpResultObserver<GetCommonConfigBean>() { .subscribe(object : HttpResultObserver<GetCommonConfigBean.GetCommonConfigResponse>() {
override fun onSuccess(result: HttpResult<GetCommonConfigBean>?) { override fun onSuccess(result: HttpResult<GetCommonConfigBean.GetCommonConfigResponse>?) {
apiCallback.getCommonConfigSuccess(result?.result) apiCallback.getCommonConfigSuccess(result?.result)
} }
override fun onFailure(result: HttpResult<GetCommonConfigBean>?) { override fun onFailure(result: HttpResult<GetCommonConfigBean.GetCommonConfigResponse>?) {
apiCallback.getCommonConfigFailure(result?.status) apiCallback.getCommonConfigFailure(result?.status)
} }
}) })
......
...@@ -32,5 +32,5 @@ interface CommonService { ...@@ -32,5 +32,5 @@ interface CommonService {
): Observable<HttpResult<Any?>> ): Observable<HttpResult<Any?>>
@GET(getCommonConfig) @GET(getCommonConfig)
fun getCommonConfig(@QueryMap requestParams: Map<String, String>): Observable<HttpResult<GetCommonConfigBean>> fun getCommonConfig(@QueryMap requestParams: Map<String, String>): Observable<HttpResult<GetCommonConfigBean.GetCommonConfigResponse>>
} }
...@@ -2,13 +2,14 @@ package com.yidian.common.http.bean ...@@ -2,13 +2,14 @@ package com.yidian.common.http.bean
import com.google.gson.annotations.SerializedName import com.google.gson.annotations.SerializedName
/** /**
* author: yinjiacheng * author: yinjiacheng
* date: 7/12/21 10:10 PM * date: 7/12/21 10:10 PM
* description: open-tower-api.go2yd.com/api/resource * description: open-tower-api.go2yd.com/api/resource
*/ */
data class GetCommonConfigBean( class GetCommonConfigBean {
data class GetCommonConfigResponse(
@SerializedName("appid") @SerializedName("appid")
val appid: String, val appid: String,
@SerializedName("created_at") @SerializedName("created_at")
...@@ -35,16 +36,16 @@ data class GetCommonConfigBean( ...@@ -35,16 +36,16 @@ data class GetCommonConfigBean(
val updatedAt: String, val updatedAt: String,
@SerializedName("version") @SerializedName("version")
val version: String val version: String
) )
data class Data( data class Data(
@SerializedName("is_show_app_upgrade") @SerializedName("is_show_app_upgrade")
val isShowAppUpgrade: Int, val isShowAppUpgrade: Int,
@SerializedName("merchant_manager_center") @SerializedName("merchant_manager_center")
val merchantManagerCenter: MerchantManagerCenter val merchantManagerCenter: MerchantManagerCenter
) )
data class MerchantManagerCenter( data class MerchantManagerCenter(
@SerializedName("disable_text") @SerializedName("disable_text")
val disableText: String, val disableText: String,
@SerializedName("disable_url") @SerializedName("disable_url")
...@@ -53,9 +54,9 @@ data class MerchantManagerCenter( ...@@ -53,9 +54,9 @@ data class MerchantManagerCenter(
val items: List<Item>, val items: List<Item>,
@SerializedName("show") @SerializedName("show")
val show: Int val show: Int
) )
data class Item( data class Item(
@SerializedName("functions") @SerializedName("functions")
val functions: List<Function>, val functions: List<Function>,
@SerializedName("group_id") @SerializedName("group_id")
...@@ -64,9 +65,9 @@ data class Item( ...@@ -64,9 +65,9 @@ data class Item(
val groupName: String, val groupName: String,
@SerializedName("show") @SerializedName("show")
val show: Int val show: Int
) )
data class Function( data class Function(
@SerializedName("function_id") @SerializedName("function_id")
val functionId: Int, val functionId: Int,
@SerializedName("function_name") @SerializedName("function_name")
...@@ -77,4 +78,6 @@ data class Function( ...@@ -77,4 +78,6 @@ data class Function(
val linkUrl: Any, val linkUrl: Any,
@SerializedName("show") @SerializedName("show")
val show: Int val show: Int
) )
}
...@@ -8,6 +8,6 @@ import com.yidian.common.http.bean.GetCommonConfigBean ...@@ -8,6 +8,6 @@ import com.yidian.common.http.bean.GetCommonConfigBean
* description: open-tower-api.go2yd.com/api/resource * description: open-tower-api.go2yd.com/api/resource
*/ */
interface IGetCommonConfigCallback { interface IGetCommonConfigCallback {
fun getCommonConfigSuccess(result: GetCommonConfigBean?) fun getCommonConfigSuccess(result: GetCommonConfigBean.GetCommonConfigResponse?)
fun getCommonConfigFailure(message: String?) fun getCommonConfigFailure(message: String?)
} }
...@@ -6,8 +6,8 @@ import android.view.View ...@@ -6,8 +6,8 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
import com.yidian.common.http.bean.GetCommonConfigBean
import com.yidian.shenghuoquan.newscontent.databinding.ItemMerchantServiceFunctionBinding import com.yidian.shenghuoquan.newscontent.databinding.ItemMerchantServiceFunctionBinding
import com.yidian.shenghuoquan.newscontent.http.httpbean.GetConfigListBean
/** /**
* author: yinjiacheng * author: yinjiacheng
...@@ -16,7 +16,7 @@ import com.yidian.shenghuoquan.newscontent.http.httpbean.GetConfigListBean ...@@ -16,7 +16,7 @@ import com.yidian.shenghuoquan.newscontent.http.httpbean.GetConfigListBean
*/ */
class MerchantServiceFunctionAdapter @JvmOverloads constructor( class MerchantServiceFunctionAdapter @JvmOverloads constructor(
val context: Context, val context: Context,
data: List<GetConfigListBean.Function>? = null, data: List<GetCommonConfigBean.Function>? = null,
val listener: OnItemClickListener? = null val listener: OnItemClickListener? = null
) : ) :
RecyclerView.Adapter<MerchantServiceFunctionAdapter.MerchantServiceViewHolder>() { RecyclerView.Adapter<MerchantServiceFunctionAdapter.MerchantServiceViewHolder>() {
...@@ -29,14 +29,14 @@ class MerchantServiceFunctionAdapter @JvmOverloads constructor( ...@@ -29,14 +29,14 @@ class MerchantServiceFunctionAdapter @JvmOverloads constructor(
/** /**
* 数据源 * 数据源
*/ */
private val serviceData by lazy { ArrayList<GetConfigListBean.Function>() } private val serviceData by lazy { ArrayList<GetCommonConfigBean.Function>() }
private lateinit var viewBinding: ItemMerchantServiceFunctionBinding private lateinit var viewBinding: ItemMerchantServiceFunctionBinding
init { init {
// 将不显示的数据去除 // 将不显示的数据去除
data?.let { data?.let {
(it as ArrayList<GetConfigListBean.Function>).iterator().apply { (it as ArrayList<GetCommonConfigBean.Function>).iterator().apply {
while (hasNext()) { while (hasNext()) {
if (next().show != FUNCTION_SHOW) remove() if (next().show != FUNCTION_SHOW) remove()
} }
...@@ -48,10 +48,10 @@ class MerchantServiceFunctionAdapter @JvmOverloads constructor( ...@@ -48,10 +48,10 @@ class MerchantServiceFunctionAdapter @JvmOverloads constructor(
/** /**
* 更新数据 将不显示的数据去除 * 更新数据 将不显示的数据去除
*/ */
fun updateData(data: List<GetConfigListBean.Function>?) { fun updateData(data: List<GetCommonConfigBean.Function>?) {
data?.let { data?.let {
serviceData.clear() serviceData.clear()
(it as ArrayList<GetConfigListBean.Function>).iterator().apply { (it as ArrayList<GetCommonConfigBean.Function>).iterator().apply {
while (hasNext()) { while (hasNext()) {
if (next().show != FUNCTION_SHOW) remove() if (next().show != FUNCTION_SHOW) remove()
} }
...@@ -72,12 +72,12 @@ class MerchantServiceFunctionAdapter @JvmOverloads constructor( ...@@ -72,12 +72,12 @@ class MerchantServiceFunctionAdapter @JvmOverloads constructor(
override fun onBindViewHolder(holder: MerchantServiceViewHolder, position: Int) { override fun onBindViewHolder(holder: MerchantServiceViewHolder, position: Int) {
val data = serviceData[position] val data = serviceData[position]
if (data.icon_url.isNotEmpty()) { if (data.iconUrl.isNotEmpty()) {
Glide.with(context).load(data.icon_url).into(viewBinding.ivService) Glide.with(context).load(data.iconUrl).into(viewBinding.ivService)
} else { } else {
// TODO: 6/11/21 显示本地icon // TODO: 6/11/21 显示本地icon
} }
holder.viewBinding.tvService.text = data.function_name holder.viewBinding.tvService.text = data.functionName
holder.viewBinding.root.setOnClickListener { listener?.onItemClick(it, position, data) } holder.viewBinding.root.setOnClickListener { listener?.onItemClick(it, position, data) }
} }
...@@ -92,7 +92,7 @@ class MerchantServiceFunctionAdapter @JvmOverloads constructor( ...@@ -92,7 +92,7 @@ class MerchantServiceFunctionAdapter @JvmOverloads constructor(
RecyclerView.ViewHolder(itemView) RecyclerView.ViewHolder(itemView)
interface OnItemClickListener { interface OnItemClickListener {
fun onItemClick(view: View, position: Int, data: GetConfigListBean.Function) fun onItemClick(view: View, position: Int, data: GetCommonConfigBean.Function)
} }
} }
...@@ -7,8 +7,8 @@ import android.view.View ...@@ -7,8 +7,8 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import com.yidian.common.http.bean.GetCommonConfigBean
import com.yidian.shenghuoquan.newscontent.databinding.ItemMerchantServiceGroupBinding import com.yidian.shenghuoquan.newscontent.databinding.ItemMerchantServiceGroupBinding
import com.yidian.shenghuoquan.newscontent.http.httpbean.GetConfigListBean
import com.yidian.utils.DensityUtil import com.yidian.utils.DensityUtil
/** /**
...@@ -18,7 +18,7 @@ import com.yidian.utils.DensityUtil ...@@ -18,7 +18,7 @@ import com.yidian.utils.DensityUtil
*/ */
class MerchantServiceGroupAdapter @JvmOverloads constructor( class MerchantServiceGroupAdapter @JvmOverloads constructor(
val context: Context, val context: Context,
data: List<GetConfigListBean.Item>? = null, data: List<GetCommonConfigBean.Item>? = null,
val listener: MerchantServiceFunctionAdapter.OnItemClickListener? = null val listener: MerchantServiceFunctionAdapter.OnItemClickListener? = null
) : ) :
RecyclerView.Adapter<MerchantServiceGroupAdapter.MerchantServiceGroupViewHolder>() { RecyclerView.Adapter<MerchantServiceGroupAdapter.MerchantServiceGroupViewHolder>() {
...@@ -34,7 +34,7 @@ class MerchantServiceGroupAdapter @JvmOverloads constructor( ...@@ -34,7 +34,7 @@ class MerchantServiceGroupAdapter @JvmOverloads constructor(
* 数据源 * 数据源
*/ */
private val groupData by lazy { private val groupData by lazy {
ArrayList<GetConfigListBean.Item>() ArrayList<GetCommonConfigBean.Item>()
} }
init { init {
...@@ -51,7 +51,7 @@ class MerchantServiceGroupAdapter @JvmOverloads constructor( ...@@ -51,7 +51,7 @@ class MerchantServiceGroupAdapter @JvmOverloads constructor(
/** /**
* 刷新数据 * 刷新数据
*/ */
fun updateData(data: List<GetConfigListBean.Item>?) { fun updateData(data: List<GetCommonConfigBean.Item>?) {
groupData.clear() groupData.clear()
data?.let { data?.let {
it.forEach { item -> it.forEach { item ->
...@@ -81,7 +81,7 @@ class MerchantServiceGroupAdapter @JvmOverloads constructor( ...@@ -81,7 +81,7 @@ class MerchantServiceGroupAdapter @JvmOverloads constructor(
override fun onBindViewHolder(holder: MerchantServiceGroupViewHolder, position: Int) { override fun onBindViewHolder(holder: MerchantServiceGroupViewHolder, position: Int) {
val data = groupData[position] val data = groupData[position]
holder.viewBinding.tvTitle.text = data.group_name holder.viewBinding.tvTitle.text = data.groupName
viewBinding.rvService.layoutManager = GridLayoutManager(context, 4) viewBinding.rvService.layoutManager = GridLayoutManager(context, 4)
viewBinding.rvService.adapter = MerchantServiceFunctionAdapter(context, data.functions, listener) viewBinding.rvService.adapter = MerchantServiceFunctionAdapter(context, data.functions, listener)
} }
......
...@@ -7,9 +7,13 @@ import androidx.core.content.ContextCompat ...@@ -7,9 +7,13 @@ import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
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.common.AppConfig
import com.yidian.common.XEventConfig import com.yidian.common.XEventConfig
import com.yidian.common.XRouterPathConstants import com.yidian.common.XRouterPathConstants
import com.yidian.common.base.BaseActivity import com.yidian.common.base.BaseActivity
import com.yidian.common.http.CommonDataSource
import com.yidian.common.http.bean.GetCommonConfigBean
import com.yidian.common.http.callback.IGetCommonConfigCallback
import com.yidian.shenghuoquan.newscontent.R import com.yidian.shenghuoquan.newscontent.R
import com.yidian.shenghuoquan.newscontent.adapter.MerchantServiceFunctionAdapter import com.yidian.shenghuoquan.newscontent.adapter.MerchantServiceFunctionAdapter
import com.yidian.shenghuoquan.newscontent.adapter.MerchantServiceGroupAdapter import com.yidian.shenghuoquan.newscontent.adapter.MerchantServiceGroupAdapter
...@@ -19,7 +23,6 @@ import com.yidian.shenghuoquan.newscontent.databinding.ActivityMerchantCenterBin ...@@ -19,7 +23,6 @@ import com.yidian.shenghuoquan.newscontent.databinding.ActivityMerchantCenterBin
import com.yidian.shenghuoquan.newscontent.http.ApiService import com.yidian.shenghuoquan.newscontent.http.ApiService
import com.yidian.shenghuoquan.newscontent.http.callback.* import com.yidian.shenghuoquan.newscontent.http.callback.*
import com.yidian.shenghuoquan.newscontent.http.httpbean.AuthMerchantCheckBean import com.yidian.shenghuoquan.newscontent.http.httpbean.AuthMerchantCheckBean
import com.yidian.shenghuoquan.newscontent.http.httpbean.GetConfigListBean
import com.yidian.shenghuoquan.newscontent.http.httpbean.GetLifeAccountInfoByIdBean import com.yidian.shenghuoquan.newscontent.http.httpbean.GetLifeAccountInfoByIdBean
import com.yidian.shenghuoquan.newscontent.http.httpbean.LifeAccountItemBean import com.yidian.shenghuoquan.newscontent.http.httpbean.LifeAccountItemBean
import com.yidian.shenghuoquan.newscontent.ui.auth.LifeAccountAuthActivity import com.yidian.shenghuoquan.newscontent.ui.auth.LifeAccountAuthActivity
...@@ -42,12 +45,11 @@ import org.greenrobot.eventbus.ThreadMode ...@@ -42,12 +45,11 @@ import org.greenrobot.eventbus.ThreadMode
* date: 6/8/21 8:11 PM * date: 6/8/21 8:11 PM
* description: 商户管理中心 * description: 商户管理中心
*/ */
class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), MerchantSwitchDialog.OnMerchantSwitchCallback,
IGetConfigListCallback, MerchantSwitchDialog.OnMerchantSwitchCallback,
LifeAccountLabelView.OnLifeAccountLabelCallback, IGetLifeAccountInfoByIdCallback, LifeAccountLabelView.OnLifeAccountLabelCallback, IGetLifeAccountInfoByIdCallback,
MerchantCenterBottomHintDialog.OnMerchantCenterBottomHintCallback, IAuthMerchantCheckCallback, MerchantCenterBottomHintDialog.OnMerchantCenterBottomHintCallback, IAuthMerchantCheckCallback,
MerchantServiceFunctionAdapter.OnItemClickListener, CommonTopBarView.OnCommonTopBarActionCallback, OnRefreshListener, MerchantServiceFunctionAdapter.OnItemClickListener, CommonTopBarView.OnCommonTopBarActionCallback, OnRefreshListener, IUserLogoutCallBack,
IUserLogoutCallBack, DialogInterface.OnShowListener, DialogInterface.OnDismissListener { DialogInterface.OnShowListener, DialogInterface.OnDismissListener, IGetCommonConfigCallback {
companion object { companion object {
// 传递的生活号信息 // 传递的生活号信息
...@@ -64,11 +66,6 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), ...@@ -64,11 +66,6 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(),
*/ */
private lateinit var curLifeAccount: LifeAccountItemBean.Response private lateinit var curLifeAccount: LifeAccountItemBean.Response
/**
* 当前配置数据
*/
private val curConfigData by lazy { ArrayList<GetConfigListBean.Item>() }
/** /**
* 功能-页面表 * 功能-页面表
*/ */
...@@ -135,26 +132,23 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), ...@@ -135,26 +132,23 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(),
// 切换主体入口是否展示判断 // 切换主体入口是否展示判断
viewBind.bvTopBar.setActionVisibility(params?.get(EXTRA_IS_MULTI)?.let { it as Boolean } ?: false) 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 curLifeAccount = params?.get(EXTRA_LIFE_ACCOUNT_INFO)?.let { it as LifeAccountItemBean.Response } ?: return
// 设置标签 viewBind.rlRefresh.autoRefresh()
viewBind.lvLifeAccountLabel.setLifeAccountData(curLifeAccount)
// 展示底部浮窗
showMerchantCenterBottomHint(curLifeAccount)
// 请求功能入口配置清单
ApiService.getConfigList(this)
} }
/** /**
* 刷新商户管理中心相关数据 * 刷新商户管理中心相关数据
*/ */
private fun refreshMerchantCenterData(data: LifeAccountItemBean.Response) { private fun refreshMerchantCenterData(lifeAccountData: LifeAccountItemBean.Response, configData: List<GetCommonConfigBean.Item>) {
// 设置标签 // 设置标签
viewBind.lvLifeAccountLabel.setLifeAccountData(data) viewBind.lvLifeAccountLabel.setLifeAccountData(lifeAccountData)
// 展示底部浮窗 // 展示底部浮窗
showMerchantCenterBottomHint(data) showMerchantCenterBottomHint(lifeAccountData)
// 生活号状态变更 生成当前生活号状态下的功能集 // 生成FunctionId和XPage页面节点映射
generateFunctionPermissionMap(curConfigData) generateFunctionPageMap(configData)
// 生活号状态变更 过滤商户服务数据 // 生成当前生活号状态下的功能集
filterMerchantServiceData(curConfigData) generateFunctionPermissionMap(configData)
// 过滤商户服务数据
filterMerchantServiceData(configData)
} }
/** /**
...@@ -183,97 +177,98 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), ...@@ -183,97 +177,98 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(),
* 生成FunctionId和XPage页面节点映射 * 生成FunctionId和XPage页面节点映射
* todo Activity传参 * todo Activity传参
*/ */
private fun generateFunctionPageMap(data: List<GetConfigListBean.Item>) { private fun generateFunctionPageMap(data: List<GetCommonConfigBean.Item>) {
if (data.isEmpty()) return
functionPageMap.clear()
// 我要发布-优惠券 // 我要发布-优惠券
functionPageMap[data[0].functions[0].function_id] = XRouterPathConstants.PUBLISH_COUPONS_ACTIVITY functionPageMap[data[0].functions[0].functionId] = XRouterPathConstants.PUBLISH_COUPONS_ACTIVITY
// 我要发布-招聘 // 我要发布-招聘
functionPageMap[data[0].functions[1].function_id] = null functionPageMap[data[0].functions[1].functionId] = null
// 管理服务-权限管理 // 管理服务-权限管理
functionPageMap[data[1].functions[0].function_id] = null functionPageMap[data[1].functions[0].functionId] = null
// 管理服务-人员管理 // 管理服务-人员管理
functionPageMap[data[1].functions[1].function_id] = XRouterPathConstants.PERSONAL_MY_STAFF functionPageMap[data[1].functions[1].functionId] = XRouterPathConstants.PERSONAL_MY_STAFF
// 其他服务-优惠券管理 // 其他服务-优惠券管理
functionPageMap[data[2].functions[0].function_id] = XRouterPathConstants.COMMODITY_MANAGEMENT functionPageMap[data[2].functions[0].functionId] = XRouterPathConstants.COMMODITY_MANAGEMENT
// 其他服务-职位管理 // 其他服务-职位管理
functionPageMap[data[2].functions[1].function_id] = null functionPageMap[data[2].functions[1].functionId] = null
// 其他服务-门店管理 // 其他服务-门店管理
functionPageMap[data[2].functions[2].function_id] = XRouterPathConstants.STORE_MANAGEMENT functionPageMap[data[2].functions[2].functionId] = XRouterPathConstants.STORE_MANAGEMENT
// 其他服务-系统设置 // 其他服务-系统设置
functionPageMap[data[2].functions[3].function_id] = XRouterPathConstants.SYSTEM_SETTING functionPageMap[data[2].functions[3].functionId] = XRouterPathConstants.SYSTEM_SETTING
} }
/** /**
* 对应生活号权限下的功能集 * 对应生活号权限下的功能集
* todo 优化逻辑
*/ */
private fun generateFunctionPermissionMap(data: List<GetConfigListBean.Item>) { private fun generateFunctionPermissionMap(data: List<GetCommonConfigBean.Item>) {
if (data.isEmpty()) return if (data.isEmpty()) return
functionPermissionList.clear() functionPermissionList.clear()
when (getCurLifeAccountLabel()) { when (getCurLifeAccountLabel()) {
Constant.LIFE_ACCOUNT_TAG_ENTERPRISE_AUTH -> { Constant.LIFE_ACCOUNT_TAG_ENTERPRISE_AUTH -> {
// 企业认证 // 企业认证
// 所有服务都可用 // 所有服务都可用
functionPermissionList.add(data[0].functions[0].function_id) functionPermissionList.add(data[0].functions[0].functionId)
functionPermissionList.add(data[0].functions[1].function_id) functionPermissionList.add(data[0].functions[1].functionId)
functionPermissionList.add(data[1].functions[0].function_id) functionPermissionList.add(data[1].functions[0].functionId)
functionPermissionList.add(data[1].functions[1].function_id) functionPermissionList.add(data[1].functions[1].functionId)
functionPermissionList.add(data[2].functions[0].function_id) functionPermissionList.add(data[2].functions[0].functionId)
functionPermissionList.add(data[2].functions[1].function_id) functionPermissionList.add(data[2].functions[1].functionId)
functionPermissionList.add(data[2].functions[2].function_id) functionPermissionList.add(data[2].functions[2].functionId)
functionPermissionList.add(data[2].functions[3].function_id) functionPermissionList.add(data[2].functions[3].functionId)
} }
Constant.LIFE_ACCOUNT_TAG_COMMON_ENTERPRISE_AUTH -> { Constant.LIFE_ACCOUNT_TAG_COMMON_ENTERPRISE_AUTH -> {
// 普通企业认证 // 普通企业认证
// 所有服务都可用 // 所有服务都可用
functionPermissionList.add(data[0].functions[0].function_id) functionPermissionList.add(data[0].functions[0].functionId)
functionPermissionList.add(data[0].functions[1].function_id) functionPermissionList.add(data[0].functions[1].functionId)
functionPermissionList.add(data[1].functions[0].function_id) functionPermissionList.add(data[1].functions[0].functionId)
functionPermissionList.add(data[1].functions[1].function_id) functionPermissionList.add(data[1].functions[1].functionId)
functionPermissionList.add(data[2].functions[0].function_id) functionPermissionList.add(data[2].functions[0].functionId)
functionPermissionList.add(data[2].functions[1].function_id) functionPermissionList.add(data[2].functions[1].functionId)
functionPermissionList.add(data[2].functions[2].function_id) functionPermissionList.add(data[2].functions[2].functionId)
functionPermissionList.add(data[2].functions[3].function_id) functionPermissionList.add(data[2].functions[3].functionId)
} }
Constant.LIFE_ACCOUNT_TAG_INDIVIDUAL_BUSINESS_AUTH -> { Constant.LIFE_ACCOUNT_TAG_INDIVIDUAL_BUSINESS_AUTH -> {
// 个体工商户认证 // 个体工商户认证
// 所有服务都可用 // 所有服务都可用
functionPermissionList.add(data[0].functions[0].function_id) functionPermissionList.add(data[0].functions[0].functionId)
functionPermissionList.add(data[0].functions[1].function_id) functionPermissionList.add(data[0].functions[1].functionId)
functionPermissionList.add(data[1].functions[0].function_id) functionPermissionList.add(data[1].functions[0].functionId)
functionPermissionList.add(data[1].functions[1].function_id) functionPermissionList.add(data[1].functions[1].functionId)
functionPermissionList.add(data[2].functions[0].function_id) functionPermissionList.add(data[2].functions[0].functionId)
functionPermissionList.add(data[2].functions[1].function_id) functionPermissionList.add(data[2].functions[1].functionId)
functionPermissionList.add(data[2].functions[2].function_id) functionPermissionList.add(data[2].functions[2].functionId)
functionPermissionList.add(data[2].functions[3].function_id) functionPermissionList.add(data[2].functions[3].functionId)
} }
Constant.LIFE_ACCOUNT_TAG_PERSONAL_AUTH -> { Constant.LIFE_ACCOUNT_TAG_PERSONAL_AUTH -> {
// 个人认证 // 个人认证
// 我要发布-招聘 其他服务-职位管理 其他服务-系统设置 // 我要发布-招聘 其他服务-职位管理 其他服务-系统设置
functionPermissionList.add(data[0].functions[1].function_id) functionPermissionList.add(data[0].functions[1].functionId)
functionPermissionList.add(data[2].functions[1].function_id) functionPermissionList.add(data[2].functions[1].functionId)
functionPermissionList.add(data[2].functions[3].function_id) functionPermissionList.add(data[2].functions[3].functionId)
} }
Constant.LIFE_ACCOUNT_TAG_NOT_AUTH -> { Constant.LIFE_ACCOUNT_TAG_NOT_AUTH -> {
// 未认证 // 未认证
// 我要发布-招聘 其他服务-职位管理 其他服务-系统设置 // 我要发布-招聘 其他服务-职位管理 其他服务-系统设置
functionPermissionList.add(data[0].functions[1].function_id) functionPermissionList.add(data[0].functions[1].functionId)
functionPermissionList.add(data[2].functions[1].function_id) functionPermissionList.add(data[2].functions[1].functionId)
functionPermissionList.add(data[2].functions[3].function_id) functionPermissionList.add(data[2].functions[3].functionId)
} }
Constant.LIFE_ACCOUNT_TAG_AUDIT_UNDER -> { Constant.LIFE_ACCOUNT_TAG_AUDIT_UNDER -> {
// 审核中 // 审核中
// 我要发布-招聘 其他服务-职位管理 其他服务-系统设置 // 我要发布-招聘 其他服务-职位管理 其他服务-系统设置
functionPermissionList.add(data[0].functions[1].function_id) functionPermissionList.add(data[0].functions[1].functionId)
functionPermissionList.add(data[2].functions[1].function_id) functionPermissionList.add(data[2].functions[1].functionId)
functionPermissionList.add(data[2].functions[2].function_id) functionPermissionList.add(data[2].functions[2].functionId)
functionPermissionList.add(data[2].functions[3].function_id) functionPermissionList.add(data[2].functions[3].functionId)
} }
Constant.LIFE_ACCOUNT_TAG_AUTH_REJECT -> { Constant.LIFE_ACCOUNT_TAG_AUTH_REJECT -> {
// 认证驳回 // 认证驳回
// 我要发布-招聘 其他服务-职位管理 其他服务-系统设置 // 我要发布-招聘 其他服务-职位管理 其他服务-系统设置
functionPermissionList.add(data[0].functions[1].function_id) functionPermissionList.add(data[0].functions[1].functionId)
functionPermissionList.add(data[2].functions[1].function_id) functionPermissionList.add(data[2].functions[1].functionId)
functionPermissionList.add(data[2].functions[3].function_id) functionPermissionList.add(data[2].functions[3].functionId)
} }
} }
} }
...@@ -282,13 +277,13 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), ...@@ -282,13 +277,13 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(),
* 过滤商户服务数据 * 过滤商户服务数据
* 目前处理个人认证状态下和企业员工角色下不展示管理服务 * 目前处理个人认证状态下和企业员工角色下不展示管理服务
*/ */
private fun filterMerchantServiceData(data: List<GetConfigListBean.Item>) { private fun filterMerchantServiceData(data: List<GetCommonConfigBean.Item>) {
val result = ArrayList<GetConfigListBean.Item>(data.size) val result = ArrayList<GetCommonConfigBean.Item>(data.size)
data.let { data.let {
(it as ArrayList<GetConfigListBean.Item>).iterator().apply { (it as ArrayList<GetCommonConfigBean.Item>).iterator().apply {
while (hasNext()) { while (hasNext()) {
val group = next() val group = next()
if (group.group_id == Constant.MERCHANT_SERVICE_GROUP_MANAGEMENT) { 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) {
continue continue
...@@ -321,20 +316,6 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), ...@@ -321,20 +316,6 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(),
return Constant.LIFE_ACCOUNT_TAG_NOT_AUTH // 个人未认证 return Constant.LIFE_ACCOUNT_TAG_NOT_AUTH // 个人未认证
} }
override fun getConfigListSuccess(result: GetConfigListBean.Response?) {
result?.let {
// 备份配置数据
curConfigData.addAll(it.merchant_manager_center.items)
generateFunctionPageMap(it.merchant_manager_center.items)
generateFunctionPermissionMap(it.merchant_manager_center.items)
filterMerchantServiceData(it.merchant_manager_center.items)
}
}
override fun getConfigListFailure(message: String?) {
}
override fun onLifeAccountSelect(data: LifeAccountItemBean.Response) { override fun onLifeAccountSelect(data: LifeAccountItemBean.Response) {
// 用户切换主体 更新当前生活号信息 // 用户切换主体 更新当前生活号信息
curLifeAccount = data curLifeAccount = data
...@@ -401,11 +382,11 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), ...@@ -401,11 +382,11 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(),
} }
override fun onItemClick(view: View, position: Int, data: GetConfigListBean.Function) { override fun onItemClick(view: View, position: Int, data: GetCommonConfigBean.Function) {
// 选择某一个功能 // 选择某一个功能
// 若在当前权限功能集中则跳转指定页 // 若在当前权限功能集中则跳转指定页
if (functionPermissionList.contains(data.function_id)) { if (functionPermissionList.contains(data.functionId)) {
functionPageMap[data.function_id]?.let { XPageManager.push(it, null) } ?: ToastUtil.showToast(this, "正在建设中...") functionPageMap[data.functionId]?.let { XPageManager.push(it, null) } ?: ToastUtil.showToast(this, "正在建设中...")
} else { } else {
// 若当前功能无权限 根据生活号类型做弹窗提示 // 若当前功能无权限 根据生活号类型做弹窗提示
if (curLifeAccount.enterprise_audit_status == Constant.STATUS_AUDIT_UNDER) { if (curLifeAccount.enterprise_audit_status == Constant.STATUS_AUDIT_UNDER) {
...@@ -517,60 +498,77 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(), ...@@ -517,60 +498,77 @@ class MerchantCenterActivity : BaseActivity<ActivityMerchantCenterBinding>(),
override fun onRefresh(refreshLayout: RefreshLayout) { override fun onRefresh(refreshLayout: RefreshLayout) {
// 刷新数据 // 刷新数据
// 请求TowerPro通用配置
CommonDataSource.getCommonConfig(
this,
hashMapOf(
"appid" to AppConfig.appid,
"env" to AppConfig.TowerApiEnv,
"version" to AppConfig.TowerApiVersion,
"os" to AppConfig.TowerApiOS,
"keytag" to AppConfig.TowerApiKeyTag
)
)
}
override fun userLogoutSuccess() {
XPageManager.push(XRouterPathConstants.LOGIN_LIFE_CIRCLE, null)
}
override fun onShow(dialog: DialogInterface?) {
// 切换主体弹窗显示
// 更改页面标题背景色
viewBind.bvTopBar.setBackgroundColor(ContextCompat.getColor(this, R.color.white))
}
override fun onDismiss(dialog: DialogInterface?) {
// 切换主体弹窗消失
// 更改页面标题背景色
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 { ApiService.getLifeAccountList(object : IGetLifeAccountListCallback {
override fun getLifeAccountListSuccess(result: ArrayList<LifeAccountItemBean.Response>?) { override fun getLifeAccountListSuccess(@Suppress("PARAMETER_NAME_CHANGED_ON_OVERRIDE") lifeAccountResult: ArrayList<LifeAccountItemBean.Response>?) {
// 刷新成功 viewBind.rlRefresh.finishRefresh(true)
refreshLayout.finishRefresh(true) if (lifeAccountResult?.size == 0) {
if (result?.size == 0) {
// 如果当前无生活号则退出登录 // 如果当前无生活号则退出登录
ToastUtil.showToast(this@MerchantCenterActivity, resources.getString(R.string.no_life_account)) ToastUtil.showToast(this@MerchantCenterActivity, resources.getString(R.string.no_life_account))
ApiService.userLogout(this@MerchantCenterActivity) ApiService.userLogout(this@MerchantCenterActivity)
return return
} }
if (result?.contains(curLifeAccount) == false) { if (lifeAccountResult?.contains(curLifeAccount) == false) {
// 当前选择的生活号已不存在则切换第一个生活号 目前为企业员工被解除关系会触发 // 当前选择的生活号已不存在则切换第一个生活号 目前为企业员工被解除关系会触发
curLifeAccount = result[0] curLifeAccount = lifeAccountResult[0]
// 更新本地存储的生活号id // 更新本地存储的生活号id
StorageUtil.putLifeAccountId(result[0].life_account_id) StorageUtil.putLifeAccountId(lifeAccountResult[0].life_account_id)
// 刷新数据 // 刷新数据
refreshMerchantCenterData(result[0]) configResult?.data?.merchantManagerCenter?.items?.let { refreshMerchantCenterData(lifeAccountResult[0], it) }
// 切换主体入口是否展示判断 // 切换主体入口是否展示判断
viewBind.bvTopBar.setActionVisibility(result.size > 1) viewBind.bvTopBar.setActionVisibility(lifeAccountResult.size > 1)
return return
} }
result?.forEach { lifeAccountResult?.let {
// 切换主体入口是否展示判断
viewBind.bvTopBar.setActionVisibility(it.size > 1)
}
lifeAccountResult?.forEach {
if (curLifeAccount.life_account_id == it.life_account_id) { if (curLifeAccount.life_account_id == it.life_account_id) {
curLifeAccount = it curLifeAccount = it
// 刷新数据 // 刷新数据
refreshMerchantCenterData(it) configResult?.data?.merchantManagerCenter?.items?.let { configData -> refreshMerchantCenterData(it, configData) }
}
} }
result?.let {
// 切换主体入口是否展示判断
viewBind.bvTopBar.setActionVisibility(it.size > 1)
} }
} }
override fun getLifeAccountListFailure(message: String?) { override fun getLifeAccountListFailure(message: String?) {
// 刷新失败 viewBind.rlRefresh.finishRefresh(false)
refreshLayout.finishRefresh(false)
} }
}) })
} }
override fun userLogoutSuccess() { override fun getCommonConfigFailure(message: String?) {
XPageManager.push(XRouterPathConstants.LOGIN_LIFE_CIRCLE, null) viewBind.rlRefresh.finishRefresh(false)
}
override fun onShow(dialog: DialogInterface?) {
// 切换主体弹窗显示
// 更改页面标题背景色
viewBind.bvTopBar.setBackgroundColor(ContextCompat.getColor(this, R.color.white))
}
override fun onDismiss(dialog: DialogInterface?) {
// 切换主体弹窗消失
// 更改页面标题背景色
viewBind.bvTopBar.setBackgroundColor(ContextCompat.getColor(this, R.color.transparent))
} }
} }
...@@ -10,7 +10,7 @@ ext { ...@@ -10,7 +10,7 @@ ext {
isUmengRelease : 'false', // 上线时改成true,使用上线版本的友盟配置 isUmengRelease : 'false', // 上线时改成true,使用上线版本的友盟配置
isApplication : false, isApplication : false,
isAppUpgradeOnline: 'true', // 上线前需要开启版本升级线上环境 true isAppUpgradeOnline: 'true', // 上线前需要开启版本升级线上环境 true
towerApiEnv : '"2"' // Tower Api环境 0:测试环境 1:内网-正式环境 2:外网-正式环境 3:内网外网-正式环境 towerApiEnv : '"0"' // Tower Api环境 0:测试环境 1:内网-正式环境 2:外网-正式环境 3:内网外网-正式环境
] ]
// 高德地图的key // 高德地图的key
amap = [ amap = [
......
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