Commit 0028c801 by 宁斌

1、支付模塊調整

parent 871b5035
......@@ -13,7 +13,7 @@ import com.gingersoft.gsa.cloud.login.mvp.ui.activity.ChooseRestaurantActivity;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.LoginActivity;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.SwitchServerActivity;
import com.gingersoft.gsa.cloud.login.mvp.ui.activity.WelcomeActivity;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.command.CommandImpl;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.command.CommandImpl;
public class ComponentLogin implements IComponent {
......
......@@ -132,7 +132,8 @@ public class ComponentMain implements IComponent {
}
private void openActivity(CC cc) {
Intent intent = new Intent(cc.getContext(), MainActivity.class);
// Intent intent = new Intent(cc.getContext(), MainActivity.class);
Intent intent = new Intent(cc.getContext(), NewMainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
cc.getContext().startActivity(intent);
}
......
......@@ -9,7 +9,6 @@ import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.constans.HttpsConstans;
import com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager;
import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.common.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.common.webview.WebviewHelper;
import com.gingersoft.gsa.cloud.component.ComponentName;
......@@ -18,9 +17,6 @@ import com.gingersoft.gsa.cloud.main.mvp.model.bean.CheckVersionRequest;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.MainBusinessBean;
import com.gingersoft.gsa.cloud.main.mvp.ui.activity.MainActivity;
import com.gingersoft.gsa.cloud.main.mvp.ui.fragment.HomeFragment;
import com.gingersoft.gsa.cloud.pay.pos.OnPosActionListener;
import com.gingersoft.gsa.cloud.pay.pos.PosPay;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.HywebPosResponse;
import com.jess.arms.di.scope.FragmentScope;
import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager;
......
......@@ -8,15 +8,11 @@ import android.text.TextUtils;
import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.common.webview.WebviewHelper;
import com.gingersoft.gsa.cloud.component.ComponentName;
import com.gingersoft.gsa.cloud.main.mvp.contract.NewMainContract;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.CheckVersionRequest;
import com.gingersoft.gsa.cloud.main.mvp.ui.activity.NewMainActivity;
import com.gingersoft.gsa.cloud.pay.pos.OnPosActionListener;
import com.gingersoft.gsa.cloud.pay.pos.PosPay;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.HywebPosResponse;
import com.jess.arms.di.scope.ActivityScope;
import com.jess.arms.http.imageloader.ImageLoader;
import com.jess.arms.integration.AppManager;
......
......@@ -7,16 +7,12 @@ import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager;
import com.gingersoft.gsa.cloud.common.core.settlement.SettlementReport;
import com.gingersoft.gsa.cloud.common.utils.JsonUtils;
import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.main.R;
import com.gingersoft.gsa.cloud.main.mvp.contract.SettlementReportContract;
import com.gingersoft.gsa.cloud.main.mvp.model.bean.SendSettlement;
import com.gingersoft.gsa.cloud.main.mvp.ui.activity.SettlementReportActivity;
import com.gingersoft.gsa.cloud.main.mvp.ui.adapter.SettlementReportItem5Adapter;
import com.gingersoft.gsa.cloud.main.mvp.ui.adapter.SettlementReportItemAdapter;
import com.gingersoft.gsa.cloud.pay.pos.OnPosActionListener;
import com.gingersoft.gsa.cloud.pay.pos.PosPay;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.HywebPosResponse;
import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem3;
import com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem5;
import com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog;
......
......@@ -10,11 +10,9 @@ import android.view.View;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.ContextCompat;
import com.billy.cc.core.component.CC;
import com.billy.cc.core.component.CCUtil;
import com.gingersoft.gsa.cloud.common.constans.AppConstans;
......@@ -27,22 +25,18 @@ import com.gingersoft.gsa.cloud.component.ComponentAction;
import com.gingersoft.gsa.cloud.component.ComponentName;
import com.gingersoft.gsa.cloud.order.bean.event.MealPayResultParam;
import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.pay.PayAction;
import com.gingersoft.gsa.cloud.pay.R;
import com.gingersoft.gsa.cloud.pay.R2;
import com.gingersoft.gsa.cloud.pay.bean.PayMethod;
import com.gingersoft.gsa.cloud.pay.di.component.DaggerPayResultComponent;
import com.gingersoft.gsa.cloud.pay.mvp.contract.PayResultContract;
import com.gingersoft.gsa.cloud.pay.mvp.presenter.PayResultPresenter;
import com.gingersoft.gsa.cloud.pay.pos.OnPosActionListener;
import com.gingersoft.gsa.cloud.pay.pos.PosAction;
import com.gingersoft.gsa.cloud.pay.pos.PosPay;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.bg.GetTxnIdRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos.AdjustTipRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos.RetrievalRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.AdjustTipRespose;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.HywebPosResponse;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.SaleRespose;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.constant.HywebActionStatusCode;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.bg.GetTxnIdRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.pos.AdjustTipRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.pos.RetrievalRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos.SaleRespose;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.constant.HywebActionStatusCode;
import com.gingersoft.gsa.cloud.pay.util.PayMethodUtils;
import com.gingersoft.gsa.cloud.print.bean.PrintContent;
import com.gingersoft.gsa.cloud.print.bean.adapter.PrintContentAdapter;
......@@ -56,12 +50,9 @@ import com.kingja.loadsir.core.LoadService;
import com.kingja.loadsir.core.LoadSir;
import com.qmuiteam.qmui.alpha.QMUIAlphaButton;
import com.qmuiteam.qmui.widget.QMUITopBar;
import java.util.List;
import butterknife.BindView;
import butterknife.OnClick;
import static com.jess.arms.utils.Preconditions.checkNotNull;
......@@ -152,7 +143,7 @@ public class PayResultActivity extends BaseFragmentActivity<PayResultPresenter>
callback1.showFinalStrategy(true);
}
//支付状态异常 重试查询
retrievalStatus(PosAction.SALE);
retrievalStatus(PayAction.SALE);
retryCount--;
}
});
......@@ -212,7 +203,7 @@ public class PayResultActivity extends BaseFragmentActivity<PayResultPresenter>
return drawable;
}
private void retrievalStatus(PosAction posAction) {
private void retrievalStatus(PayAction posAction) {
RetrievalRequest retrievalRequest = new RetrievalRequest();
retrievalRequest.setTXN_ID(mMealPayResultParam.getTxnId());
// PosPay.retrieval(mContext, this, mMealPayResultParam.getMealOrderPayRequest().getOrderId(), posAction, retrievalRequest, new OnPosActionListener() {
......
......@@ -6,7 +6,7 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract;
import com.gingersoft.gsa.cloud.table.mvp.contract.SetMealContract;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter;
......@@ -82,26 +82,26 @@ public abstract class SetMealModule {
@FragmentScope
@Provides
static FoodGroupAdapter provideFoodGroupAdapter(MealStandContract.View IView, @Named("foodGroupList") List<Food> foodGroupList) {
return new FoodGroupAdapter(IView.getActivity(), foodGroupList, IView.getFromType());
static FoodGroupAdapter provideFoodGroupAdapter(SetMealContract.View IView, @Named("foodGroupList") List<Food> foodGroupList) {
return new FoodGroupAdapter(IView.getActivity2(), foodGroupList, IView.getFromType());
}
@FragmentScope
@Provides
static FoodAdapter provideFoodAdapter(MealStandContract.View IView, @Named("foodList") List<Food> foodList) {
return new FoodAdapter(IView.getActivity(), foodList, IView.getFromType());
static FoodAdapter provideFoodAdapter(SetMealContract.View IView, @Named("foodList") List<Food> foodList) {
return new FoodAdapter(IView.getActivity2(), foodList, IView.getFromType());
}
@FragmentScope
@Provides
static ComboAdapter provideComboAdapter(MealStandContract.View IView, List<ComboItem> comboItemList) {
return new ComboAdapter(IView.getActivity(), comboItemList);
static ComboAdapter provideComboAdapter(SetMealContract.View IView, List<ComboItem> comboItemList) {
return new ComboAdapter(IView.getActivity2(), comboItemList);
}
@FragmentScope
@Provides
static ModifierAdapter provideModifierAdapter(MealStandContract.View IView, List<Modifier> modifierList) {
return new ModifierAdapter(IView.getActivity(), modifierList);
static ModifierAdapter provideModifierAdapter(SetMealContract.View IView, List<Modifier> modifierList) {
return new ModifierAdapter(IView.getActivity2(), modifierList);
}
@Named("foodGridLayoutManager")
......
......@@ -2,17 +2,16 @@ package com.gingersoft.gsa.cloud.table.mvp.action.order;
import android.text.TextUtils;
import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager;
import com.gingersoft.gsa.cloud.common.patterns.Strategy;
import com.gingersoft.gsa.cloud.common.utils.AppDevices;
import com.gingersoft.gsa.cloud.pay.bean.PosActionStatusExceptionParam;
import com.gingersoft.gsa.cloud.pay.pos.OnPosActionListener;
import com.gingersoft.gsa.cloud.pay.pos.PosAction;
import com.gingersoft.gsa.cloud.pay.pos.PosPay;
import com.gingersoft.gsa.cloud.pay.pos.fragment.PosActionStatusExceptionFragment;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.bg.GetTxnIdRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos.VoidRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.VoidRespose;
import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.pay.PayAction;
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.hyweb.bean.request.bg.GetTxnIdRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.pos.VoidRequest;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.OrderManagerResponse;
import com.jess.arms.base.BaseFragmentActivity;
......@@ -20,6 +19,8 @@ import com.jess.arms.mvp.IView;
import com.qmuiteam.qmui.widget.dialog.QMUIDialog;
import com.qmuiteam.qmui.widget.dialog.QMUIDialogAction;
import java.util.List;
/**
* @作者: bin
* @創建時間: 2021-01-15 15:19
......@@ -56,8 +57,8 @@ public class CancelOrder implements Strategy<OrderManagerResponse> {
dialogBuilder.setMessage("是否取消訂單?");
dialogBuilder.addAction(0, "確認", QMUIDialogAction.ACTION_PROP_NEGATIVE, (dialog, index) -> {
dialog.dismiss();
if (datasBean.withHywebPay() && AppDevices.isHywebPos()) {
hywebOrderCancle(datasBean);
if (AppDevices.isPosPay()) {
posOrderCancle(datasBean);
} else {
if (cancelListener != null) {
cancelListener.cancel(datasBean.getId());
......@@ -68,7 +69,7 @@ public class CancelOrder implements Strategy<OrderManagerResponse> {
dialogBuilder.create(R.style.MyDialogTheme2).show();
}
private void hywebOrderCancle(OrderManagerResponse datasBean) {
private void posOrderCancle(OrderManagerResponse datasBean) {
GetTxnIdRequest txnIdRequest = new GetTxnIdRequest();
txnIdRequest.setOrderId(datasBean.getId());
if (!TextUtils.isEmpty(datasBean.getTableNumber())) {
......@@ -78,7 +79,45 @@ public class CancelOrder implements Strategy<OrderManagerResponse> {
}
txnIdRequest.setAmount(datasBean.getAmount());
VoidRequest voidRequest = new VoidRequest();
// PosPay.voidO(mActivity, mRootView, voidRequest, txnIdRequest, new OnPosActionListener<VoidRespose>() {
int payType = 1106;
List<OrderManagerResponse.OrderPayBean> orderPays = datasBean.getOrderPays();
for (int i = 0; i < orderPays.size(); i++) {
final OrderManagerResponse.OrderPayBean orderPayBean = orderPays.get(i);
if (AppDevices.isYedpay()) {
payType = orderPayBean.getPayType();
}
}
RequestParms build = RequestParms.builder()
.action(PayAction.REFUND)
.orderId(DoshokuOrder.getInstance().getOrderId())
.resturantId(RestaurantInfoManager.newInstance().getRestaurantId())
.payType(payType)
.refundReason("客戶退款")
.resultCallback(new ResultCallback() {
@Override
public void onSuccess() {
if (cancelListener != null) {
cancelListener.refeshOrders();
}
}
@Override
public void onFailure(Throwable t) {
}
})
.build();
PaymentControl.newInstance().showPayFlowFragment(mActivity, build);
// PosPay.builder()
// .context(GsaCloudApplication.getAppContext())
// .lifecycleView(mRootView)
// .posRequest(voidRequest)
// .bgRequest(txnIdRequest)
// .callback(new PosCallbackListener<VoidRespose>() {
//
// @Override
// public void onPosSuccess(VoidRespose response) {
......
......@@ -2,7 +2,6 @@ package com.gingersoft.gsa.cloud.table.mvp.action.order;
import android.text.TextUtils;
import android.util.Log;
import com.billy.cc.core.component.CC;
import com.gingersoft.gsa.cloud.common.constans.PrintConstans;
import com.gingersoft.gsa.cloud.common.core.table.TableBean;
......@@ -18,9 +17,6 @@ import com.gingersoft.gsa.cloud.order.cart.ShoppingCart;
import com.gingersoft.gsa.cloud.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.pay.bean.PayMethod;
import com.gingersoft.gsa.cloud.pay.pos.OnPosActionListener;
import com.gingersoft.gsa.cloud.pay.pos.PosPay;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.HywebPosResponse;
import com.gingersoft.gsa.cloud.print.bean.PrintContent;
import com.gingersoft.gsa.cloud.print.bean.adapter.PrintContentAdapter;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.OrderManagerResponse;
......
package com.gingersoft.gsa.cloud.table.mvp.action.order;
import android.text.TextUtils;
import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.common.patterns.Strategy;
import com.gingersoft.gsa.cloud.pay.bean.PosActionStatusExceptionParam;
import com.gingersoft.gsa.cloud.pay.pos.OnPosActionListener;
import com.gingersoft.gsa.cloud.pay.pos.PosAction;
import com.gingersoft.gsa.cloud.pay.pos.PosPay;
import com.gingersoft.gsa.cloud.pay.pos.fragment.PosActionStatusExceptionFragment;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.bg.GetTxnIdRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos.RefundRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.RefundRespose;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.bg.GetTxnIdRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.pos.RefundRequest;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.OrderManagerResponse;
import com.jess.arms.base.BaseFragmentActivity;
......
package com.gingersoft.gsa.cloud.table.mvp.action.order;
import android.text.TextUtils;
import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.common.patterns.Strategy;
import com.gingersoft.gsa.cloud.common.utils.MoneyUtil;
import com.gingersoft.gsa.cloud.pay.bean.PosActionStatusExceptionParam;
import com.gingersoft.gsa.cloud.pay.pos.OnPosActionListener;
import com.gingersoft.gsa.cloud.pay.pos.PosAction;
import com.gingersoft.gsa.cloud.pay.pos.PosPay;
import com.gingersoft.gsa.cloud.pay.pos.fragment.PosActionStatusExceptionFragment;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.bg.GetTxnIdRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos.AdjustTipRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.AdjustTipRespose;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.bg.GetTxnIdRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.pos.AdjustTipRequest;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.OrderManagerResponse;
import com.gingersoft.gsa.cloud.ui.widget.dialog.KeyboardDialog;
import com.jess.arms.base.BaseFragmentActivity;
......
......@@ -57,7 +57,6 @@ public interface SetMealContract {
void resetPluMode();
void setMealRvScrollToPosition(int position);
void returnFoodGroupList(List<Food> foodGroupList);
......@@ -69,6 +68,8 @@ public interface SetMealContract {
void returnModifierList(List<Modifier> modifierList);
MealStandActivity getActivity2();
int getFromType();
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
......
......@@ -2,11 +2,13 @@ package com.gingersoft.gsa.cloud.table.mvp.model;
import android.app.Application;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import com.gingersoft.gsa.cloud.database.bean.Food;
import com.gingersoft.gsa.cloud.database.bean.FoodCombo;
import com.gingersoft.gsa.cloud.database.bean.FoodModifier;
import com.gingersoft.gsa.cloud.database.bean.Modifier;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.BaseOrderResponse;
import com.google.gson.Gson;
import com.jess.arms.integration.IRepositoryManager;
import com.jess.arms.mvp.BaseModel;
......@@ -19,7 +21,9 @@ import com.gingersoft.gsa.cloud.table.mvp.contract.SetMealContract;
import java.util.List;
import io.reactivex.Observable;
import io.reactivex.Single;
import okhttp3.RequestBody;
/**
......@@ -82,4 +86,19 @@ public class SetMealModel extends BaseModel implements SetMealContract.Model {
public Single<List<FoodModifier>> queryDB_FoodModifierList(long fid) {
return null;
}
@Override
public Observable<BaseResult> toOrderPay(RequestBody requestBody) {
return null;
}
@Override
public Observable<BaseResult> updateOrder(RequestBody formBody) {
return null;
}
@Override
public Observable<BaseOrderResponse> calculationPrice(long orderId) {
return null;
}
}
\ No newline at end of file
......@@ -10,7 +10,7 @@ import com.gingersoft.gsa.cloud.order.bean.response.OrderDiscountResponse;
import com.gingersoft.gsa.cloud.order.bean.response.OrderResponse;
import com.gingersoft.gsa.cloud.pay.contract.PayMethodContract;
import com.gingersoft.gsa.cloud.pay.PayAction;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.constant.HywebMethodConstant;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.constant.HywebMethodConstant;
import java.io.Serializable;
import java.util.List;
......
......@@ -29,7 +29,7 @@ import com.gingersoft.gsa.cloud.order.order.BaseOrder;
import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.pay.bean.PosActionStatusExceptionParam;
import com.gingersoft.gsa.cloud.pay.PayAction;
import com.gingersoft.gsa.cloud.pay.pos.fragment.PosActionStatusExceptionFragment;
import com.gingersoft.gsa.cloud.pay.device.pos.base.fragment.PosActionStatusExceptionFragment;
import com.gingersoft.gsa.cloud.table.FunctionTable;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.mvp.contract.TableContract;
......
......@@ -5,7 +5,7 @@ import android.content.Context;
import android.content.Intent;
import com.gingersoft.gsa.cloud.pay.bean.PosActionStatusExceptionParam;
import com.gingersoft.gsa.cloud.pay.pos.fragment.PosActionStatusExceptionFragment;
import com.gingersoft.gsa.cloud.pay.device.pos.base.fragment.PosActionStatusExceptionFragment;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.mvp.contract.AllOrderContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.response.OrderManagerResponse;
......
......@@ -9,7 +9,7 @@ import com.gingersoft.gsa.cloud.order.bean.response.OrderDiscountResponse;
import com.gingersoft.gsa.cloud.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.pay.bean.PayMethod;
import com.gingersoft.gsa.cloud.pay.contract.PayMethodContract;
import com.gingersoft.gsa.cloud.pay.pos.fragment.PosActionStatusExceptionFragment;
import com.gingersoft.gsa.cloud.pay.device.pos.base.fragment.PosActionStatusExceptionFragment;
import com.gingersoft.gsa.cloud.pay.util.PayMethodUtils;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.mvp.contract.OrderDetailContract;
......
......@@ -30,6 +30,7 @@ import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.widget.NestedScrollView;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.recyclerview.widget.DefaultItemAnimator;
......@@ -71,7 +72,7 @@ import com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood;
import com.gingersoft.gsa.cloud.table.mvp.model.bean.event.InitTableEvent;
import com.gingersoft.gsa.cloud.table.mvp.model.constant.OrderConentActionConstant;
import com.gingersoft.gsa.cloud.table.mvp.presenter.MealStandPresenter;
import com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.MealStandPresenter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BaseFragmentAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter;
import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter;
......@@ -157,7 +158,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
RecyclerView rv_discount;
@BindView(R2.id.scroll_combo)
ScrollView scroll_combo;
NestedScrollView scroll_combo;
@BindView(R2.id.rl_fine_tabs)
RelativeLayout rl_fine_tabs;
......@@ -283,10 +284,10 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
private ImageView[] ivPoints;
private int mPageIndex;
private int totalPage;
// @Inject
// @Named("foodGroupList")
@Inject
@Named("foodGroupList")
List<Food> mFoodGroupList;
// @Inject
@Inject
FoodGroupAdapter mFoodGroupAdapter;
private static final int ORDER_CONTENT_CODE = 1002;
......@@ -431,9 +432,9 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
PagerConfig.setShowLog(true);
// 使用原生的 Adapter 即可
mFoodGroupAdapter = new FoodGroupAdapter(this, foodGroupList, 1);
// mFoodGroupAdapter = new FoodGroupAdapter(this, foodGroupList, 1);
// mFoodGroupAdapter.setFoodGroupList(mFoodGroupList);
mFoodGroupAdapter.setFoodGroupList(mFoodGroupList);
rv_food_group.setAdapter(mFoodGroupAdapter);
mFoodGroupAdapter.setOnItemClickListener(new FoodGroupAdapter.OnItemClickListener() {
@Override
......
......@@ -18,7 +18,7 @@ import androidx.viewpager.widget.ViewPager;
import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.order.contract.OrderStatusContract;
import com.gingersoft.gsa.cloud.pay.pos.fragment.PosActionStatusExceptionFragment;
import com.gingersoft.gsa.cloud.pay.device.pos.base.fragment.PosActionStatusExceptionFragment;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.di.component.DaggerOrderCenterComponent;
......
......@@ -5,7 +5,6 @@ import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.view.Window;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.TextView;
......@@ -24,13 +23,9 @@ import com.gingersoft.gsa.cloud.common.utils.LanguageUtils;
import com.gingersoft.gsa.cloud.common.utils.time.TimeUtils;
import com.gingersoft.gsa.cloud.order.commodity.OrderDetail;
import com.gingersoft.gsa.cloud.order.contract.OrderStatusContract;
import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.pay.PayAction;
import com.gingersoft.gsa.cloud.pay.RequestParms;
import com.gingersoft.gsa.cloud.pay.bean.PayMethod;
import com.gingersoft.gsa.cloud.pay.bean.PosActionStatusExceptionParam;
import com.gingersoft.gsa.cloud.pay.lifecycle.fragment.PayFlowFragment;
import com.gingersoft.gsa.cloud.pay.pos.fragment.PosActionStatusExceptionFragment;
import com.gingersoft.gsa.cloud.pay.device.pos.base.fragment.PosActionStatusExceptionFragment;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.di.component.DaggerOrderDetailComponent;
......
......@@ -5,18 +5,16 @@ import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.gingersoft.gsa.cloud.common.loadsir.EmptyCallback;
import com.gingersoft.gsa.cloud.database.bean.Discount;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.di.component.DaggerBillDiscountComponent;
import com.gingersoft.gsa.cloud.table.di.component.DaggerNomalDiscountComponent;
import com.gingersoft.gsa.cloud.table.mvp.contract.NomalDiscountContract;
import com.gingersoft.gsa.cloud.table.mvp.presenter.discount.NomalDiscountPresenter;
import com.gingersoft.gsa.cloud.ui.adapter.TagViewAdapter;
......@@ -68,7 +66,7 @@ public class NomalDiscountFragment extends BaseFragment<NomalDiscountPresenter>
@Override
public void setupFragmentComponent(@NonNull AppComponent appComponent) {
DaggerBillDiscountComponent //如找不到该类,请编译一下项目
DaggerNomalDiscountComponent //如找不到该类,请编译一下项目
.builder()
.appComponent(appComponent)
.view(this)
......
......@@ -41,6 +41,7 @@ import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import com.gingersoft.gsa.cloud.table.BuildConfig;
import com.gingersoft.gsa.cloud.table.R;
import com.gingersoft.gsa.cloud.table.R2;
import com.gingersoft.gsa.cloud.table.di.component.DaggerSetMealComponent;
import com.gingersoft.gsa.cloud.table.mvp.contract.SetMealContract;
import com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.SetMealPresenter;
import com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity;
......@@ -271,7 +272,6 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
}
}
private void showComboModifierLayout() {
try {
View vsContent = vbComboModifier.inflate();
......@@ -520,9 +520,9 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
isPluMode = (boolean) SPUtils.get(MealConstant.EXIT_IS_PLU_MODE, false);
if (isPluMode) {
showViewModeVisibility(MealConstant.ViewMode_keys);
btnFid.setBackgroundColor(ArmsUtils.getColor(R.color.theme_hint_color));
btnFid.setBackgroundColor(ArmsUtils.getColor(mContext,R.color.theme_hint_color));
} else {
btnFid.setBackground(ArmsUtils.getDrawablebyResource(R.drawable.ui_selector_item_background));
btnFid.setBackground(ArmsUtils.getDrawablebyResource(mContext,R.drawable.ui_selector_item_background));
}
}
......@@ -530,7 +530,7 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
public void resetPluMode() {
isPluMode = false;
SPUtils.put(MealConstant.EXIT_IS_PLU_MODE, false);
btnFid.setBackground(ArmsUtils.getDrawablebyResource(R.drawable.ui_selector_item_background));
btnFid.setBackground(ArmsUtils.getDrawablebyResource(mContext,R.drawable.ui_selector_item_background));
}
@Override
......@@ -564,6 +564,11 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
}
@Override
public int getFromType() {
return 1;
}
@Override
public void recordOperat(boolean isPressButtonSound) {
}
......
......@@ -362,8 +362,6 @@
android:layout_below="@+id/ll_meals"
android:visibility="gone" />
<LinearLayout
android:id="@+id/ll_modify"
android:layout_width="match_parent"
......
......@@ -72,7 +72,7 @@ public class ArmsUtils {
* @param res
*/
public static void setViewHintSize(Context context, int size, TextView v, int res) {
SpannableString ss = new SpannableString(getResources().getString(
SpannableString ss = new SpannableString(getResources(context).getString(
res));
// 新建一个属性对象,设置文字的大小
AbsoluteSizeSpan ass = new AbsoluteSizeSpan(size, true);
......@@ -91,29 +91,29 @@ public class ArmsUtils {
* @return
*/
public static int dip2px(Context context, float dpValue) {
final float scale = getResources().getDisplayMetrics().density;
final float scale = getResources(context).getDisplayMetrics().density;
return (int) (dpValue * scale + 0.5f);
}
/**
* 获得资源
*/
public static Resources getResources() {
return Resources.getSystem();
public static Resources getResources(Context context) {
return context.getResources();
}
/**
* 得到字符数组
*/
public static String[] getStringArray(Context context, int id) {
return getResources().getStringArray(id);
return getResources(context).getStringArray(id);
}
/**
* pix转dip
*/
public static int pix2dip(Context context, int pix) {
final float densityDpi = getResources().getDisplayMetrics().density;
final float densityDpi = getResources(context).getDisplayMetrics().density;
return (int) (pix / densityDpi + 0.5f);
}
......@@ -126,7 +126,7 @@ public class ArmsUtils {
* @return
*/
public static int getDimens(Context context, int id) {
return (int) getResources().getDimension(id);
return (int) getResources(context).getDimension(id);
}
/**
......@@ -137,7 +137,7 @@ public class ArmsUtils {
* @return
*/
public static float getDimens(Context context, String dimenName) {
return getResources().getDimension(getResources().getIdentifier(dimenName, "dimen", context.getPackageName()));
return getResources(context).getDimension(getResources(context).getIdentifier(dimenName, "dimen", context.getPackageName()));
}
/**
......@@ -147,7 +147,7 @@ public class ArmsUtils {
*/
public static String getString(Context context, int stringID) {
return getResources().getString(stringID);
return getResources(context).getString(stringID);
}
/**
......@@ -157,7 +157,7 @@ public class ArmsUtils {
*/
public static String getString(Context context, String strName) {
return getString(context, getResources().getIdentifier(strName, "string", context.getPackageName()));
return getString(context, getResources(context).getIdentifier(strName, "string", context.getPackageName()));
}
/**
......@@ -169,7 +169,7 @@ public class ArmsUtils {
* @return
*/
public static <T extends View> T findViewByName(Context context, View view, String viewName) {
int id = getResources().getIdentifier(viewName, "id", context.getPackageName());
int id = getResources(context).getIdentifier(viewName, "id", context.getPackageName());
T v = (T) view.findViewById(id);
return v;
}
......@@ -183,7 +183,7 @@ public class ArmsUtils {
* @return
*/
public static <T extends View> T findViewByName(Context context, Activity activity, String viewName) {
int id = getResources().getIdentifier(viewName, "id", context.getPackageName());
int id = getResources(context).getIdentifier(viewName, "id", context.getPackageName());
T v = (T) activity.findViewById(id);
return v;
}
......@@ -195,7 +195,7 @@ public class ArmsUtils {
* @return
*/
public static int findLayout(Context context, String layoutName) {
int id = getResources().getIdentifier(layoutName, "layout", context.getPackageName());
int id = getResources(context).getIdentifier(layoutName, "layout", context.getPackageName());
return id;
}
......@@ -258,10 +258,7 @@ public class ArmsUtils {
* @return
*/
public static Drawable getDrawablebyResource(Context context, int rID) {
return getResources().getDrawable(rID);
}
public static Drawable getDrawablebyResource(int rID) {
return getResources().getDrawable(rID);
return getResources(context).getDrawable(rID);
}
/**
......@@ -315,7 +312,7 @@ public class ArmsUtils {
* @return
*/
public static int getScreenWidth(Context context) {
return getResources().getDisplayMetrics().widthPixels;
return getResources(context).getDisplayMetrics().widthPixels;
}
/**
......@@ -324,7 +321,7 @@ public class ArmsUtils {
* @return
*/
public static int getScreenHeidth(Context context) {
return getResources().getDisplayMetrics().heightPixels;
return getResources(context).getDisplayMetrics().heightPixels;
}
......@@ -332,21 +329,14 @@ public class ArmsUtils {
* 获得颜色
*/
public static int getColor(Context context, int rid) {
return getResources().getColor(rid);
}
/**
* 获得颜色
*/
public static int getColor( int rid) {
return getResources().getColor(rid);
return getResources(context).getColor(rid);
}
/**
* 获得颜色
*/
public static int getColor(Context context, String colorName) {
return getColor(context, getResources().getIdentifier(colorName, "color", context.getPackageName()));
return getColor(context, getResources(context).getIdentifier(colorName, "color", context.getPackageName()));
}
/**
......
......@@ -30,9 +30,9 @@ public class LoganManager {
public static void w_code(String TAG, String log) {
Logan.w(log, LoganConfig.CODE_LEVLE);
if (BuildConfig.DEBUG) {
// if (BuildConfig.DEBUG) {
Logan.f();
}
// }
printLog(TAG, log);
}
......
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.gingersoft.gsa.cloud.order">
<application>
<activity android:name="com.gingersoft.gsa.cloud.pay.lifecycle.activity.PayFlowActivity" />
</application>
</manifest>
......@@ -7,7 +7,7 @@ import com.gingersoft.gsa.cloud.common.core.table.TableBean;
import com.gingersoft.gsa.cloud.order.bean.request.MealOrderPayRequest;
import com.gingersoft.gsa.cloud.order.billItem.BillItem;
import com.gingersoft.gsa.cloud.pay.bean.PayMethod;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.SaleRespose;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos.SaleRespose;
import java.util.List;
import lombok.Data;
......
......@@ -3,7 +3,7 @@ package com.gingersoft.gsa.cloud.order.bean.request;
import android.os.Parcel;
import android.os.Parcelable;
import com.gingersoft.gsa.cloud.pay.pos.bean.PosMatter;
import com.gingersoft.gsa.cloud.pay.device.pos.base.bean.PosMatter;
import java.util.ArrayList;
import java.util.List;
......
......@@ -17,8 +17,8 @@ public abstract class MultyDiscount extends BillItem {
/**責任鏈中的下一個對象*/
protected MultyDiscount nextMultyDiscount;
/**
* 本次折扣金额
*/
* 本次折扣金额*/
protected double discountMoney = 0.0;
public MultyDiscount(String name,int status, MultyDiscount nextMultyDiscount) {
......
......@@ -4,8 +4,8 @@ package com.gingersoft.gsa.cloud.pay;
* @作者: bin
* @創建時間: 2021-04-14 12:28
* @更新時間: 2021-04-14 12:28
* @描述:
*/
* @描述:回调整个支付过程
* */
public class EventListener {
......
package com.gingersoft.gsa.cloud.pay;
import com.gingersoft.gsa.cloud.common.utils.AppDevices;
import com.gingersoft.gsa.cloud.pay.pos.PosPayAction;
import com.gingersoft.gsa.cloud.pay.pos.bbpos.BBPosManager;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.HywebManager;
import com.gingersoft.gsa.cloud.pay.pos.yedpay.YedpayManager;
import com.gingersoft.gsa.cloud.pay.device.pos.PosPayAction;
import com.gingersoft.gsa.cloud.pay.device.pos.bbpos.BBPosDevice;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.HywebDevice;
import com.gingersoft.gsa.cloud.pay.device.pos.yedpay.YedpayDevice;
/**
* @作者: bin
......@@ -12,17 +12,17 @@ import com.gingersoft.gsa.cloud.pay.pos.yedpay.YedpayManager;
* @更新時間: 2021-04-14 12:28
* @描述:
*/
public class OriginFactory {
public class PayDeviceFactory {
public static PosPayAction createPayOrigin(RequestParms requestParms) {
public static PosPayAction createPayDevice() {
if (AppDevices.isHywebPos()) {
return HywebManager.newInstance();
return HywebDevice.newInstance();
} else if (AppDevices.isBBPos()) {
return BBPosManager.newInstance();
return BBPosDevice.newInstance();
} else if (AppDevices.isYedpay()) {
return YedpayManager.newInstance(requestParms);
return YedpayDevice.newInstance();
}
return YedpayManager.newInstance(requestParms);
return YedpayDevice.newInstance();
}
}
package com.gingersoft.gsa.cloud.pay;
import com.gingersoft.gsa.cloud.pay.pos.PosPayAction;
import androidx.fragment.app.FragmentActivity;
import com.gingersoft.gsa.cloud.pay.lifecycle.fragment.PayFlowFragment;
import com.gingersoft.gsa.cloud.pay.device.pos.PosPayAction;
import com.jess.arms.utils.Preconditions;
import lombok.Getter;
......@@ -26,45 +29,50 @@ public class PaymentControl {
}
public void pay(RequestParms requestParms) {
final PosPayAction payOrigin = OriginFactory.createPayOrigin(requestParms);
final PosPayAction payOrigin = PayDeviceFactory.createPayOrigin();
Preconditions.checkNotNull(payOrigin);
payOrigin.pay(requestParms);
}
public void tip(RequestParms requestParms) {
final PosPayAction payOrigin = OriginFactory.createPayOrigin(requestParms);
final PosPayAction payOrigin = PayDeviceFactory.createPayOrigin();
Preconditions.checkNotNull(payOrigin);
payOrigin.tip(requestParms);
}
public void refund(RequestParms requestParms) {
final PosPayAction payOrigin = OriginFactory.createPayOrigin(requestParms);
final PosPayAction payOrigin = PayDeviceFactory.createPayOrigin();
Preconditions.checkNotNull(payOrigin);
payOrigin.refund(requestParms);
}
public void voidO(RequestParms requestParms) {
final PosPayAction payOrigin = OriginFactory.createPayOrigin(requestParms);
final PosPayAction payOrigin = PayDeviceFactory.createPayOrigin();
Preconditions.checkNotNull(payOrigin);
payOrigin.void0(this);
}
public void retrieval(RequestParms requestParms) {
final PosPayAction payOrigin = OriginFactory.createPayOrigin(requestParms);
final PosPayAction payOrigin = PayDeviceFactory.createPayOrigin();
Preconditions.checkNotNull(payOrigin);
payOrigin.retrieval(this);
}
public void printStub(RequestParms requestParms) {
final PosPayAction payOrigin = OriginFactory.createPayOrigin(requestParms);
final PosPayAction payOrigin = PayDeviceFactory.createPayOrigin();
Preconditions.checkNotNull(payOrigin);
payOrigin.printStub(this);
}
public void settlement(RequestParms requestParms) {
final PosPayAction payOrigin = OriginFactory.createPayOrigin(requestParms);
final PosPayAction payOrigin = PayDeviceFactory.createPayOrigin();
Preconditions.checkNotNull(payOrigin);
payOrigin.settlement(this);
}
public void showPayFlowFragment(FragmentActivity fragmentActivity,RequestParms requestParms){
PayFlowFragment payFlowFragment = PayFlowFragment.newInstance(requestParms);
payFlowFragment.show(fragmentActivity.getSupportFragmentManager(), "PayFlowDialogFragment");
}
}
......@@ -4,38 +4,32 @@ package com.gingersoft.gsa.cloud.pay.contract;
* @作者: bin
* @創建時間: 2020-12-28 10:40
* @更新時間: 2020-12-28 10:40
* @描述:支付方式類型
* @描述:支付方式
*/
public class PayTypeContract {
public class PayMethodContract {
/**
* 支付方式
*
* 1:寶達通
* 8:支付寶
* 1001:現金
* 1021:Google Pay
* 1023:支付寶HK
*
*
* <p>
* 1030:N5卡片
* 1031:N5掃碼
* 1032:N5八達通
* 1033:N5美國運通
*/
public static final int PAY_METHOD_ID_1100 = 1100;
public static final int PAY_METHOD_ID_1101 = 1101;
public static final int PAY_METHOD_ID_1103 = 1103;
public static final int PAY_METHOD_ID_1 = 1;
public static final int PAY_METHOD_ID_8 = 8;
public static final int PAY_METHOD_ID_1001 = 1001;
public static final int PAY_METHOD_ID_1021 = 1021;
public static final int PAY_METHOD_ID_1023 = 1023;
/**
* Hyweb POS支付方式
*
* 1030:N5卡片
* 1031:N5掃碼
* 1032:N5八達通
* 1033:N5美國運通
*/
public static final int PAY_METHOD_ID_1030 = 1030;
public static final int PAY_METHOD_ID_1031 = 1031;
......@@ -43,4 +37,17 @@ public class PayTypeContract {
public static final int PAY_METHOD_ID_1033 = 1033;
public static final int[] HYWEB_PAY_METHODS = {PAY_METHOD_ID_1030,PAY_METHOD_ID_1031,PAY_METHOD_ID_1032,PAY_METHOD_ID_1033};
/**
* Yedpay POS支付方式
*/
public static final int PAY_METHOD_ID_1040 = 1106;
public static final int PAY_METHOD_ID_1041 = 1041;
public static final int PAY_METHOD_ID_1042 = 1042;
public static final int[] YEDPAY_PAY_METHODS = {PAY_METHOD_ID_1040,PAY_METHOD_ID_1041,PAY_METHOD_ID_1042};
/**
* 积分支付
*/
public static final int PAY_METHOD_INTEGRAL = 2000;
}
package com.gingersoft.gsa.cloud.pay.phone;
package com.gingersoft.gsa.cloud.pay.device.phone;
import com.gingersoft.gsa.cloud.pay.Callback;
import com.gingersoft.gsa.cloud.pay.pos.bean.BasePosResponse;
/**
* @作者: bin
......
package com.gingersoft.gsa.cloud.pay.phone;
package com.gingersoft.gsa.cloud.pay.device.phone;
import com.gingersoft.gsa.cloud.pay.base.BasePayAction;
......
package com.gingersoft.gsa.cloud.pay;
package com.gingersoft.gsa.cloud.pay.device.pos;
import android.content.Context;
import com.gingersoft.gsa.cloud.pay.pos.PosPayAction;
import com.gingersoft.gsa.cloud.pay.pos.bean.BaseBgRequest;
import com.gingersoft.gsa.cloud.pay.pos.bean.BasePosRequest;
import com.gingersoft.gsa.cloud.pay.pos.yedpay.YedpayCallback;
import com.gingersoft.gsa.cloud.pay.Callback;
import com.gingersoft.gsa.cloud.pay.PayAction;
import com.gingersoft.gsa.cloud.pay.PayDeviceFactory;
import com.gingersoft.gsa.cloud.pay.device.pos.base.bean.BaseBgRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.base.bean.BasePosRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.yedpay.YedpayCallback;
import com.jess.arms.mvp.IView;
import com.jess.arms.utils.Preconditions;
......@@ -38,44 +40,44 @@ public final class PosPay {
final YedpayCallback yedpayCallback;
public void pay() {
final PosPayAction payOrigin = OriginFactory.createPayOrigin(null);
Preconditions.checkNotNull(payOrigin);
payOrigin.pay(this);
final PosPayAction payDevice = PayDeviceFactory.createPayDevice();
Preconditions.checkNotNull(payDevice);
payDevice.pay(this);
}
public void tip() {
final PosPayAction payOrigin = OriginFactory.createPayOrigin(null);
Preconditions.checkNotNull(payOrigin);
payOrigin.tip(this);
final PosPayAction payDevice = PayDeviceFactory.createPayDevice();
Preconditions.checkNotNull(payDevice);
payDevice.tip(this);
}
public void refund() {
final PosPayAction payOrigin = OriginFactory.createPayOrigin(null);
Preconditions.checkNotNull(payOrigin);
payOrigin.refund(this);
final PosPayAction payDevice = PayDeviceFactory.createPayDevice();
Preconditions.checkNotNull(payDevice);
payDevice.refund(this);
}
public void voidO() {
final PosPayAction payOrigin = OriginFactory.createPayOrigin(null);
Preconditions.checkNotNull(payOrigin);
payOrigin.void0(this);
final PosPayAction payDevice = PayDeviceFactory.createPayDevice();
Preconditions.checkNotNull(payDevice);
payDevice.void0(this);
}
public void retrieval() {
final PosPayAction payOrigin = OriginFactory.createPayOrigin(null);
Preconditions.checkNotNull(payOrigin);
payOrigin.retrieval(this);
final PosPayAction payDevice = PayDeviceFactory.createPayDevice();
Preconditions.checkNotNull(payDevice);
payDevice.retrieval(this);
}
public void printStub() {
final PosPayAction payOrigin = OriginFactory.createPayOrigin(null);
Preconditions.checkNotNull(payOrigin);
payOrigin.printStub(this);
final PosPayAction payDevice = PayDeviceFactory.createPayDevice();
Preconditions.checkNotNull(payDevice);
payDevice.printStub(this);
}
public void settlement() {
final PosPayAction payOrigin = OriginFactory.createPayOrigin(null);
Preconditions.checkNotNull(payOrigin);
payOrigin.settlement(this);
final PosPayAction payDevice = PayDeviceFactory.createPayDevice();
Preconditions.checkNotNull(payDevice);
payDevice.settlement(this);
}
}
package com.gingersoft.gsa.cloud.pay.pos;
package com.gingersoft.gsa.cloud.pay.device.pos;
import com.gingersoft.gsa.cloud.pay.base.BasePayAction;
......
package com.gingersoft.gsa.cloud.pay.pos.bean;
package com.gingersoft.gsa.cloud.pay.device.pos.base.bean;
import android.os.Parcel;
import android.os.Parcelable;
......
package com.gingersoft.gsa.cloud.pay.pos.fragment;
package com.gingersoft.gsa.cloud.pay.device.pos.base.fragment;
import android.content.Context;
import android.content.Intent;
......@@ -24,11 +24,8 @@ import com.gingersoft.gsa.cloud.common.loadsir.pos.PosVoidStatusExceptionCallbac
import com.gingersoft.gsa.cloud.order.R;
import com.gingersoft.gsa.cloud.order.R2;
import com.gingersoft.gsa.cloud.pay.bean.PosActionStatusExceptionParam;
import com.gingersoft.gsa.cloud.pay.pos.OnPosActionListener;
import com.gingersoft.gsa.cloud.pay.pos.PosPay;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos.RetrievalRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.HywebPosResponse;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.constant.HywebActionStatusCode;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.pos.RetrievalRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.constant.HywebActionStatusCode;
import com.jess.arms.base.BaseFragment;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.mvp.IView;
......@@ -38,8 +35,6 @@ import com.kingja.loadsir.core.LoadSir;
import com.kingja.loadsir.core.Transport;
import com.qmuiteam.qmui.alpha.QMUIAlphaButton;
import org.simple.eventbus.EventBus;
import butterknife.BindView;
import butterknife.OnClick;
......
package com.gingersoft.gsa.cloud.pay.pos.bbpos;
package com.gingersoft.gsa.cloud.pay.device.pos.bbpos;
import com.gingersoft.gsa.cloud.pay.pos.PosPayAction;
import com.gingersoft.gsa.cloud.pay.device.pos.PosPayAction;
/**
* @作者: bin
......@@ -8,18 +8,18 @@ import com.gingersoft.gsa.cloud.pay.pos.PosPayAction;
* @更新時間: 2021-04-14 12:08
* @描述:
*/
public class BBPosManager implements PosPayAction {
public class BBPosDevice implements PosPayAction {
private static BBPosManager sBBPosManager;
private static BBPosDevice sBBPosDevice;
public static BBPosManager newInstance() {
if (sBBPosManager == null) {
sBBPosManager = new BBPosManager();
public static BBPosDevice newInstance() {
if (sBBPosDevice == null) {
sBBPosDevice = new BBPosDevice();
}
return sBBPosManager;
return sBBPosDevice;
}
private BBPosManager() {
private BBPosDevice() {
}
@Override
......
package com.gingersoft.gsa.cloud.pay.pos.bbpos;
package com.gingersoft.gsa.cloud.pay.device.pos.bbpos;
import com.gingersoft.gsa.cloud.pay.Callback;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb;
import android.content.Intent;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb;
import com.gingersoft.gsa.cloud.pay.Callback;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb;
import com.gingersoft.gsa.cloud.pay.PosPay;
import com.gingersoft.gsa.cloud.pay.device.pos.PosPay;
import com.gingersoft.gsa.cloud.pay.PayAction;
import com.gingersoft.gsa.cloud.pay.pos.PosPayAction;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.bg.GetTxnIdRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos.AdjustTipRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos.RefundRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos.RetrievalRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos.SaleRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos.VoidRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.imp.PrintPaymentStubImpl;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.imp.RefundActionImpl;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.imp.RetrievalActionImpl;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.imp.SaleActionImpl;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.imp.SettlementActionImpl;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.imp.TipsActionImpl;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.imp.VoidActionImpl;
import com.gingersoft.gsa.cloud.pay.device.pos.PosPayAction;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.bg.GetTxnIdRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.pos.AdjustTipRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.pos.RefundRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.pos.RetrievalRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.pos.SaleRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.pos.VoidRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.imp.PrintPaymentStubImpl;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.imp.RefundActionImpl;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.imp.RetrievalActionImpl;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.imp.SaleActionImpl;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.imp.SettlementActionImpl;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.imp.TipsActionImpl;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.imp.VoidActionImpl;
/**
* @作者: bin
......@@ -23,18 +23,18 @@ import com.gingersoft.gsa.cloud.pay.pos.hyweb.imp.VoidActionImpl;
* @更新時間: 2021-04-14 12:08
* @描述:
*/
public class HywebManager implements PosPayAction<PosPay> {
public class HywebDevice implements PosPayAction<PosPay> {
private static HywebManager sHywebManager;
private static HywebDevice sHywebDevice;
public static HywebManager newInstance() {
if (sHywebManager == null) {
sHywebManager = new HywebManager();
public static HywebDevice newInstance() {
if (sHywebDevice == null) {
sHywebDevice = new HywebDevice();
}
return sHywebManager;
return sHywebDevice;
}
private HywebManager() {
private HywebDevice() {
}
@Override
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb;
import com.gingersoft.gsa.cloud.pay.Callback;
import com.gingersoft.gsa.cloud.pay.pos.bean.BasePosResponse;
import com.gingersoft.gsa.cloud.pay.device.pos.base.bean.BasePosResponse;
/**
* @作者: bin
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.bg;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.bg;
import com.gingersoft.gsa.cloud.pay.pos.bean.BaseBgRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.base.bean.BaseBgRequest;
import lombok.Data;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.pos;
import com.etps.aca.lib.constant.Constant;
import com.gingersoft.gsa.cloud.pay.pos.bean.BasePosRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.base.bean.BasePosRequest;
import lombok.Data;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.pos;
import com.etps.aca.lib.constant.Constant;
import com.gingersoft.gsa.cloud.pay.pos.bean.BasePosRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.base.bean.BasePosRequest;
import lombok.Data;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.pos;
import com.etps.aca.lib.constant.Constant;
import com.gingersoft.gsa.cloud.pay.pos.bean.BasePosRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.base.bean.BasePosRequest;
import lombok.Data;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.pos;
import com.gingersoft.gsa.cloud.pay.pos.bean.BasePosRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.base.bean.BasePosRequest;
import lombok.Data;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.pos;
import com.gingersoft.gsa.cloud.pay.pos.bean.BasePosRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.base.bean.BasePosRequest;
import lombok.Data;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.pos;
import com.gingersoft.gsa.cloud.pay.pos.bean.BasePosRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.base.bean.BasePosRequest;
import lombok.Data;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.pos;
import com.etps.aca.lib.constant.Constant;
import com.gingersoft.gsa.cloud.pay.pos.bean.BasePosRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.base.bean.BasePosRequest;
import lombok.Data;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.bg;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.bg;
import lombok.Getter;
import lombok.Setter;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.bg;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.bg;
import lombok.Getter;
import lombok.Setter;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.bg;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.bg;
import lombok.Getter;
import lombok.Setter;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.bg;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.bg;
import lombok.Getter;
import lombok.Setter;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos;
import android.os.Parcel;
import android.os.Parcelable;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos;
import android.os.Parcel;
import android.os.Parcelable;
import com.gingersoft.gsa.cloud.pay.pos.bean.BasePosResponse;
import com.gingersoft.gsa.cloud.pay.device.pos.base.bean.BasePosResponse;
import lombok.Data;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos;
import android.os.Parcel;
import android.os.Parcelable;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos;
import android.os.Parcel;
import android.os.Parcelable;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos;
import android.os.Parcel;
import android.os.Parcelable;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos;
import android.os.Parcel;
import android.os.Parcelable;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos;
import android.os.Parcel;
import android.os.Parcelable;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos;
import android.os.Parcel;
import android.os.Parcelable;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.command;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.command;
import android.app.Activity;
import android.content.Context;
......@@ -15,17 +15,17 @@ import com.gingersoft.gsa.cloud.common.utils.log.LogUtil;
import com.gingersoft.gsa.cloud.component.ComponentAction;
import com.gingersoft.gsa.cloud.component.ComponentName;
import com.gingersoft.gsa.cloud.pay.contract.PayExceptionCode;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.imp.IHywebAction;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.imp.IHywebAction;
import com.gingersoft.gsa.cloud.pay.PayAction;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.AdjustTipRespose;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.HywebPosResponse;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.PrintPaymentStubResponse;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.RefundRespose;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.RetrievalRespose;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.SaleRespose;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.SettlementRespose;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.VoidRespose;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.constant.HywebActionStatusCode;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos.AdjustTipRespose;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos.HywebPosResponse;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos.PrintPaymentStubResponse;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos.RefundRespose;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos.RetrievalRespose;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos.SaleRespose;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos.SettlementRespose;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos.VoidRespose;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.constant.HywebActionStatusCode;
import com.jess.arms.integration.AppManager;
import com.jess.arms.utils.ArmsUtils;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.imp;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.imp;
import android.app.Activity;
import android.content.Context;
import com.etps.aca.lib.util.CommandUtil;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.PosCallbackListener;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.PosCallbackListener;
import com.gingersoft.gsa.cloud.pay.PayAction;
import com.gingersoft.gsa.cloud.pay.pos.bean.PosMatter;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.HywebPosResponse;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.constant.HywebActionStatusCode;
import com.gingersoft.gsa.cloud.pay.device.pos.base.bean.PosMatter;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos.HywebPosResponse;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.constant.HywebActionStatusCode;
import com.gingersoft.gsa.cloud.pay.widget.StatusLoadingDialog;
import com.jess.arms.mvp.IView;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.imp;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.imp;
import android.app.Activity;
import android.content.Context;
import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.PosCallbackListener;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.PosCallbackListener;
import com.gingersoft.gsa.cloud.pay.PayAction;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos.PrintPaymentStubRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.HywebPosResponse;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.pos.PrintPaymentStubRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos.HywebPosResponse;
import com.jess.arms.mvp.IView;
/**
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.imp;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.imp;
import android.app.Activity;
import android.content.Context;
......@@ -10,14 +10,14 @@ import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.common.utils.okhttpUtils.OkHttp3Utils;
import com.gingersoft.gsa.cloud.pay.contract.PayExceptionCode;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.PosCallbackListener;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.PosCallbackListener;
import com.gingersoft.gsa.cloud.pay.PayAction;
import com.gingersoft.gsa.cloud.pay.pos.bean.PosMatter;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.bg.GetTxnIdRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos.RefundRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.bg.GetRefundIdResponse;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.RefundRespose;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.constant.HywebActionStatusCode;
import com.gingersoft.gsa.cloud.pay.device.pos.base.bean.PosMatter;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.bg.GetTxnIdRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.pos.RefundRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.bg.GetRefundIdResponse;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos.RefundRespose;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.constant.HywebActionStatusCode;
import com.jess.arms.mvp.IView;
import com.jess.arms.utils.RxLifecycleUtils;
import com.xuexiang.rxutil2.rxjava.RxSchedulerUtils;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.imp;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.imp;
import android.app.Activity;
import android.content.Context;
......@@ -12,14 +12,14 @@ import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.common.utils.okhttpUtils.OkHttp3Utils;
import com.gingersoft.gsa.cloud.order.bean.request.MealOrderPayRequest;
import com.gingersoft.gsa.cloud.pay.contract.PayExceptionCode;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.PosCallbackListener;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.PosCallbackListener;
import com.gingersoft.gsa.cloud.pay.PayAction;
import com.gingersoft.gsa.cloud.pay.pos.bean.PosMatter;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos.RetrievalRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.RetrievalRespose;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.SettlementRespose;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.constant.HywebActionStatusCode;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.constant.TransactionStatusCode;
import com.gingersoft.gsa.cloud.pay.device.pos.base.bean.PosMatter;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.pos.RetrievalRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos.RetrievalRespose;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos.SettlementRespose;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.constant.HywebActionStatusCode;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.constant.TransactionStatusCode;
import com.jess.arms.mvp.IView;
import com.xuexiang.rxutil2.rxjava.RxSchedulerUtils;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.imp;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.imp;
import android.app.Activity;
import android.content.Context;
......@@ -15,15 +15,15 @@ import com.gingersoft.gsa.cloud.component.ComponentName;
import com.gingersoft.gsa.cloud.order.bean.event.MealPayResultParam;
import com.gingersoft.gsa.cloud.order.bean.request.MealOrderPayRequest;
import com.gingersoft.gsa.cloud.pay.contract.PayExceptionCode;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.PosCallbackListener;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.PosCallbackListener;
import com.gingersoft.gsa.cloud.pay.PayAction;
import com.gingersoft.gsa.cloud.pay.pos.bean.PosMatter;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.bg.GetTxnIdRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos.SaleRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.bg.GetTxnIdResponse;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.HywebPosResponse;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.SaleRespose;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.constant.HywebActionStatusCode;
import com.gingersoft.gsa.cloud.pay.device.pos.base.bean.PosMatter;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.bg.GetTxnIdRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.pos.SaleRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.bg.GetTxnIdResponse;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos.HywebPosResponse;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos.SaleRespose;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.constant.HywebActionStatusCode;
import com.gingersoft.gsa.cloud.pay.widget.StatusLoadingDialog;
import com.jess.arms.mvp.IView;
import com.jess.arms.utils.RxLifecycleUtils;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.imp;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.imp;
import android.app.Activity;
import android.content.Context;
......@@ -10,10 +10,10 @@ import com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager;
import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.common.utils.okhttpUtils.OkHttp3Utils;
import com.gingersoft.gsa.cloud.pay.contract.PayExceptionCode;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.PosCallbackListener;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.PosCallbackListener;
import com.gingersoft.gsa.cloud.pay.PayAction;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos.SettlementRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.SettlementRespose;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.pos.SettlementRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos.SettlementRespose;
import com.jess.arms.mvp.IView;
import com.jess.arms.utils.RxLifecycleUtils;
import com.xuexiang.rxutil2.rxjava.RxSchedulerUtils;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.imp;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.imp;
import android.app.Activity;
import android.content.Context;
......@@ -10,14 +10,14 @@ import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.common.utils.okhttpUtils.OkHttp3Utils;
import com.gingersoft.gsa.cloud.pay.contract.PayExceptionCode;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.PosCallbackListener;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.PosCallbackListener;
import com.gingersoft.gsa.cloud.pay.PayAction;
import com.gingersoft.gsa.cloud.pay.pos.bean.PosMatter;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.bg.GetTxnIdRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos.AdjustTipRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.bg.GetTipTxnIdResponse;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.AdjustTipRespose;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.constant.HywebActionStatusCode;
import com.gingersoft.gsa.cloud.pay.device.pos.base.bean.PosMatter;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.bg.GetTxnIdRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.pos.AdjustTipRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.bg.GetTipTxnIdResponse;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos.AdjustTipRespose;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.constant.HywebActionStatusCode;
import com.jess.arms.mvp.IView;
import com.jess.arms.utils.RxLifecycleUtils;
import com.xuexiang.rxutil2.rxjava.RxSchedulerUtils;
......
package com.gingersoft.gsa.cloud.pay.pos.hyweb.imp;
package com.gingersoft.gsa.cloud.pay.device.pos.hyweb.imp;
import android.app.Activity;
import android.content.Context;
......@@ -10,14 +10,14 @@ import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils;
import com.gingersoft.gsa.cloud.common.utils.okhttpUtils.OkHttp3Utils;
import com.gingersoft.gsa.cloud.pay.contract.PayExceptionCode;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.PosCallbackListener;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.PosCallbackListener;
import com.gingersoft.gsa.cloud.pay.PayAction;
import com.gingersoft.gsa.cloud.pay.pos.bean.PosMatter;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.bg.GetTxnIdRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.request.pos.VoidRequest;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.bg.GetCancelTxnIdResponse;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.bean.response.pos.VoidRespose;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.constant.HywebActionStatusCode;
import com.gingersoft.gsa.cloud.pay.device.pos.base.bean.PosMatter;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.bg.GetTxnIdRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.pos.VoidRequest;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.bg.GetCancelTxnIdResponse;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.response.pos.VoidRespose;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.constant.HywebActionStatusCode;
import com.jess.arms.mvp.IView;
import com.jess.arms.utils.RxLifecycleUtils;
import com.xuexiang.rxutil2.rxjava.RxSchedulerUtils;
......
package com.gingersoft.gsa.cloud.pay.pos.yedpay;
import android.content.Intent;
package com.gingersoft.gsa.cloud.pay.device.pos.yedpay;
import com.gingersoft.gsa.cloud.pay.Callback;
import com.gingersoft.gsa.cloud.pay.pos.bean.BasePosResponse;
/**
* @作者: bin
......
package com.gingersoft.gsa.cloud.pay.pos.yedpay;
package com.gingersoft.gsa.cloud.pay.device.pos.yedpay;
import android.util.SparseArray;
import com.gingersoft.gsa.cloud.pay.RequestParms;
import com.gingersoft.gsa.cloud.pay.pos.PosPayAction;
import com.gingersoft.gsa.cloud.pay.pos.yedpay.constant.YedpayConstant;
import com.gingersoft.gsa.cloud.pay.device.pos.PosPayAction;
import com.gingersoft.gsa.cloud.pay.device.pos.yedpay.constant.YedpayConstant;
/**
* @作者: bin
......@@ -12,24 +12,19 @@ import com.gingersoft.gsa.cloud.pay.pos.yedpay.constant.YedpayConstant;
* @更新時間: 2021-04-14 12:08
* @描述:
*/
public class YedpayManager implements PosPayAction<RequestParms> {
public class YedpayDevice implements PosPayAction<RequestParms> {
private static YedpayManager sYedpayManager;
private static YedpayDevice sYedpayDevice;
private final SparseArray<String> mYedpayTypeMap = new SparseArray<>();
private RequestParms mRequestParms;
private YedpayCallback mYedpayCallback;
public static YedpayManager newInstance(RequestParms requestParms) {
if (sYedpayManager == null) {
sYedpayManager = new YedpayManager(requestParms);
public static YedpayDevice newInstance() {
if (sYedpayDevice == null) {
sYedpayDevice = new YedpayDevice();
}
return sYedpayManager;
return sYedpayDevice;
}
private YedpayManager(RequestParms requestParms) {
this.mRequestParms = requestParms;
this.mYedpayCallback = (YedpayCallback) requestParms.getCallback();
private YedpayDevice() {
initPayTypeMap();
}
......@@ -73,12 +68,14 @@ public class YedpayManager implements PosPayAction<RequestParms> {
@Override
public void pay(RequestParms params) {
String uriString = "yedpayapp://transaction?g=" + getPayType(params.getPayType()) + "&a=" + params.getPayMoney() + "";
mYedpayCallback.callSaleUri(uriString);
YedpayCallback callback = (YedpayCallback) params.getCallback();
callback.callSaleUri(uriString);
}
@Override
public void refund(RequestParms params) {
mYedpayCallback.refundResult(true);
YedpayCallback callback = (YedpayCallback) params.getCallback();
callback.refundResult(true);
}
......
package com.gingersoft.gsa.cloud.pay.lifecycle.activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Window;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.gingersoft.gsa.cloud.pay.RequestParms;
import com.gingersoft.gsa.cloud.pay.lifecycle.fragment.PayFlowFragment;
import com.jess.arms.base.BaseFragmentActivity;
import com.jess.arms.di.component.AppComponent;
import com.jess.arms.mvp.BasePresenter;
import com.jess.arms.mvp.IView;
import com.jess.arms.utils.ArmsUtils;
import me.yokeyword.fragmentation.anim.DefaultHorizontalAnimator;
import me.yokeyword.fragmentation.anim.FragmentAnimator;
import static com.jess.arms.utils.Preconditions.checkNotNull;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 05/13/2020 14:47
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public class PayFlowActivity extends BaseFragmentActivity<BasePresenter> implements IView {
@Override
public void setupActivityComponent(@NonNull AppComponent appComponent) {
// DaggerPayFlowComponent //如找不到该类,请编译一下项目
// .builder()
// .appComponent(appComponent)
// .view(this)
// .build()
// .inject(this);
}
@Override
public int initView(@Nullable Bundle savedInstanceState) {
return 0; //如果你不需要框架帮你设置 setContentView(id) 需要自行设置,请返回 0
}
@Override
public void initData(@Nullable Bundle savedInstanceState) {
if (findFragment(PayFlowFragment.class) == null) {
RequestParms requestParms = (RequestParms) getIntent().getSerializableExtra("requestParms");
// loadRootFragment(Window.ID_ANDROID_CONTENT, PayFlowFragment.newInstance(requestParms));
PayFlowFragment statusExceptionFragment = PayFlowFragment.newInstance(requestParms);
statusExceptionFragment.show(getSupportFragmentManager(), "PayFlowDialogFragment");
}
}
@Override
public void onBackPressedSupport() {
// 对于 4个类别的主Fragment内的回退back逻辑,已经在其onBackPressedSupport里各自处理了
super.onBackPressedSupport();
}
@Override
public FragmentAnimator onCreateFragmentAnimator() {
// 设置横向(和安卓4.x动画相同)
return new DefaultHorizontalAnimator();
}
@Override
public void initIntent() {
}
@Override
public void initTopBar() {
}
@Override
public void initLanguage() {
}
@Override
public void initLayoutParams() {
}
@Override
public void initLayoutVisible() {
}
@Override
public void showLoading(String message) {
}
@Override
public void hideLoading() {
}
@Override
public void showMessage(@NonNull String message) {
checkNotNull(message);
ArmsUtils.makeText(this, message);
}
@Override
public void launchActivity(@NonNull Intent intent) {
checkNotNull(intent);
ArmsUtils.startActivity(intent);
}
@Override
public void killMyself() {
finish();
}
}
package com.gingersoft.gsa.cloud.pay.lifecycle.case
/**
* @作者: bin
* @創建時間: 2021-04-16 10:05
* @更新時間: 2021-04-16 10:05
* @描述:
*/
class PayFlowCase {
}
\ No newline at end of file
......@@ -13,8 +13,10 @@ import android.view.WindowManager;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.gingersoft.gsa.cloud.common.logan.LoganManager;
import com.gingersoft.gsa.cloud.order.R;
import com.gingersoft.gsa.cloud.order.R2;
......@@ -31,7 +33,9 @@ import com.jess.arms.utils.ArmsUtils;
import com.gingersoft.gsa.cloud.pay.lifecycle.contract.PayFlowContract;
import com.gingersoft.gsa.cloud.pay.lifecycle.presenter.PayFlowPresenter;
import com.qmuiteam.qmui.util.QMUIDisplayHelper;
import butterknife.BindView;
import static com.jess.arms.utils.Preconditions.checkNotNull;
......@@ -91,12 +95,6 @@ public class PayFlowFragment extends BaseDialogFragment<PayFlowPresenter> implem
public void onStart() {
super.onStart();
mWindow.setBackgroundDrawable(new ColorDrawable(ArmsUtils.getColor(mContext, R.color.trans)));
// WindowManager.LayoutParams lp = mWindow.getAttributes();
// lp.width = QMUIDisplayHelper.dp2px(mContext,100);
// lp.height = QMUIDisplayHelper.dp2px(mContext,200);
// lp.gravity = Gravity.CENTER;
// lp.windowAnimations = android.R.style.Animation_InputMethod;
// mWindow.setAttributes(lp);
}
@Override
......@@ -140,10 +138,12 @@ public class PayFlowFragment extends BaseDialogFragment<PayFlowPresenter> implem
public void loadSuccess() {
as_status.loadSuccess();
killMyself();
}
public void loadFailure() {
as_status.loadFailure();
killMyself();
}
public void clearLoadingAnim() {
......@@ -183,7 +183,7 @@ public class PayFlowFragment extends BaseDialogFragment<PayFlowPresenter> implem
as_status.postDelayed(new Runnable() {
@Override
public void run() {
getDialog().cancel();
dismiss();
}
}, mCancelDelayMillis);
}
......@@ -203,7 +203,12 @@ public class PayFlowFragment extends BaseDialogFragment<PayFlowPresenter> implem
}
break;
}
default:
showStatusLoadingDialog(PayStep.FAILURE);
break;
}
} else {
showStatusLoadingDialog(PayStep.FAILURE);
}
}
......
......@@ -5,7 +5,6 @@ import android.content.Intent;
import android.net.Uri;
import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import com.gingersoft.gsa.cloud.common.core.user.UserContext;
import com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber;
import com.gingersoft.gsa.cloud.common.utils.AppDevices;
import com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils;
......@@ -14,12 +13,12 @@ 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.lifecycle.model.bean.YedpayFindSaleStatusBean;
import com.gingersoft.gsa.cloud.pay.phone.PhoneCallbackListener;
import com.gingersoft.gsa.cloud.pay.pos.PosPayAction;
import com.gingersoft.gsa.cloud.pay.pos.bbpos.BBposCallback;
import com.gingersoft.gsa.cloud.pay.pos.hyweb.HywebCallback;
import com.gingersoft.gsa.cloud.pay.pos.yedpay.YedpayCallback;
import com.gingersoft.gsa.cloud.pay.pos.yedpay.constant.YedpayConstant;
import com.gingersoft.gsa.cloud.pay.device.phone.PhoneCallbackListener;
import com.gingersoft.gsa.cloud.pay.device.pos.PosPayAction;
import com.gingersoft.gsa.cloud.pay.device.pos.bbpos.BBposCallback;
import com.gingersoft.gsa.cloud.pay.device.pos.hyweb.HywebCallback;
import com.gingersoft.gsa.cloud.pay.device.pos.yedpay.YedpayCallback;
import com.gingersoft.gsa.cloud.pay.device.pos.yedpay.constant.YedpayConstant;
import com.jess.arms.integration.AppManager;
import com.jess.arms.di.scope.FragmentScope;
import com.jess.arms.mvp.BasePresenter;
......@@ -78,10 +77,6 @@ public class PayFlowPresenter extends BasePresenter<PayFlowContract.Model, PayFl
this.mApplication = null;
}
public void yedPayActivityForResult() {
}
public void yedPayUpdateStatus(String transactionId, long orderId, int payType, int restaurantId) {
RequestBody requestBody = new FormBody.Builder()
.add("transactionId", transactionId)
......@@ -126,17 +121,16 @@ public class PayFlowPresenter extends BasePresenter<PayFlowContract.Model, PayFl
mResultCallback.onFailure(null);
}
}
mRootView.killMyself();
}
@Override
public void onError(Throwable t) {
super.onError(t);
mRootView.showStatusLoadingDialog(PayStep.FAILURE);
if (mResultCallback != null) {
mResultCallback.onFailure(t);
}
mRootView.killMyself();
}
});
}
......@@ -169,6 +163,15 @@ public class PayFlowPresenter extends BasePresenter<PayFlowContract.Model, PayFl
}
}
}
@Override
public void onError(Throwable t) {
super.onError(t);
mRootView.showStatusLoadingDialog(PayStep.FAILURE);
if (mResultCallback != null) {
mResultCallback.onFailure(t);
}
}
});
}
......
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