jimu-decompiled/sources/com/ubt/jimu/blockly/dao/BlocklyProjectDbHandler.java
2025-05-13 19:24:51 +02:00

458 lines
19 KiB
Java

package com.ubt.jimu.blockly.dao;
import android.text.TextUtils;
import com.google.gson.reflect.TypeToken;
import com.ubt.jimu.JimuApplication;
import com.ubt.jimu.base.cache.Cache;
import com.ubt.jimu.base.db.AbstractDaoHandler;
import com.ubt.jimu.base.db.DatabaseUtils;
import com.ubt.jimu.blockly.Utils;
import com.ubt.jimu.blockly.bean.BlocklyProject;
import com.ubt.jimu.diy.DiyRobotDbHandler;
import com.ubt.jimu.gen.BlocklyProjectDao;
import com.ubt.jimu.gen.TransportFileDao;
import com.ubt.jimu.transport.Transporter;
import com.ubt.jimu.transport.dao.TransportFileDbHandler;
import com.ubt.jimu.transport3.dao.TransportFileDbHandler2;
import com.ubt.jimu.unity.ModelType;
import com.ubt.jimu.utils.ExternalOverFroyoUtils;
import com.ubt.jimu.utils.JsonHelper;
import com.ubtech.utils.FileHelper;
import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.greenrobot.greendao.AbstractDao;
import org.greenrobot.greendao.query.QueryBuilder;
import org.greenrobot.greendao.query.WhereCondition;
/* loaded from: classes.dex */
public class BlocklyProjectDbHandler extends AbstractDaoHandler<BlocklyProject> {
private static BlocklyProjectDbHandler blocklyProjectDbHandler;
public BlocklyProjectDbHandler(BlocklyProjectDao blocklyProjectDao) {
super(blocklyProjectDao);
}
public static synchronized BlocklyProjectDbHandler getInstance() {
BlocklyProjectDbHandler blocklyProjectDbHandler2;
synchronized (BlocklyProjectDbHandler.class) {
if (blocklyProjectDbHandler == null) {
blocklyProjectDbHandler = new BlocklyProjectDbHandler(DatabaseUtils.getDaoSession(true).a());
}
blocklyProjectDbHandler2 = blocklyProjectDbHandler;
}
return blocklyProjectDbHandler2;
}
public static List<BlocklyProject> getProjects(String str, String str2, int i) {
ArrayList arrayList;
updateToVersion3(str, str2, i);
BlocklyProjectDbHandler blocklyProjectDbHandler2 = new BlocklyProjectDbHandler(DatabaseUtils.getDaoSession(true).a());
ArrayList arrayList2 = new ArrayList();
if (i == ModelType.DEFAULT.getType()) {
String str3 = ExternalOverFroyoUtils.a(JimuApplication.l(), ModelType.DEFAULT) + str2 + File.separator + str2 + Utils.BLOCKLY_ADD_PATH + File.separator + str2 + ".config";
if (new File(str3).exists() && (arrayList = (ArrayList) JsonHelper.a(FileHelper.b(str3, ""), new TypeToken<List<BlocklyProject>>() { // from class: com.ubt.jimu.blockly.dao.BlocklyProjectDbHandler.1
}.getType())) != null && arrayList.size() > 0) {
Iterator it = arrayList.iterator();
while (it.hasNext()) {
((BlocklyProject) it.next()).setBlocklyType("newBlockly");
}
arrayList2.addAll(arrayList);
}
}
List<BlocklyProject> blocklyProjects = blocklyProjectDbHandler2.getBlocklyProjects(str, String.valueOf(i), str2);
if (blocklyProjects != null && blocklyProjects.size() > 0) {
ArrayList arrayList3 = new ArrayList();
String str4 = DiyRobotDbHandler.getCustomModelPath() + str2 + File.separator + str2;
if (ModelType.DEFAULT.getType() == i) {
str4 = DiyRobotDbHandler.getDefaultModelPath() + str2 + File.separator + str2;
}
for (BlocklyProject blocklyProject : blocklyProjects) {
String str5 = str4 + File.separator + blocklyProject.getXmlId() + ".xml";
if ("newBlockly".equals(blocklyProject.getBlocklyType())) {
str5 = str4 + Utils.BLOCKLY_ADD_PATH + File.separator + blocklyProject.getXmlId() + ".xml";
}
if (!new File(str5).exists()) {
arrayList3.add(blocklyProject);
}
}
if (arrayList3.size() > 0) {
blocklyProjects.removeAll(arrayList3);
}
arrayList2.addAll(blocklyProjects);
}
return arrayList2;
}
private static void updateToVersion3(String str, String str2, int i) {
ArrayList arrayList;
String str3 = (ModelType.DEFAULT.getType() == i ? DiyRobotDbHandler.getDefaultModelPath(str) : DiyRobotDbHandler.getCustomModelPath(str)) + str2 + File.separator + str2 + File.separator + str2 + ".config";
File file = new File(str3);
if (!file.exists() || (arrayList = (ArrayList) JsonHelper.a(FileHelper.b(str3, ""), new TypeToken<List<BlocklyProject>>() { // from class: com.ubt.jimu.blockly.dao.BlocklyProjectDbHandler.2
}.getType())) == null || arrayList.size() == 0) {
return;
}
BlocklyProjectDbHandler blocklyProjectDbHandler2 = new BlocklyProjectDbHandler(DatabaseUtils.getDaoSession(true).a());
Iterator it = arrayList.iterator();
while (it.hasNext()) {
BlocklyProject blocklyProject = (BlocklyProject) it.next();
blocklyProject.setUserId(str);
blocklyProject.setCustomModelId(str2);
blocklyProject.setModelType(String.valueOf(i));
blocklyProject.setIsDeleted("0");
if (!"blockly".equals(blocklyProject.getBlocklyType()) && !"newBlockly".equals(blocklyProject.getBlocklyType())) {
blocklyProject.setBlocklyType("blockly");
}
}
blocklyProjectDbHandler2.insertOrUpdateInTx(arrayList);
Transporter.b().a(file);
file.delete();
}
public boolean deleteBlocklyProject(String str) {
if (TextUtils.isEmpty(str)) {
return false;
}
String userId = Cache.getInstance().getUserId();
if (TextUtils.isEmpty(userId)) {
userId = "local";
}
QueryBuilder k = this.dao.k();
k.a(BlocklyProjectDao.Properties.UserId.a((Object) userId), BlocklyProjectDao.Properties.XmlId.a((Object) str));
BlocklyProject blocklyProject = (BlocklyProject) k.c();
if (blocklyProject == null) {
return false;
}
this.dao.b((AbstractDao<T, Long>) blocklyProject);
return true;
}
public void deleteModelBlocklyProjects(String str, int i, String str2) {
QueryBuilder<BlocklyProject> queryBuilder = getQueryBuilder();
queryBuilder.a(BlocklyProjectDao.Properties.UserId.a((Object) str), BlocklyProjectDao.Properties.ModelType.a(Integer.valueOf(i)), BlocklyProjectDao.Properties.CustomModelId.a((Object) str2));
List<BlocklyProject> query = query(queryBuilder);
if (query == null || query.size() == 0) {
return;
}
deleteInTx(query);
Iterator<BlocklyProject> it = query.iterator();
while (it.hasNext()) {
try {
File file = TransportFileDbHandler.getFile(TransportFileDbHandler2.newBlocklyProjectFile(it.next()));
if (file != null && file.exists()) {
file.delete();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
public BlocklyProject getBlocklyByXml(String str) {
String userId = Cache.getInstance().getUserId();
if (TextUtils.isEmpty(userId)) {
userId = "local";
}
try {
QueryBuilder k = this.dao.k();
k.a(BlocklyProjectDao.Properties.UserId.a((Object) userId), BlocklyProjectDao.Properties.XmlId.a((Object) str));
return (BlocklyProject) k.c();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public List<BlocklyProject> getBlocklyProject(String str) {
List<BlocklyProject> list;
try {
QueryBuilder k = this.dao.k();
k.a(BlocklyProjectDao.Properties.UserId.a((Object) str), new WhereCondition[0]);
list = k.b();
} catch (Exception e) {
e.printStackTrace();
list = null;
}
return list == null ? new ArrayList() : list;
}
public List<BlocklyProject> getBlocklyProjects(String str, String str2, String str3) {
List<BlocklyProject> list;
try {
QueryBuilder k = this.dao.k();
k.a(BlocklyProjectDao.Properties.UserId.a((Object) str), BlocklyProjectDao.Properties.ModelType.a((Object) str2), BlocklyProjectDao.Properties.CustomModelId.a((Object) str3), BlocklyProjectDao.Properties.IsDeleted.d("1"));
k.b(BlocklyProjectDao.Properties.XmlId);
list = k.b();
} catch (Exception e) {
e.printStackTrace();
list = null;
}
return list == null ? new ArrayList() : list;
}
public String getDefaultXmlName(String str, String str2, String str3, String str4) {
List<BlocklyProject> blocklyProjects = getBlocklyProjects(str2, str3, str4);
if (blocklyProjects == null || blocklyProjects.size() == 0 || TextUtils.isEmpty(str)) {
return str + "1";
}
int[] iArr = new int[blocklyProjects.size()];
int i = 0;
for (BlocklyProject blocklyProject : blocklyProjects) {
if (blocklyProject.getXmlName().startsWith(str)) {
String substring = blocklyProject.getXmlName().substring(str.length(), blocklyProject.getXmlName().length());
if (TextUtils.isDigitsOnly(substring) && !TextUtils.isEmpty(substring)) {
iArr[i] = Integer.parseInt(substring);
i++;
}
}
}
return Utils.getDefaultName(iArr, i, str);
}
public List<BlocklyProject> getModifyBlocklyOfflineData() {
String userId = Cache.getInstance().getUserId();
if (TextUtils.isEmpty(userId)) {
userId = "local";
}
try {
QueryBuilder k = this.dao.k();
k.a(BlocklyProjectDao.Properties.UserId.a((Object) userId), BlocklyProjectDao.Properties.ModelId.b(0), BlocklyProjectDao.Properties.IsFirst.a((Object) 1), BlocklyProjectDao.Properties.IsModify.a((Object) 1), BlocklyProjectDao.Properties.IsUploadService.a((Object) 0));
return k.b();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public List<BlocklyProject> getQiNiuBlocklyProject() {
List<BlocklyProject> list;
String userId = Cache.getInstance().getUserId();
if (TextUtils.isEmpty(userId)) {
userId = "local";
}
try {
QueryBuilder k = this.dao.k();
k.a(BlocklyProjectDao.Properties.UserId.a((Object) userId), BlocklyProjectDao.Properties.ModelId.b(0), BlocklyProjectDao.Properties.IsDeleted.a((Object) 0), BlocklyProjectDao.Properties.IsFirst.a((Object) 0), BlocklyProjectDao.Properties.IsUploadService.a((Object) 0), BlocklyProjectDao.Properties.IsUploadQiNiu.a((Object) 0));
list = k.b();
} catch (Exception e) {
e.printStackTrace();
list = null;
}
if (list == null) {
return null;
}
return list;
}
public List<BlocklyProject> getServiceBlocklyProject() {
List<BlocklyProject> list;
String userId = Cache.getInstance().getUserId();
if (TextUtils.isEmpty(userId)) {
userId = "local";
}
try {
QueryBuilder k = this.dao.k();
k.a(BlocklyProjectDao.Properties.UserId.a((Object) userId), BlocklyProjectDao.Properties.ModelId.b(0), BlocklyProjectDao.Properties.IsUploadQiNiu.a((Object) 1), BlocklyProjectDao.Properties.IsFirst.a((Object) 0), BlocklyProjectDao.Properties.IsUploadService.a((Object) 0));
list = k.b();
} catch (Exception e) {
e.printStackTrace();
list = null;
}
if (list == null) {
return null;
}
return list;
}
public BlocklyProject getSyncBlocklyByXml(String str) {
String userId = Cache.getInstance().getUserId();
if (TextUtils.isEmpty(userId)) {
userId = "local";
}
try {
QueryBuilder k = this.dao.k();
k.a(BlocklyProjectDao.Properties.UserId.a((Object) userId), BlocklyProjectDao.Properties.XmlId.a((Object) str), BlocklyProjectDao.Properties.IsFirst.a((Object) 1));
return (BlocklyProject) k.c();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
public boolean isFirs(String str, int i) {
BlocklyProject blocklyByXml;
if (TextUtils.isEmpty(str) || (blocklyByXml = getBlocklyByXml(str)) == null) {
return false;
}
blocklyByXml.setIsFirst(i);
update(blocklyByXml);
return true;
}
public boolean isFirstUpload(String str, boolean z) {
BlocklyProject blocklyProject;
String userId = Cache.getInstance().getUserId();
if (TextUtils.isEmpty(userId)) {
userId = "local";
}
try {
QueryBuilder k = this.dao.k();
k.a(TransportFileDao.Properties.UserId.a((Object) userId), TransportFileDao.Properties.FilePath.a((Object) str));
blocklyProject = (BlocklyProject) k.c();
} catch (Exception e) {
e.getMessage();
blocklyProject = null;
}
if (blocklyProject == null) {
return false;
}
if (z) {
blocklyProject.setId(1L);
} else {
blocklyProject.setId(0L);
}
update(blocklyProject);
return true;
}
public boolean isNameExist(BlocklyProject blocklyProject) {
try {
QueryBuilder k = this.dao.k();
k.a(BlocklyProjectDao.Properties.XmlName.a((Object) blocklyProject.getXmlName()), BlocklyProjectDao.Properties.ModelType.a((Object) blocklyProject.getModelType()), BlocklyProjectDao.Properties.CustomModelId.a((Object) blocklyProject.getCustomModelId()), BlocklyProjectDao.Properties.IsDeleted.d("1"), BlocklyProjectDao.Properties.UserId.a((Object) blocklyProject.getUserId()));
List<BlocklyProject> b = k.b();
if (b == null || b.size() <= 0) {
return false;
}
for (BlocklyProject blocklyProject2 : b) {
if (!"1".equals(blocklyProject2.getIsDeleted()) && !blocklyProject2.getXmlId().equals(blocklyProject.getXmlId())) {
return true;
}
}
return false;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
public boolean setDeleteState(String str, boolean z) {
BlocklyProject blocklyByXml;
if (TextUtils.isEmpty(str) || (blocklyByXml = getBlocklyByXml(str)) == null) {
return false;
}
if (z) {
blocklyByXml.setIsDeleted("1");
} else {
blocklyByXml.setIsDeleted("0");
}
update(blocklyByXml);
return true;
}
public boolean setQiNiuUplaodState(String str, boolean z) {
BlocklyProject blocklyByXml;
if (TextUtils.isEmpty(str) || (blocklyByXml = getBlocklyByXml(str)) == null) {
return false;
}
blocklyByXml.setUploadQiNiu(z);
update(blocklyByXml);
return true;
}
public boolean setServiceUplaodState(String str, boolean z) {
BlocklyProject blocklyByXml;
if (TextUtils.isEmpty(str) || (blocklyByXml = getBlocklyByXml(str)) == null) {
return false;
}
blocklyByXml.setUploadService(z);
update(blocklyByXml);
return true;
}
public boolean setsetModifyState(String str, boolean z) {
BlocklyProject blocklyByXml;
if (TextUtils.isEmpty(str) || (blocklyByXml = getBlocklyByXml(str)) == null) {
return false;
}
blocklyByXml.setModify(z);
update(blocklyByXml);
return true;
}
public boolean updateBlocklyState(String str, boolean z) {
if (TextUtils.isEmpty(str)) {
return false;
}
String userId = Cache.getInstance().getUserId();
if (TextUtils.isEmpty(userId)) {
userId = "local";
}
QueryBuilder k = this.dao.k();
k.a(BlocklyProjectDao.Properties.UserId.a((Object) userId), BlocklyProjectDao.Properties.XmlId.a((Object) str), BlocklyProjectDao.Properties.IsDeleted.d("1"));
BlocklyProject blocklyProject = (BlocklyProject) k.c();
if (blocklyProject == null) {
return false;
}
blocklyProject.setIsModify(z);
update(blocklyProject);
return true;
}
public boolean updateUbtSyncState(String str, boolean z) {
BlocklyProject blocklyProject;
String userId = Cache.getInstance().getUserId();
if (TextUtils.isEmpty(userId)) {
userId = "local";
}
try {
QueryBuilder k = this.dao.k();
k.a(TransportFileDao.Properties.UserId.a((Object) userId), TransportFileDao.Properties.FilePath.a((Object) str));
blocklyProject = (BlocklyProject) k.c();
} catch (Exception e) {
e.getMessage();
blocklyProject = null;
}
if (blocklyProject == null) {
return false;
}
blocklyProject.setIsModify(z);
update(blocklyProject);
return true;
}
public void uploadUserIdAndModelId(String str, int i) {
String userId = Cache.getInstance().getUserId();
if (i <= 0) {
return;
}
QueryBuilder k = this.dao.k();
k.a(BlocklyProjectDao.Properties.CustomModelId.a((Object) str), BlocklyProjectDao.Properties.IsUploadQiNiu.a((Object) 0), BlocklyProjectDao.Properties.IsUploadService.a((Object) 0));
List<BlocklyProject> query = query(k);
if (query == null || query.size() == 0) {
return;
}
for (BlocklyProject blocklyProject : query) {
blocklyProject.setUserId(userId);
blocklyProject.setModelId(i);
insertOrUpdate(blocklyProject);
}
}
@Override // com.ubt.jimu.base.db.AbstractDaoHandler, com.ubt.jimu.base.db.IDaoHandler
public BlocklyProject selectUnique(BlocklyProject blocklyProject) {
return getBlocklyProject(blocklyProject.getUserId(), blocklyProject.getModelType(), blocklyProject.getCustomModelId(), blocklyProject.getXmlId());
}
public BlocklyProject getBlocklyProject(String str, String str2, String str3, String str4) {
try {
QueryBuilder k = this.dao.k();
k.a(BlocklyProjectDao.Properties.UserId.a((Object) str), BlocklyProjectDao.Properties.ModelType.a((Object) str2), BlocklyProjectDao.Properties.CustomModelId.a((Object) str3), BlocklyProjectDao.Properties.XmlId.a((Object) str4));
return (BlocklyProject) k.c();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}