225 lines
8.7 KiB
Java
225 lines
8.7 KiB
Java
package com.ubt.jimu.blockly.dao;
|
|
|
|
import android.text.TextUtils;
|
|
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.JimuMotion;
|
|
import com.ubt.jimu.gen.JimuMotionDao;
|
|
import com.ubtech.utils.StringUtils;
|
|
import java.util.ArrayList;
|
|
import java.util.Collections;
|
|
import java.util.Comparator;
|
|
import java.util.List;
|
|
import org.greenrobot.greendao.query.QueryBuilder;
|
|
import org.greenrobot.greendao.query.WhereCondition;
|
|
|
|
/* loaded from: classes.dex */
|
|
public class JimuMotionDbHandler extends AbstractDaoHandler<JimuMotion> {
|
|
private static JimuMotionDbHandler instance;
|
|
|
|
public static class JimuMotionComparator implements Comparator<JimuMotion> {
|
|
@Override // java.util.Comparator
|
|
public int compare(JimuMotion jimuMotion, JimuMotion jimuMotion2) {
|
|
if (jimuMotion == null || jimuMotion2 == null) {
|
|
return 1;
|
|
}
|
|
return (StringUtils.f(jimuMotion.getActionID()) && StringUtils.f(jimuMotion2.getActionID()) && Long.parseLong(jimuMotion.getActionID()) <= Long.parseLong(jimuMotion2.getActionID())) ? 1 : -1;
|
|
}
|
|
}
|
|
|
|
public JimuMotionDbHandler(JimuMotionDao jimuMotionDao) {
|
|
super(jimuMotionDao);
|
|
}
|
|
|
|
public static synchronized JimuMotionDbHandler getInstance() {
|
|
JimuMotionDbHandler jimuMotionDbHandler;
|
|
synchronized (JimuMotionDbHandler.class) {
|
|
if (instance == null) {
|
|
instance = new JimuMotionDbHandler(DatabaseUtils.getDaoSession(true).o());
|
|
}
|
|
jimuMotionDbHandler = instance;
|
|
}
|
|
return jimuMotionDbHandler;
|
|
}
|
|
|
|
public boolean deleteJimuMotionByModeelId(String str) {
|
|
JimuMotion jimuMotion;
|
|
if (TextUtils.isEmpty(str)) {
|
|
return false;
|
|
}
|
|
TextUtils.isEmpty(Cache.getInstance().getUserId());
|
|
try {
|
|
QueryBuilder k = this.dao.k();
|
|
k.a(JimuMotionDao.Properties.ActionID.a((Object) str), new WhereCondition[0]);
|
|
jimuMotion = (JimuMotion) k.c();
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
jimuMotion = null;
|
|
}
|
|
if (jimuMotion == null) {
|
|
return false;
|
|
}
|
|
delete(jimuMotion);
|
|
return true;
|
|
}
|
|
|
|
public void deleteModelMotions(String str, String str2) {
|
|
QueryBuilder<JimuMotion> queryBuilder = getQueryBuilder();
|
|
queryBuilder.a(JimuMotionDao.Properties.UserId.a((Object) str), JimuMotionDao.Properties.CustomModelId.a((Object) str2));
|
|
List<JimuMotion> query = query(queryBuilder);
|
|
if (query == null || query.size() == 0) {
|
|
return;
|
|
}
|
|
deleteInTx(query);
|
|
}
|
|
|
|
public String getDefaultMotionName(String str, String str2, String str3) {
|
|
List<JimuMotion> userModelMotions = getUserModelMotions(str, str2);
|
|
if (userModelMotions == null || userModelMotions.size() == 0) {
|
|
return str3 + "1";
|
|
}
|
|
int[] iArr = new int[userModelMotions.size()];
|
|
int i = 0;
|
|
for (JimuMotion jimuMotion : userModelMotions) {
|
|
if (jimuMotion.getActionName().startsWith(str3)) {
|
|
String substring = jimuMotion.getActionName().substring(str3.length(), jimuMotion.getActionName().length());
|
|
if (TextUtils.isDigitsOnly(substring) && !TextUtils.isEmpty(substring)) {
|
|
iArr[i] = Integer.parseInt(substring);
|
|
i++;
|
|
}
|
|
}
|
|
}
|
|
return Utils.getDefaultName(iArr, i, str3);
|
|
}
|
|
|
|
public JimuMotion getJimuMotionById(String str, String str2, String str3) {
|
|
try {
|
|
QueryBuilder k = this.dao.k();
|
|
k.a(JimuMotionDao.Properties.UserId.a((Object) str), JimuMotionDao.Properties.ActionID.a((Object) str3));
|
|
return (JimuMotion) k.c();
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public JimuMotion getOfflineJimuMotionById(String str, String str2) {
|
|
try {
|
|
QueryBuilder k = this.dao.k();
|
|
k.a(JimuMotionDao.Properties.UserId.a((Object) str), JimuMotionDao.Properties.ActionID.a((Object) str2), JimuMotionDao.Properties.IsFirst.a((Object) 1), JimuMotionDao.Properties.ModelId.b(0));
|
|
return (JimuMotion) k.c();
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
return null;
|
|
}
|
|
}
|
|
|
|
public List<JimuMotion> getSyncAmendMotions() {
|
|
String userId = Cache.getInstance().getUserId();
|
|
if (TextUtils.isEmpty(userId)) {
|
|
userId = "local";
|
|
}
|
|
List<JimuMotion> list = null;
|
|
try {
|
|
QueryBuilder k = this.dao.k();
|
|
k.a(JimuMotionDao.Properties.UserId.a((Object) userId), JimuMotionDao.Properties.ModelId.b(0), JimuMotionDao.Properties.IsFirst.a((Object) 1), JimuMotionDao.Properties.IsUploadService.a((Object) 0));
|
|
list = k.b();
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
return (list == null || list.size() == 0) ? new ArrayList() : list;
|
|
}
|
|
|
|
public List<JimuMotion> getSyncModelMotions() {
|
|
String userId = Cache.getInstance().getUserId();
|
|
if (TextUtils.isEmpty(userId)) {
|
|
userId = "local";
|
|
}
|
|
List<JimuMotion> list = null;
|
|
try {
|
|
QueryBuilder k = this.dao.k();
|
|
k.a(JimuMotionDao.Properties.UserId.a((Object) userId), JimuMotionDao.Properties.ModelId.b(0), JimuMotionDao.Properties.IsFirst.a((Object) 0), JimuMotionDao.Properties.IsDeleted.a((Object) 0), JimuMotionDao.Properties.IsUploadService.a((Object) 0));
|
|
list = k.b();
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
}
|
|
return (list == null || list.size() == 0) ? new ArrayList() : list;
|
|
}
|
|
|
|
public List<JimuMotion> getUserModelMotions(String str, String str2) {
|
|
List<JimuMotion> list;
|
|
try {
|
|
QueryBuilder k = this.dao.k();
|
|
k.a(JimuMotionDao.Properties.UserId.a((Object) str), JimuMotionDao.Properties.CustomModelId.a((Object) str2), JimuMotionDao.Properties.IsDeleted.d("1"));
|
|
list = k.b();
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
list = null;
|
|
}
|
|
if (list == null || list.size() == 0) {
|
|
return new ArrayList();
|
|
}
|
|
Collections.sort(list, new JimuMotionComparator());
|
|
return list;
|
|
}
|
|
|
|
public boolean nameExist(JimuMotion jimuMotion) {
|
|
List<JimuMotion> list;
|
|
try {
|
|
QueryBuilder k = this.dao.k();
|
|
k.a(JimuMotionDao.Properties.UserId.a((Object) jimuMotion.getUserId()), JimuMotionDao.Properties.ModelType.a((Object) jimuMotion.getModelType()), JimuMotionDao.Properties.CustomModelId.a((Object) jimuMotion.getCustomModelId()), JimuMotionDao.Properties.ActionName.a((Object) jimuMotion.getActionName()));
|
|
list = k.b();
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
list = null;
|
|
}
|
|
if (list == null || list.size() == 0) {
|
|
return false;
|
|
}
|
|
for (JimuMotion jimuMotion2 : list) {
|
|
if (!"1".equals(jimuMotion2.getIsDeleted()) && !jimuMotion2.getActionID().equals(jimuMotion.getActionID())) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public void uploadUserIdAndModelId(String str, int i) {
|
|
String userId = Cache.getInstance().getUserId();
|
|
if (i <= 0) {
|
|
return;
|
|
}
|
|
QueryBuilder k = this.dao.k();
|
|
k.a(JimuMotionDao.Properties.CustomModelId.a((Object) str), JimuMotionDao.Properties.IsUploadService.a((Object) 0), JimuMotionDao.Properties.IsFirst.a((Object) 0));
|
|
List<JimuMotion> query = query(k);
|
|
if (query == null || query.size() == 0) {
|
|
return;
|
|
}
|
|
for (JimuMotion jimuMotion : query) {
|
|
jimuMotion.setUserId(userId);
|
|
jimuMotion.setModelId(i);
|
|
insertOrUpdate(jimuMotion);
|
|
}
|
|
}
|
|
|
|
@Override // com.ubt.jimu.base.db.AbstractDaoHandler, com.ubt.jimu.base.db.IDaoHandler
|
|
public JimuMotion selectUnique(JimuMotion jimuMotion) {
|
|
return getJimuMotionById(jimuMotion.getUserId(), jimuMotion.getCustomModelId(), jimuMotion.getActionID());
|
|
}
|
|
|
|
public List<JimuMotion> getUserModelMotions(String str) {
|
|
List<JimuMotion> list;
|
|
try {
|
|
QueryBuilder k = this.dao.k();
|
|
k.a(JimuMotionDao.Properties.UserId.a((Object) str), new WhereCondition[0]);
|
|
list = k.b();
|
|
} catch (Exception e) {
|
|
e.printStackTrace();
|
|
list = null;
|
|
}
|
|
return list == null ? new ArrayList() : list;
|
|
}
|
|
}
|