Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
YDL-Component-Medical
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
杨凯
YDL-Component-Medical
Commits
226260c7
Commit
226260c7
authored
Mar 31, 2020
by
徐健
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' of
ssh://gitlab.yidianling.com:2224/app_android_lib/YDL-Component
into dev
parents
a364e4aa
15aa6381
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
295 additions
and
141 deletions
+295
-141
config.gradle
config.gradle
+4
-4
ExpertSearchActivity.kt
m-consultant/src/main/java/com/yidianling/consultant/ExpertSearchActivity.kt
+4
-4
ExpertSearchFragment.kt
m-consultant/src/main/java/com/yidianling/consultant/ExpertSearchFragment.kt
+156
-55
ExpertSearchAdapter.kt
m-consultant/src/main/java/com/yidianling/consultant/adapter/ExpertSearchAdapter.kt
+118
-78
ConsultBIConstants.kt
m-consultant/src/main/java/com/yidianling/consultant/constants/ConsultBIConstants.kt
+13
-0
No files found.
config.gradle
View file @
226260c7
...
...
@@ -42,8 +42,8 @@ ext {
ydlPublishVersion
=
[
// -------------- 业务模块 --------------
//第三步 若干
"m-confide"
:
"0.0.48.7.1
6
"
,
"m-consultant"
:
"0.0.57.
4
"
,
"m-confide"
:
"0.0.48.7.1
8
"
,
"m-consultant"
:
"0.0.57.
6
"
,
"m-fm"
:
"0.0.29.3"
,
"m-user"
:
"0.0.60.1"
,
"m-home"
:
"0.0.19.1"
,
...
...
@@ -75,7 +75,7 @@ ext {
"ydl-webview"
:
"0.0.38.27"
,
"ydl-media"
:
"0.0.20"
,
"ydl-pay"
:
"0.0.17"
,
"m-audioim"
:
"0.0.48.3.
5
"
,
"m-audioim"
:
"0.0.48.3.
7
"
,
"ydl-flutter-base"
:
"0.0.10.9"
,
//以下 几乎不会动
...
...
@@ -121,7 +121,7 @@ ext {
"ydl-webview"
:
"0.0.38.24"
,
"ydl-media"
:
"0.0.20"
,
"ydl-pay"
:
"0.0.17"
,
"m-audioim"
:
"0.0.48.3.
5
"
,
"m-audioim"
:
"0.0.48.3.
7
"
,
"ydl-flutter-base"
:
"0.0.10.9"
,
//以下 几乎不会动
...
...
m-consultant/src/main/java/com/yidianling/consultant/ExpertSearchActivity.kt
View file @
226260c7
...
...
@@ -172,8 +172,8 @@ class ExpertSearchActivity : BaseMvpActivity<IExpertSearchView, ExpertSearchPres
private
var
headData
:
HeadData
?
=
null
//筛选数据
private
var
isFromSplash
=
false
private
val
props1
=
JSONObject
()
//筛选标题埋点参数
private
var
fromPageType
:
Int
=
0
//从哪个页面跳转过来的
private
val
fromPages
=
arrayOf
(
"首页
搜索"
,
"找专家
"
,
"在线专家"
)
private
var
fromPageType
:
Int
=
1
//从哪个页面跳转过来的
private
val
fromPages
=
arrayOf
(
"首页
"
,
"搜索页面
"
,
"在线专家"
)
private
var
isRecommend
=
false
//埋点数据
private
var
keyWord
:
String
?
=
null
//埋点数据
private
var
isDoSearch
:
Boolean
=
false
//埋点判断是否通过搜索进入埋点的
...
...
@@ -380,7 +380,7 @@ class ExpertSearchActivity : BaseMvpActivity<IExpertSearchView, ExpertSearchPres
v_loading
.
setViewType
(
LogoLoadingView
.
TYPE_LOADING
,
null
)
if
(
fromPageType
!=
-
1
)
{
doctorAdapter
.
setEntrance
(
fromPages
[
fromPageType
])
doctorAdapter
.
setEntrance
(
fromPages
[
fromPageType
]
,
1
)
}
}
...
...
@@ -1454,7 +1454,7 @@ class ExpertSearchActivity : BaseMvpActivity<IExpertSearchView, ExpertSearchPres
override
fun
onResume
()
{
super
.
onResume
()
ActionCountUtils
.
count
(
ConsultBIConstants
.
Consult
Event
.
APP_CONSULT
_LIST_PAGE_VISIT
)
ActionCountUtils
.
count
(
ConsultBIConstants
.
Consult
SearchListEvent
.
APP_CONSULT_SEARCH
_LIST_PAGE_VISIT
)
}
...
...
m-consultant/src/main/java/com/yidianling/consultant/ExpertSearchFragment.kt
View file @
226260c7
...
...
@@ -57,7 +57,8 @@ import kotlinx.android.synthetic.main.consultant_layout_search_toolbar.*
import
org.json.JSONObject
import
java.util.concurrent.Executors
class
ExpertSearchFragment
:
BaseMvpFragment
<
IExpertSearchView
,
ExpertSearchPresenter
>(),
View
.
OnClickListener
,
IExpertSearchView
,
class
ExpertSearchFragment
:
BaseMvpFragment
<
IExpertSearchView
,
ExpertSearchPresenter
>(),
View
.
OnClickListener
,
IExpertSearchView
,
OnCategoriesSelectedListener
,
OnSortItemSelectedListener
,
OnFilterConfirmListener
,
SwipeRefreshLayout
.
OnRefreshListener
{
...
...
@@ -68,9 +69,9 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
override
fun
initDataAndEvent
()
{
var
statusBarHeight
=
StatusBarUtils
.
getStatusBarHeight
(
context
);
rootView
.
setPadding
(
0
,
statusBarHeight
,
0
,
0
)
rootView
.
setPadding
(
0
,
statusBarHeight
,
0
,
0
)
btn_back
.
visibility
=
View
.
GONE
title_layout
.
setPadding
(
DisplayUtils
.
dp2px
(
context
,
15
),
0
,
0
,
0
)
title_layout
.
setPadding
(
DisplayUtils
.
dp2px
(
context
,
15
),
0
,
0
,
0
)
initViews
()
initData
()
}
...
...
@@ -91,7 +92,13 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
}
}
override
fun
showImage
(
url
:
String
?,
imgView
:
ImageView
,
width
:
Int
,
heigh
:
Int
,
ops
:
SimpleImageOpConfiger
)
{
override
fun
showImage
(
url
:
String
?,
imgView
:
ImageView
,
width
:
Int
,
heigh
:
Int
,
ops
:
SimpleImageOpConfiger
)
{
if
(
isAdded
)
{
YDLImageCacheManager
.
showImage
(
activity
,
url
,
imgView
,
width
,
heigh
,
ops
)
}
...
...
@@ -132,7 +139,7 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
private
var
headData
:
HeadData
?
=
null
//筛选数据
private
val
props1
=
JSONObject
()
//筛选标题埋点参数
private
var
fromPageType
:
Int
=
0
//从哪个页面跳转过来的
private
val
fromPages
=
arrayOf
(
"首页
搜索"
,
"找专家
"
,
"在线专家"
)
private
val
fromPages
=
arrayOf
(
"首页
"
,
"搜索页面
"
,
"在线专家"
)
private
var
isRecommend
=
false
//埋点数据
private
var
keyWord
:
String
?
=
null
//埋点数据
private
var
isDoSearch
:
Boolean
=
false
//埋点判断是否通过搜索进入埋点的
...
...
@@ -152,12 +159,18 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
btn_call
.
setOnClickListener
(
this
)
tv_guide
.
setOnClickListener
(
this
)
rl_search
.
setOnClickListener
(
this
)
srlContainer
.
setColorSchemeColors
(
ContextCompat
.
getColor
(
activity
,
R
.
color
.
consultant_main_theme
))
srlContainer
.
setColorSchemeColors
(
ContextCompat
.
getColor
(
activity
,
R
.
color
.
consultant_main_theme
)
)
srlContainer
.
setProgressViewOffset
(
false
,
0
,
200
)
srlContainer
.
setOnRefreshListener
(
this
)
initNetLossView
()
recommendListView
.
addViewPagerScrollStateListener
(
object
:
RecommendListView
.
ViewPagerScrollStateCallback
{
recommendListView
.
addViewPagerScrollStateListener
(
object
:
RecommendListView
.
ViewPagerScrollStateCallback
{
override
fun
viewPagerScroll
(
isScrolling
:
Boolean
)
{
//如果viewpager正在滚动,则禁止下拉刷新
srlContainer
.
isEnabled
=
!
isScrolling
...
...
@@ -210,7 +223,9 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
var
alpha
=
PropertyValuesHolder
.
ofFloat
(
"alpha"
,
1f
,
0f
)
var
scaleX
=
PropertyValuesHolder
.
ofFloat
(
"scaleX"
,
1f
,
0f
)
var
scaleY
=
PropertyValuesHolder
.
ofFloat
(
"scaleY"
,
1f
,
0f
)
var
animator
=
ObjectAnimator
.
ofPropertyValuesHolder
(
image_scroll_top
,
alpha
,
scaleX
,
scaleY
).
setDuration
(
200
)
var
animator
=
ObjectAnimator
.
ofPropertyValuesHolder
(
image_scroll_top
,
alpha
,
scaleX
,
scaleY
)
.
setDuration
(
200
)
animator
.
addListener
(
object
:
AnimatorListenerAdapter
()
{
override
fun
onAnimationEnd
(
animation
:
Animator
)
{
image_scroll_top
.
visibility
=
View
.
GONE
...
...
@@ -227,7 +242,9 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
var
alpha
=
PropertyValuesHolder
.
ofFloat
(
"alpha"
,
0f
,
1f
)
var
scaleX
=
PropertyValuesHolder
.
ofFloat
(
"scaleX"
,
0f
,
1f
)
var
scaleY
=
PropertyValuesHolder
.
ofFloat
(
"scaleY"
,
0f
,
1f
)
var
animator
=
ObjectAnimator
.
ofPropertyValuesHolder
(
image_scroll_top
,
alpha
,
scaleX
,
scaleY
).
setDuration
(
200
)
var
animator
=
ObjectAnimator
.
ofPropertyValuesHolder
(
image_scroll_top
,
alpha
,
scaleX
,
scaleY
)
.
setDuration
(
200
)
animator
.
addListener
(
object
:
AnimatorListenerAdapter
()
{
override
fun
onAnimationEnd
(
animation
:
Animator
)
{
image_scroll_top
.
visibility
=
View
.
VISIBLE
...
...
@@ -244,7 +261,9 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
var
alpha
=
PropertyValuesHolder
.
ofFloat
(
"alpha"
,
1f
,
0f
)
var
scaleX
=
PropertyValuesHolder
.
ofFloat
(
"scaleX"
,
1f
,
0f
)
var
scaleY
=
PropertyValuesHolder
.
ofFloat
(
"scaleY"
,
1f
,
0f
)
var
animator
=
ObjectAnimator
.
ofPropertyValuesHolder
(
image_scroll_top
,
alpha
,
scaleX
,
scaleY
).
setDuration
(
200
)
var
animator
=
ObjectAnimator
.
ofPropertyValuesHolder
(
image_scroll_top
,
alpha
,
scaleX
,
scaleY
)
.
setDuration
(
200
)
animator
.
addListener
(
object
:
AnimatorListenerAdapter
()
{
override
fun
onAnimationEnd
(
animation
:
Animator
)
{
image_scroll_top
.
visibility
=
View
.
GONE
...
...
@@ -282,7 +301,7 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
super
.
setUserVisibleHint
(
isVisibleToUser
)
if
(
isVisibleToUser
&&
isResumed
)
{
showConsultAssistantDialog
()
}
else
{
}
else
{
hideConsultAssistantDialog
()
}
if
(
isVisibleToUser
&&
isResumed
)
{
...
...
@@ -336,7 +355,7 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
v_loading
.
setViewType
(
LogoLoadingView
.
TYPE_LOADING
,
null
)
if
(
fromPageType
!=
-
1
)
{
doctorAdapter
.
setEntrance
(
fromPages
[
fromPageType
])
doctorAdapter
.
setEntrance
(
fromPages
[
fromPageType
]
,
0
)
}
}
...
...
@@ -348,7 +367,7 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
StatusBarUtils
.
setTransparentForImageView
(
activity
,
null
)
val
statusBarHeight
=
StatusBarUtils
.
getStatusBarHeight
(
context
)
val
lp1
=
title_layout
.
layoutParams
as
LinearLayout
.
LayoutParams
val
lp1
=
title_layout
.
layoutParams
as
LinearLayout
.
LayoutParams
lp1
.
height
=
(
RxImageTool
.
dp2px
(
48f
)
+
statusBarHeight
)
title_layout
.
setPadding
(
0
,
statusBarHeight
,
0
,
0
)
}
...
...
@@ -477,7 +496,7 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
if
(
hasSelectedArea
)
{
for
((
index
,
bean
)
in
headData
!!
.
highlighter
.
withIndex
())
{
if
(
bean
.
type
==
"2"
||
bean
.
type
==
"8"
)
{
var
textview
=
lin_filter2
.
getChildAt
(
index
)
as
TextView
var
textview
=
lin_filter2
.
getChildAt
(
index
)
as
TextView
textview
.
isSelected
=
false
textview
.
paint
.
isFakeBoldText
=
false
}
...
...
@@ -519,7 +538,7 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
if
(
hasSelectedSort
)
{
for
((
index
,
bean
)
in
headData
!!
.
highlighter
.
withIndex
())
{
if
(
bean
.
type
==
"3"
)
{
var
textview
=
lin_filter2
.
getChildAt
(
index
)
as
TextView
var
textview
=
lin_filter2
.
getChildAt
(
index
)
as
TextView
textview
.
isSelected
=
false
textview
.
paint
.
isFakeBoldText
=
false
}
...
...
@@ -538,9 +557,10 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
}
}
when
{
allFilter
.
reorder
.
value
.
equals
(
"综合排序"
)
->
tvSort
.
text
=
"排序"
allFilter
.
reorder
.
value
?.
length
?:
0
>
4
->
tvSort
.
text
=
allFilter
.
reorder
.
value
?.
substring
(
0
,
3
)
+
"..."
else
->
tvSort
.
text
=
allFilter
.
reorder
.
value
allFilter
.
reorder
.
value
.
equals
(
"综合排序"
)
->
tvSort
.
text
=
"排序"
allFilter
.
reorder
.
value
?.
length
?:
0
>
4
->
tvSort
.
text
=
allFilter
.
reorder
.
value
?.
substring
(
0
,
3
)
+
"..."
else
->
tvSort
.
text
=
allFilter
.
reorder
.
value
}
}
}
...
...
@@ -633,7 +653,7 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
if
(
hasSelectedArea
)
{
for
((
index
,
bean
)
in
headData
!!
.
highlighter
.
withIndex
())
{
if
(
bean
.
type
==
"2"
||
bean
.
type
==
"8"
)
{
var
textview
=
lin_filter2
.
getChildAt
(
index
)
as
TextView
var
textview
=
lin_filter2
.
getChildAt
(
index
)
as
TextView
textview
.
isSelected
=
false
textview
.
paint
.
isFakeBoldText
=
false
}
...
...
@@ -643,7 +663,11 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
bean
.
key
=
hotData
.
id
bean
.
value
=
hotData
.
value
for
(
headBean
in
headData
!!
.
region
)
{
if
(
TextUtils
.
equals
(
headBean
.
key
!!
.
substring
(
0
,
2
),
bean
.
key
!!
.
substring
(
0
,
2
)))
{
if
(
TextUtils
.
equals
(
headBean
.
key
!!
.
substring
(
0
,
2
),
bean
.
key
!!
.
substring
(
0
,
2
)
)
)
{
allFilter
.
region
=
headBean
break
}
...
...
@@ -677,14 +701,14 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
if
(
lin_filter2
.
childCount
>
0
)
{
//清空选中
for
(
i
in
0
.
until
(
lin_filter2
.
childCount
))
{
val
textView
=
lin_filter2
.
getChildAt
(
i
)
as
TextView
val
textView
=
lin_filter2
.
getChildAt
(
i
)
as
TextView
textView
.
isSelected
=
false
textView
.
paint
.
isFakeBoldText
=
false
}
//重置选中状态
for
((
index
,
other
)
in
otherdata
.
withIndex
())
{
for
(
i
in
0
until
lin_filter2
.
childCount
)
{
val
textView
=
lin_filter2
.
getChildAt
(
i
)
as
TextView
val
textView
=
lin_filter2
.
getChildAt
(
i
)
as
TextView
if
(
textView
.
text
==
other
.
value
)
{
textView
.
isSelected
=
true
textView
.
paint
.
isFakeBoldText
=
true
...
...
@@ -695,7 +719,11 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
}
//服务列表数据获取到后的回调
override
fun
onServiceListFetched
(
data
:
MutableList
<
DoctorServiceItem
>,
page
:
Int
,
totalPage
:
Int
)
{
override
fun
onServiceListFetched
(
data
:
MutableList
<
DoctorServiceItem
>,
page
:
Int
,
totalPage
:
Int
)
{
LogUtil
.
d
(
"onServiceListFetched"
)
// if (rvExperts.adapter != serviceAdapter) {
// rvExperts.adapter = serviceAdapter
...
...
@@ -732,7 +760,11 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
}
//专家列表数据获取到后的回调
override
fun
onDoctorListFetched
(
data
:
MutableList
<
DoctorServiceItem
>,
page
:
Int
,
totalPage
:
Int
)
{
override
fun
onDoctorListFetched
(
data
:
MutableList
<
DoctorServiceItem
>,
page
:
Int
,
totalPage
:
Int
)
{
LogUtil
.
d
(
"onDoctorListFetched"
)
if
(
rvExperts
.
adapter
!=
doctorAdapter
)
{
rvExperts
.
adapter
=
doctorAdapter
...
...
@@ -774,7 +806,10 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
isRecommend
=
false
if
(
curPage
==
1
)
{
v_loading
.
setViewType
(
LogoLoadingView
.
TYPE_NET_LOSS
,
getString
(
R
.
string
.
consultant_reload_hint
))
v_loading
.
setViewType
(
LogoLoadingView
.
TYPE_NET_LOSS
,
getString
(
R
.
string
.
consultant_reload_hint
)
)
v_loading
.
visibility
=
View
.
VISIBLE
ll_network_error
.
visibility
=
View
.
GONE
...
...
@@ -803,7 +838,10 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
if
(
msg
!=
null
)
{
ToastUtil
.
toastShort
(
msg
)
}
v_loading
.
setViewType
(
LogoLoadingView
.
TYPE_NET_LOSS
,
getString
(
R
.
string
.
consultant_reload_hint
))
v_loading
.
setViewType
(
LogoLoadingView
.
TYPE_NET_LOSS
,
getString
(
R
.
string
.
consultant_reload_hint
)
)
v_loading
.
visibility
=
View
.
VISIBLE
ll_network_error
.
visibility
=
View
.
GONE
...
...
@@ -861,7 +899,7 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
R
.
id
.
tv_guide
->
{
ActionCountUtils
.
count
(
ConsultBIConstants
.
ConsultEvent
.
APP_CONSULT_LIST_CONSULT_GUIDE_CLICK
)
val
h5param
=
H5Params
(
HttpConfig
.
H5_URL
+
"help/consultation/"
,
"咨询指南"
)
val
h5param
=
H5Params
(
HttpConfig
.
H5_URL
+
"help/consultation/"
,
"咨询指南"
)
h5param
.
isShowMenu
=
true
NewH5Activity
.
start
(
context
,
h5param
)
}
...
...
@@ -873,7 +911,7 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
R
.
id
.
rl_search
->
{
ARouter
.
getInstance
()
.
build
(
"/consult/hot_search"
)
.
withString
(
HOT_SEARCH_DOCTOR_NAME
,
tv_search_content
.
text
.
toString
())
.
withString
(
HOT_SEARCH_DOCTOR_NAME
,
tv_search_content
.
text
.
toString
())
.
navigation
()
}
}
...
...
@@ -912,7 +950,10 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
filterPopupWindow
.
setOnDismissListener
{
// viewDim.visibility = View.INVISIBLE
viewDim_filter
.
visibility
=
View
.
GONE
if
(
allFilter
.
others
.
size
+
allFilter
.
enquiries
.
size
+
allFilter
.
ages
.
size
+
allFilter
.
title
.
size
>
0
||
!
TextUtils
.
isEmpty
(
allFilter
.
priceRanges
?.
minPrice
)
||
!
TextUtils
.
isEmpty
(
allFilter
.
priceRanges
?.
maxPrice
))
{
if
(
allFilter
.
others
.
size
+
allFilter
.
enquiries
.
size
+
allFilter
.
ages
.
size
+
allFilter
.
title
.
size
>
0
||
!
TextUtils
.
isEmpty
(
allFilter
.
priceRanges
?.
minPrice
)
||
!
TextUtils
.
isEmpty
(
allFilter
.
priceRanges
?.
maxPrice
)
)
{
updateFilterTextViewStatus
(
tvFilter
,
FILTER_STATUS_FILTERED
)
}
else
{
updateFilterTextViewStatus
(
tvFilter
,
FILTER_STATUS_NORMAL
)
...
...
@@ -935,8 +976,19 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
//筛选确认回调
override
fun
onFilterConfirmed
()
{
updateFilterTextViewStatus
(
tvFilter
,
FILTER_STATUS_OPEN
)
LogUtil
.
d
(
"filter: "
+
tempFilter
.
showType
.
value
+
","
+
tempFilter
.
enquiries
.
map
{
it
.
value
}.
joinToString
(
","
)
+
","
+
tempFilter
.
ages
.
map
{
it
.
value
}.
joinToString
(
","
)
+
","
+
tempFilter
.
others
.
map
{
it
.
value
}.
joinToString
(
","
))
props1
.
put
(
"filtrate_second"
,
tempFilter
.
showType
.
value
+
","
+
tempFilter
.
enquiries
.
map
{
it
.
value
}.
joinToString
(
","
)
+
","
+
tempFilter
.
ages
.
map
{
it
.
value
}.
joinToString
(
","
)
+
","
+
tempFilter
.
others
.
map
{
it
.
value
}.
joinToString
(
","
))
LogUtil
.
d
(
"filter: "
+
tempFilter
.
showType
.
value
+
","
+
tempFilter
.
enquiries
.
map
{
it
.
value
}.
joinToString
(
","
)
+
","
+
tempFilter
.
ages
.
map
{
it
.
value
}.
joinToString
(
","
)
+
","
+
tempFilter
.
others
.
map
{
it
.
value
}.
joinToString
(
","
)
)
props1
.
put
(
"filtrate_second"
,
tempFilter
.
showType
.
value
+
","
+
tempFilter
.
enquiries
.
map
{
it
.
value
}.
joinToString
(
","
)
+
","
+
tempFilter
.
ages
.
map
{
it
.
value
}.
joinToString
(
","
)
+
","
+
tempFilter
.
others
.
map
{
it
.
value
}.
joinToString
(
","
)
)
BuryPointUtils
.
buryPoint
(
"Filtrate"
,
props1
)
...
...
@@ -957,13 +1009,17 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
if
(
headData
!!
.
highlighter
.
size
>
0
)
{
for
(
index
in
0
.
until
(
headData
!!
.
highlighter
.
size
))
{
if
(
headData
!!
.
highlighter
[
index
].
type
==
"4"
)
{
var
textview
=
lin_filter2
.
getChildAt
(
index
)
as
TextView
var
textview
=
lin_filter2
.
getChildAt
(
index
)
as
TextView
activity
.
runOnUiThread
{
textview
.
isSelected
=
false
textview
.
paint
.
isFakeBoldText
=
false
}
for
(
bean
in
allFilter
.
enquiries
)
{
if
(
TextUtils
.
equals
(
bean
.
key
.
toString
(),
headData
!!
.
highlighter
[
index
].
id
))
{
if
(
TextUtils
.
equals
(
bean
.
key
.
toString
(),
headData
!!
.
highlighter
[
index
].
id
)
)
{
activity
.
runOnUiThread
{
textview
.
isSelected
=
true
textview
.
paint
.
isFakeBoldText
=
true
...
...
@@ -973,13 +1029,17 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
}
}
if
(
headData
!!
.
highlighter
[
index
].
type
==
"5"
)
{
var
textview
=
lin_filter2
.
getChildAt
(
index
)
as
TextView
var
textview
=
lin_filter2
.
getChildAt
(
index
)
as
TextView
activity
.
runOnUiThread
{
textview
.
isSelected
=
false
textview
.
paint
.
isFakeBoldText
=
false
}
for
(
bean
in
allFilter
.
ages
)
{
if
(
TextUtils
.
equals
(
bean
.
value
.
toString
(),
headData
!!
.
highlighter
[
index
].
id
))
{
if
(
TextUtils
.
equals
(
bean
.
value
.
toString
(),
headData
!!
.
highlighter
[
index
].
id
)
)
{
activity
.
runOnUiThread
{
textview
.
isSelected
=
true
textview
.
paint
.
isFakeBoldText
=
true
...
...
@@ -989,13 +1049,17 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
}
}
if
(
headData
!!
.
highlighter
[
index
].
type
==
"6"
)
{
var
textview
=
lin_filter2
.
getChildAt
(
index
)
as
TextView
var
textview
=
lin_filter2
.
getChildAt
(
index
)
as
TextView
activity
.
runOnUiThread
{
textview
.
isSelected
=
false
textview
.
paint
.
isFakeBoldText
=
false
}
for
(
bean
in
allFilter
.
others
)
{
if
(
TextUtils
.
equals
(
bean
.
key
.
toString
(),
headData
!!
.
highlighter
[
index
].
id
))
{
if
(
TextUtils
.
equals
(
bean
.
key
.
toString
(),
headData
!!
.
highlighter
[
index
].
id
)
)
{
activity
.
runOnUiThread
{
textview
.
isSelected
=
true
textview
.
paint
.
isFakeBoldText
=
true
...
...
@@ -1006,13 +1070,17 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
}
if
(
headData
!!
.
highlighter
[
index
].
type
==
"7"
)
{
var
textview
=
lin_filter2
.
getChildAt
(
index
)
as
TextView
var
textview
=
lin_filter2
.
getChildAt
(
index
)
as
TextView
activity
.
runOnUiThread
{
textview
.
isSelected
=
false
textview
.
paint
.
isFakeBoldText
=
false
}
for
(
bean
in
allFilter
.
title
)
{
if
(
TextUtils
.
equals
(
bean
.
key
.
toString
(),
headData
!!
.
highlighter
[
index
].
id
))
{
if
(
TextUtils
.
equals
(
bean
.
key
.
toString
(),
headData
!!
.
highlighter
[
index
].
id
)
)
{
activity
.
runOnUiThread
{
textview
.
isSelected
=
true
textview
.
paint
.
isFakeBoldText
=
true
...
...
@@ -1086,8 +1154,10 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
//排序选择回调
override
fun
onSortItemSelected
(
sortItem
:
ReorderItem
)
{
ActionCountUtils
.
count
(
ConsultBIConstants
.
ConsultEvent
.
APP_CONSULT_LIST_SORT_CLICK
,
sortItem
.
value
?:
""
)
ActionCountUtils
.
count
(
ConsultBIConstants
.
ConsultEvent
.
APP_CONSULT_LIST_SORT_CLICK
,
sortItem
.
value
?:
""
)
if
(
sortItem
.
value
.
equals
(
"综合排序"
))
{
tvSort
.
text
=
"排序"
...
...
@@ -1101,7 +1171,7 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
if
(
headData
!!
.
highlighter
.
size
>
0
)
{
for
(
index
in
0
.
until
(
headData
!!
.
highlighter
.
size
))
{
if
(
headData
!!
.
highlighter
[
index
].
type
==
"3"
)
{
var
textview
=
lin_filter2
.
getChildAt
(
index
)
as
TextView
var
textview
=
lin_filter2
.
getChildAt
(
index
)
as
TextView
if
(
TextUtils
.
equals
(
sortItem
.
value
,
headData
!!
.
highlighter
[
index
].
value
))
{
textview
.
isSelected
=
true
textview
.
paint
.
isFakeBoldText
=
true
...
...
@@ -1127,8 +1197,10 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
//显示地区弹窗
private
fun
showAreaPopupWindow
()
{
if
(
headData
?.
region
!=
null
)
{
val
regionPopupWindow
=
AreaPopupWindow
(
activity
,
headData
?.
region
?:
ArrayList
(),
allFilter
.
region
,
allFilter
.
sub
)
val
regionPopupWindow
=
AreaPopupWindow
(
activity
,
headData
?.
region
?:
ArrayList
(),
allFilter
.
region
,
allFilter
.
sub
)
regionPopupWindow
.
showAsDropDown
(
viewSep2
)
viewDim
.
visibility
=
View
.
VISIBLE
updateFilterTextViewStatus
(
tvArea
,
FILTER_STATUS_OPEN
)
...
...
@@ -1140,7 +1212,8 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
updateFilterTextViewStatus
(
tvArea
,
FILTER_STATUS_NORMAL
)
}
}
regionPopupWindow
.
onRegionSelectedListener
=
object
:
AreaPopupWindow
.
OnRegionSelectedListener
{
regionPopupWindow
.
onRegionSelectedListener
=
object
:
AreaPopupWindow
.
OnRegionSelectedListener
{
override
fun
onRegionSelected
(
region
:
RegionItem
,
sub
:
SubItem
)
{
updateFilterTextViewStatus
(
tvArea
,
FILTER_STATUS_OPEN
)
allFilter
.
region
=
region
...
...
@@ -1169,13 +1242,16 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
tvArea
.
text
=
sub
.
value
}
}
ActionCountUtils
.
count
(
ConsultBIConstants
.
ConsultEvent
.
APP_CONSULT_LIST_AREA_CLICK
,
region
.
value
+
"|"
+
sub
.
value
)
ActionCountUtils
.
count
(
ConsultBIConstants
.
ConsultEvent
.
APP_CONSULT_LIST_AREA_CLICK
,
region
.
value
+
"|"
+
sub
.
value
)
//更新热门搜索显示状态
if
(
headData
!!
.
highlighter
.
size
>
0
)
{
for
((
index
,
hot
)
in
headData
!!
.
highlighter
!!
.
withIndex
())
{
if
(
hot
.
type
==
"2"
||
hot
.
type
==
"8"
)
{
var
textview
=
lin_filter2
.
getChildAt
(
index
)
as
TextView
var
textview
=
lin_filter2
.
getChildAt
(
index
)
as
TextView
//有选择城市
if
(!
TextUtils
.
isEmpty
(
sub
.
key
))
{
if
(
TextUtils
.
equals
(
sub
.
key
,
hot
.
id
))
{
...
...
@@ -1242,7 +1318,10 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
* 新增逻辑:当主题选择后,需要判断热门筛选中是否也有该主题,如果有,也需要同步更新选中状态
*/
override
fun
onCategoriesSelected
(
categories
:
ArrayList
<
CateItem
>)
{
ActionCountUtils
.
count
(
ConsultBIConstants
.
ConsultEvent
.
APP_CONSULT_LIST_THEME_CLICK
,
categories
.
map
{
it
.
cateName
}.
joinToString
(
"|"
))
ActionCountUtils
.
count
(
ConsultBIConstants
.
ConsultEvent
.
APP_CONSULT_LIST_THEME_CLICK
,
categories
.
map
{
it
.
cateName
}.
joinToString
(
"|"
)
)
if
(
categories
.
size
==
1
&&
"全部"
!=
categories
[
0
].
cateName
)
{
//显示选中标题
tvSubject
.
text
=
categories
[
0
].
cateName
...
...
@@ -1255,13 +1334,17 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
if
(
headData
!!
.
highlighter
.
size
>
0
)
{
for
(
index
in
0
.
until
(
headData
!!
.
highlighter
.
size
))
{
if
(
headData
!!
.
highlighter
[
index
].
type
==
"1"
)
{
var
textview
=
lin_filter2
.
getChildAt
(
index
)
as
TextView
var
textview
=
lin_filter2
.
getChildAt
(
index
)
as
TextView
activity
.
runOnUiThread
{
textview
.
isSelected
=
false
textview
.
paint
.
isFakeBoldText
=
false
}
for
(
bean
in
categories
)
{
if
(
TextUtils
.
equals
(
bean
.
cateName
,
headData
!!
.
highlighter
[
index
].
value
))
{
if
(
TextUtils
.
equals
(
bean
.
cateName
,
headData
!!
.
highlighter
[
index
].
value
)
)
{
activity
.
runOnUiThread
{
textview
.
isSelected
=
true
textview
.
paint
.
isFakeBoldText
=
true
...
...
@@ -1297,7 +1380,7 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
//刷新列表
private
fun
refresh
(
isShowRefresh
:
Boolean
?
=
true
)
{
srlContainer
.
isRefreshing
=
isShowRefresh
!!
val
key
=
tv_search_content
.
text
.
toString
()
val
key
=
tv_search_content
.
text
.
toString
()
if
(!
TextUtils
.
isEmpty
(
key
.
trim
()))
{
allFilter
.
searchWord
=
key
.
trim
()
}
else
{
...
...
@@ -1319,7 +1402,10 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
// return
// }
ActionCountUtils
.
count
(
ConsultBIConstants
.
UserMainEvent
.
YDL_USER_SEARCH_CLICK
,
keyWord
?:
""
)
ActionCountUtils
.
count
(
ConsultBIConstants
.
UserMainEvent
.
YDL_USER_SEARCH_CLICK
,
keyWord
?:
""
)
isDoSearch
=
true
resetFilter
()
refresh
()
...
...
@@ -1355,17 +1441,32 @@ class ExpertSearchFragment : BaseMvpFragment<IExpertSearchView, ExpertSearchPres
FILTER_STATUS_NORMAL
->
{
tv
.
typeface
=
Typeface
.
defaultFromStyle
(
Typeface
.
NORMAL
)
tv
.
setTextColor
(
ContextCompat
.
getColor
(
context
,
R
.
color
.
platform_colorTextDefault
))
tv
.
setCompoundDrawablesWithIntrinsicBounds
(
0
,
0
,
R
.
drawable
.
platform_ic_arrow_drop_down_grey_500_18dp
,
0
)
tv
.
setCompoundDrawablesWithIntrinsicBounds
(
0
,
0
,
R
.
drawable
.
platform_ic_arrow_drop_down_grey_500_18dp
,
0
)
}
FILTER_STATUS_FILTERED
->
{
tv
.
typeface
=
Typeface
.
DEFAULT_BOLD
tv
.
setTextColor
(
ContextCompat
.
getColor
(
context
,
R
.
color
.
consultant_main_theme
))
tv
.
setCompoundDrawablesWithIntrinsicBounds
(
0
,
0
,
R
.
drawable
.
platform_ic_arrow_drop_down_grey_500_18dp
,
0
)
tv
.
setCompoundDrawablesWithIntrinsicBounds
(
0
,
0
,
R
.
drawable
.
platform_ic_arrow_drop_down_grey_500_18dp
,
0
)
}
FILTER_STATUS_OPEN
->
{
tv
.
typeface
=
Typeface
.
DEFAULT_BOLD
tv
.
setTextColor
(
ContextCompat
.
getColor
(
context
,
R
.
color
.
platform_colorTextDefault
))
tv
.
setCompoundDrawablesWithIntrinsicBounds
(
0
,
0
,
R
.
drawable
.
consultant_ic_arrow_drop_down
,
0
)
tv
.
setCompoundDrawablesWithIntrinsicBounds
(
0
,
0
,
R
.
drawable
.
consultant_ic_arrow_drop_down
,
0
)
}
}
}
...
...
m-consultant/src/main/java/com/yidianling/consultant/adapter/ExpertSearchAdapter.kt
View file @
226260c7
...
...
@@ -38,8 +38,11 @@ import kotlinx.android.synthetic.main.consultant_item_tag.view.*
/**
* 专家服务列表适配器
*/
class
ExpertSearchAdapter
(
private
val
context
:
Context
,
private
val
expertSearchView
:
IExpertSearchView
,
private
val
listData
:
ArrayList
<
DoctorServiceItem
>)
:
RecyclerView
.
Adapter
<
RecyclerView
.
ViewHolder
>()
{
class
ExpertSearchAdapter
(
private
val
context
:
Context
,
private
val
expertSearchView
:
IExpertSearchView
,
private
val
listData
:
ArrayList
<
DoctorServiceItem
>
)
:
RecyclerView
.
Adapter
<
RecyclerView
.
ViewHolder
>()
{
companion
object
{
const
val
NORMAL_VIEW
=
0
...
...
@@ -48,14 +51,16 @@ class ExpertSearchAdapter(private val context: Context, private val expertSearch
}
//记录当前选择主题的id
var
cateId
:
String
?
=
null
var
cateId
:
String
?
=
null
var
hasMore
=
true
var
entranceName
:
String
?
=
null
var
pageIndex
:
Int
=
0
fun
setEntrance
(
entranceName
:
String
)
{
fun
setEntrance
(
entranceName
:
String
,
pageIndex
:
Int
)
{
this
.
entranceName
=
entranceName
this
.
pageIndex
=
pageIndex
}
@SuppressLint
(
"SetTextI18n"
)
...
...
@@ -66,47 +71,46 @@ class ExpertSearchAdapter(private val context: Context, private val expertSearch
val
headConfig
=
SimpleImageOpConfiger
()
headConfig
.
loadingPic
=
R
.
drawable
.
consultant_avatar_def_circle
headConfig
.
errorPic
=
R
.
drawable
.
consultant_avatar_def_circle
expertSearchView
.
showImage
(
itemBean
.
head
,
holder
.
imgHead
,
holder
.
imgHead
.
width
,
holder
.
imgHead
.
height
,
headConfig
)
expertSearchView
.
showImage
(
itemBean
.
head
,
holder
.
imgHead
,
holder
.
imgHead
.
width
,
holder
.
imgHead
.
height
,
headConfig
)
//姓名
holder
.
tvName
.
text
=
itemBean
.
name
// if (TextUtils.isEmpty(itemBean.famousRemark)){
// holder.group_desc.visibility = View.GONE
// }else{
// holder.group_desc.visibility = View.VISIBLE
// //描述
// holder.tvDesc.text = itemBean.famousRemark
// }
//服务中
if
(
itemBean
.
inConsult
||
itemBean
.
isListening
)
{
holder
.
imgHead_online_server
.
visibility
=
View
.
VISIBLE
holder
.
chat_people_in_question
.
visibility
=
View
.
GONE
holder
.
imgHead_online
.
visibility
=
View
.
GONE
}
else
{
}
else
{
//不是服务中且问询人数大于0
if
(
itemBean
.
chatNum
>
5
)
{
holder
.
chat_people_in_question
.
visibility
=
View
.
VISIBLE
holder
.
chat_people_in_question
.
text
=
"多人在问询"
}
else
if
(
itemBean
.
chatNum
>
0
)
{
}
else
if
(
itemBean
.
chatNum
>
0
)
{
holder
.
chat_people_in_question
.
visibility
=
View
.
VISIBLE
holder
.
chat_people_in_question
.
text
=
"${itemBean.chatNum}人在问询"
}
else
{
}
else
{
holder
.
chat_people_in_question
.
visibility
=
View
.
GONE
}
//可预约
holder
.
imgHead_online_server
.
visibility
=
View
.
GONE
if
(
itemBean
.
isTodayFree
==
true
){
if
(
itemBean
.
isTodayFree
==
true
)
{
holder
.
imgHead_online
.
visibility
=
View
.
VISIBLE
}
else
{
}
else
{
holder
.
imgHead_online
.
visibility
=
View
.
GONE
}
}
//省市
if
(!
TextUtils
.
isEmpty
(
itemBean
.
province
)){
holder
.
tvCity
.
text
=
itemBean
.
province
+
"·"
+
itemBean
.
city
}
else
{
if
(!
TextUtils
.
isEmpty
(
itemBean
.
province
))
{
holder
.
tvCity
.
text
=
itemBean
.
province
+
"·"
+
itemBean
.
city
}
else
{
holder
.
tvCity
.
text
=
""
}
...
...
@@ -151,20 +155,13 @@ class ExpertSearchAdapter(private val context: Context, private val expertSearch
holder
.
imgAbilityLevel
.
background
=
context
.
resources
.
getDrawable
(
R
.
drawable
.
consultant_expert_search_xinshou
)
holder
.
imgAbilityLevel
.
visibility
=
View
.
VISIBLE
}
// else if (3 == itemBean.abilityLevel){
// //精英
// holder.imgAbilityLevel.background = context.resources.getDrawable(R.drawable.consultant_expert_search_jingying)
// holder.imgAbilityLevel.visibility = View.VISIBLE
// }
else
{
}
else
{
holder
.
imgAbilityLevel
.
visibility
=
View
.
GONE
}
//活动图标
if
(!
TextUtils
.
isEmpty
(
itemBean
.
activityImg
))
{
holder
.
imgActivity
.
visibility
=
View
.
VISIBLE
GlideApp
.
with
(
context
).
load
(
itemBean
.
activityImg
).
into
(
holder
.
imgActivity
)
// GlideApp.with(context).load("https://video.ydlcdn.com/2019/11/04/abdd3782c98939d0406080a6a80b8ea5.jpg").into(holder.imgActivity)
}
else
{
holder
.
imgActivity
.
visibility
=
View
.
GONE
}
...
...
@@ -187,29 +184,38 @@ class ExpertSearchAdapter(private val context: Context, private val expertSearch
}
}
holder
.
ll_feedbackRate
.
removeAllViews
()
for
(
num
in
1
..
5
){
val
view
=
LayoutInflater
.
from
(
context
).
inflate
(
R
.
layout
.
consultant_expert_search_feedbackrate
,
holder
.
ll_feedbackRate
,
false
)
if
(
itemBean
.
feedbackRate
>=
num
){
(
view
.
imgRate
as
ImageView
).
background
=
context
.
resources
.
getDrawable
(
R
.
drawable
.
consultant_expert_search_full_star
)
}
else
if
(
itemBean
.
feedbackRate
<
num
&&
itemBean
.
feedbackRate
>
num
-
1
){
(
view
.
imgRate
as
ImageView
).
background
=
context
.
resources
.
getDrawable
(
R
.
drawable
.
consultant_expert_search_half_star
)
}
else
{
(
view
.
imgRate
as
ImageView
).
background
=
context
.
resources
.
getDrawable
(
R
.
drawable
.
consultant_expert_search_nothing_star
)
for
(
num
in
1
..
5
)
{
val
view
=
LayoutInflater
.
from
(
context
).
inflate
(
R
.
layout
.
consultant_expert_search_feedbackrate
,
holder
.
ll_feedbackRate
,
false
)
if
(
itemBean
.
feedbackRate
>=
num
)
{
(
view
.
imgRate
as
ImageView
).
background
=
context
.
resources
.
getDrawable
(
R
.
drawable
.
consultant_expert_search_full_star
)
}
else
if
(
itemBean
.
feedbackRate
<
num
&&
itemBean
.
feedbackRate
>
num
-
1
)
{
(
view
.
imgRate
as
ImageView
).
background
=
context
.
resources
.
getDrawable
(
R
.
drawable
.
consultant_expert_search_half_star
)
}
else
{
(
view
.
imgRate
as
ImageView
).
background
=
context
.
resources
.
getDrawable
(
R
.
drawable
.
consultant_expert_search_nothing_star
)
}
holder
.
ll_feedbackRate
.
addView
(
view
)
}
//XXX人点评
val
numSb
=
StringBuffer
()
holder
.
tv_zixunOrderNum
.
text
=
numSb
.
append
(
itemBean
.
zixunOrderNum
).
append
(
""
).
toString
()
holder
.
tv_zixunOrderNum
.
text
=
numSb
.
append
(
itemBean
.
zixunOrderNum
).
append
(
""
).
toString
()
//咨询师简介
holder
.
tvTeamCertifications
.
text
=
itemBean
.
teamCertifications
//咨询师标签
holder
.
ll_tags
.
removeAllViews
()
if
(!
TextUtils
.
isEmpty
(
itemBean
.
tags
)){
if
(!
TextUtils
.
isEmpty
(
itemBean
.
tags
))
{
val
tagList
=
itemBean
.
tags
!!
.
split
(
"|"
)
for
(
tag
in
tagList
)
{
if
(!
TextUtils
.
isEmpty
(
tag
)){
val
view
=
LayoutInflater
.
from
(
context
).
inflate
(
R
.
layout
.
consultant_item_tag
,
holder
.
ll_tags
,
false
)
if
(!
TextUtils
.
isEmpty
(
tag
))
{
val
view
=
LayoutInflater
.
from
(
context
)
.
inflate
(
R
.
layout
.
consultant_item_tag
,
holder
.
ll_tags
,
false
)
view
.
tvTag
.
text
=
tag
holder
.
ll_tags
.
addView
(
view
)
}
...
...
@@ -218,49 +224,61 @@ class ExpertSearchAdapter(private val context: Context, private val expertSearch
//帮助人数
val
orderUser
=
StringBuffer
()
holder
.
tvOrderNum
.
text
=
orderUser
.
append
(
itemBean
.
zixunOrderUser
).
append
(
""
).
toString
()
// if ( 50 <= itemBean.zixunOrderNum){
// holder.tvOrderNumContent.text = "帮助"
// holder.tvSaleDurationForMonth.visibility = View.VISIBLE
// holder.tvSaleDurationForMonthContent.visibility = View.VISIBLE
// }else{
// holder.tvOrderNumContent.text = "公益解答"
// holder.tvSaleDurationForMonth.visibility = View.GONE
// holder.tvSaleDurationForMonthContent.visibility = View.GONE
// }
//私聊文案
if
(
TextUtils
.
isEmpty
(
itemBean
.
chatBtnText
)){
if
(
TextUtils
.
isEmpty
(
itemBean
.
chatBtnText
))
{
holder
.
tvChat
.
text
=
"私聊"
holder
.
tvChat
.
setTextColor
(
ContextCompat
.
getColor
(
context
,
R
.
color
.
consultant_confirm_text_color
))
holder
.
tvChat
.
background
=
ContextCompat
.
getDrawable
(
context
,
R
.
drawable
.
consultant_expert_search_chat
)
}
else
{
holder
.
tvChat
.
setTextColor
(
ContextCompat
.
getColor
(
context
,
R
.
color
.
consultant_confirm_text_color
)
)
holder
.
tvChat
.
background
=
ContextCompat
.
getDrawable
(
context
,
R
.
drawable
.
consultant_expert_search_chat
)
}
else
{
holder
.
tvChat
.
text
=
itemBean
.
chatBtnText
holder
.
tvChat
.
setTextColor
(
ContextCompat
.
getColor
(
context
,
R
.
color
.
platform_color_999999
))
holder
.
tvChat
.
background
=
ContextCompat
.
getDrawable
(
context
,
R
.
drawable
.
consultant_expert_search_chat_rest
)
holder
.
tvChat
.
setTextColor
(
ContextCompat
.
getColor
(
context
,
R
.
color
.
platform_color_999999
)
)
holder
.
tvChat
.
background
=
ContextCompat
.
getDrawable
(
context
,
R
.
drawable
.
consultant_expert_search_chat_rest
)
}
//服务时长
val
durationStringBuffer
=
StringBuffer
()
holder
.
tvSaleDurationForMonth
.
text
=
durationStringBuffer
.
append
(
itemBean
.
allSaleDuration
.
toInt
()).
append
(
""
).
toString
()
holder
.
tvSaleDurationForMonth
.
text
=
durationStringBuffer
.
append
(
itemBean
.
allSaleDuration
.
toInt
()).
append
(
""
).
toString
()
//价格
val
sb
=
StringBuffer
()
holder
.
tvPrice
.
text
=
sb
.
append
(
""
).
append
(
itemBean
.
minBookingPrice
).
toString
()
//套餐
holder
.
ll_products
.
removeAllViews
()
if
(
null
!=
itemBean
.
products
&&
!
itemBean
.
products
.
isEmpty
()){
if
(
null
!=
itemBean
.
products
&&
!
itemBean
.
products
.
isEmpty
())
{
for
(
item
in
itemBean
.
products
)
{
val
view
=
LayoutInflater
.
from
(
context
).
inflate
(
R
.
layout
.
consultant_expert_search_products_item
,
holder
.
ll_tags
,
false
)
if
(
1
==
item
.
isPackage
){
val
view
=
LayoutInflater
.
from
(
context
).
inflate
(
R
.
layout
.
consultant_expert_search_products_item
,
holder
.
ll_tags
,
false
)
if
(
1
==
item
.
isPackage
)
{
view
.
tvTitle
.
text
=
"单次"
view
.
tvTitle
.
setTextColor
(
context
.
resources
.
getColor
(
R
.
color
.
platform_color_1DA1F2
))
view
.
tvTitle
.
background
=
context
.
resources
.
getDrawable
(
R
.
drawable
.
consultant_expert_search_single
)
view
.
tvTitle
.
background
=
context
.
resources
.
getDrawable
(
R
.
drawable
.
consultant_expert_search_single
)
view
.
tvContent
.
text
=
item
.
name
holder
.
ll_products
.
addView
(
view
)
}
else
if
(
2
==
item
.
isPackage
){
}
else
if
(
2
==
item
.
isPackage
)
{
view
.
tvTitle
.
text
=
"套餐"
view
.
tvTitle
.
setTextColor
(
context
.
resources
.
getColor
(
R
.
color
.
consultant_color_FF9500
))
view
.
tvTitle
.
background
=
context
.
resources
.
getDrawable
(
R
.
drawable
.
consultant_expert_search_menu
)
view
.
tvTitle
.
background
=
context
.
resources
.
getDrawable
(
R
.
drawable
.
consultant_expert_search_menu
)
view
.
tvContent
.
text
=
item
.
name
holder
.
ll_products
.
addView
(
view
)
}
else
{
}
else
{
}
}
...
...
@@ -277,7 +295,8 @@ class ExpertSearchAdapter(private val context: Context, private val expertSearch
}
}
override
fun
getItemCount
():
Int
=
if
(
listData
.
size
<
ExpertSearchActivity
.
PAGE_SIZE
&&
hasMore
)
{
override
fun
getItemCount
():
Int
=
if
(
listData
.
size
<
ExpertSearchActivity
.
PAGE_SIZE
&&
hasMore
)
{
listData
.
size
}
else
{
listData
.
size
+
1
...
...
@@ -286,15 +305,18 @@ class ExpertSearchAdapter(private val context: Context, private val expertSearch
override
fun
onCreateViewHolder
(
parent
:
ViewGroup
?,
viewType
:
Int
):
RecyclerView
.
ViewHolder
=
when
(
viewType
)
{
NORMAL_VIEW
->
{
val
view
=
LayoutInflater
.
from
(
context
).
inflate
(
R
.
layout
.
consultant_expert_search_item_view
,
parent
,
false
)
val
view
=
LayoutInflater
.
from
(
context
)
.
inflate
(
R
.
layout
.
consultant_expert_search_item_view
,
parent
,
false
)
NormalViewHolder
(
view
)
}
FOOT_VIEW
->
{
val
view
=
LayoutInflater
.
from
(
context
).
inflate
(
R
.
layout
.
consultant_item_footer
,
parent
,
false
)
val
view
=
LayoutInflater
.
from
(
context
)
.
inflate
(
R
.
layout
.
consultant_item_footer
,
parent
,
false
)
FooterViewHolder
(
view
)
}
else
->
{
val
view
=
LayoutInflater
.
from
(
context
).
inflate
(
R
.
layout
.
consultant_item_empty
,
parent
,
false
)
val
view
=
LayoutInflater
.
from
(
context
)
.
inflate
(
R
.
layout
.
consultant_item_empty
,
parent
,
false
)
EmptyViewHolder
(
view
)
}
}
...
...
@@ -362,27 +384,45 @@ class ExpertSearchAdapter(private val context: Context, private val expertSearch
val
itemBean
=
listData
[
adapterPosition
]
var
linkUrl
=
itemBean
.
linkUrl
if
(!
TextUtils
.
isEmpty
(
cateId
)){
linkUrl
=
URLUtils
.
appendParmas
(
linkUrl
,
"cateId"
,
cateId
)
if
(!
TextUtils
.
isEmpty
(
cateId
))
{
linkUrl
=
URLUtils
.
appendParmas
(
linkUrl
,
"cateId"
,
cateId
)
}
ActionCountUtils
.
count
(
ConsultBIConstants
.
ConsultEvent
.
APP_CONSULT_LIST_DOCTOR_CLICK
,
itemBean
.
doctorId
?:
""
)
TempH5RouteUtils
.
tempH5Route
(
linkUrl
)
// var params = URLDecoder.decode( Uri.parse(linkUrl)!!.getQueryParameter("params"),"UTF-8")
// ARouter.getInstance().build("/h5/h5").withSerializable("routerParam",params).navigation()
if
(
pageIndex
==
0
)
{
ActionCountUtils
.
count
(
ConsultBIConstants
.
ConsultEvent
.
APP_CONSULT_LIST_DOCTOR_CLICK
,
itemBean
.
doctorId
?:
""
)
}
else
{
ActionCountUtils
.
count
(
ConsultBIConstants
.
ConsultSearchListEvent
.
APP_CONSULT_SEARCH_LIST_CONSULT_ITEM_CLICK
,
itemBean
.
doctorId
?:
""
)
}
TempH5RouteUtils
.
tempH5Route
(
linkUrl
)
}
}
itemView
.
tvChat
.
setOnClickListener
{
if
(
adapterPosition
!=
RecyclerView
.
NO_POSITION
)
{
//判断是否已登录
if
(!
ConsultantIn
.
getUserImpl
().
isLogin
())
{
if
(!
ConsultantIn
.
getUserImpl
().
isLogin
())
{
TempH5RouteUtils
.
tempH5Route
(
IYDLRouterConstant
.
ROUTER_MINE_LOGIN
)
return
@setOnClickListener
}
val
doctor
=
listData
[
adapterPosition
]
ActionCountUtils
.
count
(
ConsultBIConstants
.
ConsultEvent
.
APP_CONSULT_LIST_CHAT_CLICK
,
doctor
.
doctorId
?:
""
)
if
(
pageIndex
==
0
)
{
ActionCountUtils
.
count
(
ConsultBIConstants
.
ConsultEvent
.
APP_CONSULT_LIST_CHAT_CLICK
,
doctor
.
doctorId
?:
""
)
}
else
{
ActionCountUtils
.
count
(
ConsultBIConstants
.
ConsultSearchListEvent
.
APP_CONSULT_SEARCH_LIST_CHAT_CLICK
,
doctor
.
doctorId
?:
""
)
}
if
(!
TextUtils
.
isEmpty
(
doctor
.
uid
))
{
//跳转私聊
...
...
@@ -393,9 +433,9 @@ class ExpertSearchAdapter(private val context: Context, private val expertSearch
if
(!
TextUtils
.
isEmpty
(
entranceName
))
{
LogUtil
.
d
(
"entrance name: $entranceName"
)
BuryPointUtils
.
getInstance
().
createMap
()
.
put
(
"expert_entrance"
,
entranceName
?:
""
)
.
put
(
"expert_ID"
,
doctor
.
doctorId
?:
0
)
.
put
(
"expert_name"
,
doctor
.
name
?:
""
)
.
put
(
"expert_entrance"
,
entranceName
?:
""
)
.
put
(
"expert_ID"
,
doctor
.
doctorId
?:
0
)
.
put
(
"expert_name"
,
doctor
.
name
?:
""
)
.
burryPoint
(
"Chat_click"
)
}
}
...
...
m-consultant/src/main/java/com/yidianling/consultant/constants/ConsultBIConstants.kt
View file @
226260c7
...
...
@@ -32,6 +32,19 @@ class ConsultBIConstants {
const
val
APP_CONSULT_LIST_CHAT_CLICK
:
String
=
APP_CONSULT_LIST_PAGE
+
"app_consult_list_chat_click"
//每个咨询师私聊
}
}
class
ConsultSearchListEvent
{
companion
object
{
private
const
val
CONSULT_SEARCH_LIST_PAGE
:
String
=
"consul_search_list_page|"
//APP咨询搜索列表页 partId
const
val
APP_CONSULT_SEARCH_LIST_PAGE_VISIT
:
String
=
CONSULT_SEARCH_LIST_PAGE
+
"consul_search_list_page_visit"
//列表页浏览事件
const
val
APP_CONSULT_SEARCH_LIST_CONSULT_ITEM_CLICK
:
String
=
CONSULT_SEARCH_LIST_PAGE
+
"consult_search_list_doctor_click "
//每个咨询师页面点击
const
val
APP_CONSULT_SEARCH_LIST_CHAT_CLICK
:
String
=
CONSULT_SEARCH_LIST_PAGE
+
"consult__search_list_chat_click"
//每个咨询师私聊
}
}
class
UserMainEvent
{
companion
object
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment