Commit 48ef3e27 by 宁斌

1、支付新增callbackImp类

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