Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
supplier
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王宇航
supplier
Commits
f85dede9
Commit
f85dede9
authored
May 07, 2021
by
宁斌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1、yedpay事項查詢調整
parent
b08655a8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
55 changed files
with
646 additions
and
487 deletions
+646
-487
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/order/CancelOrder.java
+3
-3
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
+1
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter2.java
+1
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderPayPresenter.java
+0
-3
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/TablePresenter.java
+47
-20
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/SetMealPresenter.java
+1
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderContentActivity.java
+3
-3
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderPayActivity.java
+10
-8
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/discount/DiscountFragment.java
+6
-6
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/SetMealFragment.java
+0
-0
component-table/src/main/res/layout/layout_motion.xml
+15
-0
component-table/src/main/res/layout/meal_layout_discount.xml
+19
-0
component-table/src/main/res/layout/meal_layout_food_menu.xml
+3
-19
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/CommandCallback.java
+1
-1
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/PayAction.java
+9
-1
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/PayStep.java
+35
-1
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/PaymentCommand.java
+95
-0
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/PaymentControl.java
+0
-80
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/PaymentFactory.java
+10
-10
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/RequestParms.java
+47
-17
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/ResultCallback.java
+2
-3
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/contract/PayMethodContract.java
+24
-5
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/phone/PhoneCommand.java
+2
-2
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/phone/PhonePayAction.java
+0
-15
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/phone/PhonePayCommandImp.java
+13
-7
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/PosCommand.java
+7
-1
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/PosPay.java
+10
-10
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/base/fragment/PosActionStatusExceptionFragment.java
+4
-2
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/base/lifecycle/contract/PayFlowContract.java
+1
-9
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/base/lifecycle/fragment/PayFlowFragment.java
+4
-35
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/bbpos/BBPosCommandImp.java
+14
-6
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/bbpos/BBposCommand.java
+2
-2
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/bbpos/BBposCommandImp.java
+0
-12
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/hyweb/HywebCommand.java
+2
-2
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/hyweb/HywebCommandImp.java
+90
-3
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/hyweb/HywebDevice.java
+0
-91
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/hyweb/PosCallbackListener.java
+2
-2
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/hyweb/imp/RefundActionImpl.java
+1
-1
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/YedpayCommand.java
+3
-4
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/YedpayCommandImp.java
+23
-14
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/constant/YedpayConstant.java
+2
-1
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/contract/YedpayContract.java
+5
-1
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/fragment/YedpayFragment.java
+26
-13
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/model/YedpayModel.java
+14
-0
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/model/bean/request/GetYedPayRefundTxnIdRequest.java
+21
-0
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/model/bean/request/GetYedPayTxnIdRequest.java
+22
-0
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/model/bean/response/YedPayRefundBean.java
+1
-1
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/model/bean/response/YedpayFindSaleStatusBean.java
+1
-1
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/model/bean/response/bg/GetYedPayRefundTxnIdResponse.java
+17
-0
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/model/bean/response/bg/GetYedPayTxnIdResponse.java
+17
-0
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/model/service/YedpayService.java
+6
-0
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/presenter/YedpayPresenter.java
+0
-0
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/di/component/PayFlowComponent.java
+0
-44
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/di/module/PayFlowModule.java
+0
-28
library-ui/src/main/java/com/gingersoft/gsa/cloud/ui/view/OrderPayView.java
+4
-0
No files found.
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/order/CancelOrder.java
View file @
f85dede9
...
...
@@ -7,7 +7,7 @@ import com.gingersoft.gsa.cloud.common.patterns.Strategy;
import
com.gingersoft.gsa.cloud.common.utils.AppDevices
;
import
com.gingersoft.gsa.cloud.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.pay.PayAction
;
import
com.gingersoft.gsa.cloud.pay.PaymentCo
ntrol
;
import
com.gingersoft.gsa.cloud.pay.PaymentCo
mmand
;
import
com.gingersoft.gsa.cloud.pay.RequestParms
;
import
com.gingersoft.gsa.cloud.pay.ResultCallback
;
import
com.gingersoft.gsa.cloud.pay.bean.PayMethod
;
...
...
@@ -111,7 +111,7 @@ public class CancelOrder implements Strategy<OrderManagerResponse> {
}
@Override
public
void
external
Payment
()
{
public
void
fake
Payment
()
{
if
(
cancelListener
!=
null
)
{
cancelListener
.
cancel
(
datasBean
.
getId
());
}
...
...
@@ -123,7 +123,7 @@ public class CancelOrder implements Strategy<OrderManagerResponse> {
}
})
.
build
();
PaymentCo
ntrol
.
newInstance
().
showPayFlowFragment
(
mActivity
,
build
);
PaymentCo
mmand
.
newInstance
().
action
(
mActivity
.
getSupportFragmentManager
()
,
build
);
// PosPay.builder()
// .context(GsaCloudApplication.getAppContext())
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
View file @
f85dede9
...
...
@@ -1416,6 +1416,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
RequestBody
requestBody
=
new
FormBody
.
Builder
()
.
add
(
"orderId"
,
String
.
valueOf
(
mDoshokuOrder
.
getOrderId
()))
.
add
(
"person"
,
String
.
valueOf
(
peopleNumber
))
.
add
(
"scanId"
,
String
.
valueOf
(
mDoshokuOrder
.
getOpenTableInfo
().
getScanId
()))
.
build
();
mModel
.
updateOrder
(
requestBody
)
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter2.java
View file @
f85dede9
...
...
@@ -1432,6 +1432,7 @@ public abstract class BaseOrderPresenter2<M extends BaseOrderContract.Model, V e
RequestBody
requestBody
=
new
FormBody
.
Builder
()
.
add
(
"orderId"
,
String
.
valueOf
(
mDoshokuOrder
.
getOrderId
()))
.
add
(
"person"
,
String
.
valueOf
(
peopleNumber
))
.
add
(
"scanId"
,
String
.
valueOf
(
mDoshokuOrder
.
getOpenTableInfo
().
getScanId
()))
.
build
();
mModel
.
updateOrder
(
requestBody
)
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderPayPresenter.java
View file @
f85dede9
...
...
@@ -154,14 +154,11 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
RequestBody
requestBody
=
RequestBody
.
create
(
MediaType
.
parse
(
"application/json"
),
payRequest
);
mModel
.
toOrderPay
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
{
if
(
show
)
{
mRootView
.
showLoading
(
null
);
}
})
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/TablePresenter.java
View file @
f85dede9
...
...
@@ -28,9 +28,11 @@ import com.gingersoft.gsa.cloud.order.bean.response.OrderResponse;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
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.PaymentCommand
;
import
com.gingersoft.gsa.cloud.pay.RequestParms
;
import
com.gingersoft.gsa.cloud.pay.ResultCallback
;
import
com.gingersoft.gsa.cloud.pay.bean.PayMethod
;
import
com.gingersoft.gsa.cloud.pay.PayAction
;
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
;
...
...
@@ -72,14 +74,12 @@ import javax.inject.Inject;
import
io.reactivex.Observable
;
import
io.reactivex.Observer
;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.annotations.NonNull
;
import
io.reactivex.disposables.Disposable
;
import
io.reactivex.functions.Consumer
;
import
io.reactivex.schedulers.Schedulers
;
import
lombok.Data
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
import
me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber
;
import
okhttp3.FormBody
;
import
okhttp3.RequestBody
;
...
...
@@ -485,23 +485,50 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
OrderResponse
orderBean
=
respose
.
getData
();
if
(
orderBean
!=
null
&&
respose
.
getData
().
getOrderDetails
()
!=
null
)
{
if
(!
TextUtils
.
isEmpty
(
orderBean
.
getTxnId
()
))
{
final
String
txnId
=
orderBean
.
getTxnId
();
if
(!
TextUtils
.
isEmpty
(
txnId
))
{
//有支付異常事項需要處理
PosActionStatusExceptionFragment
statusExceptionFragment
=
IActivity
.
findFragment
(
PosActionStatusExceptionFragment
.
class
);
if
(
statusExceptionFragment
==
null
)
{
PosActionStatusExceptionParam
statusExceptionParam
=
new
PosActionStatusExceptionParam
();
statusExceptionParam
.
setTxnId
(
orderBean
.
getTxnId
());
statusExceptionParam
.
setAmount
(
orderBean
.
getTotalAmount
());
statusExceptionParam
.
setOrderId
(
orderBean
.
getId
());
statusExceptionParam
.
setOrderNo
(
orderBean
.
getOrderNo
());
statusExceptionParam
.
setPayMethodName
(
orderBean
.
getPayName
());
statusExceptionParam
.
setPosAction
(
PayAction
.
RETRIEVAL
);
IActivity
.
loadRootFragment
(
R
.
id
.
fl_container
,
PosActionStatusExceptionFragment
.
newInstance
(
statusExceptionParam
));
}
else
{
IActivity
.
start
(
statusExceptionFragment
);
}
return
;
RequestParms
parms
=
RequestParms
.
builder
()
.
action
(
PayAction
.
RETRIEVAL
)
.
txnId
(
txnId
)
.
resultCallback
(
new
ResultCallback
()
{
@Override
public
void
onSuccess
()
{
}
@Override
public
void
onFailure
(
Throwable
t
)
{
}
@Override
public
void
fakePayment
()
{
}
@Override
public
void
hybridPayment
(
List
<
PayMethod
>
payMethods
)
{
}
})
.
build
();
PaymentCommand
.
newInstance
().
matter
(
IActivity
.
getSupportFragmentManager
(),
parms
);
// PosActionStatusExceptionFragment statusExceptionFragment = IActivity.findFragment(PosActionStatusExceptionFragment.class);
// if (statusExceptionFragment == null) {
// PosActionStatusExceptionParam statusExceptionParam = new PosActionStatusExceptionParam();
// statusExceptionParam.setTxnId(orderBean.getTxnId());
// statusExceptionParam.setAmount(orderBean.getTotalAmount());
// statusExceptionParam.setOrderId(orderBean.getId());
// statusExceptionParam.setOrderNo(orderBean.getOrderNo());
// statusExceptionParam.setPayMethodName(orderBean.getPayName());
// statusExceptionParam.setPosAction(PayAction.RETRIEVAL);
// IActivity.loadRootFragment(R.id.fl_container, PosActionStatusExceptionFragment.newInstance(statusExceptionParam));
// } else {
// IActivity.start(statusExceptionFragment);
// }
// return;
}
if
(
respose
.
getData
().
getCreateTime
()
!=
null
&&
openTableBean
!=
null
)
{
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/SetMealPresenter.java
View file @
f85dede9
...
...
@@ -1715,6 +1715,7 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
return
true
;
}
String
User_Qty
=
foodBean
.
getCurrentMaxNumber
();
if
(!
TextUtils
.
isEmpty
(
User_Qty
))
{
String
msg
=
"["
+
foodBean
.
getFoodName
()
+
"]"
+
LanguageUtils
.
get_language_system
(
mRootView
.
getActivity2
(),
"Comm.pause"
,
"已暫停"
);
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderContentActivity.java
View file @
f85dede9
...
...
@@ -242,8 +242,8 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
tvOrderNo
.
setVisibility
(
View
.
GONE
);
}
else
{
TableBean
.
DataBean
tableInfo
=
mDoshokuOrder
.
getOpenTableInfo
();
Date
dd
=
mDoshokuOrder
.
getOpenTableTime
();
String
openTime
=
String
.
format
(
"%tH:%tM"
,
dd
,
dd
);
//
Date dd = mDoshokuOrder.getOpenTableTime();
//
String openTime = String.format("%tH:%tM", dd, dd);
String
tableno
;
if
(
tableInfo
.
getSplitStatus
()
!=
0
)
{
tableno
=
tableInfo
.
getTableName
().
trim
()
+
"-"
+
tableInfo
.
getTableNumber
().
trim
();
...
...
@@ -253,7 +253,7 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
btn_table
.
setText
(
tableno
);
tvOrderNo
.
setText
(
String
.
format
(
getString
(
R
.
string
.
meal_order_number
),
DoshokuOrder
.
getInstance
().
getOrderNo
()));
btn_people_num
.
setText
(
String
.
format
(
getString
(
R
.
string
.
meal_numberman_colon
),
tableInfo
.
getPerson
()));
tv_time
.
setText
(
"時間:"
+
openTime
);
//
tv_time.setText("時間:" + openTime);
tv_server_main
.
setText
(
UserContext
.
newInstance
().
getMemberName
());
}
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderPayActivity.java
View file @
f85dede9
...
...
@@ -32,7 +32,7 @@ import com.gingersoft.gsa.cloud.order.bean.request.MealOrderPayRequest;
import
com.gingersoft.gsa.cloud.order.billItem.BillItem
;
import
com.gingersoft.gsa.cloud.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.pay.PayAction
;
import
com.gingersoft.gsa.cloud.pay.PaymentCo
ntrol
;
import
com.gingersoft.gsa.cloud.pay.PaymentCo
mmand
;
import
com.gingersoft.gsa.cloud.pay.RequestParms
;
import
com.gingersoft.gsa.cloud.pay.ResultCallback
;
import
com.gingersoft.gsa.cloud.pay.bean.PayMethod
;
...
...
@@ -63,7 +63,6 @@ import com.xuexiang.rxutil2.rxjava.RxJavaUtils;
import
org.simple.eventbus.EventBus
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.concurrent.TimeUnit
;
...
...
@@ -207,8 +206,8 @@ public class OrderPayActivity extends BaseFragmentActivity<OrderPayPresenter> im
TableBean
.
DataBean
tableInfo
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
Date
dd
=
DoshokuOrder
.
getInstance
().
getOpenTableTime
();
String
openTime
=
String
.
format
(
"%tH:%tM"
,
dd
,
dd
);
//
Date dd = DoshokuOrder.getInstance().getOpenTableTime();
//
String openTime = String.format("%tH:%tM", dd, dd);
String
tableno
=
""
;
if
(
tableInfo
.
getSplitStatus
()
!=
0
)
{
...
...
@@ -217,7 +216,7 @@ public class OrderPayActivity extends BaseFragmentActivity<OrderPayPresenter> im
tableno
=
tableInfo
.
getTableName
();
}
btn_table
.
setText
(
tableno
);
tv_time
.
setText
(
"時間:"
+
openTime
);
//
tv_time.setText("時間:" + openTime);
btn_people_num
.
setText
(
tableInfo
.
getPerson
()
+
""
);
tv_server_main
.
setText
(
UserContext
.
newInstance
().
getMemberName
());
...
...
@@ -554,11 +553,14 @@ public class OrderPayActivity extends BaseFragmentActivity<OrderPayPresenter> im
//
// List<BillItem> billItemList = DoshokuOrder.getInstance().getShoppingCart().getBillItemList();
TableBean
.
DataBean
tableInfo
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
RequestParms
parms
=
RequestParms
.
builder
()
.
action
(
PayAction
.
SALE
)
.
resturantId
(
RestaurantInfoManager
.
newInstance
().
getRestaurantId
())
.
orderId
(
DoshokuOrder
.
getInstance
().
getOrderId
())
.
resturantId
(
RestaurantInfoManager
.
newInstance
().
getRestaurantId
())
.
tableId
(
tableInfo
.
getId
())
.
tableExtId
(
tableInfo
.
getTableNumber
())
.
payMethods
(
mBillMoneyList
)
.
payType
(
payMethod
.
getPayType
())
.
payMoney
(
payMethod
.
getPayMoney
())
...
...
@@ -575,7 +577,7 @@ public class OrderPayActivity extends BaseFragmentActivity<OrderPayPresenter> im
}
@Override
public
void
external
Payment
()
{
public
void
fake
Payment
()
{
mPresenter
.
sendOrderBefore
();
}
...
...
@@ -585,7 +587,7 @@ public class OrderPayActivity extends BaseFragmentActivity<OrderPayPresenter> im
}
})
.
build
();
PaymentCo
ntrol
.
newInstance
().
showPayFlowFragment
(
this
,
parms
);
PaymentCo
mmand
.
newInstance
().
action
(
getSupportFragmentManager
()
,
parms
);
// PosPay.builder()
// .context(GsaCloudApplication.getAppContext())
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/discount/DiscountFragment.java
View file @
f85dede9
...
...
@@ -129,15 +129,15 @@ public class DiscountFragment extends BaseFragment<BasePresenter> {
onDiscountItemClickListener
.
onBillDiscountClick
(
item
,
position
);
}
});
CouponFragment
couponFragment
=
CouponFragment
.
newInstance
(
CouponFragment
.
FOOD_LIMIT_DISCOUNT
);
couponFragment
.
setOnCouponItemClickListener
((
item
,
position
)
->
{
if
(
onDiscountItemClickListener
!=
null
)
{
onDiscountItemClickListener
.
onCouponClick
(
item
,
position
);
}
});
fragments
.
add
(
billDiscountFragment
);
MemberInfo
memberInfo
=
DoshokuOrder
.
getInstance
().
getMemberInfo
();
if
(
memberInfo
!=
null
)
{
CouponFragment
couponFragment
=
CouponFragment
.
newInstance
(
CouponFragment
.
FOOD_LIMIT_DISCOUNT
);
couponFragment
.
setOnCouponItemClickListener
((
item
,
position
)
->
{
if
(
onDiscountItemClickListener
!=
null
)
{
onDiscountItemClickListener
.
onCouponClick
(
item
,
position
);
}
});
fragments
.
add
(
couponFragment
);
}
return
fragments
;
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/SetMealFragment.java
View file @
f85dede9
This diff is collapsed.
Click to expand it.
component-table/src/main/res/layout/layout_motion.xml
0 → 100644
View file @
f85dede9
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<com.google.android.material.button.MaterialButton
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"登錄"
tools:layout_editor_absoluteX=
"114dp"
tools:layout_editor_absoluteY=
"59dp"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
component-table/src/main/res/layout/meal_layout_discount.xml
0 → 100644
View file @
f85dede9
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:id=
"@+id/ll_discount"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
>
<com.qmuiteam.qmui.widget.tab.QMUITabSegment2
android:id=
"@+id/tabs_discount"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_45"
/>
<androidx.viewpager2.widget.ViewPager2
android:id=
"@+id/pager_discount"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
</LinearLayout>
\ No newline at end of file
component-table/src/main/res/layout/meal_layout_food_menu.xml
View file @
f85dede9
...
...
@@ -42,27 +42,11 @@
android:orientation=
"vertical"
/>
</LinearLayout>
<include
layout=
"@layout/meal_layout_combo_modifier"
android:visibility=
"gone"
/>
<include
layout=
"@layout/meal_layout_combo_modifier"
/>
<include
layout=
"@layout/meal_layout_meal_fine"
android:visibility=
"gone"
/>
<include
layout=
"@layout/meal_layout_meal_fine"
/>
<FrameLayout
android:id=
"@+id/fl_discount_fragment"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_above=
"@+id/ll_modify"
android:visibility=
"gone"
>
<fragment
android:id=
"@+id/fragment_discount"
android:name=
"com.gingersoft.gsa.cloud.table.mvp.ui.fragment.discount.DiscountFragment"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
/>
</FrameLayout>
<include
layout=
"@layout/meal_layout_discount"
/>
<!--鍵盤-->
<com.gingersoft.gsa.cloud.ui.view.SearchKeyBoardView
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/Callback.java
→
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/C
ommandC
allback.java
View file @
f85dede9
...
...
@@ -8,6 +8,6 @@ import android.os.Parcelable;
* @更新時間: 2021-04-14 15:05
* @描述:
*/
public
interface
Callback
<
T
>
{
public
interface
C
ommandC
allback
<
T
>
{
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/PayAction.java
View file @
f85dede9
...
...
@@ -26,17 +26,25 @@ public enum PayAction {
switch
(
status
)
{
case
LOADING:
return
actionName
+
"中..."
;
case
FAILURE_OBTAIN_ID:
return
"調起"
+
actionName
+
"失敗"
;
case
SUCCESS:
return
actionName
+
"成功"
;
case
FAILURE:
return
actionName
+
"失敗"
;
case
NOT_ARRIVED:
return
"已支付未到賬"
;
case
REFUNDED:
return
"已退款"
;
case
REPEAL:
return
"廢棄(二次結賬)"
;
default
:
return
""
;
}
}
public
String
getLoadingStepText
(
String
errMsg
)
{
return
actionName
+
" "
+
errMsg
;
return
actionName
+
" "
+
errMsg
;
}
public
String
getCallbackExceptionText
()
{
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/PayStep.java
View file @
f85dede9
...
...
@@ -11,6 +11,40 @@ import lombok.Getter;
@Getter
public
enum
PayStep
{
LOADING
,
SUCCESS
,
FAILURE
/**
* 未支付
* 支付中
*/
LOADING
,
/**
* 獲取事項ID失敗
*/
FAILURE_OBTAIN_ID
,
/**
* 支付成功
*/
SUCCESS
,
/**
* 支付失败
*/
FAILURE
,
/**
* 已支付未到账
*/
NOT_ARRIVED
,
/**
* 已退款
*/
REFUNDED
,
/**
* 廢棄(第二次結賬)
*/
REPEAL
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/PaymentCommand.java
0 → 100644
View file @
f85dede9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
;
import
androidx.fragment.app.FragmentManager
;
import
com.gingersoft.gsa.cloud.pay.bean.PayMethod
;
import
com.gingersoft.gsa.cloud.pay.device.pos.PosCommand
;
import
com.jess.arms.utils.Preconditions
;
import
java.util.List
;
import
lombok.Getter
;
/**
* @作者: bin
* @創建時間: 2021-04-15 16:38
* @更新時間: 2021-04-15 16:38
* @描述:
*/
@Getter
public
class
PaymentCommand
{
private
static
PaymentCommand
sPaymentControl
;
public
static
PaymentCommand
newInstance
()
{
if
(
sPaymentControl
==
null
)
{
sPaymentControl
=
new
PaymentCommand
();
}
return
sPaymentControl
;
}
private
PaymentCommand
()
{
}
public
void
action
(
FragmentManager
fragmentManager
,
RequestParms
requestParms
)
{
final
PayMethod
currPosPaymethod
=
requestParms
.
getCurrPosPaymethod
();
if
(
currPosPaymethod
!=
null
)
{
final
PosCommand
command
=
PaymentFactory
.
createPosCommand
();
command
.
showActionDialog
(
fragmentManager
,
requestParms
);
}
else
{
final
ResultCallback
resultCallback
=
requestParms
.
getResultCallback
();
if
(
resultCallback
!=
null
)
{
resultCallback
.
fakePayment
();
}
}
}
public
void
matter
(
FragmentManager
fragmentManager
,
RequestParms
requestParms
)
{
// final PosCommand command = PaymentFactory.createPosCommand();
// command.showActionDialog(fragmentManager, requestParms);
}
public
void
pay
(
RequestParms
requestParms
)
{
final
PosCommand
command
=
PaymentFactory
.
createPosCommand
();
Preconditions
.
checkNotNull
(
command
);
command
.
pay
(
requestParms
);
}
public
void
tip
(
RequestParms
requestParms
)
{
final
PosCommand
command
=
PaymentFactory
.
createPosCommand
();
Preconditions
.
checkNotNull
(
command
);
command
.
tip
(
requestParms
);
}
public
void
refund
(
RequestParms
requestParms
)
{
final
PosCommand
command
=
PaymentFactory
.
createPosCommand
();
Preconditions
.
checkNotNull
(
command
);
command
.
refund
(
requestParms
);
}
public
void
voidO
(
RequestParms
requestParms
)
{
final
PosCommand
command
=
PaymentFactory
.
createPosCommand
();
Preconditions
.
checkNotNull
(
command
);
command
.
void0
(
this
);
}
public
void
retrieval
(
RequestParms
requestParms
)
{
final
PosCommand
command
=
PaymentFactory
.
createPosCommand
();
Preconditions
.
checkNotNull
(
command
);
command
.
retrieval
(
this
);
}
public
void
printStub
(
RequestParms
requestParms
)
{
final
PosCommand
command
=
PaymentFactory
.
createPosCommand
();
Preconditions
.
checkNotNull
(
command
);
command
.
printStub
(
this
);
}
public
void
settlement
(
RequestParms
requestParms
)
{
final
PosCommand
command
=
PaymentFactory
.
createPosCommand
();
Preconditions
.
checkNotNull
(
command
);
command
.
settlement
(
this
);
}
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/PaymentControl.java
deleted
100644 → 0
View file @
b08655a8
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
;
import
androidx.fragment.app.FragmentActivity
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.lifecycle.contract.YedpayContract
;
import
com.gingersoft.gsa.cloud.pay.lifecycle.fragment.PayFlowFragment
;
import
com.gingersoft.gsa.cloud.pay.device.pos.PosPayAction
;
import
com.jess.arms.mvp.BasePresenter
;
import
com.jess.arms.utils.Preconditions
;
import
lombok.Getter
;
/**
* @作者: bin
* @創建時間: 2021-04-15 16:38
* @更新時間: 2021-04-15 16:38
* @描述:
*/
@Getter
public
class
PaymentControl
{
private
static
PaymentControl
sPaymentControl
;
public
static
PaymentControl
newInstance
()
{
if
(
sPaymentControl
==
null
)
{
sPaymentControl
=
new
PaymentControl
();
}
return
sPaymentControl
;
}
private
PaymentControl
()
{
}
public
void
pay
(
RequestParms
requestParms
)
{
final
PosPayAction
payOrigin
=
PayDeviceFactory
.
createPayDevice
();
Preconditions
.
checkNotNull
(
payOrigin
);
payOrigin
.
pay
(
requestParms
);
}
public
void
tip
(
RequestParms
requestParms
)
{
final
PosPayAction
payOrigin
=
PayDeviceFactory
.
createPayDevice
();
Preconditions
.
checkNotNull
(
payOrigin
);
payOrigin
.
tip
(
requestParms
);
}
public
void
refund
(
RequestParms
requestParms
)
{
final
PosPayAction
payOrigin
=
PayDeviceFactory
.
createPayDevice
();
Preconditions
.
checkNotNull
(
payOrigin
);
payOrigin
.
refund
(
requestParms
);
}
public
void
voidO
(
RequestParms
requestParms
)
{
final
PosPayAction
payOrigin
=
PayDeviceFactory
.
createPayDevice
();
Preconditions
.
checkNotNull
(
payOrigin
);
payOrigin
.
void0
(
this
);
}
public
void
retrieval
(
RequestParms
requestParms
)
{
final
PosPayAction
payOrigin
=
PayDeviceFactory
.
createPayDevice
();
Preconditions
.
checkNotNull
(
payOrigin
);
payOrigin
.
retrieval
(
this
);
}
public
void
printStub
(
RequestParms
requestParms
)
{
final
PosPayAction
payOrigin
=
PayDeviceFactory
.
createPayDevice
();
Preconditions
.
checkNotNull
(
payOrigin
);
payOrigin
.
printStub
(
this
);
}
public
void
settlement
(
RequestParms
requestParms
)
{
final
PosPayAction
payOrigin
=
PayDeviceFactory
.
createPayDevice
();
Preconditions
.
checkNotNull
(
payOrigin
);
payOrigin
.
settlement
(
this
);
}
public
void
showPayFlowFragment
(
FragmentActivity
fragmentActivity
,
RequestParms
requestParms
){
PayFlowFragment
<
BasePresenter
<
YedpayContract
.
Model
,
YedpayContract
.
View
>>
payFlowFragment
=
PayFlowFragment
.
newInstance
(
requestParms
);
payFlowFragment
.
show
(
fragmentActivity
.
getSupportFragmentManager
(),
"PayFlowDialogFragment"
);
}
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/Pay
Device
Factory.java
→
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/Pay
ment
Factory.java
View file @
f85dede9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
;
import
com.gingersoft.gsa.cloud.common.utils.AppDevices
;
import
com.gingersoft.gsa.cloud.pay.device.pos.Pos
PayAction
;
import
com.gingersoft.gsa.cloud.pay.device.pos.bbpos.BBPos
Device
;
import
com.gingersoft.gsa.cloud.pay.device.pos.hyweb.Hyweb
Device
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.Yedpay
Device
;
import
com.gingersoft.gsa.cloud.pay.device.pos.Pos
Command
;
import
com.gingersoft.gsa.cloud.pay.device.pos.bbpos.BBPos
CommandImp
;
import
com.gingersoft.gsa.cloud.pay.device.pos.hyweb.Hyweb
CommandImp
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.Yedpay
CommandImp
;
/**
* @作者: bin
...
...
@@ -12,17 +12,17 @@ import com.gingersoft.gsa.cloud.pay.device.pos.yedpay.YedpayDevice;
* @更新時間: 2021-04-14 12:28
* @描述:
*/
public
class
Pay
Device
Factory
{
public
class
Pay
ment
Factory
{
public
static
Pos
PayAction
createPayDevice
()
{
public
static
Pos
Command
createPosCommand
()
{
if
(
AppDevices
.
isHywebPos
())
{
return
Hyweb
Device
.
newInstance
();
return
Hyweb
CommandImp
.
newInstance
();
}
else
if
(
AppDevices
.
isBBPos
())
{
return
BBPos
Device
.
newInstance
();
return
BBPos
CommandImp
.
newInstance
();
}
else
if
(
AppDevices
.
isYedpay
())
{
return
Yedpay
Device
.
newInstance
();
return
Yedpay
CommandImp
.
newInstance
();
}
return
Yedpay
Device
.
newInstance
();
return
Yedpay
CommandImp
.
newInstance
();
}
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/RequestParms.java
View file @
f85dede9
...
...
@@ -3,20 +3,12 @@ package com.gingersoft.gsa.cloud.pay;
import
android.os.Parcel
;
import
android.os.Parcelable
;
import
com.gingersoft.gsa.cloud.pay.Callback
;
import
com.gingersoft.gsa.cloud.pay.PayAction
;
import
com.gingersoft.gsa.cloud.pay.bean.PayMethod
;
import
com.g
oogle.gson.annotations.SerializedName
;
import
com.g
ingersoft.gsa.cloud.pay.contract.PayMethodContract
;
import
java.io.Serializable
;
import
java.util.List
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.Getter
;
import
lombok.Setter
;
import
okhttp3.OkHttpClient
;
import
retrofit2.Retrofit
;
/**
* @作者: bin
...
...
@@ -28,10 +20,12 @@ import retrofit2.Retrofit;
public
class
RequestParms
implements
Parcelable
{
private
PayAction
action
;
private
final
long
orderId
;
private
final
int
resturantId
;
private
int
tableId
;
private
String
tableExtId
;
private
final
List
<
PayMethod
>
payMethods
;
private
final
int
payType
;
private
final
long
orderId
;
private
final
double
payMoney
;
/**
* 自定義ID,與POS方綁定交易ID綁定,可用此ID查詢對應的交易記錄
...
...
@@ -44,7 +38,7 @@ public class RequestParms implements Parcelable {
/**
* 操作行为回调如支付,退款等
*/
private
C
allback
c
allback
;
private
C
ommandCallback
commandC
allback
;
/**
* 结果回调
*/
...
...
@@ -53,15 +47,33 @@ public class RequestParms implements Parcelable {
private
RequestParms
(
Builder
builder
)
{
this
.
action
=
builder
.
action
;
this
.
resturantId
=
builder
.
resturantId
;
this
.
orderId
=
builder
.
orderId
;
this
.
tableId
=
builder
.
tableId
;
this
.
tableExtId
=
builder
.
tableExtId
;
this
.
payMethods
=
builder
.
payMethods
;
this
.
payType
=
builder
.
payType
;
this
.
orderId
=
builder
.
orderId
;
this
.
payMoney
=
builder
.
payMoney
;
this
.
refundReason
=
builder
.
refundReason
;
this
.
callback
=
builder
.
callback
;
this
.
txnId
=
builder
.
txnId
;
this
.
commandCallback
=
builder
.
commandCallback
;
this
.
resultCallback
=
builder
.
resultCallback
;
}
public
PayMethod
getCurrPosPaymethod
()
{
if
(
payMethods
!=
null
)
{
List
<
Integer
>
posPaymethods
=
PayMethodContract
.
getPosPaymethods
();
for
(
PayMethod
payMethod
:
payMethods
)
{
for
(
Integer
posPaymethod
:
posPaymethods
)
{
if
(
payMethod
.
getPayType
()
==
posPaymethod
)
{
return
payMethod
;
}
}
}
}
return
null
;
}
public
static
Builder
builder
()
{
return
new
Builder
();
}
...
...
@@ -69,13 +81,16 @@ public class RequestParms implements Parcelable {
public
static
final
class
Builder
{
private
PayAction
action
;
private
long
orderId
;
private
int
resturantId
;
private
int
tableId
;
private
String
tableExtId
;
private
List
<
PayMethod
>
payMethods
;
private
int
payType
;
private
long
orderId
;
private
double
payMoney
;
private
String
txnId
;
private
String
refundReason
;
private
C
allback
c
allback
;
private
C
ommandCallback
commandC
allback
;
private
ResultCallback
resultCallback
;
public
Builder
action
(
PayAction
action
)
{
...
...
@@ -88,6 +103,16 @@ public class RequestParms implements Parcelable {
return
this
;
}
public
Builder
tableId
(
int
tableId
)
{
this
.
tableId
=
tableId
;
return
this
;
}
public
Builder
tableExtId
(
String
tableExtId
)
{
this
.
tableExtId
=
tableExtId
;
return
this
;
}
public
Builder
payMethods
(
List
<
PayMethod
>
payMethods
)
{
this
.
payMethods
=
payMethods
;
return
this
;
...
...
@@ -108,13 +133,18 @@ public class RequestParms implements Parcelable {
return
this
;
}
public
Builder
txnId
(
String
txnId
)
{
this
.
txnId
=
txnId
;
return
this
;
}
public
Builder
refundReason
(
String
refundReason
)
{
this
.
refundReason
=
refundReason
;
return
this
;
}
public
Builder
c
allback
(
Callback
c
allback
)
{
this
.
c
allback
=
c
allback
;
public
Builder
c
ommandCallback
(
CommandCallback
commandC
allback
)
{
this
.
c
ommandCallback
=
commandC
allback
;
return
this
;
}
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/ResultCallback.java
View file @
f85dede9
...
...
@@ -19,10 +19,9 @@ public interface ResultCallback {
void
onFailure
(
Throwable
t
);
/**
*
外部支付,交给回调方处
理
*
假支付,交给外部處
理
*/
void
externalPayment
();
void
fakePayment
();
/**
* 混合支付,选择二种以上支付方式
*/
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/contract/PayMethodContract.java
View file @
f85dede9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
contract
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @作者: bin
* @創建時間: 2020-12-28 10:40
...
...
@@ -10,7 +13,7 @@ public class PayMethodContract {
/**
* 支付方式
*
*
<p>
* 1:寶達通
* 8:支付寶
* 1001:現金
...
...
@@ -25,7 +28,7 @@ public class PayMethodContract {
/**
* Hyweb POS支付方式
*
*
<p>
* 1030:N5卡片
* 1031:N5掃碼
* 1032:N5八達通
...
...
@@ -35,8 +38,7 @@ public class PayMethodContract {
public
static
final
int
PAY_METHOD_ID_1031
=
1031
;
public
static
final
int
PAY_METHOD_ID_1032
=
1032
;
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
};
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支付方式
...
...
@@ -44,7 +46,24 @@ public class PayMethodContract {
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
[]
YEDPAY_PAY_METHODS
=
{
PAY_METHOD_ID_1040
,
PAY_METHOD_ID_1041
,
PAY_METHOD_ID_1042
};
/**
* 獲取所有POS支付方式
* @return
*/
public
static
final
List
<
Integer
>
getPosPaymethods
()
{
List
<
Integer
>
POS_PAY_METHODS
=
new
ArrayList
<>();
for
(
int
hywebPayMethod
:
HYWEB_PAY_METHODS
)
{
POS_PAY_METHODS
.
add
(
hywebPayMethod
);
}
for
(
int
yedpayPayMethod
:
YEDPAY_PAY_METHODS
)
{
POS_PAY_METHODS
.
add
(
yedpayPayMethod
);
}
return
POS_PAY_METHODS
;
}
/**
* 积分支付
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/phone/PhoneCommand.java
View file @
f85dede9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
phone
;
import
com.gingersoft.gsa.cloud.pay.
Callback
;
import
com.gingersoft.gsa.cloud.pay.
base.BasePayAction
;
/**
* @作者: bin
...
...
@@ -8,7 +8,7 @@ import com.gingersoft.gsa.cloud.pay.Callback;
* @更新時間: 2021-04-15 17:18
* @描述:
*/
public
interface
PhoneCommand
extends
Callback
{
public
interface
PhoneCommand
<
T
>
extends
BasePayAction
<
T
>
{
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/phone/PhonePayAction.java
deleted
100644 → 0
View file @
b08655a8
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
phone
;
import
com.gingersoft.gsa.cloud.pay.base.BasePayAction
;
/**
* @作者: bin
* @創建時間: 2021-04-14 12:10
* @更新時間: 2021-04-14 12:10
* @描述:
*/
public
interface
PhonePayAction
<
T
>
extends
BasePayAction
<
T
>
{
void
printStub
(
T
params
);
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/phone/PhonePay
Action
Imp.java
→
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/phone/PhonePay
Command
Imp.java
View file @
f85dede9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
phone
;
import
com.gingersoft.gsa.cloud.pay.RequestParms
;
/**
* @作者: bin
* @創建時間: 2021-04-14 12:10
* @更新時間: 2021-04-14 12:10
* @描述:
*/
public
class
PhonePayActionImp
implements
PhonePayAction
{
public
class
PhonePayCommandImp
implements
PhoneCommand
<
RequestParms
>
{
@Override
public
void
pay
(
Object
params
)
{
private
static
PhonePayCommandImp
sPhonePayCommand
;
public
static
PhonePayCommandImp
newInstance
()
{
if
(
sPhonePayCommand
==
null
)
{
sPhonePayCommand
=
new
PhonePayCommandImp
();
}
return
sPhonePayCommand
;
}
@Override
public
void
refund
(
Object
params
)
{
public
void
pay
(
RequestParms
params
)
{
}
@Override
public
void
printStub
(
Object
params
)
{
public
void
refund
(
RequestParms
params
)
{
}
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/Pos
PayAction
.java
→
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/Pos
Command
.java
View file @
f85dede9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
;
import
androidx.fragment.app.FragmentActivity
;
import
androidx.fragment.app.FragmentManager
;
import
com.gingersoft.gsa.cloud.pay.RequestParms
;
import
com.gingersoft.gsa.cloud.pay.base.BasePayAction
;
/**
...
...
@@ -8,7 +12,9 @@ import com.gingersoft.gsa.cloud.pay.base.BasePayAction;
* @更新時間: 2021-04-14 12:06
* @描述:
*/
public
interface
PosPayAction
<
T
>
extends
BasePayAction
<
T
>
{
public
interface
PosCommand
<
T
>
extends
BasePayAction
<
T
>
{
void
showActionDialog
(
FragmentManager
fragmentManager
,
RequestParms
requestParms
);
void
void0
(
T
params
);
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/PosPay.java
View file @
f85dede9
...
...
@@ -2,9 +2,9 @@ package com.gingersoft.gsa.cloud.pay.device.pos;
import
android.content.Context
;
import
com.gingersoft.gsa.cloud.pay.Callback
;
import
com.gingersoft.gsa.cloud.pay.C
ommandC
allback
;
import
com.gingersoft.gsa.cloud.pay.PayAction
;
import
com.gingersoft.gsa.cloud.pay.Pay
Device
Factory
;
import
com.gingersoft.gsa.cloud.pay.Pay
ment
Factory
;
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.YedpayCommand
;
...
...
@@ -30,7 +30,7 @@ public final class PosPay {
final
BasePosRequest
posRequest
;
final
BaseBgRequest
bgRequest
;
final
PayAction
retrievalAction
;
final
Callback
callback
;
final
C
ommandC
allback
callback
;
final
boolean
showLoading
;
final
long
orderId
;
final
String
txnId
;
...
...
@@ -40,43 +40,43 @@ public final class PosPay {
final
YedpayCommand
yedpayCallback
;
public
void
pay
()
{
final
Pos
PayAction
payDevice
=
PayDeviceFactory
.
createPayDevice
();
final
Pos
Command
payDevice
=
PaymentFactory
.
createPosCommand
();
Preconditions
.
checkNotNull
(
payDevice
);
payDevice
.
pay
(
this
);
}
public
void
tip
()
{
final
Pos
PayAction
payDevice
=
PayDeviceFactory
.
createPayDevice
();
final
Pos
Command
payDevice
=
PaymentFactory
.
createPosCommand
();
Preconditions
.
checkNotNull
(
payDevice
);
payDevice
.
tip
(
this
);
}
public
void
refund
()
{
final
Pos
PayAction
payDevice
=
PayDeviceFactory
.
createPayDevice
();
final
Pos
Command
payDevice
=
PaymentFactory
.
createPosCommand
();
Preconditions
.
checkNotNull
(
payDevice
);
payDevice
.
refund
(
this
);
}
public
void
voidO
()
{
final
Pos
PayAction
payDevice
=
PayDeviceFactory
.
createPayDevice
();
final
Pos
Command
payDevice
=
PaymentFactory
.
createPosCommand
();
Preconditions
.
checkNotNull
(
payDevice
);
payDevice
.
void0
(
this
);
}
public
void
retrieval
()
{
final
Pos
PayAction
payDevice
=
PayDeviceFactory
.
createPayDevice
();
final
Pos
Command
payDevice
=
PaymentFactory
.
createPosCommand
();
Preconditions
.
checkNotNull
(
payDevice
);
payDevice
.
retrieval
(
this
);
}
public
void
printStub
()
{
final
Pos
PayAction
payDevice
=
PayDeviceFactory
.
createPayDevice
();
final
Pos
Command
payDevice
=
PaymentFactory
.
createPosCommand
();
Preconditions
.
checkNotNull
(
payDevice
);
payDevice
.
printStub
(
this
);
}
public
void
settlement
()
{
final
Pos
PayAction
payDevice
=
PayDeviceFactory
.
createPayDevice
();
final
Pos
Command
payDevice
=
PaymentFactory
.
createPosCommand
();
Preconditions
.
checkNotNull
(
payDevice
);
payDevice
.
settlement
(
this
);
}
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/base/fragment/PosActionStatusExceptionFragment.java
View file @
f85dede9
...
...
@@ -23,6 +23,7 @@ import com.gingersoft.gsa.cloud.common.loadsir.pos.PosTipsStatusExceptionCallbac
import
com.gingersoft.gsa.cloud.common.loadsir.pos.PosVoidStatusExceptionCallback
;
import
com.gingersoft.gsa.cloud.order.R
;
import
com.gingersoft.gsa.cloud.order.R2
;
import
com.gingersoft.gsa.cloud.pay.PaymentCommand
;
import
com.gingersoft.gsa.cloud.pay.bean.PosActionStatusExceptionParam
;
import
com.gingersoft.gsa.cloud.pay.device.pos.hyweb.bean.request.pos.RetrievalRequest
;
import
com.gingersoft.gsa.cloud.pay.device.pos.hyweb.constant.HywebActionStatusCode
;
...
...
@@ -173,8 +174,9 @@ public class PosActionStatusExceptionFragment extends BaseFragment implements IV
}
private
void
retrievalStatus
()
{
RetrievalRequest
retrievalRequest
=
new
RetrievalRequest
();
retrievalRequest
.
setTXN_ID
(
mPosStatusExceptionParam
.
getTxnId
());
PaymentCommand
.
newInstance
().
retrieval
(
null
);
// RetrievalRequest retrievalRequest = new RetrievalRequest();
// retrievalRequest.setTXN_ID(mPosStatusExceptionParam.getTxnId());
// PosPay.retrieval(mContext, this, mPosStatusExceptionParam.getOrderId(), mPosStatusExceptionParam.getPosAction(),retrievalRequest, new OnPosActionListener() {
//
// @Override
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/contract/PayFlowContract.java
→
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/
device/pos/base/
lifecycle/contract/PayFlowContract.java
View file @
f85dede9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
lifecycle
.
contract
;
import
android.app.Activity
;
import
android.content.Intent
;
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
base
.
lifecycle
.
contract
;
import
androidx.fragment.app.Fragment
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.pay.PayStep
;
import
com.jess.arms.mvp.IView
;
import
com.jess.arms.mvp.IModel
;
import
io.reactivex.Single
;
import
okhttp3.RequestBody
;
/**
* ================================================
...
...
@@ -32,7 +25,6 @@ public interface PayFlowContract {
void
showStatusLoadingDialog
(
PayStep
status
);
Fragment
getFragment
();
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/fragment/PayFlowFragment.java
→
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/
device/pos/base/
lifecycle/fragment/PayFlowFragment.java
View file @
f85dede9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
lifecycle
.
fragment
;
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
base
.
lifecycle
.
fragment
;
import
android.content.Intent
;
import
android.graphics.drawable.ColorDrawable
;
...
...
@@ -19,15 +19,12 @@ 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.lifecycle.contract.YedpayContract
;
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
;
import
com.jess.arms.base.BaseDialogFragment
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.mvp.BasePresenter
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.gingersoft.gsa.cloud.pay.lifecycle.contract.PayFlowContract
;
import
com.gingersoft.gsa.cloud.pay.
device.pos.base.
lifecycle.contract.PayFlowContract
;
import
butterknife.BindView
;
...
...
@@ -46,7 +43,7 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public
class
PayFlowFragment
<
P
extends
BasePresenter
>
extends
BaseDialogFragment
implements
PayFlowContract
.
View
{
public
abstract
class
PayFlowFragment
<
P
extends
BasePresenter
>
extends
BaseDialogFragment
<
P
>
implements
PayFlowContract
.
View
{
@BindView
(
R2
.
id
.
ll_container
)
LinearLayout
ll_container
;
...
...
@@ -55,30 +52,12 @@ public class PayFlowFragment<P extends BasePresenter> extends BaseDialogFragment
@BindView
(
R2
.
id
.
tv_status
)
TextView
tv_status
;
protected
P
mPresenter
;
protected
RequestParms
requestParms
;
protected
PayAction
action
;
private
final
long
mCancelDelayMillis
=
2000
;
private
String
mLoadingText
=
"支付中..."
;
public
static
PayFlowFragment
newInstance
(
RequestParms
parms
)
{
PayFlowFragment
fragment
=
new
PayFlowFragment
();
Bundle
bundle
=
new
Bundle
();
bundle
.
putParcelable
(
"requestParms"
,
parms
);
fragment
.
setArguments
(
bundle
);
return
fragment
;
}
@Override
public
void
setupFragmentComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerPayFlowComponent
//如找不到该类,请编译一下项目
.
builder
()
.
appComponent
(
appComponent
)
.
view
(
this
)
.
build
()
.
inject
(
this
);
}
@Override
public
View
initView
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
...
...
@@ -95,11 +74,6 @@ public class PayFlowFragment<P extends BasePresenter> extends BaseDialogFragment
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
mPresenter
=
(
P
)
mPresenter
;
Bundle
arguments
=
getArguments
();
requestParms
=
arguments
.
getParcelable
(
"requestParms"
);
action
=
requestParms
.
getAction
();
tv_status
.
setText
(
mLoadingText
);
ll_container
.
setLayoutParams
(
new
FrameLayout
.
LayoutParams
((
int
)
(
ArmsUtils
.
getScreenWidth
(
mContext
)
*
0.4
),
(
int
)
(
ArmsUtils
.
getScreenWidth
(
mContext
)
*
0.4
)));
...
...
@@ -117,7 +91,7 @@ public class PayFlowFragment<P extends BasePresenter> extends BaseDialogFragment
case
SUCCESS:
loadSuccess
();
break
;
case
FAILURE
:
default
:
loadFailure
();
break
;
}
...
...
@@ -183,11 +157,6 @@ public class PayFlowFragment<P extends BasePresenter> extends BaseDialogFragment
},
mCancelDelayMillis
);
}
@Override
public
Fragment
getFragment
()
{
return
this
;
}
public
RequestParms
getRequestParms
()
{
return
requestParms
;
}
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/bbpos/BBPos
Device
.java
→
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/bbpos/BBPos
CommandImp
.java
View file @
f85dede9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
bbpos
;
import
com.gingersoft.gsa.cloud.pay.device.pos.PosPayAction
;
import
androidx.fragment.app.FragmentManager
;
import
com.gingersoft.gsa.cloud.pay.RequestParms
;
import
com.gingersoft.gsa.cloud.pay.device.pos.PosCommand
;
/**
* @作者: bin
...
...
@@ -8,18 +10,24 @@ import com.gingersoft.gsa.cloud.pay.device.pos.PosPayAction;
* @更新時間: 2021-04-14 12:08
* @描述:
*/
public
class
BBPos
Device
implements
PosPayAction
{
public
class
BBPos
CommandImp
implements
PosCommand
{
private
static
BBPos
Device
sBBPosDevice
;
private
static
BBPos
CommandImp
sBBPosDevice
;
public
static
BBPos
Device
newInstance
()
{
public
static
BBPos
CommandImp
newInstance
()
{
if
(
sBBPosDevice
==
null
)
{
sBBPosDevice
=
new
BBPos
Device
();
sBBPosDevice
=
new
BBPos
CommandImp
();
}
return
sBBPosDevice
;
}
private
BBPosDevice
()
{
private
BBPosCommandImp
()
{
}
@Override
public
void
showActionDialog
(
FragmentManager
fragmentManager
,
RequestParms
requestParms
)
{
}
@Override
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/bbpos/BBposCommand.java
View file @
f85dede9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
bbpos
;
import
com.gingersoft.gsa.cloud.pay.Callback
;
import
com.gingersoft.gsa.cloud.pay.C
ommandC
allback
;
/**
* @作者: bin
...
...
@@ -8,7 +8,7 @@ import com.gingersoft.gsa.cloud.pay.Callback;
* @更新時間: 2021-04-15 9:50
* @描述:
*/
public
interface
BBposCommand
extends
Callback
{
public
interface
BBposCommand
extends
C
ommandC
allback
{
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/bbpos/BBposCommandImp.java
deleted
100644 → 0
View file @
b08655a8
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
bbpos
;
/**
* @作者: bin
* @創建時間: 2021-04-23 10:08
* @更新時間: 2021-04-23 10:08
* @描述:
*/
public
class
BBposCommandImp
implements
BBposCommand
{
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/hyweb/HywebCommand.java
View file @
f85dede9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
hyweb
;
import
com.gingersoft.gsa.cloud.pay.Callback
;
import
com.gingersoft.gsa.cloud.pay.C
ommandC
allback
;
/**
* @作者: bin
...
...
@@ -8,7 +8,7 @@ import com.gingersoft.gsa.cloud.pay.Callback;
* @更新時間: 2021-04-15 9:50
* @描述:
*/
public
interface
HywebCommand
extends
Callback
{
public
interface
HywebCommand
extends
C
ommandC
allback
{
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/hyweb/HywebCommandImp.java
View file @
f85dede9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
hyweb
;
import
androidx.fragment.app.FragmentManager
;
import
com.gingersoft.gsa.cloud.pay.RequestParms
;
import
com.gingersoft.gsa.cloud.pay.device.pos.PosPay
;
import
com.gingersoft.gsa.cloud.pay.PayAction
;
import
com.gingersoft.gsa.cloud.pay.device.pos.PosCommand
;
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
* @創建時間: 2021-04-
23 10:09
* @更新時間: 2021-04-
23 10:09
* @創建時間: 2021-04-
14 12:08
* @更新時間: 2021-04-
14 12:08
* @描述:
*/
public
class
HywebCommandImp
implements
HywebCommand
{
public
class
HywebCommandImp
implements
PosCommand
<
PosPay
>
{
private
static
HywebCommandImp
sHywebDevice
;
public
static
HywebCommandImp
newInstance
()
{
if
(
sHywebDevice
==
null
)
{
sHywebDevice
=
new
HywebCommandImp
();
}
return
sHywebDevice
;
}
private
HywebCommandImp
()
{
}
@Override
public
void
showActionDialog
(
FragmentManager
fragmentManager
,
RequestParms
requestParms
)
{
}
@Override
public
void
void0
(
PosPay
posPay
)
{
new
VoidActionImpl
(
posPay
.
getContext
(),
posPay
.
getLifecycleView
(),
PayAction
.
VOID
,
(
VoidRequest
)
posPay
.
getPosRequest
(),
(
GetTxnIdRequest
)
posPay
.
getBgRequest
(),
(
PosCallbackListener
)
(
PosCallbackListener
)
posPay
.
getCallback
(),
true
)
.
onPosActionBefore
();
}
@Override
public
void
tip
(
PosPay
posPay
)
{
new
TipsActionImpl
(
posPay
.
getContext
(),
posPay
.
getLifecycleView
(),
PayAction
.
TIP
,
(
GetTxnIdRequest
)
posPay
.
getBgRequest
(),
(
AdjustTipRequest
)
posPay
.
getPosRequest
(),
(
PosCallbackListener
)
posPay
.
getCallback
(),
true
)
.
onPosActionBefore
();
}
@Override
public
void
retrieval
(
PosPay
posPay
)
{
new
RetrievalActionImpl
(
posPay
.
getContext
(),
posPay
.
getLifecycleView
(),
PayAction
.
RETRIEVAL
,
posPay
.
getRetrievalAction
(),
posPay
.
getOrderId
(),
(
RetrievalRequest
)
posPay
.
getPosRequest
(),
(
PosCallbackListener
)
posPay
.
getCallback
(),
false
);
}
@Override
public
void
printStub
(
PosPay
posPay
)
{
new
PrintPaymentStubImpl
(
posPay
.
getContext
(),
posPay
.
getLifecycleView
(),
PayAction
.
PRINT
,
posPay
.
getTxnId
(),
(
PosCallbackListener
)
posPay
.
getCallback
(),
true
)
.
onPosActionBefore
();
}
@Override
public
void
settlement
(
PosPay
posPay
)
{
new
SettlementActionImpl
(
posPay
.
getContext
(),
posPay
.
getLifecycleView
(),
PayAction
.
SETTLEMENT
,
(
PosCallbackListener
)
posPay
.
getCallback
(),
true
)
.
onPosActionBefore
();
}
@Override
public
void
pay
(
PosPay
posPay
)
{
new
SaleActionImpl
(
posPay
.
getContext
(),
posPay
.
getLifecycleView
(),
PayAction
.
SALE
,
(
SaleRequest
)
posPay
.
getPosRequest
(),
(
GetTxnIdRequest
)
posPay
.
getBgRequest
(),
(
PosCallbackListener
)
posPay
.
getCallback
(),
true
)
.
onPosActionBefore
();
}
@Override
public
void
refund
(
PosPay
posPay
)
{
new
RefundActionImpl
(
posPay
.
getContext
(),
posPay
.
getLifecycleView
(),
PayAction
.
REFUND
,
(
RefundRequest
)
posPay
.
getPosRequest
(),
(
GetTxnIdRequest
)
posPay
.
getBgRequest
(),
(
PosCallbackListener
)
posPay
.
getCallback
(),
true
)
.
onPosActionBefore
();
}
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/hyweb/HywebDevice.java
deleted
100644 → 0
View file @
b08655a8
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
hyweb
;
import
com.gingersoft.gsa.cloud.pay.device.pos.PosPay
;
import
com.gingersoft.gsa.cloud.pay.PayAction
;
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
* @創建時間: 2021-04-14 12:08
* @更新時間: 2021-04-14 12:08
* @描述:
*/
public
class
HywebDevice
implements
PosPayAction
<
PosPay
>
{
private
static
HywebDevice
sHywebDevice
;
public
static
HywebDevice
newInstance
()
{
if
(
sHywebDevice
==
null
)
{
sHywebDevice
=
new
HywebDevice
();
}
return
sHywebDevice
;
}
private
HywebDevice
()
{
}
@Override
public
void
void0
(
PosPay
posPay
)
{
new
VoidActionImpl
(
posPay
.
getContext
(),
posPay
.
getLifecycleView
(),
PayAction
.
VOID
,
(
VoidRequest
)
posPay
.
getPosRequest
(),
(
GetTxnIdRequest
)
posPay
.
getBgRequest
(),
(
PosCallbackListener
)
(
PosCallbackListener
)
posPay
.
getCallback
(),
true
)
.
onPosActionBefore
();
}
@Override
public
void
tip
(
PosPay
posPay
)
{
new
TipsActionImpl
(
posPay
.
getContext
(),
posPay
.
getLifecycleView
(),
PayAction
.
TIP
,
(
GetTxnIdRequest
)
posPay
.
getBgRequest
(),
(
AdjustTipRequest
)
posPay
.
getPosRequest
(),
(
PosCallbackListener
)
posPay
.
getCallback
(),
true
)
.
onPosActionBefore
();
}
@Override
public
void
retrieval
(
PosPay
posPay
)
{
new
RetrievalActionImpl
(
posPay
.
getContext
(),
posPay
.
getLifecycleView
(),
PayAction
.
RETRIEVAL
,
posPay
.
getRetrievalAction
(),
posPay
.
getOrderId
(),
(
RetrievalRequest
)
posPay
.
getPosRequest
(),
(
PosCallbackListener
)
posPay
.
getCallback
(),
false
);
}
@Override
public
void
printStub
(
PosPay
posPay
)
{
new
PrintPaymentStubImpl
(
posPay
.
getContext
(),
posPay
.
getLifecycleView
(),
PayAction
.
PRINT
,
posPay
.
getTxnId
(),
(
PosCallbackListener
)
posPay
.
getCallback
(),
true
)
.
onPosActionBefore
();
}
@Override
public
void
settlement
(
PosPay
posPay
)
{
new
SettlementActionImpl
(
posPay
.
getContext
(),
posPay
.
getLifecycleView
(),
PayAction
.
SETTLEMENT
,
(
PosCallbackListener
)
posPay
.
getCallback
(),
true
)
.
onPosActionBefore
();
}
@Override
public
void
pay
(
PosPay
posPay
)
{
new
SaleActionImpl
(
posPay
.
getContext
(),
posPay
.
getLifecycleView
(),
PayAction
.
SALE
,
(
SaleRequest
)
posPay
.
getPosRequest
(),
(
GetTxnIdRequest
)
posPay
.
getBgRequest
(),
(
PosCallbackListener
)
posPay
.
getCallback
(),
true
)
.
onPosActionBefore
();
}
@Override
public
void
refund
(
PosPay
posPay
)
{
new
RefundActionImpl
(
posPay
.
getContext
(),
posPay
.
getLifecycleView
(),
PayAction
.
REFUND
,
(
RefundRequest
)
posPay
.
getPosRequest
(),
(
GetTxnIdRequest
)
posPay
.
getBgRequest
(),
(
PosCallbackListener
)
posPay
.
getCallback
(),
true
)
.
onPosActionBefore
();
}
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/hyweb/PosCallbackListener.java
View file @
f85dede9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
hyweb
;
import
com.gingersoft.gsa.cloud.pay.Callback
;
import
com.gingersoft.gsa.cloud.pay.C
ommandC
allback
;
import
com.gingersoft.gsa.cloud.pay.device.pos.base.bean.BasePosResponse
;
/**
...
...
@@ -10,7 +10,7 @@ import com.gingersoft.gsa.cloud.pay.device.pos.base.bean.BasePosResponse;
* @更新時間: 2020-12-29 20:15
* @描述:POS事件回調
*/
public
interface
PosCallbackListener
<
T
extends
BasePosResponse
>
extends
Callback
<
BasePosResponse
>
{
public
interface
PosCallbackListener
<
T
extends
BasePosResponse
>
extends
C
ommandC
allback
<
BasePosResponse
>
{
/**
* 回調成功
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/hyweb/imp/RefundActionImpl.java
View file @
f85dede9
...
...
@@ -63,7 +63,7 @@ public class RefundActionImpl extends IHywebAction<RefundRespose> {
@Override
public
void
onNext
(
String
result
)
{
String
error
=
"調起
補
退款異常"
;
String
error
=
"調起退款異常"
;
if
(!
TextUtils
.
isEmpty
(
result
))
{
BaseResult
baseResult
=
GsonUtils
.
GsonToBean
(
result
,
BaseResult
.
class
);
if
(
baseResult
!=
null
)
{
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/YedpayCommand.java
View file @
f85dede9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
yedpay
;
import
com.gingersoft.gsa.cloud.pay.Callback
;
import
com.gingersoft.gsa.cloud.pay.C
ommandC
allback
;
/**
* @作者: bin
...
...
@@ -8,13 +8,12 @@ import com.gingersoft.gsa.cloud.pay.Callback;
* @更新時間: 2021-04-15 9:50
* @描述:
*/
public
interface
YedpayCommand
extends
Callback
{
public
interface
YedpayCommand
extends
C
ommandC
allback
{
void
callSaleUri
(
String
uri
);
void
refundResult
(
boolean
result
);
void
querySaleStatus
(
String
uri
);
void
retrieval
(
String
uri
);
void
queryRefundStatus
(
String
uri
);
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/Yedpay
Device
.java
→
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/Yedpay
CommandImp
.java
View file @
f85dede9
...
...
@@ -2,9 +2,12 @@ package com.gingersoft.gsa.cloud.pay.device.pos.yedpay;
import
android.util.SparseArray
;
import
androidx.fragment.app.FragmentManager
;
import
com.gingersoft.gsa.cloud.pay.RequestParms
;
import
com.gingersoft.gsa.cloud.pay.device.pos.Pos
PayAction
;
import
com.gingersoft.gsa.cloud.pay.device.pos.Pos
Command
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.constant.YedpayConstant
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.lifecycle.fragment.YedpayFragment
;
/**
* @作者: bin
...
...
@@ -12,19 +15,19 @@ import com.gingersoft.gsa.cloud.pay.device.pos.yedpay.constant.YedpayConstant;
* @更新時間: 2021-04-14 12:08
* @描述:
*/
public
class
Yedpay
Device
implements
PosPayAction
<
RequestParms
>
{
public
class
Yedpay
CommandImp
implements
PosCommand
<
RequestParms
>
{
private
static
Yedpay
Device
sYedpayDevice
;
private
static
Yedpay
CommandImp
sYedpayCommand
;
private
final
SparseArray
<
String
>
mYedpayTypeMap
=
new
SparseArray
<>();
public
static
Yedpay
Device
newInstance
()
{
if
(
sYedpay
Device
==
null
)
{
sYedpay
Device
=
new
YedpayDevice
();
public
static
Yedpay
CommandImp
newInstance
()
{
if
(
sYedpay
Command
==
null
)
{
sYedpay
Command
=
new
YedpayCommandImp
();
}
return
sYedpay
Device
;
return
sYedpay
Command
;
}
private
Yedpay
Device
()
{
private
Yedpay
CommandImp
()
{
initPayTypeMap
();
}
...
...
@@ -41,6 +44,12 @@ public class YedpayDevice implements PosPayAction<RequestParms> {
}
@Override
public
void
showActionDialog
(
FragmentManager
fragmentManager
,
RequestParms
requestParms
)
{
YedpayFragment
yedpayFragment
=
YedpayFragment
.
newInstance
(
requestParms
);
yedpayFragment
.
show
(
fragmentManager
,
yedpayFragment
.
getClass
().
getSimpleName
());
}
@Override
public
void
void0
(
RequestParms
params
)
{
}
...
...
@@ -52,9 +61,9 @@ public class YedpayDevice implements PosPayAction<RequestParms> {
@Override
public
void
retrieval
(
RequestParms
params
)
{
String
uriString
=
"yedpayapp://transaction_detail?c="
+
params
.
getTxnId
();
YedpayCommand
callback
=
(
YedpayCommand
)
params
.
getCallback
();
callback
.
querySaleStatus
(
uriString
);
String
uriString
=
"yedpayapp://transaction_detail?c="
+
params
.
getTxnId
();
YedpayCommand
callback
=
(
YedpayCommand
)
params
.
getC
ommandC
allback
();
callback
.
retrieval
(
uriString
);
}
@Override
...
...
@@ -70,14 +79,14 @@ public class YedpayDevice implements PosPayAction<RequestParms> {
@Override
public
void
pay
(
RequestParms
params
)
{
//String uriString = "yedpayapp://transaction?g={{ 支付方式 }}&a={{ 銀碼 }}(&c={{ 自定義編號 }})";
String
uriString
=
"yedpayapp://transaction?g="
+
getPayType
(
params
.
getPayType
())
+
"&a="
+
params
.
getPayMoney
()
+
"&c="
+
params
.
getTxnId
();
YedpayCommand
callback
=
(
YedpayCommand
)
params
.
getCallback
();
String
uriString
=
"yedpayapp://transaction?g="
+
getPayType
(
params
.
getPayType
())
+
"&a="
+
params
.
getPayMoney
()
+
"&c="
+
params
.
getTxnId
();
YedpayCommand
callback
=
(
YedpayCommand
)
params
.
getC
ommandC
allback
();
callback
.
callSaleUri
(
uriString
);
}
@Override
public
void
refund
(
RequestParms
params
)
{
YedpayCommand
callback
=
(
YedpayCommand
)
params
.
getCallback
();
YedpayCommand
callback
=
(
YedpayCommand
)
params
.
getC
ommandC
allback
();
callback
.
refundResult
(
true
);
}
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/constant/YedpayConstant.java
View file @
f85dede9
...
...
@@ -10,6 +10,7 @@ public interface YedpayConstant {
interface
CallRequestCode
{
int
SALE_REQUEST_CODE
=
555
;
int
RETRIEVAL_REQUEST_CODE
=
556
;
}
...
...
@@ -28,7 +29,7 @@ public interface YedpayConstant {
*/
interface
Status
{
/**
* 0 未支付 1 支付失败 2 支
持
成功 3 已支付未到账 4.支付中 5.已退款 6.廢棄(第二次結賬)
* 0 未支付 1 支付失败 2 支
付
成功 3 已支付未到账 4.支付中 5.已退款 6.廢棄(第二次結賬)
*/
int
PAY_STATUS_0
=
0
;
int
PAY_STATUS_1
=
1
;
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/contract/YedpayContract.java
View file @
f85dede9
...
...
@@ -31,7 +31,7 @@ public interface YedpayContract {
void
showStatusLoadingDialog
(
PayStep
status
);
void
startActivityForResult
(
Intent
intent
);
void
startActivityForResult
(
Intent
intent
,
int
requestCode
);
Fragment
getFragment
();
}
...
...
@@ -39,6 +39,10 @@ public interface YedpayContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface
Model
extends
IModel
{
Single
<
BaseResult
>
getYedPayTxnId
(
RequestBody
body
);
Single
<
BaseResult
>
getYedPayRefundTxnId
(
RequestBody
body
);
Single
<
BaseResult
>
findSaleStatus
(
RequestBody
body
);
Single
<
BaseResult
>
refundOrder
(
RequestBody
body
);
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/fragment/YedpayFragment.java
View file @
f85dede9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
yedpay
.
lifecycle
.
fragment
;
import
android.content.Intent
;
import
android.graphics.drawable.ColorDrawable
;
import
android.os.Bundle
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.Window
;
import
android.widget.LinearLayout
;
import
android.widget.TextView
;
...
...
@@ -15,14 +10,14 @@ import androidx.annotation.Nullable;
import
androidx.fragment.app.Fragment
;
import
com.gingersoft.gsa.cloud.common.logan.LoganManager
;
import
com.gingersoft.gsa.cloud.order.R
;
import
com.gingersoft.gsa.cloud.order.R2
;
import
com.gingersoft.gsa.cloud.pay.PayStep
;
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.fragment.PayFlowFragment
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.lifecycle.di.component.DaggerYedpayComponent
;
import
com.gingersoft.gsa.cloud.pay.device.pos.base.lifecycle.fragment.PayFlowFragment
;
import
com.gingersoft.gsa.cloud.pay.view.customstatus.CustomStatusView
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.lifecycle.contract.YedpayContract
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.lifecycle.presenter.YedpayPresenter
;
...
...
@@ -52,6 +47,14 @@ public class YedpayFragment extends PayFlowFragment<YedpayPresenter> implements
@BindView
(
R2
.
id
.
tv_status
)
TextView
tv_status
;
public
static
YedpayFragment
newInstance
(
RequestParms
parms
)
{
YedpayFragment
fragment
=
new
YedpayFragment
();
Bundle
bundle
=
new
Bundle
();
bundle
.
putParcelable
(
"requestParms"
,
parms
);
fragment
.
setArguments
(
bundle
);
return
fragment
;
}
@Override
public
void
setupFragmentComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerYedpayComponent
//如找不到该类,请编译一下项目
...
...
@@ -63,9 +66,18 @@ public class YedpayFragment extends PayFlowFragment<YedpayPresenter> implements
}
@Override
public
void
onCreate
(
@Nullable
Bundle
savedInstanceState
)
{
Bundle
arguments
=
getArguments
();
requestParms
=
arguments
.
getParcelable
(
"requestParms"
);
action
=
requestParms
.
getAction
();
super
.
onCreate
(
savedInstanceState
);
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
super
.
initData
(
savedInstanceState
);
mPresenter
.
excutePayFlow
(
requestParms
);
mPresenter
.
apply
(
requestParms
);
}
@Override
...
...
@@ -74,12 +86,13 @@ public class YedpayFragment extends PayFlowFragment<YedpayPresenter> implements
LoganManager
.
w_code
(
TAG
,
"onActivityResult->"
+
"resultCode="
+
resultCode
+
" requestCode="
+
requestCode
);
if
(
resultCode
==
android
.
app
.
Activity
.
RESULT_OK
)
{
switch
(
requestCode
)
{
case
YedpayConstant
.
CallRequestCode
.
SALE_REQUEST_CODE
:
{
case
YedpayConstant
.
CallRequestCode
.
SALE_REQUEST_CODE
:
case
YedpayConstant
.
CallRequestCode
.
RETRIEVAL_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
.
findSaleStatus
(
transaction_id
,
requestParms
.
getOrderId
(),
requestParms
.
getPayType
(),
requestParms
.
getResturantId
());
mPresenter
.
findSaleStatus
(
transaction_id
,
requestParms
.
getOrderId
(),
requestParms
.
getPayType
(),
requestParms
.
getResturantId
()
,
requestParms
.
getTxnId
()
);
}
break
;
}
...
...
@@ -93,8 +106,8 @@ public class YedpayFragment extends PayFlowFragment<YedpayPresenter> implements
}
@Override
public
void
startActivityForResult
(
Intent
intent
)
{
startActivityForResult
(
intent
,
YedpayConstant
.
CallRequestCode
.
SALE_REQUEST_CODE
);
public
void
startActivityForResult
(
Intent
intent
,
int
requestCode
)
{
startActivityForResult
(
intent
,
requestCode
);
}
@Override
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/model/YedpayModel.java
View file @
f85dede9
...
...
@@ -51,6 +51,20 @@ public class YedpayModel extends BaseModel implements YedpayContract.Model {
}
@Override
public
Single
<
BaseResult
>
getYedPayTxnId
(
RequestBody
body
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
YedpayService
.
class
)
.
getYedPayTxnId
(
body
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Single
<
BaseResult
>
getYedPayRefundTxnId
(
RequestBody
body
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
YedpayService
.
class
)
.
getYedPayRefundTxnId
(
body
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Single
<
BaseResult
>
findSaleStatus
(
RequestBody
body
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
YedpayService
.
class
)
.
findSaleStatus
(
body
)
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/model/bean/request/GetYedPayRefundTxnIdRequest.java
0 → 100644
View file @
f85dede9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
yedpay
.
lifecycle
.
model
.
bean
.
request
;
import
com.gingersoft.gsa.cloud.order.order.DoshokuOrder
;
import
lombok.Data
;
/**
* @作者: bin
* @創建時間: 2021-05-06 15:01
* @更新時間: 2021-05-06 15:01
* @描述:
*/
@Data
public
class
GetYedPayRefundTxnIdRequest
{
private
Long
orderId
;
private
Integer
tableId
;
private
String
tableExtId
;
private
Double
amount
;
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/model/bean/request/GetYedPayTxnIdRequest.java
0 → 100644
View file @
f85dede9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
yedpay
.
lifecycle
.
model
.
bean
.
request
;
import
lombok.Data
;
/**
* @作者: bin
* @創建時間: 2021-05-06 15:01
* @更新時間: 2021-05-06 15:01
* @描述:
*/
@Data
public
class
GetYedPayTxnIdRequest
{
private
Long
orderId
;
private
Integer
tableId
;
private
String
tableExtId
;
private
Integer
payMethodId
;
private
Double
amount
;
private
Integer
payType
;
private
String
payName
;
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/model/bean/YedPayRefundBean.java
→
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/model/bean/
response/
YedPayRefundBean.java
View file @
f85dede9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
yedpay
.
lifecycle
.
model
.
bean
;
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
yedpay
.
lifecycle
.
model
.
bean
.
response
;
/**
* @作者: bin
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/model/bean/YedpayFindSaleStatusBean.java
→
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/model/bean/
response/
YedpayFindSaleStatusBean.java
View file @
f85dede9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
yedpay
.
lifecycle
.
model
.
bean
;
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
yedpay
.
lifecycle
.
model
.
bean
.
response
;
import
lombok.Data
;
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/model/bean/response/bg/GetYedPayRefundTxnIdResponse.java
0 → 100644
View file @
f85dede9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
yedpay
.
lifecycle
.
model
.
bean
.
response
.
bg
;
import
lombok.Getter
;
import
lombok.Setter
;
/**
* @作者: bin
* @創建時間: 2020-12-26 16:46
* @更新時間: 2020-12-26 16:46
* @描述:
*/
@Getter
@Setter
public
class
GetYedPayRefundTxnIdResponse
{
private
String
refundId
;
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/model/bean/response/bg/GetYedPayTxnIdResponse.java
0 → 100644
View file @
f85dede9
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
yedpay
.
lifecycle
.
model
.
bean
.
response
.
bg
;
import
lombok.Getter
;
import
lombok.Setter
;
/**
* @作者: bin
* @創建時間: 2020-12-26 16:46
* @更新時間: 2020-12-26 16:46
* @描述:
*/
@Getter
@Setter
public
class
GetYedPayTxnIdResponse
{
private
String
txnId
;
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/model/service/YedpayService.java
View file @
f85dede9
...
...
@@ -17,6 +17,12 @@ import retrofit2.http.POST;
*/
public
interface
YedpayService
{
@POST
(
"posPay/getYedPayTxnId"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Single
<
BaseResult
>
getYedPayTxnId
(
@Body
RequestBody
requestBody
);
@POST
(
"posPay/getYedPayRefundTxnId"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Single
<
BaseResult
>
getYedPayRefundTxnId
(
@Body
RequestBody
requestBody
);
@Headers
({
"Domain-Name: ricepon_pay"
})
@POST
(
"gsaYedPay/updatePayStatus"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Single
<
BaseResult
>
findSaleStatus
(
@Body
RequestBody
requestBody
);
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/lifecycle/presenter/YedpayPresenter.java
View file @
f85dede9
This diff is collapsed.
Click to expand it.
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/di/component/PayFlowComponent.java
deleted
100644 → 0
View file @
b08655a8
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
lifecycle
.
di
.
component
;
import
dagger.BindsInstance
;
import
dagger.Component
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.lifecycle.contract.YedpayContract
;
import
com.jess.arms.di.component.AppComponent
;
import
com.gingersoft.gsa.cloud.pay.lifecycle.di.module.PayFlowModule
;
import
com.gingersoft.gsa.cloud.pay.lifecycle.contract.PayFlowContract
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.gingersoft.gsa.cloud.pay.lifecycle.fragment.PayFlowFragment
;
import
com.jess.arms.mvp.BasePresenter
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/15/2021 14:44
* <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>
* ================================================
*/
@FragmentScope
@Component
(
modules
=
PayFlowModule
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
PayFlowComponent
{
void
inject
(
PayFlowFragment
fragment
);
@Component
.
Builder
interface
Builder
{
@BindsInstance
PayFlowComponent
.
Builder
view
(
PayFlowContract
.
View
view
);
PayFlowComponent
.
Builder
appComponent
(
AppComponent
appComponent
);
PayFlowComponent
build
();
}
}
\ No newline at end of file
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/di/module/PayFlowModule.java
deleted
100644 → 0
View file @
b08655a8
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
lifecycle
.
di
.
module
;
import
dagger.Binds
;
import
dagger.Module
;
import
dagger.Provides
;
import
com.gingersoft.gsa.cloud.pay.lifecycle.contract.PayFlowContract
;
import
com.jess.arms.mvp.BaseModel
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/15/2021 14:44
* <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>
* ================================================
*/
@Module
public
abstract
class
PayFlowModule
{
@Binds
abstract
PayFlowContract
.
Model
bindPayFlowModel
(
BaseModel
model
);
}
\ No newline at end of file
library-ui/src/main/java/com/gingersoft/gsa/cloud/ui/view/OrderPayView.java
View file @
f85dede9
...
...
@@ -215,6 +215,10 @@ public class OrderPayView extends LinearLayout {
if
(
onSelectPayClickLisenter
!=
null
)
{
onSelectPayClickLisenter
.
addClick
(
method
);
}
}
else
{
int
notifyPosition
=
mBillMoneyList
.
size
()
-
1
;
mBillMoneyAdapter
.
setSelect_position
(
notifyPosition
);
mBillMoneyAdapter
.
notifyDataSetChanged
();
}
});
mBillMoneyAdapter
.
setOnItemClickListener
(
new
BillMoneyAdapter
.
OnItemClickListener
()
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment