Commit 772349fb authored by linfeng's avatar linfeng

bug修复

parent 6f5136e9
......@@ -23,7 +23,6 @@ import com.xxfc.discovery.bean.DiscoveryAskBean;
import com.xxfc.discovery.event.DiscoveryAddEvent;
import com.xxfc.discovery.presenter.DiscoveryPresenter;
import com.yuyife.okgo.OkGoUtil;
import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.Map;
......
package com.rv.home.rv.module.ui.main.home.order;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.Nullable;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import com.alipay.sdk.app.PayTask;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.entity.MultiItemEntity;
import com.frame.base.bus.PaymentSuccessfulEvent;
import com.frame.base.bus.RxBus;
import com.frame.rv.config.RvFrameConfig;
import com.frame.rv.widget.PayResult;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.base.BaseFragment;
import com.ruiwenliu.wrapper.util.ViewHolder;
......@@ -19,6 +28,7 @@ import com.rv.home.R;
import com.rv.home.R2;
import com.rv.home.rv.module.ApiConfig;
import com.rv.home.rv.module.basic.presenter.CommonPresenter;
import com.rv.home.rv.module.ui.main.home.bean.OrderAliPayBean;
import com.rv.home.rv.module.ui.main.home.bean.OrderPayBean;
import com.rv.home.rv.module.ui.main.home.order.adapter.OrderListAdapter;
import com.rv.home.rv.module.ui.main.home.order.bean.OrderListBean;
......@@ -50,6 +60,7 @@ public class AllOrderFragment extends BaseFragment<CommonPresenter> implements B
private int countPage;
private IWXAPI api;
private int payType =1;//选择支付类型
private static final int SDK_ALI_PAY_FLAG = 11;
public static AllOrderFragment getInstance(int type) {
Bundle bundl = new Bundle();
......@@ -140,6 +151,9 @@ public class AllOrderFragment extends BaseFragment<CommonPresenter> implements B
case 1:
pay((OrderPayBean) result);
break;
case 2:
aliPayData((OrderAliPayBean) result);
break;
}
}
......@@ -204,6 +218,7 @@ public class AllOrderFragment extends BaseFragment<CommonPresenter> implements B
* 支付类型选择
*/
private void payShowSelect(final String no, final double orderAmount) {
payType = 1;
PaymentTypeSelection dialog = new PaymentTypeSelection(_mActivity) {
@Override
public void helper(final ViewHolder helper) {
......@@ -226,7 +241,7 @@ public class AllOrderFragment extends BaseFragment<CommonPresenter> implements B
} else if (id == R.id.tv_pay_immediately) {
dismiss();
createOrder(no, 1, 1);
createOrder(no);
}
}
}, R.id.iv_close, R.id.ll_item_wechat, R.id.ll_item_alipay, R.id.tv_pay_immediately);
......@@ -237,10 +252,14 @@ public class AllOrderFragment extends BaseFragment<CommonPresenter> implements B
}
private void createOrder(String orderNo, int payWay, int type) {
private void createOrder(String orderNo) {
Map<String, Object> headMap = new LinkedHashMap<>();
headMap.put("Authorization", OkGoUtil.getToken());
mPresenter.postBodyData(RvFrameConfig.VEHICLE_ORDER, 1, ApiConfig.HTTP_URL_PAY_THE_CALLBACK, OrderPayBean.class, new payBody(orderNo, payWay, type), headMap, true);
if (payType == 1) {
mPresenter.postBodyData(RvFrameConfig.VEHICLE_ORDER, 1, ApiConfig.HTTP_URL_PAY_THE_CALLBACK, OrderPayBean.class, new payBody(orderNo, payType, 1), headMap, true);
}else {
mPresenter.postBodyData(RvFrameConfig.VEHICLE_ORDER, 2, ApiConfig.HTTP_URL_PAY_THE_CALLBACK, OrderAliPayBean.class, new payBody(orderNo, payType, 1), headMap, true);
}
}
......@@ -301,4 +320,55 @@ public class AllOrderFragment extends BaseFragment<CommonPresenter> implements B
}
/**
* 显示支付宝签名
*/
public void aliPayData(final OrderAliPayBean bean) {
Runnable payRunnable = new Runnable() {
@Override
public void run() {
PayTask alipay = new PayTask(_mActivity);
Map<String, String> result = alipay.payV2(bean.getData(), true);
Log.i("msp", result.toString());
Message msg = new Message();
msg.what = SDK_ALI_PAY_FLAG;
msg.obj = result;
mHandler.sendMessage(msg);
}
};
Thread payThread = new Thread(payRunnable);
payThread.start();
}
/**
* 支付宝返回数据handler
*/
@SuppressLint("HandlerLeak")
private Handler mHandler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case SDK_ALI_PAY_FLAG: {
@SuppressWarnings("unchecked")
PayResult payResult = new PayResult((Map<String, String>) msg.obj);
String resultStatus = payResult.getResultStatus();
// 判断resultStatus 为9000则代表支付成功
if (TextUtils.equals(resultStatus, "9000")) {
RxBus.post(new PaymentSuccessfulEvent());
} else if ("6001".equals(resultStatus)) {
showToast("支付取消!");
} else {
// 该笔订单真实的支付结果,需要依赖服务端的异步通知。
showToast(payResult.toString());
}
break;
}
}
}
};
}
......@@ -252,6 +252,7 @@ public class ForPaymentFragment extends BaseFragment<CommonPresenter> implements
* 支付类型选择
*/
private void payShowSelect(final String no, final double orderAmount) {
payType = 1;
PaymentTypeSelection dialog = new PaymentTypeSelection(_mActivity) {
@Override
public void helper(final ViewHolder helper) {
......
......@@ -307,6 +307,7 @@ public class OrderDetailActivity extends BaseStatusActivity<PickerPresenter> {
* 支付类型选择
*/
private void payShowSelect(final String no, final double orderAmount) {
payType = 1;
PaymentTypeSelection dialog = new PaymentTypeSelection(mActivity) {
@Override
public void helper(final ViewHolder helper) {
......
......@@ -281,6 +281,7 @@ public class TravelOrderDetailsActivity extends BaseStatusActivity<PickerPresent
* 支付类型选择
*/
private void payShowSelect(final String no, final double orderAmount) {
payType = 1;
PaymentTypeSelection dialog = new PaymentTypeSelection(mActivity) {
@Override
public void helper(final ViewHolder helper) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment