213 lines
10 KiB
Java
213 lines
10 KiB
Java
package com.ubt.jimu.sync;
|
|
|
|
import android.text.TextUtils;
|
|
import com.ubt.jimu.base.cache.Cache;
|
|
import com.ubt.jimu.base.http.ApiResponse;
|
|
import com.ubt.jimu.blockly.bean.BlocklyProgramsReturnBean;
|
|
import com.ubt.jimu.blockly.bean.BlocklyProject;
|
|
import com.ubt.jimu.blockly.bean.BlocklyProjectParameter;
|
|
import com.ubt.jimu.blockly.dao.BlocklyProjectDbHandler;
|
|
import com.ubt.jimu.blockly.networkSync.utils.QiNiuUtils;
|
|
import com.ubt.jimu.transport3.api.DiyTransportServiceProxy;
|
|
import com.ubt.jimu.transport3.bean.request.UploadModelProgramBean;
|
|
import com.ubt.jimu.upload.DataUploadProxy;
|
|
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 io.reactivex.android.schedulers.AndroidSchedulers;
|
|
import io.reactivex.functions.Consumer;
|
|
import io.reactivex.schedulers.Schedulers;
|
|
import java.io.File;
|
|
import java.util.ArrayList;
|
|
import java.util.Iterator;
|
|
import java.util.List;
|
|
|
|
/* loaded from: classes2.dex */
|
|
public class OfflineBlockProgramUpload {
|
|
private String a;
|
|
private BlocklyProjectDbHandler b;
|
|
private DiyTransportServiceProxy c;
|
|
|
|
public OfflineBlockProgramUpload(DiyTransportServiceProxy diyTransportServiceProxy) {
|
|
this.c = diyTransportServiceProxy;
|
|
if (this.b == null) {
|
|
this.b = BlocklyProjectDbHandler.getInstance();
|
|
}
|
|
}
|
|
|
|
public void b() {
|
|
List<BlocklyProject> serviceBlocklyProject = this.b.getServiceBlocklyProject();
|
|
if (serviceBlocklyProject == null || serviceBlocklyProject.size() == 0) {
|
|
return;
|
|
}
|
|
Iterator<BlocklyProject> it = serviceBlocklyProject.iterator();
|
|
while (it.hasNext()) {
|
|
b(1, it.next());
|
|
}
|
|
}
|
|
|
|
public void c() {
|
|
List<BlocklyProject> qiNiuBlocklyProject = this.b.getQiNiuBlocklyProject();
|
|
if (qiNiuBlocklyProject == null || qiNiuBlocklyProject.size() == 0) {
|
|
return;
|
|
}
|
|
Iterator<BlocklyProject> it = qiNiuBlocklyProject.iterator();
|
|
while (it.hasNext()) {
|
|
a(1, it.next());
|
|
}
|
|
}
|
|
|
|
public void a(int i, BlocklyProject blocklyProject) {
|
|
String userId = TextUtils.isEmpty(Cache.getInstance().getUserId()) ? "local" : Cache.getInstance().getUserId();
|
|
if ("local".equals(userId) || TextUtils.isEmpty(userId)) {
|
|
return;
|
|
}
|
|
c(i, blocklyProject);
|
|
}
|
|
|
|
private void c(final int i, final BlocklyProject blocklyProject) {
|
|
String str = QiNiuUtils.getAndroidSystemRootPath() + QiNiuUtils.getProgrammingLocalPath(blocklyProject);
|
|
LogUtils.c("本地文件路径:" + str);
|
|
if (TextUtils.isEmpty(str)) {
|
|
return;
|
|
}
|
|
if (!new File(str).exists()) {
|
|
LogUtils.c("offline blockly file not exists");
|
|
return;
|
|
}
|
|
UploadRequest uploadRequest = new UploadRequest();
|
|
uploadRequest.b(str);
|
|
uploadRequest.a(UploadFilePathUtils.a(str));
|
|
DataUploadProxy.c().a(uploadRequest, new SimpleUploadCallback() { // from class: com.ubt.jimu.sync.OfflineBlockProgramUpload.1
|
|
@Override // com.ubt.jimu.upload.IUploadCallback
|
|
public void uploadFaulted(UploadRequest uploadRequest2, Exception exc) {
|
|
OfflineBlockProgramUpload.this.b.setQiNiuUplaodState(blocklyProject.getXmlId(), false);
|
|
}
|
|
|
|
@Override // com.ubt.jimu.upload.IUploadCallback
|
|
public void uploadSucceed(UploadResponse uploadResponse) {
|
|
OfflineBlockProgramUpload.this.b.setQiNiuUplaodState(blocklyProject.getXmlId(), true);
|
|
blocklyProject.setFileUrl(uploadResponse.c());
|
|
OfflineBlockProgramUpload.this.b(i, blocklyProject);
|
|
}
|
|
});
|
|
}
|
|
|
|
public void b(final int i, final BlocklyProject blocklyProject) {
|
|
String str = blocklyProject.getModelId() + "";
|
|
String customModelId = blocklyProject.getCustomModelId();
|
|
BlocklyProjectParameter blocklyProjectParameter = new BlocklyProjectParameter();
|
|
blocklyProjectParameter.setXmlId(blocklyProject.getXmlId());
|
|
blocklyProjectParameter.setIsDeleted("0");
|
|
blocklyProjectParameter.setFileName(blocklyProject.getXmlName());
|
|
blocklyProjectParameter.setCustomModelId(blocklyProject.getCustomModelId());
|
|
blocklyProjectParameter.setBlocklyVersion(blocklyProject.getBlocklyVersion());
|
|
blocklyProjectParameter.setBlocklyType(blocklyProject.getBlocklyType());
|
|
blocklyProjectParameter.setLastUploadTime(blocklyProject.getLastUploadTime());
|
|
blocklyProjectParameter.setModelId(blocklyProject.getModelId() + "");
|
|
blocklyProjectParameter.setModelType(blocklyProject.getModelType());
|
|
blocklyProjectParameter.setFileUrl(blocklyProject.getFileUrl());
|
|
ArrayList arrayList = new ArrayList();
|
|
this.a = Cache.getInstance().getUserToken();
|
|
UploadModelProgramBean uploadModelProgramBean = new UploadModelProgramBean(this.a, str, customModelId);
|
|
if (i == 1) {
|
|
arrayList.add(blocklyProjectParameter);
|
|
uploadModelProgramBean.setAddPrograms(arrayList);
|
|
} else if (i == 0) {
|
|
arrayList.add(blocklyProjectParameter);
|
|
uploadModelProgramBean.setUpdatePrograms(arrayList);
|
|
} else if (i == -1) {
|
|
blocklyProjectParameter.setLastUploadTime(SystemUtils.a());
|
|
arrayList.add(blocklyProjectParameter);
|
|
uploadModelProgramBean.setDeletePrograms(arrayList);
|
|
}
|
|
this.c.uploadPrograms(uploadModelProgramBean).subscribeOn(Schedulers.b()).observeOn(AndroidSchedulers.a()).subscribe(new Consumer<ApiResponse<Object>>() { // from class: com.ubt.jimu.sync.OfflineBlockProgramUpload.2
|
|
@Override // io.reactivex.functions.Consumer
|
|
/* renamed from: a, reason: merged with bridge method [inline-methods] */
|
|
public void accept(ApiResponse<Object> apiResponse) throws Exception {
|
|
if (apiResponse != null && apiResponse.isStatus()) {
|
|
LogUtils.c("上传到公司服务器成功:" + blocklyProject.getDefaultName());
|
|
int i2 = i;
|
|
if (i2 != 1 && i2 != 0) {
|
|
OfflineBlockProgramUpload.this.b.deleteBlocklyProject(blocklyProject.getXmlId());
|
|
return;
|
|
}
|
|
OfflineBlockProgramUpload.this.b.setServiceUplaodState(blocklyProject.getXmlId(), true);
|
|
OfflineBlockProgramUpload.this.b.isFirs(blocklyProject.getXmlId(), 1);
|
|
OfflineBlockProgramUpload.this.b.setQiNiuUplaodState(blocklyProject.getXmlId(), true);
|
|
OfflineBlockProgramUpload.this.b.setsetModifyState(blocklyProject.getXmlId(), false);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
public void a() {
|
|
List<BlocklyProject> modifyBlocklyOfflineData;
|
|
if (this.c == null || (modifyBlocklyOfflineData = this.b.getModifyBlocklyOfflineData()) == null || modifyBlocklyOfflineData.size() == 0) {
|
|
return;
|
|
}
|
|
Iterator<BlocklyProject> it = modifyBlocklyOfflineData.iterator();
|
|
while (it.hasNext()) {
|
|
a(it.next());
|
|
}
|
|
}
|
|
|
|
public void a(final BlocklyProject blocklyProject) {
|
|
if (blocklyProject == null || blocklyProject.getModelId() <= 0) {
|
|
return;
|
|
}
|
|
this.a = Cache.getInstance().getUserToken();
|
|
this.c.programs(this.a, blocklyProject.getModelId()).subscribeOn(Schedulers.b()).observeOn(AndroidSchedulers.a()).subscribe(new Consumer<BlocklyProgramsReturnBean>() { // from class: com.ubt.jimu.sync.OfflineBlockProgramUpload.3
|
|
@Override // io.reactivex.functions.Consumer
|
|
/* renamed from: a, reason: merged with bridge method [inline-methods] */
|
|
public void accept(BlocklyProgramsReturnBean blocklyProgramsReturnBean) throws Exception {
|
|
List<BlocklyProgramsReturnBean.ModelsBean> models;
|
|
if (blocklyProgramsReturnBean == null || !blocklyProgramsReturnBean.isStatus() || (models = blocklyProgramsReturnBean.getModels()) == null || models.size() == 0) {
|
|
return;
|
|
}
|
|
OfflineBlockProgramUpload.this.a(models, blocklyProject);
|
|
}
|
|
});
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: private */
|
|
public void a(List<BlocklyProgramsReturnBean.ModelsBean> list, BlocklyProject blocklyProject) {
|
|
for (BlocklyProgramsReturnBean.ModelsBean modelsBean : list) {
|
|
String xmlId = modelsBean.getXmlId();
|
|
String xmlId2 = blocklyProject.getXmlId();
|
|
if (!TextUtils.isEmpty(xmlId2) && xmlId2.equals(xmlId)) {
|
|
String isDeleted = blocklyProject.getIsDeleted();
|
|
String isDeleted2 = modelsBean.getIsDeleted();
|
|
if ("1".equals(isDeleted) && !"1".equals(isDeleted2)) {
|
|
blocklyProject.setFileUrl(modelsBean.getFileUrl());
|
|
b(-1, blocklyProject);
|
|
} else if ("1".equals(isDeleted2)) {
|
|
this.b.deleteBlocklyProject(blocklyProject.getXmlId());
|
|
} else {
|
|
long lastUploadTime = blocklyProject.getLastUploadTime();
|
|
long lastUploadTime2 = modelsBean.getLastUploadTime();
|
|
if (lastUploadTime != lastUploadTime2) {
|
|
boolean isUploadQiNiu = blocklyProject.getIsUploadQiNiu();
|
|
boolean isUploadService = blocklyProject.getIsUploadService();
|
|
if (lastUploadTime > lastUploadTime2 && !isUploadQiNiu) {
|
|
blocklyProject.setFileUrl(modelsBean.getFileUrl());
|
|
blocklyProject.setLocalFilePath(modelsBean.getLoaclFilePath());
|
|
a(0, blocklyProject);
|
|
} else if (lastUploadTime > lastUploadTime2 && isUploadQiNiu && !isUploadService) {
|
|
blocklyProject.setFileUrl(modelsBean.getFileUrl());
|
|
b(0, blocklyProject);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public void a(String str, int i) {
|
|
this.b.uploadUserIdAndModelId(str, i);
|
|
}
|
|
}
|