Переглянути джерело

1.调试支付问题
2.我的订单接口
3.替换部分图片
4.修改注销/退出登录等接口逻辑

FailedToRead 3 роки тому
батько
коміт
8a0287d27e
30 змінених файлів з 505 додано та 143 видалено
  1. 4 4
      .idea/misc.xml
  2. 2 2
      app/src/fragmentRecommend/layout/popupwindow_myorder.xml
  3. 4 3
      app/src/fragmentUser/layout/activity_mycollection.xml
  4. 29 0
      app/src/main/java/com/edufound/reader/activity/PayActivity.java
  5. 2 0
      app/src/main/java/com/edufound/reader/activity/UserInfoSettingActivity.java
  6. 14 3
      app/src/main/java/com/edufound/reader/adapter/PopupMyOrderAdapter.java
  7. 3 3
      app/src/main/java/com/edufound/reader/application/EApplication.java
  8. 113 0
      app/src/main/java/com/edufound/reader/bean/MyOrderListBean.java
  9. 10 0
      app/src/main/java/com/edufound/reader/bean/PayResultBean.java
  10. 33 33
      app/src/main/java/com/edufound/reader/botsdk/BotRegisterListener.java
  11. 13 0
      app/src/main/java/com/edufound/reader/contract/PayContract.java
  12. 4 1
      app/src/main/java/com/edufound/reader/fragment/MyTabFragment.java
  13. 17 0
      app/src/main/java/com/edufound/reader/model/PayModel.java
  14. 3 1
      app/src/main/java/com/edufound/reader/popwindow/PopWindowUtil.java
  15. 4 4
      app/src/main/java/com/edufound/reader/presenter/LoginAlertPresenter.java
  16. 41 32
      app/src/main/java/com/edufound/reader/presenter/MainPresenter.java
  17. 2 0
      app/src/main/java/com/edufound/reader/presenter/MessagePresenter.java
  18. 3 3
      app/src/main/java/com/edufound/reader/presenter/MyCollectionPresenter.java
  19. 5 2
      app/src/main/java/com/edufound/reader/presenter/MyTabFragmentPresenter.java
  20. 8 6
      app/src/main/java/com/edufound/reader/presenter/OthersRecordPresenter.java
  21. 91 14
      app/src/main/java/com/edufound/reader/presenter/PayPresenter.java
  22. 63 19
      app/src/main/java/com/edufound/reader/presenter/PopWindowPresneter.java
  23. 14 7
      app/src/main/java/com/edufound/reader/presenter/SafflowerPresenter.java
  24. 4 0
      app/src/main/java/com/edufound/reader/presenter/UserInfoSettingPresenter.java
  25. 11 0
      app/src/main/java/com/edufound/reader/util/Consts.java
  26. 1 1
      app/src/main/java/com/edufound/reader/util/EfunboxUtil.java
  27. 3 1
      app/src/main/java/com/edufound/reader/util/OkHttpClient.java
  28. BIN
      app/src/main/res/drawable/activity_mycollection_no_item.png
  29. 4 3
      app/src/main/res/layout/activity_pay.xml
  30. 0 1
      app/src/main/res/layout/adapter_item_popupwindow_myorder.xml

+ 4 - 4
.idea/misc.xml

@@ -36,7 +36,7 @@
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentRecommend/layout/popupwindow_record_remove.xml" value="0.5" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentRecommend/layout/slide_video_marqueen_item.xml" value="0.5" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentUser/drawable/fragment_user_info_divider.xml" value="0.31640625" />
-        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentUser/layout/activity_mycollection.xml" value="0.2" />
+        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentUser/layout/activity_mycollection.xml" value="0.22" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentUser/layout/activity_myfollow.xml" value="0.12" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentUser/layout/activity_smallfull_video.xml" value="0.1" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/fragmentUser/layout/adapter_item_record_authority.xml" value="0.25" />
@@ -74,8 +74,8 @@
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_main.xml" value="0.3107843137254902" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_message.xml" value="0.14" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_otherrecord.xml" value="0.43462897526501765" />
-        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_pay.xml" value="0.2" />
-        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_pay_item.xml" value="0.75" />
+        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_pay.xml" value="0.25" />
+        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_pay_item.xml" value="0.8467432950191571" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_record.xml" value="0.33" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_saffloer.xml" value="0.2" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/activity_saffloer_sign_layout_item.xml" value="0.67" />
@@ -88,7 +88,7 @@
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_message.xml" value="0.3165266106442577" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_myfollow.xml" value="1.0" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_myollow.xml" value="0.25" />
-        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_popupwindow_myorder.xml" value="0.22" />
+        <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_popupwindow_myorder.xml" value="0.67" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_record.xml" value="0.4539641943734015" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_record_user.xml" value="0.67" />
         <entry key="..\:/WorkSpace/Git_WorkSpace/efunboxReader-android/efunboxReader-android-master/app/src/main/res/layout/adapter_item_safflower.xml" value="0.75" />

+ 2 - 2
app/src/fragmentRecommend/layout/popupwindow_myorder.xml

@@ -41,9 +41,9 @@
                 android:id="@+id/popupwindow_myorder_noitem"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:visibility="gone"
                 android:layout_gravity="center"
-                android:src="@drawable/popupwinow_myorder_noitem"></ImageView>
+                android:src="@drawable/popupwinow_myorder_noitem"
+                android:visibility="gone"></ImageView>
 
         <ImageView
                 android:id="@+id/popupwindow_myorder_back"

+ 4 - 3
app/src/fragmentUser/layout/activity_mycollection.xml

@@ -56,10 +56,11 @@
 
             <ImageView
                     android:id="@+id/mycollection_nocollection"
-                    android:layout_width="320dp"
-                    android:layout_height="320dp"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
                     android:layout_gravity="center"
-                    android:src="@drawable/fragment_user_no_record"
+                    android:layout_marginBottom="50dp"
+                    android:src="@drawable/activity_mycollection_no_item"
                     android:visibility="gone"></ImageView>
         </FrameLayout>
 

+ 29 - 0
app/src/main/java/com/edufound/reader/activity/PayActivity.java

@@ -1,6 +1,7 @@
 package com.edufound.reader.activity;
 
 import android.app.Activity;
+import android.view.KeyEvent;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.ImageView;
@@ -16,6 +17,9 @@ import com.edufound.reader.base.BaseMvpActivity;
 import com.edufound.reader.contract.PayContract;
 import com.edufound.reader.popwindow.PopWindowUtil;
 import com.edufound.reader.presenter.PayPresenter;
+import com.edufound.reader.util.GlideUtils;
+import com.edufound.reader.util.QRCodeUtil;
+import com.edufound.reader.util.SizeUtils;
 import com.orhanobut.logger.Logger;
 
 import java.util.HashMap;
@@ -37,6 +41,9 @@ public class PayActivity extends BaseMvpActivity<PayPresenter> implements PayCon
     @BindView(id = R.id.activity_pay_item_layouts)
     LinearLayout mItemFrame;
 
+    @BindView(id = R.id.activity_pay_qrcode)
+    ImageView mQRCode;
+
     @Override
     public int getLayoutId() {
         return R.layout.activity_pay;
@@ -108,6 +115,17 @@ public class PayActivity extends BaseMvpActivity<PayPresenter> implements PayCon
     }
 
     @Override
+    public void isPaySuccess() {
+        Toast.makeText(getActivity(), "支付成功", Toast.LENGTH_SHORT).show();
+    }
+
+    @Override
+    public void setQRCode(String obj) {
+//        mQRCode
+        GlideUtils.loadImageSizeKipMemoryCache(getActivity(), obj, mQRCode);
+    }
+
+    @Override
     protected void botHandleIntent(BotIntent intent, String customData) {
         super.botHandleIntent(intent, customData);
         Logger.e("botHandleIntent");
@@ -149,4 +167,15 @@ public class PayActivity extends BaseMvpActivity<PayPresenter> implements PayCon
                 + "百度侧订单号:%s\n卖方生成的订单号:%s\n订单备注信息:%s";
         Logger.e("intentResult:" + intentResult);
     }
+
+    @Override
+    public boolean onKeyDown(int keyCode, KeyEvent event) {
+        return true;
+    }
+
+    @Override
+    protected void onDestroy() {
+        mPresenter.activityDestory();
+        super.onDestroy();
+    }
 }

+ 2 - 0
app/src/main/java/com/edufound/reader/activity/UserInfoSettingActivity.java

@@ -125,6 +125,7 @@ public class UserInfoSettingActivity extends BaseMvpActivity<UserInfoSettingPres
             mLoginOut.setVisibility(View.VISIBLE);
         }
         addUiClickListener(mLoginOut, o -> {
+            Logger.e("mLoginOut");
             if (mNickName.hasFocus()) {
                 mNickName.clearFocus();
                 return;
@@ -143,6 +144,7 @@ public class UserInfoSettingActivity extends BaseMvpActivity<UserInfoSettingPres
             });
         });
         addUiClickListener(mCancellationLayout, o -> {
+            Logger.e("註銷按鈕");
             if (mNickName.hasFocus()) {
                 mNickName.clearFocus();
                 return;

+ 14 - 3
app/src/main/java/com/edufound/reader/adapter/PopupMyOrderAdapter.java

@@ -8,6 +8,8 @@ import android.widget.ImageView;
 import android.widget.TextView;
 
 import com.edufound.reader.R;
+import com.edufound.reader.bean.MyOrderListBean;
+import com.edufound.reader.util.TimeUtil;
 
 import java.util.List;
 
@@ -19,9 +21,9 @@ public class PopupMyOrderAdapter extends RecyclerView.Adapter<MyOtderItemHolder>
 
     private LayoutInflater mLayoutInflater;
     private Context mContext;
-    private List<Object> mListData;
+    private List<MyOrderListBean> mListData;
 
-    public PopupMyOrderAdapter(Context context, List<Object> listData) {
+    public PopupMyOrderAdapter(Context context, List<MyOrderListBean> listData) {
         mContext = context;
         mLayoutInflater = LayoutInflater.from(context);
         mListData = listData;
@@ -37,7 +39,15 @@ public class PopupMyOrderAdapter extends RecyclerView.Adapter<MyOtderItemHolder>
 
     @Override
     public void onBindViewHolder(@NonNull MyOtderItemHolder holder, int position) {
-        holder.mOrderTime.setText(mListData.get(position).toString());
+        holder.mOrderTime.setText(String.valueOf(TimeUtil.timeStamp2Date(Long.valueOf(mListData.get(position).getGmtCreated()), null)));
+        if (mListData.get(position).getPayStatus().equals("SUCCESS")) {
+            holder.mOrderStatus.setText("支付成功");
+        } else {
+            holder.mOrderStatus.setText(mListData.get(position).getPayStatus());
+        }
+
+        holder.mOrderName.setText(mListData.get(position).getTitle());
+        holder.mOrderPayMoney.setText("实际支付金额:¥" + (mListData.get(position).getPrice() / 100f));
     }
 
     @Override
@@ -45,6 +55,7 @@ public class PopupMyOrderAdapter extends RecyclerView.Adapter<MyOtderItemHolder>
         return mListData.size();
     }
 
+
     @Override
     public int getItemViewType(int position) {
         return position;

+ 3 - 3
app/src/main/java/com/edufound/reader/application/EApplication.java

@@ -233,9 +233,9 @@ public class EApplication extends Application {
                 e.printStackTrace();
                 //黑屏时建议直接杀死app
                 sysExcepHandler.uncaughtException(thread, new RuntimeException("black screen"));
-                mActivityList.forEach((item) -> {
-                    item.finish();
-                });
+                for (int i = 0; i < mActivityList.size(); i++) {
+                    mActivityList.get(i).finish();
+                }
                 killAppProcess(Consts.getmApplicAtion());
             }
 

+ 113 - 0
app/src/main/java/com/edufound/reader/bean/MyOrderListBean.java

@@ -0,0 +1,113 @@
+package com.edufound.reader.bean;
+
+public class MyOrderListBean {
+    private int addDays;
+    private String channel;
+    private long gmtCreated;
+    private long gmtModified;
+    private String helpUid;
+    private String orderId;
+    private String payStatus;
+    private int price;
+    private int productId;
+    private String thirdPartOrderId;
+    private String title;
+    private String uid;
+
+
+    public int getAddDays() {
+        return addDays;
+    }
+
+    public void setAddDays(int addDays) {
+        this.addDays = addDays;
+    }
+
+    public String getChannel() {
+        return channel;
+    }
+
+    public void setChannel(String channel) {
+        this.channel = channel;
+    }
+
+    public long getGmtCreated() {
+        return gmtCreated;
+    }
+
+    public void setGmtCreated(long gmtCreated) {
+        this.gmtCreated = gmtCreated;
+    }
+
+    public long getGmtModified() {
+        return gmtModified;
+    }
+
+    public void setGmtModified(long gmtModified) {
+        this.gmtModified = gmtModified;
+    }
+
+    public String getHelpUid() {
+        return helpUid;
+    }
+
+    public void setHelpUid(String helpUid) {
+        this.helpUid = helpUid;
+    }
+
+    public String getOrderId() {
+        return orderId;
+    }
+
+    public void setOrderId(String orderId) {
+        this.orderId = orderId;
+    }
+
+    public String getPayStatus() {
+        return payStatus;
+    }
+
+    public void setPayStatus(String payStatus) {
+        this.payStatus = payStatus;
+    }
+
+    public int getPrice() {
+        return price;
+    }
+
+    public void setPrice(int price) {
+        this.price = price;
+    }
+
+    public int getProductId() {
+        return productId;
+    }
+
+    public void setProductId(int productId) {
+        this.productId = productId;
+    }
+
+    public String getThirdPartOrderId() {
+        return thirdPartOrderId;
+    }
+
+    public void setThirdPartOrderId(String thirdPartOrderId) {
+        this.thirdPartOrderId = thirdPartOrderId;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getUid() {
+        return uid;
+    }
+
+    public void setUid(String uid) {
+        this.uid = uid;
+    }
+}

+ 10 - 0
app/src/main/java/com/edufound/reader/bean/PayResultBean.java

@@ -29,6 +29,16 @@ public class PayResultBean {
 
     private String thirdPartOrderId;
 
+    public String getPayStatus() {
+        return payStatus;
+    }
+
+    public void setPayStatus(String payStatus) {
+        this.payStatus = payStatus;
+    }
+
+    private String payStatus;
+
     public String getProductId() {
         return productId;
     }

+ 33 - 33
app/src/main/java/com/edufound/reader/botsdk/BotRegisterListener.java

@@ -123,37 +123,37 @@ public class BotRegisterListener {
 
     }
 
-    /**
-     * 产生一个固定的金额信息
-     *
-     * @return amountinfo
-     */
-    public static AmountInfo mockAmountInfo(String price) {
-        AmountInfo amountInfo = new AmountInfo();
-        amountInfo.amount = price;
-        amountInfo.currencyCode = "CNY";
-        return amountInfo;
-    }
-
-    /**
-     * 构造卖家订单信息
-     *
-     * @return
-     */
-    public static SellerOrderStructure mockSellerOlrderStructure(String productId, String description, String sellerOrderId, String productName) {
-        SellerOrderStructure sellerOrderStructure = new SellerOrderStructure();
-//        sellerOrderStructure.productId = "111" + System.currentTimeMillis();
-//        sellerOrderStructure.description = "测试商品介绍";
-//        sellerOrderStructure.sellerOrderId = "222" + System.currentTimeMillis();
-//        sellerOrderStructure.productName = "测试商品名称";
-        sellerOrderStructure.productId = productId;
-        sellerOrderStructure.description = description;
-        sellerOrderStructure.sellerOrderId = sellerOrderId;
-        sellerOrderStructure.productName = productName;
-        return sellerOrderStructure;
-    }
-
-    public static void requestBuyProduct() {
-        RequestBotSdkUtil.requestBuyProduct("123123123123", "191025095313376709");
-    }
+//    /**
+//     * 产生一个固定的金额信息
+//     *
+//     * @return amountinfo
+//     */
+//    public static AmountInfo mockAmountInfo(String price) {
+//        AmountInfo amountInfo = new AmountInfo();
+//        amountInfo.amount = price;
+//        amountInfo.currencyCode = "CNY";
+//        return amountInfo;
+//    }
+//
+//    /**
+//     * 构造卖家订单信息
+//     *
+//     * @return
+//     */
+//    public static SellerOrderStructure mockSellerOlrderStructure(String productId, String description, String sellerOrderId, String productName) {
+//        SellerOrderStructure sellerOrderStructure = new SellerOrderStructure();
+////        sellerOrderStructure.productId = "111" + System.currentTimeMillis();
+////        sellerOrderStructure.description = "测试商品介绍";
+////        sellerOrderStructure.sellerOrderId = "222" + System.currentTimeMillis();
+////        sellerOrderStructure.productName = "测试商品名称";
+//        sellerOrderStructure.productId = productId;
+//        sellerOrderStructure.description = description;
+//        sellerOrderStructure.sellerOrderId = sellerOrderId;
+//        sellerOrderStructure.productName = productName;
+//        return sellerOrderStructure;
+//    }
+//
+//    public static void requestBuyProduct() {
+//        RequestBotSdkUtil.requestBuyProduct("123123123123", "191025095313376709");
+//    }
 }

+ 13 - 0
app/src/main/java/com/edufound/reader/contract/PayContract.java

@@ -1,24 +1,37 @@
 package com.edufound.reader.contract;
 
+import android.app.Activity;
 import android.widget.LinearLayout;
 
 import com.edufound.reader.base.BaseView;
+import com.okhttplib.callback.Callback;
 
 import io.reactivex.rxjava3.functions.Consumer;
 
 public interface PayContract {
     interface Model {
+        void isPay(Activity activity, String orderId, Callback callback);
+
+        void getPayQRCode(Activity activity, String productId, Callback callback);
     }
 
     interface View extends BaseView {
         void getProductSuccess();
 
         void addUiClick(android.view.View view, Consumer onNext);
+
+        void isPaySuccess();
+
+        void setQRCode(String path);
     }
 
     interface Presenter {
         void getProductInfo();
 
+        void activityDestory();
+
         void initPayItem(LinearLayout itemFrame);
+
+        void isPaySuccess();
     }
 }

+ 4 - 1
app/src/main/java/com/edufound/reader/fragment/MyTabFragment.java

@@ -22,6 +22,7 @@ import com.edufound.reader.activity.MyFollowActivity;
 import com.edufound.reader.activity.SafflowerActivity;
 import com.edufound.reader.activity.UserInfoSettingActivity;
 import com.edufound.reader.base.BaseMvpFragment;
+import com.edufound.reader.bean.ChannelCodeEnum;
 import com.edufound.reader.bean.MyInfoBean;
 import com.edufound.reader.bean.UserEventEnum;
 import com.edufound.reader.contract.MyTabFragmentContract;
@@ -102,7 +103,9 @@ public class MyTabFragment extends BaseMvpFragment<MyTabFragmentPresenter> imple
         mPresenter.getMyInfo();
 
 //        mPresenter.getIsBuy();
-//        mPresenter.getAuth();
+        if (Consts.getUmengChannel().equals(ChannelCodeEnum.YIFANG.getChannelCode())) {
+            mPresenter.getAuth();
+        }
 
 
     }

+ 17 - 0
app/src/main/java/com/edufound/reader/model/PayModel.java

@@ -1,6 +1,23 @@
 package com.edufound.reader.model;
 
+import android.app.Activity;
+
 import com.edufound.reader.contract.PayContract;
+import com.edufound.reader.util.Consts;
+import com.edufound.reader.util.OkHttpClient;
+import com.okhttplib.HttpInfo;
+import com.okhttplib.callback.Callback;
 
 public class PayModel implements PayContract.Model {
+    private final String API = Consts.getFinalApi();
+
+    @Override
+    public void isPay(Activity activity, String orderId, Callback callback) {
+        OkHttpClient.doGetAsync(activity, new HttpInfo.Builder().setUrl(API + "/order/info/" + orderId), callback);
+    }
+
+    @Override
+    public void getPayQRCode(Activity activity, String productId, Callback callback) {
+        OkHttpClient.doGetAsync(activity, new HttpInfo.Builder().setUrl(API + "/pay/efun/qrCode").addParam("channel", Consts.getUmengChannel()).addParam("productId", productId), callback);
+    }
 }

+ 3 - 1
app/src/main/java/com/edufound/reader/popwindow/PopWindowUtil.java

@@ -189,6 +189,7 @@ public class PopWindowUtil {
         FrameLayout exit = dialog_view.findViewById(R.id.popupwindow_exit_login_ok);
         FrameLayout cancel = dialog_view.findViewById(R.id.popupwindow_exit_login_cancel);
         setClickListener(exit, o -> {
+            mPopupWindow.dismiss();
             listener.clickSubmit(null);
         });
         setClickListener(cancel, o -> {
@@ -210,6 +211,7 @@ public class PopWindowUtil {
         FrameLayout exit = dialog_view.findViewById(R.id.popupwindow_cancellation_account_ok);
         FrameLayout cancel = dialog_view.findViewById(R.id.popupwindow_cancellation_account_cancel);
         setClickListener(exit, o -> {
+            mPopupWindow.dismiss();
             listener.clickSubmit(null);
         });
         setClickListener(cancel, o -> {
@@ -274,7 +276,7 @@ public class PopWindowUtil {
     }
 
 
-    public static void showMyOrderWindow(Context context, View parent) {
+    public static void showMyOrderWindow(Activity context, View parent) {
         initPresenter();
         if (checkWindowShoing()) {
             return;

+ 4 - 4
app/src/main/java/com/edufound/reader/presenter/LoginAlertPresenter.java

@@ -139,7 +139,7 @@ public class LoginAlertPresenter extends BasePresenter<LoginAlertContract.View>
                     Toast.makeText(mView.getActivity(), "请勾选用户隐私政策和服务协议", Toast.LENGTH_SHORT).show();
                     return;
                 }
-                if (Integer.valueOf(inputVCode) == getVCode || Integer.valueOf(inputVCode) == 9999) {
+//                if (Integer.valueOf(inputVCode) == getVCode || Integer.valueOf(inputVCode) == 9999) {
                     //输入的和返回的是一样的
                     //请求接口,根据phoneNum,Integer.valueOf(inputVCode)
                     Map<String, String> params = new HashMap<>();
@@ -176,9 +176,9 @@ public class LoginAlertPresenter extends BasePresenter<LoginAlertContract.View>
                         }
                     });
 
-                } else {
-                    Toast.makeText(mView.getActivity(), "验证码输入错误", Toast.LENGTH_SHORT).show();
-                }
+//                } else {
+//                    Toast.makeText(mView.getActivity(), "验证码输入错误", Toast.LENGTH_SHORT).show();
+//                }
             }
 
 

+ 41 - 32
app/src/main/java/com/edufound/reader/presenter/MainPresenter.java

@@ -38,6 +38,9 @@ import com.okhttplib.HttpInfo;
 import com.okhttplib.callback.Callback;
 import com.orhanobut.logger.Logger;
 
+import org.json.JSONException;
+import org.json.JSONObject;
+
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.Map;
@@ -176,42 +179,48 @@ public class MainPresenter extends BasePresenter<MainContract.View> implements M
         mUserApi.isLogin(mView.getActivity(), DeviceUuidFactory.getUuid(), new Callback() {
             @Override
             public void onSuccess(HttpInfo info) throws IOException {
-                HttpResultBean<UserBean> bean = info.getRetDetail(new TypeToken<HttpResultBean<UserBean>>() {
-                }.getType());
-                Logger.e("info.get:" + info.getRetDetail());
-                if (bean.getCode().equals("300")) {
-                    //没有用户数据
-                    if (TextUtils.isEmpty(MMKVUtil.getInstance().decodeString(MMKVEncodeKey.USER_GRADE))) {
-                        //没有选择过年纪,选择年纪
-                        Logger.e("TextUtils.isEmpty(MMKVUtil.getInstance().decodeString(MMKVEncodeKey.USER_GRADE)");
-                        showSelectGradeWindow();
-                    } else {
-                        Logger.e("TextUtils.isEmpty(MMKVUtil.getInstance().decodeString(MMKVEncodeKey.USER_GRADE)--else");
-                        //选择过年纪。无处理
-                    }
+                try {
+                    JSONObject object = new JSONObject(info.getRetDetail());
+                    if (object.getString("code").equals("300") || object.getInt("code") == 300) {
+                        //没有用户数据
+                        if (TextUtils.isEmpty(MMKVUtil.getInstance().decodeString(MMKVEncodeKey.USER_GRADE))) {
+                            //没有选择过年纪,选择年纪
+                            Logger.e("TextUtils.isEmpty(MMKVUtil.getInstance().decodeString(MMKVEncodeKey.USER_GRADE)");
+                            showSelectGradeWindow();
+                        } else {
+                            Logger.e("TextUtils.isEmpty(MMKVUtil.getInstance().decodeString(MMKVEncodeKey.USER_GRADE)--else");
+                            //选择过年纪。无处理
+                        }
 //                    registerMobile("18655365222");
-                    mView.setCheckIndex();
-                } else {
-                    Consts.setUID(bean.getData().getUid());
-                    //用户是否登录,登录了,创建Consts的userbean
-                    Consts.setmConstsUserBean(bean.getData());
-                    mView.setCheckIndex();
-                    mUserApi.loginSign(mView.getActivity(), new Callback() {
-                        @Override
-                        public void onSuccess(HttpInfo info) throws IOException {
-                            HttpResultBean<SignBean> bean = info.getRetDetail(new TypeToken<HttpResultBean<SignBean>>() {
-                            }.getType());
-                            if (bean.getData().getIsSign()) {
-                                CusToast.getInstance(mView.getActivity()).show("恭喜签到成功\n奖励" + bean.getData().getCount() + "朵小红花", 2000);
+                        mView.setCheckIndex();
+                    } else {
+                        HttpResultBean<UserBean> bean = info.getRetDetail(new TypeToken<HttpResultBean<UserBean>>() {
+                        }.getType());
+                        Logger.e("info.get:" + info.getRetDetail());
+                        Consts.setUID(bean.getData().getUid());
+                        //用户是否登录,登录了,创建Consts的userbean
+                        Consts.setmConstsUserBean(bean.getData());
+                        mView.setCheckIndex();
+                        mUserApi.loginSign(mView.getActivity(), new Callback() {
+                            @Override
+                            public void onSuccess(HttpInfo info) throws IOException {
+                                HttpResultBean<SignBean> bean = info.getRetDetail(new TypeToken<HttpResultBean<SignBean>>() {
+                                }.getType());
+                                if (bean.getData().getIsSign()) {
+                                    CusToast.getInstance(mView.getActivity()).show("恭喜签到成功\n奖励" + bean.getData().getCount() + "朵小红花", 2000);
+                                }
                             }
-                        }
 
-                        @Override
-                        public void onFailure(HttpInfo info) throws IOException {
-
-                        }
-                    });
+                            @Override
+                            public void onFailure(HttpInfo info) throws IOException {
+                                Logger.e("info:" + info.getRetDetail());
+                            }
+                        });
+                    }
+                } catch (JSONException e) {
+                    e.printStackTrace();
                 }
+
             }
 
             @Override

+ 2 - 0
app/src/main/java/com/edufound/reader/presenter/MessagePresenter.java

@@ -157,3 +157,5 @@ public class MessagePresenter extends BasePresenter<MessageContract.View> implem
         }
     }
 }
+
+

+ 3 - 3
app/src/main/java/com/edufound/reader/presenter/MyCollectionPresenter.java

@@ -194,11 +194,11 @@ public class MyCollectionPresenter extends BasePresenter<MyCollectionContract.Vi
     @Override
     public void activityOnResume() {
         if (mRemovMap != null && mRemovMap.size() > 0) {
-            mRemovMap.forEach((key, value) -> {
+            for (Map.Entry<String, Integer> item : mRemovMap.entrySet()) {
                 if (myCollectionItemAdapter != null) {
-                    myCollectionItemAdapter.removeByPosition(value);
+                    myCollectionItemAdapter.removeByPosition(item.getValue());
                 }
-            });
+            }
             mRemovMap = new HashMap<>();
         }
     }

+ 5 - 2
app/src/main/java/com/edufound/reader/presenter/MyTabFragmentPresenter.java

@@ -305,7 +305,9 @@ public class MyTabFragmentPresenter extends BasePresenter<MyTabFragmentContract.
 
             @Override
             public void onFailure(HttpInfo info) throws IOException {
-
+                if (info.getRetCode() == 6) {
+                    getMyInfo();
+                }
             }
         });
     }
@@ -339,7 +341,8 @@ public class MyTabFragmentPresenter extends BasePresenter<MyTabFragmentContract.
             public void onSuccess(HttpInfo info) throws IOException {
                 HttpResultBean<String> bean = info.getRetDetail(new TypeToken<HttpResultBean<String>>() {
                 }.getType());
-                mView.getIsBuySuccess(bean.getData());
+                Logger.e("bean.getData():" + bean.getData());
+                mView.getIsBuySuccess(TimeUtil.timeStamp2Date(Long.valueOf(bean.getData()), "yyyy-MM-dd"));
             }
 
             @Override

+ 8 - 6
app/src/main/java/com/edufound/reader/presenter/OthersRecordPresenter.java

@@ -186,16 +186,12 @@ public class OthersRecordPresenter extends BasePresenter<OthersRecordContract.Vi
                 if (bean.getData().getStatus().equals("NORMAL")) {
                     //已关注状态
                     mView.doFollowSuccess(true);
-                    mDataList.forEach((item) -> {
-                        item.setFans(true);
 
-                    });
+                    setFans(true);
                 } else if (bean.getData().getStatus().equals("DEL")) {
                     //未关注状态
                     mView.doFollowSuccess(false);
-                    mDataList.forEach((item) -> {
-                        item.setFans(false);
-                    });
+                    setFans(false);
                 }
                 getOtherUserInfo(uid);
             }
@@ -206,6 +202,12 @@ public class OthersRecordPresenter extends BasePresenter<OthersRecordContract.Vi
         });
     }
 
+    public void setFans(boolean fans) {
+        for (int i = 0; i < mDataList.size(); i++) {
+            mDataList.get(i).setFans(fans);
+        }
+    }
+
     @Override
     public void sendBackReceiver(String action) {
         Intent intent = new Intent(action);

+ 91 - 14
app/src/main/java/com/edufound/reader/presenter/PayPresenter.java

@@ -21,6 +21,8 @@ import com.edufound.reader.botsdk.BotRegisterListener;
 import com.edufound.reader.contract.PayContract;
 import com.edufound.reader.model.PayModel;
 import com.edufound.reader.util.Consts;
+import com.edufound.reader.util.QRCodeUtil;
+import com.edufound.reader.util.SizeUtils;
 import com.google.gson.reflect.TypeToken;
 import com.okhttplib.HttpInfo;
 import com.okhttplib.callback.Callback;
@@ -40,6 +42,7 @@ public class PayPresenter extends BasePresenter<PayContract.View> implements Pay
     OrderApiServerImpl mOrderApi;
     List<PayResultBean> mPayResult;
     Map<String, String> createOrderMap;
+    String nowOrderId = null;
 
     public PayPresenter() {
         this.mModel = new PayModel();
@@ -65,6 +68,15 @@ public class PayPresenter extends BasePresenter<PayContract.View> implements Pay
     }
 
     @Override
+    public void activityDestory() {
+        if (handler != null) {
+            handler.removeMessages(1);
+            handler.removeMessages(2);
+            handler = null;
+        }
+    }
+
+    @Override
     public void initPayItem(LinearLayout itemFrame) {
         Logger.e("initPayItem");
         for (int i = 0; i < mPayResult.size(); i++) {
@@ -77,6 +89,30 @@ public class PayPresenter extends BasePresenter<PayContract.View> implements Pay
 
     }
 
+    @Override
+    public void isPaySuccess() {
+        mModel.isPay(mView.getActivity(), nowOrderId, new Callback() {
+            @Override
+            public void onSuccess(HttpInfo info) throws IOException {
+                HttpResultBean<PayResultBean> bean = info.getRetDetail(new TypeToken<HttpResultBean<PayResultBean>>() {
+                }.getType());
+                Logger.e("bean.get:" + info.getRetDetail());
+                Logger.e("status:" + bean.getData().getPayStatus());
+                if (bean.getData().getPayStatus().equals("SUCCESS")) {
+                    handler.removeMessages(2);
+                } else {
+                    handler.sendEmptyMessageDelayed(2, 3000);
+                }
+
+            }
+
+            @Override
+            public void onFailure(HttpInfo info) throws IOException {
+
+            }
+        });
+    }
+
     void initItem(LinearLayout itemFrame, int position) {
         View view = LayoutInflater.from(mView.getActivity()).inflate(R.layout.activity_pay_item, null);
         view.setLayoutParams(new LinearLayout.LayoutParams(ActionBar.LayoutParams.MATCH_PARENT, 0, 1));
@@ -86,7 +122,7 @@ public class PayPresenter extends BasePresenter<PayContract.View> implements Pay
         holder.mIsCheck.setVisibility(View.INVISIBLE);
         double a = (Double.parseDouble(mPayResult.get(position).getOriginPrice()) / 100);
         double b = (Double.parseDouble(mPayResult.get(position).getPrice()) / 100);
-        holder.mContent.setText("原价:" + a + ",现价:" + b);
+        holder.mContent.setText("原价:" + a + ",现价:" + b + "元");
         if (mPayResult.get(position).getPayType().equals("YEAR")) {
             holder.mConstraintLayoutBg.setBackgroundColor(Color.parseColor("#FF904E"));
         } else if (mPayResult.get(position).getPayType().equals("MONTH")) {
@@ -103,22 +139,14 @@ public class PayPresenter extends BasePresenter<PayContract.View> implements Pay
             ((PayItemHolder) view.getTag()).mIsCheck.setVisibility(View.VISIBLE);
             Logger.e("选择了...." + ((PayItemHolder) view.getTag()).mPayMoney.getText().toString());
 
-            if (createOrderMap == null) {
-                createOrderMap = new HashMap<>();
-            }
-            createOrderMap.put("channel", Consts.getUmengChannel());
-            createOrderMap.put("productId", mPayResult.get(position).getId());
-            createOrderMap.put("first", "false");
-            mOrderApi.createdOrder(mView.getActivity(), ((BaseActivity) mView.getActivity()).getGson().toJson(createOrderMap), new Callback() {
+            mModel.getPayQRCode(mView.getActivity(), mPayResult.get(position).getId(), new Callback() {
                 @Override
                 public void onSuccess(HttpInfo info) throws IOException {
-                    HttpResultBean<PayResultBean> bean = info.getRetDetail(new TypeToken<HttpResultBean<PayResultBean>>() {
+                    Logger.e("info.getD:" + info.getRetDetail());
+                    handler.removeMessages(2);
+                    HttpResultBean<String> bean = info.getRetDetail(new TypeToken<HttpResultBean<String>>() {
                     }.getType());
-
-//                    BotSdk.getInstance().requireCharge(BotRegisterListener.mockAmountInfo(String.valueOf(Double.parseDouble(bean.getData().getPrice()) / 100)),
-//                            BotRegisterListener.mockSellerOlrderStructure(bean.getData().getProductId(), "123123123", bean.getData().getOrderId(), bean.getData().getTitle()),
-//                            bean.getData().getTitle());
-                    BotRegisterListener.requestBuyProduct();
+                    mView.setQRCode(bean.getData().toString());
                 }
 
                 @Override
@@ -126,9 +154,55 @@ public class PayPresenter extends BasePresenter<PayContract.View> implements Pay
 
                 }
             });
+//            if (createOrderMap == null) {
+//                createOrderMap = new HashMap<>();
+//            }
+//            createOrderMap.put("channel", Consts.getUmengChannel());
+//            createOrderMap.put("productId", mPayResult.get(position).getId());
+//            createOrderMap.put("first", "false");
+//            mOrderApi.createdOrder(mView.getActivity(), ((BaseActivity) mView.getActivity()).getGson().toJson(createOrderMap), new Callback() {
+//                @Override
+//                public void onSuccess(HttpInfo info) throws IOException {
+//                    HttpResultBean<PayResultBean> bean = info.getRetDetail(new TypeToken<HttpResultBean<PayResultBean>>() {
+//                    }.getType());
+//
+//////                    BotSdk.getInstance().requireCharge(BotRegisterListener.mockAmountInfo(String.valueOf(Double.parseDouble(bean.getData().getPrice()) / 100)),
+//////                            BotRegisterListener.mockSellerOlrderStructure(bean.getData().getProductId(), "123123123", bean.getData().getOrderId(), bean.getData().getTitle()),
+//////                            bean.getData().getTitle());
+////                    BotRegisterListener.requestBuyProduct();
+//                    mModel.getPayQRCode(mView.getActivity(), bean.getData().getProductId(), bean.getData().getOrderId(), new Callback() {
+//                        @Override
+//                        public void onSuccess(HttpInfo info) throws IOException {
+//                            Logger.e("info.getD:" + info.getRetDetail());
+//                            handler.removeMessages(2);
+//                            HttpResultBean<String> bean = info.getRetDetail(new TypeToken<HttpResultBean<String>>() {
+//                            }.getType());
+//                            mView.setQRCode(bean.getData().toString());
+//                            isPaySuccess();
+//                        }
+//
+//                        @Override
+//                        public void onFailure(HttpInfo info) throws IOException {
+//
+//                        }
+//                    });
+//                    nowOrderId = bean.getData().getOrderId();
+//
+//                }
+//
+//                @Override
+//                public void onFailure(HttpInfo info) throws IOException {
+//
+//                }
+//            });
 
         });
         itemFrame.addView(view);
+        if (position >= mPayResult.size() - 1) {
+            Logger.e("position:" + position);
+            Logger.e("mPayResult.size():" + mPayResult.size());
+            itemFrame.getChildAt(0).performClick();
+        }
     }
 
     Handler handler = new Handler(new Handler.Callback() {
@@ -138,6 +212,9 @@ public class PayPresenter extends BasePresenter<PayContract.View> implements Pay
                 case 1:
                     initItem(((LinearLayout) message.obj), message.arg1);
                     break;
+                case 2:
+                    isPaySuccess();
+                    break;
             }
             return false;
         }

+ 63 - 19
app/src/main/java/com/edufound/reader/presenter/PopWindowPresneter.java

@@ -3,6 +3,7 @@ package com.edufound.reader.presenter;
 import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
+import android.graphics.Rect;
 import android.os.Handler;
 import android.os.Message;
 import android.view.View;
@@ -18,7 +19,9 @@ import com.edufound.reader.adapter.PopupMyOrderAdapter;
 import com.edufound.reader.apiserver.UserApiServerImpl;
 import com.edufound.reader.application.EApplication;
 import com.edufound.reader.bean.HttpResultBean;
+import com.edufound.reader.bean.HttpResultDataListBean;
 import com.edufound.reader.bean.MyInfoBean;
+import com.edufound.reader.bean.MyOrderListBean;
 import com.edufound.reader.bean.RecordResultBean;
 import com.edufound.reader.bean.UserEventEnum;
 import com.edufound.reader.bean.UserRecordBean;
@@ -26,6 +29,7 @@ import com.edufound.reader.listener.PopupRecordStatusListener;
 import com.edufound.reader.model.PopWindowModelImpl;
 import com.edufound.reader.popwindow.PopWindowUtil;
 import com.edufound.reader.util.Consts;
+import com.edufound.reader.util.OkHttpClient;
 import com.edufound.reader.util.QRCodeUtil;
 import com.edufound.reader.util.SizeUtils;
 import com.google.gson.Gson;
@@ -296,31 +300,45 @@ public class PopWindowPresneter {
     }
 
 
-    public void myOrderWindowInit(Context context, View view) {
-        List<Object> mDataList = new ArrayList<>();
+    public void myOrderWindowInit(Activity context, View view) {
 //        for (int i = 0; i < 30; i++) {
 //            mDataList.add("i=" + i);
 //        }
-        if (mDataList != null && mDataList.size() > 0) {
-            RecyclerView rv = view.findViewById(R.id.popupwindow_myorder_recyclerview);
-            PopupMyOrderAdapter popupMyOrderAdapter = new PopupMyOrderAdapter(context, mDataList);
-            LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context);
-            linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
-            rv.setLayoutManager(linearLayoutManager);
-            rv.addOnChildAttachStateChangeListener(new RecyclerView.OnChildAttachStateChangeListener() {
-                @Override
-                public void onChildViewAttachedToWindow(@androidx.annotation.NonNull View view) {
-                }
 
-                @Override
-                public void onChildViewDetachedFromWindow(@androidx.annotation.NonNull View view) {
+        OkHttpClient.doGetAsync(context, new HttpInfo.Builder().setUrl(Consts.getFinalApi() + "/order"), new Callback() {
+            @Override
+            public void onSuccess(HttpInfo info) throws IOException {
+                Logger.e("info:" + info.getRetDetail());
+                HttpResultBean<List<MyOrderListBean>> bean = info.getRetDetail(new TypeToken<HttpResultBean<List<MyOrderListBean>>>() {
+                }.getType());
+                Logger.e("bean:" + bean);
+                if (bean.getData() != null && bean.getData().size() > 0) {
+                    RecyclerView rv = view.findViewById(R.id.popupwindow_myorder_recyclerview);
+                    PopupMyOrderAdapter popupMyOrderAdapter = new PopupMyOrderAdapter(context, bean.getData());
+                    rv.addItemDecoration(new OrderSpacesItemDecoration(SizeUtils.dp2px(context, 10), bean.getData().size()));
+                    rv.setLayoutManager(new LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false));
+                    rv.addOnChildAttachStateChangeListener(new RecyclerView.OnChildAttachStateChangeListener() {
+                        @Override
+                        public void onChildViewAttachedToWindow(@androidx.annotation.NonNull View view) {
+                        }
+
+                        @Override
+                        public void onChildViewDetachedFromWindow(@androidx.annotation.NonNull View view) {
 
+                        }
+                    });
+                    rv.setAdapter(popupMyOrderAdapter);
+                } else {
+                    view.findViewById(R.id.popupwindow_myorder_noitem).setVisibility(View.VISIBLE);
                 }
-            });
-            rv.setAdapter(popupMyOrderAdapter);
-        } else {
-            view.findViewById(R.id.popupwindow_myorder_noitem).setVisibility(View.VISIBLE);
-        }
+            }
+
+            @Override
+            public void onFailure(HttpInfo info) throws IOException {
+
+            }
+        });
+
     }
 
 
@@ -391,3 +409,29 @@ public class PopWindowPresneter {
         }
     });
 }
+
+class OrderSpacesItemDecoration extends RecyclerView.ItemDecoration {
+    private int space;
+    private int maxCount;
+
+    public OrderSpacesItemDecoration(int space, int max) {
+        this.space = space;
+        this.maxCount = max;
+    }
+
+    @Override
+    public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
+        int position = parent.getChildAdapterPosition(view);
+        Logger.e("position:" + position);
+        Logger.e("parent:" + parent.getChildCount());
+        if (position < 1) {
+            outRect.top = space * 10;
+            outRect.bottom = space;
+        } else {
+            outRect.bottom = space;
+        }
+        if (position == maxCount - 1) {
+            outRect.bottom = space * 10;
+        }
+    }
+}

+ 14 - 7
app/src/main/java/com/edufound/reader/presenter/SafflowerPresenter.java

@@ -44,7 +44,6 @@ public class SafflowerPresenter extends BasePresenter<SafflowerContract.View> im
     List<SignInfoBean.SignInfoItemBean> mSignList;
     SafflowerItemAdapter mSafflowerItemAdapter;
     UserApiServerImpl userApi;
-    List<String> mDesList;
 
     public SafflowerPresenter() {
         mModel = new SafflowerModel();
@@ -54,6 +53,8 @@ public class SafflowerPresenter extends BasePresenter<SafflowerContract.View> im
 
     }
 
+    List<String> mDesList;
+
     @Override
     public void initSignLayout(LinearLayout layout) {
         layout.removeAllViews();
@@ -166,11 +167,11 @@ public class SafflowerPresenter extends BasePresenter<SafflowerContract.View> im
         LayoutInflater inflater = LayoutInflater.from(mView.getActivity());
         if (mDesList.size() > 0) {
             layout.removeAllViews();
-            mDesList.forEach((item) -> {
+            for (int i = 0; i < mDesList.size(); i++) {
                 LinearLayout itemlayout = (LinearLayout) inflater.inflate(R.layout.activity_saffloer_window_item, null);
-                ((TextView) itemlayout.findViewById(R.id.activity_saffloer_window_item_text)).setText(item);
+                ((TextView) itemlayout.findViewById(R.id.activity_saffloer_window_item_text)).setText(mDesList.get(i));
                 layout.addView(itemlayout);
-            });
+            }
         }
 
     }
@@ -201,9 +202,15 @@ public class SafflowerPresenter extends BasePresenter<SafflowerContract.View> im
                     if (mDesList.size() > 0) {
                         return true;
                     }
-                    mDataList.forEach((item) -> {
-                        mDesList.add(item.getTask().getTitle() + ",奖励" + item.getTask().getSort() + "朵小红花," + "每日上限" + item.getTask().getJoinAmount() + "次。");
-                    });
+                    if (mDataList == null) {
+                        return true;
+                    }
+                    for (int i = 0; i < mDataList.size(); i++) {
+                        mDesList.add(mDataList.get(i).getTask().getTitle() + ",奖励" + mDataList.get(i).getTask().getSort() + "朵小红花," + "每日上限" + mDataList.get(i).getTask().getJoinAmount() + "次。");
+                    }
+//                    mDataList.forEach((item) -> {
+//
+//                    });
                     break;
             }
             return false;

+ 4 - 0
app/src/main/java/com/edufound/reader/presenter/UserInfoSettingPresenter.java

@@ -95,6 +95,8 @@ public class UserInfoSettingPresenter extends BasePresenter<UserInfoSettingContr
         mUserApi.userLoginOut(mView.getActivity(), new Callback() {
             @Override
             public void onSuccess(HttpInfo info) throws IOException {
+                Consts.setmConstsUserBean(null);
+                Consts.setUID(Consts.getDefaultUid());
                 mView.loginOutSuccess();
             }
 
@@ -165,6 +167,8 @@ public class UserInfoSettingPresenter extends BasePresenter<UserInfoSettingContr
             @Override
             public void onSuccess(HttpInfo info) throws IOException {
                 Logger.e("注销成功:" + info.getRetDetail());
+                Consts.setmConstsUserBean(null);
+                Consts.setUID(Consts.getDefaultUid());
                 mView.loginOutSuccess();
             }
 

+ 11 - 0
app/src/main/java/com/edufound/reader/util/Consts.java

@@ -31,6 +31,9 @@ public class Consts {
     private static String UID = "";
 
 
+    private static String defaultUid = "test";
+
+
     private static String recordUpLoadFileUrl = "";
 
     private static File mRecordSaveFile = null;
@@ -71,6 +74,14 @@ public class Consts {
         Consts.UID = UID;
     }
 
+    public static String getDefaultUid() {
+        return defaultUid;
+    }
+
+    public static void setDefaultUid(String defaultUid) {
+        Consts.defaultUid = defaultUid;
+    }
+
     public static Application getmApplicAtion() {
         return mApplicAtion;
     }

+ 1 - 1
app/src/main/java/com/edufound/reader/util/EfunboxUtil.java

@@ -124,7 +124,7 @@ public class EfunboxUtil {
 
 
     public static boolean checkLogin(Context context) {
-        if (!Consts.getUID().equals("test")) {
+        if (!Consts.getUID().equals(Consts.getDefaultUid())) {
             //已登录,无论登不登录都调用登录...
             return true;
         }

+ 3 - 1
app/src/main/java/com/edufound/reader/util/OkHttpClient.java

@@ -53,7 +53,9 @@ public class OkHttpClient {
     }
 
     public static void doGetAsync(Activity activity, HttpInfo.Builder info, BaseCallback callback) {
-        if (!info.build().getUrl().contains("posts/list") && !info.build().getUrl().contains("/userRead/check")) {
+        if (!info.build().getUrl().contains("posts/list")
+                && !info.build().getUrl().contains("/userRead/check")
+                && !info.build().getUrl().contains("/order/info/")) {
             Intent intent = new Intent(ShowPageLoadingReceiver.PAGE_LOADING_SHOW);
             Consts.getmApplicAtion().getApplicationContext().sendBroadcast(intent);
         }

BIN
app/src/main/res/drawable/activity_mycollection_no_item.png


+ 4 - 3
app/src/main/res/layout/activity_pay.xml

@@ -89,11 +89,12 @@
                             android:background="@drawable/activity_pay_qrcode_bg">
 
                         <ImageView
-                                android:layout_width="216dp"
-                                android:layout_height="216dp"
+                                android:id="@+id/activity_pay_qrcode"
+                                android:layout_width="256dp"
+                                android:layout_height="256dp"
                                 android:layout_gravity="center"
                                 android:layout_marginBottom="20dp"
-                                android:src="@color/red"></ImageView>
+                                android:scaleType="fitXY"></ImageView>
                     </FrameLayout>
                 </FrameLayout>
             </LinearLayout>

+ 0 - 1
app/src/main/res/layout/adapter_item_popupwindow_myorder.xml

@@ -4,7 +4,6 @@
         android:layout_width="952dp"
         android:layout_height="180dp"
         android:layout_gravity="center"
-        android:layout_marginBottom="40dp"
         android:background="@color/white"
         roundframelayout:radio="20">