支付,待支付

public class Fragment2 extends Fragment implements MainView {

RecyclerView pay_recycler;
MainPresenterIm presenterIm;
PayAdapter payAdapter;
String userId = "1673";
String sessionId = "15619839360551673";
String orderId1;
private static final int SDK_PAY_FLAG = 1;
private static final int SDK_AUTH_FLAG = 2;

@SuppressLint("HandlerLeak")
private Handler mHandler = new Handler() {
    @SuppressWarnings("unused")
    public void handleMessage(Message msg) {
        switch (msg.what) {
            case SDK_PAY_FLAG: {
                @SuppressWarnings("unchecked")
                PayResult payResult = new PayResult((Map<String, String>) msg.obj);
                /**
                 对于支付结果,请商户依赖服务端的异步通知结果。同步通知结果,仅作为支付结束的通知。
                 */
                String resultInfo = payResult.getResult();// 同步返回需要验证的信息
                String resultStatus = payResult.getResultStatus();
                // 判断resultStatus 为9000则代表支付成功
                if (TextUtils.equals(resultStatus, "9000")) {
                    // 该笔订单是否真实支付成功,需要依赖服务端的异步通知。
                    Toast.makeText(getActivity(), "支付成功", Toast.LENGTH_SHORT).show();
                } else {
                    // 该笔订单真实的支付结果,需要依赖服务端的异步通知。
                    Toast.makeText(getActivity(), "支付失败", Toast.LENGTH_SHORT).show();
                }
                break;
            }
            case SDK_AUTH_FLAG: {

            }
            default:
                break;
        }
    };
};

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View inflate = inflater.inflate(R.layout.fragment2, container, false);
    pay_recycler = inflate.findViewById(R.id.pay_recycler);
    presenterIm = new MainPresenterIm(new MainModelIm(), this);
    payAdapter = new PayAdapter(getActivity());
    //布局管理器
    pay_recycler.setLayoutManager(new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, true));
    pay_recycler.setAdapter(payAdapter);
    //待付款
    inflate.findViewById(R.id.pay_but1).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Map<String, String> map = new HashMap<>();
            map.put("page", 1 + "");
            map.put("count", 10 + "");
            map.put("status", 1 + "");
            presenterIm.doGet1(0, "movieApi/user/v1/verify/findUserBuyTicketRecordList", userId, sessionId, map);
        }
    });
    //已完成
    inflate.findViewById(R.id.pay_but2).setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Map<String, String> map = new HashMap<>();
            map.put("page", 1 + "");
            map.put("count", 10 + "");
            map.put("status", 2 + "");
            presenterIm.doGet1(1, "movieApi/user/v1/verify/findUserBuyTicketRecordList", userId, sessionId, map);
        }
    });
    //支付
    payAdapter.setButClickListener(new PayAdapter.OnButClickListener() {
        @Override
        public void onClick(String orderId) {
            orderId1 = orderId;
            Map<String, String> map = new HashMap<>();
            map.put("payType", "2");
            map.put("orderId", orderId1);
            presenterIm.doPost(2, "movieApi/movie/v1/verify/pay", userId, sessionId, map);
        }
    });
    return inflate;
}

@Override
public void success(int type, String data) {
    if (type == 0) {
        PayBean payBean = new Gson().fromJson(data, PayBean.class);
        List<PayBean.ResultBean> result = payBean.getResult();
        if (result != null) {
            payAdapter.setList(result);
        }

    }else if (type == 1){
        PayBean payBean = new Gson().fromJson(data, PayBean.class);
        List<PayBean.ResultBean> result = payBean.getResult();
        if (result != null) {
            payAdapter.setList(result);
        }
    }else {
        final SuccessBean successBean = new Gson().fromJson(data, SuccessBean.class);
        if (successBean.getStatus().equals("0000")){
            Runnable payRunnable = new Runnable() {
                @Override
                public void run() {
                    PayTask alipay = new PayTask(getActivity());
                    Map <String,String> result = alipay.payV2(successBean.getResult(),true);

                    Message msg = new Message();
                    msg.what = SDK_PAY_FLAG;
                    msg.obj = result;
                    mHandler.sendMessage(msg);
                }
            };
            // 必须异步调用
            Thread payThread = new Thread(payRunnable);
            payThread.start();
        }else{
            Toast.makeText(getActivity(), successBean.getMessage(), Toast.LENGTH_SHORT).show();
        }
    }
}

@Override
public void fail(int type, String error) {

}

}

PayAdapter

public class PayAdapter extends RecyclerView.Adapter<PayAdapter.PayViewHolder> {

private Context context;
private List<PayBean.ResultBean> list;

public PayAdapter(Context context) {
    this.context = context;
    list = new ArrayList<>();
}

public void setList(List<PayBean.ResultBean> list) {
    this.list = list;
    notifyDataSetChanged();
}

@NonNull
@Override
public PayAdapter.PayViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
    View inflate = LayoutInflater.from(context).inflate(R.layout.pay_item, viewGroup, false);
    return new PayViewHolder(inflate);
}

@Override
public void onBindViewHolder(@NonNull PayAdapter.PayViewHolder payViewHolder, final int i) {
    payViewHolder.pay_item_title.setText("电影名:" + list.get(i).getMovieName());
    payViewHolder.pay_item_address.setText("地址:" + list.get(i).getScreeningHall());
    payViewHolder.pay_item_price.setText("¥:" + list.get(i).getPrice());
    payViewHolder.pay_item_but.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String orderId = list.get(i).getOrderId();
            butClickListener.onClick(orderId);
        }
    });
    int status = list.get(i).getStatus();
    if (status == 1) {

    } else {
        payViewHolder.pay_item_but.setVisibility(View.GONE);
    }
}

@Override
public int getItemCount() {
    return list.size();
}

public class PayViewHolder extends RecyclerView.ViewHolder {

    private TextView pay_item_title, pay_item_address, pay_item_price;
    private Button pay_item_but;

    public PayViewHolder(@NonNull View itemView) {
        super(itemView);
        pay_item_title = itemView.findViewById(R.id.pay_item_title);
        pay_item_address = itemView.findViewById(R.id.pay_item_address);
        pay_item_price = itemView.findViewById(R.id.pay_item_price);
        pay_item_but = itemView.findViewById(R.id.pay_item_but);
    }
}

private OnButClickListener butClickListener;

public void setButClickListener(OnButClickListener butClickListener) {
    this.butClickListener = butClickListener;
}

public interface OnButClickListener {
    void onClick(String orderId);
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值