HomeConsultItemView.kt 4.06 KB
Newer Older
徐健 committed
1 2 3 4 5 6 7 8 9
package com.yidianling.home.ui.view

import android.content.Context
import android.text.TextUtils
import android.view.View
import android.view.ViewGroup
import android.widget.FrameLayout
import com.ydl.ydl_image.config.SimpleImageOpConfiger
import com.ydl.ydl_image.manager.YDLImageCacheManager
徐健 committed
10 11
import com.ydl.ydlcommon.utils.StringUtils
import com.ydl.ydlcommon.utils.URLUtils
徐健 committed
12
import com.yidianling.common.tools.RxImageTool
konghaorui committed
13 14 15
import com.yidianling.home.R
import com.yidianling.home.event.IHomeBaseEvent
import com.yidianling.home.model.bean.HomeConsultBean
konghaorui committed
16
import kotlinx.android.synthetic.ydl.home_consult_item_view.view.*
徐健 committed
17 18 19 20 21 22 23 24

/**
 * @author jiucheng
 * @描述:首页咨询理解模块--专家个人信息view
 * @Copyright Copyright (c) 2018
 * @Company 壹点灵
 * @date 2019/2/16
 */
25
class HomeConsultItemView(private var mContext: Context, private var homeEvent: IHomeBaseEvent?) : FrameLayout(mContext) {
徐健 committed
26 27 28 29 30 31 32 33 34 35 36
    private var dp70 = 0

    init {
        initView()

        dp70 = RxImageTool.dip2px(70f)
    }

    private fun initView() {
        val params = FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
        layoutParams = params
konghaorui committed
37
        View.inflate(context, R.layout.home_consult_item_view, this)
徐健 committed
38 39 40 41 42 43 44 45 46 47 48
    }

    fun setData(bean: HomeConsultBean.ListBean?, position: Int, isLast: Boolean,cateId : String?) {
        if (bean == null) {
            visibility = View.GONE
            return
        }

        //设置头像
        setHead(bean)
        //设置名称
49
        tv_consult_name.text = bean.name
徐健 committed
50
        //咨询师标签
51
        tag_view.initData(StringUtils.strToList(bean.tags))
徐健 committed
52 53 54 55 56 57 58 59 60
        //设置向TA倾诉人数
        setConfideNum(bean)
        //设置接通率文案
        setConnection(bean)
        //设置向TA倾诉按钮状态
        setConfideButton(bean)
        //设置红包、原价
        setPrice(bean)
        this.setOnClickListener {
61
            val url = URLUtils.appendParmas(bean.linkUrl,"cateId",cateId)
徐健 committed
62 63 64 65 66 67 68 69 70
            homeEvent!!.consultItemClick(url,bean.doctorId)
        }
    }

    /**
     * 设置头像
     */
    private fun setHead(bean: HomeConsultBean.ListBean) {
        val op = SimpleImageOpConfiger()
徐健 committed
71 72
        op.errorPic = R.drawable.platform_head_place_hold_pic
        op.loadingPic = R.drawable.platform_head_place_hold_pic
徐健 committed
73
        op.transform = 0
74
        YDLImageCacheManager.showImage(mContext, bean.head, img_consult_head, op)
徐健 committed
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
    }

    /**
     * 设置向TA倾诉人数
     */
    private fun setConfideNum(bodyBean: HomeConsultBean.ListBean) {
        if (TextUtils.isEmpty(bodyBean.zixunOrderNum.toString())) {
            tv_consult_num.visibility = View.GONE
            tv_tv_consult_num_content.visibility = View.GONE
        } else {
            tv_consult_num.visibility = View.VISIBLE
            tv_tv_consult_num_content.visibility = View.VISIBLE
            tv_consult_num.text = bodyBean.zixunOrderNum.toString()
        }
    }

    /**
     * 设置接通率文案
     */
    private fun setConnection(bodyBean: HomeConsultBean.ListBean) {
        if (TextUtils.isEmpty(bodyBean.feedbackRate.toString())) {
            tv_feedback_rate.visibility = View.INVISIBLE
            tv_feedback_rate_content.visibility = View.INVISIBLE
        } else {
            tv_feedback_rate.visibility = View.VISIBLE
            tv_feedback_rate_content.visibility = View.VISIBLE
            try {
                val dd = bodyBean.feedbackRate/5.00f
                val str = String.format("%.2f",dd*100f)+"%"
                tv_feedback_rate.text = str
            }catch (e:Exception){
                e.printStackTrace()
            }
        }
    }

    /**
     * 设置咨询按钮事件
     */
    private fun setConfideButton(bodyBean: HomeConsultBean.ListBean) {
        tv_consult_chat.setOnClickListener {
konghaorui committed
116
            homeEvent!!.consultChatClick(bodyBean.uid.toString())
徐健 committed
117 118 119 120
        }
    }

    private fun setPrice(bodyBean: HomeConsultBean.ListBean) {
121
        val confideFee = bodyBean.minBookingPrice
徐健 committed
122 123 124 125
        val sb = StringBuffer()
        tv_price.text = sb.append("¥").append(confideFee).toString()
    }
}