[fea]
[添加部分日志]
This commit is contained in:
yangyakun
2024-09-04 11:58:09 +08:00
parent d409477cbc
commit b607cea708
6 changed files with 167 additions and 136 deletions

View File

@@ -3,6 +3,7 @@ package com.mogo.och.common.module.manager.autopilot.line
import com.mogo.commons.env.ProjectUtils
import com.mogo.eagle.core.function.call.map.CallerMapGlobalTrajectoryDrawManager
import com.mogo.eagle.core.function.call.order.CallerOrderListenerManager
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
import com.mogo.och.common.module.utils.CallerBase
import com.mogo.och.data.bean.BusStationBean
import com.mogo.och.data.bean.ContraiInfo
@@ -34,6 +35,59 @@ object LineManager : CallerBase<ILineCallback>() {
*/
var endStation: BusStationBean? = null
/**
* 设置站点信息
*/
fun setStartAndEndStation(startStation: BusStationBean?,endStation: BusStationBean?){
this.startStation = startStation
this.endStation = endStation
OchChainLogManager.writeChainLogAutopilot("自驾参数","${startStation}---${endStation}")
}
fun getStations(function: (start:BusStationBean,end:BusStationBean) -> Unit){
startStation?.let { start->
endStation?.let { end ->
function.invoke(start,end)
}
}
}
fun getStationsWithContrai(function: (start:BusStationBean,end:BusStationBean,contrai: ContraiInfo) -> Unit){
startStation?.let { start->
endStation?.let { end ->
contraiInfo?.let {contrai->
function.invoke(start,end,contrai)
}
}
}
}
fun getStationsWithLine(function: (start:BusStationBean,end:BusStationBean,lineInfo: LineInfo) -> Unit){
startStation?.let { start->
endStation?.let { end ->
lineInfos?.let {line->
function.invoke(start,end, line)
}
}
}
}
fun getStationsWithLineAndContrai(function: (start:BusStationBean,end:BusStationBean,lineInfo: LineInfo,contrai: ContraiInfo) -> Unit){
startStation?.let { start->
endStation?.let { end ->
lineInfos?.let {line->
contraiInfo?.let { contrai ->
function.invoke(start,end, line,contrai)
}
}
}
}
}
fun getStartStation(function: (start:BusStationBean) -> Unit){
startStation?.let { start ->
function.invoke(start)
}
}
@JvmStatic
fun setLineInfo(lineInfo: LineInfo?){
if(lineInfo==null){

View File

@@ -43,7 +43,7 @@ object OchChainLogManager {
// 局域网内socket 连接状态流转
const val EVENT_KEY_INFO_SCANNER = "analytics_event_och_scanner"
// 局域网内socket 连接状态流转
// 自动驾驶日志群
const val EVENT_KEY_INFO_AUTOPILOT = "analytics_event_och_autopilot"
const val EVENT_KEY_INFO_VOICE_TTS = "analytics_event_och_voice_tts"

View File

@@ -144,6 +144,7 @@ public class BusStationBean {
return "BusStationBean{" +
"siteId=" + siteId +
", name='" + name + '\'' +
", nameKr='" + nameKr + '\'' +
", seq=" + seq +
", gcjLon=" + gcjLon +
", gcjLat=" + gcjLat +
@@ -151,8 +152,8 @@ public class BusStationBean {
", lat=" + lat +
", drivingStatus=" + drivingStatus +
", leaving=" + leaving +
", introduction='" + introduction + '\'' +
", isPlayTts=" + isPlayTts +
'}';
}
}

View File

@@ -81,10 +81,12 @@ object TaskRepository {
it.status = TaskDataBean.useing
// 更新任务状态
taskDataDao?.insert(it)
OchChainLogManager.writeChainLogDb("开始任务", "变更线路:${lineId}_${lineName}_task:${taskId} 为正在使用的状态")
}
CallerLogger.d(TAG,"更新任务状态用时:${System.currentTimeMillis()-startTime}")
startTime = System.currentTimeMillis()
updateCount = TaskSiteRepository.startTask(taskId, lineId, lineName)
OchChainLogManager.writeChainLogDb("开始任务", "把正在使用的数据更新到RunningTask表格一共${updateCount}行数据")
CallerLogger.d(TAG,"插入正在运行的线路用时:${System.currentTimeMillis()-startTime}")
} catch (e: Exception) {
if (e is DataException) {
@@ -95,6 +97,7 @@ object TaskRepository {
it.status = TaskDataBean.unUse
// 更新任务状态
taskDataDao?.insert(it)
OchChainLogManager.writeChainLogDb("开始任务", "异常情况${lineId}_${lineName}_task:${taskId} 为未使用的状态 原因:${e.message}")
}
}
updateCount = null

View File

@@ -286,16 +286,17 @@ object BusLineModel {
// 获取正在进行中的具体信息
val runnintTaskAndSites = TaskSiteRepository.queryRunningTask(it)
if(runnintTaskAndSites.isNullOrEmpty()||runnintTaskAndSites.size<2){
// TODO: 错误数据需要上报一下 有进行中的任务 在正在跑的任务重没有数据
OchChainLogManager.writeChainLogDb("加载任务", "异常情况:有任务:${runningTaskInfo} runningTask 表格没有对应的数据:${runnintTaskAndSites}")
return
}
val db2Beans = BusRoutesResponse.db2Beans(runnintTaskAndSites)
stationList = db2Beans.first
startStationIndex = db2Beans.second
stationList?.let {stationlist->
LineManager.startStation = stationlist[startStationIndex]
val startStation = stationlist[startStationIndex]
if (startStationIndex < stationlist.size-1) {
LineManager.endStation = stationlist[startStationIndex + 1]
val endStation = stationlist[startStationIndex + 1]
LineManager.setStartAndEndStation(startStation,endStation)
}
}
@@ -324,6 +325,7 @@ object BusLineModel {
}
TaskRepository.addOrUpdate(*tempList.toTypedArray())
OrderModel.queryBusRoutes()
OchChainLogManager.writeChainLogDb("加载任务", "异常情况:多个正在进行的任务 task:${runningTaskInfo} event:${queryLastData.taskId}有一个和event表对应使用相同的一个 另一个置为已使用")
return
}
}
@@ -331,6 +333,7 @@ object BusLineModel {
runningTaskInfo.forEach {
it.status = TaskDataBean.used
}
OchChainLogManager.writeChainLogDb("加载任务", "异常情况:多个正在进行的任务 task:${runningTaskInfo} 全部置为已使用 从后台加载正在使用的任务")
TaskRepository.addOrUpdate(*runningTaskInfo.toTypedArray())
loadServerRuningTask()
}
@@ -345,7 +348,7 @@ object BusLineModel {
if(queryTaskById==null||queryTaskById.status!=TaskDataBean.used) {
OchChainLogManager.writeChainLogDb(
"业务数据",
"本地没有正在运行的数据,服务器端有"
"本地没有正在运行的数据,服务器端有${it}"
)
LineRepository.saveRunningInfo(
it.lineId,
@@ -395,27 +398,26 @@ object BusLineModel {
// 滑动出发
fun leaveStation(){
//开始站点: leaving false->true
LineManager.startStation?.let { startStation ->
startStation.drivingStatus = TaskSiteDataBean.drivingStatusCurrent
startStation.isLeaving = true
LineManager.getStartStation {
it.drivingStatus = TaskSiteDataBean.drivingStatusCurrent
it.isLeaving = true
if (currentTask != null && currentTask!!.taskId != null) {
currentTask?.let { task ->
if (task.taskId!=null&&task.lineId!=null) {
TaskSiteRepository.updateLeave(task.taskId!!, startStation.siteId.toLong(), true)
TaskSiteRepository.updateLeave(task.taskId!!, it.siteId.toLong(), true)
OchChainLogManager.writeChainLogDb("滑动出发", "task:${currentTask}__taskId:${currentTask?.taskId}")
// 设置滑动出发任务
LineManager.lineInfos?.lineName?.let { lineName->
EventRepository.saveEventTaskLeaveSite(
task.taskId!!,
task.lineId!!,
startStation.siteId.toLong(),
startStation.seq,
it.siteId.toLong(),
it.seq,
task.taskStartTime,
lineName
)
}
}
}
} else {
OchChainLogManager.writeChainLog(
@@ -430,41 +432,43 @@ object BusLineModel {
}
// 到站
fun arrivedStation() {
// 开始站点leaving true->false drivingStatus 2->1
LineManager.startStation?.let {
it.drivingStatus = TaskSiteDataBean.drivingStatusPassed
it.isLeaving = false
LineManager.getStations { start, end ->
// 开始站点leaving true->false drivingStatus 2->1
start.drivingStatus = TaskSiteDataBean.drivingStatusPassed
start.isLeaving = false
if(currentTask!=null&& currentTask!!.taskId!=null){
currentTask?.let { task->
if (task.taskId!=null&&task.lineId!=null) {
TaskSiteRepository.updateDrivingStatusAndLeave(task.taskId!!,it.siteId.toLong(),TaskSiteDataBean.drivingStatusPassed,false)
TaskSiteRepository.updateDrivingStatusAndLeave(task.taskId!!,start.siteId.toLong(),TaskSiteDataBean.drivingStatusPassed,false)
// 设置到站任务
LineManager.lineInfos?.let {lineInfo ->
EventRepository.saveEventTaskArriveSite(task.taskId!!,task.lineId!!,it.siteId.toLong(),it.seq,task.taskStartTime,lineInfo.lineName)
EventRepository.saveEventTaskArriveSite(task.taskId!!,task.lineId!!,start.siteId.toLong(),start.seq,task.taskStartTime,lineInfo.lineName)
}
}
}
}else{
OchChainLogManager.writeChainLog("到站_数据更新_error","task:${currentTask}__taskId:${currentTask?.taskId}")
}
}
// 结束站点: drivingStatus 3-2
LineManager.endStation?.let {
it.drivingStatus = TaskSiteDataBean.drivingStatusCurrent
// 结束站点: drivingStatus 3-2
end.drivingStatus = TaskSiteDataBean.drivingStatusCurrent
if(currentTask!=null&& currentTask!!.taskId!=null){
currentTask?.taskId?.let { taskId->
TaskSiteRepository.updateDrivingStatus(taskId,it.siteId.toLong(),TaskSiteDataBean.drivingStatusCurrent)
TaskSiteRepository.updateDrivingStatus(taskId,end.siteId.toLong(),TaskSiteDataBean.drivingStatusCurrent)
}
}else{
OchChainLogManager.writeChainLog("到站_数据更新_error","task:${currentTask}__taskId:${currentTask?.taskId}")
}
val changeInfo =
"taskId:${currentTask?.taskId}--lineId:${currentTask?.lineId}--currentStationName:${start.name}--finalNextStationName:${end.name}"
OchChainLogManager.writeChainLog("到站", changeInfo)
}
stationList?.let {
startStationIndex+=1
LineManager.startStation = LineManager.endStation
val startStation = LineManager.endStation
if(startStationIndex+1< it.size){
LineManager.endStation = it[startStationIndex+1]
val endStation = it[startStationIndex+1]
LineManager.setStartAndEndStation(startStation,endStation)
}
}
}
@@ -494,11 +498,12 @@ object BusLineModel {
}
}
}
val changeInfo = "taskId:${currentTask?.taskId}--lineInfo:${LineManager.lineInfos}"
OchChainLogManager.writeChainLog("结束任务", changeInfo)
currentTask = null
LineManager.lineInfos = null
LineManager.startStation = null
LineManager.endStation = null
LineManager.setStartAndEndStation(null,null)
stationList = mutableListOf()
startStationIndex = 0
}

View File

@@ -327,27 +327,18 @@ object OrderModel {
*/
private fun leaveStationSuccess() {
onStartAutopilot()
if(LineManager.startStation!=null&&LineManager.endStation!=null&&LineManager.lineInfos!=null){
LineManager.startStation?.let {startStation->
LineManager.endStation?.let {endStation->
leaveTTSTips(endStation.name, startStation.nameKr)
//给bus外屏发送
LedScreenManager.sendTripInfo2Led(
LedScreenManager.LEAVE_STATION,
LineManager.lineInfos!!.lineName,
startStation.name,
endStation.name,
BusLineModel.isLastStation()==true
)
}
}
}else{
ToastUtils.showShort("未设置起始或终点站点")
LineManager.getStations { start, end ->
leaveTTSTips(end.name, end.nameKr)
//给bus外屏发送
LedScreenManager.sendTripInfo2Led(
LedScreenManager.LEAVE_STATION,
LineManager.lineInfos!!.lineName,
start.name,
end.name,
BusLineModel.isLastStation()==true
)
}
BusLineModel.leaveStation()
updateBusStatus()
@@ -461,22 +452,16 @@ object OrderModel {
}
private fun arriveStationSuccess() {
if(LineManager.startStation!=null&&LineManager.endStation!=null&&LineManager.lineInfos!=null){
LineManager.startStation?.let {startStation->
LineManager.endStation?.let {endStation->
ShuttleVoiceManager.arrivedStationBus(endStation.name, endStation.nameKr)
//给bus外屏发送
LedScreenManager.sendTripInfo2Led(
LedScreenManager.ARRIVE_STATION,
LineManager.lineInfos!!.lineName,
startStation.name,
endStation.name,
BusLineModel.isLastStation()==true
)
}
}
}else{
ToastUtils.showShort("未设置起始或终点站点")
LineManager.getStations { start, end ->
ShuttleVoiceManager.arrivedStationBus(end.name, end.nameKr)
//给bus外屏发送
LedScreenManager.sendTripInfo2Led(
LedScreenManager.ARRIVE_STATION,
LineManager.lineInfos!!.lineName,
start.name,
end.name,
BusLineModel.isLastStation()==true
)
}
BusLineModel.arrivedStation()
updateBusStatus()
@@ -560,8 +545,8 @@ object OrderModel {
BusLineModel.setDemoMode()
LineManager.startStation?.let {startStation ->
if (startStation.isLeaving) {
LineManager.getStartStation {
if (it.isLeaving) {
mADASStatusCallback?.hideSlidePanel()
isGoingToNextStation = true
}else{
@@ -704,21 +689,18 @@ object OrderModel {
@JvmStatic
fun triggerStartServiceEvent(isRestart: Boolean, send: Boolean,source:Int) {
LineManager.startStation?.let {startStation->
LineManager.endStation?.let {endStation->
OchAutopilotAnalytics.triggerStartAutopilotEvent(
isRestart,
send,
startStation.name,
endStation.name,
LineManager.lineInfos!!.lineId.toInt(),
"",
System.currentTimeMillis(),
source
)
}
LineManager.getStations { start, end ->
OchAutopilotAnalytics.triggerStartAutopilotEvent(
isRestart,
send,
start.name,
end.name,
LineManager.lineInfos!!.lineId.toInt(),
"",
System.currentTimeMillis(),
source
)
}
}
fun triggerUpdateStartAutoPilotSessionId(sessionId: Long) {
@@ -726,15 +708,11 @@ object OrderModel {
}
fun triggerUnableStartAPReasonEvent() {
LineManager.startStation?.let {startStation->
LineManager.endStation?.let {endStation->
if(LineManager.lineInfos!=null){
OchAutopilotAnalytics.triggerUnableStartAPReasonEvent(
startStation.name, endStation.name,LineManager.lineInfos!!.lineId.toString() , "",
OCHAdasAbilityManager.getInstance().autopilotUnAbilityReason
)
}
}
LineManager.getStationsWithLine { start, end, line ->
OchAutopilotAnalytics.triggerUnableStartAPReasonEvent(
start.name, end.name,line.lineId.toString() , "",
OCHAdasAbilityManager.getInstance().autopilotUnAbilityReason
)
}
}
@@ -757,40 +735,36 @@ object OrderModel {
}
private fun initAutopilotControlParameters(): AutopilotControlParameters? {
if(LineManager.startStation!=null&&LineManager.endStation!=null&&LineManager.lineInfos!=null&&LineManager.contraiInfo!=null){
LineManager.startStation?.let {startStation->
LineManager.endStation?.let {endStation->
val parameters = AutopilotControlParameters()
parameters.routeID = LineManager.lineInfos!!.lineId.toInt()
parameters.routeName = LineManager.lineInfos!!.lineName
parameters.startName = startStation.name
parameters.endName = endStation.name
parameters.startLatLon = AutoPilotLonLat(startStation.lat, startStation.lon)
parameters.endLatLon = AutoPilotLonLat(endStation.lat, endStation.lon)
parameters.vehicleType = VEHICLE_TYPE
var parameters:AutopilotControlParameters? = null
LineManager.getStationsWithLineAndContrai { start, end, lineInfo, contrai ->
parameters = AutopilotControlParameters()
parameters?.routeID = lineInfo.lineId.toInt()
parameters?.routeName = lineInfo.lineName
parameters?.startName = start.name
parameters?.endName = end.name
parameters?.startLatLon = AutoPilotLonLat(start.lat, start.lon)
parameters?.endLatLon = AutoPilotLonLat(end.lat, end.lon)
parameters?.vehicleType = VEHICLE_TYPE
if (parameters.autoPilotLine == null) {
parameters.autoPilotLine = AutoPilotLine(
LineManager.lineInfos!!.lineId,
LineManager.lineInfos!!.lineName,
LineManager.contraiInfo!!.csvFileUrl,
LineManager.contraiInfo!!.csvFileMd5,
LineManager.contraiInfo!!.txtFileUrl,
LineManager.contraiInfo!!.txtFileMd5,
LineManager.contraiInfo!!.contrailSaveTime,
"",
"",
"",
"",
"",
0L
)
}
return parameters
}
if (parameters?.autoPilotLine == null) {
parameters?.autoPilotLine = AutoPilotLine(
lineInfo.lineId,
lineInfo.lineName,
contrai.csvFileUrl,
contrai.csvFileMd5,
contrai.txtFileUrl,
contrai.txtFileMd5,
contrai.contrailSaveTime,
"",
"",
"",
"",
"",
0L
)
}
}else{
}
if(parameters==null){
ToastUtils.showShort("未设置起始或终点站点")
}
return null
@@ -801,21 +775,15 @@ object OrderModel {
TrajectoryAndDistanceManager.setStationPoint(null, null, null)
return
}
if(LineManager.startStation!=null&&LineManager.endStation!=null&&LineManager.lineInfos!=null){
LineManager.startStation?.let {startStation->
LineManager.endStation?.let {endStation->
val startStationLocation = MogoLocation()
startStationLocation.latitude = startStation.gcjLat
startStationLocation.longitude = startStation.gcjLon
LineManager.getStationsWithLine { start, end, lineInfo ->
val startStationLocation = MogoLocation()
startStationLocation.latitude = start.gcjLat
startStationLocation.longitude = start.gcjLon
val endStationLocation = MogoLocation()
endStationLocation.latitude = endStation.gcjLat
endStationLocation.longitude = endStation.gcjLon
TrajectoryAndDistanceManager.setStationPoint(startStationLocation, endStationLocation, LineManager.lineInfos!!.lineId)
}
}
}else{
ToastUtils.showShort("未设置起始或终点站点")
val endStationLocation = MogoLocation()
endStationLocation.latitude = end.gcjLat
endStationLocation.longitude = end.gcjLon
TrajectoryAndDistanceManager.setStationPoint(startStationLocation, endStationLocation, lineInfo.lineId)
}
}
}