From ffd4fc0658438dddcf7e2b56268267090fb8bbe2 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Tue, 12 Aug 2025 15:17:26 +0800 Subject: [PATCH 1/6] =?UTF-8?q?[8.2.0]=20[mind]=20[=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=B1=95=E7=A4=BA]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../passenger/ui/aiview/AIViewModel.kt | 53 +++++++++---------- .../ui/aiview/adapter/AIMessageViewHolder.kt | 18 +++++-- .../src/main/res/layout/item_ai_msg_qa.xml | 1 + 3 files changed, 39 insertions(+), 33 deletions(-) diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/AIViewModel.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/AIViewModel.kt index a44fcf8155..a78c8e14df 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/AIViewModel.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/AIViewModel.kt @@ -122,9 +122,21 @@ class AIViewModel : ViewModel(), AIMessageManager.AIMessageListener, IWakeUpList llmResultJob = viewModelScope.launch(Dispatchers.IO) { V2XRepository.llmResultFlow.collect { result -> + if (result.queryId.startsWith("AUTO")) { + return@collect + } + if (result.aiMsg.eventType != "workflow_finished") { + return@collect + } Log.d(TAG, "llm result: $result") val title = result.aiMsg?.title ?: "" - val suggestion = result.aiMsg?.suggestion ?: result.answer ?: "" + val suggestion1 = result.aiMsg?.suggestion + val answer = result.answer + val suggestion = if(suggestion1.isNullOrEmpty()){ + answer + }else{ + suggestion1 + } val msg = msgList.findLast { it.id == result.queryId } @@ -133,33 +145,18 @@ class AIViewModel : ViewModel(), AIMessageManager.AIMessageListener, IWakeUpList return@collect } - if (result.aiMsg?.data != null) { - val data: MGCommonTitleBean? = result.aiMsg?.parseData() - val content = data?.title ?: "" - AIMessage.QA( - id = result.queryId, - title = title, - tts = content, - answer = content, - question = "", - pictureUrl = result.imgUrls.getOrNull(0) ?: "", - pictureUrlList = result.imgUrls, - ) - }else{ - AIMessageManager.post( - AIMessage.QA( - id = result.queryId, - title = result.answer, - tts = result.answer, - answer = suggestion, - question = msg.question, - state = AIMessage.QA.QuestionState.FINISH, - pictureUrl = result.imgUrls.getOrNull(0) ?: "", - pictureUrlList = result.imgUrls - ) - ) - } - + AIMessageManager.post( + AIMessage.QA( + id = result.queryId, + title = result.answer, + tts = result.answer, + answer = suggestion, + question = msg.question, + state = AIMessage.QA.QuestionState.FINISH, + pictureUrl = result.imgUrls.getOrNull(0) ?: "", + pictureUrlList = result.imgUrls + ) + ) } } } diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/adapter/AIMessageViewHolder.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/adapter/AIMessageViewHolder.kt index c9b82721e3..6633fdf3d7 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/adapter/AIMessageViewHolder.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/adapter/AIMessageViewHolder.kt @@ -136,11 +136,19 @@ class QAViewHolder(val binding: View) : MessageViewHolder(binding) { tvPncActionDesc.visibility = View.GONE tvTitleImage.visibility = View.VISIBLE }else{ - tvTitle.text = item.title - tvPncActionDesc.text = item.answer - tvTitle.visibility = View.VISIBLE - tvPncActionDesc.visibility = View.VISIBLE - tvTitleImage.visibility = View.VISIBLE + if(item.title.isNullOrEmpty()){ + tvTitle.text = item.title + tvPncActionDesc.text = item.answer + tvTitle.visibility = View.VISIBLE + tvPncActionDesc.visibility = View.GONE + tvTitleImage.visibility = View.VISIBLE + }else { + tvTitle.text = item.title + tvPncActionDesc.text = item.answer + tvTitle.visibility = View.VISIBLE + tvPncActionDesc.visibility = View.VISIBLE + tvTitleImage.visibility = View.VISIBLE + } } handleTimestamp(item, tvTimestamp) diff --git a/OCH/taxi/unmanned-passenger/src/main/res/layout/item_ai_msg_qa.xml b/OCH/taxi/unmanned-passenger/src/main/res/layout/item_ai_msg_qa.xml index 7a34262925..e39e88465f 100644 --- a/OCH/taxi/unmanned-passenger/src/main/res/layout/item_ai_msg_qa.xml +++ b/OCH/taxi/unmanned-passenger/src/main/res/layout/item_ai_msg_qa.xml @@ -100,6 +100,7 @@ android:visibility="gone" tools:visibility="visible" android:textStyle="bold" + android:singleLine="true" style="@style/AIMsgTextTitle" tools:text="前方道路施工" /> From 4758dc0572f0b8da4b11ba7ea58150adf5fc564f Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Tue, 12 Aug 2025 19:20:28 +0800 Subject: [PATCH 2/6] =?UTF-8?q?[8.2.0][fix]=E7=82=B9=E5=87=BB=E5=88=B7?= =?UTF-8?q?=E6=96=B0=E5=90=8E=E6=90=9C=E7=B4=A2=E5=86=85=E5=AE=B9=E9=87=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/och/biz/routing/ui/routingselect/RoutingSelectView.kt | 1 + 1 file changed, 1 insertion(+) diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/routingselect/RoutingSelectView.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/routingselect/RoutingSelectView.kt index fef22376f0..7c105e2d23 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/routingselect/RoutingSelectView.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/routingselect/RoutingSelectView.kt @@ -141,6 +141,7 @@ class RoutingSelectView: ConstraintLayout, SwtichRoutingViewCallback, InputTextC actv_current_order.text = ResourcesUtils.getString(R.string.biz_routing_order_default) switch_routing_rv.smoothScrollToPosition(0) acctv_search_byid.isChecked = false + acctv_search_byid.text="" acctv_search_byid.setBackgroundResource(R.drawable.biz_input_order_id_normal) aciv_input_icon.setImageResource(R.drawable.biz_routing_search_right_normal) InputManager.setKeyboardVisable(View.GONE) From 11eed83b19e3add05d592f6c3679b7f27ef11d54 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 13 Aug 2025 10:35:32 +0800 Subject: [PATCH 3/6] =?UTF-8?q?[8.2.0]=20[mind]=20[=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=88=86=E7=BB=84]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../passenger/ui/aiview/AIViewModel.kt | 149 +++++++++++++++--- .../ui/aiview/adapter/AIMessageViewHolder.kt | 22 +-- .../passenger/ui/aiview/bean/AICrossBean.kt | 59 +++++++ .../ui/aiview/bean/MGDefaultQABean.kt | 26 +++ .../ui/aiview/bean/MGEagleEyeBean.kt | 53 +++++++ .../passenger/ui/aiview/bean/MGSpotPKBean.kt | 27 ++++ .../src/main/res/layout/item_ai_msg_qa.xml | 3 +- core/mogo-core-utils/build.gradle | 2 +- 8 files changed, 309 insertions(+), 32 deletions(-) create mode 100644 OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/bean/AICrossBean.kt create mode 100644 OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/bean/MGDefaultQABean.kt create mode 100644 OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/bean/MGEagleEyeBean.kt create mode 100644 OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/bean/MGSpotPKBean.kt diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/AIViewModel.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/AIViewModel.kt index a78c8e14df..b562ac4f10 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/AIViewModel.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/AIViewModel.kt @@ -25,10 +25,14 @@ import com.mogo.och.data.taxi.TaxiOrderStatusEnum import com.mogo.och.unmanned.passenger.bean.ai.LatLonBody import com.mogo.och.unmanned.passenger.network.ai.AiServiceManager import com.mogo.och.unmanned.passenger.ui.aiview.bean.MGCommonTitleBean +import com.mogo.och.unmanned.passenger.ui.aiview.bean.MGDefaultQABean +import com.mogo.och.unmanned.passenger.ui.aiview.bean.MGEagleEyeBean +import com.mogo.och.unmanned.passenger.ui.aiview.bean.MGSpotPKBean import com.mogo.och.unmanned.taxi.utils.order.OrderListener import com.mogo.och.unmanned.taxi.utils.order.OrderModel import com.mogo.service.v2n.bean.MGEventExtInfoBean import com.mogo.service.v2n.bean.MGLlmQueryBean +import com.mogo.service.v2n.bean.MGLlmQueryRespBean import com.mogo.service.v2n.utils.JsonUtil import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job @@ -129,14 +133,7 @@ class AIViewModel : ViewModel(), AIMessageManager.AIMessageListener, IWakeUpList return@collect } Log.d(TAG, "llm result: $result") - val title = result.aiMsg?.title ?: "" - val suggestion1 = result.aiMsg?.suggestion - val answer = result.answer - val suggestion = if(suggestion1.isNullOrEmpty()){ - answer - }else{ - suggestion1 - } + val msg = msgList.findLast { it.id == result.queryId } @@ -145,22 +142,100 @@ class AIViewModel : ViewModel(), AIMessageManager.AIMessageListener, IWakeUpList return@collect } - AIMessageManager.post( - AIMessage.QA( - id = result.queryId, - title = result.answer, - tts = result.answer, - answer = suggestion, - question = msg.question, - state = AIMessage.QA.QuestionState.FINISH, - pictureUrl = result.imgUrls.getOrNull(0) ?: "", - pictureUrlList = result.imgUrls - ) - ) + postAIEvent(result, question = msg.question) + } } } + fun postAIEvent( + result: MGLlmQueryRespBean, + question: String = "", + isAuto: Boolean = false, isShowAll: Boolean = true + ) { + val title = result.aiMsg?.title ?: "" + val msgType = result.aiMsg?.type ?: 0 + val fromValue = AIMessageReplyType.fromValue(msgType) + val state = result.aiMsg.getMessageState() + val stateDes = result.aiMsg?.nodeStatus ?: "" + val flowType = result.aiMsg?.flowType ?: 0 + when (fromValue) { + //千里眼 + AIMessageReplyType.EagleEye -> { + val data: MGEagleEyeBean? = result.aiMsg?.parseData() + val content = data?.title ?: "" + AIMessage.QA( + id = result.queryId, + title = title, + tts = "$title,$content", + answer = content, + question = question, + state = state, + pictureUrl = data?.liveInfo?.imgUrl?:"", + ) + } + + //景点PK + AIMessageReplyType.SpotPK -> { + val data: MGSpotPKBean? = result.aiMsg?.parseData() + val content = data?.title ?: "" + AIMessage.QA( + id = result.queryId, + title = title, + tts = "$title,$content", + answer = content, + question = question, + state = state, + ) + } + + // 默认QA + else -> { + if (result.aiMsg?.responseMode == MGEventExtInfoBean.RESPONSE_MODE_STREAM) { + val data: MGDefaultQABean? = result.aiMsg?.parseData() + val titleName = data?.title ?: "" + val suggestion = data?.suggestion ?: result.answer ?: "" + var imagesUrl = data?.getImagesUrl()?: mutableListOf() + if (result.imgUrls.isNotEmpty()) { + imagesUrl = result.imgUrls + } + AIMessage.QA( + id = result.queryId, + title = titleName, + tts = titleName, + answer = suggestion, + question = question, + state = state, + pictureUrl = imagesUrl.getOrNull(0) ?: "", + pictureUrlList = imagesUrl + ) + } else { + val suggestion = result.aiMsg?.suggestion ?: result.answer ?: "" + val new = MGDefaultQABean().apply { + this.title = result.aiMsg?.title ?: "" + this.suggestion = suggestion + this.status = result.aiMsg.status + this.description = result.aiMsg.description + this.images = result.aiMsg.images + } + AIMessage.QA( + id = result.queryId, + title = new.title, + tts = "$title,$suggestion", + answer = suggestion, + question = question, + state = state, + pictureUrl = result.imgUrls.getOrNull(0) ?: "", + pictureUrlList = result.imgUrls, + ) + } + } + }.let { + AIMessageManager.post(it) + } + } + + override fun onCleared() { AIMessageManager.unregisterListener(this) @@ -409,6 +484,40 @@ inline fun MGEventExtInfoBean.parseData(): T? { } } +enum class AIMessageReplyType(val code: Int) { + Default(0), + RoutePlan(20), + Guardian(21), + SpotPK(22), + EagleEye(23), + Cross(25); + + + companion object { + fun fromValue(value: Int): AIMessageReplyType? { + return values().find { it.code == value } + } + } +} + +fun MGEventExtInfoBean?.getMessageState(): AIMessage.QA.QuestionState { + if (this == null) { + return AIMessage.QA.QuestionState.FINISH + } + + if (this.eventType.isNullOrEmpty()) { + return AIMessage.QA.QuestionState.FINISH + } + +// if (this.eventType == "workflow_started") { +// return AIMessage.QuestionState.PROCESSING +// } + + if (this.eventType == "workflow_finished") { + return AIMessage.QA.QuestionState.FINISH + } + return AIMessage.QA.QuestionState.FINISH +} diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/adapter/AIMessageViewHolder.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/adapter/AIMessageViewHolder.kt index 6633fdf3d7..38ac6ccca2 100644 --- a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/adapter/AIMessageViewHolder.kt +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/adapter/AIMessageViewHolder.kt @@ -32,6 +32,7 @@ import com.mogo.eagle.core.utilcode.kotlin.onClick import com.mogo.eagle.core.utilcode.mogo.glide.GlideImageLoader import com.mogo.eagle.core.utilcode.mogo.glide.transform.GlideRoundedCornersTransform import com.mogo.eagle.core.utilcode.mogo.imageloader.MogoImageView +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.util.DateTimeUtils import com.mogo.och.common.module.utils.FrameAnimatorContainer import com.mogo.och.common.module.biz.media.VoiceNotice @@ -117,7 +118,7 @@ class QAViewHolder(val binding: View) : MessageViewHolder(binding) { private var clContain: ConstraintLayout = binding.findViewById(R.id.clContain) private var tvTimestamp: TextView = binding.findViewById(R.id.tvTimestamp) private var tvStateContent: TextView = binding.findViewById(R.id.tvStateContent) - private var tvPncActionDesc: TextView = binding.findViewById(R.id.tvPncActionDesc) + private var tvAnswer: TextView = binding.findViewById(R.id.tvPncActionDesc) // private var ivPicture: OchRoundImageView = binding.findViewById(R.id.ivPicture) private var llState: LinearLayout = binding.findViewById(R.id.llState) private var picBanner = binding.findViewById>(R.id.picBanner) @@ -125,28 +126,29 @@ class QAViewHolder(val binding: View) : MessageViewHolder(binding) { override fun bind(item: AIMessage, onItemClickListener: OnItemClickListener?) { if (item is AIMessage.QA) { + CallerLogger.d(TAG,"bind:${item}") binding.apply { handleState(item.state) tvQuestion.text = item.question Log.d(TAG, "bind: ${item}") if(item.title==item.answer){ tvTitle.text = item.title - tvPncActionDesc.text = item.answer + tvAnswer.text = item.answer tvTitle.visibility = View.VISIBLE - tvPncActionDesc.visibility = View.GONE + tvAnswer.visibility = View.GONE tvTitleImage.visibility = View.VISIBLE }else{ if(item.title.isNullOrEmpty()){ - tvTitle.text = item.title - tvPncActionDesc.text = item.answer - tvTitle.visibility = View.VISIBLE - tvPncActionDesc.visibility = View.GONE - tvTitleImage.visibility = View.VISIBLE + tvTitle.text = item.answer + tvAnswer.text = item.answer + tvTitle.visibility = View.GONE + tvAnswer.visibility = View.VISIBLE + tvTitleImage.visibility = View.GONE }else { tvTitle.text = item.title - tvPncActionDesc.text = item.answer + tvAnswer.text = item.answer tvTitle.visibility = View.VISIBLE - tvPncActionDesc.visibility = View.VISIBLE + tvAnswer.visibility = View.VISIBLE tvTitleImage.visibility = View.VISIBLE } } diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/bean/AICrossBean.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/bean/AICrossBean.kt new file mode 100644 index 0000000000..58c3131e54 --- /dev/null +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/bean/AICrossBean.kt @@ -0,0 +1,59 @@ +package com.mogo.och.unmanned.passenger.ui.aiview.bean + +data class AICrossBean( + val cameraLiveUrl: String?, + val cameraPicUrl: String?, + val currentLaneFlow: RoadFlowInfo?, + val flowStatistics: FlowStatistics?, + val title: String, + var otherQuestion: List? = null, +) + +data class RoadFlowInfo( + val totalPcuCount: Double, + val avgSpeed: Double, + val level: Int, + val infos: List +) + +data class LaneInfo( +// val crossId: String, + val roadId: String, + val laneNo: String, +// val vehicleCount: Int, +// val avgSpeed: Double, + val pcuCount: Double, + val bearing: Int, + val arrowType: Int +) + +data class FlowStatistics( + val v2nInfoList: List?, + val flowTimeInfo: FlowInfo?, +) + + +data class FlowInfo( + val defaultCount: Int, + val totalPcuCount: Double?, + val flowTimeInfoList: List +) + + +data class FlowTimeInfo( + val flowTime: Long, + val flowTimeStr: String, + val count: Int, + val avgSpeed: Double, + val pcuCount: Double, + val level: String, + val flag: String +) + +data class V2nEventInfo( + val id: Int, + //10006 道路施工; 10007 道路拥堵 + val poiType: String, + val updateTimeLong: Long, + val createTimeLong: Long, +) diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/bean/MGDefaultQABean.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/bean/MGDefaultQABean.kt new file mode 100644 index 0000000000..da81153b32 --- /dev/null +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/bean/MGDefaultQABean.kt @@ -0,0 +1,26 @@ +package com.mogo.och.unmanned.passenger.ui.aiview.bean + +import com.mogo.service.v2n.bean.MGEventExtInfoBean + +class MGDefaultQABean +/** + * 默认构造函数 + * 初始化基本字段为默认值 + */ +{ + fun getImagesUrl(): MutableList { + val rusult = mutableListOf() + images?.forEach { + rusult.add(it.url) + } + return rusult + } + + // Getters and setters + var title: String = "" // 事件标题 + var status: Int = 0 // 事件状态 1 显示 0 不显示 + var suggestion: String = "" // 建议操作 + var description: List? = null // 事件描述列表 + var images: List? = null // 事件相关图片信息 + var congestion: List? = null +} \ No newline at end of file diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/bean/MGEagleEyeBean.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/bean/MGEagleEyeBean.kt new file mode 100644 index 0000000000..e3cce431f0 --- /dev/null +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/bean/MGEagleEyeBean.kt @@ -0,0 +1,53 @@ +package com.mogo.och.unmanned.passenger.ui.aiview.bean + +data class MGEagleEyeBean( + val title: String = "", + val liveInfo: LiveInfo? = null, + val parkingLots: List? = null, + val trafficInfo: TrafficInfo? = null, + val touristDensity: String? = null, + var personCount:Int = 0, + val weatherInfo: WeatherInfo? = null, + val noise: String? = null, + var otherQuestion: List? = null, +) { + data class LiveInfo( + val imgUrl: String = "", + val liveUrl: String = "" + ) + + data class ParkingLot( + val name: String = "", + val address: String = "", + val businessHours: String = "", + val fee: String = "", + val total: String = "", + val free: String = "", + val freeRate: String = "", + val lat: Double = 0.0, + val lng: Double = 0.0, + val imgUrl: String = "", + val liveUrl: String = "" + ) + // driveDuration":165.48,"driveDistance":154.58,"busDistance":14.45,"busDuration":48.48,"level":2 + data class TrafficInfo( + val driveDistance: String = "", + val busDistance: String = "", + val driveDuration: String = "", + val busDuration: String = "", + val level: Int = 0, + val lon: Double = 0.0, + val lat: Double = 0.0, + val address:String = "", + val status: String = "" + ) + + data class WeatherInfo( + val temperature: String = "", + val windDirection: String = "", + val windPower: String = "", + val weather: String = "", + val sunlightIntensity: String = "", + val dressingAdv: String? = null, + ) +} \ No newline at end of file diff --git a/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/bean/MGSpotPKBean.kt b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/bean/MGSpotPKBean.kt new file mode 100644 index 0000000000..efb14ed5d3 --- /dev/null +++ b/OCH/taxi/unmanned-passenger/src/main/java/com/mogo/och/unmanned/passenger/ui/aiview/bean/MGSpotPKBean.kt @@ -0,0 +1,27 @@ +package com.mogo.och.unmanned.passenger.ui.aiview.bean +data class MGSpotPKBean( + val title: String = "", + val spots: List = emptyList(), + var otherQuestion: List? = null, +) { + data class Spot( + val name: String = "", + val isRecommend: Int = 0, + val roadStatus: String = "", + val distance: String = "", + val weather: String = "", + val crowded: String = "", + val feature: String = "", + val fee: String = "", + val lat: Double = 0.0, + val lng: Double = 0.0, + val imgUrl: String = "", + val liveUrl: String = "", + val parkingAddress:String? = null, + var parkingName:String? = null, + val parkingType:String? = null, + val parkingLon: Double? = null, + val parkingLat: Double? = null, + val parkingUrl: String? = null + ) +} diff --git a/OCH/taxi/unmanned-passenger/src/main/res/layout/item_ai_msg_qa.xml b/OCH/taxi/unmanned-passenger/src/main/res/layout/item_ai_msg_qa.xml index e39e88465f..134930defa 100644 --- a/OCH/taxi/unmanned-passenger/src/main/res/layout/item_ai_msg_qa.xml +++ b/OCH/taxi/unmanned-passenger/src/main/res/layout/item_ai_msg_qa.xml @@ -74,7 +74,7 @@ Date: Wed, 13 Aug 2025 11:46:53 +0800 Subject: [PATCH 4/6] =?UTF-8?q?[8.2.0][fix]=E7=BA=BF=E8=B7=AF=E5=8F=AF?= =?UTF-8?q?=E7=94=A8=E5=88=B7=E6=96=B0=E6=95=B0=E6=8D=AE=E5=B9=B6=E9=87=8D?= =?UTF-8?q?=E7=BD=AE=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/och/biz/routing/ui/routingselect/RoutingSelectView.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/routingselect/RoutingSelectView.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/routingselect/RoutingSelectView.kt index 7c105e2d23..eaa7a18a8e 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/routingselect/RoutingSelectView.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/routingselect/RoutingSelectView.kt @@ -294,6 +294,8 @@ class RoutingSelectView: ConstraintLayout, SwtichRoutingViewCallback, InputTextC } } } + actv_current_order.text = ResourcesUtils.getString(R.string.biz_routing_order_default) + acctv_search_byid.text="" cancleAni() } From ee9171feb90b7f00cbebab345ebb23c9316d965b Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Wed, 13 Aug 2025 11:50:42 +0800 Subject: [PATCH 5/6] =?UTF-8?q?[8.2.0][opt]=E6=96=B0=E5=A2=9E=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/och/biz/routing/ui/routingselect/RoutingSelectView.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/routingselect/RoutingSelectView.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/routingselect/RoutingSelectView.kt index eaa7a18a8e..7968fd1e25 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/routingselect/RoutingSelectView.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/routingselect/RoutingSelectView.kt @@ -185,6 +185,7 @@ class RoutingSelectView: ConstraintLayout, SwtichRoutingViewCallback, InputTextC switch_routing_rv.smoothScrollToPosition(0) } actv_order_by_num_desc.onClick { + // 按照总验证次序降序排列,而不是今日验证次序 mRoutingLineList.sortByDescending { (it.lineSuccessCount?:0)+(it.lineFailCount?:0) } @@ -283,6 +284,7 @@ class RoutingSelectView: ConstraintLayout, SwtichRoutingViewCallback, InputTextC } override fun onQueryRoutingGrayLineListSuccess(data: MutableList) { + // 数据默认按照距离排序过了 onRoutingGrayLineListChanged(data) if (AppIdentityModeUtils.isBus(FunctionBuildConfig.appIdentityMode) ||AppIdentityModeUtils.isShuttle(FunctionBuildConfig.appIdentityMode) From 46103d5e4711af7da7aeadb665557f93c6dd25b6 Mon Sep 17 00:00:00 2001 From: chenfufeng Date: Wed, 13 Aug 2025 12:05:35 +0800 Subject: [PATCH 6/6] =?UTF-8?q?[8.2.0][opt]=E6=96=B0=E5=A2=9E=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/och/biz/routing/ui/runing/other/TaskRunningView.kt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/runing/other/TaskRunningView.kt b/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/runing/other/TaskRunningView.kt index 0a4e18d186..4dc47ad675 100644 --- a/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/runing/other/TaskRunningView.kt +++ b/OCH/common/biz/src/main/java/com/mogo/och/biz/routing/ui/runing/other/TaskRunningView.kt @@ -138,8 +138,10 @@ class TaskRunningView : ConstraintLayout, TaskRunningModel.SwtichLineViewCallbac } private fun showFeedbackDialog(grayId: Long) { + CallerLogger.d(TAG, "showFeedbackDialog!") val occurrenceTime = System.currentTimeMillis() if(closeRouting==null) { + CallerLogger.d(TAG, "closeRouting is null!") closeRouting = CommonDialogStatus .Builder() .title("路线验证结束") @@ -152,6 +154,7 @@ class TaskRunningView : ConstraintLayout, TaskRunningModel.SwtichLineViewCallbac .build(context) }else{ if(closeRouting?.isShowing==true){ + CallerLogger.d(TAG, "closeRouting is showing, return!") return } } @@ -170,6 +173,7 @@ class TaskRunningView : ConstraintLayout, TaskRunningModel.SwtichLineViewCallbac ) } }) + CallerLogger.d(TAG, "closeRouting show!") closeRouting?.show() }