MainActivity.java 4.07 KB
package com.cnlive.test.wjjpayutil;

import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;

import com.alibaba.android.arouter.launcher.ARouter;
import com.cnlive.libs.base.application.AppConfig;
import com.cnlive.libs.wjjpay.pay.WjjPay;
import com.cnlive.strike.BuildConfig;
import com.cnlive.strike.R;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        String userId = "";
        AppConfig.init(this, BuildConfig.APP_ID, BuildConfig.APP_KEY, BuildConfig.APP_SCERET,
                0, BuildConfig.DEBUG, "", "",
                userId, "", "", "", "");


        getPrePay(this, "uid", "fromId", "toId", "price", "expand", "orderId");

        commitPaymentOrder(this, "uid", "preId", "password");

        setPassword(this, "uid", "");

        passwordExisting(this, "uid");

        findViewById(R.id.setting).setOnClickListener(view -> settingPaySecret());

        findViewById(R.id.modify).setOnClickListener(view -> modifyPaySecret());
    }

    /**
     * 预支付
     *
     * @param context 上下文
     * @param userId  用户ID
     * @param fromId  支付人的 id
     * @param toId    支付给谁的 id(达人 id)
     * @param price   支付的金额(double 格式)
     * @param expand  扩展字段
     * @param orderId 订单 id
     */
    public void getPrePay(Context context, String userId, String fromId, String toId, String price, String expand, String orderId) {
        WjjPay.getPrePay(context, userId, fromId, toId, price, expand, orderId)
                .setFailureCallback((state, message) -> Log.e("DemoView", message))
                .setSuccessCallback(data -> Log.e("DemoView", "订单 " + data.getData().getPreId()))
                .start();
    }

    /**
     * 订单支付
     *
     * @param context  上下文
     * @param userId   用户ID
     * @param preId    预支付ID
     * @param password 密码
     */
    public static void commitPaymentOrder(Context context, String userId, String preId, String password) {
        WjjPay.commitPaymentOrder(context, userId, preId, password)
                .setFailureCallback((state, message) -> Log.e("DemoView", message))
                .setSuccessCallback(data -> Log.e("DemoView", "成功"))
                .start();
    }

    /**
     * 设置密码
     *
     * @param context  上下文
     * @param userId   用户ID
     * @param password 密码
     */
    public static void setPassword(Context context, String userId, String password) {
        WjjPay.setPassword(context, userId, password)
                .setFailureCallback((state, message) -> Log.e("DemoView", message))
                .setSuccessCallback(data -> Log.e("DemoView", "成功"))
                .start();
    }

    /**
     * 判断是设置 过支付密码
     *
     * @param context
     * @param userId
     */
    public static void passwordExisting(Context context, String userId) {
        WjjPay.passwordIsExisting(context, userId)
                .setFailureCallback((i, s) -> {
                    if (i == 402) {
                        Log.e("DemoView 1", "没有设置支付密码");
                    } else {
                        Log.e("DemoView 1", s);
                    }
                })
                .setSuccessCallback(groupBalanceInfoPayBaseInfo -> Log.e("DemoView 1", "成功"))
                .start();
    }

    /**
     * 跳转到第一次设置支付密码页面
     */
    public static void settingPaySecret() {
        ARouter.getInstance().build("/paysecret/PaySecretActivity")
                .withString("type", "set_pay_secret")//设置支付密码
                .navigation();
    }

    /**
     * 跳转到修改支付密码页面
     */
    public static void modifyPaySecret() {
        ARouter.getInstance().build("/paysecret/PaySecretActivity")
                .withString("type", "modify_pay_secret")//修改支付密码
                .navigation();
    }
}