Parcourir la source

借着玩功能基本完成,只等后台然后测试

zengjiebin il y a 8 ans
Parent
commit
c4a3447ce3

+ 19 - 0
app/src/main/java/com/kfzs/duanduan/bean/YinkerData.java

@@ -0,0 +1,19 @@
+package com.kfzs.duanduan.bean;
+
+import java.io.Serializable;
+
+/**
+ * Created by realicing on 2018/4/3.
+ * realicing@sina.com
+ */
+public class YinkerData implements Serializable {
+    private String entry_page_url;
+
+    public String getEntry_page_url() {
+        return entry_page_url;
+    }
+
+    public void setEntry_page_url(String entry_page_url) {
+        this.entry_page_url = entry_page_url;
+    }
+}

+ 124 - 1
app/src/main/java/com/kfzs/duanduan/fragment/FgtBorrowPlay.java

@@ -1,10 +1,30 @@
 package com.kfzs.duanduan.fragment;
 
+import android.content.Intent;
 import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.View;
 import android.webkit.WebView;
+import android.widget.TextView;
 
+import com.alibaba.fastjson.JSON;
 import com.kfzs.duanduan.BaseCompatFragment;
+import com.kfzs.duanduan.bean.KFIntentKeys;
+import com.kfzs.duanduan.bean.UserRecord;
+import com.kfzs.duanduan.bean.YinkerData;
+import com.sheep.gamegroup.model.entity.BaseMessage;
+import com.sheep.gamegroup.model.util.SheepSubscriber;
+import com.sheep.gamegroup.util.ActivityManager;
+import com.sheep.gamegroup.util.Jump2View;
+import com.sheep.gamegroup.view.activity.ActGuideDeblocked;
+import com.sheep.jiuyan.samllsheep.BuildConfig;
 import com.sheep.jiuyan.samllsheep.R;
+import com.sheep.jiuyan.samllsheep.SheepApp;
+import com.sheep.jiuyan.samllsheep.utils.G;
+import com.sheep.jiuyan.samllsheep.utils.SpUtils;
+
+import rx.android.schedulers.AndroidSchedulers;
+import rx.schedulers.Schedulers;
 
 /**
  * 借着玩界面
@@ -13,10 +33,113 @@ import com.sheep.jiuyan.samllsheep.R;
  */
 public class FgtBorrowPlay extends BaseCompatFragment{
 
-
+    private TextView fgt_bp_tv;
+    private boolean unbind_phone = true;//没有绑定手机号
+    private UserRecord userRecord;
     @Override
     protected void initView(Bundle savedInstanceState) {
         setContentView(R.layout.fgt_bp);
+        fgt_bp_tv = getViewById(R.id.fgt_bp_tv);
+        fgt_bp_tv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                boolean has_borrow = is(userRecord.getHave_access_state()) && !is(userRecord.getLoan_state());//已经借钱:借过款但是不允许借款
+                if(unbind_phone) {
+                } else if(userRecord == null){
+                    SpUtils.login(SheepApp.mContext,"");
+                    ActivityManager.getInstance().finishAllActivity();
+                    Jump2View.getInstance().goLoginView(SheepApp.mContext, "");
+                } else if(has_borrow){
+                    repay();
+                } else {
+                    borrow();
+                }
+            }
+        });
+        SheepApp.getInstance().getNetComponent().getApiService().userRecord()
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(getContext()) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        userRecord = baseMessage.getData(UserRecord.class);
+                        unbind_phone = false;
+                        boolean can_click = is(userRecord.getLoan_state()) || is(userRecord.getHave_access_state());//允许借款或者借过款就可以点击
+                        boolean has_open = is(userRecord.getHave_access_state());//已经开通:借过款就视为已经开通
+                        boolean has_borrow = is(userRecord.getHave_access_state()) && !is(userRecord.getLoan_state());//已经借钱:借过款但是不允许借款
+                        fgt_bp_tv.setText(getBtText(can_click, has_open, has_borrow));
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        unbind_phone = "请绑定手机号".equals(baseMessage.getMsg());
+                    }
+                });
+    }
+    private String getBtText(boolean can_click,boolean has_open,boolean has_borrow) {
+        if(can_click){
+            if(unbind_phone){//没有绑定手机号
+                return "累计充值500立即开通";
+            } else if(!has_open){//没有开通情况
+                return "立即开通";
+            } else if (has_borrow){//已经借款情况
+                return "立即还款";
+            } else {
+                return "立即借款";
+            }
+        } else {
+            return "累计充值500立即开通";
+        }
+    }
+    private boolean is(int state){//Yes=1,No=2
+        return state == 1;
+    }
+    //还钱
+    private void repay(){
+        SheepApp.getInstance().getNetComponent().getApiService().getYinkerRepaymentUrl()
+                        .subscribeOn(Schedulers.io())
+                        .observeOn(AndroidSchedulers.mainThread())
+                        .subscribe(new SheepSubscriber<BaseMessage>(getContext()) {
+                            @Override
+                            public void onNext(BaseMessage baseMessage) {
+                                gotoUrl(baseMessage);
+                            }
+
+                            @Override
+                            public void onError(BaseMessage baseMessage) {
+                                G.showToast(baseMessage.getMsg());
+                            }
+                        });
+    }
+
+    private void gotoUrl(BaseMessage baseMessage) {
+        YinkerData yinkerData = baseMessage.getData(YinkerData.class);
+        if(yinkerData == null || TextUtils.isEmpty(yinkerData.getEntry_page_url())){
+            G.showToast("服务器错误,请稍后重试");
+        } else {
+            Intent intent = new Intent(getActivity(), ActGuideDeblocked.class);
+            intent.putExtra(KFIntentKeys.EXTRA_WEBVIEW_URL, yinkerData.getEntry_page_url());
+            intent.putExtra(KFIntentKeys.EXTRA_WEBVIEW_TITLE, "借着玩");
+            startActivity(intent);
+        }
+    }
+
+    //借钱
+    private void borrow(){
+        SheepApp.getInstance().getNetComponent().getApiService().getYinkerLoanUrl()
+                .subscribeOn(Schedulers.io())
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(new SheepSubscriber<BaseMessage>(getContext()) {
+                    @Override
+                    public void onNext(BaseMessage baseMessage) {
+                        gotoUrl(baseMessage);
+                    }
+
+                    @Override
+                    public void onError(BaseMessage baseMessage) {
+                        G.showToast(baseMessage.getMsg());
+                    }
+                });
     }
 
 }

+ 2 - 2
app/src/main/java/com/kfzs/duanduan/react/TabsHelper.java

@@ -103,11 +103,11 @@ public class TabsHelper {
            }
        }else if(position == MainTab.FgtMainCategory.getPosition()) {
            top = activity.getResources().getDimensionPixelSize(R.dimen.app_nav_toolbar_height);
-           bottom = activity.getResources().getDimensionPixelSize(R.dimen.tab_height);
+           bottom = activity.getResources().getDimensionPixelSize(R.dimen.bottom_height);
            layout_main_activity_toolbar.setVisibility(View.VISIBLE);
        } else {
             top = 0;
-            bottom = 0;
+            bottom = activity.getResources().getDimensionPixelSize(R.dimen.bottom_height);
             layout_main_activity_toolbar.setVisibility(View.GONE);
         }
         RelativeLayout.LayoutParams layout = (RelativeLayout.LayoutParams) other_container

+ 10 - 4
app/src/main/java/com/sheep/gamegroup/model/api/ApiService.java

@@ -58,7 +58,7 @@ public interface ApiService {
     /**
      * 提交用户的微信账号与密码
      */
-    @POST(V1+"/app/wechat/")
+    @POST(V1+"app/wechat/")
     Observable<BaseMessage> postWebchat(@Body JSONObject jsonObject);
     /**
      * 提交用户的微信账号与密码
@@ -197,7 +197,7 @@ public interface ApiService {
     /**
      * 绑定手机号
      */
-    @PUT(V1 + "//app/user/bind_mobile")
+    @PUT(V1 + "app/user/bind_mobile")
     Observable<BaseMessage> bindPhone(@Body JSONObject jsonObject);
 
     /**
@@ -208,7 +208,7 @@ public interface ApiService {
     /**
      * 发送绑定手机号短信,只传mobile
      */
-    @POST(V1 + "/app/user/sms_for_bind_mobile")
+    @POST(V1 + "app/user/sms_for_bind_mobile")
     Observable<BaseMessage> smsBindMobile(@Body JSONObject jsonObject);
     /**
      * 修改任务进度
@@ -216,8 +216,14 @@ public interface ApiService {
 //    @GET(V1 + "/app/accepted_task/status")
 //    Observable<BaseMessage> taskStatus(@Query("id") int id,@Query("screenshots") String screenshots,
 //        @Query("remark") String remark,@Query("package_name") String package_name,@Query("status") String status);
-    @GET(V1 + "/app/accepted_task/status")
+    @GET(V1 + "app/accepted_task/status")
     Observable<BaseMessage> taskStatus(@Body JSONObject jsonObject);
 
+    @GET(V1 + "loan/userRecord")
+    Observable<BaseMessage> userRecord();
+    @GET(V1 + "loan/getYinkerLoanUrl")
+    Observable<BaseMessage> getYinkerLoanUrl();
+    @GET(V1 + "loan/getYinkerRepaymentUrl")
+    Observable<BaseMessage> getYinkerRepaymentUrl();
 
 }

+ 2 - 2
app/src/main/java/com/sheep/gamegroup/model/entity/BaseMessage.java

@@ -59,10 +59,10 @@ public class BaseMessage {
      * @return
      */
     public <T> T getData(Class<T> clazz) {
-        if (object == null) {
+        if (data == null) {
             return null;
         }
-        return JSONObject.parseObject(JSONObject.toJSONString(object), clazz);
+        return JSONObject.parseObject(JSONObject.toJSONString(data), clazz);
     }
 
     /**

+ 17 - 6
app/src/main/res/layout/fgt_bp.xml

@@ -1,11 +1,22 @@
 <?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent">
 
-    <ImageView
-        android:id="@+id/fgt_bp_iv"
+    <RelativeLayout
         android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:src="@mipmap/icon"/>
-</LinearLayout>
+        android:layout_height="wrap_content">
+
+        <ImageView
+            android:id="@+id/fgt_bp_iv"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:src="@mipmap/jiezhewan_index" />
+
+        <TextView
+            android:id="@+id/fgt_bp_tv"
+            style="@style/style_button"
+            android:layout_alignBottom="@+id/fgt_bp_iv"
+            android:text="累计充值500立即开通" />
+    </RelativeLayout>
+</ScrollView>

BIN
app/src/main/res/mipmap-xxhdpi/jiezhewan_index.png


+ 1 - 0
view/src/main/res/values/dimens.xml

@@ -6,6 +6,7 @@
     <dimen name="tag_corner_radius">20.0dip</dimen>
     <dimen name="tab_width">45dp</dimen>
     <dimen name="tab_height">45dp</dimen>
+    <dimen name="bottom_height">49dp</dimen>
     <dimen name="viewpager_bottom">46dp</dimen>
     <dimen name="tab_padding">10dp</dimen>
     <dimen name="tag_horizontal_spacing">10.0dip</dimen>