jimu-decompiled/sources/com/ubt/jimu/transport3/DiyTransportServiceImpl.java
2025-05-13 19:24:51 +02:00

737 lines
40 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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<TransportFile> checkAndDownloadModelFile(DiyDBModel diyDBModel, List<TransportFile> list) {
ArrayList arrayList = new ArrayList();
if (list != null && list.size() != 0) {
List<TransportFile> modelFiles = this.transportFileDbHandler.getModelFiles(diyDBModel.getModelCreatedId(), diyDBModel.getCustomModelId());
if (modelFiles.size() == 0) {
Iterator<TransportFile> 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<ApiResponse<SaveOrUpdateModelBean>>() { // from class: com.ubt.jimu.transport3.DiyTransportServiceImpl.11
@Override // io.reactivex.functions.Consumer
public void accept(ApiResponse<SaveOrUpdateModelBean> 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<ApiResponse<Object>>() { // 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<Object> 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<ApiResponse<Object>>() { // 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<Object> apiResponse) {
if (apiResponse == null || !apiResponse.isStatus()) {
return;
}
DiyModelActionDBHandler.getInstance().delete(diyModelAction);
}
});
}
public void deleteModel(String str, List<DiyDBModel> list, Observer<ApiResponse<Object>> 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<ApiResponse<Object>>() { // 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<Object> apiResponse) {
if (apiResponse.isStatus()) {
DiyTransportServiceImpl.this.transportFileDbHandler.delete(transportFile);
} else {
Log.e(DiyTransportServiceImpl.TAG, "调用接口删除文件失败!");
}
}
});
}
public void getModelActions(String str, Integer num, final ApiObserver<List<DiyModelAction>> 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<ApiResponse<List<DiyModelAction>>>() { // 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<List<DiyModelAction>> apiResponse) {
if (apiResponse == null || !apiResponse.isStatus()) {
apiObserver.onError(new Throwable("listApiResponse is null"));
return;
}
List<DiyModelAction> 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<List<TransportFile>> apiObserver) {
LogUtils.c("token:" + Cache.getInstance().getUserToken());
this.proxy.getModelFiles(diyDBModel.getModelCreatedId(), diyDBModel.getModelId().intValue(), Cache.getInstance().getUserToken()).subscribeOn(Schedulers.b()).map(new Function<ApiResponse<List<TransportFileBean>>, List<TransportFile>>() { // from class: com.ubt.jimu.transport3.DiyTransportServiceImpl.4
@Override // io.reactivex.functions.Function
public List<TransportFile> apply(ApiResponse<List<TransportFileBean>> apiResponse) {
ArrayList arrayList = new ArrayList();
if (apiResponse == null || !apiResponse.isStatus()) {
return null;
}
List<TransportFileBean> models = apiResponse.getModels();
if (models == null || models.size() == 0) {
return arrayList;
}
Iterator<TransportFileBean> 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<List<DiyDBModel>> apiObserver) {
final User user = Cache.getInstance().getUser();
Observable create = Observable.create(new ObservableOnSubscribe<List<DiyDBModel>>() { // from class: com.ubt.jimu.transport3.DiyTransportServiceImpl.1
@Override // io.reactivex.ObservableOnSubscribe
public void subscribe(ObservableEmitter<List<DiyDBModel>> observableEmitter) {
String str2 = str;
if (user == null || "local".equals(str2)) {
str2 = "local";
}
QueryBuilder<DiyDBModel> 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<ApiResponse<PageResultBean<DiyModelBean>>, List<DiyDBModel>>() { // from class: com.ubt.jimu.transport3.DiyTransportServiceImpl.2
@Override // io.reactivex.functions.Function
public List<DiyDBModel> apply(ApiResponse<PageResultBean<DiyModelBean>> apiResponse) {
ArrayList arrayList = new ArrayList();
if (apiResponse != null && apiResponse.isStatus() && apiResponse.getModels() != null && apiResponse.getModels().getData() != null) {
Iterator<DiyModelBean> it = apiResponse.getModels().getData().iterator();
while (it.hasNext()) {
arrayList.add(DiyModelBean.toDiyModel(it.next()));
}
}
return arrayList;
}
}), new BiFunction<List<DiyDBModel>, List<DiyDBModel>, List<DiyDBModel>>() { // from class: com.ubt.jimu.transport3.DiyTransportServiceImpl.3
@Override // io.reactivex.functions.BiFunction
public List<DiyDBModel> apply(List<DiyDBModel> list, List<DiyDBModel> 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<ApiResponse<Object>>() { // from class: com.ubt.jimu.transport3.DiyTransportServiceImpl.17
@Override // io.reactivex.functions.Consumer
public void accept(ApiResponse<Object> 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<ApiResponse<SaveOrUpdateModelBean>> observer) {
this.proxy.saveOrUpdateModel(diyDBModel, Cache.getInstance().getUserToken()).subscribeOn(Schedulers.b()).map(new Function<ApiResponse<SaveOrUpdateModelBean>, ApiResponse<SaveOrUpdateModelBean>>() { // from class: com.ubt.jimu.transport3.DiyTransportServiceImpl.9
@Override // io.reactivex.functions.Function
public ApiResponse<SaveOrUpdateModelBean> apply(ApiResponse<SaveOrUpdateModelBean> 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<ApiResponse<Object>>() { // 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<Object> 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());
}
});
}
}