feat(servicing): 优化订单详情页面布局和功能
-调整订单信息显示布局,增加订单来源显示 - 优化地图标记添加逻辑,提高地图展示效果 - 改进路径规划功能,优化预计到达时间计算方式- 更新车辆损伤照片加载逻辑,提高数据展示效率 - 修复部分页面样式问题,提升用户体验
This commit is contained in:
@ -16,7 +16,6 @@ import com.za.common.log.LogUtil
|
||||
import com.za.common.util.DeviceUtil
|
||||
import com.za.service.mqtt.MyMqttClient
|
||||
import com.za.servicing.R
|
||||
import java.util.concurrent.atomic.AtomicReference
|
||||
|
||||
interface PushListener {
|
||||
fun newOrderMsg(jpushBean : JpushBean)
|
||||
@ -30,7 +29,7 @@ interface PushListener {
|
||||
data class LastJPushBean(val msg : Int, val time : Long = System.nanoTime())
|
||||
|
||||
object ServiceManager {
|
||||
private val pushListener = AtomicReference<PushListener>()
|
||||
private var pushListener : PushListener? = null
|
||||
private var lastJPushBean : LastJPushBean? = null
|
||||
private const val DUPLICATE_MSG_THRESHOLD = 3000L // 3秒
|
||||
|
||||
@ -56,16 +55,15 @@ object ServiceManager {
|
||||
|
||||
// Register push listener
|
||||
fun registerPushListener(listener : PushListener?) {
|
||||
listener?.let {
|
||||
pushListener.set(it)
|
||||
LogUtil.print("ServiceManager", "Registered push listener: ${it.javaClass.simpleName}")
|
||||
}
|
||||
this.pushListener = listener
|
||||
LogUtil.print("ServiceManager",
|
||||
"Registered push listener: ${pushListener?.javaClass?.simpleName}")
|
||||
}
|
||||
|
||||
// Handle incoming push messages
|
||||
@Synchronized
|
||||
fun handlerPushMsg(msg : String) {
|
||||
LogUtil.print("JpushMessage", "Received push message: $msg")
|
||||
LogUtil.print("handlerPushMsg", "Received push message: $msg")
|
||||
|
||||
// 优化后的重复消息判断
|
||||
lastJPushBean?.let {
|
||||
@ -76,12 +74,12 @@ object ServiceManager {
|
||||
}
|
||||
|
||||
if (msg.startsWith("broadcast:")) {
|
||||
lastJPushBean = LastJPushBean(msg.hashCode())
|
||||
lastJPushBean = LastJPushBean(msg = msg.hashCode())
|
||||
handleBroadcast(msg)
|
||||
return
|
||||
}
|
||||
try {
|
||||
lastJPushBean = LastJPushBean(msg.hashCode())
|
||||
lastJPushBean = LastJPushBean(msg = msg.hashCode())
|
||||
val jpushOrderInfoBean = Gson().fromJson(msg, JpushBean::class.java)
|
||||
sendSystemNotificationFromMessage(jpushOrderInfoBean)
|
||||
when (jpushOrderInfoBean.pushType) {
|
||||
@ -103,7 +101,7 @@ object ServiceManager {
|
||||
private fun handleBroadcast(msg : String) {
|
||||
try {
|
||||
val content = msg.substring(10)
|
||||
pushListener.get()?.broadcast(content)
|
||||
pushListener?.broadcast(content)
|
||||
sendNotification(GlobalData.application, content)
|
||||
LogUtil.print("JpushMessage", "Broadcast content: $content")
|
||||
} catch (e : Exception) {
|
||||
@ -124,7 +122,9 @@ object ServiceManager {
|
||||
// Handle new order messages
|
||||
private fun newOrderMsg(jpushOrderBean : JpushBean) {
|
||||
try {
|
||||
pushListener.get()?.newOrderMsg(jpushOrderBean)
|
||||
LogUtil.print("JpushMessage",
|
||||
"Handling new order message: $pushListener ${pushListener?.javaClass?.simpleName}")
|
||||
pushListener?.newOrderMsg(jpushOrderBean)
|
||||
} catch (e : Exception) {
|
||||
LogUtil.print("JpushMessage", "Failed to handle new order message: ${e.message}")
|
||||
}
|
||||
@ -132,22 +132,22 @@ object ServiceManager {
|
||||
|
||||
// Handle give up order messages
|
||||
private fun giveUpOrder(jpushOrderBean : JpushBean) {
|
||||
pushListener.get()?.giveUpOrder(jpushOrderBean)
|
||||
pushListener?.giveUpOrder(jpushOrderBean)
|
||||
}
|
||||
|
||||
// Handle revoke order messages
|
||||
private fun revokeOrder(jpushOrderBean : JpushBean) {
|
||||
pushListener.get()?.revokeOrder(jpushOrderBean)
|
||||
pushListener?.revokeOrder(jpushOrderBean)
|
||||
}
|
||||
|
||||
// Handle re-dispatch order messages
|
||||
private fun reDispatchOrder(jpushOrderBean : JpushBean) {
|
||||
pushListener.get()?.reDispatchOrder(jpushOrderBean)
|
||||
pushListener?.reDispatchOrder(jpushOrderBean)
|
||||
}
|
||||
|
||||
// Handle important tip messages
|
||||
private fun importantTip(jpushOrderBean : JpushBean) {
|
||||
pushListener.get()?.importantTip(jpushOrderBean)
|
||||
pushListener?.importantTip(jpushOrderBean)
|
||||
}
|
||||
|
||||
// Disconnect from JPush and MQTT
|
||||
|
Reference in New Issue
Block a user