241 lines
10 KiB
Java
241 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.db.diy.DiyDBModel;
|
|
import com.ubt.jimu.base.http.ApiResponse;
|
|
import com.ubt.jimu.blockly.networkSync.utils.QiNiuUtils;
|
|
import com.ubt.jimu.transport3.api.DiyTransportServiceProxy;
|
|
import com.ubt.jimu.transport3.bean.PageResultBean;
|
|
import com.ubt.jimu.transport3.bean.response.DiyModelBean;
|
|
import com.ubt.jimu.transport3.bean.response.SaveOrUpdateModelBean;
|
|
import com.ubt.jimu.transport3.dao.DiyDBModelDBHandler;
|
|
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 io.reactivex.Observer;
|
|
import io.reactivex.android.schedulers.AndroidSchedulers;
|
|
import io.reactivex.disposables.Disposable;
|
|
import io.reactivex.functions.Consumer;
|
|
import io.reactivex.schedulers.Schedulers;
|
|
import java.io.File;
|
|
import java.util.ArrayList;
|
|
import java.util.HashMap;
|
|
import java.util.Iterator;
|
|
import java.util.List;
|
|
|
|
/* loaded from: classes2.dex */
|
|
public class OfflineDiyDBModelUpload {
|
|
private String a;
|
|
private String b;
|
|
private DiyDBModelDBHandler c;
|
|
private DiyTransportServiceProxy d;
|
|
private CreationModelListener e;
|
|
private List<String> f;
|
|
|
|
public OfflineDiyDBModelUpload(DiyTransportServiceProxy diyTransportServiceProxy) {
|
|
this.d = diyTransportServiceProxy;
|
|
if (this.c == null) {
|
|
this.c = DiyDBModelDBHandler.getInstance();
|
|
}
|
|
this.f = new ArrayList();
|
|
}
|
|
|
|
public void a() {
|
|
List<DiyDBModel> deletedModelDB = this.c.getDeletedModelDB();
|
|
if (deletedModelDB == null || deletedModelDB.size() == 0) {
|
|
return;
|
|
}
|
|
ArrayList arrayList = new ArrayList();
|
|
for (DiyDBModel diyDBModel : deletedModelDB) {
|
|
HashMap<String, Object> hashMap = new HashMap<>();
|
|
hashMap.put("lastUploadTime", Long.valueOf(diyDBModel.getLastUploadTime()));
|
|
hashMap.put("modelId", diyDBModel.getModelId());
|
|
arrayList.add(hashMap);
|
|
}
|
|
a(arrayList, deletedModelDB);
|
|
}
|
|
|
|
public void b() {
|
|
List<DiyDBModel> qiNiuDefeatModelDB = this.c.getQiNiuDefeatModelDB();
|
|
if (qiNiuDefeatModelDB == null || qiNiuDefeatModelDB.size() == 0) {
|
|
CreationModelListener creationModelListener = this.e;
|
|
if (creationModelListener != null) {
|
|
creationModelListener.a();
|
|
return;
|
|
}
|
|
return;
|
|
}
|
|
for (DiyDBModel diyDBModel : qiNiuDefeatModelDB) {
|
|
this.f.add(diyDBModel.getCustomModelId());
|
|
a(1, diyDBModel);
|
|
}
|
|
}
|
|
|
|
public void c() {
|
|
List<DiyDBModel> ubtServiceDefeatModelDB = this.c.getUbtServiceDefeatModelDB();
|
|
if (ubtServiceDefeatModelDB == null || ubtServiceDefeatModelDB.size() == 0) {
|
|
return;
|
|
}
|
|
Iterator<DiyDBModel> it = ubtServiceDefeatModelDB.iterator();
|
|
while (it.hasNext()) {
|
|
a(it.next());
|
|
}
|
|
}
|
|
|
|
public void d() {
|
|
if (this.d == null) {
|
|
return;
|
|
}
|
|
this.f.clear();
|
|
Cache.getInstance().getUserToken();
|
|
String userId = Cache.getInstance().getUserId();
|
|
String userToken = Cache.getInstance().getUserToken();
|
|
if (TextUtils.isEmpty(userId) || "local".equals(userId)) {
|
|
return;
|
|
}
|
|
this.d.getModels(userId, userToken).subscribeOn(Schedulers.b()).observeOn(AndroidSchedulers.a()).subscribe(new Consumer<ApiResponse<PageResultBean<DiyModelBean>>>() { // from class: com.ubt.jimu.sync.OfflineDiyDBModelUpload.4
|
|
@Override // io.reactivex.functions.Consumer
|
|
/* renamed from: a, reason: merged with bridge method [inline-methods] */
|
|
public void accept(ApiResponse<PageResultBean<DiyModelBean>> apiResponse) throws Exception {
|
|
PageResultBean<DiyModelBean> models;
|
|
List<DiyModelBean> data;
|
|
if (apiResponse == null || !apiResponse.isStatus() || (models = apiResponse.getModels()) == null || (data = models.getData()) == null || data.size() == 0) {
|
|
return;
|
|
}
|
|
OfflineDiyDBModelUpload.this.a(data);
|
|
}
|
|
});
|
|
}
|
|
|
|
private void b(final DiyDBModel diyDBModel) {
|
|
String str = QiNiuUtils.getAndroidSystemRootPath() + QiNiuUtils.getDiyModelQiNiuPath(diyDBModel);
|
|
LogUtils.c("本地文件路径:" + str);
|
|
if (TextUtils.isEmpty(str)) {
|
|
return;
|
|
}
|
|
if (!new File(str).exists()) {
|
|
LogUtils.c("Diy file not exists");
|
|
return;
|
|
}
|
|
UploadRequest uploadRequest = new UploadRequest();
|
|
uploadRequest.a(UploadFilePathUtils.a(str));
|
|
uploadRequest.b(str);
|
|
DataUploadProxy.c().a(uploadRequest, new SimpleUploadCallback() { // from class: com.ubt.jimu.sync.OfflineDiyDBModelUpload.1
|
|
@Override // com.ubt.jimu.upload.IUploadCallback
|
|
public void uploadFaulted(UploadRequest uploadRequest2, Exception exc) {
|
|
boolean remove = OfflineDiyDBModelUpload.this.f.remove(diyDBModel.getCustomModelId());
|
|
if (OfflineDiyDBModelUpload.this.f.size() == 0 && remove && OfflineDiyDBModelUpload.this.e != null) {
|
|
OfflineDiyDBModelUpload.this.e.a();
|
|
}
|
|
}
|
|
|
|
@Override // com.ubt.jimu.upload.IUploadCallback
|
|
public void uploadSucceed(UploadResponse uploadResponse) {
|
|
diyDBModel.setCompressImagePath(uploadResponse.c());
|
|
if (OfflineDiyDBModelUpload.this.c.updateQiNiuUrl(diyDBModel)) {
|
|
OfflineDiyDBModelUpload.this.a(diyDBModel);
|
|
return;
|
|
}
|
|
boolean remove = OfflineDiyDBModelUpload.this.f.remove(diyDBModel.getCustomModelId());
|
|
if (OfflineDiyDBModelUpload.this.f.size() == 0 && remove && OfflineDiyDBModelUpload.this.e != null) {
|
|
OfflineDiyDBModelUpload.this.e.a();
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
public void a(int i, DiyDBModel diyDBModel) {
|
|
String userId = Cache.getInstance().getUserId();
|
|
this.b = Cache.getInstance().getUserToken();
|
|
if ("local".equals(userId) || TextUtils.isEmpty(userId)) {
|
|
return;
|
|
}
|
|
b(diyDBModel);
|
|
}
|
|
|
|
public void a(final DiyDBModel diyDBModel) {
|
|
if (this.d == null) {
|
|
return;
|
|
}
|
|
this.b = Cache.getInstance().getUserToken();
|
|
this.d.saveOrUpdateModel(diyDBModel, this.b).subscribeOn(Schedulers.b()).observeOn(AndroidSchedulers.a()).subscribe(new Observer<ApiResponse<SaveOrUpdateModelBean>>() { // from class: com.ubt.jimu.sync.OfflineDiyDBModelUpload.2
|
|
@Override // io.reactivex.Observer
|
|
/* renamed from: a, reason: merged with bridge method [inline-methods] */
|
|
public void onNext(ApiResponse<SaveOrUpdateModelBean> apiResponse) {
|
|
SaveOrUpdateModelBean models;
|
|
if (apiResponse == null || !apiResponse.isStatus() || (models = apiResponse.getModels()) == null) {
|
|
return;
|
|
}
|
|
diyDBModel.setModelId(Integer.valueOf(models.getModelId()));
|
|
diyDBModel.setModify(false);
|
|
diyDBModel.setLastUploadTime(models.getLastUploadTime());
|
|
OfflineDiyDBModelUpload.this.c.insertOrUpdate(diyDBModel);
|
|
if (OfflineDiyDBModelUpload.this.e != null) {
|
|
OfflineDiyDBModelUpload.this.e.a(diyDBModel);
|
|
}
|
|
}
|
|
|
|
@Override // io.reactivex.Observer
|
|
public void onComplete() {
|
|
boolean remove = OfflineDiyDBModelUpload.this.f.remove(diyDBModel.getCustomModelId());
|
|
if (OfflineDiyDBModelUpload.this.f.size() == 0 && remove && OfflineDiyDBModelUpload.this.e != null) {
|
|
OfflineDiyDBModelUpload.this.e.a();
|
|
LogUtils.c("本次创建模型逻辑完成-" + OfflineDiyDBModelUpload.this.a + OfflineDiyDBModelUpload.this.f.size());
|
|
}
|
|
}
|
|
|
|
@Override // io.reactivex.Observer
|
|
public void onError(Throwable th) {
|
|
diyDBModel.setModify(true);
|
|
OfflineDiyDBModelUpload.this.c.insertOrUpdate(diyDBModel);
|
|
}
|
|
|
|
@Override // io.reactivex.Observer
|
|
public void onSubscribe(Disposable disposable) {
|
|
}
|
|
});
|
|
}
|
|
|
|
public void a(List<HashMap<String, Object>> list, final List<DiyDBModel> list2) {
|
|
if (list == null || list.size() == 0 || this.d == null) {
|
|
return;
|
|
}
|
|
this.b = Cache.getInstance().getUserToken();
|
|
this.a = Cache.getInstance().getUserId();
|
|
this.d.deleteModels(this.a, this.b, list).subscribeOn(Schedulers.b()).observeOn(AndroidSchedulers.a()).subscribe(new Consumer<ApiResponse<Object>>() { // from class: com.ubt.jimu.sync.OfflineDiyDBModelUpload.3
|
|
@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()) {
|
|
return;
|
|
}
|
|
OfflineDiyDBModelUpload.this.c.deleteModels(list2);
|
|
}
|
|
});
|
|
}
|
|
|
|
public void a(List<DiyModelBean> list) {
|
|
if (this.c == null) {
|
|
return;
|
|
}
|
|
for (DiyModelBean diyModelBean : list) {
|
|
DiyDBModel diyDBModelByModelId = this.c.getDiyDBModelByModelId(diyModelBean.getModelId());
|
|
if (diyDBModelByModelId != null) {
|
|
if (diyModelBean.getIsDelete() == 1) {
|
|
this.c.deleteDiyDBModelByModelId(diyModelBean.getModelId());
|
|
} else if (diyDBModelByModelId.getLastUploadTime() > diyModelBean.getLastUploadTime()) {
|
|
a(0, diyDBModelByModelId);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public void a(CreationModelListener creationModelListener) {
|
|
this.e = creationModelListener;
|
|
}
|
|
}
|