[1.0.0]
[接口信息]
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
package com.mogo.och.bus.passenger.bean
|
||||
|
||||
import com.mogo.eagle.core.data.BaseData
|
||||
|
||||
/**
|
||||
* 网约车小巴路线接口请求响应结果 返回的是对应司机屏的线路信息
|
||||
*
|
||||
* @author tongchenfei
|
||||
*/
|
||||
data class ResponseSiteIntroduce(val data: MutableList<SiteIntroduceInfo>?) : BaseData(){
|
||||
|
||||
data class SiteIntroduceInfo(val siteId:Long,val introduceList:MutableList<IntroduceInfo>)
|
||||
|
||||
data class IntroduceInfo(val type:Int,val url :String,val seq:Int)
|
||||
|
||||
}
|
||||
@@ -14,6 +14,7 @@ import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger
|
||||
import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant
|
||||
import com.mogo.eagle.core.utilcode.util.GsonUtils
|
||||
import com.mogo.och.bus.passenger.bean.PM2RoutesResponse
|
||||
import com.mogo.och.bus.passenger.bean.ResponseSiteIntroduce
|
||||
import com.mogo.och.bus.passenger.callback.IAutopilotStatusCallback
|
||||
import com.mogo.och.bus.passenger.callback.IBusPassegerDriverStatusCallback
|
||||
import com.mogo.och.bus.passenger.callback.IDrivingInfoCallback
|
||||
@@ -26,12 +27,14 @@ import com.mogo.och.common.module.biz.login.ILoginCallback
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusEnum
|
||||
import com.mogo.och.common.module.biz.login.LoginStatusManager
|
||||
import com.mogo.och.common.module.biz.login.OpenOrderStatusEnum
|
||||
import com.mogo.och.common.module.biz.media.MediaManager
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.IOchAutopilotStatusListener
|
||||
import com.mogo.och.common.module.manager.autopilot.autopilot.OchAutoPilotStatusListenerManager
|
||||
import com.mogo.och.common.module.manager.autopilot.location.OchLocationManager
|
||||
import com.mogo.och.common.module.manager.distance.IDistanceListener
|
||||
import com.mogo.och.common.module.manager.distance.TrajectoryAndDistanceManager
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||
import com.mogo.och.common.module.manager.download.DownloadManager
|
||||
import com.mogo.och.common.module.manager.loop.BizLoopManager
|
||||
import com.mogo.och.common.module.manager.loop.LoopInfo
|
||||
import com.mogo.och.common.module.manager.socket.cloud.AbnormalFactorsLoopManager
|
||||
@@ -43,6 +46,8 @@ import com.mogo.och.common.module.manager.socket.lan.bean.TaskDetailsMsg
|
||||
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
||||
import com.mogo.och.common.module.utils.OCHThreadPoolManager
|
||||
import com.mogo.och.common.module.utils.PinYinUtil
|
||||
import com.mogo.och.common.module.utils.ProjectUtils
|
||||
import com.mogo.och.common.module.wigets.media.MediaItem
|
||||
import com.mogo.och.data.bean.BusRoutesResult
|
||||
import com.mogo.och.data.bean.BusStationBean
|
||||
import com.mogo.och.data.bean.BusTransferData
|
||||
@@ -202,6 +207,9 @@ object OrderModel {
|
||||
"onReceivedServerSn = $sn"
|
||||
)
|
||||
mDriverStatusCallback?.updateDriverSn(sn)
|
||||
sn?.let {
|
||||
querySiteIntroduce()
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -213,6 +221,33 @@ object OrderModel {
|
||||
LanSocketManager.sendMsgToServer(msg)
|
||||
}
|
||||
|
||||
private fun querySiteIntroduce(){
|
||||
mContext?.let {
|
||||
if (ProjectUtils.isSaas()) {
|
||||
BusPassengerServiceManager.querySiteIntroduceBySn(it,object : OchCommonServiceCallback<ResponseSiteIntroduce>{
|
||||
override fun onSuccess(response: ResponseSiteIntroduce?) {
|
||||
response?.let {response->
|
||||
downloadSiteIntroduce(response)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onFail(code: Int, msg: String?) {
|
||||
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun downloadSiteIntroduce(response: ResponseSiteIntroduce) {
|
||||
response.data?.forEach {siteIntroduceInfo ->
|
||||
siteIntroduceInfo.introduceList.forEach {introduceInfo ->
|
||||
DownloadManager.downloadVideoFile(introduceInfo.url,null)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private fun queryDriverOperationStatus() {
|
||||
LoginStatusManager.addListener(TAG,object: ILoginCallback{
|
||||
@@ -319,6 +354,13 @@ object OrderModel {
|
||||
endStation.longitude = endStationInfo.gcjLon
|
||||
endStation.latitude = endStationInfo.gcjLat
|
||||
TrajectoryAndDistanceManager.setStationPoint(startStation, endStation, lineId.toLong())
|
||||
val introductionList = mutableListOf<MediaItem>()
|
||||
endStationInfo.videoList.forEach {
|
||||
if(it.type==1) {
|
||||
introductionList.add(MediaItem(MediaItem.PrioritySite, it.url,MediaItem.MEDIA_TYPE_VIDEO,"",""))
|
||||
}
|
||||
}
|
||||
MediaManager.postSiteIntroduceInfo(introductionList)
|
||||
}
|
||||
|
||||
fun cleanStation(type: String) {
|
||||
|
||||
@@ -6,9 +6,9 @@ import com.mogo.och.bus.passenger.bean.PM2RoutesResponse
|
||||
import com.mogo.cloud.passport.MoGoAiCloudClientConfig
|
||||
import com.mogo.commons.debug.DebugConfig
|
||||
import com.mogo.och.bus.passenger.bean.BusPassengerQueryLineRequest
|
||||
import com.mogo.och.bus.passenger.bean.BusPassengerOperationStatusResponse
|
||||
import com.mogo.eagle.core.network.MoGoRetrofitFactory
|
||||
import com.mogo.commons.storage.SharedPrefsMgr
|
||||
import com.mogo.och.bus.passenger.bean.ResponseSiteIntroduce
|
||||
import com.mogo.och.common.module.biz.lansocket.LoginLanPassengerSocket
|
||||
import com.mogo.och.common.module.constant.OchCommonConst
|
||||
import com.mogo.och.common.module.network.OchCommonServiceCallback
|
||||
@@ -51,5 +51,21 @@ object BusPassengerServiceManager {
|
||||
.subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverSiteByCoordinate",false))
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 查询绑定行驶的小巴车路线
|
||||
* @param context
|
||||
* @param callback
|
||||
*/
|
||||
@JvmStatic
|
||||
fun querySiteIntroduceBySn(
|
||||
context: Context, callback: OchCommonServiceCallback<ResponseSiteIntroduce>?
|
||||
) {
|
||||
mBusPassengerSaasServiceApi.querySiteIntroduceBySn(
|
||||
MoGoAiCloudClientConfig.getInstance().serviceAppId,
|
||||
SharedPrefsMgr.getInstance().token,
|
||||
LoginLanPassengerSocket.driverSn
|
||||
).transformTry()
|
||||
.subscribe(OchCommonSubscribeImpl(context, callback, "querySiteIntroduceBySn"))
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,8 +1,7 @@
|
||||
package com.mogo.och.bus.passenger.network;
|
||||
|
||||
import com.mogo.och.bus.passenger.bean.BusPassengerOperationStatusResponse;
|
||||
import com.mogo.och.bus.passenger.bean.BusPassengerQueryLineRequest;
|
||||
import com.mogo.och.bus.passenger.bean.PM2RoutesResponse;
|
||||
import com.mogo.och.bus.passenger.bean.ResponseSiteIntroduce;
|
||||
|
||||
import io.reactivex.Observable;
|
||||
import retrofit2.http.Body;
|
||||
@@ -26,4 +25,12 @@ public interface PassengerSAASServiceApi {
|
||||
@GET( "/och-bus-cabin/api/business/v1/driver/bus/lineDataWithDriver/query" )
|
||||
Observable<PM2RoutesResponse> queryDriverSiteByCoordinate(@Header("appId") String appId, @Header("ticket") String ticket, @Query("sn") String sn);
|
||||
|
||||
/**
|
||||
* 查询车辆对应站点的所有视频介绍视频
|
||||
* @return 接口返回数据
|
||||
*/
|
||||
@Headers( {"Content-Type:application/json;charset=UTF-8"} )
|
||||
@GET( "/och-bus-cabin/api/business/v1/querySiteIntroduceBySn" )
|
||||
Observable<ResponseSiteIntroduce> querySiteIntroduceBySn(@Header("appId") String appId, @Header("ticket") String ticket, @Query("sn") String sn);
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.mogo.och.common.module.biz.media
|
||||
|
||||
import com.mogo.och.common.module.wigets.media.MediaItem
|
||||
|
||||
interface IMediaDispatch {
|
||||
fun diapatchMedia(list :MutableList<MediaItem>)
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.mogo.och.common.module.biz.media
|
||||
|
||||
import com.mogo.och.common.module.utils.CallerBase
|
||||
import com.mogo.och.common.module.wigets.media.MediaItem
|
||||
|
||||
object MediaManager : CallerBase<IMediaDispatch>() {
|
||||
|
||||
fun postSiteIntroduceInfo(list: MutableList<MediaItem>){
|
||||
M_LISTENERS.forEach {
|
||||
val listener = it.value
|
||||
listener.diapatchMedia(list)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -9,6 +9,7 @@ import com.mogo.commons.AbsMogoApplication
|
||||
import com.mogo.eagle.core.utilcode.download.DownloadUtils
|
||||
import com.mogo.eagle.core.utilcode.download.callback.IDownloadListener
|
||||
import com.mogo.eagle.core.utilcode.util.EncryptUtils
|
||||
import com.mogo.eagle.core.utilcode.util.RegexUtils
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||
import com.mogo.och.common.module.manager.loop.BizLoopManager
|
||||
import com.mogo.och.common.module.manager.loop.LoopInfo
|
||||
@@ -81,6 +82,10 @@ object DownloadManager {
|
||||
|
||||
|
||||
fun downloadVideoFile(mediaUrl: String, listener: IDownloadListener?) {
|
||||
if (!RegexUtils.isURL(mediaUrl)) {
|
||||
OchChainLogManager.writechainLogDownload("准备下载","url 错误 ${mediaUrl}")
|
||||
return
|
||||
}
|
||||
val downloadUrl = mediaUrl
|
||||
val downloadDir = getFileCacheDir()
|
||||
val downloadFileName = getCacheFileName(mediaUrl)+"_temp"
|
||||
|
||||
@@ -11,8 +11,9 @@ import com.mogo.eagle.core.utilcode.util.GsonUtils
|
||||
import com.mogo.eagle.core.utilcode.util.ThreadUtils
|
||||
import com.mogo.eagle.core.utilcode.util.UiThreadHandler
|
||||
import com.mogo.och.common.module.R
|
||||
import com.mogo.och.common.module.biz.media.IMediaDispatch
|
||||
import com.mogo.och.common.module.biz.media.MediaManager
|
||||
import com.mogo.och.common.module.manager.download.DownloadManager
|
||||
import com.mogo.och.common.module.manager.logchainanalytic.OchChainLogManager
|
||||
import com.shuyu.gsyvideoplayer.GSYVideoManager
|
||||
import kotlinx.android.synthetic.main.fragment_video_player.acb_add_site_video
|
||||
import kotlinx.android.synthetic.main.fragment_video_player.imageVideoRotationView
|
||||
@@ -22,7 +23,7 @@ import kotlinx.android.synthetic.main.fragment_video_player.imageVideoRotationVi
|
||||
* @date: 2022/4/12
|
||||
*/
|
||||
class MediaPlayerFragment :
|
||||
MvpFragment<MediaPlayerFragment?, MediaPlayerPresenter?>() {
|
||||
MvpFragment<MediaPlayerFragment?, MediaPlayerPresenter?>(), IMediaDispatch {
|
||||
|
||||
companion object {
|
||||
private val TAG = MediaPlayerFragment::class.java.simpleName
|
||||
@@ -45,10 +46,11 @@ class MediaPlayerFragment :
|
||||
override fun initViews() {
|
||||
acb_add_site_video.onClick {
|
||||
val siteList = mutableListOf<MediaItem>()
|
||||
siteList.add(MediaItem(MediaItem.PrioritySite,"https://img.zhidaozhixing.com/fileServer/defaultPath/b47f361c3de6ea490f3086407fc0376f/a1%E8%B7%AF%E7%BA%BF%281%29.mp4",MediaItem.MEDIA_TYPE_VIDEO,"","title"))
|
||||
siteList.add(MediaItem(MediaItem.PrioritySite,"https://img.zhidaozhixing.com/fileServer/defaultPath/a6376a452df030ee97770688f6fea4c0/a2%E8%B7%AF%E7%BA%BF.mp4",MediaItem.MEDIA_TYPE_VIDEO,"","title"))
|
||||
// siteList.add(MediaItem(MediaItem.PrioritySite,"https://img.zhidaozhixing.com/fileServer/defaultPath/b47f361c3de6ea490f3086407fc0376f/a1%E8%B7%AF%E7%BA%BF%281%29.mp4",MediaItem.MEDIA_TYPE_VIDEO,"","title"))
|
||||
siteList.add(MediaItem(MediaItem.PrioritySite,"https://img.zhidaozhixing.com/fileServer/online_car_hailing/1676357557335/3.mp4",MediaItem.MEDIA_TYPE_VIDEO,"","title"))
|
||||
setHightPriorityMediaItem(siteList)
|
||||
}
|
||||
MediaManager.addListener(TAG,this)
|
||||
MediaFileCacheManager.createFileCacheDir(MainMoGoApplication.getApp().applicationContext)
|
||||
MediaDataSourceManager.init(TAG, object : IMediaDataSourceListener {
|
||||
override fun onMediaDataSourceChanged(list: List<MediaItem>) {
|
||||
@@ -98,8 +100,13 @@ class MediaPlayerFragment :
|
||||
override fun onDestroy() {
|
||||
MediaDataSourceManager.unInit(TAG)
|
||||
GSYVideoManager.releaseAllVideos()
|
||||
MediaManager.removeListener(TAG)
|
||||
super.onDestroy()
|
||||
}
|
||||
|
||||
override fun diapatchMedia(list: MutableList<MediaItem>) {
|
||||
setHightPriorityMediaItem(list)
|
||||
}
|
||||
}
|
||||
|
||||
class MediaPlayerPresenter(view: MediaPlayerFragment?) :
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.mogo.och.data.bean;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
@@ -21,6 +22,7 @@ public class BusStationBean {
|
||||
private String introduction;// 站点简介
|
||||
private boolean isPlayTts;
|
||||
private int pointType; // 1:途径点 2:禁行点 3:站点
|
||||
private List<SiteIntroduce> videoList;
|
||||
|
||||
public String getNameKr() {
|
||||
return nameKr;
|
||||
@@ -118,6 +120,14 @@ public class BusStationBean {
|
||||
isPlayTts = playTts;
|
||||
}
|
||||
|
||||
public List<SiteIntroduce> getVideoList() {
|
||||
return videoList;
|
||||
}
|
||||
|
||||
public void setVideoList(List<SiteIntroduce> videoList) {
|
||||
this.videoList = videoList;
|
||||
}
|
||||
|
||||
public int getPointType() {
|
||||
return pointType;
|
||||
}
|
||||
@@ -141,6 +151,7 @@ public class BusStationBean {
|
||||
&& leaving == that.leaving
|
||||
&& pointType == that.pointType
|
||||
&& name.equals(that.name)
|
||||
&& videoList.equals(that.videoList)
|
||||
&& (nameKr == null || nameKr.equals(that.nameKr));
|
||||
}
|
||||
|
||||
@@ -162,9 +173,10 @@ public class BusStationBean {
|
||||
", lat=" + lat +
|
||||
", drivingStatus=" + drivingStatus +
|
||||
", leaving=" + leaving +
|
||||
", introduction='" + introduction + '\'' +
|
||||
", isPlayTts=" + isPlayTts +
|
||||
", pointType=" + pointType +
|
||||
", introduction='" + introduction + '\'' +
|
||||
", videoList=" + videoList +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
package com.mogo.och.data.bean;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
public class SiteIntroduce {
|
||||
private int type;
|
||||
private String url;
|
||||
private int seq;
|
||||
|
||||
public int getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(int type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public String getUrl() {
|
||||
return url;
|
||||
}
|
||||
|
||||
public void setUrl(String url) {
|
||||
this.url = url;
|
||||
}
|
||||
|
||||
public int getSeq() {
|
||||
return seq;
|
||||
}
|
||||
|
||||
public void setSeq(int seq) {
|
||||
this.seq = seq;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object o) {
|
||||
if (this == o) return true;
|
||||
if (o == null || getClass() != o.getClass()) return false;
|
||||
|
||||
SiteIntroduce that = (SiteIntroduce) o;
|
||||
return type == that.type && seq == that.seq && Objects.equals(url, that.url);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
int result = type;
|
||||
result = 31 * result + Objects.hashCode(url);
|
||||
result = 31 * result + seq;
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "SiteIntroduce{" +
|
||||
"type=" + type +
|
||||
", url='" + url + '\'' +
|
||||
", seq=" + seq +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user