123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- package com.edufound.reader.presenter;
- import android.app.Activity;
- import android.content.Intent;
- import android.graphics.Rect;
- import android.view.View;
- import android.widget.Toast;
- import androidx.recyclerview.widget.RecyclerView;
- import com.edufound.reader.adapter.EventPayItemAdapter;
- import com.edufound.reader.apiserver.OrderApiServerImpl;
- import com.edufound.reader.base.BaseActivity;
- import com.edufound.reader.base.BasePresenter;
- import com.edufound.reader.bean.ActivityEventPayBean;
- import com.edufound.reader.bean.ChannelCodeEnum;
- import com.edufound.reader.bean.HttpResultBean;
- import com.edufound.reader.bean.PayResultBean;
- import com.edufound.reader.contract.EventPayContract;
- import com.edufound.reader.listener.RecyclerItemClickListener;
- import com.edufound.reader.model.EventPayModel;
- import com.edufound.reader.model.TmailPayModel;
- import com.edufound.reader.tmailsdk.TMailSDKUtil;
- import com.edufound.reader.util.Consts;
- import com.google.gson.reflect.TypeToken;
- import com.okhttplib.HttpInfo;
- import com.okhttplib.callback.Callback;
- import com.orhanobut.logger.Logger;
- import org.json.JSONException;
- import org.json.JSONObject;
- import java.io.IOException;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- public class EventPayPresenter extends BasePresenter<EventPayContract.View> implements EventPayContract.Presenter {
- TmailPayModel mTMailModel;
- EventPayModel mModel;
- OrderApiServerImpl mOrderApi;
- List<ActivityEventPayBean> mPayResult;
- EventPayItemAdapter mPayAdapter;
- public EventPayPresenter() {
- mModel = new EventPayModel();
- mTMailModel = new TmailPayModel();
- mOrderApi = new OrderApiServerImpl();
- }
- @Override
- public void getProductListInfo() {
- mOrderApi.getFlowerEventProductList(mView.getActivity(), new Callback() {
- @Override
- public void onSuccess(HttpInfo info) throws IOException {
- Logger.e("获取成功:" + info.getRetDetail());
- HttpResultBean<List<ActivityEventPayBean>> bean = info.getRetDetail(new TypeToken<HttpResultBean<List<ActivityEventPayBean>>>() {
- }.getType());
- mPayResult = bean.getData();
- mPayAdapter = new EventPayItemAdapter(mView.getActivity(), mPayResult);
- mPayAdapter.onItemClick(new RecyclerItemClickListener<ActivityEventPayBean>() {
- @Override
- public void onClickListener(int position, View view, ActivityEventPayBean payResultBean) {
- //去支付
- Logger.e("position:" + position);
- toPayByChannel(payResultBean);
- }
- });
- mView.getProductListSuccess(mPayAdapter);
- }
- @Override
- public void onFailure(HttpInfo info) throws IOException {
- Logger.e("获取失败了:" + info.getRetDetail());
- }
- });
- }
- public void toPayByChannel(ActivityEventPayBean resultBean) {
- if (Consts.getUmengChannel().equals(ChannelCodeEnum.YIFANG.getChannelCode())) {
- } else if (Consts.getUmengChannel().equals(ChannelCodeEnum.TMAIL.getChannelCode())) {
- //天猫支付
- Map<String, String> params = new HashMap<>();
- params.put("productId", resultBean.getProduct().getId());
- params.put("channel", Consts.getUmengChannel());
- params.put("payType", resultBean.getProduct().getPayType());
- params.put("uid", Consts.getmConstsUserBean().getUid());
- params.put("first", "false");
- mTMailModel.TMailFlowerPay(mView.getActivity(), ((BaseActivity) mView.getActivity()).getGson().toJson(params), new Callback() {
- @Override
- public void onSuccess(HttpInfo info) throws IOException {
- Logger.e("创建订单返回信息成功:" + info.getRetDetail());
- Logger.e("创建订单返回信息成功:getParamJson-" + info.getParamJson());
- try {
- JSONObject object = new JSONObject(info.getRetDetail());
- JSONObject json = object.getJSONObject("data");
- Logger.e("json:" + json);
- TMailSDKUtil.tmailPay(mView.getActivity(), json.toString());
- } catch (JSONException e) {
- e.printStackTrace();
- }
- }
- @Override
- public void onFailure(HttpInfo info) throws IOException {
- Logger.e("创建订单返回信息失败:" + info.getRetDetail());
- Logger.e("创建订单返回信息成功:getParamJson-" + info.getParamJson());
- Toast.makeText(mView.getActivity(), "创建订单失败", Toast.LENGTH_SHORT).show();
- }
- });
- }
- }
- @Override
- public void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (Consts.getUmengChannel().equals(ChannelCodeEnum.TMAIL.getChannelCode())) {
- //天猫支付返回
- if (requestCode == TMailSDKUtil.TMAIL_PAY_RESULT_CODE && resultCode == Activity.RESULT_OK) {
- if (data != null) {
- boolean isPaySuccess = data.getBooleanExtra("isPaySuccess", false);
- String paySuccessDataJson = data.getStringExtra("paySuccessData");
- int payErrorCode = data.getIntExtra("payErrorCode", -1);
- String payErrorMsg = data.getStringExtra("payErrorMsg");
- Logger.e("qrcode, isPaySuccess=" + isPaySuccess +
- ";paySuccessDataJson=" + paySuccessDataJson +
- ";payErrorCode=" + payErrorCode +
- ";payErrorMsg=" + payErrorMsg);
- }
- }
- }
- }
- }
|