package com.ubt.jimu.transport3; import android.content.Context; import android.graphics.Bitmap; import android.text.TextUtils; import android.util.Log; import com.ijm.dataencryption.de.DataDecryptTool; import com.ubt.jimu.JimuApplication; import com.ubt.jimu.base.cache.Cache; import com.ubt.jimu.base.db.diy.DiyDBModel; import com.ubt.jimu.base.entities.User; import com.ubt.jimu.base.http.ApiObserver; import com.ubt.jimu.base.http.ApiResponse; import com.ubt.jimu.diy.DiyRobotDbHandler; import com.ubt.jimu.gen.DiyDBModelDao; import com.ubt.jimu.transport.model.TransportFile; import com.ubt.jimu.transport3.api.DiyTransportServiceProxy; import com.ubt.jimu.transport3.bean.PageResultBean; import com.ubt.jimu.transport3.bean.request.UploadModelActionBean; import com.ubt.jimu.transport3.bean.request.UploadModelFileBean; import com.ubt.jimu.transport3.bean.response.DiyModelBean; import com.ubt.jimu.transport3.bean.response.SaveOrUpdateModelBean; import com.ubt.jimu.transport3.bean.response.TransportFileBean; import com.ubt.jimu.transport3.dao.DiyDBModelDBHandler; import com.ubt.jimu.transport3.dao.DiyModelActionDBHandler; import com.ubt.jimu.transport3.dao.TransportFileDbHandler2; import com.ubt.jimu.transport3.model.DiyModelAction; import com.ubt.jimu.unity.ModelType; import com.ubt.jimu.upload.DataUploadProxy; import com.ubt.jimu.upload.IUploadCallback; import com.ubt.jimu.upload.SimpleUploadCallback; import com.ubt.jimu.upload.UploadFilePathUtils; import com.ubt.jimu.upload.UploadRequest; import com.ubt.jimu.upload.UploadResponse; import com.ubt.jimu.utils.LogUtils; import com.ubt.jimu.utils.SystemUtils; import com.ubt.jimu.utils.videoUtil.VideoUtils; import com.ubtech.utils.XLog; import io.reactivex.Observable; import io.reactivex.ObservableEmitter; import io.reactivex.ObservableOnSubscribe; import io.reactivex.Observer; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; import io.reactivex.functions.BiFunction; import io.reactivex.functions.Consumer; import io.reactivex.functions.Function; import io.reactivex.schedulers.Schedulers; import java.io.ByteArrayOutputStream; import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import org.greenrobot.greendao.query.QueryBuilder; import org.greenrobot.greendao.query.WhereCondition; /* loaded from: classes2.dex */ public class DiyTransportServiceImpl { private static final String TAG = "DiyTransportServiceImpl"; private static DiyTransportServiceImpl impl; private DiyTransportServiceProxy proxy = new DiyTransportServiceProxy(); private TransportFileDbHandler2 transportFileDbHandler = TransportFileDbHandler2.getInstance(); private DiyDBModelDBHandler diyDBModelDBHandler = DiyDBModelDBHandler.getInstance(); private DiyModelActionDBHandler diyModelActionDBHandler = DiyModelActionDBHandler.getInstance(); private Context context = JimuApplication.l().getApplicationContext(); private TransportLogic transportLogic = new TransportLogic(); public interface UploadStateListener { void onUploadComplete(); void onUploadFailure(); void onUploadSucceed(); } private DiyTransportServiceImpl() { } /* JADX INFO: Access modifiers changed from: private */ public List checkAndDownloadModelFile(DiyDBModel diyDBModel, List list) { ArrayList arrayList = new ArrayList(); if (list != null && list.size() != 0) { List modelFiles = this.transportFileDbHandler.getModelFiles(diyDBModel.getModelCreatedId(), diyDBModel.getCustomModelId()); if (modelFiles.size() == 0) { Iterator it = list.iterator(); while (it.hasNext()) { arrayList.add(it.next()); } return arrayList; } ArrayList arrayList2 = new ArrayList(); HashMap hashMap = new HashMap(); for (TransportFile transportFile : modelFiles) { hashMap.put(transportFile.getFileType() + transportFile.getFileName(), transportFile); } for (TransportFile transportFile2 : list) { TransportFile transportFile3 = (TransportFile) hashMap.get(transportFile2.getFileType() + transportFile2.getFileName()); if (transportFile3 == null) { arrayList.add(transportFile2); } else if (transportFile2.getLastUploadTime() > transportFile3.getLastUploadTime()) { transportFile3.setLastUploadTime(transportFile2.getLastUploadTime()); transportFile3.setFileVersion(transportFile2.getFileVersion()); transportFile3.setFileUrl(transportFile2.getFileUrl()); transportFile3.setFileName(transportFile2.getFileName()); arrayList.add(transportFile3); LogUtils.c(transportFile2.getFileName() + " 需要更新:" + transportFile2.getLastUploadTime() + " 本地时间:" + transportFile3.getLastUploadTime()); } else { LogUtils.c(transportFile2.getFileName() + "不需要更新:" + TransportFileDbHandler2.getAbsoluteModelFilePath(transportFile3) + "服务器时间时间:" + transportFile2.getLastUploadTime() + " 本地时间:" + transportFile3.getLastUploadTime()); if (!new File(TransportFileDbHandler2.getAbsoluteModelFilePath(transportFile3)).exists()) { LogUtils.c(transportFile2.getFileName() + " 由于本地文件不存在,也要更新"); arrayList.add(transportFile3); } } } arrayList2.size(); } return arrayList; } public static synchronized DiyTransportServiceImpl getInstance() { DiyTransportServiceImpl diyTransportServiceImpl; synchronized (DiyTransportServiceImpl.class) { if (impl == null) { impl = new DiyTransportServiceImpl(); } diyTransportServiceImpl = impl; } return diyTransportServiceImpl; } /* JADX INFO: Access modifiers changed from: private */ public void saveOrUpdateModelUbtServer(final DiyDBModel diyDBModel, final TransportFile transportFile, final UploadStateListener uploadStateListener) { this.proxy.saveOrUpdateModel(diyDBModel, Cache.getInstance().getUserToken()).subscribeOn(Schedulers.b()).observeOn(Schedulers.b()).subscribe(new Consumer>() { // from class: com.ubt.jimu.transport3.DiyTransportServiceImpl.11 @Override // io.reactivex.functions.Consumer public void accept(ApiResponse apiResponse) throws Exception { if (apiResponse == null || !apiResponse.isStatus() || apiResponse.getModels() == null) { LogUtils.c("模型数据上传到公司服务器失败"); return; } SaveOrUpdateModelBean models = apiResponse.getModels(); diyDBModel.setIsModify(false); diyDBModel.setModelId(Integer.valueOf(models.getModelId())); diyDBModel.setModifyTime(models.getLastUploadTime()); diyDBModel.setLastUploadTime(models.getLastUploadTime()); diyDBModel.setModelName(models.getModelName()); if (!TextUtils.isEmpty(diyDBModel.getDescription())) { diyDBModel.setDescription(models.getDescription()); } if (!TextUtils.isEmpty(models.getCompressImagePath())) { diyDBModel.setCompressImagePath(models.getCompressImagePath()); } DiyTransportServiceImpl.this.diyDBModelDBHandler.update(diyDBModel); if (transportFile.getModelId() == 0) { transportFile.setModelId(models.getModelId()); transportFile.setIsModify(false); DiyTransportServiceImpl.this.transportFileDbHandler.update(transportFile); } LogUtils.c("创建模型成功"); ArrayList arrayList = new ArrayList(); arrayList.add(transportFile); UploadModelFileBean uploadModelFileBean = new UploadModelFileBean(Cache.getInstance().getUserId(), Cache.getInstance().getUserToken(), (int) transportFile.getModelId(), transportFile.getCustomModelId()); if (transportFile.getId() == 0) { uploadModelFileBean.setAddFiles(arrayList); } else { uploadModelFileBean.setUpdateFiles(arrayList); } DiyTransportServiceImpl.this.uploadModelFiles(uploadModelFileBean, transportFile, null, uploadStateListener); } }); } /* JADX INFO: Access modifiers changed from: private */ public void uploadActions(UploadModelActionBean uploadModelActionBean, final DiyModelAction diyModelAction) { this.proxy.uploadActions(uploadModelActionBean).observeOn(Schedulers.c()).subscribeOn(Schedulers.c()).subscribe(new Observer>() { // from class: com.ubt.jimu.transport3.DiyTransportServiceImpl.14 @Override // io.reactivex.Observer public void onComplete() { } @Override // io.reactivex.Observer public void onError(Throwable th) { th.printStackTrace(); diyModelAction.setUploading(0); DiyTransportServiceImpl.this.diyModelActionDBHandler.update(diyModelAction); } @Override // io.reactivex.Observer public void onSubscribe(Disposable disposable) { } @Override // io.reactivex.Observer public void onNext(ApiResponse apiResponse) { if (apiResponse.isStatus()) { diyModelAction.setUploading(0); diyModelAction.setModify(false); diyModelAction.setUploaded(true); diyModelAction.setServerId(1L); LogUtils.c("上传到公司服务器成功时间为:" + diyModelAction.getLastUploadTime()); DiyTransportServiceImpl.this.diyModelActionDBHandler.insertOrUpdateActionDB(diyModelAction); } } }); } public void deleteAction(final DiyModelAction diyModelAction) { if (diyModelAction == null) { return; } UploadModelActionBean.UploadModelAction fromDiyModelAction = UploadModelActionBean.fromDiyModelAction(diyModelAction); UploadModelActionBean uploadModelActionBean = new UploadModelActionBean(Cache.getInstance().getUserToken(), diyModelAction.getModelId(), diyModelAction.getCustomModelId()); ArrayList arrayList = new ArrayList(); arrayList.add(fromDiyModelAction); uploadModelActionBean.setDeleteActions(arrayList); this.proxy.uploadActions(uploadModelActionBean).subscribeOn(Schedulers.b()).subscribe(new Observer>() { // from class: com.ubt.jimu.transport3.DiyTransportServiceImpl.15 @Override // io.reactivex.Observer public void onComplete() { } @Override // io.reactivex.Observer public void onError(Throwable th) { th.printStackTrace(); } @Override // io.reactivex.Observer public void onSubscribe(Disposable disposable) { } @Override // io.reactivex.Observer public void onNext(ApiResponse apiResponse) { if (apiResponse == null || !apiResponse.isStatus()) { return; } DiyModelActionDBHandler.getInstance().delete(diyModelAction); } }); } public void deleteModel(String str, List list, Observer> observer) { if (list == null || list.size() == 0) { return; } ArrayList arrayList = new ArrayList(); for (DiyDBModel diyDBModel : list) { HashMap hashMap = new HashMap(); hashMap.put("modelId", diyDBModel.getModelId()); hashMap.put("lastUploadTime", Long.valueOf(diyDBModel.getLastUploadTime() == 0 ? diyDBModel.getModifyTime() : diyDBModel.getLastUploadTime())); arrayList.add(hashMap); } this.proxy.deleteModels(str, Cache.getInstance().getUserToken(), arrayList).observeOn(Schedulers.b()).subscribeOn(Schedulers.b()).subscribe(observer); } public void deleteModelFile(final TransportFile transportFile) { if (transportFile == null) { return; } if (transportFile.getId() < 1) { this.transportFileDbHandler.delete(transportFile); return; } ArrayList arrayList = new ArrayList(); arrayList.add(transportFile); UploadModelFileBean uploadModelFileBean = new UploadModelFileBean(transportFile.getUserId(), Cache.getInstance().getUserToken(), (int) transportFile.getModelId(), transportFile.getCustomModelId()); uploadModelFileBean.setDeleteFiles(arrayList); this.proxy.uploadModelFiles(uploadModelFileBean).subscribeOn(Schedulers.b()).subscribe(new Observer>() { // from class: com.ubt.jimu.transport3.DiyTransportServiceImpl.8 @Override // io.reactivex.Observer public void onComplete() { } @Override // io.reactivex.Observer public void onError(Throwable th) { th.printStackTrace(); Log.e(DiyTransportServiceImpl.TAG, th.getMessage()); } @Override // io.reactivex.Observer public void onSubscribe(Disposable disposable) { } @Override // io.reactivex.Observer public void onNext(ApiResponse apiResponse) { if (apiResponse.isStatus()) { DiyTransportServiceImpl.this.transportFileDbHandler.delete(transportFile); } else { Log.e(DiyTransportServiceImpl.TAG, "调用接口删除文件失败!"); } } }); } public void getModelActions(String str, Integer num, final ApiObserver> apiObserver) { if ("local".equals(str)) { apiObserver.onError(new Exception("本地账号")); } else if (num == null || num.intValue() == 0) { apiObserver.onError(new Exception("模型未同步")); } else { this.proxy.actions(num.intValue(), Cache.getInstance().getUserToken()).subscribeOn(Schedulers.b()).observeOn(AndroidSchedulers.a()).subscribe(new Observer>>() { // from class: com.ubt.jimu.transport3.DiyTransportServiceImpl.12 @Override // io.reactivex.Observer public void onComplete() { } @Override // io.reactivex.Observer public void onError(Throwable th) { ApiObserver apiObserver2 = apiObserver; if (apiObserver2 != null) { apiObserver2.onError(th); } } @Override // io.reactivex.Observer public void onSubscribe(Disposable disposable) { ApiObserver apiObserver2 = apiObserver; if (apiObserver2 != null) { apiObserver2.onSubscribe(disposable); } } @Override // io.reactivex.Observer public void onNext(ApiResponse> apiResponse) { if (apiResponse == null || !apiResponse.isStatus()) { apiObserver.onError(new Throwable("listApiResponse is null")); return; } List models = apiResponse.getModels(); if (models == null || models.size() == 0) { return; } ArrayList arrayList = new ArrayList(); ArrayList arrayList2 = new ArrayList(); for (DiyModelAction diyModelAction : models) { if (diyModelAction != null) { diyModelAction.setServerId(1L); diyModelAction.setUserId(Cache.getInstance().getUserId()); if (diyModelAction.getIsDeleted() != 1) { DiyModelAction selectUnique = DiyTransportServiceImpl.this.diyModelActionDBHandler.selectUnique(diyModelAction); if (selectUnique == null || selectUnique.getLastUploadTime() < diyModelAction.getLastUploadTime()) { arrayList.add(diyModelAction); } } else if (DiyTransportServiceImpl.this.diyModelActionDBHandler.deleteModelAction(diyModelAction)) { arrayList2.add(diyModelAction); } } } ApiObserver apiObserver2 = apiObserver; if (apiObserver2 != null) { apiObserver2.onNext(arrayList); } } }); } } public void getModelFiles(final DiyDBModel diyDBModel, ApiObserver> apiObserver) { LogUtils.c("token:" + Cache.getInstance().getUserToken()); this.proxy.getModelFiles(diyDBModel.getModelCreatedId(), diyDBModel.getModelId().intValue(), Cache.getInstance().getUserToken()).subscribeOn(Schedulers.b()).map(new Function>, List>() { // from class: com.ubt.jimu.transport3.DiyTransportServiceImpl.4 @Override // io.reactivex.functions.Function public List apply(ApiResponse> apiResponse) { ArrayList arrayList = new ArrayList(); if (apiResponse == null || !apiResponse.isStatus()) { return null; } List models = apiResponse.getModels(); if (models == null || models.size() == 0) { return arrayList; } Iterator it = models.iterator(); while (it.hasNext()) { arrayList.add(TransportFileBean.toTransportFile(diyDBModel.getModelCreatedId(), it.next())); } return DiyTransportServiceImpl.this.checkAndDownloadModelFile(diyDBModel, arrayList); } }).subscribeOn(Schedulers.b()).observeOn(AndroidSchedulers.a()).subscribe(apiObserver); } public void getModels(final String str, ApiObserver> apiObserver) { final User user = Cache.getInstance().getUser(); Observable create = Observable.create(new ObservableOnSubscribe>() { // from class: com.ubt.jimu.transport3.DiyTransportServiceImpl.1 @Override // io.reactivex.ObservableOnSubscribe public void subscribe(ObservableEmitter> observableEmitter) { String str2 = str; if (user == null || "local".equals(str2)) { str2 = "local"; } QueryBuilder queryBuilder = DiyTransportServiceImpl.this.diyDBModelDBHandler.getQueryBuilder(); queryBuilder.a(DiyDBModelDao.Properties.ModelCreatedId.a((Object) str2), new WhereCondition[0]); queryBuilder.b(DiyDBModelDao.Properties.CustomModelCreatetime); observableEmitter.onNext(DiyTransportServiceImpl.this.diyDBModelDBHandler.query(queryBuilder)); observableEmitter.onComplete(); } }); if (user == null || "local".equals(str)) { create.subscribeOn(Schedulers.b()).observeOn(AndroidSchedulers.a()).subscribe(apiObserver); } else { Observable.zip(create, this.proxy.getModels(str, Cache.getInstance().getUserToken()).map(new Function>, List>() { // from class: com.ubt.jimu.transport3.DiyTransportServiceImpl.2 @Override // io.reactivex.functions.Function public List apply(ApiResponse> apiResponse) { ArrayList arrayList = new ArrayList(); if (apiResponse != null && apiResponse.isStatus() && apiResponse.getModels() != null && apiResponse.getModels().getData() != null) { Iterator it = apiResponse.getModels().getData().iterator(); while (it.hasNext()) { arrayList.add(DiyModelBean.toDiyModel(it.next())); } } return arrayList; } }), new BiFunction, List, List>() { // from class: com.ubt.jimu.transport3.DiyTransportServiceImpl.3 @Override // io.reactivex.functions.BiFunction public List apply(List list, List list2) { return DiyTransportServiceImpl.this.transportLogic.pullServerModels(str, list, list2); } }).subscribeOn(Schedulers.b()).observeOn(AndroidSchedulers.a()).subscribe(apiObserver); } } public void saveOrUpdateModel(final DiyDBModel diyDBModel, final TransportFile transportFile, final UploadStateListener uploadStateListener) { String logPath = DiyRobotDbHandler.getLogPath(ModelType.PLAYER_DATA, diyDBModel.getCustomModelId()); if (!TextUtils.isEmpty(logPath) && new File(logPath).exists()) { UploadRequest uploadRequest = new UploadRequest(); uploadRequest.b(logPath); uploadRequest.a(UploadFilePathUtils.a(logPath)); DataUploadProxy.c().a(uploadRequest, new SimpleUploadCallback() { // from class: com.ubt.jimu.transport3.DiyTransportServiceImpl.10 @Override // com.ubt.jimu.upload.IUploadCallback public void uploadFaulted(UploadRequest uploadRequest2, Exception exc) { LogUtils.c("log上传失败"); } @Override // com.ubt.jimu.upload.IUploadCallback public void uploadSucceed(UploadResponse uploadResponse) { LogUtils.c("log上传成功:" + uploadResponse.c()); transportFile.setFileUrl(uploadResponse.c()); transportFile.setUploaded(true); DiyTransportServiceImpl.this.transportFileDbHandler.update(transportFile); if (transportFile.getFileType() == "bg") { diyDBModel.setCompressImagePath(uploadResponse.c()); } DiyTransportServiceImpl.this.saveOrUpdateModelUbtServer(diyDBModel, transportFile, uploadStateListener); } }); } } public void syncOfficialModelFileToService(UploadModelFileBean uploadModelFileBean, final TransportFile transportFile) { if (uploadModelFileBean == null) { return; } this.proxy.uploadModelFiles(uploadModelFileBean).observeOn(Schedulers.c()).subscribeOn(Schedulers.c()).subscribe(new Consumer>() { // from class: com.ubt.jimu.transport3.DiyTransportServiceImpl.17 @Override // io.reactivex.functions.Consumer public void accept(ApiResponse apiResponse) throws Exception { XLog.a("sync", "upload file success! path: %s, url:%s", transportFile.getFullPath(), transportFile.getFileUrl()); if (apiResponse.isStatus()) { transportFile.setIsModify(false); transportFile.setUploaded(true); transportFile.setId(1L); TransportFileDbHandler2.getInstance().update(transportFile); } } }); } public void updateModel(final DiyDBModel diyDBModel, Observer> observer) { this.proxy.saveOrUpdateModel(diyDBModel, Cache.getInstance().getUserToken()).subscribeOn(Schedulers.b()).map(new Function, ApiResponse>() { // from class: com.ubt.jimu.transport3.DiyTransportServiceImpl.9 @Override // io.reactivex.functions.Function public ApiResponse apply(ApiResponse apiResponse) { if (apiResponse != null && apiResponse.isStatus()) { diyDBModel.setIsModify(false); DiyTransportServiceImpl.this.diyDBModelDBHandler.insertOrUpdate(diyDBModel); } return apiResponse; } }).subscribeOn(Schedulers.b()).observeOn(Schedulers.b()).subscribe(observer); } public void uploadAction(final DiyModelAction diyModelAction, TransportFile transportFile) { if (diyModelAction.getUploading() == 1) { return; } diyModelAction.setUploading(1); this.diyModelActionDBHandler.update(diyModelAction); String absoluteModelFilePath = TransportFileDbHandler2.getAbsoluteModelFilePath(transportFile); if (!TextUtils.isEmpty(absoluteModelFilePath) && new File(absoluteModelFilePath).exists()) { UploadRequest uploadRequest = new UploadRequest(); uploadRequest.b(absoluteModelFilePath); uploadRequest.a(UploadFilePathUtils.a(absoluteModelFilePath)); DataUploadProxy.c().a(uploadRequest, new SimpleUploadCallback() { // from class: com.ubt.jimu.transport3.DiyTransportServiceImpl.13 @Override // com.ubt.jimu.upload.IUploadCallback public void uploadFaulted(UploadRequest uploadRequest2, Exception exc) { diyModelAction.setUploading(0); DiyTransportServiceImpl.this.diyModelActionDBHandler.update(diyModelAction); LogUtils.c("上传动作失败"); } @Override // com.ubt.jimu.upload.IUploadCallback public void uploadSucceed(UploadResponse uploadResponse) { LogUtils.c("上传动作成功:" + uploadResponse.c()); diyModelAction.setFileUrl(uploadResponse.c()); UploadModelActionBean uploadModelActionBean = new UploadModelActionBean(Cache.getInstance().getUserToken(), diyModelAction.getModelId(), diyModelAction.getCustomModelId()); ArrayList arrayList = new ArrayList(); arrayList.add(UploadModelActionBean.fromDiyModelAction(diyModelAction)); if (diyModelAction.getServerId() <= 0) { uploadModelActionBean.setAddActions(arrayList); } else { uploadModelActionBean.setUpdateActions(arrayList); } DiyTransportServiceImpl.this.uploadActions(uploadModelActionBean, diyModelAction); } }); } } public void uploadFile(TransportFile transportFile, final IUploadCallback iUploadCallback) { if (iUploadCallback == null) { return; } String absoluteModelFilePath = TransportFileDbHandler2.getAbsoluteModelFilePath(transportFile); LogUtils.c("filePath:" + absoluteModelFilePath); if (TextUtils.isEmpty(absoluteModelFilePath)) { return; } if (!new File(absoluteModelFilePath).exists()) { LogUtils.c("Diy file not exists"); return; } UploadRequest uploadRequest = new UploadRequest(); uploadRequest.a(UploadFilePathUtils.a(absoluteModelFilePath)); uploadRequest.b(absoluteModelFilePath); DataUploadProxy.c().a(uploadRequest, new SimpleUploadCallback() { // from class: com.ubt.jimu.transport3.DiyTransportServiceImpl.16 @Override // com.ubt.jimu.upload.IUploadCallback public void uploadFaulted(UploadRequest uploadRequest2, Exception exc) { iUploadCallback.uploadFaulted(uploadRequest2, exc); } @Override // com.ubt.jimu.upload.IUploadCallback public void uploadSucceed(UploadResponse uploadResponse) { iUploadCallback.uploadSucceed(uploadResponse); } }); } public void uploadModelFile(final DiyDBModel diyDBModel, final TransportFile transportFile, final UploadStateListener uploadStateListener) { if (diyDBModel == null || diyDBModel.getModelId() == null || diyDBModel.getModelId().intValue() == 0) { return; } String absoluteModelFilePath = TransportFileDbHandler2.getAbsoluteModelFilePath(transportFile); if (!TextUtils.isEmpty(absoluteModelFilePath) && new File(absoluteModelFilePath).exists()) { final UploadRequest uploadRequest = new UploadRequest(); uploadRequest.b(absoluteModelFilePath); uploadRequest.a(UploadFilePathUtils.a(absoluteModelFilePath)); DataUploadProxy.c().a(uploadRequest, new SimpleUploadCallback() { // from class: com.ubt.jimu.transport3.DiyTransportServiceImpl.5 @Override // com.ubt.jimu.upload.IUploadCallback public void uploadFaulted(UploadRequest uploadRequest2, Exception exc) { UploadStateListener uploadStateListener2 = uploadStateListener; if (uploadStateListener2 != null) { uploadStateListener2.onUploadFailure(); } LogUtils.c("上传文件失败"); } @Override // com.ubt.jimu.upload.IUploadCallback public void uploadSucceed(UploadResponse uploadResponse) { LogUtils.c("上传文件成功:" + uploadResponse.c()); transportFile.setFileUrl(uploadResponse.c()); transportFile.setUploaded(true); if (transportFile.getModelId() <= 0) { transportFile.setModelId(diyDBModel.getModelId().intValue()); } DiyTransportServiceImpl.this.transportFileDbHandler.update(transportFile); ArrayList arrayList = new ArrayList(); arrayList.add(transportFile); UploadModelFileBean uploadModelFileBean = new UploadModelFileBean(diyDBModel.getModelCreatedId(), Cache.getInstance().getUserToken(), diyDBModel.getModelId().intValue(), diyDBModel.getCustomModelId()); if (transportFile.getId() >= 1) { uploadModelFileBean.setUpdateFiles(arrayList); } else { uploadModelFileBean.setAddFiles(arrayList); } if (!TransportFile.TYPE_DIY_SHOW.equals(transportFile.getFileType())) { DiyTransportServiceImpl.this.uploadModelFiles(uploadModelFileBean, transportFile, null, uploadStateListener); return; } StringBuilder sb = new StringBuilder(); sb.append("七牛视频上传成功 新增:"); sb.append(uploadModelFileBean.getAddFiles() == null ? 0 : uploadModelFileBean.getAddFiles().size()); LogUtils.c(sb.toString()); StringBuilder sb2 = new StringBuilder(); sb2.append("七牛视频上传成功 更新:"); sb2.append(uploadModelFileBean.getUpdateFiles() != null ? uploadModelFileBean.getUpdateFiles().size() : 0); LogUtils.c(sb2.toString()); DiyTransportServiceImpl.this.uploadVideoCover(uploadModelFileBean, uploadRequest, transportFile, uploadStateListener); } }); } } public void uploadModelFiles(UploadModelFileBean uploadModelFileBean, final TransportFile transportFile, final TransportFile transportFile2, final UploadStateListener uploadStateListener) { StringBuilder sb = new StringBuilder(); sb.append("七牛视频上传成功 新增4:"); sb.append(uploadModelFileBean.getAddFiles() == null ? 0 : uploadModelFileBean.getAddFiles().size()); LogUtils.c(sb.toString()); this.proxy.uploadModelFiles(uploadModelFileBean).subscribe(new Observer>() { // from class: com.ubt.jimu.transport3.DiyTransportServiceImpl.7 @Override // io.reactivex.Observer public void onComplete() { UploadStateListener uploadStateListener2 = uploadStateListener; if (uploadStateListener2 != null) { uploadStateListener2.onUploadComplete(); } } @Override // io.reactivex.Observer public void onError(Throwable th) { UploadStateListener uploadStateListener2 = uploadStateListener; if (uploadStateListener2 != null) { uploadStateListener2.onUploadFailure(); } } @Override // io.reactivex.Observer public void onSubscribe(Disposable disposable) { } @Override // io.reactivex.Observer public void onNext(ApiResponse apiResponse) { if (apiResponse.isStatus()) { TransportFile transportFile3 = transportFile2; if (transportFile3 != null) { transportFile3.setId(1L); transportFile2.setIsModify(false); DiyTransportServiceImpl.this.transportFileDbHandler.update(transportFile2); } TransportFile transportFile4 = transportFile; if (transportFile4 != null) { transportFile4.setId(1L); transportFile.setIsModify(false); DiyTransportServiceImpl.this.transportFileDbHandler.update(transportFile); } UploadStateListener uploadStateListener2 = uploadStateListener; if (uploadStateListener2 != null) { uploadStateListener2.onUploadSucceed(); } } } }); } public void uploadVideoCover(final UploadModelFileBean uploadModelFileBean, UploadRequest uploadRequest, final TransportFile transportFile, final UploadStateListener uploadStateListener) { if (transportFile == null || uploadRequest == null) { return; } String b = uploadRequest.b(); if (TextUtils.isEmpty(b)) { uploadModelFiles(uploadModelFileBean, transportFile, null, uploadStateListener); return; } Bitmap a = VideoUtils.a(b, DataDecryptTool.DECRYPT_SP_FILE, 608, 2); if (a == null) { return; } ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); a.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream); byte[] byteArray = byteArrayOutputStream.toByteArray(); if (byteArray.length == 0) { return; } final String name = new File(b).getName(); if (TextUtils.isEmpty(name)) { return; } StringBuilder sb = new StringBuilder(); sb.append("七牛视频上传成功 新增2:"); sb.append(uploadModelFileBean.getAddFiles() == null ? 0 : uploadModelFileBean.getAddFiles().size()); LogUtils.c(sb.toString()); StringBuilder sb2 = new StringBuilder(); sb2.append("七牛视频上传成功 更新2:"); sb2.append(uploadModelFileBean.getUpdateFiles() != null ? uploadModelFileBean.getUpdateFiles().size() : 0); LogUtils.c(sb2.toString()); DataUploadProxy.c().a(byteArray, UploadFilePathUtils.a(b).replace(".mp4", ".jpg"), new SimpleUploadCallback() { // from class: com.ubt.jimu.transport3.DiyTransportServiceImpl.6 @Override // com.ubt.jimu.upload.IUploadCallback public void uploadFaulted(UploadRequest uploadRequest2, Exception exc) { LogUtils.c("上传封面失败"); UploadStateListener uploadStateListener2 = uploadStateListener; if (uploadStateListener2 != null) { uploadStateListener2.onUploadFailure(); } } @Override // com.ubt.jimu.upload.IUploadCallback public void uploadSucceed(UploadResponse uploadResponse) { TransportFile transportFile2 = new TransportFile(); transportFile2.setIsModify(true); transportFile2.setCreateTime(transportFile.getCreateTime() == 0 ? SystemUtils.a() : transportFile.getCreateTime()); transportFile2.setLastUploadTime(SystemUtils.a()); transportFile2.setModifyTime(SystemUtils.a()); transportFile2.setCustomModelId(transportFile.getCustomModelId()); transportFile2.setUploaded(true); transportFile2.setModelId(transportFile.getModelId()); transportFile2.setModelType(transportFile.getModelType()); transportFile2.setFileUrl(uploadResponse.c()); transportFile2.setUserId(transportFile.getUserId()); transportFile2.setFilePath(transportFile.getFilePath()); transportFile2.setFileType(TransportFile.TYPE_AUDIO_SHOW); transportFile2.setFileName(name.replace(".mp4", ".jpg")); TransportFile selectUnique = TransportFileDbHandler2.getInstance().selectUnique(transportFile2); ArrayList arrayList = new ArrayList(); if (selectUnique == null) { TransportFileDbHandler2.getInstance().insert(transportFile2); LogUtils.c("新增视频封面数据"); arrayList.add(transportFile2); } else { selectUnique.setUploaded(true); selectUnique.setLastUploadTime(SystemUtils.a()); selectUnique.setModifyTime(SystemUtils.a()); selectUnique.setFileUrl(uploadResponse.c()); if (!TextUtils.isEmpty(name)) { selectUnique.setFileName(name.replace(".mp4", ".jpg")); } LogUtils.c("更新视频封面数据"); TransportFileDbHandler2.getInstance().update(selectUnique); arrayList.add(selectUnique); transportFile2 = selectUnique; } if (transportFile2.getId() >= 1) { uploadModelFileBean.setUpdateFiles(arrayList); } else { uploadModelFileBean.setAddFiles(arrayList); } StringBuilder sb3 = new StringBuilder(); sb3.append("七牛视频上传成功 新增3:"); sb3.append(uploadModelFileBean.getAddFiles() == null ? 0 : uploadModelFileBean.getAddFiles().size()); LogUtils.c(sb3.toString()); StringBuilder sb4 = new StringBuilder(); sb4.append("七牛视频上传成功 更新3:"); sb4.append(uploadModelFileBean.getUpdateFiles() != null ? uploadModelFileBean.getUpdateFiles().size() : 0); LogUtils.c(sb4.toString()); DiyTransportServiceImpl.this.uploadModelFiles(uploadModelFileBean, transportFile, transportFile2, uploadStateListener); LogUtils.c("所有封面上传成功:" + uploadResponse.c()); } }); } }