From a1d1fb7c44e33c4baeb52964a027932018bc1325 Mon Sep 17 00:00:00 2001 From: Linjiajia <319408893@qq.com> Date: 星期二, 04 四月 2023 16:35:39 +0800 Subject: [PATCH] 家大事记添加接口、家庭资产、家庭设备 --- app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaActivityViewModel.java | 106 +++++++++++++++++++++++++++++++--------------------- 1 files changed, 63 insertions(+), 43 deletions(-) diff --git a/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaActivityViewModel.java b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaActivityViewModel.java index c8c606b..dbaa710 100644 --- a/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaActivityViewModel.java +++ b/app/src/main/java/com/application/zhangshi_app_android/ui/function/FamilyMemorabiliaActivityViewModel.java @@ -11,13 +11,18 @@ import com.android.app_base.base.viewmodel.BaseViewModel; import com.android.app_base.http.ResultData; import com.android.app_base.utils.RxUtils; +import com.application.zhangshi_app_android.bean.FamilyAssetsBean; import com.application.zhangshi_app_android.bean.FamilyMemorabiliaBean; +import com.application.zhangshi_app_android.bean.FamilyMemorabiliaRequestBean; import com.application.zhangshi_app_android.bean.FamilyMemorabiliaResponseBean; import com.application.zhangshi_app_android.data.DataRepository; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -32,9 +37,11 @@ */ public class FamilyMemorabiliaActivityViewModel extends BaseViewModel<DataRepository> { - private MutableLiveData<List<FamilyMemorabiliaBean>> checkListLiveData; - private MutableLiveData<List<FamilyMemorabiliaBean>> dataListLiveData; - private MutableLiveData<String> stringMutableLiveData; + private MutableLiveData<List<FamilyMemorabiliaBean>> checkListLiveData;//閫変腑鐨勬暟鎹� + private MutableLiveData<List<FamilyMemorabiliaBean>> dataListLiveData;//鎵�鏈夋暟鎹� + private MutableLiveData<Integer> operateTypeLiveData;//鎿嶄綔绫诲瀷 0 閫夋嫨鎿嶄綔 1.瀹屾垚 2.鍒犻櫎 + + private MutableLiveData<FamilyMemorabiliaRequestBean> requestBeanMutableLiveData; public FamilyMemorabiliaActivityViewModel(@NonNull Application application) { super(application); } @@ -46,24 +53,11 @@ /** * 鑾峰彇瀹跺ぇ浜嬭 */ - public void getFamilyMemorabilia(int searchType) { - Map<String, Object> queryMap = new HashMap<>(); - queryMap.put("pageNum",1); - queryMap.put("pageSize",20); - if (searchType == 1){ - queryMap.put("remark",stringMutableLiveData.getValue()); - } else if (searchType == 2) { - queryMap.put("title",stringMutableLiveData.getValue()); - }else if (searchType == 3) { - queryMap.put("people",stringMutableLiveData.getValue()); + public void getFamilyMemorabilia() { + if (getRequestBeanMutableLiveData().getValue() == null){ + getRequestBeanMutableLiveData().setValue(new FamilyMemorabiliaRequestBean()); } - else if (searchType == 4) { - queryMap.put("createTime",stringMutableLiveData.getValue()); - } - else if (searchType == 5) { - queryMap.put("address",stringMutableLiveData.getValue()); - } - model.getFamilyMemorabilia(queryMap) + model.getFamilyMemorabilia(getRequestBeanMutableLiveData().getValue().getMap()) .compose(RxUtils.schedulersTransformer()) .subscribe(new Observer<ResultData<FamilyMemorabiliaResponseBean>>() { @Override @@ -77,6 +71,7 @@ if (data.getData().getData().isEmpty()){ changeStateView(StateViewEnum.DATA_NULL); }else { + changeStateView(StateViewEnum.HIDE); dataListLiveData.postValue(data.getData().getData()); } }else { @@ -168,35 +163,60 @@ this.dataListLiveData = dataListLiveData; } - public MutableLiveData<String> getStringMutableLiveData() { - if (stringMutableLiveData == null){ - stringMutableLiveData = new MutableLiveData<>(); + @NonNull + public MutableLiveData<FamilyMemorabiliaRequestBean> getRequestBeanMutableLiveData() { + if (requestBeanMutableLiveData == null){ + requestBeanMutableLiveData = new MutableLiveData<>(); } - return stringMutableLiveData; + if (requestBeanMutableLiveData.getValue()==null){ + requestBeanMutableLiveData.postValue(new FamilyMemorabiliaRequestBean()); + } + return requestBeanMutableLiveData; } - public void setStringMutableLiveData(MutableLiveData<String> stringMutableLiveData) { - this.stringMutableLiveData = stringMutableLiveData; + public void setRequestBeanMutableLiveData(MutableLiveData<FamilyMemorabiliaRequestBean> requestBeanMutableLiveData) { + this.requestBeanMutableLiveData = requestBeanMutableLiveData; + } + + public MutableLiveData<Integer> getOperateTypeLiveData() { + if (operateTypeLiveData == null){ + operateTypeLiveData = new MutableLiveData<>(); + operateTypeLiveData.setValue(0); + } + return operateTypeLiveData; + } + + public void setOperateTypeLiveData(MutableLiveData<Integer> operateTypeLiveData) { + this.operateTypeLiveData = operateTypeLiveData; } public void changeOrder(boolean b) { - List<FamilyMemorabiliaBean> dataList = getDataListLiveData().getValue(); - if (dataList == null) return; - if (b){ - dataList.sort(new Comparator<FamilyMemorabiliaBean>() { - @Override - public int compare(FamilyMemorabiliaBean o1, FamilyMemorabiliaBean o2) { - return (int) (o1.getId() - o2.getId()); - } - }); - }else { - dataList.sort(new Comparator<FamilyMemorabiliaBean>() { - @Override - public int compare(FamilyMemorabiliaBean o1, FamilyMemorabiliaBean o2) { - return (int) (o2.getId() - o1.getId()); - } - }); + List<FamilyMemorabiliaBean> list = getDataListLiveData().getValue(); + if (list == null || list.isEmpty()){ + return; } - getDataListLiveData().postValue(dataList); + list.sort(new Comparator<FamilyMemorabiliaBean>() { + @Override + public int compare(FamilyMemorabiliaBean o1, FamilyMemorabiliaBean o2) { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd", java.util.Locale.getDefault()); + Date date1 = null; + Date date2 = null; + try { + date1 = format.parse(o1.getCreateTime()); + date2 = format.parse(o2.getCreateTime()); + } catch (ParseException e) { + throw new RuntimeException(e); + } + if (date1 != null && date2 != null) { + if (b){ + return date2.compareTo(date1); + }else { + return date1.compareTo(date2); + } + } + return 0; + } + }); + getDataListLiveData().postValue(list); } } -- Gitblit v1.9.1