package com.kuanzhai.driver.ui.main.major
|
|
import android.view.View
|
import androidx.recyclerview.widget.LinearLayoutManager
|
import cn.sinata.xldutils.utils.clickDelay
|
import cn.sinata.xldutils.utils.getContent
|
import com.kuanzhai.driver.R
|
import com.kuanzhai.driver.base.BaseEvent
|
import com.kuanzhai.driver.base.MyBaseActivity
|
import com.kuanzhai.driver.bean.MajorListMoneyBean
|
import com.kuanzhai.driver.bean.MajorMoneyBean
|
import com.kuanzhai.driver.bean.OrderBean
|
import com.kuanzhai.driver.bean.OrderPoolingBean
|
import com.kuanzhai.driver.netUtls.Api
|
import com.kuanzhai.driver.netUtls.callNet
|
import com.kuanzhai.driver.netUtls.getMapByAny
|
import com.kuanzhai.driver.ui.adapter.MajorSureMoneyAdapter
|
import com.kuanzhai.driver.ui.adapter.MajorSureMoneyPoolingAdapter
|
import com.kuanzhai.driver.ui.main.OrderOverActivity
|
import com.kuanzhai.driver.ui.main.OrderOverPoolingActivity
|
import com.kuanzhai.driver.utils.AndroidBug5497Workaround
|
import kotlinx.android.synthetic.main.activity_sure_money_pooling.*
|
import org.greenrobot.eventbus.EventBus
|
import org.jetbrains.anko.startActivity
|
|
class MajorSureMoneyPoolingActivity :MyBaseActivity(){
|
|
val orderType by lazy {
|
intent.getStringExtra("orderType")
|
}
|
|
val orderId by lazy {
|
intent.getStringExtra("orderId")
|
}
|
|
val majorSureMoneyAdapter by lazy {
|
MajorSureMoneyPoolingAdapter()
|
}
|
|
override fun setContentView() {
|
setContentView(R.layout.activity_sure_money_pooling)
|
}
|
|
override fun initView() {
|
AndroidBug5497Workaround.assistActivity(this)
|
// var manager = SoftKeyBroadManager(window.decorView.rootView)
|
// manager.addSoftKeyboardStateListener(object :
|
// SoftKeyBroadManager.SoftKeyboardStateListener {
|
// override fun onSoftKeyboardOpened(keyboardHeightInPx: Int) {
|
// next_scoll.scrollTo(0,keyboardHeightInPx)
|
// }
|
//
|
// override fun onSoftKeyboardClosed(keyboardHeightInPx: Int) {·
|
//
|
// }
|
//
|
// })
|
setTitleText("确认费用")
|
callorderMoney()
|
callorderMoneyTwo()
|
recycler_view_money.setHasFixedSize(true)
|
recycler_view_money.isNestedScrollingEnabled = false
|
recycler_view_money.layoutManager = LinearLayoutManager(this)
|
recycler_view_money.adapter = majorSureMoneyAdapter
|
callorderType(){
|
majorSureMoneyAdapter.data.addAll(it)
|
majorSureMoneyAdapter.notifyDataSetChanged()
|
}
|
}
|
|
private fun callorderType(function:(List<MajorListMoneyBean.MajorListMoneyDataBean>) -> Unit) {
|
var map = getMapByAny()
|
map["orderId"] = orderId
|
map["orderType"] = orderType
|
callNet(Api.queryAdditionalFee,map){
|
var bean = gson.fromJson<MajorListMoneyBean>(it,MajorListMoneyBean::class.java)
|
function(bean.data)
|
}
|
}
|
|
var beanData:OrderBean? = null
|
|
private fun callorderMoney() {
|
var map = getMapByAny()
|
map["orderId"] = orderId
|
map["orderType"] = orderType
|
callNet(false, Api.queryOrderInfo, map) {
|
var orderBean = gson.fromJson(it, OrderBean::class.java)
|
beanData = orderBean
|
showUi(orderBean!!)
|
}
|
}
|
|
private fun showUi(bean: OrderBean) {
|
bean?.let {
|
var pinSre = if (it.data.spellSuccess == 1) "拼成" else "未拼成"
|
if (it.data.peopleNumber.toInt() >= 4){
|
pinSre = "独享"
|
}
|
tv_all_people_num.text = pinSre+"("+it.data.peopleNumber+"人价)"
|
}
|
}
|
|
private fun callorderMoneyTwo() {
|
var map = getMapByAny()
|
map["orderId"] = orderId
|
map["orderType"] = orderType
|
callNet(false, Api.queryMoneyInfo, map) {
|
var bean = gson.fromJson<MajorMoneyBean>(it,MajorMoneyBean::class.java)
|
tv_all_money.text = "¥"+bean.data.orderMoney.toString()+""
|
}
|
}
|
|
|
override fun setOnclick() {
|
tv_sure.clickDelay {
|
sureMoneyCall()
|
}
|
}
|
|
private fun sureMoneyCall() {
|
var map = getMapByAny()
|
map["orderId"] = orderId
|
map["orderType"] = orderType
|
map["type"] = 1
|
map["travelFee"] = beanData?.data?.orderMoney.toString()
|
if (majorSureMoneyAdapter.data.isNotEmpty()){
|
map["additionalFee"] = gson.toJson(majorSureMoneyAdapter.data)
|
}
|
callNet(false, Api.confirmFees1, map) {
|
EventBus.getDefault().post(BaseEvent(BaseEvent.BACK_CAR_OVER))
|
callAllOver(){ b ->
|
finish()
|
if (b){
|
startActivity<OrderOverPoolingActivity>(
|
"orderId" to orderId,
|
"orderType" to orderType
|
)
|
}else{
|
|
}
|
}
|
|
}
|
}
|
|
private fun callAllOver(function: (Boolean) -> Unit) {
|
var map = getMapByAny()
|
map["orderId"] = orderId
|
map["orderType"] = orderType
|
callNet(Api.queryOrderInfo1,map){
|
var b = true
|
var bean = gson.fromJson(it, OrderPoolingBean::class.java)
|
for (item in bean.data.orders){
|
if (item.orderState < 6){
|
b = false
|
}
|
}
|
function(b)
|
}
|
}
|
|
}
|