|
@@ -21,6 +21,8 @@ import com.edufound.reader.botsdk.BotRegisterListener;
|
|
|
import com.edufound.reader.contract.PayContract;
|
|
|
import com.edufound.reader.model.PayModel;
|
|
|
import com.edufound.reader.util.Consts;
|
|
|
+import com.edufound.reader.util.QRCodeUtil;
|
|
|
+import com.edufound.reader.util.SizeUtils;
|
|
|
import com.google.gson.reflect.TypeToken;
|
|
|
import com.okhttplib.HttpInfo;
|
|
|
import com.okhttplib.callback.Callback;
|
|
@@ -40,6 +42,7 @@ public class PayPresenter extends BasePresenter<PayContract.View> implements Pay
|
|
|
OrderApiServerImpl mOrderApi;
|
|
|
List<PayResultBean> mPayResult;
|
|
|
Map<String, String> createOrderMap;
|
|
|
+ String nowOrderId = null;
|
|
|
|
|
|
public PayPresenter() {
|
|
|
this.mModel = new PayModel();
|
|
@@ -65,6 +68,15 @@ public class PayPresenter extends BasePresenter<PayContract.View> implements Pay
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
+ public void activityDestory() {
|
|
|
+ if (handler != null) {
|
|
|
+ handler.removeMessages(1);
|
|
|
+ handler.removeMessages(2);
|
|
|
+ handler = null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
public void initPayItem(LinearLayout itemFrame) {
|
|
|
Logger.e("initPayItem");
|
|
|
for (int i = 0; i < mPayResult.size(); i++) {
|
|
@@ -77,6 +89,30 @@ public class PayPresenter extends BasePresenter<PayContract.View> implements Pay
|
|
|
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public void isPaySuccess() {
|
|
|
+ mModel.isPay(mView.getActivity(), nowOrderId, new Callback() {
|
|
|
+ @Override
|
|
|
+ public void onSuccess(HttpInfo info) throws IOException {
|
|
|
+ HttpResultBean<PayResultBean> bean = info.getRetDetail(new TypeToken<HttpResultBean<PayResultBean>>() {
|
|
|
+ }.getType());
|
|
|
+ Logger.e("bean.get:" + info.getRetDetail());
|
|
|
+ Logger.e("status:" + bean.getData().getPayStatus());
|
|
|
+ if (bean.getData().getPayStatus().equals("SUCCESS")) {
|
|
|
+ handler.removeMessages(2);
|
|
|
+ } else {
|
|
|
+ handler.sendEmptyMessageDelayed(2, 3000);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onFailure(HttpInfo info) throws IOException {
|
|
|
+
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
void initItem(LinearLayout itemFrame, int position) {
|
|
|
View view = LayoutInflater.from(mView.getActivity()).inflate(R.layout.activity_pay_item, null);
|
|
|
view.setLayoutParams(new LinearLayout.LayoutParams(ActionBar.LayoutParams.MATCH_PARENT, 0, 1));
|
|
@@ -86,7 +122,7 @@ public class PayPresenter extends BasePresenter<PayContract.View> implements Pay
|
|
|
holder.mIsCheck.setVisibility(View.INVISIBLE);
|
|
|
double a = (Double.parseDouble(mPayResult.get(position).getOriginPrice()) / 100);
|
|
|
double b = (Double.parseDouble(mPayResult.get(position).getPrice()) / 100);
|
|
|
- holder.mContent.setText("原价:" + a + ",现价:" + b);
|
|
|
+ holder.mContent.setText("原价:" + a + ",现价:" + b + "元");
|
|
|
if (mPayResult.get(position).getPayType().equals("YEAR")) {
|
|
|
holder.mConstraintLayoutBg.setBackgroundColor(Color.parseColor("#FF904E"));
|
|
|
} else if (mPayResult.get(position).getPayType().equals("MONTH")) {
|
|
@@ -103,22 +139,14 @@ public class PayPresenter extends BasePresenter<PayContract.View> implements Pay
|
|
|
((PayItemHolder) view.getTag()).mIsCheck.setVisibility(View.VISIBLE);
|
|
|
Logger.e("选择了...." + ((PayItemHolder) view.getTag()).mPayMoney.getText().toString());
|
|
|
|
|
|
- if (createOrderMap == null) {
|
|
|
- createOrderMap = new HashMap<>();
|
|
|
- }
|
|
|
- createOrderMap.put("channel", Consts.getUmengChannel());
|
|
|
- createOrderMap.put("productId", mPayResult.get(position).getId());
|
|
|
- createOrderMap.put("first", "false");
|
|
|
- mOrderApi.createdOrder(mView.getActivity(), ((BaseActivity) mView.getActivity()).getGson().toJson(createOrderMap), new Callback() {
|
|
|
+ mModel.getPayQRCode(mView.getActivity(), mPayResult.get(position).getId(), new Callback() {
|
|
|
@Override
|
|
|
public void onSuccess(HttpInfo info) throws IOException {
|
|
|
- HttpResultBean<PayResultBean> bean = info.getRetDetail(new TypeToken<HttpResultBean<PayResultBean>>() {
|
|
|
+ Logger.e("info.getD:" + info.getRetDetail());
|
|
|
+ handler.removeMessages(2);
|
|
|
+ HttpResultBean<String> bean = info.getRetDetail(new TypeToken<HttpResultBean<String>>() {
|
|
|
}.getType());
|
|
|
-
|
|
|
-// BotSdk.getInstance().requireCharge(BotRegisterListener.mockAmountInfo(String.valueOf(Double.parseDouble(bean.getData().getPrice()) / 100)),
|
|
|
-// BotRegisterListener.mockSellerOlrderStructure(bean.getData().getProductId(), "123123123", bean.getData().getOrderId(), bean.getData().getTitle()),
|
|
|
-// bean.getData().getTitle());
|
|
|
- BotRegisterListener.requestBuyProduct();
|
|
|
+ mView.setQRCode(bean.getData().toString());
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -126,9 +154,55 @@ public class PayPresenter extends BasePresenter<PayContract.View> implements Pay
|
|
|
|
|
|
}
|
|
|
});
|
|
|
+// if (createOrderMap == null) {
|
|
|
+// createOrderMap = new HashMap<>();
|
|
|
+// }
|
|
|
+// createOrderMap.put("channel", Consts.getUmengChannel());
|
|
|
+// createOrderMap.put("productId", mPayResult.get(position).getId());
|
|
|
+// createOrderMap.put("first", "false");
|
|
|
+// mOrderApi.createdOrder(mView.getActivity(), ((BaseActivity) mView.getActivity()).getGson().toJson(createOrderMap), new Callback() {
|
|
|
+// @Override
|
|
|
+// public void onSuccess(HttpInfo info) throws IOException {
|
|
|
+// HttpResultBean<PayResultBean> bean = info.getRetDetail(new TypeToken<HttpResultBean<PayResultBean>>() {
|
|
|
+// }.getType());
|
|
|
+//
|
|
|
+////// BotSdk.getInstance().requireCharge(BotRegisterListener.mockAmountInfo(String.valueOf(Double.parseDouble(bean.getData().getPrice()) / 100)),
|
|
|
+////// BotRegisterListener.mockSellerOlrderStructure(bean.getData().getProductId(), "123123123", bean.getData().getOrderId(), bean.getData().getTitle()),
|
|
|
+////// bean.getData().getTitle());
|
|
|
+//// BotRegisterListener.requestBuyProduct();
|
|
|
+// mModel.getPayQRCode(mView.getActivity(), bean.getData().getProductId(), bean.getData().getOrderId(), new Callback() {
|
|
|
+// @Override
|
|
|
+// public void onSuccess(HttpInfo info) throws IOException {
|
|
|
+// Logger.e("info.getD:" + info.getRetDetail());
|
|
|
+// handler.removeMessages(2);
|
|
|
+// HttpResultBean<String> bean = info.getRetDetail(new TypeToken<HttpResultBean<String>>() {
|
|
|
+// }.getType());
|
|
|
+// mView.setQRCode(bean.getData().toString());
|
|
|
+// isPaySuccess();
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Override
|
|
|
+// public void onFailure(HttpInfo info) throws IOException {
|
|
|
+//
|
|
|
+// }
|
|
|
+// });
|
|
|
+// nowOrderId = bean.getData().getOrderId();
|
|
|
+//
|
|
|
+// }
|
|
|
+//
|
|
|
+// @Override
|
|
|
+// public void onFailure(HttpInfo info) throws IOException {
|
|
|
+//
|
|
|
+// }
|
|
|
+// });
|
|
|
|
|
|
});
|
|
|
itemFrame.addView(view);
|
|
|
+ if (position >= mPayResult.size() - 1) {
|
|
|
+ Logger.e("position:" + position);
|
|
|
+ Logger.e("mPayResult.size():" + mPayResult.size());
|
|
|
+ itemFrame.getChildAt(0).performClick();
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
Handler handler = new Handler(new Handler.Callback() {
|
|
@@ -138,6 +212,9 @@ public class PayPresenter extends BasePresenter<PayContract.View> implements Pay
|
|
|
case 1:
|
|
|
initItem(((LinearLayout) message.obj), message.arg1);
|
|
|
break;
|
|
|
+ case 2:
|
|
|
+ isPaySuccess();
|
|
|
+ break;
|
|
|
}
|
|
|
return false;
|
|
|
}
|