18034727885
2026-07-24 6180e2986ca3c39262486458cee97e54d5f67450
app/src/main/java/com/igo/user/ui/logistics/LogisticsGuideActivity.kt
@@ -8,17 +8,20 @@
import android.widget.CheckBox
import android.widget.TextView
import androidx.core.os.bundleOf
import cn.sinata.rxnetty.LogHelper
import cn.sinata.xldutils.toBrowser
import cn.sinata.xldutils.utils.LanguageUtil
import cn.sinata.xldutils.utils.myToast
import cn.sinata.xldutils.utils.optDouble
import cn.sinata.xldutils.utils.optInt
import cn.sinata.xldutils.utils.optString
import cn.sinata.xldutils.utils.showAllowingStateLoss
import cn.sinata.xldutils.utils.toTime
import com.igo.user.IGoApplication
import com.igo.user.R
import com.igo.user.dialog.ChooseCardDialog
import com.igo.user.dialog.PayDialog
import com.igo.user.dialog.TipDialog
import com.igo.user.extension.safeLoadDataWithBaseURL
import com.igo.user.extension.setSafeSetting
import com.igo.user.interfaces.StringCallback
@@ -28,6 +31,7 @@
import com.igo.user.ui.H5Activity
import com.igo.user.ui.TransparentStatusBarActivity
import com.igo.user.ui.crosscity.PayCrossActivity
import com.igo.user.ui.mine.OrderActivity
import com.igo.user.ui.trip.TripActivity
import com.igo.user.utils.Const
import com.igo.user.utils.pay.PayListener
@@ -61,6 +65,9 @@
        intent.getIntExtra("type", Const.OrderType.TYPE_SAME_CITY)
    } // 默认为同城物流
    //预估价格
    private val estimatePrice by lazy { intent.getDoubleExtra("estimatePrice", 0.0) }
    private var isGotoWx = false //是否跳转到微信小程序支付 true:回来时需要查询是否支付成功
    private var isCancel = false
@@ -68,16 +75,15 @@
    private var coupon = 0
    private var redTotal = 0.0
    private var deductionAmount = 0.0
    private var payMoney = 0.0//支付费用
    private var order: Order? = null
    private var id: Int = 0 // 订单id
    override fun initClick() {
        tv_rule.setOnClickListener {
            HttpManager.getH5(15).request(this, showDialog = true) { _, data ->
                val url = data?.optString("content") ?: ""
                startActivity<H5Activity>("url" to url, "title" to getString(R.string.邮寄快件指南))
            }
//            HttpManager.getH5(15).request(this, showDialog = true) { _, data ->
//                val url = data?.optString("content") ?: ""
//                startActivity<H5Activity>("url" to url, "title" to getString(R.string.邮寄快件指南))
//            }
        }
        tv_action.setOnClickListener {
            if (cb_rule.isChecked) {
@@ -150,14 +156,15 @@
    }
    private fun createOrder() {
        val currentLocation = IGoApplication.getCurrentLocation()
        HttpManager.smallLogistics(
            carTypeId,
            "$endLon,$endLat",
            goodsNum,
            goodsType,
            receiveAddress ?: "",
            IGoApplication.lat,
            IGoApplication.lon,
            currentLocation.latitude,
            currentLocation.longitude,
            receiveName ?: "",
            receivePhone ?: "",
            remark ?: "",
@@ -168,12 +175,39 @@
            System.currentTimeMillis().toTime(),
            type,
            urgent
        ).request(this, showDialog = true) { _, data ->
            data?.run {
                id = optInt("id")
                getOrderInfo()
        ).request(
            this,
            showToast = { code, _ -> code != 10001 },
            showDialog = true, success = { _, data ->
                data?.run {
                    id = optInt("id")
                    getOrderInfo()
                }
            }) { code, _ ->
            if (code == 10001) {
                showHadNotCompleteOrderDialog()
            }
        }
    }
    //显示有未完成订单弹窗
    private fun showHadNotCompleteOrderDialog() {
        val tipDialog = TipDialog()
        tipDialog.arguments = bundleOf(
            "msg" to getString(R.string.有未完成订单是否前往查看),
            "ok" to getString(R.string.前往),
            "cancel" to getString(R.string.取消),
            "isNotifyRed" to true
        )
        tipDialog.setCallback(object : TipDialog.OnClickCallback {
            override fun onOk() {
                startActivity<OrderActivity>()
            }
            override fun onCancel() {
            }
        })
        tipDialog.showAllowingStateLoss(supportFragmentManager, "HadNotCompleteOrderDialog")
    }
    private fun getOrderInfo() {
@@ -281,6 +315,7 @@
    override fun onPaySuccess() {
        myToast(getString(R.string.支付成功))
//        startActivity<OrderDetailActivity>("id" to id, "type" to type)
        LogHelper.logRecord("快件支付成功orderId:${order?.orderId} orderType:${order?.orderType}")
        startActivity<TripActivity>(
            "id" to order?.orderId,
            "type" to order?.orderType