Преглед изворни кода

Merge remote-tracking branch 'origin/sheep2.0' into sheep2.0

zengjiebin пре 8 година
родитељ
комит
2060087796

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

@@ -444,7 +444,7 @@ public class FgtSmallSheep extends BaseCompatFragment implements SmallSheepContr
             case R.id.recharge:
             case R.id.q_dec_tv:
 //                G.showToast("Q币充值");
-                Jump2View.getInstance().goRechargeAct(activity,null);
+                Jump2View.getInstance().goRechargeQAct(activity,null);
                 break;
             case R.id.lying_iv://躺着赚钱
             case R.id.lying_dec_tv:

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

@@ -355,7 +355,7 @@ public interface ApiService {
      * @param parame
      * @return
      */
-    @POST("app/***/")
+    @POST("app/recharge/recharge_qq_coin")
     Observable<BaseMessage> goRechargeQ(@Body JSONObject parame);
 
     /******div***/

+ 2 - 1
app/src/main/java/com/sheep/gamegroup/view/activity/RechargeAct.java

@@ -109,7 +109,8 @@ public class RechargeAct extends BaseActivity {
     }
 
     private void getRechargePayway() {
-        SheepApp.getInstance().getNetComponent().getApiService().getRechargePayway("2")
+        // 参数 1:没有绵羊币的,2:是全部
+        SheepApp.getInstance().getNetComponent().getApiService().getRechargePayway("1")
                 .subscribeOn(Schedulers.io())
                 .observeOn(AndroidSchedulers.mainThread())
                 .subscribe(new SheepSubscriber<BaseMessage>(RechargeAct.this) {

+ 89 - 13
app/src/main/java/com/sheep/gamegroup/view/activity/RechargeQAct.java

@@ -2,16 +2,21 @@ package com.sheep.gamegroup.view.activity;
 
 import android.app.Activity;
 import android.graphics.Color;
+import android.text.Editable;
 import android.text.SpannableString;
 import android.text.Spanned;
 import android.text.TextUtils;
+import android.text.TextWatcher;
 import android.text.style.ForegroundColorSpan;
 import android.view.View;
 import android.widget.AdapterView;
 import android.widget.EditText;
 import android.widget.TextView;
 
+import com.alibaba.fastjson.JSONObject;
+import com.alipay.sdk.app.PayTask;
 import com.sheep.gamegroup.absBase.BaseActivity;
+import com.sheep.gamegroup.alipay.PayResult;
 import com.sheep.gamegroup.di.components.DaggerRechargeQComponent;
 import com.sheep.gamegroup.di.modules.RechargeQModule;
 import com.sheep.gamegroup.model.entity.BaseMessage;
@@ -59,7 +64,7 @@ public class RechargeQAct extends BaseActivity implements RechargeQContract.View
     TextView rechargeqSure;
     private List<RechargeQEntity> wlLists = new ArrayList<>();
     private RechargeQAdapter adapter;
-    private int select;
+    private int select = -1;
 
     String text_qq;//充值QQ号
     String text_QBNumber;//充值金额
@@ -81,7 +86,7 @@ public class RechargeQAct extends BaseActivity implements RechargeQContract.View
                 .rechargeQModule(new RechargeQModule(this))
                 .build()
                 .inject(this);
-        tests();//测试代码------------------测试代码----------------测试代码--------------------测试代码----------------------------
+        initRechargeDatas();
         adapter = new RechargeQAdapter(activity, wlLists);
         rechargeqGreidview.setVerticalSpacing(20);
         rechargeqGreidview.setAdapter(adapter);
@@ -89,6 +94,7 @@ public class RechargeQAct extends BaseActivity implements RechargeQContract.View
         rechargeqGreidview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
+                etQbNumber.setText("");
                 select = position;
                 RechargeQEntity rechargeQEntity = (RechargeQEntity) parent.getItemAtPosition(position);
                 for (int i = 0; i < wlLists.size(); i++) {
@@ -96,26 +102,56 @@ public class RechargeQAct extends BaseActivity implements RechargeQContract.View
                         wlLists.get(i).setSelectState(true);
                     } else {
                         wlLists.get(i).setSelectState(false);
-
                     }
-                    adapter.notifyDataSetChanged();
                 }
+                adapter.notifyDataSetChanged();
                 text_QBNumber = rechargeQEntity.getPrice();
-                tvMybNumber.setText(String.format(getString(R.string.rechargeq_amount),rechargeQEntity.getPrice()));
+                tvMybNumber.setText(String.format(getString(R.string.rechargeq_amount),text_QBNumber));
             }
         });
 
         tvZk.setText(getSpannableString());
 
+
+        etQbNumber.addTextChangedListener(new TextWatcher() {
+            @Override
+            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+            }
+
+            @Override
+            public void onTextChanged(CharSequence s, int start, int before, int count) {
+                if(TextUtils.isEmpty(s)){
+                    adapter.setInPut(false);
+                    if(select != -1 ){
+                        RechargeQEntity rechargeQEntity = adapter.getItem(select);
+                        text_QBNumber = rechargeQEntity.getPrice();
+                        tvMybNumber.setText(String.format(getString(R.string.rechargeq_amount),text_QBNumber));
+                    }
+                }else{
+                    adapter.setInPut(true);
+                    tvMybNumber.setText(String.format(getString(R.string.rechargeq_amount),s.toString()));
+                }
+            }
+
+            @Override
+            public void afterTextChanged(Editable s) {
+
+            }
+        });
+
     }
 
-    private void tests(){
-        wlLists.add(new RechargeQEntity(true,"9.5","10QB"));
-        wlLists.add(new RechargeQEntity(true,"19","20QB"));
-        wlLists.add(new RechargeQEntity(true,"47.5","50QB"));
-        wlLists.add(new RechargeQEntity(true,"95","100QB"));
-        wlLists.add(new RechargeQEntity(true,"190","200QB"));
-        wlLists.add(new RechargeQEntity(true,"475","500QB"));
+    /**
+     * 初始化写死充值数据
+     */
+    private void initRechargeDatas(){
+        wlLists.add(new RechargeQEntity(false,"10","10QB"));
+        wlLists.add(new RechargeQEntity(false,"20","20QB"));
+        wlLists.add(new RechargeQEntity(false,"50","50QB"));
+        wlLists.add(new RechargeQEntity(false,"100","100QB"));
+        wlLists.add(new RechargeQEntity(false,"200","200QB"));
+        wlLists.add(new RechargeQEntity(false,"500","500QB"));
     }
 
     @Override
@@ -150,7 +186,10 @@ public class RechargeQAct extends BaseActivity implements RechargeQContract.View
                 }
 
          showProgress();
-         presenter.goRechargeQ(null);
+         JSONObject jsonObject = new JSONObject();
+         jsonObject.put("amount",Integer.valueOf(text_QBNumber));
+         jsonObject.put("qq",text_qq);
+         presenter.goRechargeQ(jsonObject);
                 break;
         }
     }
@@ -158,6 +197,7 @@ public class RechargeQAct extends BaseActivity implements RechargeQContract.View
     @Override
     public void succRechargeQ(BaseMessage o) {
         hideProgress();
+        pay(o.getData().toString());
     }
 
     @Override
@@ -166,6 +206,42 @@ public class RechargeQAct extends BaseActivity implements RechargeQContract.View
         G.showToast(o.getMsg());
     }
 
+    private void pay(final String payInfo) {
+        Runnable payRunnable = new Runnable() {
+
+            @Override
+            public void run() {
+                // 构造PayTask 对象
+                PayTask alipay = new PayTask(RechargeQAct.this);
+                // 调用支付接口,获取支付结果
+                final String result = alipay.pay(payInfo, true);
+
+                runOnUiThread(new Runnable() {
+
+                    @Override
+                    public void run() {
+
+                        PayResult payResult = new PayResult(result);
+                        /**
+                         * 同步返回的结果必须放置到服务端进行验证(验证的规则请看https://doc.open.alipay.com/doc2/
+                         * detail.htm?spm=0.0.0.0.xdvAU6&treeId=59&articleId=103665&
+                         * docType=1) 建议商户依赖异步通知
+                         */
+//						String resultInfo = payResult.getResult();// 同步返回需要验证的信息
+
+                        String resultStatus = payResult.getResultStatus();
+                        Jump2View.getInstance().goRechargeResultAct(RechargeQAct.this, resultStatus);
+                        finish();
+                    }
+                });
+            }
+        };
+
+        // 必须异步调用
+        Thread payThread = new Thread(payRunnable);
+        payThread.start();
+    }
+
     private SpannableString getSpannableString(){
         SpannableString spannableString = new SpannableString("(使用绵羊币充值享95折优惠)");
         ForegroundColorSpan colorSpan = new ForegroundColorSpan(Color.parseColor("#ff0006"));

+ 18 - 5
app/src/main/java/com/sheep/gamegroup/view/adapter/RechargeQAdapter.java

@@ -22,12 +22,19 @@ import java.util.List;
 public class RechargeQAdapter extends BaseAdapter {
     private Context context;
     private List<RechargeQEntity> listData;
+    private boolean isInPut = false;
 
     public RechargeQAdapter(Context context, List<RechargeQEntity> listData) {
         this.context = context;
         this.listData = listData;
     }
 
+
+    public void setInPut(boolean inPut) {
+        isInPut = inPut;
+        notifyDataSetChanged();
+    }
+
     @Override
     public int getCount() {
         return listData.size();
@@ -64,14 +71,20 @@ public class RechargeQAdapter extends BaseAdapter {
             holder = (ViewHolder) convertView.getTag();
         }
         RechargeQEntity priceShow = getItem(position);
-        if (priceShow.isSelectState()){
-            convertView.setBackground(context.getResources().getDrawable(R.drawable.recharge_bg_angle_blue_hold));
-            holder.item_tv_qb.setTextColor(ContextCompat.getColor(context,R.color.white));
-            holder.item_tv_y.setTextColor(ContextCompat.getColor(context,R.color.white));
-        }else{
+        if(isInPut){
             convertView.setBackground(context.getResources().getDrawable(R.drawable.recharge_bg_angle_blue_normal));
             holder.item_tv_qb.setTextColor(ContextCompat.getColor(context,R.color.blue_end));
             holder.item_tv_y.setTextColor(ContextCompat.getColor(context,R.color.blue_end));
+        }else{
+            if (priceShow.isSelectState()){
+                convertView.setBackground(context.getResources().getDrawable(R.drawable.recharge_bg_angle_blue_hold));
+                holder.item_tv_qb.setTextColor(ContextCompat.getColor(context,R.color.white));
+                holder.item_tv_y.setTextColor(ContextCompat.getColor(context,R.color.white));
+            }else{
+                convertView.setBackground(context.getResources().getDrawable(R.drawable.recharge_bg_angle_blue_normal));
+                holder.item_tv_qb.setTextColor(ContextCompat.getColor(context,R.color.blue_end));
+                holder.item_tv_y.setTextColor(ContextCompat.getColor(context,R.color.blue_end));
+            }
         }
 
         holder.item_tv_qb.setText(priceShow.getText());

+ 2 - 1
app/src/main/res/layout/rechargeq_layout.xml

@@ -49,6 +49,7 @@
                             android:layout_width="wrap_content"
                             android:layout_height="wrap_content"
                             android:text="(使用绵羊币充值享95折优惠)"
+                            android:visibility="invisible"
                             android:textColor="@color/black_444444"
                             android:textSize="@dimen/text_size_12" />
                     </LinearLayout>
@@ -96,7 +97,7 @@
                             android:id="@+id/tv_myb_number"
                             android:layout_width="155dp"
                             android:layout_height="wrap_content"
-                            android:text="当前绵羊币金额:150元"
+                            android:text="当前绵羊币金额:0元"
                             android:textColor="@color/black_444444"
                             android:textSize="@dimen/text_size_3" />