|
|
@@ -34,21 +34,23 @@ import rx.schedulers.Schedulers;
|
|
|
public class DataUtil {
|
|
|
private static DataUtil instance = new DataUtil();
|
|
|
|
|
|
- private DataUtil(){
|
|
|
+ private DataUtil() {
|
|
|
userEntity = getCacheResult(ApiKey.get_info, UserEntity.class);//先从缓存中初始化用户信息
|
|
|
String id = SpUtils.getToken(SheepApp.mContext);
|
|
|
String uid = TextUtils.isEmpty(id) ? "" : id.split("@")[0];
|
|
|
- if(userEntity != null && !TextUtils.equals(userEntity.getId(), uid)){//当前用户id与缓存的用户信息不符时,清除缓存
|
|
|
+ if (userEntity != null && !TextUtils.equals(userEntity.getId(), uid)) {//当前用户id与缓存的用户信息不符时,清除缓存
|
|
|
clearData();
|
|
|
}
|
|
|
|
|
|
}
|
|
|
- public static DataUtil getInstance(){
|
|
|
- if(instance == null){
|
|
|
+
|
|
|
+ public static DataUtil getInstance() {
|
|
|
+ if (instance == null) {
|
|
|
instance = new DataUtil();
|
|
|
}
|
|
|
return instance;
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 清除数据
|
|
|
*/
|
|
|
@@ -74,73 +76,83 @@ public class DataUtil {
|
|
|
|
|
|
/**
|
|
|
* 获取当前用户的邀请码
|
|
|
+ *
|
|
|
* @return
|
|
|
*/
|
|
|
public String getInvitationCode() {
|
|
|
UserEntity userEntity = DataUtil.getInstance().getUserEntity();
|
|
|
- if(userEntity != null && userEntity.getInvitation_code() != null)
|
|
|
+ if (userEntity != null && userEntity.getInvitation_code() != null)
|
|
|
return userEntity.getInvitation_code();
|
|
|
return "";
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取当前用户的id
|
|
|
+ *
|
|
|
* @return
|
|
|
*/
|
|
|
public String getUserId() {
|
|
|
UserEntity userEntity = DataUtil.getInstance().getUserEntity();
|
|
|
- if(userEntity != null && userEntity.getId() != null)
|
|
|
+ if (userEntity != null && userEntity.getId() != null)
|
|
|
return userEntity.getId();
|
|
|
return "";
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取当前用户的邀请人的邀请码
|
|
|
+ *
|
|
|
* @return
|
|
|
*/
|
|
|
public String getUserParentCode() {
|
|
|
UserEntity userEntity = DataUtil.getInstance().getUserEntity();
|
|
|
- if(userEntity != null && userEntity.getParent_code() != null)
|
|
|
+ if (userEntity != null && userEntity.getParent_code() != null)
|
|
|
return userEntity.getParent_code();
|
|
|
return "";
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取当前用户的手机号
|
|
|
+ *
|
|
|
* @return
|
|
|
*/
|
|
|
public String getUserMobile() {
|
|
|
UserEntity userEntity = DataUtil.getInstance().getUserEntity();
|
|
|
- if(userEntity != null && userEntity.getMobile() != null)
|
|
|
+ if (userEntity != null && userEntity.getMobile() != null)
|
|
|
return userEntity.getMobile();
|
|
|
return "";
|
|
|
}
|
|
|
+
|
|
|
public void setUserMobile(String mobile) {
|
|
|
- if(userEntity != null)
|
|
|
+ if (userEntity != null)
|
|
|
userEntity.setMobile(mobile);
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 获取当前用户的微信id
|
|
|
+ *
|
|
|
* @return
|
|
|
*/
|
|
|
public String getUserWxOpenId() {
|
|
|
UserEntity userEntity = DataUtil.getInstance().getUserEntity();
|
|
|
- if(userEntity != null && userEntity.getWx_openid() != null)
|
|
|
+ if (userEntity != null && userEntity.getWx_openid() != null)
|
|
|
return userEntity.getWx_openid();
|
|
|
return "";
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 获取当前用户的微信昵称
|
|
|
+ *
|
|
|
* @return
|
|
|
*/
|
|
|
public String getUserWxNicknName() {
|
|
|
UserEntity userEntity = DataUtil.getInstance().getUserEntity();
|
|
|
- if(userEntity != null && userEntity.getWx_nickname() != null)
|
|
|
+ if (userEntity != null && userEntity.getWx_nickname() != null)
|
|
|
return userEntity.getWx_nickname();
|
|
|
return "";
|
|
|
}
|
|
|
+
|
|
|
public void setUserWxNickName(String wx_nickname) {
|
|
|
- if(userEntity != null)
|
|
|
+ if (userEntity != null)
|
|
|
userEntity.setWx_nickname(wx_nickname);
|
|
|
|
|
|
}
|
|
|
@@ -159,6 +171,7 @@ public class DataUtil {
|
|
|
}
|
|
|
return null;
|
|
|
}
|
|
|
+
|
|
|
public void resetCacheTime(String key, int saveTime) {
|
|
|
ACache aCache = ACache.get(SheepApp.getInstance());
|
|
|
String realKey = SheepApp.getInstance().getConnectAddress().getAppUrl() + "v1/" + key;
|
|
|
@@ -182,6 +195,7 @@ public class DataUtil {
|
|
|
|
|
|
/**
|
|
|
* 设置key的saveTime缓存时间为当前时间
|
|
|
+ *
|
|
|
* @param key
|
|
|
*/
|
|
|
public void setSaveTime(String key) {
|
|
|
@@ -191,6 +205,7 @@ public class DataUtil {
|
|
|
|
|
|
/**
|
|
|
* 获取缓存的key的saveTime时间
|
|
|
+ *
|
|
|
* @param key
|
|
|
* @return
|
|
|
*/
|
|
|
@@ -198,25 +213,30 @@ public class DataUtil {
|
|
|
ACache aCache = ACache.get(SheepApp.getInstance());
|
|
|
return NumberFormatUtils.parseLong(aCache.getAsString(key + "saveTime"));
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 设置taskAcceptedEty的saveTime缓存时间为time
|
|
|
+ *
|
|
|
* @param taskAcceptedEty
|
|
|
*/
|
|
|
public void saveTaskAcceptedSaveTime(TaskAcceptedEty taskAcceptedEty) {
|
|
|
ACache aCache = ACache.get(SheepApp.getInstance());
|
|
|
- aCache.put(TaskAcceptedEty.class.getSimpleName()+taskAcceptedEty.getId() + "saveTime", String.valueOf(taskAcceptedEty.getEnd_time()));
|
|
|
+ aCache.put(TaskAcceptedEty.class.getSimpleName() + taskAcceptedEty.getId() + "saveTime", String.valueOf(taskAcceptedEty.getEnd_time()));
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 获取taskAcceptedEty的saveTime缓存时间为
|
|
|
+ *
|
|
|
* @param taskAcceptedEty
|
|
|
*/
|
|
|
public long getTaskAcceptedSaveTime(TaskAcceptedEty taskAcceptedEty) {
|
|
|
ACache aCache = ACache.get(SheepApp.getInstance());
|
|
|
- return NumberFormatUtils.parseLong(aCache.getAsString(TaskAcceptedEty.class.getSimpleName()+taskAcceptedEty.getId() + "saveTime"));
|
|
|
+ return NumberFormatUtils.parseLong(aCache.getAsString(TaskAcceptedEty.class.getSimpleName() + taskAcceptedEty.getId() + "saveTime"));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 获取缓存数据的时间
|
|
|
+ *
|
|
|
* @param key
|
|
|
* @return
|
|
|
*/
|
|
|
@@ -233,12 +253,12 @@ public class DataUtil {
|
|
|
private List<TaskAcceptedEty> allTaskAcceptedTaskList = ListUtil.emptyList();
|
|
|
|
|
|
//获取缓存数据
|
|
|
- public void initACacheAcceptedTaskList(){
|
|
|
+ public void initACacheAcceptedTaskList() {
|
|
|
List<TaskAcceptedEty> cacheTaskAcceptedEtyList = getCacheList(ApiKey.new_run_task(3), TaskAcceptedEty.class);
|
|
|
if (cacheTaskAcceptedEtyList == null) {//无缓存
|
|
|
reInitAcceptedTaskList();
|
|
|
} else {//有缓存
|
|
|
- if(ListUtil.isEmpty(cacheTaskAcceptedEtyList)){//无任务
|
|
|
+ if (ListUtil.isEmpty(cacheTaskAcceptedEtyList)) {//无任务
|
|
|
clearAcceptedTaskList();
|
|
|
} else {//有任务
|
|
|
reloadAcceptedTaskList(cacheTaskAcceptedEtyList);
|
|
|
@@ -246,32 +266,34 @@ public class DataUtil {
|
|
|
EventBus.getDefault().post(new BigEvent().setEventTypes(EventTypes.ONFRESH_FGT_FAMLLSHEEP));
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
//刷新数据
|
|
|
- public void reInitAcceptedTaskList(){
|
|
|
+ public void reInitAcceptedTaskList() {
|
|
|
reInitAcceptedTaskList(null);
|
|
|
}
|
|
|
+
|
|
|
//刷新数据
|
|
|
- public void reInitAcceptedTaskList(final Action1<BaseMessage> action1){
|
|
|
+ public void reInitAcceptedTaskList(final Action1<BaseMessage> action1) {
|
|
|
SheepApp.getInstance().getNetComponent().getApiService().returnTask(3)
|
|
|
- .subscribeOn(Schedulers.io())
|
|
|
- .observeOn(AndroidSchedulers.mainThread())
|
|
|
- .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
|
|
|
- @Override
|
|
|
- public void onNext(BaseMessage baseMessage) {
|
|
|
- reloadAcceptedTaskListAndSaveTime(baseMessage.getDataList(TaskAcceptedEty.class));
|
|
|
- AutoTaskListUtil.getInstance().loadList(baseMessage.getDataList(TaskAcceptedEty.class));
|
|
|
- EventBus.getDefault().post(new BigEvent().setEventTypes(EventTypes.ONFRESH_FGT_FAMLLSHEEP));
|
|
|
- if(action1 != null)
|
|
|
- action1.call(baseMessage);
|
|
|
- }
|
|
|
-
|
|
|
- @Override
|
|
|
- public void onError(BaseMessage baseMessage) {
|
|
|
- clearAcceptedTaskList();
|
|
|
- if(action1 != null)
|
|
|
- action1.call(null);
|
|
|
- }
|
|
|
- });
|
|
|
+ .subscribeOn(Schedulers.io())
|
|
|
+ .observeOn(AndroidSchedulers.mainThread())
|
|
|
+ .subscribe(new SheepSubscriber<BaseMessage>(SheepApp.getInstance()) {
|
|
|
+ @Override
|
|
|
+ public void onNext(BaseMessage baseMessage) {
|
|
|
+ reloadAcceptedTaskListAndSaveTime(baseMessage.getDataList(TaskAcceptedEty.class));
|
|
|
+ AutoTaskListUtil.getInstance().loadList(baseMessage.getDataList(TaskAcceptedEty.class));
|
|
|
+ EventBus.getDefault().post(new BigEvent().setEventTypes(EventTypes.ONFRESH_FGT_FAMLLSHEEP));
|
|
|
+ if (action1 != null)
|
|
|
+ action1.call(baseMessage);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onError(BaseMessage baseMessage) {
|
|
|
+ clearAcceptedTaskList();
|
|
|
+ if (action1 != null)
|
|
|
+ action1.call(null);
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
public void reloadAcceptedTaskListAndSaveTime(List<TaskAcceptedEty> acceptedTaskList) {
|
|
|
@@ -282,16 +304,19 @@ public class DataUtil {
|
|
|
addAcceptedTask(taskAcceptedEty);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
public void reloadAcceptedTaskList(List<TaskAcceptedEty> acceptedTaskList) {
|
|
|
clearAcceptedTaskList();
|
|
|
for (TaskAcceptedEty taskAcceptedEty : acceptedTaskList) {
|
|
|
addAcceptedTask(taskAcceptedEty);
|
|
|
}
|
|
|
}
|
|
|
- public List<TaskAcceptedEty> getAllTaskAcceptedTaskList(){
|
|
|
+
|
|
|
+ public List<TaskAcceptedEty> getAllTaskAcceptedTaskList() {
|
|
|
checkTaskList(allTaskAcceptedTaskList);
|
|
|
return allTaskAcceptedTaskList;
|
|
|
}
|
|
|
+
|
|
|
private void clearAcceptedTaskList() {
|
|
|
tryPlayTaskList.clear();
|
|
|
sequentialTaskList.clear();
|
|
|
@@ -300,8 +325,8 @@ public class DataUtil {
|
|
|
}
|
|
|
|
|
|
public void addAcceptedTask(TaskAcceptedEty taskAcceptedEty) {
|
|
|
- if(taskAcceptedEty != null && taskAcceptedEty.getRelease_task() != null && taskAcceptedEty.getRelease_task().getTask() != null){
|
|
|
- switch (taskAcceptedEty.getRelease_task().getTask().getTask_type()){
|
|
|
+ if (taskAcceptedEty != null && taskAcceptedEty.getRelease_task() != null && taskAcceptedEty.getRelease_task().getTask() != null) {
|
|
|
+ switch (taskAcceptedEty.getRelease_task().getTask().getTask_type()) {
|
|
|
case 1000://连续任务
|
|
|
ListUtil.addAll(sequentialTaskList, taskAcceptedEty);
|
|
|
break;
|
|
|
@@ -317,10 +342,11 @@ public class DataUtil {
|
|
|
ListUtil.addAll(allTaskAcceptedTaskList, taskAcceptedEty);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
//清除并重置正在进行的任务的时间
|
|
|
private void checkTaskList(List<TaskAcceptedEty> taskList) {
|
|
|
final long saveTime = getSaveTime(ApiKey.new_run_task(3));
|
|
|
- if(saveTime > 0) {
|
|
|
+ if (saveTime > 0) {
|
|
|
ListUtil.removeItem(taskList, new ListUtil.CallBack<TaskAcceptedEty, Boolean>() {
|
|
|
@Override
|
|
|
public Boolean call(TaskAcceptedEty taskAcceptedEty) {
|
|
|
@@ -337,6 +363,7 @@ public class DataUtil {
|
|
|
setSaveTime(ApiKey.new_run_task(3));
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
public List<TaskAcceptedEty> getTryPlayTaskList() {
|
|
|
checkTaskList(tryPlayTaskList);
|
|
|
return tryPlayTaskList;
|
|
|
@@ -354,15 +381,31 @@ public class DataUtil {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 通过is_succession来获取对应的正在进行的任务列表
|
|
|
+ * @param is_succession
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public List<TaskAcceptedEty> getTaskAcceptedTaskList(int is_succession) {
|
|
|
+ switch (is_succession) {
|
|
|
+ case 1://连续任务
|
|
|
+ return getSequentialTaskList();
|
|
|
+ case 0:
|
|
|
+ default:
|
|
|
+ return getTryPlayTaskList();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 根据releaseTaskId来获取对应的正在进行的任务
|
|
|
+ *
|
|
|
* @param releaseTaskId
|
|
|
* @return
|
|
|
*/
|
|
|
public TaskAcceptedEty getTaskAcceptedTaskByReleaseTaskId(int releaseTaskId) {
|
|
|
List<TaskAcceptedEty> allTaskAcceptedTaskList = getAllTaskAcceptedTaskList();
|
|
|
- if(allTaskAcceptedTaskList != null){
|
|
|
+ if (allTaskAcceptedTaskList != null) {
|
|
|
for (TaskAcceptedEty taskAcceptedEty : allTaskAcceptedTaskList) {
|
|
|
- if(taskAcceptedEty != null && taskAcceptedEty.getRelease_task() != null && taskAcceptedEty.getRelease_task().getId() == releaseTaskId)
|
|
|
+ if (taskAcceptedEty != null && taskAcceptedEty.getRelease_task() != null && taskAcceptedEty.getRelease_task().getId() == releaseTaskId)
|
|
|
return taskAcceptedEty;
|
|
|
}
|
|
|
}
|
|
|
@@ -370,13 +413,13 @@ public class DataUtil {
|
|
|
}
|
|
|
|
|
|
public TaskAcceptedEty removeAcceptedTask(final int acceptedId) {
|
|
|
- List<TaskAcceptedEty> removeList= ListUtil.removeItem(allTaskAcceptedTaskList, new ListUtil.CallBack<TaskAcceptedEty, Boolean>() {
|
|
|
+ List<TaskAcceptedEty> removeList = ListUtil.removeItem(allTaskAcceptedTaskList, new ListUtil.CallBack<TaskAcceptedEty, Boolean>() {
|
|
|
@Override
|
|
|
public Boolean call(TaskAcceptedEty taskAcceptedEty) {
|
|
|
return taskAcceptedEty == null || taskAcceptedEty.getId() == acceptedId;
|
|
|
}
|
|
|
});
|
|
|
- if(ListUtil.isEmpty(removeList)){
|
|
|
+ if (ListUtil.isEmpty(removeList)) {
|
|
|
return null;
|
|
|
}
|
|
|
clearCache(ApiKey.new_run_task(3));
|