Browse Source

解决重登刷新订单列表

zk 2 years ago
parent
commit
2b23ace8de

+ 5 - 1
app/src/main/java/com/datarecovery/master/data/repositories/AccountRepository.java

@@ -35,6 +35,7 @@ public class AccountRepository {
     public static String token;
     public static String token;
     private final AtmobApi atmobApi;
     private final AtmobApi atmobApi;
     private final DeviceFuncRepository deviceFuncRepository;
     private final DeviceFuncRepository deviceFuncRepository;
+    private final PayRepository payRepository;
 
 
     private int errorCodeTimes;
     private int errorCodeTimes;
 
 
@@ -45,9 +46,10 @@ public class AccountRepository {
     }
     }
 
 
     @Inject
     @Inject
-    public AccountRepository(AtmobApi atmobApi, DeviceFuncRepository deviceFuncRepository) {
+    public AccountRepository(AtmobApi atmobApi, DeviceFuncRepository deviceFuncRepository, PayRepository payRepository) {
         this.atmobApi = atmobApi;
         this.atmobApi = atmobApi;
         this.deviceFuncRepository = deviceFuncRepository;
         this.deviceFuncRepository = deviceFuncRepository;
+        this.payRepository = payRepository;
         loginPhoneNum.setValue(KVUtils.getDefault().getString(KEY_LOGIN_PHONE_NUM, null));
         loginPhoneNum.setValue(KVUtils.getDefault().getString(KEY_LOGIN_PHONE_NUM, null));
         isLogin.observeForever(isLogin -> AtmobLog.d(TAG, "isLogin: " + isLogin));
         isLogin.observeForever(isLogin -> AtmobLog.d(TAG, "isLogin: " + isLogin));
         deviceFuncRepository.refreshFuncAuths();
         deviceFuncRepository.refreshFuncAuths();
@@ -65,6 +67,7 @@ public class AccountRepository {
         AccountRepository.token = token;
         AccountRepository.token = token;
         this.loginPhoneNum.setValue(phoneNum);
         this.loginPhoneNum.setValue(phoneNum);
         deviceFuncRepository.refreshFuncAuths();
         deviceFuncRepository.refreshFuncAuths();
+        payRepository.refreshOrderPageList();
         KVUtils.getDefault().putString(KEY_LOGIN_PHONE_NUM, phoneNum);
         KVUtils.getDefault().putString(KEY_LOGIN_PHONE_NUM, phoneNum);
         KVUtils.getDefault().putString(KEY_LOGIN_TOKEN, token);
         KVUtils.getDefault().putString(KEY_LOGIN_TOKEN, token);
 
 
@@ -114,6 +117,7 @@ public class AccountRepository {
         }
         }
         token = null;
         token = null;
         deviceFuncRepository.clearAuths();
         deviceFuncRepository.clearAuths();
+        payRepository.clearOderList();
         KVUtils.getDefault().putString(KEY_LOGIN_PHONE_NUM, "");
         KVUtils.getDefault().putString(KEY_LOGIN_PHONE_NUM, "");
         KVUtils.getDefault().putString(KEY_LOGIN_TOKEN, "");
         KVUtils.getDefault().putString(KEY_LOGIN_TOKEN, "");
         if (BoxingUtil.boxing(isLogin.getValue())) {
         if (BoxingUtil.boxing(isLogin.getValue())) {

+ 21 - 2
app/src/main/java/com/datarecovery/master/data/repositories/PayRepository.java

@@ -1,13 +1,19 @@
 package com.datarecovery.master.data.repositories;
 package com.datarecovery.master.data.repositories;
 
 
 
 
+import androidx.lifecycle.LiveData;
+import androidx.lifecycle.MutableLiveData;
+
 import com.atmob.app.lib.handler.RxHttpHandler;
 import com.atmob.app.lib.handler.RxHttpHandler;
 import com.datarecovery.master.data.api.AtmobApi;
 import com.datarecovery.master.data.api.AtmobApi;
+import com.datarecovery.master.data.api.bean.OrderBean;
 import com.datarecovery.master.data.api.request.FindOrderRequest;
 import com.datarecovery.master.data.api.request.FindOrderRequest;
 import com.datarecovery.master.data.api.request.OrderPageRequest;
 import com.datarecovery.master.data.api.request.OrderPageRequest;
 import com.datarecovery.master.data.api.response.FindOrderResponse;
 import com.datarecovery.master.data.api.response.FindOrderResponse;
 import com.datarecovery.master.data.api.response.OrderPageResponse;
 import com.datarecovery.master.data.api.response.OrderPageResponse;
 
 
+import java.util.List;
+
 import javax.inject.Inject;
 import javax.inject.Inject;
 import javax.inject.Singleton;
 import javax.inject.Singleton;
 
 
@@ -20,7 +26,7 @@ import atmob.rxjava.utils.RxJavaUtil;
 @Singleton
 @Singleton
 public class PayRepository {
 public class PayRepository {
 
 
-
+    private final MutableLiveData<List<OrderBean>> orderList = new MutableLiveData<>();
     private final AtmobApi atmobApi;
     private final AtmobApi atmobApi;
 
 
     @Inject
     @Inject
@@ -29,10 +35,20 @@ public class PayRepository {
     }
     }
 
 
 
 
+    public LiveData<List<OrderBean>> getOrderList() {
+        return orderList;
+    }
+
+    public void refreshOrderPageList() {
+        orderPage(0, 200).subscribe();
+    }
+
     public Single<OrderPageResponse> orderPage(int offset, int limit) {
     public Single<OrderPageResponse> orderPage(int offset, int limit) {
         return atmobApi.orderPage(new OrderPageRequest(limit, offset))
         return atmobApi.orderPage(new OrderPageRequest(limit, offset))
                 .compose(RxHttpHandler.handle(true))
                 .compose(RxHttpHandler.handle(true))
-                .compose(RxJavaUtil.SingleSchedule.io2Main());
+                .compose(RxJavaUtil.SingleSchedule.io2Main())
+                .doOnSuccess(orderPageResponse -> orderList.setValue(orderPageResponse.getList()));
+
     }
     }
 
 
     public Single<FindOrderResponse> findOrder(String[] auths) {
     public Single<FindOrderResponse> findOrder(String[] auths) {
@@ -42,4 +58,7 @@ public class PayRepository {
     }
     }
 
 
 
 
+    public void clearOderList() {
+        orderList.setValue(null);
+    }
 }
 }

+ 2 - 3
app/src/main/java/com/datarecovery/master/module/order/OrderViewModel.java

@@ -25,7 +25,7 @@ public class OrderViewModel extends BaseViewModel {
 
 
     private final PayRepository payRepository;
     private final PayRepository payRepository;
 
 
-    private final MutableLiveData<List<OrderBean>> orderList = new MutableLiveData<>();
+
     private final SingleLiveEvent<?> refreshOrderListEvent = new SingleLiveEvent<>();
     private final SingleLiveEvent<?> refreshOrderListEvent = new SingleLiveEvent<>();
 
 
     @Inject
     @Inject
@@ -35,7 +35,7 @@ public class OrderViewModel extends BaseViewModel {
     }
     }
 
 
     public LiveData<List<OrderBean>> getOrderList() {
     public LiveData<List<OrderBean>> getOrderList() {
-        return orderList;
+        return payRepository.getOrderList();
     }
     }
 
 
     public LiveData<?> getRefreshOrderListEvent() {
     public LiveData<?> getRefreshOrderListEvent() {
@@ -51,7 +51,6 @@ public class OrderViewModel extends BaseViewModel {
 
 
             @Override
             @Override
             public void onSuccess(@NonNull OrderPageResponse orderPageResponse) {
             public void onSuccess(@NonNull OrderPageResponse orderPageResponse) {
-                orderList.setValue(orderPageResponse.getList());
                 refreshOrderListEvent.call();
                 refreshOrderListEvent.call();
             }
             }