package com.hupu.games.pay;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.content.Intent;
import android.util.Log;
import android.widget.Toast;
import com.hupu.games.HuPuApp;
import com.hupu.games.R;
import com.hupu.games.activity.BaseGameActivity;
import com.hupu.games.activity.HupuBaseActivity;
import com.hupu.games.activity.goldbean.GoldBeanWebViewActivity;
import com.hupu.games.common.HuPuRes;
import com.hupu.games.common.SharedPreferencesMgr;
import com.hupu.games.data.BalanceReq;
import com.hupu.games.data.BaseEntity;
import com.hupu.games.data.BitCoinReq;
import com.hupu.games.data.CheckBag;
import com.hupu.games.data.SSLKey;
import com.hupu.games.data.goldbean.GoldBeanManager;
import com.hupu.games.data.goldbean.GoldDataService;
import com.hupu.http.HupuHttpHandler;
import com.pyj.activity.BaseActivity;
import com.pyj.common.DeviceInfo;
public class BasePayActivity extends BaseGameActivity {
public final static int DIALOG_NO_MONEY = 6682;
private int reqCharge;
private int reqNum;
private int pid;
public void showNoMoney(int p, int n) {
pid = p;
reqNum = n;
showCustomDialog(DIALOG_NO_MONEY, R.string.title_charge,
R.string.no_charge, TOW_BUTTONS, R.string.buy_at_once,
R.string.buy_later);
}
public void payError() {
showToast("您的购买出现异常,请重新提交。");
}
@Override
public void clickPositiveButton(int dialogId) {
super.clickPositiveButton(dialogId);
switch (dialogId) {
case DIALOG_NO_MONEY:
// 去冲钱
switchToPay(pid, reqNum, REQ_GO_CHARGE);
reqNum = 0;
pid = 0;
break;
case DIALOG_SHOW_BIND_PHONE:
switchToPhoneBindAct();
break;
case DIALOG_SHOW_CHARGE_NOTIFY:
switchToCharge();
break;
}
if (mDialog != null && mDialog.isShowing())
mDialog.dismiss();
}
@Override
public void clickNegativeButton(int dialogId) {
super.clickNegativeButton(dialogId);
switch (dialogId) {
case DIALOG_NO_MONEY:
reqNum = 0;
break;
case DIALOG_SHOW_BIND_PHONE:
break;
case DIALOG_EXCHANGE_PRIZE:
break;
case DIALOG_SHOW_CHARGE_NOTIFY:
break;
}
if (mDialog != null && mDialog.isShowing())
mDialog.dismiss();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REQ_GO_CHARGE) {
if (resultCode == RESULT_OK) {
if (data != null)
{
onChargeSuccess(data.getIntExtra("success", 1) == 1 ? true
: false);
}
}
}
if (requestCode == REQ_GO_BIND_PHONE) {
if (resultCode == RESULT_OK) {
onBindSuccess();
}
}
if (requestCode == REQ_GO_POST_ORDER) {
if(data!=null)
{
channelPayCallback(data);
}
}
}
public void channelPayCallback(Intent data)
{
int type = data.getIntExtra(GoldBeanWebViewActivity.TYPE_PATH, 0);
if(type!=GoldDataService.DATA_CHARGE_PATH_QUZI)
{
return;
}
boolean isSuccess = data.getIntExtra("success", 0) == 1 ? true
: false;
if(isSuccess)
{
// this.showToast(getString(R.string.hupudollar_quzitip_success));
GoldBeanManager.getInstance().quziDollarSuccessTips(this,GoldBeanManager.quzi_gold_num,GoldBeanManager.quzi_goldbean_num,GoldBeanManager.status);
}
else
{
this.showToast(getString(R.string.hupudollar_tip_failure));
}
if(GoldBeanManager.status.equals("2")||GoldBeanManager.status.equals("1"))
{
if(this.curFragmentIndex == BaseGameActivity.INDEX_LIVE)
{
if(this.mFragmentLive!=null)
{
isExchange = true;
this.mFragmentLive.sendQuizCommit();
}
}
else if(this.curFragmentIndex == BaseGameActivity.INDEX_QUIZ)
{
if(this.mFragmentQuizList!=null)
{
isExchange = true;
this.mFragmentQuizList.sendQuizCommit();
}
}
}
else
{
}
}
/** 充值成功 */
public void onChargeSuccess(boolean success) {
}
public void onBindSuccess() {
}
// 1 有权限,-1 未登陆,-2 无权限,-3无权限且余额不够购买
public void onCheckFinish(int state) {
}
/** 检查背包 */
public void bagVerify(int pid, boolean showDialog) {
String tk = SharedPreferencesMgr.getString("tk", null);
if (tk == null) {
// showCustomDialog(DIALOG_BUY_VIP_CHARG);
} else {
initParameter();
mParams.put("pid", "" + pid);
mParams.put("token", tk);
// Log.d("bagVerify", "token="+tk +" pid="+pid);
String sign = SSLKey.getSSLSign(mParams, SharedPreferencesMgr.getString("sugar", ""));//salt 值由init中的sugar给出。必须要有的。
mParams.put("sign", sign);
sendRequest(HuPuRes.REQ_METHOD_CHECK_BAG, mParams,
new HupuHttpHandler(this), showDialog);
}
}
public int money;
@Override
public void onReqResponse(Object o, int methodId) {
super.onReqResponse(o, methodId);
if (methodId == HuPuRes.REQ_METHOD_CHECK_BAG) {
CheckBag check = (CheckBag) o;
onCheckFinish(check.result);
}
if (methodId ==HuPuRes.REQ_METHOD_BET_COINS)
{
BitCoinReq req =(BitCoinReq)o;
if(req.balance ==-1)
{
showToast("token无效,请重新登录");
}
else
{
money=req.balance;
updateMoney(req.betCoins,req.balance);
}
}
else if (methodId == HuPuRes.REQ_METHOD_GET_HUPUDOLLOR_RECHARGEBEANS||methodId==HuPuRes.REQ_METHOD_GET_GOLD) {
GoldBeanManager.getInstance().recharge(this, o);
}
}
public void updateMoney(int betCoin,int balance)
{
}
public void switchToPay(int pid, int num, int reqCode) {
Intent in = new Intent(this, HupuOrderActivity.class);
in.putExtra("pid", "" + pid);
in.putExtra("number", "" + num);
startActivityForResult(in, reqCode);
}
/**请求余额*/
public void reqBitCoin(int qid)
{
if(mToken != null)
{
initParameter();
mParams.put("token", mToken);
mParams.put("qid", ""+qid);
sendRequest(HuPuRes.REQ_METHOD_BET_COINS, mParams, new HupuHttpHandler(
this), false);
}
}
/**
* 跳转到绑定手机
* */
public void switchToPhoneBindAct() {
Intent intent = new Intent(this, PhoneInputActivity.class);
startActivityForResult(intent, HupuBaseActivity.REQ_GO_BIND_PHONE);
}
void switchToCharge()
{
Intent order = new Intent(this, HupuOrderActivity.class);
startActivityForResult(order, REQ_GO_CHARGE);
}
}