导航菜单

页面标题

页面副标题

微商客 v2.1.2 - VipActivity.java 源代码

正在查看: 微商客 v2.1.2 应用的 VipActivity.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.jianzhen.wsk.ui;

import android.content.Context;
import android.content.Intent;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.text.TextUtils;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.alibaba.fastjson.JSON;
import com.alipay.sdk.app.PayTask;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.bumptech.glide.request.RequestOptions;
import com.jianzhen.wsk.BaseActivity;
import com.jianzhen.wsk.R;
import com.jianzhen.wsk.adapter.VipListAdapter;
import com.jianzhen.wsk.bean.PayResult;
import com.jianzhen.wsk.bean.WxUserBean;
import com.jianzhen.wsk.dialog.VipAgreementTipDialog;
import com.jianzhen.wsk.dialog.VipBackTipDialog;
import com.jianzhen.wsk.net.ErrorBean;
import com.jianzhen.wsk.net.api.ApiEngine;
import com.jianzhen.wsk.net.api.Constant;
import com.jianzhen.wsk.net.api.RequestData;
import com.jianzhen.wsk.net.bean.LoginBean;
import com.jianzhen.wsk.net.bean.VipListBean;
import com.jianzhen.wsk.net.bean.WxPayBean;
import com.jianzhen.wsk.net.rxjava.ResultSubscriber;
import com.jianzhen.wsk.ui.login.LoginActivity;
import com.jianzhen.wsk.ui.set.WebActivity;
import com.jianzhen.wsk.utils.DataSaveUtils;
import com.jianzhen.wsk.utils.SharedPreferencesUtil;
import com.jianzhen.wsk.utils.Utils;
import com.jianzhen.wsk.utils.WeChatLoginAndPayUtils;
import com.umeng.analytics.MobclickAgent;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import rx.android.schedulers.AndroidSchedulers;
import rx.functions.Action0;
import rx.schedulers.Schedulers;

public class VipActivity extends BaseActivity implements View.OnClickListener {
    public static final String RSA2_PRIVATE = "";
    public static final String RSA_PRIVATE = "";
    private static final int SDK_AUTH_FLAG = 2;
    private static final int SDK_PAY_FLAG = 1;
    public static VipActivity vipActivity;
    private ImageView aliIv;
    private int index;
    private ImageView logoImg;
    private ImageView scanIv;
    private TextView sureBuyTv;
    private TextView userNameTv;
    private VipAgreementTipDialog vipAgreementTipDialog;
    private VipListAdapter vipListAdapter;
    private String vipPrice;
    private TextView vipTime;
    private String vipType;
    private ImageView vipXy;
    private ImageView wxIv;
    List<VipListBean.ResultBean> vipListBeans = new ArrayList();
    private final Handler mHandler = new Handler(Looper.getMainLooper()) {
        @Override
        public void handleMessage(Message message) {
            if (message.what != 1) {
                return;
            }
            PayResult payResult = new PayResult((Map) message.obj);
            payResult.getResult();
            String resultStatus = payResult.getResultStatus();
            if (TextUtils.equals(resultStatus, "9000")) {
                BaseActivity.showCenterToast("支付成功");
                BaseActivity.startIntent(VipActivity.this, VipBuySuccessActivity.class);
                VipActivity.this.finish();
                return;
            }
            if (TextUtils.equals(resultStatus, "6001")) {
                BaseActivity.showCenterToast("支付取消");
                BaseActivity.showCenterToast(payResult.getResult());
                return;
            }
            if (TextUtils.equals(resultStatus, "6002")) {
                BaseActivity.showCenterToast("网络连接出错,请稍后再试!");
                return;
            }
            if (TextUtils.equals(resultStatus, "4000")) {
                BaseActivity.showCenterToast("支付失败!");
            } else {
                if (TextUtils.equals(resultStatus, "8000") || TextUtils.equals(resultStatus, "6004") || TextUtils.equals(resultStatus, "6006")) {
                    return;
                }
                BaseActivity.showCenterToast("支付出错了,请稍后再试!!");
            }
        }
    };

    @Override
    protected int getLayoutId() {
        return R.layout.activity_vip;
    }

    @Override
    protected void initTitle() {
    }

    @Override
    protected boolean isSetBaseTitle() {
        return false;
    }

    @Override
    protected void initPageView() {
        this.index = getIntent().getIntExtra("vipPos", 0);
        vipActivity = this;
        findViewById(R.id.vip_back).setOnClickListener(this);
        this.userNameTv = (TextView) findViewById(R.id.vip_user_name_tv);
        this.vipTime = (TextView) findViewById(R.id.vip_time_tv);
        this.sureBuyTv = (TextView) findViewById(R.id.sure_buy_tv);
        this.vipXy = (ImageView) findViewById(R.id.vip_xy);
        this.logoImg = (ImageView) findViewById(R.id.log_img);
        getMembersList();
        findViewById(R.id.ali_pay_lay).setOnClickListener(this);
        findViewById(R.id.wx_pay_lay).setOnClickListener(this);
        findViewById(R.id.scan_pay).setOnClickListener(this);
        this.aliIv = (ImageView) findViewById(R.id.ali_pay_iv);
        this.wxIv = (ImageView) findViewById(R.id.wx_pay_iv);
        this.scanIv = (ImageView) findViewById(R.id.scan_pay_iv);
        this.aliIv.setSelected(true);
        this.wxIv.setSelected(false);
        this.scanIv.setSelected(false);
        this.sureBuyTv.setOnClickListener(this);
        this.vipXy.setOnClickListener(this);
        findViewById(R.id.vip_xy_tv).setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                VipActivity.this.lambda$initPageView$0(view);
            }
        });
        findViewById(R.id.my_go_login).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (DataSaveUtils.isLogin(VipActivity.this)) {
                    return;
                }
                BaseActivity.startIntent(VipActivity.this, LoginActivity.class);
            }
        });
        findViewById(R.id.buy_more_vip).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (DataSaveUtils.isLogin(VipActivity.this)) {
                    Utils.kf(VipActivity.this);
                } else {
                    BaseActivity.startIntent(VipActivity.this, LoginActivity.class);
                }
            }
        });
        findViewById(R.id.vip_details).setOnClickListener(new View.OnClickListener() {
            @Override
            public final void onClick(View view) {
                VipActivity.this.lambda$initPageView$1(view);
            }
        });
    }

    public void lambda$initPageView$0(View view) {
        WebActivity.startWebActivity(this, Constant.vipAgreement);
    }

    public void lambda$initPageView$1(View view) {
        WebActivity.startWebActivity(this, "http://usfriend.cn/tmp/vipDetails.html");
    }

    protected void onResume() {
        super.onResume();
        if (DataSaveUtils.isLogin(this)) {
            String phoneNumber = DataSaveUtils.getLoginData(this).getPhoneNumber();
            String petName = DataSaveUtils.getLoginData(this).getPetName();
            if (phoneNumber != null && !"".equals(phoneNumber) && !phoneNumber.isEmpty()) {
                this.userNameTv.setText(Utils.showPhoneNum(phoneNumber));
            } else {
                this.userNameTv.setText(petName);
            }
            String membershipExpireTime = DataSaveUtils.getLoginData(this).getMembershipExpireTime();
            if (membershipExpireTime != null && !membershipExpireTime.isEmpty()) {
                this.vipTime.setText("会员到期时间:" + membershipExpireTime);
            }
            LoginBean.ResultBean loginData = DataSaveUtils.getLoginData(this);
            if (loginData.getWxUserInfo() == null || "".equals(loginData.getWxUserInfo())) {
                return;
            }
            Glide.with(this).load(((WxUserBean) JSON.parseObject(loginData.getWxUserInfo().replace("\\\\", ""), WxUserBean.class)).headimgurl).placeholder(R.mipmap.logo).apply(new RequestOptions().transform(new RoundedCorners(Utils.dp2px(50.0f)))).into(this.logoImg);
            return;
        }
        this.userNameTv.setText("未登录");
        this.vipTime.setVisibility(8);
    }

    public void setVipList() {
        RecyclerView findViewById = findViewById(R.id.vip_rv);
        LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
        linearLayoutManager.setOrientation(0);
        findViewById.setLayoutManager(linearLayoutManager);
        VipListAdapter vipListAdapter = new VipListAdapter(this.vipListBeans);
        this.vipListAdapter = vipListAdapter;
        vipListAdapter.setOnItemClickListener(new VipListAdapter.OnItemClickListener() {
            @Override
            public void onItemClick(View view, int i) {
                VipActivity.this.vipListAdapter.setCurrentPosition(i);
                VipActivity.this.vipListAdapter.notifyDataSetChanged();
                if (VipActivity.this.aliIv.isSelected()) {
                    VipActivity.this.sureBuyTv.setText("确认协议并支付¥" + VipActivity.this.vipListBeans.get(i).getMembershipAliPrice());
                } else {
                    VipActivity.this.sureBuyTv.setText("确认协议并支付¥" + VipActivity.this.vipListBeans.get(i).getMembershipWxPrice());
                }
            }
        });
        int i = this.index;
        if (i > 0) {
            this.vipListAdapter.setCurrentPosition(i);
        }
        findViewById.setAdapter(this.vipListAdapter);
    }

    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.ali_pay_lay:
                this.aliIv.setSelected(true);
                this.wxIv.setSelected(false);
                this.scanIv.setSelected(false);
                this.vipListAdapter.setPayWay(true);
                this.vipListAdapter.notifyDataSetChanged();
                this.sureBuyTv.setText("确认协议并支付¥" + this.vipListBeans.get(this.vipListAdapter.getCurrentPosition()).getMembershipAliPrice());
                break;
            case R.id.scan_pay:
                this.aliIv.setSelected(false);
                this.wxIv.setSelected(false);
                this.scanIv.setSelected(true);
                this.vipListAdapter.setPayWay(true);
                this.vipListAdapter.notifyDataSetChanged();
                this.sureBuyTv.setText("确认协议并支付¥" + this.vipListBeans.get(this.vipListAdapter.getCurrentPosition()).getMembershipAliPrice());
                break;
            case R.id.sure_buy_tv:
                if (!this.vipXy.isSelected()) {
                    VipAgreementTipDialog vipAgreementTipDialog = new VipAgreementTipDialog(this, new View.OnClickListener() {
                        @Override
                        public void onClick(View view2) {
                            VipActivity.this.vipAgreementTipDialog.dismiss();
                            VipActivity.this.vipXy.setSelected(true);
                            VipActivity.this.goPay();
                        }
                    });
                    this.vipAgreementTipDialog = vipAgreementTipDialog;
                    vipAgreementTipDialog.show();
                    break;
                } else {
                    goPay();
                    break;
                }
            case R.id.vip_back:
                finish();
                break;
            case R.id.vip_xy:
                this.vipXy.setSelected(!r5.isSelected());
                break;
            case R.id.wx_pay_lay:
                this.aliIv.setSelected(false);
                this.wxIv.setSelected(true);
                this.scanIv.setSelected(false);
                this.vipListAdapter.setPayWay(false);
                this.vipListAdapter.notifyDataSetChanged();
                this.sureBuyTv.setText("确认协议并支付¥" + this.vipListBeans.get(this.vipListAdapter.getCurrentPosition()).getMembershipWxPrice());
                break;
        }
    }

    public void goPay() {
        if (!DataSaveUtils.isLogin(this)) {
            startIntent(this, LoginActivity.class);
            return;
        }
        if (this.scanIv.isSelected()) {
            Intent intent = new Intent((Context) this, (Class<?>) ScanCodePayActivity.class);
            intent.putExtra("vipNameStr", this.vipListBeans.get(this.vipListAdapter.getCurrentPosition()).getMembershipName());
            intent.putExtra("vipPriceStr", this.vipListBeans.get(this.vipListAdapter.getCurrentPosition()).getMembershipAliPrice() + "");
            startActivity(intent);
            return;
        }
        MobclickAgent.onEvent(this, "buy_vip_ok");
        String str = this.vipListBeans.get(this.vipListAdapter.getCurrentPosition()).getMembershipShopId() + "";
        this.vipType = this.vipListBeans.get(this.vipListAdapter.getCurrentPosition()).getMembershipName();
        if (this.aliIv.isSelected()) {
            this.vipPrice = this.vipListBeans.get(this.vipListAdapter.getCurrentPosition()).getMembershipAliPrice() + "";
            aliPayOrder(str);
        } else {
            this.vipPrice = this.vipListBeans.get(this.vipListAdapter.getCurrentPosition()).getMembershipWxPrice() + "";
            wxPayOrder(str);
        }
    }

    public void getMembersList() {
        ApiEngine.getInstance().getApiService().getMemberships(RequestData.get()).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribeOn(AndroidSchedulers.mainThread()).doOnTerminate(new Action0() {
            public final void call() {
                VipActivity.this.dismissProgressDialog();
            }
        }).subscribeOn(AndroidSchedulers.mainThread()).subscribe(new ResultSubscriber<VipListBean>() {
            @Override
            public void onError(ErrorBean errorBean) {
                VipActivity.this.dismissProgressDialog();
            }

            @Override
            public void onData(VipListBean vipListBean) {
                if (vipListBean.getCode() == 200) {
                    VipActivity.this.vipListBeans = vipListBean.getResult();
                    VipActivity.this.setVipList();
                    VipActivity.this.sureBuyTv.setText("确认协议并支付¥" + VipActivity.this.vipListBeans.get(VipActivity.this.vipListAdapter.getCurrentPosition()).getMembershipAliPrice());
                }
            }
        });
    }

    private void wxPayOrder(String str) {
        showProgressDialog(this, "支付中。。。");
        ArrayList arrayList = new ArrayList();
        arrayList.add(new RequestData.RequestPar("membershipShopId", str));
        ApiEngine.getInstance().getApiService().wxPayOrder(RequestData.get(arrayList)).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribeOn(AndroidSchedulers.mainThread()).doOnTerminate(new Action0() {
            public final void call() {
                VipActivity.this.dismissProgressDialog();
            }
        }).subscribeOn(AndroidSchedulers.mainThread()).subscribe(new ResultSubscriber<WxPayBean>() {
            @Override
            public void onError(ErrorBean errorBean) {
                VipActivity.this.dismissProgressDialog();
            }

            @Override
            public void onData(WxPayBean wxPayBean) {
                if (wxPayBean.getCode() == 200) {
                    WxPayBean.ResultBean result = wxPayBean.getResult();
                    new WeChatLoginAndPayUtils(VipActivity.this).senWxPayRequest(result.getMchId(), result.getPrepayId(), result.getNonceStr(), result.getTimeStamp(), result.getSign());
                    VipActivity.this.setOrderDetails(result.getOrderNo(), result.getOrderTime());
                    return;
                }
                BaseActivity.showCenterToast(wxPayBean.getMsg());
            }
        });
    }

    private void aliPayOrder(String str) {
        showProgressDialog(this, "支付中。。。");
        ArrayList arrayList = new ArrayList();
        arrayList.add(new RequestData.RequestPar("membershipShopId", str));
        ApiEngine.getInstance().getApiService().aliPayOrder(RequestData.get(arrayList)).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribeOn(AndroidSchedulers.mainThread()).doOnTerminate(new Action0() {
            public final void call() {
                VipActivity.this.dismissProgressDialog();
            }
        }).subscribeOn(AndroidSchedulers.mainThread()).subscribe(new ResultSubscriber<WxPayBean>() {
            @Override
            public void onError(ErrorBean errorBean) {
                VipActivity.this.dismissProgressDialog();
            }

            @Override
            public void onData(final WxPayBean wxPayBean) {
                if (wxPayBean.getCode() == 200) {
                    VipActivity.this.setOrderDetails(wxPayBean.getResult().getOrderNo(), wxPayBean.getResult().getOrderTime());
                    new Thread(new Runnable() {
                        @Override
                        public void run() {
                            Map payV2 = new PayTask(VipActivity.this).payV2(wxPayBean.getResult().getOrderStr(), true);
                            Message message = new Message();
                            message.what = 1;
                            message.obj = payV2;
                            VipActivity.this.mHandler.sendMessage(message);
                        }
                    }).start();
                } else {
                    BaseActivity.showCenterToast(wxPayBean.getMsg());
                }
            }
        });
    }

    public void setOrderDetails(String str, String str2) {
        SharedPreferencesUtil.putString(this, "orderNo", str);
        SharedPreferencesUtil.putString(this, "orderTime", str2);
        SharedPreferencesUtil.putString(this, "vipType", this.vipType);
        SharedPreferencesUtil.putString(this, "vipPrice", this.vipPrice);
    }

    public void onBackPressed() {
        new VipBackTipDialog(this) {
            @Override
            protected void okData() {
                VipActivity.this.sureBuyTv.performClick();
                super.okData();
            }
        }.show();
    }
}