Commit 48ef3e27 by 宁斌

1、支付新增callbackImp类

parent 3f6c41b6
...@@ -2,6 +2,14 @@ ...@@ -2,6 +2,14 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gingersoft.gsa.cloud.table"> package="com.gingersoft.gsa.cloud.table">
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application <application
android:name="com.gingersoft.gsa.cloud.app.GsaCloudApplication" android:name="com.gingersoft.gsa.cloud.app.GsaCloudApplication"
android:allowBackup="true" android:allowBackup="true"
...@@ -25,10 +33,12 @@ ...@@ -25,10 +33,12 @@
android:launchMode="singleTop"/> android:launchMode="singleTop"/>
<activity <activity
android:name=".mvp.ui.activity.OrderPayActivity" android:name=".mvp.ui.activity.OrderPayActivity"
android:screenOrientation="portrait" /> android:screenOrientation="portrait"
<activity android:name="com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity" /> android:launchMode="singleTop"/>
<activity
<activity android:name="com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity" android:name=".mvp.ui.activity.SoldoutCtrlActivity" />
<activity
android:name=".mvp.ui.activity.TableActivity"
android:launchMode="singleTop"> android:launchMode="singleTop">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
...@@ -37,7 +47,6 @@ ...@@ -37,7 +47,6 @@
<category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter> </intent-filter>
</activity> </activity>
<meta-data <meta-data
android:name="com.gingersoft.gsa.cloud.common.config.globalconfig.GlobalConfiguration" android:name="com.gingersoft.gsa.cloud.common.config.globalconfig.GlobalConfiguration"
android:value="ConfigModule" /> android:value="ConfigModule" />
...@@ -48,13 +57,5 @@ ...@@ -48,13 +57,5 @@
android:name="design_height_in_dp" android:name="design_height_in_dp"
android:value="640"/> android:value="640"/>
</application> </application>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
</manifest> </manifest>
\ No newline at end of file
...@@ -394,7 +394,7 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen ...@@ -394,7 +394,7 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
@Override @Override
public void startMealStandActivity() { public void startMealStandActivity() {
startActivity(new Intent(this, MealStandActivity2.class)); startActivity(new Intent(this, MealStandActivity.class));
} }
@Override @Override
......
package com.gingersoft.gsa.cloud.pay.device.pos.bbpos;
/**
* @作者: bin
* @創建時間: 2021-04-23 10:08
* @更新時間: 2021-04-23 10:08
* @描述:
*/
public class BBposCallbackImp implements BBposCallback{
}
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb;
/**
* @作者: bin
* @創建時間: 2021-04-23 10:09
* @更新時間: 2021-04-23 10:09
* @描述:
*/
public class HywebCallbackImp implements HywebCallback{
}
package com.gingersoft.gsa.cloud.pay.device.pos.yedpay;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import com.gingersoft.gsa.cloud.pay.RequestParms;
import com.gingersoft.gsa.cloud.pay.device.pos.yedpay.constant.YedpayConstant;
import com.gingersoft.gsa.cloud.pay.lifecycle.presenter.PayFlowPresenter;
import java.lang.ref.WeakReference;
/**
* @作者: bin
* @創建時間: 2021-04-23 9:55
* @更新時間: 2021-04-23 9:55
* @描述:
*/
public class YedpayCallbackImp implements YedpayCallback {
private WeakReference<Activity> mContext;
private WeakReference<PayFlowPresenter> mPayFlowPresenter;
private RequestParms mRequestParms;
public YedpayCallbackImp(Activity context, PayFlowPresenter payFlowPresenter, RequestParms requestParms) {
this.mContext = new WeakReference<>(context);
this.mPayFlowPresenter = new WeakReference<>(payFlowPresenter);
this.mRequestParms = requestParms;
}
@Override
public void callSaleUri(String uri) {
Activity activity = mContext.get();
if (activity != null) {
Uri uri2 = Uri.parse(uri);
Intent intent = new Intent(Intent.ACTION_VIEW, uri2);
activity.startActivityForResult(intent, YedpayConstant.CallRequestCode.SALE_REQUEST_CODE);
}
}
@Override
public void refundResult(boolean result) {
PayFlowPresenter payFlowPresenter = mPayFlowPresenter.get();
if (payFlowPresenter != null && mRequestParms != null) {
payFlowPresenter.yedPayRefundOrder(mRequestParms.getRefundReason(), mRequestParms.getOrderId(), mRequestParms.getPayType(), mRequestParms.getResturantId());
}
}
}
...@@ -8,6 +8,11 @@ package com.gingersoft.gsa.cloud.pay.device.pos.yedpay.constant; ...@@ -8,6 +8,11 @@ package com.gingersoft.gsa.cloud.pay.device.pos.yedpay.constant;
*/ */
public interface YedpayConstant { public interface YedpayConstant {
interface CallRequestCode {
int SALE_REQUEST_CODE = 555;
}
/** /**
* 支付方式 * 支付方式
*/ */
......
package com.gingersoft.gsa.cloud.pay.lifecycle.contract; package com.gingersoft.gsa.cloud.pay.lifecycle.contract;
import android.app.Activity;
import android.content.Intent; import android.content.Intent;
import com.gingersoft.gsa.cloud.common.bean.BaseResult; import com.gingersoft.gsa.cloud.common.bean.BaseResult;
...@@ -30,6 +31,8 @@ public interface PayFlowContract { ...@@ -30,6 +31,8 @@ public interface PayFlowContract {
void showStatusLoadingDialog(PayStep status); void showStatusLoadingDialog(PayStep status);
void startActivityForResult(Intent intent); void startActivityForResult(Intent intent);
Activity getActivity();
} }
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存 //Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
......
...@@ -22,6 +22,7 @@ import com.gingersoft.gsa.cloud.order.R; ...@@ -22,6 +22,7 @@ import com.gingersoft.gsa.cloud.order.R;
import com.gingersoft.gsa.cloud.order.R2; import com.gingersoft.gsa.cloud.order.R2;
import com.gingersoft.gsa.cloud.pay.PayAction; import com.gingersoft.gsa.cloud.pay.PayAction;
import com.gingersoft.gsa.cloud.pay.PayStep; import com.gingersoft.gsa.cloud.pay.PayStep;
import com.gingersoft.gsa.cloud.pay.device.pos.yedpay.constant.YedpayConstant;
import com.gingersoft.gsa.cloud.pay.lifecycle.di.component.DaggerPayFlowComponent; import com.gingersoft.gsa.cloud.pay.lifecycle.di.component.DaggerPayFlowComponent;
import com.gingersoft.gsa.cloud.pay.RequestParms; import com.gingersoft.gsa.cloud.pay.RequestParms;
import com.gingersoft.gsa.cloud.pay.view.customstatus.CustomStatusView; import com.gingersoft.gsa.cloud.pay.view.customstatus.CustomStatusView;
...@@ -192,24 +193,24 @@ public class PayFlowFragment extends BaseDialogFragment<PayFlowPresenter> implem ...@@ -192,24 +193,24 @@ public class PayFlowFragment extends BaseDialogFragment<PayFlowPresenter> implem
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent intent) { public void onActivityResult(int requestCode, int resultCode, @Nullable Intent intent) {
super.onActivityResult(requestCode, resultCode, intent); super.onActivityResult(requestCode, resultCode, intent);
LoganManager.w_code(TAG, "onActivityResult->" + "resultCode=" + resultCode + " requestCode=" + requestCode); LoganManager.w_code(TAG, "onActivityResult->" + "resultCode=" + resultCode + " requestCode=" + requestCode);
// if (resultCode == android.app.Activity.RESULT_OK) { if (resultCode == android.app.Activity.RESULT_OK) {
// switch (requestCode) { switch (requestCode) {
// case 555: { case YedpayConstant.CallRequestCode.SALE_REQUEST_CODE: {
// if (intent.getExtras() != null) { if (intent.getExtras() != null) {
// String status = (String) intent.getExtras().get("status"); String status = (String) intent.getExtras().get("status");
// String transaction_id = (String) intent.getExtras().get("transaction_id"); String transaction_id = (String) intent.getExtras().get("transaction_id");
// LoganManager.w_code(TAG, "onActivityResult-》" + "status=" + status + " transaction_id=" + transaction_id); LoganManager.w_code(TAG, "onActivityResult-》" + "status=" + status + " transaction_id=" + transaction_id);
// mPresenter.yedPayUpdateStatus(transaction_id, requestParms.getOrderId(), requestParms.getPayType(), requestParms.getResturantId()); mPresenter.yedPayUpdateStatus(transaction_id, requestParms.getOrderId(), requestParms.getPayType(), requestParms.getResturantId());
// } }
// break; break;
// } }
// default: default:
// showStatusLoadingDialog(PayStep.FAILURE); showStatusLoadingDialog(PayStep.FAILURE);
// break; break;
// } }
// } else { } else {
// showStatusLoadingDialog(PayStep.FAILURE); showStatusLoadingDialog(PayStep.FAILURE);
// } }
} }
@Override @Override
......
package com.gingersoft.gsa.cloud.pay.lifecycle.presenter; package com.gingersoft.gsa.cloud.pay.lifecycle.presenter;
import android.app.Application; import android.app.Application;
import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.net.Uri; import android.net.Uri;
...@@ -12,6 +13,9 @@ import com.gingersoft.gsa.cloud.pay.PayStep; ...@@ -12,6 +13,9 @@ import com.gingersoft.gsa.cloud.pay.PayStep;
import com.gingersoft.gsa.cloud.pay.PaymentControl; import com.gingersoft.gsa.cloud.pay.PaymentControl;
import com.gingersoft.gsa.cloud.pay.RequestParms; import com.gingersoft.gsa.cloud.pay.RequestParms;
import com.gingersoft.gsa.cloud.pay.ResultCallback; import com.gingersoft.gsa.cloud.pay.ResultCallback;
import com.gingersoft.gsa.cloud.pay.device.pos.bbpos.BBposCallbackImp;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.HywebCallbackImp;
import com.gingersoft.gsa.cloud.pay.device.pos.yedpay.YedpayCallbackImp;
import com.gingersoft.gsa.cloud.pay.lifecycle.model.bean.YedpayFindSaleStatusBean; import com.gingersoft.gsa.cloud.pay.lifecycle.model.bean.YedpayFindSaleStatusBean;
import com.gingersoft.gsa.cloud.pay.device.phone.PhoneCallback; import com.gingersoft.gsa.cloud.pay.device.phone.PhoneCallback;
import com.gingersoft.gsa.cloud.pay.device.pos.PosPayAction; import com.gingersoft.gsa.cloud.pay.device.pos.PosPayAction;
...@@ -35,6 +39,8 @@ import javax.inject.Inject; ...@@ -35,6 +39,8 @@ import javax.inject.Inject;
import com.gingersoft.gsa.cloud.pay.lifecycle.contract.PayFlowContract; import com.gingersoft.gsa.cloud.pay.lifecycle.contract.PayFlowContract;
import com.jess.arms.utils.RxLifecycleUtils; import com.jess.arms.utils.RxLifecycleUtils;
import java.lang.ref.WeakReference;
/** /**
* ================================================ * ================================================
...@@ -59,7 +65,6 @@ public class PayFlowPresenter extends BasePresenter<PayFlowContract.Model, PayFl ...@@ -59,7 +65,6 @@ public class PayFlowPresenter extends BasePresenter<PayFlowContract.Model, PayFl
@Inject @Inject
AppManager mAppManager; AppManager mAppManager;
private PosPayAction mPosPayAction;
private RequestParms mRequestParms; private RequestParms mRequestParms;
private ResultCallback mResultCallback; private ResultCallback mResultCallback;
...@@ -123,7 +128,6 @@ public class PayFlowPresenter extends BasePresenter<PayFlowContract.Model, PayFl ...@@ -123,7 +128,6 @@ public class PayFlowPresenter extends BasePresenter<PayFlowContract.Model, PayFl
} }
} }
@Override @Override
public void onError(Throwable t) { public void onError(Throwable t) {
super.onError(t); super.onError(t);
...@@ -193,45 +197,15 @@ public class PayFlowPresenter extends BasePresenter<PayFlowContract.Model, PayFl ...@@ -193,45 +197,15 @@ public class PayFlowPresenter extends BasePresenter<PayFlowContract.Model, PayFl
private void setCallbackBy(RequestParms requestParms) { private void setCallbackBy(RequestParms requestParms) {
if (AppDevices.isHywebPos()) { if (AppDevices.isHywebPos()) {
requestParms.setCallback(hywebCallback); requestParms.setCallback(new HywebCallbackImp());
} else if (AppDevices.isBBPos()) { } else if (AppDevices.isBBPos()) {
requestParms.setCallback(bBposCallback); requestParms.setCallback(new BBposCallbackImp());
} else if (AppDevices.isYedpay()) { } else if (AppDevices.isYedpay()) {
requestParms.setCallback(yedpayCallback); requestParms.setCallback(new YedpayCallbackImp(mRootView.getActivity(), this, mRequestParms));
} else { } else {
requestParms.setCallback(yedpayCallback); requestParms.setCallback(new YedpayCallbackImp(mRootView.getActivity(), this, mRequestParms));
} }
} }
private HywebCallback hywebCallback = new HywebCallback() {
};
private YedpayCallback yedpayCallback = new YedpayCallback() {
@Override
public void callSaleUri(String uri) {
if (mRootView != null) {
Uri uri2 = Uri.parse(uri);
Intent intent = new Intent(Intent.ACTION_VIEW, uri2);
mRootView.startActivityForResult(intent);
}
}
@Override
public void refundResult(boolean result) {
yedPayRefundOrder(mRequestParms.getRefundReason(), mRequestParms.getOrderId(), mRequestParms.getPayType(), mRequestParms.getResturantId());
}
};
private BBposCallback bBposCallback = new BBposCallback() {
};
private PhoneCallback phoneCallback = new PhoneCallback() {
};
} }
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