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
29e0b2b3
Commit
29e0b2b3
authored
Apr 29, 2021
by
宁斌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1、餐牌頁結構調整 2、支付類名調整
parent
bb53a46a
Hide whitespace changes
Inline
Side-by-side
Showing
105 changed files
with
2518 additions
and
1525 deletions
+2518
-1525
component-download/src/main/java/com/gingersoft/gsa/cloud/download/mvp/presenter/DownloadPresenter.java
+198
-191
component-login/build.gradle
+1
-1
component-login/src/main/java/com/gingersoft/gsa/cloud/login/mvp/ui/activity/WelcomeActivity.java
+0
-3
component-main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/model/bean/SendSettlement.java
+7
-118
component-main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/presenter/SettlementReportPresenter.java
+6
-0
component-print/src/main/java/com/joe/print/mvp/print/PrinterFactory.java
+34
-0
component-print/src/main/java/com/joe/print/mvp/print/PrinterRoot.java
+3
-17
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/MealDiscountModule.java
+6
-5
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/SetMealModule.java
+6
-6
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/meal/PrinterAction.java
+13
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/order/CancelOrder.java
+1
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/BaseOrderContract.java
+4
-4
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/FineChildAllContract.java
+6
-4
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/FineChildOneselfContract.java
+4
-2
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/MealStandContract.java
+10
-10
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/MealStandContract2.java
+10
-10
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/NomalDiscountContract.java
+3
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/OrderCenterContract.java
+3
-3
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/OrderContentContract.java
+11
-10
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/OrderDetailContract.java
+3
-3
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/OrderPayContract.java
+5
-5
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/SetMealContract.java
+26
-3
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/SoldoutCtrlContract.java
+9
-8
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/TableContract.java
+12
-12
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/CouponModel.java
+2
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/FineChildAllModel.java
+13
-8
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/FineChildOneselfModel.java
+9
-5
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/MealStandModel.java
+22
-19
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/MealStandModel2.java
+18
-18
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/NomalDiscountModel.java
+6
-2
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/OrderCenterModel.java
+10
-7
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/OrderContentModel.java
+40
-30
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/OrderDetailModel.java
+10
-7
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/OrderPayModel.java
+18
-11
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/RiceponMemberDialogModel.java
+4
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/SetMealModel.java
+46
-11
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/SoldoutCtrlModel.java
+28
-18
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/TableModel.java
+42
-31
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/bean/event/LoadFineEvent.java
+23
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/service/MealService.java
+17
-16
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/service/MemberService.java
+4
-4
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/service/OrderPayService.java
+5
-5
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/service/OrderService.java
+6
-6
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/service/TableService.java
+12
-11
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/utils/MealStyleUtils.java
+0
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
+5
-5
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter2.java
+8
-8
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderContentPresenter.java
+21
-46
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderPayPresenter.java
+9
-9
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/SoldoutCtrlPresenter.java
+19
-33
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/TablePresenter.java
+23
-55
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/discount/CouponPresenter.java
+0
-3
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/discount/NomalDiscountPresenter.java
+15
-4
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/FineChildAllPresenter.java
+91
-65
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/FineChildOneselfPresenter.java
+19
-5
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/MealStandPresenter.java
+11
-28
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/RiceponMemberDialogPresenter.java
+0
-3
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/SetMealPresenter.java
+527
-40
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/orderManager/OrderCenterPresenter.java
+5
-10
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/orderManager/OrderDetailPresenter.java
+5
-7
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity.java
+5
-12
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity2.java
+53
-20
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderPayActivity.java
+2
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/TableActivity.java
+1
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/FoodGroupAdapter.java
+4
-4
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/SelectMealAdapter2.java
+6
-3
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/discount/DiscountFragment.java
+37
-45
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/FineChildAllFragment.java
+44
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/FineFragment.java
+72
-9
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/MealDiscountFragment.java
+23
-27
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/RiceponMemberDialogFragment.java
+41
-9
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/SetMealFragment.java
+359
-250
component-table/src/main/res/layout/fragment_fine.xml
+6
-5
component-table/src/main/res/layout/fragment_meal_discount.xml
+8
-4
component-table/src/main/res/layout/fragment_ricepon_member_dialog.xml
+1
-0
component-table/src/main/res/layout/meal_item_food_group.xml
+58
-63
component-table/src/main/res/layout/meal_layout_food_menu.xml
+41
-17
component-table/src/main/res/layout/meal_layout_food_plate.xml
+1
-2
component-table/src/main/res/layout/meal_layout_meal_fine.xml
+7
-2
component-table/src/main/res/layout/table_activity_meal_stand2.xml
+0
-16
component-table/src/main/res/layout/table_dialog_discout.xml
+2
-1
config.gradle
+2
-2
library-base/src/main/java/com/jess/arms/base/BaseFragment.java
+0
-6
library-common/src/main/java/com/gingersoft/gsa/cloud/common/config/globalconfig/applyOptions/MyRetrofitConfiguration.java
+2
-0
library-common/src/main/java/com/gingersoft/gsa/cloud/common/constans/MealConstant.java
+1
-3
library-common/src/main/java/com/gingersoft/gsa/cloud/common/rxjava/CustomCallAdapter.java
+26
-0
library-common/src/main/java/com/gingersoft/gsa/cloud/common/rxjava/CustomCallAdapterFactory.java
+24
-0
library-common/src/main/java/com/gingersoft/gsa/cloud/common/rxjava/ErrorHandleSingleSubscriber.java
+2
-0
library-common/src/main/java/com/gingersoft/gsa/cloud/common/rxjava/MyRxSchedulerUtils.java
+3
-2
library-common/src/main/java/com/gingersoft/gsa/cloud/common/rxjava/MyRxUtils.java
+26
-0
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/Callback.java
+2
-0
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/RequestParms.java
+120
-31
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/ResultCallback.java
+2
-0
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/phone/PhoneCommand.java
+1
-1
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/PosPay.java
+2
-2
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/bbpos/BBposCommand.java
+1
-1
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/bbpos/BBposCommandImp.java
+1
-1
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/hyweb/HywebCommand.java
+1
-1
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/hyweb/HywebCommandImp.java
+1
-1
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/YedpayCommand.java
+1
-1
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/YedpayCommandImp.java
+8
-12
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/YedpayDevice.java
+2
-2
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/fragment/PayFlowFragment.java
+2
-2
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/presenter/PayFlowPresenter.java
+7
-17
library-ui/src/main/java/com/gingersoft/gsa/cloud/ui/adapter/ViewPager2Adapter.java
+36
-0
No files found.
component-download/src/main/java/com/gingersoft/gsa/cloud/download/mvp/presenter/DownloadPresenter.java
View file @
29e0b2b3
...
...
@@ -168,6 +168,9 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow
mRootView
.
showMessage
(
"Can not connect server, retry?"
);
}
if
(
mRequestObservables
.
size
()
>
0
)
{
mRequestObservables
.
clear
();
}
requestCount
=
urlList
.
length
;
saveSuccessCount
=
0
;
responseSuccessCount
=
0
;
...
...
@@ -208,7 +211,7 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow
private
void
downDataRequest
(
Observable
observable
,
int
downIndex
)
{
observable
.
subscribeOn
(
Schedulers
.
io
())
.
retryWhen
(
new
RetryWithDelay
(
5
,
2
))
//
.retryWhen(new RetryWithDelay(5, 2))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
...
...
@@ -263,206 +266,210 @@ public class DownloadPresenter extends BasePresenter<DownloadContract.Model, Dow
}
private
boolean
saveToDatabase
(
int
downIndex
,
OnSaveDownDataListener
saveDownDataListener
)
{
Object
data
=
responseDataMaps
.
get
(
downIndex
);
if
(
data
==
null
)
{
return
true
;
}
int
nextIndex
=
downIndex
+
1
;
switch
(
downIndex
)
{
case
0
:
List
<
Function
>
functionList
=
GsonUtils
.
jsonToList
(
data
,
Function
.
class
);
if
(
functionList
!=
null
)
{
Observable
.
just
(
0
)
.
observeOn
(
Schedulers
.
io
())
.
subscribe
(
new
Consumer
<
Integer
>()
{
@Override
public
void
accept
(
@NonNull
Integer
integer
)
throws
Exception
{
FunctionDaoUtils
functionDao
=
new
FunctionDaoUtils
(
IActivity
);
functionDao
.
deleteAll
();
functionDao
.
insertMultFunction
(
functionList
);
saveSuccessCount
++;
if
(
saveDownDataListener
!=
null
)
{
saveDownDataListener
.
onComplete
(
nextIndex
);
try
{
Object
data
=
responseDataMaps
.
get
(
downIndex
);
if
(
data
==
null
)
{
return
true
;
}
int
nextIndex
=
downIndex
+
1
;
switch
(
downIndex
)
{
case
0
:
List
<
Function
>
functionList
=
GsonUtils
.
jsonToList
(
data
,
Function
.
class
);
if
(
functionList
!=
null
)
{
Observable
.
just
(
0
)
.
observeOn
(
Schedulers
.
io
())
.
subscribe
(
new
Consumer
<
Integer
>()
{
@Override
public
void
accept
(
@NonNull
Integer
integer
)
throws
Exception
{
FunctionDaoUtils
functionDao
=
new
FunctionDaoUtils
(
IActivity
);
functionDao
.
deleteAll
();
functionDao
.
insertMultFunction
(
functionList
);
saveSuccessCount
++;
if
(
saveDownDataListener
!=
null
)
{
saveDownDataListener
.
onComplete
(
nextIndex
);
}
}
}
}
);
XFunctionManager
.
newInstance
().
updateFunctions
(
functionList
);
}
break
;
case
1
:
List
<
Food
>
foodList
=
GsonUtils
.
jsonToList
(
data
,
Food
.
class
);
if
(
foodList
!=
null
)
{
Observable
.
just
(
0
)
.
observeOn
(
Schedulers
.
io
())
.
subscribe
(
new
Consumer
<
Integer
>()
{
@Override
public
void
accept
(
@NonNull
Integer
integer
)
throws
Exception
{
FoodDaoUtils
foodDao
=
new
FoodDaoUtils
(
IActivity
);
foodDao
.
deleteAll
(
);
foodDao
.
insertMultFood
(
foodList
)
;
saveSuccessCount
++;
if
(
saveDownDataListener
!=
null
)
{
saveDownDataListener
.
onComplete
(
nextIndex
);
}
);
XFunctionManager
.
newInstance
().
updateFunctions
(
functionList
);
}
break
;
case
1
:
List
<
Food
>
foodList
=
GsonUtils
.
jsonToList
(
data
,
Food
.
class
);
if
(
foodList
!=
null
)
{
Observable
.
just
(
0
)
.
observeOn
(
Schedulers
.
io
()
)
.
subscribe
(
new
Consumer
<
Integer
>()
{
@Override
public
void
accept
(
@NonNull
Integer
integer
)
throws
Exception
{
FoodDaoUtils
foodDao
=
new
FoodDaoUtils
(
IActivity
);
foodDao
.
deleteAll
(
);
foodDao
.
insertMultFood
(
foodList
);
saveSuccessCount
++
;
if
(
saveDownDataListener
!=
null
)
{
saveDownDataListener
.
onComplete
(
nextIndex
);
}
}
}
});
}
break
;
case
2
:
List
<
Modifier
>
modifierList
=
GsonUtils
.
jsonToList
(
data
,
Modifier
.
class
);
if
(
modifierList
!=
null
)
{
Observable
.
just
(
0
)
.
observeOn
(
Schedulers
.
io
())
.
subscribe
(
new
Consumer
<
Integer
>()
{
@Override
public
void
accept
(
@NonNull
Integer
integer
)
throws
Exception
{
ModifierDaoUtils
modifierDao
=
new
ModifierDaoUtils
(
IActivity
);
modifierDao
.
deleteAll
(
);
modifierDao
.
insertMultModifier
(
modifierList
);
CommonConfiguration
.
getInstance
().
saveModifierTopIdConfiguration
(
modifierList
)
;
saveSuccessCount
++;
if
(
saveDownDataListener
!=
null
)
{
saveDownDataListener
.
onComplete
(
nextIndex
);
}
);
}
break
;
case
2
:
List
<
Modifier
>
modifierList
=
GsonUtils
.
jsonToList
(
data
,
Modifier
.
class
);
if
(
modifierList
!=
null
)
{
Observable
.
just
(
0
)
.
observeOn
(
Schedulers
.
io
()
)
.
subscribe
(
new
Consumer
<
Integer
>()
{
@Override
public
void
accept
(
@NonNull
Integer
integer
)
throws
Exception
{
ModifierDaoUtils
modifierDao
=
new
ModifierDaoUtils
(
IActivity
);
modifierDao
.
deleteAll
(
);
modifierDao
.
insertMultModifier
(
modifierList
);
CommonConfiguration
.
getInstance
().
saveModifierTopIdConfiguration
(
modifierList
);
saveSuccessCount
++
;
if
(
saveDownDataListener
!=
null
)
{
saveDownDataListener
.
onComplete
(
nextIndex
);
}
}
}
});
}
break
;
case
3
:
List
<
FoodCombo
>
foodComboList
=
GsonUtils
.
jsonToList
(
data
,
FoodCombo
.
class
);
if
(
foodComboList
!=
null
)
{
Observable
.
just
(
0
)
.
observeOn
(
Schedulers
.
io
())
.
subscribe
(
new
Consumer
<
Integer
>()
{
@Override
public
void
accept
(
@NonNull
Integer
integer
)
throws
Exception
{
FoodComboDaoUtils
comboDao
=
new
FoodComboDaoUtils
(
IActivity
);
comboDao
.
deleteAll
(
);
comboDao
.
insertMultCombo
(
foodComboList
);
CommonConfiguration
.
getInstance
().
saveComboIdConfiguration
(
foodComboList
)
;
saveSuccessCount
++;
if
(
saveDownDataListener
!=
null
)
{
saveDownDataListener
.
onComplete
(
nextIndex
);
}
);
}
break
;
case
3
:
List
<
FoodCombo
>
foodComboList
=
GsonUtils
.
jsonToList
(
data
,
FoodCombo
.
class
);
if
(
foodComboList
!=
null
)
{
Observable
.
just
(
0
)
.
observeOn
(
Schedulers
.
io
()
)
.
subscribe
(
new
Consumer
<
Integer
>()
{
@Override
public
void
accept
(
@NonNull
Integer
integer
)
throws
Exception
{
FoodComboDaoUtils
comboDao
=
new
FoodComboDaoUtils
(
IActivity
);
comboDao
.
deleteAll
(
);
comboDao
.
insertMultCombo
(
foodComboList
);
CommonConfiguration
.
getInstance
().
saveComboIdConfiguration
(
foodComboList
);
saveSuccessCount
++
;
if
(
saveDownDataListener
!=
null
)
{
saveDownDataListener
.
onComplete
(
nextIndex
);
}
}
}
});
}
break
;
case
4
:
List
<
ComboItem
>
comboItemList
=
GsonUtils
.
jsonToList
(
data
,
ComboItem
.
class
);
if
(
comboItemList
!=
null
)
{
Observable
.
just
(
0
)
.
observeOn
(
Schedulers
.
io
())
.
subscribe
(
new
Consumer
<
Integer
>()
{
@Override
public
void
accept
(
@NonNull
Integer
integer
)
throws
Exception
{
ComboItemDaoUtils
comboDao
=
new
ComboItemDaoUtils
(
IActivity
);
comboDao
.
deleteAll
(
);
comboDao
.
insertMultCombo
(
comboItemList
)
;
saveSuccessCount
++;
if
(
saveDownDataListener
!=
null
)
{
saveDownDataListener
.
onComplete
(
nextIndex
);
}
);
}
break
;
case
4
:
List
<
ComboItem
>
comboItemList
=
GsonUtils
.
jsonToList
(
data
,
ComboItem
.
class
);
if
(
comboItemList
!=
null
)
{
Observable
.
just
(
0
)
.
observeOn
(
Schedulers
.
io
()
)
.
subscribe
(
new
Consumer
<
Integer
>()
{
@Override
public
void
accept
(
@NonNull
Integer
integer
)
throws
Exception
{
ComboItemDaoUtils
comboDao
=
new
ComboItemDaoUtils
(
IActivity
);
comboDao
.
deleteAll
(
);
comboDao
.
insertMultCombo
(
comboItemList
);
saveSuccessCount
++
;
if
(
saveDownDataListener
!=
null
)
{
saveDownDataListener
.
onComplete
(
nextIndex
);
}
}
}
});
}
break
;
case
5
:
List
<
FoodModifier
>
foodModifierList
=
GsonUtils
.
jsonToList
(
data
,
FoodModifier
.
class
);
if
(
foodModifierList
!=
null
)
{
Observable
.
just
(
0
)
.
observeOn
(
Schedulers
.
io
())
.
subscribe
(
new
Consumer
<
Integer
>()
{
@Override
public
void
accept
(
@NonNull
Integer
integer
)
throws
Exception
{
FoodModifierDaoUtils
foodModifierDao
=
new
FoodModifierDaoUtils
(
IActivity
);
foodModifierDao
.
deleteAll
(
);
foodModifierDao
.
insertMultFoodModifier
(
foodModifierList
)
;
saveSuccessCount
++;
if
(
saveDownDataListener
!=
null
)
{
saveDownDataListener
.
onComplete
(
nextIndex
);
}
);
}
break
;
case
5
:
List
<
FoodModifier
>
foodModifierList
=
GsonUtils
.
jsonToList
(
data
,
FoodModifier
.
class
);
if
(
foodModifierList
!=
null
)
{
Observable
.
just
(
0
)
.
observeOn
(
Schedulers
.
io
()
)
.
subscribe
(
new
Consumer
<
Integer
>()
{
@Override
public
void
accept
(
@NonNull
Integer
integer
)
throws
Exception
{
FoodModifierDaoUtils
foodModifierDao
=
new
FoodModifierDaoUtils
(
IActivity
);
foodModifierDao
.
deleteAll
(
);
foodModifierDao
.
insertMultFoodModifier
(
foodModifierList
);
saveSuccessCount
++
;
if
(
saveDownDataListener
!=
null
)
{
saveDownDataListener
.
onComplete
(
nextIndex
);
}
}
}
});
}
break
;
case
6
:
List
<
Discount
>
discountList
=
GsonUtils
.
jsonToList
(
data
,
Discount
.
class
);
if
(
discountList
!=
null
)
{
Observable
.
just
(
0
)
.
observeOn
(
Schedulers
.
io
())
.
subscribe
(
new
Consumer
<
Integer
>()
{
@Override
public
void
accept
(
@NonNull
Integer
integer
)
throws
Exception
{
DiscountDaoUtils
discountDaoUtils
=
new
DiscountDaoUtils
(
IActivity
);
discountDaoUtils
.
deleteAll
(
);
discountDaoUtils
.
insertMultDiscount
(
discountList
)
;
saveSuccessCount
++;
if
(
saveDownDataListener
!=
null
)
{
saveDownDataListener
.
onComplete
(
nextIndex
);
}
);
}
break
;
case
6
:
List
<
Discount
>
discountList
=
GsonUtils
.
jsonToList
(
data
,
Discount
.
class
);
if
(
discountList
!=
null
)
{
Observable
.
just
(
0
)
.
observeOn
(
Schedulers
.
io
()
)
.
subscribe
(
new
Consumer
<
Integer
>()
{
@Override
public
void
accept
(
@NonNull
Integer
integer
)
throws
Exception
{
DiscountDaoUtils
discountDaoUtils
=
new
DiscountDaoUtils
(
IActivity
);
discountDaoUtils
.
deleteAll
(
);
discountDaoUtils
.
insertMultDiscount
(
discountList
);
saveSuccessCount
++
;
if
(
saveDownDataListener
!=
null
)
{
saveDownDataListener
.
onComplete
(
nextIndex
);
}
}
}
});
}
break
;
case
7
:
List
<
ExpandInfo
>
expandInfoList
=
GsonUtils
.
jsonToList
(
data
,
ExpandInfo
.
class
);
if
(
expandInfoList
!=
null
)
{
Observable
.
just
(
0
)
.
observeOn
(
Schedulers
.
io
())
.
subscribe
(
new
Consumer
<
Integer
>()
{
@Override
public
void
accept
(
@NonNull
Integer
integer
)
throws
Exception
{
ExpandInfoDaoUtils
expandInfoDaoUtils
=
new
ExpandInfoDaoUtils
(
IActivity
);
expandInfoDaoUtils
.
deleteAll
(
);
expandInfoDaoUtils
.
insertMult
ExpandInfo
(
expandInfoList
);
RestaurantExpandInfoUtils
.
setCommonExpandInfo
(
expandInfoList
)
;
saveSuccessCount
++;
if
(
saveDownDataListener
!=
null
)
{
saveDownDataListener
.
onComplete
(
nextIndex
);
}
);
}
break
;
case
7
:
List
<
ExpandInfo
>
expandInfoList
=
GsonUtils
.
jsonToList
(
data
,
ExpandInfo
.
class
);
if
(
expandInfoList
!=
null
)
{
Observable
.
just
(
0
)
.
observeOn
(
Schedulers
.
io
()
)
.
subscribe
(
new
Consumer
<
Integer
>()
{
@Override
public
void
accept
(
@NonNull
Integer
integer
)
throws
Exception
{
ExpandInfoDaoUtils
expandInfoDaoUtils
=
new
ExpandInfoDaoUtils
(
IActivity
);
expandInfoDaoUtils
.
deleteAll
(
);
expandInfoDaoUtils
.
insertMultExpandInfo
(
expandInfoList
);
RestaurantExpandInfoUtils
.
setCommon
ExpandInfo
(
expandInfoList
);
saveSuccessCount
++
;
if
(
saveDownDataListener
!=
null
)
{
saveDownDataListener
.
onComplete
(
nextIndex
);
}
}
}
});
}
break
;
case
8
:
PrinterListBean
printerListBean
=
JsonUtils
.
parseObject
(
data
,
PrinterListBean
.
class
);
if
(
printerListBean
!=
null
)
{
Observable
.
just
(
0
)
.
observeOn
(
Schedulers
.
io
())
.
subscribe
(
new
Consumer
<
Integer
>()
{
@Override
public
void
accept
(
@NonNull
Integer
integer
)
throws
Exception
{
PrinterDeviceDaoUtils
printerDeviceDaoUtils
=
new
PrinterDeviceDaoUtils
(
IActivity
);
printerDeviceDaoUtils
.
deleteAll
(
);
printerDeviceDaoUtils
.
insertMultPrinterDeviceBean
(
printerListBean
.
getList
())
;
saveSuccessCount
++;
if
(
saveDownDataListener
!=
null
)
{
saveDownDataListener
.
onComplete
(
nextIndex
);
}
);
}
break
;
case
8
:
PrinterListBean
printerListBean
=
JsonUtils
.
parseObject
(
data
,
PrinterListBean
.
class
);
if
(
printerListBean
!=
null
)
{
Observable
.
just
(
0
)
.
observeOn
(
Schedulers
.
io
()
)
.
subscribe
(
new
Consumer
<
Integer
>()
{
@Override
public
void
accept
(
@NonNull
Integer
integer
)
throws
Exception
{
PrinterDeviceDaoUtils
printerDeviceDaoUtils
=
new
PrinterDeviceDaoUtils
(
IActivity
);
printerDeviceDaoUtils
.
deleteAll
(
);
printerDeviceDaoUtils
.
insertMultPrinterDeviceBean
(
printerListBean
.
getList
()
);
saveSuccessCount
++
;
if
(
saveDownDataListener
!=
null
)
{
saveDownDataListener
.
onComplete
(
nextIndex
);
}
}
}
});
}
break
;
case
9
:
List
<
ColorBean
>
colorBeanList
=
GsonUtils
.
jsonToList
(
data
,
ColorBean
.
class
);
if
(
colorBeanList
!=
null
)
{
Observable
.
just
(
0
)
.
observeOn
(
Schedulers
.
io
())
.
subscribe
(
new
Consumer
<
Integer
>()
{
@Override
public
void
accept
(
@NonNull
Integer
integer
)
throws
Exception
{
ColorDaoUtils
colorDaoUtils
=
new
ColorDaoUtils
(
IActivity
);
colorDaoUtils
.
deleteAll
(
);
colorDaoUtils
.
insertMultColorBean
(
colorBeanList
)
;
saveSuccessCount
++;
if
(
saveDownDataListener
!=
null
)
{
saveDownDataListener
.
onComplete
(
nextIndex
);
}
);
}
break
;
case
9
:
List
<
ColorBean
>
colorBeanList
=
GsonUtils
.
jsonToList
(
data
,
ColorBean
.
class
);
if
(
colorBeanList
!=
null
)
{
Observable
.
just
(
0
)
.
observeOn
(
Schedulers
.
io
()
)
.
subscribe
(
new
Consumer
<
Integer
>()
{
@Override
public
void
accept
(
@NonNull
Integer
integer
)
throws
Exception
{
ColorDaoUtils
colorDaoUtils
=
new
ColorDaoUtils
(
IActivity
);
colorDaoUtils
.
deleteAll
(
);
colorDaoUtils
.
insertMultColorBean
(
colorBeanList
);
saveSuccessCount
++
;
if
(
saveDownDataListener
!=
null
)
{
saveDownDataListener
.
onComplete
(
nextIndex
);
}
}
}
});
}
break
;
});
}
break
;
}
}
catch
(
Exception
e
)
{
endDownReturn
();
}
return
false
;
}
...
...
component-login/build.gradle
View file @
29e0b2b3
...
...
@@ -124,7 +124,7 @@ dependencies {
addComponent
'component-delivery-pick'
addComponent
'component-manager'
addComponent
'component-coldchain'
addComponent
'component-supply-chain'
//
addComponent 'component-supply-chain'
addComponent
'component-webview'
addComponent
'component-scan'
addComponent
'component-pay'
...
...
component-login/src/main/java/com/gingersoft/gsa/cloud/login/mvp/ui/activity/WelcomeActivity.java
View file @
29e0b2b3
...
...
@@ -17,15 +17,12 @@ import android.view.animation.ScaleAnimation;
import
android.widget.ImageView
;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.constraintlayout.widget.ConstraintLayout
;
import
androidx.viewpager2.widget.ViewPager2
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResultOld
;
import
com.gingersoft.gsa.cloud.common.core.login.LoginBean
;
import
com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager
;
import
com.gingersoft.gsa.cloud.common.core.user.UserConstans
;
...
...
component-main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/model/bean/SendSettlement.java
View file @
29e0b2b3
...
...
@@ -3,6 +3,8 @@ package com.gingersoft.gsa.cloud.main.mvp.model.bean;
import
java.io.Serializable
;
import
java.util.List
;
import
lombok.Data
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
...
...
@@ -10,9 +12,9 @@ import java.util.List;
* 修订历史:2020-03-05
* 描述:
*/
@Data
public
class
SendSettlement
{
/**
* success : true
* sysTime : 1583402463139
...
...
@@ -25,139 +27,26 @@ public class SendSettlement {
private
long
sysTime
;
private
DataBean
data
;
public
boolean
isSuccess
()
{
return
success
;
}
public
void
setSuccess
(
boolean
success
)
{
this
.
success
=
success
;
}
public
String
getErrCode
()
{
return
errCode
;
}
public
void
setErrCode
(
String
errCode
)
{
this
.
errCode
=
errCode
;
}
public
String
getErrMsg
()
{
return
errMsg
;
}
public
void
setErrMsg
(
String
errMsg
)
{
this
.
errMsg
=
errMsg
;
}
public
long
getSysTime
()
{
return
sysTime
;
}
public
void
setSysTime
(
long
sysTime
)
{
this
.
sysTime
=
sysTime
;
}
public
DataBean
getData
()
{
return
data
;
}
public
void
setData
(
DataBean
data
)
{
this
.
data
=
data
;
}
@Data
public
static
class
DataBean
{
/**
* msg : 仍有臺號未結賬,請先結賬;
* table : ["外4","外2","外1","ceshitai1*","51533","51536","外5","外賣台2","509","510","511","51512","外賣台","102","51534","51531","51529","107","103","21","11A","10A","10","9","8","7","4"]
*/
private
String
msg
;
private
List
<
String
>
table
;
//未完結的外賣自取訂單號
private
String
orderNo
;
private
String
type1
;
private
String
type2
;
private
String
type3
;
private
List
<
DateNumBean
>
dateNum
;
private
String
errCode
;
public
String
getType1
()
{
return
type1
;
}
public
void
setType1
(
String
type1
)
{
this
.
type1
=
type1
;
}
public
String
getType2
()
{
return
type2
;
}
public
void
setType2
(
String
type2
)
{
this
.
type2
=
type2
;
}
public
String
getType3
()
{
return
type3
;
}
public
void
setType3
(
String
type3
)
{
this
.
type3
=
type3
;
}
public
List
<
DateNumBean
>
getDateNum
()
{
return
dateNum
;
}
public
void
setDateNum
(
List
<
DateNumBean
>
dateNum
)
{
this
.
dateNum
=
dateNum
;
}
public
String
getMsg
()
{
return
msg
;
}
public
void
setMsg
(
String
msg
)
{
this
.
msg
=
msg
;
}
public
List
<
String
>
getTable
()
{
return
table
;
}
public
void
setTable
(
List
<
String
>
table
)
{
this
.
table
=
table
;
}
public
String
getErrCode
()
{
return
errCode
;
}
public
void
setErrCode
(
String
errCode
)
{
this
.
errCode
=
errCode
;
}
@Data
public
static
class
DateNumBean
implements
Serializable
{
private
String
date
;
private
int
num
;
public
String
getDate
()
{
return
date
;
}
public
void
setDate
(
String
date
)
{
this
.
date
=
date
;
}
public
int
getNum
()
{
return
num
;
}
public
void
setNum
(
int
num
)
{
this
.
num
=
num
;
}
}
}
}
component-main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/presenter/SettlementReportPresenter.java
View file @
29e0b2b3
...
...
@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.main.mvp.presenter;
import
android.app.Activity
;
import
android.app.Application
;
import
android.text.TextUtils
;
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
;
...
...
@@ -198,6 +199,11 @@ public class SettlementReportPresenter extends BasePresenter<SettlementReportCon
// CommonTipDialog.showDoubtDialog(IActivity, "今天已清機過,是否合併清機", SettlementReportPresenter.class, SettlementReportPresenter.this,
// "sendSettlement", parameterTypes, parameters);
showMergeSettlementDialog
(
IActivity
,
"今天已清機過,是否合併清機"
);
}
else
if
(
info
.
getErrCode
().
equals
(
"restaurant.operation.0007"
))
{
SendSettlement
.
DataBean
data
=
info
.
getData
();
if
(
data
!=
null
)
{
showSettlementErrorDialog
(
info
.
getErrMsg
()
+
",清機失敗,仍有訂單未完結,請先結賬\n"
+
data
.
getOrderNo
());
}
}
else
{
if
(!
TextUtils
.
isEmpty
(
info
.
getErrMsg
()))
{
showSettlementErrorDialog
(
info
.
getErrMsg
()
+
",清機失敗"
);
...
...
component-print/src/main/java/com/joe/print/mvp/print/PrinterFactory.java
0 → 100644
View file @
29e0b2b3
package
com
.
joe
.
print
.
mvp
.
print
;
import
android.util.SparseArray
;
import
com.gingersoft.gsa.cloud.common.constans.PrintConstans
;
/**
* @作者: bin
* @創建時間: 2021-03-26 18:23
* @更新時間: 2021-03-26 18:23
* @描述:
*/
public
class
PrinterFactory
{
private
static
SparseArray
<
PrinterRoot
>
mPrinters
=
new
SparseArray
<>();
static
{
mPrinters
.
put
(
PrintConstans
.
PRINT_TEST
,
new
PrintTest
());
mPrinters
.
put
(
PrintConstans
.
PRINT_SERVE
,
new
PrintServe
());
mPrinters
.
put
(
PrintConstans
.
PRINT_SLIP
,
new
PrintSlip
());
mPrinters
.
put
(
PrintConstans
.
PRINT_BILL
,
new
PrintBill
());
mPrinters
.
put
(
PrintConstans
.
PRINT_KITCHEN
,
new
PrintPrjKitchen
());
mPrinters
.
put
(
PrintConstans
.
PRINT_CLEAN_MACHINE
,
new
PrintCleanMachine
());
mPrinters
.
put
(
PrintConstans
.
PRINT_OTHER_ORDER
,
new
PrintOtherOrder
());
mPrinters
.
put
(
PrintConstans
.
PRINT_INSTRUCTION
,
new
PrintInstruction
());
mPrinters
.
put
(
PrintConstans
.
PRINT_OTHER_CLOSING
,
new
PrintOtherOrderClosing
());
mPrinters
.
put
(
PrintConstans
.
PRINT_SKYORDER_QRCODE
,
new
PrintQRCode
());
}
public
static
PrinterRoot
create
(
int
type
){
PrinterRoot
printerRoot
=
mPrinters
.
get
(
type
);
return
printerRoot
;
}
}
component-print/src/main/java/com/joe/print/mvp/print/PrinterRoot.java
View file @
29e0b2b3
...
...
@@ -108,24 +108,9 @@ public abstract class PrinterRoot<T extends PrintContent> implements PrintExecut
final
static
String
DELIMITER
=
"/"
;
//將打印位置區分開來。。。。,暫時只有廚房單用到
private
static
SparseArray
<
PrinterRoot
>
mPrinterStrategy
=
new
SparseArray
<>();
static
{
mPrinterStrategy
.
put
(
PrintConstans
.
PRINT_TEST
,
new
PrintTest
());
mPrinterStrategy
.
put
(
PrintConstans
.
PRINT_SERVE
,
new
PrintServe
());
mPrinterStrategy
.
put
(
PrintConstans
.
PRINT_SLIP
,
new
PrintSlip
());
mPrinterStrategy
.
put
(
PrintConstans
.
PRINT_BILL
,
new
PrintBill
());
mPrinterStrategy
.
put
(
PrintConstans
.
PRINT_KITCHEN
,
new
PrintPrjKitchen
());
mPrinterStrategy
.
put
(
PrintConstans
.
PRINT_CLEAN_MACHINE
,
new
PrintCleanMachine
());
mPrinterStrategy
.
put
(
PrintConstans
.
PRINT_OTHER_ORDER
,
new
PrintOtherOrder
());
mPrinterStrategy
.
put
(
PrintConstans
.
PRINT_INSTRUCTION
,
new
PrintInstruction
());
mPrinterStrategy
.
put
(
PrintConstans
.
PRINT_OTHER_CLOSING
,
new
PrintOtherOrderClosing
());
mPrinterStrategy
.
put
(
PrintConstans
.
PRINT_SKYORDER_QRCODE
,
new
PrintQRCode
());
}
public
static
PrinterRoot
getPrinterByType
(
int
type
,
PrintContent
content
)
{
if
(
mPrinterStrategy
.
indexOfKey
(
type
)
>=
0
)
{
PrinterRoot
printerRoot
=
mPrinterStrategy
.
get
(
type
);
PrinterRoot
printerRoot
=
PrinterFactory
.
create
(
type
);
if
(
printerRoot
!=
null
)
{
printerRoot
.
setPrintContent
(
content
);
return
printerRoot
;
}
...
...
@@ -708,6 +693,7 @@ public abstract class PrinterRoot<T extends PrintContent> implements PrintExecut
if
(
data
.
getPHONE
()
!=
null
&&
data
.
getPHONE
().
length
()
>
0
)
{
tvMemberPhone
.
setText
(
"會員電話:"
+
getReplaceAfter
(
data
.
getPHONE
()));
}
// tvMemberNum.setText("會員號碼: "+data.get());
ll_member_info
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
ll_member_info
.
setVisibility
(
View
.
GONE
);
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/MealDiscountModule.java
View file @
29e0b2b3
...
...
@@ -32,9 +32,9 @@ public abstract class MealDiscountModule {
@Binds
abstract
MealDiscountContract
.
Model
bindMealDiscountModel
(
MealDiscountModel
model
);
@FragmentScope
@Provides
static
List
<
String
>
provideTabTitleList
(){
return
new
ArrayList
<>();
}
//
@FragmentScope
//
@Provides
//
static List<String> provideTabTitleList(){
//
return new ArrayList<>();
//
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/SetMealModule.java
View file @
29e0b2b3
...
...
@@ -144,12 +144,12 @@ public abstract class SetMealModule {
return
new
ModifierAdapter
(
IView
.
getActivity2
(),
modifierList
);
}
@FragmentScope
@Provides
@Named
(
"foodGridLayoutManager"
)
static
GridLayoutManager
provideFoodRecycleLayoutManager
(
SetMealContract
.
View
IView
)
{
return
new
GridLayoutManager
(
IView
.
getActivity2
(),
1
,
LinearLayoutManager
.
HORIZONTAL
,
false
);
}
//
@FragmentScope
//
@Provides
//
@Named("foodGridLayoutManager")
//
static GridLayoutManager provideFoodRecycleLayoutManager(SetMealContract.View IView) {
//
return new GridLayoutManager(IView.getActivity2(), 1, LinearLayoutManager.HORIZONTAL, false);
//
}
@FragmentScope
@Provides
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/meal/PrinterAction.java
0 → 100644
View file @
29e0b2b3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
action
.
meal
;
/**
* @作者: bin
* @創建時間: 2021-04-27 16:31
* @更新時間: 2021-04-27 16:31
* @描述:
*/
public
class
PrinterAction
{
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/order/CancelOrder.java
View file @
29e0b2b3
...
...
@@ -90,7 +90,7 @@ public class CancelOrder implements Strategy<OrderManagerResponse> {
}
}
RequestParms
build
=
RequestParms
.
builder
()
RequestParms
build
=
RequestParms
.
builder
()
.
action
(
PayAction
.
REFUND
)
.
orderId
(
DoshokuOrder
.
getInstance
().
getOrderId
())
.
resturantId
(
RestaurantInfoManager
.
newInstance
().
getRestaurantId
())
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/BaseOrderContract.java
View file @
29e0b2b3
...
...
@@ -6,7 +6,7 @@ import com.jess.arms.base.DefaultAdapter;
import
com.jess.arms.mvp.IModel
;
import
com.jess.arms.mvp.IView
;
import
io.reactivex.
Observab
le
;
import
io.reactivex.
Sing
le
;
import
okhttp3.RequestBody
;
...
...
@@ -36,11 +36,11 @@ public interface BaseOrderContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface
Model
extends
IModel
{
Observab
le
<
BaseResult
>
toOrderPay
(
RequestBody
requestBody
);
Sing
le
<
BaseResult
>
toOrderPay
(
RequestBody
requestBody
);
Observab
le
<
BaseResult
>
updateOrder
(
RequestBody
formBody
);
Sing
le
<
BaseResult
>
updateOrder
(
RequestBody
formBody
);
Observab
le
<
BaseOrderResponse
>
calculationPrice
(
long
orderId
);
Sing
le
<
BaseOrderResponse
>
calculationPrice
(
long
orderId
);
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/FineChildAllContract.java
View file @
29e0b2b3
...
...
@@ -11,6 +11,8 @@ import androidx.recyclerview.widget.RecyclerView;
import
java.util.List
;
import
io.reactivex.Single
;
/**
* ================================================
...
...
@@ -46,13 +48,13 @@ public interface FineChildAllContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface
Model
extends
IModel
{
List
<
Modifier
>
queryDB_ModifierByModMsgAndVisibleQueryBuilder
();
Single
<
List
<
Modifier
>
>
queryDB_ModifierByModMsgAndVisibleQueryBuilder
();
List
<
Modifier
>
queryDB_ModifierByModModTasteVisibleQueryBuilder
();
Single
<
List
<
Modifier
>
>
queryDB_ModifierByModModTasteVisibleQueryBuilder
();
List
<
Modifier
>
queryDB_ModifierByModModCommVisibleQueryBuilder
();
Single
<
List
<
Modifier
>
>
queryDB_ModifierByModModCommVisibleQueryBuilder
();
List
<
Modifier
>
queryDB_ModifierByTopidAndVisibleQueryBuilder
(
long
fid
);
Single
<
List
<
Modifier
>
>
queryDB_ModifierByTopidAndVisibleQueryBuilder
(
long
fid
);
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/FineChildOneselfContract.java
View file @
29e0b2b3
...
...
@@ -10,6 +10,8 @@ import com.jess.arms.mvp.IModel;
import
java.util.List
;
import
io.reactivex.Single
;
/**
* ================================================
...
...
@@ -40,8 +42,8 @@ public interface FineChildOneselfContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface
Model
extends
IModel
{
List
<
Modifier
>
queryDB_ModifierList
(
long
fid
,
int
mode
);
Single
<
List
<
Modifier
>
>
queryDB_ModifierList
(
long
fid
,
int
mode
);
List
<
ComboItem
>
queryDB_ComboList
(
long
fid
);
Single
<
List
<
ComboItem
>
>
queryDB_ComboList
(
long
fid
);
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/MealStandContract.java
View file @
29e0b2b3
...
...
@@ -19,7 +19,7 @@ import com.jess.arms.base.DefaultAdapter;
import
java.util.List
;
import
androidx.recyclerview.widget.RecyclerView
;
import
io.reactivex.
Observab
le
;
import
io.reactivex.
Sing
le
;
import
io.reactivex.Single
;
import
okhttp3.RequestBody
;
...
...
@@ -120,25 +120,25 @@ public interface MealStandContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface
Model
extends
BaseOrderContract
.
Model
{
Observab
le
<
BaseResult
>
getCurrentSoldoutFood
(
RequestBody
requestBody
);
Sing
le
<
BaseResult
>
getCurrentSoldoutFood
(
RequestBody
requestBody
);
Observab
le
<
BaseResult
>
createOrder
(
RequestBody
requestBody
);
Sing
le
<
BaseResult
>
createOrder
(
RequestBody
requestBody
);
Observable
<
BaseResult
>
add
Food
(
RequestBody
requestBody
);
Single
<
BaseResult
>
addOrder
Food
(
RequestBody
requestBody
);
Observab
le
<
BaseOrderResponse
>
loadOrder
(
long
orderId
);
Sing
le
<
BaseOrderResponse
>
loadOrder
(
long
orderId
);
Observab
le
<
BaseOrderResponse
>
deleteFood
(
RequestBody
requestBody
);
Sing
le
<
BaseOrderResponse
>
deleteFood
(
RequestBody
requestBody
);
Observab
le
<
BaseOrderResponse
>
printOrder
(
RequestBody
requestBody
);
Sing
le
<
BaseOrderResponse
>
printOrder
(
RequestBody
requestBody
);
Observab
le
<
BaseResult
>
getRestaurantFoodReason
(
int
brandId
,
int
restaurantId
,
int
type
);
Sing
le
<
BaseResult
>
getRestaurantFoodReason
(
int
brandId
,
int
restaurantId
,
int
type
);
Single
<
BaseResult
>
queryMember
(
int
type
,
String
parm
,
String
shopName
,
int
tableId
,
String
tableNumber
);
Observab
le
<
BaseResult
>
memberUse
(
int
tableId
,
String
tableNumber
,
long
memberId
);
Sing
le
<
BaseResult
>
memberUse
(
int
tableId
,
String
tableNumber
,
long
memberId
);
Observab
le
<
BaseResult
>
memberUseCancel
(
int
tableId
,
String
tableNumber
,
long
memberId
);
Sing
le
<
BaseResult
>
memberUseCancel
(
int
tableId
,
String
tableNumber
,
long
memberId
);
List
<
Food
>
queryDB_AllFoodList
();
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/MealStandContract2.java
View file @
29e0b2b3
...
...
@@ -19,7 +19,7 @@ import com.jess.arms.base.DefaultAdapter;
import
java.util.List
;
import
io.reactivex.
Observab
le
;
import
io.reactivex.
Sing
le
;
import
io.reactivex.Single
;
import
okhttp3.RequestBody
;
...
...
@@ -54,25 +54,25 @@ public interface MealStandContract2 {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface
Model
extends
BaseOrderContract
.
Model
{
Observab
le
<
BaseResult
>
getCurrentSoldoutFood
(
RequestBody
requestBody
);
Sing
le
<
BaseResult
>
getCurrentSoldoutFood
(
RequestBody
requestBody
);
Observab
le
<
BaseResult
>
createOrder
(
RequestBody
requestBody
);
Sing
le
<
BaseResult
>
createOrder
(
RequestBody
requestBody
);
Observable
<
BaseResult
>
add
Food
(
RequestBody
requestBody
);
Single
<
BaseResult
>
addOrder
Food
(
RequestBody
requestBody
);
Observab
le
<
BaseOrderResponse
>
loadOrder
(
long
orderId
);
Sing
le
<
BaseOrderResponse
>
loadOrder
(
long
orderId
);
Observab
le
<
BaseOrderResponse
>
deleteFood
(
RequestBody
requestBody
);
Sing
le
<
BaseOrderResponse
>
deleteFood
(
RequestBody
requestBody
);
Observab
le
<
BaseOrderResponse
>
printOrder
(
RequestBody
requestBody
);
Sing
le
<
BaseOrderResponse
>
printOrder
(
RequestBody
requestBody
);
Observab
le
<
BaseResult
>
getRestaurantFoodReason
(
int
brandId
,
int
restaurantId
,
int
type
);
Sing
le
<
BaseResult
>
getRestaurantFoodReason
(
int
brandId
,
int
restaurantId
,
int
type
);
Single
<
BaseResult
>
queryMember
(
int
type
,
String
parm
,
String
shopName
,
int
tableId
,
String
tableNumber
);
Observab
le
<
BaseResult
>
memberUse
(
int
tableId
,
String
tableNumber
,
long
memberId
);
Sing
le
<
BaseResult
>
memberUse
(
int
tableId
,
String
tableNumber
,
long
memberId
);
Observab
le
<
BaseResult
>
memberUseCancel
(
int
tableId
,
String
tableNumber
,
long
memberId
);
Sing
le
<
BaseResult
>
memberUseCancel
(
int
tableId
,
String
tableNumber
,
long
memberId
);
List
<
Food
>
queryDB_AllFoodList
();
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/NomalDiscountContract.java
View file @
29e0b2b3
...
...
@@ -9,6 +9,8 @@ import com.kingja.loadsir.callback.Callback;
import
java.util.List
;
import
io.reactivex.Single
;
/**
* ================================================
...
...
@@ -30,6 +32,6 @@ public interface NomalDiscountContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface
Model
extends
IModel
{
List
<
Discount
>
queryDB_DiscountList
(
byte
discountScope
,
byte
discountType
);
Single
<
List
<
Discount
>
>
queryDB_DiscountList
(
byte
discountScope
,
byte
discountType
);
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/OrderCenterContract.java
View file @
29e0b2b3
...
...
@@ -8,7 +8,7 @@ import com.jess.arms.mvp.IModel;
import
java.util.List
;
import
io.reactivex.
Observab
le
;
import
io.reactivex.
Sing
le
;
/**
...
...
@@ -47,9 +47,9 @@ public interface OrderCenterContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface
Model
extends
IModel
{
Observab
le
<
BaseResult
>
loadOrderList
(
int
restaurantId
,
String
orderType
,
String
status
,
int
pageIndex
,
int
pageSize
);
Sing
le
<
BaseResult
>
loadOrderList
(
int
restaurantId
,
String
orderType
,
String
status
,
int
pageIndex
,
int
pageSize
);
Observab
le
<
BaseResult
>
cancelOrder
(
long
orderId
,
int
restaurantId
,
String
orderType
,
String
status
);
Sing
le
<
BaseResult
>
cancelOrder
(
long
orderId
,
int
restaurantId
,
String
orderType
,
String
status
);
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/OrderContentContract.java
View file @
29e0b2b3
...
...
@@ -10,7 +10,8 @@ import com.jess.arms.base.DefaultAdapter;
import
java.util.List
;
import
io.reactivex.Observable
;
import
io.reactivex.Single
;
import
io.reactivex.Single
;
import
okhttp3.RequestBody
;
...
...
@@ -73,22 +74,22 @@ public interface OrderContentContract {
// List<Discount> queryDB_DiscountList(byte discountScope, byte discountType);
Observab
le
<
BaseOrderResponse
>
createOrder
(
RequestBody
requestBody
);
Sing
le
<
BaseOrderResponse
>
createOrder
(
RequestBody
requestBody
);
Observable
<
BaseOrderResponse
>
add
Food
(
RequestBody
requestBody
);
Single
<
BaseOrderResponse
>
addOrder
Food
(
RequestBody
requestBody
);
Observab
le
<
BaseOrderResponse
>
loadOrder
(
long
orderId
);
Sing
le
<
BaseOrderResponse
>
loadOrder
(
long
orderId
);
Observab
le
<
BaseOrderResponse
>
printOrder
(
RequestBody
request
);
Sing
le
<
BaseOrderResponse
>
printOrder
(
RequestBody
request
);
Observab
le
<
TableBean
>
getTables
(
int
restaurantId
);
Sing
le
<
TableBean
>
getTables
(
int
restaurantId
);
Observab
le
<
BaseResult
>
getTable
(
int
tableId
,
String
tableNumber
);
Sing
le
<
BaseResult
>
getTable
(
int
tableId
,
String
tableNumber
);
Observab
le
<
BaseOrderResponse
>
transferFood
(
RequestBody
requestBody
);
Sing
le
<
BaseOrderResponse
>
transferFood
(
RequestBody
requestBody
);
Observab
le
<
BaseResult
>
getSplitTables
(
int
tableId
);
Sing
le
<
BaseResult
>
getSplitTables
(
int
tableId
);
Observab
le
<
BaseResult
>
queryCoupon
(
int
tableId
,
Long
memberId
,
long
couponMemberId
,
String
couponNo
,
int
restaurantId
);
Sing
le
<
BaseResult
>
queryCoupon
(
int
tableId
,
Long
memberId
,
long
couponMemberId
,
String
couponNo
,
int
restaurantId
);
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/OrderDetailContract.java
View file @
29e0b2b3
...
...
@@ -4,7 +4,7 @@ import com.gingersoft.gsa.cloud.common.bean.BaseResult;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.response.OrderManagerResponse
;
import
com.jess.arms.mvp.IView
;
import
com.jess.arms.mvp.IModel
;
import
io.reactivex.
Observab
le
;
import
io.reactivex.
Sing
le
;
/**
...
...
@@ -40,8 +40,8 @@ public interface OrderDetailContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface
Model
extends
IModel
{
Observab
le
<
BaseResult
>
getOrderDetailItem
(
long
orderId
);
Sing
le
<
BaseResult
>
getOrderDetailItem
(
long
orderId
);
Observab
le
<
BaseResult
>
cancelOrder
(
long
orderId
);
Sing
le
<
BaseResult
>
cancelOrder
(
long
orderId
);
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/OrderPayContract.java
View file @
29e0b2b3
...
...
@@ -6,7 +6,7 @@ import com.gingersoft.gsa.cloud.pay.bean.PayMethod;
import
java.util.List
;
import
io.reactivex.
Observab
le
;
import
io.reactivex.
Sing
le
;
import
okhttp3.RequestBody
;
/**
...
...
@@ -36,12 +36,12 @@ public interface OrderPayContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface
Model
extends
BaseOrderContract
.
Model
{
Observab
le
<
BaseResult
>
getPayMethods
(
int
brandId
,
int
restaurantId
,
int
payType
);
Sing
le
<
BaseResult
>
getPayMethods
(
int
brandId
,
int
restaurantId
,
int
payType
);
Observab
le
<
BaseResult
>
updateOrderPay
(
RequestBody
requestBody
);
Sing
le
<
BaseResult
>
updateOrderPay
(
RequestBody
requestBody
);
//
Observab
le<Object> getN5SaleTxnId(String url);
//
Sing
le<Object> getN5SaleTxnId(String url);
//
//
Observab
le<BaseResult> updateOrderStatus( RequestBody formBody);
//
Sing
le<BaseResult> updateOrderStatus( RequestBody formBody);
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/SetMealContract.java
View file @
29e0b2b3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
contract
;
import
android.app.Activity
;
import
android.app.Dialog
;
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
;
...
...
@@ -14,6 +16,7 @@ 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
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ModifierAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.CancelFoodDialog
;
import
com.jess.arms.mvp.IView
;
import
com.jess.arms.mvp.IModel
;
...
...
@@ -23,7 +26,9 @@ import javax.inject.Inject;
import
javax.inject.Named
;
import
dagger.Lazy
;
import
io.reactivex.Observable
;
import
io.reactivex.Single
;
import
okhttp3.RequestBody
;
/**
...
...
@@ -42,10 +47,16 @@ public interface SetMealContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface
View
extends
BaseOrderContract
.
View
{
void
setCurrLayout
(
byte
layout
);
void
setCurrViewMode
(
int
...
viewMode
);
void
showChoosePeopleNumDialog
(
boolean
isNeedCancel
);
void
showCancelFoodDialog
(
OrderDetail
deleteFood
);
void
setCustomFoodDialog
(
int
customType
,
OrderDetail
foodItem
);
CancelFoodDialog
getCancelFoodDialog
();
void
setFoodGroupRecycleSpanCount
(
int
size
);
void
setFoodRecycleSpanCount
(
int
size
);
...
...
@@ -85,15 +96,29 @@ public interface SetMealContract {
MealStandActivity2
getActivity2
();
int
getFromType
();
void
clearKeyBoardInput
();
void
returnBeforeActivity
(
boolean
initTable
);
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface
Model
extends
BaseOrderContract
.
Model
{
Single
<
BaseResult
>
getCurrentSoldoutFood
(
RequestBody
requestBody
);
Single
<
BaseResult
>
createOrder
(
RequestBody
requestBody
);
Single
<
BaseResult
>
addOrderFood
(
RequestBody
requestBody
);
Single
<
BaseResult
>
getRestaurantFoodReason
(
int
brandId
,
int
restaurantId
,
int
type
);
Single
<
List
<
Food
>>
queryDB_FoodGroupList
(
int
foodSummary
);
Single
<
List
<
Food
>>
queryDB_FoodList
(
long
parentId
,
int
foodSummary
);
Single
<
Food
>
queryFoodByFlu
(
String
plu
);
List
<
Modifier
>
queryDB_ModifierList
(
long
fid
,
int
mode
);
List
<
ComboItem
>
queryDB_ComboList
(
long
fid
,
int
foodSummary
);
...
...
@@ -104,6 +129,4 @@ public interface SetMealContract {
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/SoldoutCtrlContract.java
View file @
29e0b2b3
...
...
@@ -7,7 +7,8 @@ import com.jess.arms.mvp.IModel;
import
com.jess.arms.mvp.IView
;
import
java.util.List
;
import
androidx.recyclerview.widget.RecyclerView
;
import
io.reactivex.Observable
;
import
io.reactivex.Single
;
import
io.reactivex.Single
;
import
okhttp3.RequestBody
;
...
...
@@ -71,18 +72,18 @@ public interface SoldoutCtrlContract {
List
<
Food
>
queryDB_FoodListByIds
(
String
[]
ids
);
Observab
le
<
BaseResult
>
getCurrentSoldoutFood
(
RequestBody
requestBody
);
Sing
le
<
BaseResult
>
getCurrentSoldoutFood
(
RequestBody
requestBody
);
Observab
le
<
BaseResult
>
insertSoldoutCtrl
(
RequestBody
requestBody
,
int
operatTtpe
,
int
type
);
Sing
le
<
BaseResult
>
insertSoldoutCtrl
(
RequestBody
requestBody
,
int
operatTtpe
,
int
type
);
Observab
le
<
BaseResult
>
restoreSoldoutCtrl
(
RequestBody
requestBody
);
Sing
le
<
BaseResult
>
restoreSoldoutCtrl
(
RequestBody
requestBody
);
Observab
le
<
BaseResult
>
batchRestoreSoldoutCtrl
(
RequestBody
requestBody
);
Sing
le
<
BaseResult
>
batchRestoreSoldoutCtrl
(
RequestBody
requestBody
);
Observab
le
<
BaseResult
>
updateInvisible
(
RequestBody
requestBody
);
Sing
le
<
BaseResult
>
updateInvisible
(
RequestBody
requestBody
);
Observab
le
<
BaseResult
>
downFoodList
(
int
restaurantId
);
Sing
le
<
BaseResult
>
downFoodList
(
int
restaurantId
);
Observab
le
<
BaseResult
>
downFoodModifier
(
int
restaurantId
);
Sing
le
<
BaseResult
>
downFoodModifier
(
int
restaurantId
);
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/TableContract.java
View file @
29e0b2b3
...
...
@@ -13,7 +13,7 @@ import com.jess.arms.mvp.IView;
import
java.util.List
;
import
io.reactivex.
Observab
le
;
import
io.reactivex.
Sing
le
;
import
okhttp3.RequestBody
;
...
...
@@ -75,26 +75,26 @@ public interface TableContract {
List
<
Modifier
>
queryDB_ModifierList
(
long
fid
,
int
mode
);
Observab
le
<
TableBean
>
getTables
(
int
restaurantId
,
boolean
update
);
Sing
le
<
TableBean
>
getTables
(
int
restaurantId
,
boolean
update
);
Observab
le
<
BaseResult
>
getTable
(
int
tableId
,
String
tableNumber
);
Sing
le
<
BaseResult
>
getTable
(
int
tableId
,
String
tableNumber
);
Observab
le
<
BaseOrderResponse
>
getOrderById
(
long
orderId
);
Sing
le
<
BaseOrderResponse
>
getOrderById
(
long
orderId
);
Observab
le
<
BaseOrderResponse
>
openTable
(
RequestBody
requestBody
);
Sing
le
<
BaseOrderResponse
>
openTable
(
RequestBody
requestBody
);
Observab
le
<
BaseOrderResponse
>
turnTable
(
RequestBody
requestBody
);
Sing
le
<
BaseOrderResponse
>
turnTable
(
RequestBody
requestBody
);
Observab
le
<
BaseOrderResponse
>
initTable
(
RequestBody
requestBody
);
Sing
le
<
BaseOrderResponse
>
initTable
(
RequestBody
requestBody
);
Observab
le
<
BaseResult
>
resetSkyorder
(
RequestBody
requestBody
);
Sing
le
<
BaseResult
>
resetSkyorder
(
RequestBody
requestBody
);
Observab
le
<
BaseResult
>
getSplitTables
(
int
tableId
);
Sing
le
<
BaseResult
>
getSplitTables
(
int
tableId
);
Observab
le
<
BaseResult
>
splitTable
(
int
tableId
);
Sing
le
<
BaseResult
>
splitTable
(
int
tableId
);
Observab
le
<
BaseResult
>
getFoodSummarys
(
int
restaurantId
,
boolean
isDefault
,
byte
businessType
,
boolean
update
);
Sing
le
<
BaseResult
>
getFoodSummarys
(
int
restaurantId
,
boolean
isDefault
,
byte
businessType
,
boolean
update
);
Observab
le
<
BaseResult
>
addScan
(
RequestBody
requestBody
);
Sing
le
<
BaseResult
>
addScan
(
RequestBody
requestBody
);
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/CouponModel.java
View file @
29e0b2b3
...
...
@@ -3,6 +3,7 @@ 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.common.rxjava.MyRxSchedulerUtils
;
import
com.gingersoft.gsa.cloud.order.bean.discount.MemberWalletCoupon
;
import
com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils
;
import
com.gingersoft.gsa.cloud.table.mvp.model.service.MemberService
;
...
...
@@ -58,6 +59,7 @@ public class CouponModel extends BaseModel implements CouponContract.Model {
public
Single
<
List
<
MemberWalletCoupon
>>
getMemberWalletList
(
int
brandId
,
long
memberId
,
long
limitType
,
long
pageIndex
,
long
pageSize
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MemberService
.
class
)
.
getMemberWalletList
(
brandId
,
memberId
,
limitType
,
pageIndex
,
pageSize
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
())
.
map
(
new
Function
<
BaseResult
,
List
<
MemberWalletCoupon
>>()
{
@Override
public
List
<
MemberWalletCoupon
>
apply
(
BaseResult
result
)
throws
Exception
{
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/FineChildAllModel.java
View file @
29e0b2b3
...
...
@@ -2,6 +2,8 @@ package com.gingersoft.gsa.cloud.table.mvp.model;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.common.rxjava.MyRxSchedulerUtils
;
import
com.gingersoft.gsa.cloud.common.rxjava.MyRxUtils
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.FineChildAllContract
;
...
...
@@ -15,6 +17,8 @@ import java.util.List;
import
javax.inject.Inject
;
import
io.reactivex.Single
;
/**
* ================================================
...
...
@@ -48,31 +52,31 @@ public class FineChildAllModel extends BaseModel implements FineChildAllContract
}
@Override
public
List
<
Modifier
>
queryDB_ModifierByModMsgAndVisibleQueryBuilder
()
{
public
Single
<
List
<
Modifier
>
>
queryDB_ModifierByModMsgAndVisibleQueryBuilder
()
{
//获取数据
ModifierDaoUtils
modifierDaoUtils
=
new
ModifierDaoUtils
(
mApplication
);
List
<
Modifier
>
modifierList
=
modifierDaoUtils
.
queryModifierByModMsgAndVisibleQueryBuilder
();
return
M
ealStyleUtils
.
assemblyModifiersColor
(
modifierList
);
return
M
yRxUtils
.
si_just_io_main
(
MealStyleUtils
.
assemblyModifiersColor
(
modifierList
)
);
}
@Override
public
List
<
Modifier
>
queryDB_ModifierByModModTasteVisibleQueryBuilder
()
{
public
Single
<
List
<
Modifier
>
>
queryDB_ModifierByModModTasteVisibleQueryBuilder
()
{
ModifierDaoUtils
modifierDaoUtils
=
new
ModifierDaoUtils
(
mApplication
);
List
<
Modifier
>
modifierList
=
modifierDaoUtils
.
queryModifierByModModTasteVisibleQueryBuilder
();
return
M
ealStyleUtils
.
assemblyModifiersColor
(
modifierList
);
return
M
yRxUtils
.
si_just_io_main
(
MealStyleUtils
.
assemblyModifiersColor
(
modifierList
)
);
}
@Override
public
List
<
Modifier
>
queryDB_ModifierByModModCommVisibleQueryBuilder
()
{
public
Single
<
List
<
Modifier
>
>
queryDB_ModifierByModModCommVisibleQueryBuilder
()
{
ModifierDaoUtils
modifierDaoUtils
=
new
ModifierDaoUtils
(
mApplication
);
List
<
Modifier
>
modifierList
=
modifierDaoUtils
.
queryModifierByModModCommVisibleQueryBuilder
();
return
M
ealStyleUtils
.
assemblyModifiersColor
(
modifierList
);
return
M
yRxUtils
.
si_just_io_main
(
MealStyleUtils
.
assemblyModifiersColor
(
modifierList
)
);
}
@Override
public
List
<
Modifier
>
queryDB_ModifierByTopidAndVisibleQueryBuilder
(
long
fid
)
{
public
Single
<
List
<
Modifier
>
>
queryDB_ModifierByTopidAndVisibleQueryBuilder
(
long
fid
)
{
ModifierDaoUtils
modifierDaoUtils
=
new
ModifierDaoUtils
(
mApplication
);
List
<
Modifier
>
modifierList
=
modifierDaoUtils
.
queryModifierByTopidAndVisibleQueryBuilder
(
fid
);
return
M
ealStyleUtils
.
assemblyModifiersColor
(
modifierList
);
return
M
yRxUtils
.
si_just_io_main
(
MealStyleUtils
.
assemblyModifiersColor
(
modifierList
)
);
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/FineChildOneselfModel.java
View file @
29e0b2b3
...
...
@@ -2,6 +2,8 @@ package com.gingersoft.gsa.cloud.table.mvp.model;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.common.rxjava.MyRxSchedulerUtils
;
import
com.gingersoft.gsa.cloud.common.rxjava.MyRxUtils
;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.database.utils.ComboItemDaoUtils
;
...
...
@@ -18,6 +20,8 @@ import java.util.List;
import
javax.inject.Inject
;
import
io.reactivex.Single
;
/**
* ================================================
...
...
@@ -51,15 +55,14 @@ public class FineChildOneselfModel extends BaseModel implements FineChildOneself
}
@Override
public
List
<
Modifier
>
queryDB_ModifierList
(
long
fid
,
int
mode
)
{
public
Single
<
List
<
Modifier
>
>
queryDB_ModifierList
(
long
fid
,
int
mode
)
{
ModifierDaoUtils
daoUtils
=
new
ModifierDaoUtils
(
mApplication
);
return
M
ealStyleUtils
.
assemblyModifiersColor
(
daoUtils
.
queryModifiersByFid
(
fid
,
mode
));
return
M
yRxUtils
.
si_just_io_main
(
MealStyleUtils
.
assemblyModifiersColor
(
daoUtils
.
queryModifiersByFid
(
fid
,
mode
)
));
}
@Override
public
List
<
ComboItem
>
queryDB_ComboList
(
long
fid
)
{
public
Single
<
List
<
ComboItem
>
>
queryDB_ComboList
(
long
fid
)
{
ComboItemDaoUtils
comboItemDao
=
new
ComboItemDaoUtils
(
mApplication
);
List
<
ComboItem
>
foodCombo
=
comboItemDao
.
queryComboItemsByFidQueryBuilder
(
fid
,
null
);
return
foodCombo
;
return
MyRxUtils
.
si_just_io_main
(
comboItemDao
.
queryComboItemsByFidQueryBuilder
(
fid
,
null
));
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/MealStandModel.java
View file @
29e0b2b3
...
...
@@ -4,6 +4,7 @@ import android.app.Application;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.logan.LoganManager
;
import
com.gingersoft.gsa.cloud.common.rxjava.MyRxSchedulerUtils
;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
...
...
@@ -33,7 +34,7 @@ import java.util.List;
import
javax.inject.Inject
;
import
io.reactivex.
Observab
le
;
import
io.reactivex.
Sing
le
;
import
io.reactivex.Observer
;
import
io.reactivex.Single
;
import
io.reactivex.disposables.Disposable
;
...
...
@@ -128,62 +129,64 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model
}
@Override
public
Observab
le
<
BaseResult
>
getCurrentSoldoutFood
(
RequestBody
requestBody
)
{
public
Sing
le
<
BaseResult
>
getCurrentSoldoutFood
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
getCurrentSoldoutFood
(
requestBody
);
}
@Override
public
Observab
le
<
BaseOrderResponse
>
loadOrder
(
long
orderId
)
{
public
Sing
le
<
BaseOrderResponse
>
loadOrder
(
long
orderId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
loadOrder
(
orderId
);
}
@Override
public
Observab
le
<
BaseResult
>
createOrder
(
RequestBody
requestBody
)
{
public
Sing
le
<
BaseResult
>
createOrder
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
createOrder
(
requestBody
);
.
createOrder
(
requestBody
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Observable
<
BaseResult
>
add
Food
(
RequestBody
requestBody
)
{
public
Single
<
BaseResult
>
addOrder
Food
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
addFood
(
requestBody
);
.
addOrderFood
(
requestBody
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Observab
le
<
BaseOrderResponse
>
deleteFood
(
RequestBody
requestBody
)
{
Observab
le
ob
=
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
public
Sing
le
<
BaseOrderResponse
>
deleteFood
(
RequestBody
requestBody
)
{
Sing
le
ob
=
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
deleteFood
(
requestBody
)
.
flatMap
(
new
Function
<
BaseResult
,
Observab
le
<
BaseOrderResponse
>>()
{
.
flatMap
(
new
Function
<
BaseResult
,
Sing
le
<
BaseOrderResponse
>>()
{
@Override
public
Observab
le
<
BaseOrderResponse
>
apply
(
BaseResult
info
)
throws
Exception
{
public
Sing
le
<
BaseOrderResponse
>
apply
(
BaseResult
info
)
throws
Exception
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
return
loadOrder
(
DoshokuOrder
.
getInstance
().
getOrderId
());
}
BaseOrderResponse
baseOrderRespose
=
new
BaseOrderResponse
();
baseOrderRespose
.
setSuccess
(
info
.
isSuccess
());
baseOrderRespose
.
setErrMsg
(
info
.
getErrMsg
());
return
Observab
le
.
just
(
baseOrderRespose
);
return
Sing
le
.
just
(
baseOrderRespose
);
}
});
return
ob
;
}
@Override
public
Observab
le
<
BaseOrderResponse
>
calculationPrice
(
long
orderId
)
{
public
Sing
le
<
BaseOrderResponse
>
calculationPrice
(
long
orderId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
calculationPrice
(
orderId
);
}
@Override
public
Observab
le
<
BaseOrderResponse
>
printOrder
(
RequestBody
requestBody
)
{
public
Sing
le
<
BaseOrderResponse
>
printOrder
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
printOrder
(
requestBody
);
}
@Override
public
Observab
le
<
BaseResult
>
getRestaurantFoodReason
(
int
brandId
,
int
restaurantId
,
int
type
)
{
public
Sing
le
<
BaseResult
>
getRestaurantFoodReason
(
int
brandId
,
int
restaurantId
,
int
type
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
getRestaurantFoodReason
(
brandId
,
restaurantId
,
type
);
}
...
...
@@ -195,25 +198,25 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model
}
@Override
public
Observab
le
<
BaseResult
>
memberUse
(
int
tableId
,
String
tableNumber
,
long
memberId
)
{
public
Sing
le
<
BaseResult
>
memberUse
(
int
tableId
,
String
tableNumber
,
long
memberId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MemberService
.
class
)
.
memberUse
(
tableId
,
tableNumber
,
memberId
);
}
@Override
public
Observab
le
<
BaseResult
>
memberUseCancel
(
int
tableId
,
String
tableNumber
,
long
memberId
)
{
public
Sing
le
<
BaseResult
>
memberUseCancel
(
int
tableId
,
String
tableNumber
,
long
memberId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MemberService
.
class
)
.
memberUseCancel
(
tableId
,
tableNumber
,
memberId
);
}
@Override
public
Observab
le
<
BaseResult
>
toOrderPay
(
RequestBody
requestBody
)
{
public
Sing
le
<
BaseResult
>
toOrderPay
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
OrderPayService
.
class
)
.
toOrderPay
(
requestBody
);
}
@Override
public
Observab
le
<
BaseResult
>
updateOrder
(
RequestBody
formBody
)
{
public
Sing
le
<
BaseResult
>
updateOrder
(
RequestBody
formBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
OrderPayService
.
class
)
.
updateOrder
(
formBody
);
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/MealStandModel2.java
View file @
29e0b2b3
...
...
@@ -32,7 +32,7 @@ import java.util.List;
import
javax.inject.Inject
;
import
io.reactivex.
Observab
le
;
import
io.reactivex.
Sing
le
;
import
io.reactivex.Single
;
import
io.reactivex.functions.Function
;
import
okhttp3.RequestBody
;
...
...
@@ -122,62 +122,62 @@ public class MealStandModel2 extends BaseModel implements MealStandContract2.Mod
}
@Override
public
Observab
le
<
BaseResult
>
getCurrentSoldoutFood
(
RequestBody
requestBody
)
{
public
Sing
le
<
BaseResult
>
getCurrentSoldoutFood
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
getCurrentSoldoutFood
(
requestBody
);
}
@Override
public
Observab
le
<
BaseOrderResponse
>
loadOrder
(
long
orderId
)
{
public
Sing
le
<
BaseOrderResponse
>
loadOrder
(
long
orderId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
loadOrder
(
orderId
);
}
@Override
public
Observab
le
<
BaseResult
>
createOrder
(
RequestBody
requestBody
)
{
public
Sing
le
<
BaseResult
>
createOrder
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
createOrder
(
requestBody
);
}
@Override
public
Observable
<
BaseResult
>
add
Food
(
RequestBody
requestBody
)
{
public
Single
<
BaseResult
>
addOrder
Food
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
addFood
(
requestBody
);
.
add
Order
Food
(
requestBody
);
}
@Override
public
Observab
le
<
BaseOrderResponse
>
deleteFood
(
RequestBody
requestBody
)
{
Observab
le
ob
=
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
public
Sing
le
<
BaseOrderResponse
>
deleteFood
(
RequestBody
requestBody
)
{
Sing
le
ob
=
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
deleteFood
(
requestBody
)
.
flatMap
(
new
Function
<
BaseResult
,
Observab
le
<
BaseOrderResponse
>>()
{
.
flatMap
(
new
Function
<
BaseResult
,
Sing
le
<
BaseOrderResponse
>>()
{
@Override
public
Observab
le
<
BaseOrderResponse
>
apply
(
BaseResult
info
)
throws
Exception
{
public
Sing
le
<
BaseOrderResponse
>
apply
(
BaseResult
info
)
throws
Exception
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
return
loadOrder
(
DoshokuOrder
.
getInstance
().
getOrderId
());
}
BaseOrderResponse
baseOrderRespose
=
new
BaseOrderResponse
();
baseOrderRespose
.
setSuccess
(
info
.
isSuccess
());
baseOrderRespose
.
setErrMsg
(
info
.
getErrMsg
());
return
Observab
le
.
just
(
baseOrderRespose
);
return
Sing
le
.
just
(
baseOrderRespose
);
}
});
return
ob
;
}
@Override
public
Observab
le
<
BaseOrderResponse
>
calculationPrice
(
long
orderId
)
{
public
Sing
le
<
BaseOrderResponse
>
calculationPrice
(
long
orderId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
calculationPrice
(
orderId
);
}
@Override
public
Observab
le
<
BaseOrderResponse
>
printOrder
(
RequestBody
requestBody
)
{
public
Sing
le
<
BaseOrderResponse
>
printOrder
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
printOrder
(
requestBody
);
}
@Override
public
Observab
le
<
BaseResult
>
getRestaurantFoodReason
(
int
brandId
,
int
restaurantId
,
int
type
)
{
public
Sing
le
<
BaseResult
>
getRestaurantFoodReason
(
int
brandId
,
int
restaurantId
,
int
type
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
getRestaurantFoodReason
(
brandId
,
restaurantId
,
type
);
}
...
...
@@ -189,25 +189,25 @@ public class MealStandModel2 extends BaseModel implements MealStandContract2.Mod
}
@Override
public
Observab
le
<
BaseResult
>
memberUse
(
int
tableId
,
String
tableNumber
,
long
memberId
)
{
public
Sing
le
<
BaseResult
>
memberUse
(
int
tableId
,
String
tableNumber
,
long
memberId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MemberService
.
class
)
.
memberUse
(
tableId
,
tableNumber
,
memberId
);
}
@Override
public
Observab
le
<
BaseResult
>
memberUseCancel
(
int
tableId
,
String
tableNumber
,
long
memberId
)
{
public
Sing
le
<
BaseResult
>
memberUseCancel
(
int
tableId
,
String
tableNumber
,
long
memberId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MemberService
.
class
)
.
memberUseCancel
(
tableId
,
tableNumber
,
memberId
);
}
@Override
public
Observab
le
<
BaseResult
>
toOrderPay
(
RequestBody
requestBody
)
{
public
Sing
le
<
BaseResult
>
toOrderPay
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
OrderPayService
.
class
)
.
toOrderPay
(
requestBody
);
}
@Override
public
Observab
le
<
BaseResult
>
updateOrder
(
RequestBody
formBody
)
{
public
Sing
le
<
BaseResult
>
updateOrder
(
RequestBody
formBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
OrderPayService
.
class
)
.
updateOrder
(
formBody
);
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/NomalDiscountModel.java
View file @
29e0b2b3
...
...
@@ -2,6 +2,7 @@ package com.gingersoft.gsa.cloud.table.mvp.model;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.common.rxjava.MyRxUtils
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.database.utils.DiscountDaoUtils
;
import
com.gingersoft.gsa.cloud.table.mvp.model.utils.MealConditionFilterUtils
;
...
...
@@ -17,6 +18,8 @@ import com.gingersoft.gsa.cloud.table.mvp.contract.NomalDiscountContract;
import
java.util.List
;
import
io.reactivex.Single
;
/**
* ================================================
...
...
@@ -50,9 +53,9 @@ public class NomalDiscountModel extends BaseModel implements NomalDiscountContra
}
@Override
public
List
<
Discount
>
queryDB_DiscountList
(
byte
discountScope
,
byte
discountType
)
{
public
Single
<
List
<
Discount
>
>
queryDB_DiscountList
(
byte
discountScope
,
byte
discountType
)
{
DiscountDaoUtils
discountDaoUtils
=
new
DiscountDaoUtils
(
mApplication
);
List
<
Discount
>
discountList
=
discountDaoUtils
.
queryDiscountByQueryBuilder
();
return
M
ealConditionFilterUtils
.
discountConditionFilter
(
discountList
,
discountScope
,
discountType
)
;
return
M
yRxUtils
.
si_just_io_main
(
MealConditionFilterUtils
.
discountConditionFilter
(
discountList
,
discountScope
,
discountType
))
;
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/OrderCenterModel.java
View file @
29e0b2b3
...
...
@@ -3,6 +3,7 @@ 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.common.rxjava.MyRxSchedulerUtils
;
import
com.gingersoft.gsa.cloud.table.mvp.model.service.OrderService
;
import
com.google.gson.Gson
;
import
com.jess.arms.integration.IRepositoryManager
;
...
...
@@ -14,7 +15,7 @@ import javax.inject.Inject;
import
com.gingersoft.gsa.cloud.table.mvp.contract.OrderCenterContract
;
import
io.reactivex.
Observab
le
;
import
io.reactivex.
Sing
le
;
import
io.reactivex.functions.Function
;
...
...
@@ -50,22 +51,24 @@ public class OrderCenterModel extends BaseModel implements OrderCenterContract.M
}
@Override
public
Observab
le
<
BaseResult
>
loadOrderList
(
int
restaurantId
,
String
orderType
,
String
status
,
int
pageIndex
,
int
pageSize
)
{
public
Sing
le
<
BaseResult
>
loadOrderList
(
int
restaurantId
,
String
orderType
,
String
status
,
int
pageIndex
,
int
pageSize
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
OrderService
.
class
)
.
loadOrderList
(
restaurantId
,
orderType
,
status
,
pageIndex
,
pageSize
);
.
loadOrderList
(
restaurantId
,
orderType
,
status
,
pageIndex
,
pageSize
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Observab
le
<
BaseResult
>
cancelOrder
(
long
orderId
,
int
restaurantId
,
String
orderType
,
String
status
)
{
public
Sing
le
<
BaseResult
>
cancelOrder
(
long
orderId
,
int
restaurantId
,
String
orderType
,
String
status
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
OrderService
.
class
)
.
cancelOrder
(
orderId
)
.
flatMap
(
new
Function
<
BaseResult
,
Observable
<
BaseResult
>>()
{
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
())
.
flatMap
(
new
Function
<
BaseResult
,
Single
<
BaseResult
>>()
{
@Override
public
Observab
le
<
BaseResult
>
apply
(
BaseResult
info
)
throws
Exception
{
public
Sing
le
<
BaseResult
>
apply
(
BaseResult
info
)
throws
Exception
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
return
loadOrderList
(
restaurantId
,
orderType
,
status
,
0
,
10
);
}
return
Observab
le
.
just
(
info
);
return
Sing
le
.
just
(
info
);
}
});
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/OrderContentModel.java
View file @
29e0b2b3
...
...
@@ -4,6 +4,7 @@ import android.app.Application;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.core.table.TableBean
;
import
com.gingersoft.gsa.cloud.common.rxjava.MyRxSchedulerUtils
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.database.utils.DiscountDaoUtils
;
import
com.gingersoft.gsa.cloud.order.order.DoshokuOrder
;
...
...
@@ -25,7 +26,8 @@ import java.util.List;
import
javax.inject.Inject
;
import
io.reactivex.Observable
;
import
io.reactivex.Single
;
import
io.reactivex.Single
;
import
io.reactivex.functions.Function
;
import
okhttp3.RequestBody
;
...
...
@@ -71,9 +73,10 @@ public class OrderContentModel extends BaseModel implements OrderContentContract
}
@Override
public
Observab
le
<
BaseOrderResponse
>
loadOrder
(
long
orderId
)
{
public
Sing
le
<
BaseOrderResponse
>
loadOrder
(
long
orderId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
loadOrder
(
orderId
);
.
loadOrder
(
orderId
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
// @Override
...
...
@@ -84,12 +87,13 @@ public class OrderContentModel extends BaseModel implements OrderContentContract
// }
@Override
public
Observab
le
<
BaseOrderResponse
>
createOrder
(
RequestBody
requestBody
)
{
Observab
le
ob
=
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
public
Sing
le
<
BaseOrderResponse
>
createOrder
(
RequestBody
requestBody
)
{
Sing
le
ob
=
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
createOrder
(
requestBody
)
.
flatMap
(
new
Function
<
BaseResult
,
Observable
<
BaseOrderResponse
>>()
{
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
())
.
flatMap
(
new
Function
<
BaseResult
,
Single
<
BaseOrderResponse
>>()
{
@Override
public
Observab
le
<
BaseOrderResponse
>
apply
(
BaseResult
info
)
throws
Exception
{
public
Sing
le
<
BaseOrderResponse
>
apply
(
BaseResult
info
)
throws
Exception
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
saveCreateTime
(
info
.
getSysTime
());
if
(
info
.
getData
()
!=
null
)
{
...
...
@@ -115,19 +119,20 @@ public class OrderContentModel extends BaseModel implements OrderContentContract
BaseOrderResponse
baseOrderRespose
=
new
BaseOrderResponse
();
baseOrderRespose
.
setSuccess
(
info
.
isSuccess
());
baseOrderRespose
.
setErrMsg
(
info
.
getErrMsg
());
return
Observab
le
.
just
(
baseOrderRespose
);
return
Sing
le
.
just
(
baseOrderRespose
);
}
});
return
ob
;
}
@Override
public
Observable
<
BaseOrderResponse
>
addFood
(
RequestBody
requestBody
)
{
Observable
ob
=
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
addFood
(
requestBody
)
.
flatMap
(
new
Function
<
BaseResult
,
Observable
<
BaseOrderResponse
>>()
{
public
Single
<
BaseOrderResponse
>
addOrderFood
(
RequestBody
requestBody
)
{
Single
ob
=
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
addOrderFood
(
requestBody
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
())
.
flatMap
(
new
Function
<
BaseResult
,
Single
<
BaseOrderResponse
>>()
{
@Override
public
Observab
le
<
BaseOrderResponse
>
apply
(
BaseResult
info
)
throws
Exception
{
public
Sing
le
<
BaseOrderResponse
>
apply
(
BaseResult
info
)
throws
Exception
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
saveCreateTime
(
info
.
getSysTime
());
return
loadOrder
(
DoshokuOrder
.
getInstance
().
getOrderId
());
...
...
@@ -135,72 +140,76 @@ public class OrderContentModel extends BaseModel implements OrderContentContract
BaseOrderResponse
baseOrderRespose
=
new
BaseOrderResponse
();
baseOrderRespose
.
setSuccess
(
info
.
isSuccess
());
baseOrderRespose
.
setErrMsg
(
info
.
getErrMsg
());
return
Observab
le
.
just
(
baseOrderRespose
);
return
Sing
le
.
just
(
baseOrderRespose
);
}
});
return
ob
;
}
@Override
public
Observab
le
<
BaseOrderResponse
>
printOrder
(
RequestBody
request
)
{
public
Sing
le
<
BaseOrderResponse
>
printOrder
(
RequestBody
request
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
printOrder
(
request
);
.
printOrder
(
request
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Observab
le
<
TableBean
>
getTables
(
int
restaurantId
)
{
public
Sing
le
<
TableBean
>
getTables
(
int
restaurantId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
TableService
.
class
)
.
getTables
(
restaurantId
);
.
getTables
(
restaurantId
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Observab
le
<
BaseResult
>
getTable
(
int
tableId
,
String
tableNumber
)
{
public
Sing
le
<
BaseResult
>
getTable
(
int
tableId
,
String
tableNumber
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
TableService
.
class
)
.
getTable
(
tableId
,
tableNumber
);
.
getTable
(
tableId
,
tableNumber
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Observab
le
<
BaseOrderResponse
>
transferFood
(
RequestBody
requestBody
)
{
Observab
le
ob
=
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
public
Sing
le
<
BaseOrderResponse
>
transferFood
(
RequestBody
requestBody
)
{
Sing
le
ob
=
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
transferFood
(
requestBody
)
.
flatMap
(
new
Function
<
BaseOrderResponse
,
Observable
<
BaseOrderResponse
>>()
{
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
())
.
flatMap
(
new
Function
<
BaseOrderResponse
,
Single
<
BaseOrderResponse
>>()
{
@Override
public
Observab
le
<
BaseOrderResponse
>
apply
(
BaseOrderResponse
info
)
throws
Exception
{
public
Sing
le
<
BaseOrderResponse
>
apply
(
BaseOrderResponse
info
)
throws
Exception
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
return
loadOrder
(
DoshokuOrder
.
getInstance
().
getOrderId
());
}
return
Observab
le
.
just
(
info
);
return
Sing
le
.
just
(
info
);
}
});
return
ob
;
}
@Override
public
Observab
le
<
BaseResult
>
getSplitTables
(
int
tableId
)
{
public
Sing
le
<
BaseResult
>
getSplitTables
(
int
tableId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
TableService
.
class
)
.
getSplitTables
(
tableId
);
}
@Override
public
Observab
le
<
BaseResult
>
toOrderPay
(
RequestBody
requestBody
)
{
public
Sing
le
<
BaseResult
>
toOrderPay
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
OrderPayService
.
class
)
.
toOrderPay
(
requestBody
);
}
@Override
public
Observab
le
<
BaseResult
>
updateOrder
(
RequestBody
formBody
)
{
public
Sing
le
<
BaseResult
>
updateOrder
(
RequestBody
formBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
OrderPayService
.
class
)
.
updateOrder
(
formBody
);
}
@Override
public
Observab
le
<
BaseResult
>
queryCoupon
(
int
tableId
,
Long
memberId
,
long
couponMemberId
,
String
couponNo
,
int
restaurantId
)
{
public
Sing
le
<
BaseResult
>
queryCoupon
(
int
tableId
,
Long
memberId
,
long
couponMemberId
,
String
couponNo
,
int
restaurantId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MemberService
.
class
)
.
queryCoupon
(
tableId
,
memberId
,
couponMemberId
,
couponNo
,
restaurantId
);
}
@Override
public
Observab
le
<
BaseOrderResponse
>
calculationPrice
(
long
orderId
)
{
public
Sing
le
<
BaseOrderResponse
>
calculationPrice
(
long
orderId
)
{
return
null
;
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/OrderDetailModel.java
View file @
29e0b2b3
...
...
@@ -3,6 +3,7 @@ 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.common.rxjava.MyRxSchedulerUtils
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.OrderDetailContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.service.OrderService
;
import
com.google.gson.Gson
;
...
...
@@ -12,7 +13,7 @@ import com.jess.arms.mvp.BaseModel;
import
javax.inject.Inject
;
import
io.reactivex.
Observab
le
;
import
io.reactivex.
Sing
le
;
import
io.reactivex.functions.Function
;
...
...
@@ -48,22 +49,24 @@ public class OrderDetailModel extends BaseModel implements OrderDetailContract.M
}
@Override
public
Observab
le
<
BaseResult
>
getOrderDetailItem
(
long
orderId
)
{
public
Sing
le
<
BaseResult
>
getOrderDetailItem
(
long
orderId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
OrderService
.
class
)
.
getOrderDetail
(
orderId
);
.
getOrderDetail
(
orderId
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Observab
le
<
BaseResult
>
cancelOrder
(
long
orderId
)
{
public
Sing
le
<
BaseResult
>
cancelOrder
(
long
orderId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
OrderService
.
class
)
.
cancelOrder
(
orderId
)
.
flatMap
(
new
Function
<
BaseResult
,
Observable
<
BaseResult
>>()
{
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
())
.
flatMap
(
new
Function
<
BaseResult
,
Single
<
BaseResult
>>()
{
@Override
public
Observab
le
<
BaseResult
>
apply
(
BaseResult
info
)
throws
Exception
{
public
Sing
le
<
BaseResult
>
apply
(
BaseResult
info
)
throws
Exception
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
return
getOrderDetailItem
(
orderId
);
}
return
Observab
le
.
just
(
info
);
return
Sing
le
.
just
(
info
);
}
});
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/OrderPayModel.java
View file @
29e0b2b3
...
...
@@ -3,6 +3,7 @@ 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.common.rxjava.MyRxSchedulerUtils
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.OrderPayContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.response.BaseOrderResponse
;
import
com.gingersoft.gsa.cloud.table.mvp.model.service.MealService
;
...
...
@@ -14,7 +15,7 @@ import com.jess.arms.mvp.BaseModel;
import
javax.inject.Inject
;
import
io.reactivex.
Observab
le
;
import
io.reactivex.
Sing
le
;
import
okhttp3.RequestBody
;
...
...
@@ -50,33 +51,38 @@ public class OrderPayModel extends BaseModel implements OrderPayContract.Model {
}
@Override
public
Observab
le
<
BaseResult
>
getPayMethods
(
int
brandId
,
int
restaurantId
,
int
payType
)
{
public
Sing
le
<
BaseResult
>
getPayMethods
(
int
brandId
,
int
restaurantId
,
int
payType
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
OrderPayService
.
class
)
.
getPayMethods
(
brandId
,
restaurantId
,
payType
);
.
getPayMethods
(
brandId
,
restaurantId
,
payType
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Observab
le
<
BaseResult
>
updateOrderPay
(
RequestBody
requestBody
)
{
public
Sing
le
<
BaseResult
>
updateOrderPay
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
OrderPayService
.
class
)
.
updateOrderPay
(
requestBody
);
.
updateOrderPay
(
requestBody
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Observab
le
<
BaseOrderResponse
>
calculationPrice
(
long
orderId
)
{
public
Sing
le
<
BaseOrderResponse
>
calculationPrice
(
long
orderId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
calculationPrice
(
orderId
);
.
calculationPrice
(
orderId
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Observab
le
<
BaseResult
>
toOrderPay
(
RequestBody
requestBody
)
{
public
Sing
le
<
BaseResult
>
toOrderPay
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
OrderPayService
.
class
)
.
toOrderPay
(
requestBody
);
.
toOrderPay
(
requestBody
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Observab
le
<
BaseResult
>
updateOrder
(
RequestBody
formBody
)
{
public
Sing
le
<
BaseResult
>
updateOrder
(
RequestBody
formBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
OrderPayService
.
class
)
.
updateOrder
(
formBody
);
.
updateOrder
(
formBody
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/RiceponMemberDialogModel.java
View file @
29e0b2b3
...
...
@@ -3,6 +3,7 @@ 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.common.rxjava.MyRxSchedulerUtils
;
import
com.gingersoft.gsa.cloud.table.mvp.model.service.MemberService
;
import
com.google.gson.Gson
;
import
com.jess.arms.integration.IRepositoryManager
;
...
...
@@ -52,7 +53,8 @@ public class RiceponMemberDialogModel extends BaseModel implements RiceponMember
@Override
public
Single
<
BaseResult
>
queryMember
(
int
type
,
String
parm
,
String
shopName
,
int
tableId
,
String
tableNumber
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MemberService
.
class
)
.
queryMember
(
type
,
parm
,
shopName
,
tableId
,
tableNumber
);
.
queryMember
(
type
,
parm
,
shopName
,
tableId
,
tableNumber
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/SetMealModel.java
View file @
29e0b2b3
...
...
@@ -4,6 +4,7 @@ import android.app.Application;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.rxjava.MyRxSchedulerUtils
;
import
com.gingersoft.gsa.cloud.common.rxjava.MyRxUtils
;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.bean.FoodCombo
;
...
...
@@ -14,6 +15,7 @@ import com.gingersoft.gsa.cloud.database.utils.FoodComboDaoUtils;
import
com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils
;
import
com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.response.BaseOrderResponse
;
import
com.gingersoft.gsa.cloud.table.mvp.model.service.MealService
;
import
com.gingersoft.gsa.cloud.table.mvp.model.utils.MealConditionFilterUtils
;
import
com.gingersoft.gsa.cloud.table.mvp.model.utils.MealStyleUtils
;
import
com.google.gson.Gson
;
...
...
@@ -28,7 +30,7 @@ import com.gingersoft.gsa.cloud.table.mvp.contract.SetMealContract;
import
java.util.List
;
import
io.reactivex.
Observab
le
;
import
io.reactivex.
Sing
le
;
import
io.reactivex.Single
;
import
okhttp3.RequestBody
;
...
...
@@ -65,21 +67,54 @@ public class SetMealModel extends BaseModel implements SetMealContract.Model {
}
@Override
public
Single
<
BaseResult
>
getCurrentSoldoutFood
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
getCurrentSoldoutFood
(
requestBody
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Single
<
BaseResult
>
createOrder
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
createOrder
(
requestBody
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Single
<
BaseResult
>
addOrderFood
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
addOrderFood
(
requestBody
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Single
<
BaseResult
>
getRestaurantFoodReason
(
int
brandId
,
int
restaurantId
,
int
type
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
getRestaurantFoodReason
(
brandId
,
restaurantId
,
type
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Single
<
List
<
Food
>>
queryDB_FoodGroupList
(
int
foodSummary
)
{
FoodDaoUtils
foodDaoUtils
=
new
FoodDaoUtils
(
mApplication
);
List
<
Food
>
foods
=
foodDaoUtils
.
queryFoodGroupByQueryBuilder
(
foodSummary
);
return
Single
.
just
(
return
MyRxUtils
.
si_just_io_main
(
MealStyleUtils
.
assemblyFoodsColor
(
MealConditionFilterUtils
.
foodConditionFilter
(
foods
,
foodSummary
)))
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
MealConditionFilterUtils
.
foodConditionFilter
(
foods
,
foodSummary
)));
}
@Override
public
Single
<
List
<
Food
>>
queryDB_FoodList
(
long
parentId
,
int
foodSummary
)
{
FoodDaoUtils
foodDaoUtils
=
new
FoodDaoUtils
(
mApplication
);
List
<
Food
>
foods
=
foodDaoUtils
.
queryFoodByQueryBuilder
(
parentId
,
foodSummary
);
return
Single
.
just
(
MealStyleUtils
.
assemblyFoodsColor
(
MealConditionFilterUtils
.
foodConditionFilter
(
foods
,
foodSummary
)))
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
return
MyRxUtils
.
si_just_io_main
(
MealStyleUtils
.
assemblyFoodsColor
(
MealConditionFilterUtils
.
foodConditionFilter
(
foods
,
foodSummary
)));
}
@Override
public
Single
<
Food
>
queryFoodByFlu
(
String
plu
)
{
FoodDaoUtils
foodDaoUtils
=
new
FoodDaoUtils
(
mApplication
);
Food
food
=
foodDaoUtils
.
queryFoodByQueryBuilder
(
plu
);
return
MyRxUtils
.
si_just_io_main
(
food
);
}
@Override
...
...
@@ -99,8 +134,7 @@ public class SetMealModel extends BaseModel implements SetMealContract.Model {
@Override
public
Single
<
List
<
FoodCombo
>>
isComboFood
(
long
fid
)
{
FoodComboDaoUtils
foodComboDaoUtils
=
new
FoodComboDaoUtils
(
mApplication
);
return
Single
.
just
(
foodComboDaoUtils
.
queryCombosFoodsByQueryBuilder
(
fid
))
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
return
MyRxUtils
.
si_just_io_main
(
foodComboDaoUtils
.
queryCombosFoodsByQueryBuilder
(
fid
));
}
@Override
...
...
@@ -109,17 +143,17 @@ public class SetMealModel extends BaseModel implements SetMealContract.Model {
}
@Override
public
Observab
le
<
BaseResult
>
toOrderPay
(
RequestBody
requestBody
)
{
public
Sing
le
<
BaseResult
>
toOrderPay
(
RequestBody
requestBody
)
{
return
null
;
}
@Override
public
Observab
le
<
BaseResult
>
updateOrder
(
RequestBody
formBody
)
{
public
Sing
le
<
BaseResult
>
updateOrder
(
RequestBody
formBody
)
{
return
null
;
}
@Override
public
Observab
le
<
BaseOrderResponse
>
calculationPrice
(
long
orderId
)
{
public
Sing
le
<
BaseOrderResponse
>
calculationPrice
(
long
orderId
)
{
return
null
;
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/SoldoutCtrlModel.java
View file @
29e0b2b3
...
...
@@ -3,6 +3,7 @@ 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.common.rxjava.MyRxSchedulerUtils
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.SoldoutCtrlContract
;
...
...
@@ -17,7 +18,8 @@ import java.util.List;
import
javax.inject.Inject
;
import
io.reactivex.Observable
;
import
io.reactivex.Single
;
import
io.reactivex.Single
;
import
okhttp3.RequestBody
;
...
...
@@ -82,18 +84,20 @@ public class SoldoutCtrlModel extends BaseModel implements SoldoutCtrlContract.M
}
@Override
public
Observab
le
<
BaseResult
>
getCurrentSoldoutFood
(
RequestBody
requestBody
)
{
public
Sing
le
<
BaseResult
>
getCurrentSoldoutFood
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
getCurrentSoldoutFood
(
requestBody
);
.
getCurrentSoldoutFood
(
requestBody
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Observab
le
<
BaseResult
>
insertSoldoutCtrl
(
RequestBody
requestBody
,
int
operatTtpe
,
int
type
)
{
public
Sing
le
<
BaseResult
>
insertSoldoutCtrl
(
RequestBody
requestBody
,
int
operatTtpe
,
int
type
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
insertSoldoutCtrl
(
requestBody
);
// .flatMap(new Function<BaseResult, Observable<BaseResult>>() {
.
insertSoldoutCtrl
(
requestBody
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
// .flatMap(new Function<BaseResult, Single<BaseResult>>() {
// @Override
// public
Observab
le<BaseResult> apply(BaseResult info) throws Exception {
// public
Sing
le<BaseResult> apply(BaseResult info) throws Exception {
// if (info != null && info.isSuccess()) {
// if (operatTtpe == 0) {
// int restaurantId = ResturantInfoManager.newInstance().getRestaurantId();
...
...
@@ -108,39 +112,44 @@ public class SoldoutCtrlModel extends BaseModel implements SoldoutCtrlContract.M
// }
// }
// }
// return
Observab
le.just(info);
// return
Sing
le.just(info);
// }
// });
}
@Override
public
Observab
le
<
BaseResult
>
restoreSoldoutCtrl
(
RequestBody
requestBody
)
{
public
Sing
le
<
BaseResult
>
restoreSoldoutCtrl
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
restoreSoldoutCtrl
(
requestBody
);
.
restoreSoldoutCtrl
(
requestBody
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Observab
le
<
BaseResult
>
batchRestoreSoldoutCtrl
(
RequestBody
requestBody
)
{
public
Sing
le
<
BaseResult
>
batchRestoreSoldoutCtrl
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
batchRestoreSoldoutCtrl
(
requestBody
);
.
batchRestoreSoldoutCtrl
(
requestBody
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Observab
le
<
BaseResult
>
updateInvisible
(
RequestBody
requestBody
)
{
public
Sing
le
<
BaseResult
>
updateInvisible
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
updateInvisible
(
requestBody
);
.
updateInvisible
(
requestBody
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Observab
le
<
BaseResult
>
downFoodList
(
int
restaurantId
)
{
public
Sing
le
<
BaseResult
>
downFoodList
(
int
restaurantId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
downFoodList
(
restaurantId
);
.
downFoodList
(
restaurantId
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Observab
le
<
BaseResult
>
downFoodModifier
(
int
restaurantId
)
{
public
Sing
le
<
BaseResult
>
downFoodModifier
(
int
restaurantId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
downFoodModifier
(
restaurantId
);
.
downFoodModifier
(
restaurantId
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/TableModel.java
View file @
29e0b2b3
...
...
@@ -4,6 +4,7 @@ import android.app.Application;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.core.table.TableBean
;
import
com.gingersoft.gsa.cloud.common.rxjava.MyRxSchedulerUtils
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils
;
...
...
@@ -22,8 +23,8 @@ import java.util.List;
import
javax.inject.Inject
;
import
io.reactivex.
Observab
le
;
import
io.reactivex.
Observab
leSource
;
import
io.reactivex.
Sing
le
;
import
io.reactivex.
Sing
leSource
;
import
io.reactivex.functions.Function
;
import
io.rx_cache2.DynamicKey
;
import
io.rx_cache2.EvictDynamicKey
;
...
...
@@ -76,16 +77,17 @@ public class TableModel extends BaseModel implements TableContract.Model {
}
@Override
public
Observab
le
<
TableBean
>
getTables
(
int
restaurantId
,
boolean
update
)
{
public
Sing
le
<
TableBean
>
getTables
(
int
restaurantId
,
boolean
update
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
TableService
.
class
)
.
getTables
(
restaurantId
);
// return Observable.just(mRepositoryManager
.
getTables
(
restaurantId
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
// return Single.just(mRepositoryManager
// .obtainRetrofitService(TableService.class)
// .getTables(restaurantId))
// .flatMap((Function<
Observable<TableBean>, ObservableSource<TableBean>>) listObservab
le ->
// .flatMap((Function<
Single<TableBean>, SingleSource<TableBean>>) listSing
le ->
// mRepositoryManager.obtainCacheService(TableCache.class)
// .getTables(list
Observab
le,
// .getTables(list
Sing
le,
// new DynamicKey(1),
// new EvictDynamicKey(update))
// .map(listReply -> listReply.getData()));
...
...
@@ -93,64 +95,72 @@ public class TableModel extends BaseModel implements TableContract.Model {
@Override
public
Observab
le
<
BaseResult
>
getTable
(
int
tableId
,
String
tableNumber
)
{
public
Sing
le
<
BaseResult
>
getTable
(
int
tableId
,
String
tableNumber
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
TableService
.
class
)
.
getTable
(
tableId
,
tableNumber
);
.
getTable
(
tableId
,
tableNumber
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Observab
le
<
BaseOrderResponse
>
getOrderById
(
long
orderId
)
{
public
Sing
le
<
BaseOrderResponse
>
getOrderById
(
long
orderId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
OrderService
.
class
)
.
getOrderById
(
orderId
);
.
getOrderById
(
orderId
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Observab
le
<
BaseOrderResponse
>
openTable
(
RequestBody
requestBody
)
{
public
Sing
le
<
BaseOrderResponse
>
openTable
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
TableService
.
class
)
.
openTable
(
requestBody
);
.
openTable
(
requestBody
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Observab
le
<
BaseOrderResponse
>
turnTable
(
RequestBody
requestBody
)
{
public
Sing
le
<
BaseOrderResponse
>
turnTable
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
TableService
.
class
)
.
turnTable
(
requestBody
);
.
turnTable
(
requestBody
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Observab
le
<
BaseOrderResponse
>
initTable
(
RequestBody
requestBody
)
{
public
Sing
le
<
BaseOrderResponse
>
initTable
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
TableService
.
class
)
.
initTable
(
requestBody
);
.
initTable
(
requestBody
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Observab
le
<
BaseResult
>
resetSkyorder
(
RequestBody
requestBody
)
{
public
Sing
le
<
BaseResult
>
resetSkyorder
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
TableService
.
class
)
.
resetSkyorder
(
requestBody
);
.
resetSkyorder
(
requestBody
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Observab
le
<
BaseResult
>
getSplitTables
(
int
tableId
)
{
public
Sing
le
<
BaseResult
>
getSplitTables
(
int
tableId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
TableService
.
class
)
.
getSplitTables
(
tableId
);
.
getSplitTables
(
tableId
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Observab
le
<
BaseResult
>
splitTable
(
int
tableId
)
{
public
Sing
le
<
BaseResult
>
splitTable
(
int
tableId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
TableService
.
class
)
.
splitTable
(
tableId
);
.
splitTable
(
tableId
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
@Override
public
Observab
le
<
BaseResult
>
getFoodSummarys
(
int
restaurantId
,
boolean
isDefault
,
byte
businessType
,
boolean
update
)
{
public
Sing
le
<
BaseResult
>
getFoodSummarys
(
int
restaurantId
,
boolean
isDefault
,
byte
businessType
,
boolean
update
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
TableService
.
class
)
.
getFoodSummarys
(
restaurantId
,
isDefault
,
businessType
)
;
// return
Observab
le.just(mRepositoryManager
.
getFoodSummarys
(
restaurantId
,
isDefault
,
businessType
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
// return
Sing
le.just(mRepositoryManager
// .obtainRetrofitService(TableService.class)
// .getFoodSummarys(restaurantId, isDefault, businessType))
// .flatMap((Function<
Observable<BaseResult>, ObservableSource<BaseResult>>) listObservab
le -> mRepositoryManager.obtainCacheService(TableCache.class)
// .getFoodSummarys(list
Observab
le,
// .flatMap((Function<
Single<BaseResult>, SingleSource<BaseResult>>) listSing
le -> mRepositoryManager.obtainCacheService(TableCache.class)
// .getFoodSummarys(list
Sing
le,
// new DynamicKey(1),
// new EvictDynamicKey(update))
// .map(listReply -> listReply.getData()));
...
...
@@ -158,9 +168,10 @@ public class TableModel extends BaseModel implements TableContract.Model {
}
@Override
public
Observab
le
<
BaseResult
>
addScan
(
RequestBody
requestBody
)
{
public
Sing
le
<
BaseResult
>
addScan
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
TableService
.
class
)
.
addScan
(
requestBody
);
.
addScan
(
requestBody
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/bean/event/LoadFineEvent.java
0 → 100644
View file @
29e0b2b3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
bean
.
event
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
java.util.List
;
import
lombok.Data
;
/**
* @作者: bin
* @創建時間: 2021-04-27 14:26
* @更新時間: 2021-04-27 14:26
* @描述:
*/
@Data
public
class
LoadFineEvent
{
private
int
currFinePage
;
private
long
productId
;
private
int
selectedMode
;
private
List
<
SoldoutCtrFood
>
soldoutCtrFoods
;
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/service/MealService.java
View file @
29e0b2b3
...
...
@@ -3,7 +3,8 @@ package com.gingersoft.gsa.cloud.table.mvp.model.service;
import
com.gingersoft.gsa.cloud.common.Api
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.response.BaseOrderResponse
;
import
io.reactivex.Observable
;
import
io.reactivex.Single
;
import
io.reactivex.Single
;
import
me.jessyan.retrofiturlmanager.RetrofitUrlManager
;
import
okhttp3.RequestBody
;
import
retrofit2.http.Body
;
...
...
@@ -25,56 +26,56 @@ public interface MealService {
@Headers
({
"Domain-Name: soldoutctrl"
})
@POST
(
"foodChecklist/list"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
getCurrentSoldoutFood
(
@Body
RequestBody
requestBody
);
Sing
le
<
BaseResult
>
getCurrentSoldoutFood
(
@Body
RequestBody
requestBody
);
@Headers
({
"Domain-Name: soldoutctrl"
})
@POST
(
"foodChecklist/insert"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
insertSoldoutCtrl
(
@Body
RequestBody
requestBody
);
Sing
le
<
BaseResult
>
insertSoldoutCtrl
(
@Body
RequestBody
requestBody
);
@Headers
({
"Domain-Name: soldoutctrl"
})
@POST
(
"foodChecklist/updatePrg"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
restoreSoldoutCtrl
(
@Body
RequestBody
requestBody
);
Sing
le
<
BaseResult
>
restoreSoldoutCtrl
(
@Body
RequestBody
requestBody
);
@Headers
({
"Domain-Name: soldoutctrl"
})
@POST
(
"foodChecklist/batchUpdatePrg"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
batchRestoreSoldoutCtrl
(
@Body
RequestBody
requestBody
);
Sing
le
<
BaseResult
>
batchRestoreSoldoutCtrl
(
@Body
RequestBody
requestBody
);
@POST
(
"food/updateInvisible"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
updateInvisible
(
@Body
RequestBody
requestBody
);
Sing
le
<
BaseResult
>
updateInvisible
(
@Body
RequestBody
requestBody
);
// @Headers({"Domain-Name: yc_location"})
@POST
(
"order/send"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
createOrder
(
@Body
RequestBody
requestBody
);
Sing
le
<
BaseResult
>
createOrder
(
@Body
RequestBody
requestBody
);
// @Headers({"Domain-Name: yc_location"})
@POST
(
"orderDetails/add"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observable
<
BaseResult
>
add
Food
(
@Body
RequestBody
requestBody
);
Single
<
BaseResult
>
addOrder
Food
(
@Body
RequestBody
requestBody
);
@FormUrlEncoded
@POST
(
"order/get"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseOrderResponse
>
loadOrder
(
@Field
(
"orderId"
)
long
orderId
);
Sing
le
<
BaseOrderResponse
>
loadOrder
(
@Field
(
"orderId"
)
long
orderId
);
// @FormUrlEncoded
@POST
(
"orderDetails/delete"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
deleteFood
(
@Body
RequestBody
requestBody
);
Sing
le
<
BaseResult
>
deleteFood
(
@Body
RequestBody
requestBody
);
@FormUrlEncoded
@POST
(
"order/calculation/price"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseOrderResponse
>
calculationPrice
(
@Field
(
"orderId"
)
long
orderId
);
Sing
le
<
BaseOrderResponse
>
calculationPrice
(
@Field
(
"orderId"
)
long
orderId
);
@POST
(
"restaurantTable/print"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseOrderResponse
>
printOrder
(
@Body
RequestBody
requestBody
);
Sing
le
<
BaseOrderResponse
>
printOrder
(
@Body
RequestBody
requestBody
);
@GET
(
"restaurantFoodReason/config/list"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
getRestaurantFoodReason
(
@Query
(
"brandId"
)
int
brandId
,
@Query
(
"restaurantId"
)
int
restaurantId
,
@Query
(
"type"
)
int
type
);
Sing
le
<
BaseResult
>
getRestaurantFoodReason
(
@Query
(
"brandId"
)
int
brandId
,
@Query
(
"restaurantId"
)
int
restaurantId
,
@Query
(
"type"
)
int
type
);
@POST
(
"restaurantTable/transfer"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseOrderResponse
>
transferFood
(
@Body
RequestBody
requestBody
);
Sing
le
<
BaseOrderResponse
>
transferFood
(
@Body
RequestBody
requestBody
);
@GET
(
Api
.
food_list
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
downFoodList
(
@Query
(
"restaurantId"
)
int
restaurantId
);
Sing
le
<
BaseResult
>
downFoodList
(
@Query
(
"restaurantId"
)
int
restaurantId
);
@GET
(
Api
.
food_modifiere_relation
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
downFoodModifier
(
@Query
(
"restaurantId"
)
int
restaurantId
);
Sing
le
<
BaseResult
>
downFoodModifier
(
@Query
(
"restaurantId"
)
int
restaurantId
);
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/service/MemberService.java
View file @
29e0b2b3
...
...
@@ -2,7 +2,7 @@ package com.gingersoft.gsa.cloud.table.mvp.model.service;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
io.reactivex.
Observab
le
;
import
io.reactivex.
Sing
le
;
import
io.reactivex.Single
;
import
me.jessyan.retrofiturlmanager.RetrofitUrlManager
;
import
retrofit2.http.GET
;
...
...
@@ -20,13 +20,13 @@ public interface MemberService {
Single
<
BaseResult
>
queryMember
(
@Query
(
"type"
)
int
type
,
@Query
(
"parm"
)
String
parm
,
@Query
(
"gsposShopId"
)
String
shopName
,
@Query
(
"tableId"
)
int
tableId
,
@Query
(
"tableNumber"
)
String
tableNumber
);
@GET
(
"restaurantTable/memberUse"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
memberUse
(
@Query
(
"tableId"
)
int
tableId
,
@Query
(
"tableNumber"
)
String
tableNumber
,
@Query
(
"memberId"
)
long
memberId
);
Sing
le
<
BaseResult
>
memberUse
(
@Query
(
"tableId"
)
int
tableId
,
@Query
(
"tableNumber"
)
String
tableNumber
,
@Query
(
"memberId"
)
long
memberId
);
@GET
(
"restaurantTable/memberUseCancel"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
memberUseCancel
(
@Query
(
"tableId"
)
int
tableId
,
@Query
(
"tableNumber"
)
String
tableNumber
,
@Query
(
"memberId"
)
long
memberId
);
Sing
le
<
BaseResult
>
memberUseCancel
(
@Query
(
"tableId"
)
int
tableId
,
@Query
(
"tableNumber"
)
String
tableNumber
,
@Query
(
"memberId"
)
long
memberId
);
@GET
(
"coupon/queryCoupon"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
queryCoupon
(
@Query
(
"tableId"
)
int
tableId
,
@Query
(
"memberId"
)
Long
memberId
,
@Query
(
"couponMemberId"
)
long
couponMemberId
,
@Query
(
"couponNo"
)
String
couponNo
,
@Query
(
"restaurantId"
)
int
restaurantId
);
Sing
le
<
BaseResult
>
queryCoupon
(
@Query
(
"tableId"
)
int
tableId
,
@Query
(
"memberId"
)
Long
memberId
,
@Query
(
"couponMemberId"
)
long
couponMemberId
,
@Query
(
"couponNo"
)
String
couponNo
,
@Query
(
"restaurantId"
)
int
restaurantId
);
@Headers
({
"Domain-Name: ricepon_member"
})
@GET
(
"member/getMemberWalletList"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/service/OrderPayService.java
View file @
29e0b2b3
...
...
@@ -2,7 +2,7 @@ package com.gingersoft.gsa.cloud.table.mvp.model.service;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
io.reactivex.
Observab
le
;
import
io.reactivex.
Sing
le
;
import
me.jessyan.retrofiturlmanager.RetrofitUrlManager
;
import
okhttp3.RequestBody
;
import
retrofit2.http.Body
;
...
...
@@ -16,14 +16,14 @@ import retrofit2.http.Query;
public
interface
OrderPayService
{
@POST
(
"order/update"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
updateOrder
(
@Body
RequestBody
requestBody
);
Sing
le
<
BaseResult
>
updateOrder
(
@Body
RequestBody
requestBody
);
@POST
(
"orderPay/update"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
updateOrderPay
(
@Body
RequestBody
requestBody
);
Sing
le
<
BaseResult
>
updateOrderPay
(
@Body
RequestBody
requestBody
);
@POST
(
"orderPay/add"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
toOrderPay
(
@Body
RequestBody
requestBody
);
Sing
le
<
BaseResult
>
toOrderPay
(
@Body
RequestBody
requestBody
);
@GET
(
"restaurant/pay/get"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
getPayMethods
(
@Query
(
"brandId"
)
int
brandId
,
@Query
(
"restaurantId"
)
int
restaurantId
,
@Query
(
"payType"
)
int
payType
);
Sing
le
<
BaseResult
>
getPayMethods
(
@Query
(
"brandId"
)
int
brandId
,
@Query
(
"restaurantId"
)
int
restaurantId
,
@Query
(
"payType"
)
int
payType
);
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/service/OrderService.java
View file @
29e0b2b3
...
...
@@ -3,7 +3,7 @@ package com.gingersoft.gsa.cloud.table.mvp.model.service;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.response.BaseOrderResponse
;
import
io.reactivex.
Observab
le
;
import
io.reactivex.
Sing
le
;
import
me.jessyan.retrofiturlmanager.RetrofitUrlManager
;
import
okhttp3.RequestBody
;
import
retrofit2.http.Body
;
...
...
@@ -20,18 +20,18 @@ public interface OrderService {
@FormUrlEncoded
@POST
(
"order/list"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
loadOrderList
(
@Field
(
"restaurantId"
)
int
restaurantId
,
@Field
(
"orderType"
)
String
orderType
,
@Field
(
"status"
)
String
status
,
@Field
(
"pageIndex"
)
int
pageIndex
,
@Field
(
"pageSize"
)
int
pageSize
);
Sing
le
<
BaseResult
>
loadOrderList
(
@Field
(
"restaurantId"
)
int
restaurantId
,
@Field
(
"orderType"
)
String
orderType
,
@Field
(
"status"
)
String
status
,
@Field
(
"pageIndex"
)
int
pageIndex
,
@Field
(
"pageSize"
)
int
pageSize
);
@GET
(
"order/pay/success"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
getOrderDetail
(
@Query
(
"orderId"
)
long
orderId
);
Sing
le
<
BaseResult
>
getOrderDetail
(
@Query
(
"orderId"
)
long
orderId
);
@GET
(
"order/findOrderById"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseOrderResponse
>
getOrderById
(
@Query
(
"orderId"
)
long
orderId
);
Sing
le
<
BaseOrderResponse
>
getOrderById
(
@Query
(
"orderId"
)
long
orderId
);
@FormUrlEncoded
@POST
(
"order/cancel"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
cancelOrder
(
@Field
(
"orderId"
)
long
orderId
);
Sing
le
<
BaseResult
>
cancelOrder
(
@Field
(
"orderId"
)
long
orderId
);
@POST
(
"posPay/getTxnId"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
getTxnId
(
@Body
RequestBody
requestBody
);
Sing
le
<
BaseResult
>
getTxnId
(
@Body
RequestBody
requestBody
);
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/service/TableService.java
View file @
29e0b2b3
...
...
@@ -3,7 +3,8 @@ package com.gingersoft.gsa.cloud.table.mvp.model.service;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.core.table.TableBean
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.response.BaseOrderResponse
;
import
io.reactivex.Observable
;
import
io.reactivex.Single
;
import
io.reactivex.Single
;
import
me.jessyan.retrofiturlmanager.RetrofitUrlManager
;
import
okhttp3.RequestBody
;
import
retrofit2.http.Body
;
...
...
@@ -22,34 +23,34 @@ import retrofit2.http.Query;
public
interface
TableService
{
@GET
(
"restaurantTable/list"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
TableBean
>
getTables
(
@Query
(
"restaurantId"
)
int
restaurantId
);
Sing
le
<
TableBean
>
getTables
(
@Query
(
"restaurantId"
)
int
restaurantId
);
@GET
(
"restaurantTable/get"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
getTable
(
@Query
(
"id"
)
int
table
,
@Query
(
"tableNumber"
)
String
tableNumber
);
Sing
le
<
BaseResult
>
getTable
(
@Query
(
"id"
)
int
table
,
@Query
(
"tableNumber"
)
String
tableNumber
);
@POST
(
"restaurantTable/kickOff"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseOrderResponse
>
openTable
(
@Body
RequestBody
requestBody
);
Sing
le
<
BaseOrderResponse
>
openTable
(
@Body
RequestBody
requestBody
);
@POST
(
"restaurantTable/update/table"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseOrderResponse
>
turnTable
(
@Body
RequestBody
requestBody
);
Sing
le
<
BaseOrderResponse
>
turnTable
(
@Body
RequestBody
requestBody
);
@POST
(
"restaurantTable/set/status"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseOrderResponse
>
initTable
(
@Body
RequestBody
requestBody
);
Sing
le
<
BaseOrderResponse
>
initTable
(
@Body
RequestBody
requestBody
);
@POST
(
"restaurantTable/skyOrderReset"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
resetSkyorder
(
@Body
RequestBody
requestBody
);
Sing
le
<
BaseResult
>
resetSkyorder
(
@Body
RequestBody
requestBody
);
@GET
(
"restaurantTable/getSplitTableAvailable"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
getSplitTables
(
@Query
(
"tableId"
)
int
tableId
);
Sing
le
<
BaseResult
>
getSplitTables
(
@Query
(
"tableId"
)
int
tableId
);
@GET
(
"restaurantTable/getSplitTable"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
splitTable
(
@Query
(
"tableId"
)
int
tableId
);
Sing
le
<
BaseResult
>
splitTable
(
@Query
(
"tableId"
)
int
tableId
);
@Headers
({
"Domain-Name: ricepon_restaurant"
})
@GET
(
"summary/getSummaryBusinessList"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
getFoodSummarys
(
@Query
(
"restaurantId"
)
int
restaurantId
,
@Query
(
"isDefault"
)
boolean
isDefault
,
@Query
(
"businessType"
)
byte
businessType
);
Sing
le
<
BaseResult
>
getFoodSummarys
(
@Query
(
"restaurantId"
)
int
restaurantId
,
@Query
(
"isDefault"
)
boolean
isDefault
,
@Query
(
"businessType"
)
byte
businessType
);
@Headers
({
"Domain-Name: ricepon_restaurant"
})
@POST
(
"scan/addScanCloudGsa"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
addScan
(
@Body
RequestBody
requestBody
);
Sing
le
<
BaseResult
>
addScan
(
@Body
RequestBody
requestBody
);
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/utils/MealStyleUtils.java
View file @
29e0b2b3
...
...
@@ -14,7 +14,6 @@ import java.util.List;
*/
public
class
MealStyleUtils
{
public
static
List
<
Food
>
assemblyFoodsColor
(
List
<
Food
>
foodList
)
{
for
(
Food
food
:
foodList
)
{
food
.
getColorBean
();
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
View file @
29e0b2b3
...
...
@@ -13,6 +13,7 @@ import com.gingersoft.gsa.cloud.common.core.restaurant.utils.RestaurantExpandInf
import
com.gingersoft.gsa.cloud.common.core.table.TableBean
;
import
com.gingersoft.gsa.cloud.common.core.user.UserContext
;
import
com.gingersoft.gsa.cloud.common.logan.LoganManager
;
import
com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber
;
import
com.gingersoft.gsa.cloud.common.utils.LanguageUtils
;
import
com.gingersoft.gsa.cloud.common.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.common.utils.time.TimeUtils
;
...
...
@@ -61,6 +62,7 @@ import javax.inject.Inject;
import
io.reactivex.Observable
;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.annotations.NonNull
;
import
io.reactivex.disposables.Disposable
;
import
io.reactivex.functions.Consumer
;
import
io.reactivex.functions.Function
;
...
...
@@ -1417,15 +1419,13 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
.
add
(
"person"
,
String
.
valueOf
(
peopleNumber
))
.
build
();
mModel
.
updateOrder
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
BaseResult
baseResult
)
{
public
void
on
Success
(
@NonNull
BaseResult
baseResult
)
{
if
(
baseResult
.
isSuccess
())
{
if
(
mOrderContentActivity
!=
null
)
{
textView
.
setText
(
peopleNumber
);
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter2.java
View file @
29e0b2b3
...
...
@@ -13,6 +13,7 @@ import com.gingersoft.gsa.cloud.common.core.restaurant.utils.RestaurantExpandInf
import
com.gingersoft.gsa.cloud.common.core.table.TableBean
;
import
com.gingersoft.gsa.cloud.common.core.user.UserContext
;
import
com.gingersoft.gsa.cloud.common.logan.LoganManager
;
import
com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber
;
import
com.gingersoft.gsa.cloud.common.utils.LanguageUtils
;
import
com.gingersoft.gsa.cloud.common.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.common.utils.time.TimeUtils
;
...
...
@@ -63,6 +64,7 @@ import javax.inject.Inject;
import
io.reactivex.Observable
;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.annotations.NonNull
;
import
io.reactivex.disposables.Disposable
;
import
io.reactivex.functions.Consumer
;
import
io.reactivex.functions.Function
;
...
...
@@ -147,7 +149,7 @@ public abstract class BaseOrderPresenter2<M extends BaseOrderContract.Model, V e
protected
String
serviceChargeStr
=
"服務費"
;
protected
String
roundingStr
=
"賬單小數"
;
private
final
String
noFoodDeliveryTip
=
"賬單沒有食品,是否開台?"
;
protected
final
String
printError
=
"打印失敗"
;
public
abstract
void
createOrder
(
boolean
isPrint
,
Class
<?>
afterToActivity
);
...
...
@@ -1220,7 +1222,7 @@ public abstract class BaseOrderPresenter2<M extends BaseOrderContract.Model, V e
*
* @param foodList
*/
p
rotected
void
mergeMainFoodNumber
(
List
<
OrderDetail
>
foodList
)
{
p
ublic
void
mergeMainFoodNumber
(
List
<
OrderDetail
>
foodList
)
{
List
<
Integer
>
removeIndexs
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
foodList
.
size
();
i
++)
{
OrderDetail
orderFood
=
foodList
.
get
(
i
);
...
...
@@ -1419,15 +1421,13 @@ public abstract class BaseOrderPresenter2<M extends BaseOrderContract.Model, V e
.
add
(
"person"
,
String
.
valueOf
(
peopleNumber
))
.
build
();
mModel
.
updateOrder
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
BaseResult
baseResult
)
{
public
void
on
Success
(
@NonNull
BaseResult
baseResult
)
{
if
(
baseResult
.
isSuccess
())
{
if
(
mOrderContentActivity
!=
null
)
{
textView
.
setText
(
peopleNumber
);
...
...
@@ -1444,7 +1444,7 @@ public abstract class BaseOrderPresenter2<M extends BaseOrderContract.Model, V e
return
mShoppingCart
;
}
public
SelectMealAdapter2
getSelectMealAdapter
(){
public
SelectMealAdapter2
getSelectMealAdapter
()
{
return
mSelectMealAdapter
;
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderContentPresenter.java
View file @
29e0b2b3
...
...
@@ -12,6 +12,7 @@ import com.gingersoft.gsa.cloud.common.constans.ExpandConstant;
import
com.gingersoft.gsa.cloud.common.constans.FoodSummaryConstans
;
import
com.gingersoft.gsa.cloud.common.constans.GoldConstants
;
import
com.gingersoft.gsa.cloud.common.constans.PrintConstans
;
import
com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber
;
import
com.gingersoft.gsa.cloud.order.bean.discount.MemberWalletCoupon
;
import
com.gingersoft.gsa.cloud.common.core.member.MemberInfo
;
import
com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager
;
...
...
@@ -354,16 +355,13 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
RequestBody
requestBody
=
RequestBody
.
create
(
MediaType
.
parse
(
"application/json"
),
GsonUtils
.
GsonString
(
request
));
String
json
=
GsonUtils
.
GsonString
(
request
);
mModel
.
createOrder
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseOrderResponse
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseOrderResponse
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
@NonNull
BaseOrderResponse
info
)
{
public
void
on
Success
(
@NonNull
BaseOrderResponse
info
)
{
sendOrderRespose
(
info
,
isPrint
,
afterToActivity
);
}
});
...
...
@@ -378,16 +376,14 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
AddOrderRequest
addOrderRequest
=
getAddOrderRequest
(
foodLists
);
RequestBody
requestBody
=
RequestBody
.
create
(
MediaType
.
parse
(
"application/json"
),
GsonUtils
.
GsonString
(
addOrderRequest
));
String
json
=
GsonUtils
.
GsonString
(
addOrderRequest
);
mModel
.
addFood
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
mModel
.
addOrderFood
(
requestBody
)
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseOrderResponse
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
BaseOrderResponse
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
@NonNull
BaseOrderResponse
info
)
{
public
void
on
Success
(
@NonNull
BaseOrderResponse
info
)
{
sendOrderRespose
(
info
,
isPrint
,
afterToActivity
);
}
});
...
...
@@ -474,16 +470,13 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
.
add
(
"tableNumber"
,
mTableInfo
.
getTableNumber
())
.
build
();
mModel
.
printOrder
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseOrderResponse
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseOrderResponse
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
@NonNull
BaseOrderResponse
info
)
{
public
void
on
Success
(
@NonNull
BaseOrderResponse
info
)
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
if
(
RestaurantExpandInfoUtils
.
getValue
(
ExpandConstant
.
MergeSendFood
,
true
))
{
//合并主食品
...
...
@@ -527,16 +520,13 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
}
int
tableId
=
mDoshokuOrder
.
getOpenTableInfo
().
getId
();
mModel
.
queryCoupon
(
tableId
,
memberId
,
couponMemberId
,
couponNo
,
restaurantId
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
@NonNull
BaseResult
info
)
{
public
void
on
Success
(
@NonNull
BaseResult
info
)
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
if
(
info
.
getData
()
!=
null
)
{
CouponDiscountResponse
couponResult
=
JsonUtils
.
parseObject
(
info
.
getData
(),
CouponDiscountResponse
.
class
);
...
...
@@ -580,16 +570,13 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
public
void
loadOrder
(
long
orderId
)
{
mModel
.
loadOrder
(
orderId
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseOrderResponse
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseOrderResponse
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
@NonNull
BaseOrderResponse
info
)
{
public
void
on
Success
(
@NonNull
BaseOrderResponse
info
)
{
updateOrderDetails
(
info
);
}
});
...
...
@@ -598,17 +585,14 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
public
void
getTables
(
boolean
show
,
RefreshLayout
refreshLayout
)
{
int
restaurantId
=
RestaurantInfoManager
.
newInstance
().
getRestaurantId
();
mModel
.
getTables
(
restaurantId
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
{
if
(
show
&&
refreshLayout
==
null
)
{
mRootView
.
showLoading
(
null
);
}
})
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
TableBean
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
TableBean
>(
mErrorHandler
)
{
@Override
public
void
onSubscribe
(
Disposable
d
)
{
...
...
@@ -617,7 +601,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
}
@Override
public
void
on
Next
(
@NonNull
TableBean
tableBean
)
{
public
void
on
Success
(
@NonNull
TableBean
tableBean
)
{
if
(!
IActivity
.
isRefreshData
())
{
return
;
}
...
...
@@ -668,16 +652,13 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
public
void
getTable
(
TableBean
.
DataBean
dataBean
)
{
mModel
.
getTable
(
dataBean
.
getId
(),
dataBean
.
getTableNumber
())
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
@NonNull
BaseResult
result
)
{
public
void
on
Success
(
@NonNull
BaseResult
result
)
{
if
(
result
.
isSuccess
())
{
TableBean
.
DataBean
tableBean
=
JsonUtils
.
parseObject
(
result
.
getData
(),
TableBean
.
DataBean
.
class
);
if
(
tableBean
!=
null
)
{
...
...
@@ -716,16 +697,13 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
.
build
();
mModel
.
transferFood
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseOrderResponse
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseOrderResponse
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
@NonNull
BaseOrderResponse
info
)
{
public
void
on
Success
(
@NonNull
BaseOrderResponse
info
)
{
if
(
info
==
null
)
{
mRootView
.
showMessage
(
"轉移失敗"
);
...
...
@@ -749,13 +727,10 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
public
void
getSplitTables
(
int
tableId
)
{
mModel
.
getSplitTables
(
tableId
)
.
subscribeOn
(
Schedulers
.
io
())
// .doOnSubscribe(disposable -> mRootView.showLoading(null))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
// .doAfterTerminate(() -> mRootView.hideLoading())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
onSubscribe
(
Disposable
d
)
{
...
...
@@ -765,7 +740,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
}
@Override
public
void
on
Next
(
@NonNull
BaseResult
info
)
{
public
void
on
Success
(
@NonNull
BaseResult
info
)
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
if
(
info
.
getData
()
!=
null
)
{
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderPayPresenter.java
View file @
29e0b2b3
...
...
@@ -9,6 +9,7 @@ import com.gingersoft.gsa.cloud.common.constans.HttpsConstans;
import
com.gingersoft.gsa.cloud.common.core.member.MemberInfo
;
import
com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager
;
import
com.gingersoft.gsa.cloud.common.logan.LoganManager
;
import
com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber
;
import
com.gingersoft.gsa.cloud.common.utils.JsonUtils
;
import
com.gingersoft.gsa.cloud.common.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils
;
...
...
@@ -30,6 +31,7 @@ import java.util.List;
import
javax.inject.Inject
;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.annotations.NonNull
;
import
io.reactivex.schedulers.Schedulers
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
import
me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber
;
...
...
@@ -107,15 +109,13 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
int
brandId
=
RestaurantInfoManager
.
newInstance
().
getBrandId
();
int
restaurantId
=
RestaurantInfoManager
.
newInstance
().
getRestaurantId
();
mModel
.
getPayMethods
(
brandId
,
restaurantId
,
FoodSummaryConstans
.
RESTAURANT_MODE
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
BaseResult
baseResult
)
{
public
void
on
Success
(
@NonNull
BaseResult
baseResult
)
{
if
(
baseResult
.
isSuccess
())
{
List
<
PayMethod
>
payMethods
=
JsonUtils
.
parseArray
(
baseResult
.
getData
(),
PayMethod
.
class
);
for
(
int
i
=
0
;
i
<
payMethods
.
size
();
i
++)
{
...
...
@@ -164,10 +164,10 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
BaseResult
baseResult
)
{
public
void
on
Success
(
@NonNull
BaseResult
baseResult
)
{
mRootView
.
hideLoading
();
if
(
baseResult
.
isSuccess
())
{
OrderPayResponse
orderPayRespose
=
JsonUtils
.
parseObject
(
baseResult
.
getData
(),
OrderPayResponse
.
class
);
...
...
@@ -269,10 +269,10 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
BaseResult
baseResult
)
{
public
void
on
Success
(
@NonNull
BaseResult
baseResult
)
{
if
(
baseResult
.
isSuccess
())
{
LoganManager
.
w_pay
(
TAG
,
"修改訂單支付成功"
);
//結賬成功
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/SoldoutCtrlPresenter.java
View file @
29e0b2b3
...
...
@@ -2,10 +2,12 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter;
import
android.app.Application
;
import
android.text.TextUtils
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.constans.MealConstant
;
import
com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager
;
import
com.gingersoft.gsa.cloud.common.core.user.UserContext
;
import
com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber
;
import
com.gingersoft.gsa.cloud.common.utils.JsonUtils
;
import
com.gingersoft.gsa.cloud.common.utils.LanguageUtils
;
import
com.gingersoft.gsa.cloud.common.utils.VibratorUtils
;
...
...
@@ -523,13 +525,10 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
.
add
(
"restaurantId"
,
String
.
valueOf
(
restaurantId
))
.
build
();
mModel
.
getCurrentSoldoutFood
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
onError
(
Throwable
t
)
{
...
...
@@ -537,8 +536,9 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
// updateFoodSoldoutCtrData(mCurrentSlodoutFoodList_Full);
}
@Override
public
void
on
Next
(
@NonNull
BaseResult
info
)
{
public
void
on
Success
(
@NonNull
BaseResult
info
)
{
if
(
info
!=
null
&&
info
.
isSuccess
()
&&
info
.
getData
()
!=
null
)
{
List
<
SoldoutCtrFood
>
soldoutCtrFoods
=
JsonUtils
.
parseArray
(
info
.
getData
(),
SoldoutCtrFood
.
class
);
...
...
@@ -587,16 +587,13 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
RequestBody
requestBody
=
RequestBody
.
create
(
MediaType
.
parse
(
"application/json"
),
GsonUtils
.
GsonString
(
request
));
String
json
=
GsonUtils
.
GsonString
(
request
);
mModel
.
insertSoldoutCtrl
(
requestBody
,
operatTtpe
,
type
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
@NonNull
BaseResult
info
)
{
public
void
on
Success
(
@NonNull
BaseResult
info
)
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
//记录操作类型
mOperatTtpe
=
operatTtpe
;
...
...
@@ -606,10 +603,11 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
//重新获取沽清数据
getCurrentSoldoutFood
();
}
else
{
if
(
operatTtpe
==
0
)
if
(
operatTtpe
==
0
)
{
mRootView
.
showMessage
(
LanguageUtils
.
get_language_system
(
mApplication
,
"pause.failed"
,
"暫停失敗!"
));
else
}
else
{
mRootView
.
showMessage
(
LanguageUtils
.
get_language_system
(
mApplication
,
"soldout.failure"
,
"沽清失敗!"
));
}
}
}
});
...
...
@@ -625,16 +623,13 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
RequestBody
requestBody
=
RequestBody
.
create
(
MediaType
.
parse
(
"application/json"
),
GsonUtils
.
GsonString
(
request
));
String
json
=
GsonUtils
.
GsonString
(
request
);
mModel
.
restoreSoldoutCtrl
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
@NonNull
BaseResult
info
)
{
public
void
on
Success
(
@NonNull
BaseResult
info
)
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
//记录恢复操作类型
mOperatTtpe
=
2
;
...
...
@@ -662,16 +657,13 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
.
build
();
mModel
.
batchRestoreSoldoutCtrl
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
@NonNull
BaseResult
info
)
{
public
void
on
Success
(
@NonNull
BaseResult
info
)
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
//记录恢复操作类型
mOperatTtpe
=
2
;
...
...
@@ -712,16 +704,13 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
String
json
=
GsonUtils
.
GsonString
(
request
);
mModel
.
updateInvisible
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
@NonNull
BaseResult
info
)
{
public
void
on
Success
(
@NonNull
BaseResult
info
)
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
//记录恢复操作类型
mOperatTtpe
=
2
;
...
...
@@ -800,16 +789,13 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
.
build
();
mModel
.
batchRestoreSoldoutCtrl
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
@NonNull
BaseResult
info
)
{
public
void
on
Success
(
@NonNull
BaseResult
info
)
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
//记录恢复操作类型
mOperatTtpe
=
2
;
...
...
@@ -853,7 +839,7 @@ public class SoldoutCtrlPresenter extends BasePresenter<SoldoutCtrlContract.Mode
modifierinsertResult
=
modifierDao
.
insertMultModifier
(
modifierList
);
}
if
(
modifierDeleteResult
&&
modifierDeleteResult
)
{
if
(
modifierDeleteResult
&&
modifierDeleteResult
)
{
//更新細項沽清數據
IActivity
.
setFineItemSoldoutListFull
(
null
,
mCurrentSlodoutFoodList_Full
);
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/TablePresenter.java
View file @
29e0b2b3
...
...
@@ -15,6 +15,7 @@ import com.gingersoft.gsa.cloud.common.core.table.TableExtBean;
import
com.gingersoft.gsa.cloud.common.function.XFunctionManager
;
import
com.gingersoft.gsa.cloud.common.function.XFunctionViews
;
import
com.gingersoft.gsa.cloud.common.logan.LoganManager
;
import
com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber
;
import
com.gingersoft.gsa.cloud.common.utils.JsonUtils
;
import
com.gingersoft.gsa.cloud.common.utils.other.SPUtils
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
...
...
@@ -347,22 +348,19 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
isEvictCache
=
true
;
}
mModel
.
getTables
(
restaurantId
,
isEvictCache
)
.
subscribeOn
(
Schedulers
.
io
())
// .retryWhen(new RetryWithDelay(3, 2))
.
doOnSubscribe
(
disposable
->
{
if
(
show
&&
refreshLayout
==
null
)
{
mRootView
.
showLoading
(
null
);
}
})
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
{
if
(
show
&&
refreshLayout
==
null
)
{
mRootView
.
hideLoading
();
}
})
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
TableBean
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
TableBean
>(
mErrorHandler
)
{
@Override
public
void
onSubscribe
(
Disposable
d
)
{
...
...
@@ -371,7 +369,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
}
@Override
public
void
on
Next
(
@NonNull
TableBean
tableBean
)
{
public
void
on
Success
(
@NonNull
TableBean
tableBean
)
{
if
(!
TableActivity
.
isRefreshData
)
{
return
;
}
...
...
@@ -433,16 +431,13 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
return
;
}
mModel
.
getOrderById
(
tableBean
.
getOrderId
())
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseOrderResponse
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseOrderResponse
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
@NonNull
BaseOrderResponse
respose
)
{
public
void
on
Success
(
@NonNull
BaseOrderResponse
respose
)
{
if
(
networkCallBackListener
!=
null
)
{
networkCallBackListener
.
onResult
(
respose
);
}
...
...
@@ -467,16 +462,13 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
.
add
(
"tableNumber"
,
tableNumber
)
.
build
();
mModel
.
openTable
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseOrderResponse
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseOrderResponse
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
@NonNull
BaseOrderResponse
respose
)
{
public
void
on
Success
(
@NonNull
BaseOrderResponse
respose
)
{
if
(
respose
.
isSuccess
())
{
//設置當前開台數據
TableBean
.
DataBean
openTableBean
;
...
...
@@ -625,16 +617,13 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
public
void
getTableToMove
(
TableBean
.
DataBean
dataBean
)
{
mModel
.
getTable
(
dataBean
.
getId
(),
dataBean
.
getTableNumber
())
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
@NonNull
BaseResult
result
)
{
public
void
on
Success
(
@NonNull
BaseResult
result
)
{
if
(
result
.
isSuccess
())
{
TableBean
.
DataBean
tableBean
=
JsonUtils
.
parseObject
(
result
.
getData
(),
TableBean
.
DataBean
.
class
);
if
(
tableBean
!=
null
)
{
...
...
@@ -692,16 +681,13 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
.
build
();
mModel
.
turnTable
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseOrderResponse
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseOrderResponse
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
@NonNull
BaseOrderResponse
respose
)
{
public
void
on
Success
(
@NonNull
BaseOrderResponse
respose
)
{
if
(
respose
.
isSuccess
())
{
if
(
isMergeTable
)
{
mRootView
.
showMessage
(
"合併成功"
);
...
...
@@ -726,24 +712,21 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
.
build
();
mModel
.
initTable
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
{
if
(
showMessage
)
{
mRootView
.
showLoading
(
null
);
}
})
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
{
if
(
showMessage
)
{
mRootView
.
hideLoading
();
}
})
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseOrderResponse
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseOrderResponse
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
@NonNull
BaseOrderResponse
respose
)
{
public
void
on
Success
(
@NonNull
BaseOrderResponse
respose
)
{
if
(
respose
.
isSuccess
())
{
...
...
@@ -772,20 +755,17 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
.
build
();
mModel
.
resetSkyorder
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
{
mRootView
.
showLoading
(
null
);
})
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
{
mRootView
.
hideLoading
();
})
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
@NonNull
BaseResult
respose
)
{
public
void
on
Success
(
@NonNull
BaseResult
respose
)
{
if
(
respose
.
isSuccess
())
{
...
...
@@ -801,13 +781,10 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
public
void
getSplitTables
(
int
tableId
)
{
mModel
.
getSplitTables
(
tableId
)
.
subscribeOn
(
Schedulers
.
io
())
// .doOnSubscribe(disposable -> mRootView.showLoading(null))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
// .doAfterTerminate(() -> mRootView.hideLoading())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
onSubscribe
(
Disposable
d
)
{
...
...
@@ -817,7 +794,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
}
@Override
public
void
on
Next
(
@NonNull
BaseResult
info
)
{
public
void
on
Success
(
@NonNull
BaseResult
info
)
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
if
(
info
.
getData
()
!=
null
)
{
...
...
@@ -858,16 +835,13 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
public
void
splitTable
(
TableBean
.
DataBean
tableBean
)
{
mModel
.
splitTable
(
tableBean
.
getId
())
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
@NonNull
BaseResult
result
)
{
public
void
on
Success
(
@NonNull
BaseResult
result
)
{
if
(
result
.
isSuccess
())
{
if
(
result
.
getData
()
!=
null
)
{
TableExtBean
.
DataBean
tableExtBean
=
JsonUtils
.
parseObject
(
result
.
getData
(),
TableExtBean
.
DataBean
.
class
);
...
...
@@ -901,15 +875,12 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
isEvictCache
=
false
;
}
mModel
.
getFoodSummarys
(
restaurantId
,
false
,
businessType
,
isEvictCache
)
.
subscribeOn
(
Schedulers
.
io
())
// .retryWhen(new RetryWithDelay(3, 2))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
@NonNull
BaseResult
result
)
{
public
void
on
Success
(
@NonNull
BaseResult
result
)
{
if
(
networkCallBackListener
!=
null
)
{
networkCallBackListener
.
onResult
(
result
);
}
...
...
@@ -939,14 +910,11 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
.
build
();
mModel
.
addScan
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
@NonNull
BaseResult
result
)
{
public
void
on
Success
(
@NonNull
BaseResult
result
)
{
if
(
networkCallBackListener
!=
null
)
{
networkCallBackListener
.
onResult
(
result
);
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/discount/CouponPresenter.java
View file @
29e0b2b3
...
...
@@ -84,15 +84,12 @@ public class CouponPresenter extends BasePresenter<CouponContract.Model, CouponC
pageIndex
=
pageIndex
*
pageSize
;
}
mModel
.
getMemberWalletList
(
brandId
,
memberId
,
limitType
,
pageIndex
,
pageSize
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
{
if
(
refreshLayout
==
null
)
{
mRootView
.
showLoading
(
null
);
}
}
)
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
List
<
MemberWalletCoupon
>>(
mErrorHandler
,
mRootView
.
getLoadService
())
{
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/discount/NomalDiscountPresenter.java
View file @
29e0b2b3
...
...
@@ -2,7 +2,9 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter.discount;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.constans.FoodSummaryConstans
;
import
com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.order.order.BaseOrder
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.NomalDiscountContract
;
...
...
@@ -10,6 +12,7 @@ import com.jess.arms.integration.AppManager;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.jess.arms.mvp.BasePresenter
;
import
com.jess.arms.http.imageloader.ImageLoader
;
import
com.jess.arms.utils.RxLifecycleUtils
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
...
...
@@ -56,13 +59,21 @@ public class NomalDiscountPresenter extends BasePresenter<NomalDiscountContract.
}
public
void
queryBillDiscountList
()
{
List
<
Discount
>
discountList
;
byte
discountType
;
if
(
BaseOrder
.
isCurrentOrderType
(
FoodSummaryConstans
.
TAKEAWAY_TYPE
))
{
discount
List
=
mModel
.
queryDB_DiscountList
(
Discount
.
discount_scope_bill
,
Discount
.
ORDER_TYPE_TAKEAWAY
)
;
discount
Type
=
Discount
.
ORDER_TYPE_TAKEAWAY
;
}
else
{
discount
List
=
mModel
.
queryDB_DiscountList
(
Discount
.
discount_scope_bill
,
Discount
.
ORDER_TYPE_MEAL_STAND
)
;
discount
Type
=
Discount
.
ORDER_TYPE_MEAL_STAND
;
}
mRootView
.
returnBillCoupon
(
discountList
);
mModel
.
queryDB_DiscountList
(
Discount
.
discount_scope_bill
,
discountType
)
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
List
<
Discount
>>(
mErrorHandler
)
{
@Override
public
void
onSuccess
(
List
<
Discount
>
discountList
)
{
mRootView
.
returnBillCoupon
(
discountList
);
}
});
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/FineChildAllPresenter.java
View file @
29e0b2b3
...
...
@@ -7,6 +7,7 @@ import android.text.TextUtils;
import
android.view.View
;
import
com.gingersoft.gsa.cloud.common.constans.MealConstant
;
import
com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber
;
import
com.gingersoft.gsa.cloud.common.utils.LanguageUtils
;
import
com.gingersoft.gsa.cloud.common.utils.VibratorUtils
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
...
...
@@ -16,6 +17,7 @@ import com.gingersoft.gsa.cloud.table.R;
import
com.gingersoft.gsa.cloud.table.mvp.contract.FineChildAllContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity2
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FineItemOneAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FineItemTwoAdapter
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
...
...
@@ -24,6 +26,7 @@ import com.jess.arms.http.imageloader.ImageLoader;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.mvp.BasePresenter
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.RxLifecycleUtils
;
import
org.simple.eventbus.EventBus
;
...
...
@@ -32,6 +35,7 @@ import java.util.List;
import
javax.inject.Inject
;
import
io.reactivex.disposables.Disposable
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
activity
.
SoldoutCtrlActivity
.
MODIFIER_TYPE
;
...
...
@@ -110,7 +114,7 @@ public class FineChildAllPresenter extends BasePresenter<FineChildAllContract.Mo
VibratorUtils
.
pressButtonSound
(
mApplication
);
if
(
context
instanceof
MealStandActivity
)
{
if
(
context
instanceof
MealStandActivity
||
context
instanceof
MealStandActivity2
)
{
operartPage
=
2
;
...
...
@@ -176,7 +180,7 @@ public class FineChildAllPresenter extends BasePresenter<FineChildAllContract.Mo
// if (!isStopOpeart(datasBean)) {
// showInputNumberDialog(datasBean, context);
// }
EventBus
.
getDefault
().
post
(
datasBean
,
MealConstant
.
SOLDOUT_MODIFIER
);
EventBus
.
getDefault
().
post
(
datasBean
,
MealConstant
.
SOLDOUT_MODIFIER
);
// }
}
...
...
@@ -185,20 +189,26 @@ public class FineChildAllPresenter extends BasePresenter<FineChildAllContract.Mo
mFineItemOneLastPosition
=
-
1
;
//获取数据
List
<
Modifier
>
modifierList
=
mModel
.
queryDB_ModifierByModMsgAndVisibleQueryBuilder
();
if
(
modifierList
==
null
||
modifierList
.
size
()
==
0
)
{
mFineItemOneList
.
clear
();
mFineItemAllAdapter
.
notifyDataSetChanged
();
return
;
}
setFid
(
modifierList
,
fid
);
mFineItemOneList
.
clear
();
mFineItemOneList
.
addAll
(
modifierList
);
mRootView
.
setFineItemAllRecycleSpanCount
(
mFineItemOneList
.
size
());
mFineItemAllAdapter
.
notifyDataSetChanged
();
mModel
.
queryDB_ModifierByModMsgAndVisibleQueryBuilder
()
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
List
<
Modifier
>>(
mErrorHandler
)
{
@Override
public
void
onSuccess
(
List
<
Modifier
>
modifierList
)
{
if
(
modifierList
==
null
||
modifierList
.
size
()
==
0
)
{
mFineItemOneList
.
clear
();
mFineItemAllAdapter
.
notifyDataSetChanged
();
return
;
}
setFid
(
modifierList
,
fid
);
mFineItemOneList
.
clear
();
mFineItemOneList
.
addAll
(
modifierList
);
mRootView
.
setFineItemAllRecycleSpanCount
(
mFineItemOneList
.
size
());
mFineItemAllAdapter
.
notifyDataSetChanged
();
}
});
}
public
void
initModSasteFineItemKindData
(
long
fid
)
{
...
...
@@ -206,71 +216,87 @@ public class FineChildAllPresenter extends BasePresenter<FineChildAllContract.Mo
mFineItemOneLastPosition
=
-
1
;
//获取数据
List
<
Modifier
>
modifierList
=
mModel
.
queryDB_ModifierByModModTasteVisibleQueryBuilder
();
if
(
modifierList
==
null
||
modifierList
.
size
()
==
0
)
{
mFineItemOneList
.
clear
();
mFineItemAllAdapter
.
notifyDataSetChanged
();
return
;
}
setFid
(
modifierList
,
fid
);
mModel
.
queryDB_ModifierByModModTasteVisibleQueryBuilder
()
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
List
<
Modifier
>>(
mErrorHandler
)
{
@Override
public
void
onSuccess
(
List
<
Modifier
>
modifierList
)
{
if
(
modifierList
==
null
||
modifierList
.
size
()
==
0
)
{
mFineItemOneList
.
clear
();
mFineItemAllAdapter
.
notifyDataSetChanged
();
return
;
}
setFid
(
modifierList
,
fid
);
mFineItemOneList
.
clear
();
mFineItemOneList
.
addAll
(
modifierList
);
mRootView
.
setFineItemAllRecycleSpanCount
(
mFineItemOneList
.
size
());
mFineItemAllAdapter
.
notifyDataSetChanged
();
}
});
mFineItemOneList
.
clear
();
mFineItemOneList
.
addAll
(
modifierList
);
mRootView
.
setFineItemAllRecycleSpanCount
(
mFineItemOneList
.
size
());
mFineItemAllAdapter
.
notifyDataSetChanged
();
}
public
void
initModCommFineItemKindData
(
long
fid
)
{
mFineItemOneLastPosition
=
-
1
;
//获取数据
List
<
Modifier
>
modifierList
=
mModel
.
queryDB_ModifierByModModCommVisibleQueryBuilder
();
if
(
modifierList
==
null
||
modifierList
.
size
()
==
0
)
{
mFineItemOneList
.
clear
();
mFineItemAllAdapter
.
notifyDataSetChanged
();
return
;
}
setFid
(
modifierList
,
fid
);
mFineItemOneList
.
clear
();
mFineItemOneList
.
addAll
(
modifierList
);
mRootView
.
setFineItemAllRecycleSpanCount
(
mFineItemOneList
.
size
());
mFineItemAllAdapter
.
notifyDataSetChanged
();
mModel
.
queryDB_ModifierByModModCommVisibleQueryBuilder
()
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
List
<
Modifier
>>(
mErrorHandler
)
{
@Override
public
void
onSuccess
(
List
<
Modifier
>
modifierList
)
{
if
(
modifierList
==
null
||
modifierList
.
size
()
==
0
)
{
mFineItemOneList
.
clear
();
mFineItemAllAdapter
.
notifyDataSetChanged
();
return
;
}
setFid
(
modifierList
,
fid
);
mFineItemOneList
.
clear
();
mFineItemOneList
.
addAll
(
modifierList
);
mRootView
.
setFineItemAllRecycleSpanCount
(
mFineItemOneList
.
size
());
mFineItemAllAdapter
.
notifyDataSetChanged
();
}
});
}
public
void
initChildFineItemItemData
(
long
fid
)
{
//获取数据
List
<
Modifier
>
modifierList
=
mModel
.
queryDB_ModifierByTopidAndVisibleQueryBuilder
(
fid
);
mModel
.
queryDB_ModifierByTopidAndVisibleQueryBuilder
(
fid
)
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
List
<
Modifier
>>(
mErrorHandler
)
{
if
(
modifierList
==
null
||
modifierList
.
size
()
==
0
)
{
return
;
}
@Override
public
void
onSuccess
(
List
<
Modifier
>
modifierList
)
{
if
(
modifierList
==
null
||
modifierList
.
size
()
==
0
)
{
return
;
}
//添加返回按鈕
Modifier
datasBean
=
new
Modifier
();
datasBean
.
setModifierName
(
"返回"
);
datasBean
.
setReturn
(
true
);
datasBean
.
setBgColor
(
ArmsUtils
.
getColor
(
mApplication
,
R
.
color
.
theme_red_color
));
modifierList
.
add
(
0
,
datasBean
);
//添加返回按鈕
Modifier
datasBean
=
new
Modifier
();
datasBean
.
setModifierName
(
"返回"
);
datasBean
.
setReturn
(
true
);
datasBean
.
setBgColor
(
ArmsUtils
.
getColor
(
mApplication
,
R
.
color
.
theme_red_color
));
modifierList
.
add
(
0
,
datasBean
);
setFid
(
modifierList
,
fid
);
setFid
(
modifierList
,
fid
);
mFineItemTwoList
.
clear
();
mFineItemTwoList
.
addAll
(
modifierList
);
mRootView
.
setFineItemKindItemRecycleSpanCount
(
mFineItemTwoList
.
size
());
mFineItemTwoList
.
clear
();
mFineItemTwoList
.
addAll
(
modifierList
);
mRootView
.
setFineItemKindItemRecycleSpanCount
(
mFineItemTwoList
.
size
());
updateChildModifierSlodoutFoodList_Full
();
updateChildModifierSlodoutFoodList_Full
();
mFineItemTwoAdapter
.
notifyDataSetChanged
();
mFineItemTwoAdapter
.
notifyDataSetChanged
();
mRootView
.
getRecycle_fine_item_kind_item
().
setVisibility
(
View
.
VISIBLE
);
mRootView
.
getRecycle_fine_adll
().
setVisibility
(
View
.
INVISIBLE
);
mRootView
.
getRecycle_fine_item_kind_item
().
setVisibility
(
View
.
VISIBLE
);
mRootView
.
getRecycle_fine_adll
().
setVisibility
(
View
.
INVISIBLE
);
}
});
}
/**
...
...
@@ -449,7 +475,7 @@ public class FineChildAllPresenter extends BasePresenter<FineChildAllContract.Mo
*/
protected
List
<
OrderDetail
>
getNewOrderFoodLists
()
{
List
<
OrderDetail
>
orderDetails
=
new
ArrayList
<>();
List
<
OrderDetail
>
orderCommodityList
=
DoshokuOrder
.
getInstance
().
getShoppingCart
().
getOrderCommodityList
();
List
<
OrderDetail
>
orderCommodityList
=
DoshokuOrder
.
getInstance
().
getShoppingCart
().
getOrderCommodityList
();
for
(
int
i
=
0
;
i
<
orderCommodityList
.
size
();
i
++)
{
OrderDetail
orderDetail
=
orderCommodityList
.
get
(
i
);
if
(
orderDetail
.
isNew
())
{
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/FineChildOneselfPresenter.java
View file @
29e0b2b3
...
...
@@ -4,8 +4,10 @@ import android.app.Application;
import
android.content.Context
;
import
android.text.TextUtils
;
import
com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber
;
import
com.gingersoft.gsa.cloud.common.utils.LanguageUtils
;
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.database.utils.ModifierDaoUtils
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.FineChildOneselfContract
;
...
...
@@ -19,12 +21,14 @@ import com.jess.arms.di.scope.FragmentScope;
import
com.jess.arms.http.imageloader.ImageLoader
;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.mvp.BasePresenter
;
import
com.jess.arms.utils.RxLifecycleUtils
;
import
java.util.ArrayList
;
import
java.util.List
;
import
javax.inject.Inject
;
import
io.reactivex.disposables.Disposable
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
activity
.
SoldoutCtrlActivity
.
FOOD_TYPE
;
...
...
@@ -111,13 +115,23 @@ public class FineChildOneselfPresenter extends BasePresenter<FineChildOneselfCon
}
public
void
loadComboData
(
long
fid
)
{
mModel
.
queryDB_ModifierList
(
fid
,
ModifierDaoUtils
.
modifierMode_All
)
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
List
<
Modifier
>>(
mErrorHandler
)
{
if
(
mModifierList
.
size
()
>
0
)
{
mModifierList
.
clear
();
}
@Override
public
void
onSubscribe
(
Disposable
d
)
{
super
.
onSubscribe
(
d
);
if
(
mModifierList
.
size
()
>
0
)
{
mModifierList
.
clear
();
}
}
List
<
Modifier
>
modifierList
=
mModel
.
queryDB_ModifierList
(
fid
,
ModifierDaoUtils
.
modifierMode_All
);
mModifierList
.
addAll
(
modifierList
);
@Override
public
void
onSuccess
(
List
<
Modifier
>
modifierList
)
{
mModifierList
.
addAll
(
modifierList
);
}
});
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/MealStandPresenter.java
View file @
29e0b2b3
...
...
@@ -818,24 +818,14 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
return
-
1
;
}
public
void
getCurrentSoldoutFood
()
{
long
restaurantId
=
RestaurantInfoManager
.
newInstance
().
getRestaurantId
();
RequestBody
requestBody
=
new
FormBody
.
Builder
()
.
add
(
"restaurantId"
,
String
.
valueOf
(
restaurantId
))
.
build
();
mModel
.
getCurrentSoldoutFood
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
onComplete
()
{
super
.
onComplete
();
updateFoodSoldoutCtrData
();
}
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
onError
(
Throwable
t
)
{
...
...
@@ -844,7 +834,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
}
@Override
public
void
on
Next
(
@NonNull
BaseResult
info
)
{
public
void
on
Success
(
BaseResult
info
)
{
if
(
info
!=
null
&&
info
.
isSuccess
()
&&
info
.
getData
()
!=
null
)
{
List
<
SoldoutCtrFood
>
soldoutCtrFoods
=
JsonUtils
.
parseArray
(
info
.
getData
(),
SoldoutCtrFood
.
class
);
if
(
soldoutCtrFoods
!=
null
&&
soldoutCtrFoods
.
size
()
>
0
)
{
...
...
@@ -866,6 +856,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
mSoldoutCtrList
.
clear
();
}
}
updateFoodSoldoutCtrData
();
}
});
}
...
...
@@ -876,16 +867,13 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
RequestBody
requestBody
=
RequestBody
.
create
(
MediaType
.
parse
(
"application/json"
),
GsonUtils
.
GsonString
(
request
));
String
json
=
GsonUtils
.
GsonString
(
request
);
mModel
.
createOrder
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
@NonNull
BaseResult
info
)
{
public
void
on
Success
(
BaseResult
info
)
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
saveCreateTime
(
info
.
getSysTime
());
if
(
info
.
getData
()
!=
null
)
{
...
...
@@ -930,16 +918,14 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
AddOrderRequest
addOrderRequest
=
getAddOrderRequest
(
foodLists
);
RequestBody
requestBody
=
RequestBody
.
create
(
MediaType
.
parse
(
"application/json"
),
GsonUtils
.
GsonString
(
addOrderRequest
));
String
json
=
GsonUtils
.
GsonString
(
addOrderRequest
);
mModel
.
addFood
(
requestBody
)
.
subscribeOn
(
Schedulers
.
io
())
mModel
.
addOrderFood
(
requestBody
)
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
@NonNull
BaseResult
info
)
{
public
void
on
Success
(
BaseResult
info
)
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
mRootView
.
showMessage
(
"送單成功"
);
printSendOrder
(
true
);
...
...
@@ -1097,11 +1083,8 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
int
restaurantId
=
RestaurantInfoManager
.
newInstance
().
getRestaurantId
();
int
type
=
1
;
mModel
.
getRestaurantFoodReason
(
brandId
,
restaurantId
,
type
)
.
subscribeOn
(
Schedulers
.
io
())
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
onSubscribe
(
Disposable
d
)
{
...
...
@@ -1110,7 +1093,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
}
@Override
public
void
on
Next
(
@NonNull
BaseResult
info
)
{
public
void
on
Success
(
@NonNull
BaseResult
info
)
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
List
<
FoodReason
>
foodReasonList
=
JsonUtils
.
parseArray
(
info
.
getData
(),
FoodReason
.
class
);
if
(
info
.
getData
()
!=
null
&&
foodReasonList
.
size
()
>
0
)
{
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/RiceponMemberDialogPresenter.java
View file @
29e0b2b3
...
...
@@ -73,10 +73,7 @@ public class RiceponMemberDialogPresenter extends BasePresenter<RiceponMemberDia
public
void
queryMember
(
int
type
,
String
parm
,
String
shopName
,
int
tableId
,
String
tableNumber
)
{
mModel
.
queryMember
(
type
,
parm
,
shopName
,
tableId
,
tableNumber
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
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/mealstand/SetMealPresenter.java
View file @
29e0b2b3
...
...
@@ -7,22 +7,40 @@ import android.util.SparseArray;
import
androidx.annotation.NonNull
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.constans.ExpandConstant
;
import
com.gingersoft.gsa.cloud.common.constans.MealConstant
;
import
com.gingersoft.gsa.cloud.common.constans.PrintConstans
;
import
com.gingersoft.gsa.cloud.common.core.member.MemberInfo
;
import
com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager
;
import
com.gingersoft.gsa.cloud.common.core.restaurant.utils.RestaurantExpandInfoUtils
;
import
com.gingersoft.gsa.cloud.common.logan.LoganManager
;
import
com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber
;
import
com.gingersoft.gsa.cloud.common.rxjava.MyRxSchedulerUtils
;
import
com.gingersoft.gsa.cloud.common.utils.JsonUtils
;
import
com.gingersoft.gsa.cloud.common.utils.LanguageUtils
;
import
com.gingersoft.gsa.cloud.common.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils
;
import
com.gingersoft.gsa.cloud.component.ComponentName
;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.bean.FoodCombo
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.database.utils.FoodDaoUtils
;
import
com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils
;
import
com.gingersoft.gsa.cloud.order.bean.request.DeleteOrderRequest
;
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.print.bean.PrintContent
;
import
com.gingersoft.gsa.cloud.print.bean.adapter.PrintContentAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.action.meal.PrinterAction
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.request.CreateOrderRequest
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.BaseOrderPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.BaseOrderPresenter2
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter
;
...
...
@@ -31,8 +49,12 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ModifierAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter2
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.mealstand.FineChildAllFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.mealstand.SetMealFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.CancelFoodDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.BaseRetryDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.google.gson.internal.LinkedTreeMap
;
import
com.jess.arms.base.delegate.IActivity
;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.di.scope.FragmentScope
;
...
...
@@ -50,6 +72,9 @@ import io.reactivex.disposables.Disposable;
import
io.reactivex.schedulers.Schedulers
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
import
me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber
;
import
okhttp3.FormBody
;
import
okhttp3.MediaType
;
import
okhttp3.RequestBody
;
import
javax.inject.Inject
;
import
javax.inject.Named
;
...
...
@@ -107,8 +132,9 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
@Inject
List
<
SoldoutCtrFood
>
mSoldoutCtrList
;
//沽清食品數據
private
OrderDetail
mCurrentOrderDetailBea
n
;
private
PrinterAction
mPrinterActio
n
;
private
OrderDetail
mCurrentOrderDetailBean
;
private
boolean
RvMealClicked
;
@Inject
...
...
@@ -117,22 +143,166 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
this
.
mErrorHandler
=
null
;
this
.
mAppManager
=
null
;
this
.
mImageLoader
=
null
;
this
.
mApplication
=
null
;
}
@Override
public
void
createOrder
(
boolean
isPrint
,
Class
<?>
afterToActivity
)
{
CreateOrderRequest
request
=
getCreateOrderRequest
(
getOrderFoodLists
());
RequestBody
requestBody
=
RequestBody
.
create
(
MediaType
.
parse
(
"application/json"
),
GsonUtils
.
GsonString
(
request
));
String
json
=
GsonUtils
.
GsonString
(
request
);
mModel
.
createOrder
(
requestBody
)
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
onSuccess
(
BaseResult
info
)
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
saveCreateTime
(
info
.
getSysTime
());
if
(
info
.
getData
()
!=
null
)
{
if
(
info
.
getData
()
instanceof
Double
)
{
//未上線,避免正式版閃退
setOrderId
((
double
)
info
.
getData
());
setOrderNo
(((
Double
)
info
.
getData
()).
longValue
()
+
""
);
}
else
{
LinkedTreeMap
tm
=
(
LinkedTreeMap
)
info
.
getData
();
for
(
Object
o
:
tm
.
keySet
())
{
String
key
=
(
String
)
o
;
if
(
key
.
equals
(
"id"
))
{
setOrderId
((
double
)
tm
.
get
(
key
));
}
else
if
(
key
.
equals
(
"orderNo"
))
{
setOrderNo
((
String
)
tm
.
get
(
key
));
}
}
}
}
mRootView
.
showMessage
(
"送單成功"
);
mDoshokuOrder
.
setNewFoodList
(
getOrderFoodLists
());
printSendOrder
();
}
else
{
mRootView
.
showMessage
(
info
.
getErrMsg
());
}
}
});
}
@Override
public
void
addOrderFood
(
boolean
isPrint
,
Class
<?>
afterToActivity
)
{
List
<
OrderDetail
>
foodLists
=
getOrderFoodLists
();
for
(
OrderDetail
food
:
foodLists
)
{
food
.
setOrderId
(
mDoshokuOrder
.
getOrderId
());
}
AddOrderRequest
addOrderRequest
=
getAddOrderRequest
(
foodLists
);
RequestBody
requestBody
=
RequestBody
.
create
(
MediaType
.
parse
(
"application/json"
),
GsonUtils
.
GsonString
(
addOrderRequest
));
String
json
=
GsonUtils
.
GsonString
(
addOrderRequest
);
mModel
.
addOrderFood
(
requestBody
)
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
onSuccess
(
BaseResult
info
)
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
mRootView
.
showMessage
(
"送單成功"
);
printSendOrder
();
}
else
{
if
(!
hasNesOrderFoods
())
{
//TODO 未新增食品點擊送單 後台不讓過直接提示即可
mRootView
.
showMessage
(
"送單成功"
);
printSendOrder
();
}
else
{
mRootView
.
showMessage
(
info
.
getErrMsg
());
}
}
}
});
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
this
.
mErrorHandler
=
null
;
this
.
mAppManager
=
null
;
this
.
mImageLoader
=
null
;
this
.
mApplication
=
null
;
public
void
getCurrentSoldoutFood
()
{
long
restaurantId
=
RestaurantInfoManager
.
newInstance
().
getRestaurantId
();
RequestBody
requestBody
=
new
FormBody
.
Builder
()
.
add
(
"restaurantId"
,
String
.
valueOf
(
restaurantId
))
.
build
();
mModel
.
getCurrentSoldoutFood
(
requestBody
)
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
onError
(
Throwable
t
)
{
super
.
onError
(
t
);
updateFoodSoldoutCtrData
();
}
@Override
public
void
onSuccess
(
BaseResult
info
)
{
if
(
info
!=
null
&&
info
.
isSuccess
()
&&
info
.
getData
()
!=
null
)
{
List
<
SoldoutCtrFood
>
soldoutCtrFoods
=
JsonUtils
.
parseArray
(
info
.
getData
(),
SoldoutCtrFood
.
class
);
if
(
soldoutCtrFoods
!=
null
&&
soldoutCtrFoods
.
size
()
>
0
)
{
if
(
mSoldoutCtrList
.
size
()
>
0
)
{
mSoldoutCtrList
.
clear
();
}
mSoldoutCtrList
.
addAll
(
soldoutCtrFoods
);
}
else
{
if
(
mSoldoutCtrList
.
size
()
>
0
)
{
mSoldoutCtrList
.
clear
();
}
}
}
else
{
if
(
mSoldoutCtrList
.
size
()
>
0
)
{
mSoldoutCtrList
.
clear
();
}
}
updateFoodSoldoutCtrData
();
}
});
}
public
void
getRestaurantFoodReason
()
{
int
brandId
=
RestaurantInfoManager
.
newInstance
().
getBrandId
();
int
restaurantId
=
RestaurantInfoManager
.
newInstance
().
getRestaurantId
();
int
type
=
1
;
CancelFoodDialog
cancelFoodDialog
=
mRootView
.
getCancelFoodDialog
();
mModel
.
getRestaurantFoodReason
(
brandId
,
restaurantId
,
type
)
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
onSubscribe
(
Disposable
d
)
{
super
.
onSubscribe
(
d
);
cancelFoodDialog
.
setProgressVisibility
(
true
);
}
@Override
public
void
onSuccess
(
@io
.
reactivex
.
annotations
.
NonNull
BaseResult
info
)
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
List
<
FoodReason
>
foodReasonList
=
JsonUtils
.
parseArray
(
info
.
getData
(),
FoodReason
.
class
);
if
(
info
.
getData
()
!=
null
&&
foodReasonList
.
size
()
>
0
)
{
cancelFoodDialog
.
addItems
(
foodReasonList
);
cancelFoodDialog
.
notifyDataSetChanged
();
}
else
{
cancelFoodDialog
.
showEmptyView
(
true
,
0
,
null
);
}
}
else
{
cancelFoodDialog
.
showEmptyView
(
false
,
0
,
null
);
}
cancelFoodDialog
.
setProgressVisibility
(
false
);
}
@Override
public
void
onError
(
Throwable
t
)
{
super
.
onError
(
t
);
cancelFoodDialog
.
setProgressVisibility
(
false
);
cancelFoodDialog
.
showEmptyView
(
false
,
0
,
t
);
}
});
}
public
void
initSelectMealAdapter
(
RecyclerView
rvSelectMeal
)
{
...
...
@@ -145,7 +315,7 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
@Override
public
void
onItemClick
(
OrderDetail
datasBean
,
int
position
)
{
mRootView
.
recordOperat
(
true
);
selectMeal
ItemClick
(
datasBean
);
mealCart
ItemClick
(
datasBean
);
}
@Override
...
...
@@ -174,8 +344,8 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
if
(
foodGroupList
.
size
()
>
0
)
{
mFoodGroupList
.
addAll
(
foodGroupList
);
setDefalutFoodGroup
(
foodGroupList
);
updateFoodSoldoutCtrData
();
mRootView
.
initFoodGroupAdapter
(
foodGroupList
);
updateFoodSoldoutCtrData
();
}
}
...
...
@@ -203,12 +373,12 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
if
(
foodList
!=
null
)
{
updateFoodData
(
foodList
,
parentId
);
}
mRootView
.
setCurr
Layout
(
SetMealFragment
.
FOOD_LAYOUT
);
mRootView
.
setCurr
ViewMode
(
MealConstant
.
food_group_ViewMode
,
MealConstant
.
food_ViewMode
);
}
});
}
private
void
selectMeal
ItemClick
(
OrderDetail
datasBean
)
{
private
void
mealCart
ItemClick
(
OrderDetail
datasBean
)
{
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_SELECTED
,
"食品【"
+
datasBean
.
getProductName
()
+
"】"
);
//有取消的食品不能操作
OrderDetail
currentOrderDetail
=
mSelectMealAdapter
.
getCurrentOrderDetail
();
...
...
@@ -267,7 +437,7 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
//已送單數量已等於最大數,不能繼續添加
return
;
}
addModifierItem
(
datasBean
);
fineItemClick
(
datasBean
);
//更新賬單數
updateOrderFoodNumber
();
//沽清細項沽清數
...
...
@@ -296,6 +466,59 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
updateOrderFoodNumber
();
}
@Subscriber
(
tag
=
MealConstant
.
ADD_FOOD_MODIFIER
)
private
void
fineItemClick
(
Modifier
datasBean
)
{
int
addPosition
=
mOrderMealList
.
size
();
if
(
mSelectMealAdapter
.
getSelectedMode
()
==
SelectMealAdapter
.
MULTIPLE_SELECTED
)
{
addPosition
=
addMultipleModifierItems
(
datasBean
,
addPosition
);
}
else
{
long
id
=
mCurrentOrderDetailBean
.
isNew
()
?
mCurrentOrderDetailBean
.
getProductId
()
:
mCurrentOrderDetailBean
.
getId
();
mCurrentOrderDetailBean
=
OrderDetail
.
modifierTransOrderDetail
(
datasBean
,
id
,
mCurrentOrderDetailBean
.
getProductId
(),
1
);
addPosition
=
mSelectMealAdapter
.
addFoodItem
(
mCurrentOrderDetailBean
);
}
//更新賬單金額
updateBillInfo
();
// IActivity.setFineItemSlodoutListFull(mSoldoutCtrList);
mRootView
.
setMealRvScrollToPosition
(
addPosition
);
}
/**
* 按键入的食品号查找食品
* meal_uid:即可以是食品的fid也可以是PLU码。
* 未有此商品,弹出提示框并且清除录入
* 有此商品,把商品上屏并且清除录入
*
* @param plu
*/
public
void
toFindMeal
(
String
plu
)
{
mModel
.
queryFoodByFlu
(
plu
)
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
Food
>(
mErrorHandler
)
{
@Override
public
void
onSuccess
(
@NonNull
Food
food
)
{
if
(
food
==
null
)
{
mRootView
.
showMessage
(
"未找到該食品!"
);
return
;
}
//查找成功清除输入框
mRootView
.
clearKeyBoardInput
();
setFoodComboStatus
(
food
);
//添加食品到購物車
int
addPosition
=
mSelectMealAdapter
.
addFoodItem
(
OrderDetail
.
foodTransOrderDetails
(
food
,
1
));
mRootView
.
setMealRvScrollToPosition
(
addPosition
);
updateOrderFoodNumber
();
}
});
}
private
void
addFoodItemBefore
(
OrderDetail
datasBean
)
{
int
addPosition
=
addFoodItem
(
datasBean
);
//这里主食品作为选中主体
...
...
@@ -350,26 +573,6 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
return
addPosition
;
}
@Subscriber
(
tag
=
MealConstant
.
ADD_FOOD_MODIFIER
)
private
void
addModifierItem
(
Modifier
datasBean
)
{
int
addPosition
=
mOrderMealList
.
size
();
if
(
mSelectMealAdapter
.
getSelectedMode
()
==
SelectMealAdapter
.
MULTIPLE_SELECTED
)
{
addPosition
=
addMultipleModifierItems
(
datasBean
,
addPosition
);
}
else
{
long
id
=
mCurrentOrderDetailBean
.
isNew
()
?
mCurrentOrderDetailBean
.
getProductId
()
:
mCurrentOrderDetailBean
.
getId
();
mCurrentOrderDetailBean
=
OrderDetail
.
modifierTransOrderDetail
(
datasBean
,
id
,
mCurrentOrderDetailBean
.
getProductId
(),
1
);
addPosition
=
mSelectMealAdapter
.
addFoodItem
(
mCurrentOrderDetailBean
);
}
//更新賬單金額
updateBillInfo
();
// IActivity.setFineItemSlodoutListFull(mSoldoutCtrList);
mRootView
.
setMealRvScrollToPosition
(
addPosition
);
}
private
void
loadComboData
(
OrderDetail
food
,
boolean
isSelectedMeal
)
{
Observable
.
create
(
new
ObservableOnSubscribe
<
List
>()
{
@Override
...
...
@@ -436,7 +639,7 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
}
}
if
(
mRootView
.
getCurrentViewMode
()
!=
MealConstant
.
fine_ViewMode
&&
isSelectedMeal
||
autoMod
)
{
mRootView
.
setCurr
Layout
(
SetMealFragment
.
COMBO_LAYOUT
);
mRootView
.
setCurr
ViewMode
(
MealConstant
.
combo_ViewMode
);
}
toAddFoodItem
(
mCurrentOrderDetailBean
);
}
...
...
@@ -456,6 +659,193 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
}
/**
* 刪除食品
*
* @param deleteStyle 1=點擊刪除、2=長按刪除
*/
public
void
deleteFoodItem
(
int
deleteStyle
)
{
if
(
mSelectMealAdapter
.
getSelectedMode
()
==
SelectMealAdapter
.
MULTIPLE_SELECTED
)
{
//只有單選操作的時候可以刪除子項
return
;
}
if
(!
mSelectMealAdapter
.
canDeleteFood
())
{
return
;
}
//未選擇食品時,設置默認選擇最後一個
if
(
mSelectMealAdapter
.
getSelect_position
()
==
-
1
)
{
if
(
getOrderFoodLists
().
size
()
>
0
)
{
mSelectMealAdapter
.
setSelectPosition
(
getOrderFoodLists
().
size
()
-
1
);
}
}
OrderDetail
deleteFood
=
getOrderFoodLists
().
get
(
mSelectMealAdapter
.
getSelect_position
());
if
(!
deleteFood
.
isNew
())
{
//TODO 刪除已下單食品
if
(!
deleteFood
.
isModify
())
{
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_CLICK
+
"已下單食品【"
+
deleteFood
.
getProductName
()
+
"】"
);
mRootView
.
showCancelFoodDialog
(
deleteFood
);
}
}
else
{
if
(
deleteStyle
==
2
)
{
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_DELETE
+
"食品【"
+
deleteFood
.
getProductName
()
+
"】"
);
mSelectMealAdapter
.
removeAllNewFoodItem
();
}
else
{
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_DELETE
+
"食品【"
+
deleteFood
.
getProductName
()
+
"】"
);
int
deletePosition
=
mSelectMealAdapter
.
removeFoodItem
();
mRootView
.
setMealRvScrollToPosition
(
deletePosition
);
//更新最大可選數
if
(
deleteFood
!=
null
)
{
}
}
updateMealSoldoutCtrData
();
}
updateOrderFoodNumber
();
}
/**
* 刪除子項
*/
public
void
deleteChildItem
()
{
if
(
mSelectMealAdapter
.
getSelectedMode
()
!=
SelectMealAdapter
.
SINGLE_SELECTED
)
{
//只有單選操作的時候可以刪除子項
return
;
}
if
(
getOrderFoodLists
().
size
()
==
0
)
{
mRootView
.
showViewModeVisibility
(
MealConstant
.
food_group_ViewMode
,
MealConstant
.
food_ViewMode
);
return
;
}
if
(
mRootView
.
getCurrentViewMode
()
==
MealConstant
.
discount_ViewMode
&&
getOrderFoodLists
().
get
(
mSelectMealAdapter
.
getSelect_position
()).
getProp
()
==
OrderDetail
.
DISCOUNT_PROP
)
{
//當點選折扣操作 不可删除食品
return
;
}
if
(!
mSelectMealAdapter
.
canDeleteChildItem
())
{
return
;
}
if
(
getOrderFoodLists
().
get
(
mSelectMealAdapter
.
getSelect_position
())
==
null
)
{
return
;
}
//刪除子項
mSelectMealAdapter
.
removeChildItem
();
//更新細項沽清數
updateFineFragmentSoldoutList
();
updateComboItemSoldoutCtrData
();
updateModifierSoldoutCtrData
();
//更新賬單金額
updateBillInfo
();
//更新選中數量
updateOrderFoodNumber
();
}
/**
* 標記需刪除食品
*
* @param maxNumber
* @param deleteNumber
* @param reasonId
*/
public
void
markDeleteFood
(
int
maxNumber
,
int
deleteNumber
,
int
reasonId
,
String
reason
)
{
String
ids
=
getSelectedOldFoodIds
();
if
(
TextUtils
.
isEmpty
(
ids
))
{
return
;
}
List
<
OrderDetail
>
oldOrders
=
getSelectedOldFoodAndDiscount
();
for
(
OrderDetail
item
:
oldOrders
)
{
//保存取消前的數量
item
.
setModifyBeforeNumber
(
item
.
getNumber
());
//將數量標記成已刪除
int
afterDeleteNumber
=
item
.
getNumber
()
-
deleteNumber
;
if
(
afterDeleteNumber
>
0
)
{
item
.
setNumber
(
afterDeleteNumber
);
}
else
{
item
.
setNumber
(
0
);
}
if
(
item
.
getNumber
()
!=
0
)
{
//更新食品金额
item
.
setPrice
(
item
.
getNumber
()
*
item
.
getUnit_price
());
}
item
.
setCancelReason
(
reason
);
item
.
setReasonId
(
reasonId
);
item
.
setCancelNumber
(
deleteNumber
);
}
mSelectMealAdapter
.
notifyDataSetChanged
();
//將取消信息保存到訂單信息類中
DeleteOrderRequest
request
=
getDeleteOrderRequest
(
ids
,
reasonId
,
maxNumber
,
deleteNumber
);
mDoshokuOrder
.
addDeleteMealOrder
(
request
);
mRootView
.
showBtnMealModifyRestoreVisibility
(
true
);
//更新賬單金額
updateBillInfo
();
}
/**
* 恢復標記刪除的食品
*/
public
void
restoreDeleteFood
()
{
for
(
OrderDetail
item
:
mOrderMealList
)
{
if
(!
item
.
isModify
())
{
continue
;
}
item
.
setNumber
(
item
.
getModifyBeforeNumber
());
item
.
setModifyBeforeNumber
(
0
);
item
.
setCancelReason
(
""
);
item
.
setReasonId
(
0
);
item
.
setCancelNumber
(
0
);
if
(
item
.
getNumber
()
!=
0
)
{
//恢复食品金额
item
.
setPrice
(
item
.
getNumber
()
*
item
.
getUnit_price
());
}
}
mDoshokuOrder
.
setDeleteMealOrders
(
null
);
mSelectMealAdapter
.
notifyDataSetChanged
();
//更新賬單金額
updateBillInfo
();
}
/**
* 更新公共細項頁沽清數據
*/
private
void
updateFineFragmentSoldoutList
()
{
EventBus
.
getDefault
().
post
(
mSoldoutCtrList
,
FineChildAllFragment
.
UPDATE_FINE_DATA_EVENT
);
}
/**
* 打印上菜紙
*
*/
private
void
printSendOrder
()
{
if
(
DoshokuOrder
.
getInstance
().
getNewFoodList
()
==
null
||
DoshokuOrder
.
getInstance
().
getNewFoodList
().
size
()
<=
0
)
{
//沒有新的食品時,不打印送單
mRootView
.
returnBeforeActivity
(
true
);
return
;
}
if
(
RestaurantExpandInfoUtils
.
getValue
(
ExpandConstant
.
AutoPrinterPaper
,
true
))
{
if
(
RestaurantExpandInfoUtils
.
getValue
(
ExpandConstant
.
MergeSendFood
,
true
))
{
//合并主食品
mergeMainFoodNumber
(
mOrderMealList
);
}
PrintContent
printContent
=
new
PrintContentAdapter
().
adaptationSendOrderPaperContent
(
DoshokuOrder
.
getInstance
(),
mTableInfo
);
CC
.
obtainBuilder
(
ComponentName
.
COMPONENT_PRINT
)
.
setActionName
(
"printActivity"
)
.
addParam
(
PrintConstans
.
PRINT_TYPE
,
PrintConstans
.
PRINT_SERVE
)
.
addParam
(
PrintConstans
.
PRINT_CONTENT
,
printContent
)
.
addParam
(
PrintConstans
.
PRINT_ORDER_NO
,
DoshokuOrder
.
getInstance
().
getOrderNo
())
.
build
()
.
callAsyncCallbackOnMainThread
((
cc
,
result
)
->
{
if
(
result
.
isSuccess
())
{
}
else
{
mRootView
.
showMessage
(
printError
);
}
//打印成功
mRootView
.
returnBeforeActivity
(
true
);
});
}
else
{
mRootView
.
returnBeforeActivity
(
true
);
}
}
/**
* 裁減掉已超出的細項
*
* @param datasBean
...
...
@@ -804,6 +1194,25 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
/**
* 標識食品是否为组合食品
*
* @param food
*/
private
void
setFoodComboStatus
(
Food
food
)
{
mModel
.
isComboFood
(
food
.
getId
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
List
<
FoodCombo
>>(
mErrorHandler
)
{
@Override
public
void
onSuccess
(
@NonNull
List
<
FoodCombo
>
foodComboList
)
{
if
(
foodComboList
.
size
()
>
0
)
{
food
.
setComboFood
(
true
);
}
}
});
}
/**
* 標識食品是否为组合食品
*
* @param foodList
*/
private
void
setFoodComboListStatus
(
List
<
Food
>
foodList
)
{
...
...
@@ -814,10 +1223,11 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
List
<
FoodCombo
>>(
mErrorHandler
)
{
@Override
public
void
onSuccess
(
List
<
FoodCombo
>
food
Food
ComboList
)
{
if
(
food
Food
ComboList
.
size
()
>
0
)
{
public
void
onSuccess
(
List
<
FoodCombo
>
foodComboList
)
{
if
(
foodComboList
.
size
()
>
0
)
{
datasBean
.
setComboFood
(
true
);
}
}
});
}
...
...
@@ -1350,13 +1760,16 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
return
discount
;
}
/**
* 更新食品組,食品選中數量
*/
public
void
updateOrderFoodNumber
()
{
set
FoodBtnNumber
();
set
FoodGroupBtnNumber
();
update
FoodBtnNumber
();
update
FoodGroupBtnNumber
();
mRootView
.
setOrderFoodCount
(
getOrderFoodNumber
());
}
private
void
set
FoodBtnNumber
()
{
private
void
update
FoodBtnNumber
()
{
for
(
int
i
=
0
;
i
<
mFoodList
.
size
();
i
++)
{
Food
foodBean
=
mFoodList
.
get
(
i
);
foodBean
.
setNumber
(
0
);
...
...
@@ -1372,7 +1785,7 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
mRootView
.
notifyFoodAdapter
();
}
private
void
set
FoodGroupBtnNumber
()
{
private
void
update
FoodGroupBtnNumber
()
{
List
<
OrderDetail
>
orderDetailList
=
getOrderFoodLists
();
for
(
int
i
=
0
;
i
<
mFoodGroupList
.
size
();
i
++)
{
Food
foodGroupBean
=
mFoodGroupList
.
get
(
i
);
...
...
@@ -1404,6 +1817,80 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
return
String
.
valueOf
(
i
);
}
/**
* 取消食品請求實體
*
* @param ids
* @param reasonId
* @param maxNumber
* @param deleteNumber
* @return
*/
private
DeleteOrderRequest
getDeleteOrderRequest
(
String
ids
,
long
reasonId
,
int
maxNumber
,
int
deleteNumber
)
{
List
<
DeleteOrderRequest
.
DeleteBean
>
mapsDelete
=
getMapsDelete
(
ids
,
maxNumber
,
deleteNumber
);
byte
type
=
(
byte
)
(
mDoshokuOrder
.
isModifyOrder
()
?
2
:
1
);
long
orderId
=
mDoshokuOrder
.
getOrderId
();
DeleteOrderRequest
request
=
new
DeleteOrderRequest
();
request
.
setMapsDelete
(
mapsDelete
);
request
.
setOrderId
(
orderId
);
request
.
setTableId
(
mTableInfo
.
getId
());
request
.
setTableNumber
(
mTableInfo
.
getTableNumber
());
request
.
setType
(
type
);
request
.
setReasonId
(
reasonId
);
return
request
;
}
/**
* 取消食品對應 id + number
*
* @param ids
* @param maxNumber
* @param deleteNumber
* @return
*/
private
List
<
DeleteOrderRequest
.
DeleteBean
>
getMapsDelete
(
String
ids
,
int
maxNumber
,
int
deleteNumber
)
{
List
<
DeleteOrderRequest
.
DeleteBean
>
deleteMaps
=
new
ArrayList
<>();
//取消食品id
String
[]
idsArray
=
ids
.
split
(
","
);
//取消食品數量
String
[]
quantitys
=
getQuantitys
(
idsArray
.
length
,
maxNumber
,
deleteNumber
).
split
(
","
);
for
(
int
i
=
0
;
i
<
idsArray
.
length
;
i
++)
{
String
[]
quantitysStr
=
quantitys
[
i
].
split
(
"_"
);
// Map<Byte, DeleteOrderRequest.DeleteBean> map = new HashMap<>();
DeleteOrderRequest
.
DeleteBean
request
=
new
DeleteOrderRequest
.
DeleteBean
();
request
.
setId
(
Long
.
parseLong
(
idsArray
[
i
]));
request
.
setNumber
(
Integer
.
parseInt
(
quantitysStr
[
1
]));
// map.put(Byte.parseByte(quantitysStr[0]), request);
deleteMaps
.
add
(
request
);
}
return
deleteMaps
;
}
/***
* 取消食品數量
* @param length
* @param maxNumber
* @param deleteNumber
* @return 數量_後台定義(1=刪除全部,2=修改數量)
*/
private
String
getQuantitys
(
int
length
,
int
maxNumber
,
int
deleteNumber
)
{
StringBuilder
builder
=
new
StringBuilder
();
for
(
int
i
=
0
;
i
<
length
;
i
++)
{
if
(
maxNumber
==
deleteNumber
)
{
builder
.
append
(
1
+
"_"
+
(
maxNumber
-
deleteNumber
));
}
else
{
builder
.
append
(
2
+
"_"
+
(
maxNumber
-
deleteNumber
));
}
builder
.
append
(
","
);
}
String
str
=
builder
.
toString
();
if
(
str
.
endsWith
(
","
))
{
str
=
str
.
substring
(
0
,
str
.
length
()
-
1
);
}
return
str
;
}
public
OrderDetail
getCurrentOrderDetailBean
()
{
return
mCurrentOrderDetailBean
;
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/orderManager/OrderCenterPresenter.java
View file @
29e0b2b3
...
...
@@ -4,6 +4,7 @@ import android.app.Application;
import
com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber
;
import
com.gingersoft.gsa.cloud.common.utils.JsonUtils
;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.order.contract.OrderStatusContract
;
...
...
@@ -87,17 +88,14 @@ public class OrderCenterPresenter extends BaseOrderConterPresenter<OrderCenterCo
pageIndex
=
pageIndex
*
pageSize
;
}
mModel
.
loadOrderList
(
restaurantId
,
orderType
,
status
,
pageIndex
,
pageSize
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
{
if
(
refreshLayout
==
null
)
{
mRootView
.
showLoading
(
null
);
}
})
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
onSubscribe
(
Disposable
d
)
{
...
...
@@ -109,7 +107,7 @@ public class OrderCenterPresenter extends BaseOrderConterPresenter<OrderCenterCo
}
@Override
public
void
on
Next
(
@NonNull
BaseResult
result
)
{
public
void
on
Success
(
@NonNull
BaseResult
result
)
{
if
(
result
.
isSuccess
())
{
if
(
result
.
getData
()
!=
null
)
{
List
<
OrderManagerResponse
>
orderItemList
=
JsonUtils
.
parseArray
(
result
.
getData
(),
OrderManagerResponse
.
class
);
...
...
@@ -171,16 +169,13 @@ public class OrderCenterPresenter extends BaseOrderConterPresenter<OrderCenterCo
public
void
cancelOrder
(
long
orderId
,
String
orderType
,
String
status
)
{
int
restaurantId
=
RestaurantInfoManager
.
newInstance
().
getRestaurantId
();
mModel
.
cancelOrder
(
orderId
,
restaurantId
,
orderType
,
status
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
@NonNull
BaseResult
result
)
{
public
void
on
Success
(
@NonNull
BaseResult
result
)
{
if
(
result
.
isSuccess
())
{
if
(
result
.
getData
()
!=
null
)
{
List
<
OrderManagerResponse
>
orderItemList
=
JsonUtils
.
parseArray
(
result
.
getData
(),
OrderManagerResponse
.
class
);
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/orderManager/OrderDetailPresenter.java
View file @
29e0b2b3
...
...
@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter.orderManager;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber
;
import
com.gingersoft.gsa.cloud.common.utils.JsonUtils
;
import
com.gingersoft.gsa.cloud.common.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.order.bean.response.OrderDiscountResponse
;
...
...
@@ -81,10 +82,10 @@ public class OrderDetailPresenter extends BaseOrderConterPresenter<OrderDetailCo
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
@NonNull
BaseResult
result
)
{
public
void
on
Success
(
@NonNull
BaseResult
result
)
{
if
(
result
.
isSuccess
())
{
if
(
result
.
getData
()
!=
null
)
{
OrderManagerResponse
orderDetailItem
=
JsonUtils
.
parseObject
(
JsonUtils
.
toJson
(
result
.
getData
()),
OrderManagerResponse
.
class
);
...
...
@@ -101,16 +102,13 @@ public class OrderDetailPresenter extends BaseOrderConterPresenter<OrderDetailCo
public
void
cancelOrder
(
long
orderId
)
{
mModel
.
cancelOrder
(
orderId
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
mRootView
.
showLoading
(
null
))
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
public
void
on
Next
(
@NonNull
BaseResult
result
)
{
public
void
on
Success
(
@NonNull
BaseResult
result
)
{
if
(
result
.
isSuccess
())
{
if
(
result
.
getData
()
!=
null
)
{
OrderManagerResponse
orderDetailItem
=
JsonUtils
.
parseObject
(
JsonUtils
.
toJson
(
result
.
getData
()),
OrderManagerResponse
.
class
);
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity.java
View file @
29e0b2b3
...
...
@@ -582,7 +582,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
public
void
setPluMode
()
{
isPluMode
=
(
boolean
)
SPUtils
.
get
(
MealConstant
.
EXIT_IS_PLU_MODE
,
false
);
if
(
isPluMode
)
{
showViewModeVisibility
(
MealConstant
.
ViewMode_keys
);
showViewModeVisibility
(
MealConstant
.
keys_viewMode
);
btn_fid
.
setBackgroundColor
(
ArmsUtils
.
getColor
(
this
,
R
.
color
.
theme_hint_color
));
}
else
{
btn_fid
.
setBackground
(
ArmsUtils
.
getDrawablebyResource
(
this
,
R
.
drawable
.
ui_selector_item_background
));
...
...
@@ -773,11 +773,11 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
showChoosePeopleNumDialog
(
true
);
}
else
if
(
id
==
R
.
id
.
btn_fid
)
{
//搜索
if
(
mCurrentViewMode
==
MealConstant
.
ViewMode_keys
)
{
if
(
mCurrentViewMode
==
MealConstant
.
keys_viewMode
)
{
showViewModeVisibility
(
MealConstant
.
food_group_ViewMode
,
MealConstant
.
food_ViewMode
);
SPUtils
.
put
(
MealConstant
.
EXIT_IS_PLU_MODE
,
false
);
}
else
{
showViewModeVisibility
(
MealConstant
.
ViewMode_keys
);
showViewModeVisibility
(
MealConstant
.
keys_viewMode
);
SPUtils
.
put
(
MealConstant
.
EXIT_IS_PLU_MODE
,
true
);
}
setPluMode
();
...
...
@@ -1100,13 +1100,6 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
@Override
public
void
setDiscountRecycleLayoutManager
(
int
orientation
)
{
// FlexboxLayoutManager flexboxLayoutManager = new FlexboxLayoutManager(mContext);
// //主轴为水平方向,起点在左端。
// flexboxLayoutManager.setFlexDirection(FlexDirection.ROW);
// //按正常方向换行
// flexboxLayoutManager.setFlexWrap(FlexWrap.WRAP);
// //交叉轴的起点对齐。
// flexboxLayoutManager.setJustifyContent(JustifyContent.FLEX_START);
discountRecycleLayoutManager
=
new
GridLayoutManager
(
this
,
4
,
LinearLayoutManager
.
VERTICAL
,
false
);
rv_discount
.
setLayoutManager
(
discountRecycleLayoutManager
);
rv_discount
.
addItemDecoration
(
new
DividerItemDecoration
(
mContext
,
DividerItemDecoration
.
HORIZONTAL_LIST
));
...
...
@@ -1185,7 +1178,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
map
.
get
(
mode
).
setVisibility
(
View
.
VISIBLE
);
}
//設置當前模式為輸入Plu模式
if
(
viewMode
!=
null
&&
viewMode
[
0
]
==
MealConstant
.
ViewMode_keys
)
{
if
(
viewMode
!=
null
&&
viewMode
[
0
]
==
MealConstant
.
keys_viewMode
)
{
isPluMode
=
true
;
}
else
{
isPluMode
=
false
;
...
...
@@ -1370,7 +1363,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
map
.
put
(
MealConstant
.
discount_ViewMode
,
rv_discount
);
map
.
put
(
MealConstant
.
fine_ViewMode
,
pager_fine
);
map
.
put
(
MealConstant
.
fine_tabs_ViewMode
,
rl_fine_tabs
);
map
.
put
(
MealConstant
.
ViewMode_keys
,
keyView
);
map
.
put
(
MealConstant
.
keys_viewMode
,
keyView
);
// @SwitchPrintMethod
btn_send_order
.
setOnLongClickListener
(
v
->
{
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity2.java
View file @
29e0b2b3
...
...
@@ -2,7 +2,9 @@ package com.gingersoft.gsa.cloud.table.mvp.ui.activity;
import
android.app.Activity
;
import
android.content.Intent
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.os.SystemClock
;
import
android.text.TextUtils
;
import
android.util.SparseArray
;
import
android.view.View
;
...
...
@@ -19,6 +21,7 @@ import androidx.recyclerview.widget.GridLayoutManager;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.app.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.common.constans.FoodSummaryConstans
;
import
com.gingersoft.gsa.cloud.common.constans.MealConstant
;
import
com.gingersoft.gsa.cloud.common.core.member.MemberInfo
;
...
...
@@ -79,10 +82,6 @@ public class MealStandActivity2 extends BaseFragmentActivity<MealStandPresenter2
Chronometer
ctime
;
@BindView
(
R2
.
id
.
fl_food_plate
)
FrameLayout
flFoodPlate
;
@BindView
(
R2
.
id
.
fl_meal_discount
)
FrameLayout
flMealDiscount
;
@BindView
(
R2
.
id
.
meal_stand_search_keyboard_view
)
SearchKeyBoardView
mealStandSearchKeyboardView
;
@BindView
(
R2
.
id
.
tv_no_save_return
)
TextView
tvNoSaveReturn
;
@BindView
(
R2
.
id
.
btn_order_count
)
...
...
@@ -104,9 +103,6 @@ public class MealStandActivity2 extends BaseFragmentActivity<MealStandPresenter2
@BindView
(
R2
.
id
.
ll_stand_oper
)
LinearLayout
llStandOper
;
private
int
mCurrentViewMode
;
private
boolean
isPluMode
;
private
static
final
int
ORDER_CONTENT_CODE
=
1002
;
@Override
...
...
@@ -144,9 +140,9 @@ public class MealStandActivity2 extends BaseFragmentActivity<MealStandPresenter2
if
(
findFragment
(
SetMealFragment
.
class
)
==
null
)
{
loadRootFragment
(
R
.
id
.
fl_food_plate
,
SetMealFragment
.
newInstance
());
}
initAutoQuit
();
}
@OnClick
({
R2
.
id
.
btn_send_order
,
R2
.
id
.
tv_no_save_return
,
R2
.
id
.
tv_order_content
})
public
void
onClick
(
View
v
)
{
...
...
@@ -161,11 +157,13 @@ public class MealStandActivity2 extends BaseFragmentActivity<MealStandPresenter2
.
call
();
return
;
}
mPresenter
.
sendOrder
(
false
,
null
);
if
(
sendOrderListener
!=
null
)
{
sendOrderListener
.
sendOrder
();
}
}
else
if
(
id
==
R
.
id
.
tv_order_content
)
{
//如果打印成功會回調
Intent
intent
=
new
Intent
(
mContext
,
OrderContentActivity
.
class
);
startActivityForResult
(
intent
,
ORDER_CONTENT_CODE
);
startActivityForResult
(
intent
,
MealStandActivity2
.
ORDER_CONTENT_CODE
);
}
else
if
(
id
==
R
.
id
.
tv_no_save_return
)
{
returnTableActivity
(
true
);
}
...
...
@@ -200,11 +198,47 @@ public class MealStandActivity2 extends BaseFragmentActivity<MealStandPresenter2
killMyself
();
}
/**
* 一段时间内没有操作,退出当前餐台
*/
private
void
initAutoQuit
()
{
if
(
ctime
!=
null
)
{
ctime
.
setBase
(
SystemClock
.
elapsedRealtime
());
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
CUPCAKE
)
{
ctime
.
setOnChronometerTickListener
(
new
Chronometer
.
OnChronometerTickListener
()
{
@Override
public
void
onChronometerTick
(
Chronometer
chronometer
)
{
// 执行一下看看是否按下了home键的线程
// 如果开始计时到现在超过了autoQuitTime秒
int
autoQuitTime
=
GsaCloudApplication
.
functionConfiguration
.
getAutoQuitTimeVaule
();
if
(
SystemClock
.
elapsedRealtime
()
-
chronometer
.
getBase
()
>
autoQuitTime
*
1000
)
{
// 停止计时
chronometer
.
stop
();
returnBeforeActivity
(
true
);
}
}
});
}
//开启倒计时
ctime
.
start
();
}
}
@Override
public
void
recordOperat
(
boolean
isPressButtonSound
)
{
if
(
isPressButtonSound
)
{
VibratorUtils
.
pressButtonSound
(
this
);
}
//关闭倒计时
if
(
ctime
!=
null
)
{
ctime
.
stop
();
}
//重新开启倒计时
if
(
ctime
!=
null
)
{
ctime
.
setBase
(
SystemClock
.
elapsedRealtime
());
ctime
.
start
();
}
}
@Override
...
...
@@ -292,9 +326,6 @@ public class MealStandActivity2 extends BaseFragmentActivity<MealStandPresenter2
return
1
;
}
public
void
clearInput
()
{
}
@Override
protected
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
@Nullable
Intent
data
)
{
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
...
...
@@ -306,13 +337,6 @@ public class MealStandActivity2 extends BaseFragmentActivity<MealStandPresenter2
//關閉當前頁面
killMyself
();
}
}
else
if
(
requestCode
==
ScanHelper
.
CALL_BACK_QR_RESULT
)
{
String
qrCodeResult
=
data
.
getStringExtra
(
"qrCodeResult"
);
if
(
TextUtils
.
isEmpty
(
qrCodeResult
))
{
return
;
}
TableBean
.
DataBean
dataBean
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
// mPresenter.queryMember(1, qrCodeResult, RestaurantInfoManager.newInstance().getGsPosShopId(), dataBean.getId(), dataBean.getTableNumber());
}
}
...
...
@@ -328,4 +352,13 @@ public class MealStandActivity2 extends BaseFragmentActivity<MealStandPresenter2
public
void
showBtnMealModifyRestoreVisibility
(
boolean
show
)
{
}
private
OnSendOrderListener
sendOrderListener
;
public
void
setSendOrderListener
(
OnSendOrderListener
sendOrderListener
)
{
this
.
sendOrderListener
=
sendOrderListener
;
}
public
interface
OnSendOrderListener
{
void
sendOrder
();
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderPayActivity.java
View file @
29e0b2b3
...
...
@@ -554,7 +554,8 @@ public class OrderPayActivity extends BaseFragmentActivity<OrderPayPresenter> im
//
// List<BillItem> billItemList = DoshokuOrder.getInstance().getShoppingCart().getBillItemList();
RequestParms
parms
=
RequestParms
.
builder
()
RequestParms
parms
=
RequestParms
.
builder
()
.
action
(
PayAction
.
SALE
)
.
resturantId
(
RestaurantInfoManager
.
newInstance
().
getRestaurantId
())
.
orderId
(
DoshokuOrder
.
getInstance
().
getOrderId
())
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/TableActivity.java
View file @
29e0b2b3
...
...
@@ -394,7 +394,7 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
@Override
public
void
startMealStandActivity
()
{
startActivity
(
new
Intent
(
this
,
MealStandActivity
.
class
));
startActivity
(
new
Intent
(
this
,
MealStandActivity
2
.
class
));
}
@Override
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/FoodGroupAdapter.java
View file @
29e0b2b3
...
...
@@ -5,6 +5,7 @@ import android.graphics.Color;
import
android.view.Gravity
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.LinearLayout
;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
...
...
@@ -110,10 +111,9 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
setColor
(
datasBean
);
setSoldoutStatus
(
datasBean
);
setOnItemClickListener
(
new
OnViewClickListener
()
{
rl_container
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
on
ViewClick
(
View
view
,
int
position
)
{
public
void
on
Click
(
View
v
)
{
if
(
mOnItemClickListener
!=
null
)
{
for
(
int
i
=
0
;
i
<
mInfos
.
size
();
i
++)
{
mInfos
.
get
(
i
).
setSelected
(
false
);
...
...
@@ -154,7 +154,7 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
tv_name
.
setHeight
(
mParentColHeight
);
tv_name
.
setGravity
(
Gravity
.
CENTER
);
RelativeLayout
.
LayoutParams
lp
=
(
RelativeLayout
.
LayoutParams
)
rl_container
.
getLayoutParams
();
ViewGroup
.
LayoutParams
lp
=
(
ViewGroup
.
LayoutParams
)
rl_container
.
getLayoutParams
();
lp
.
height
=
mParentColHeight
;
lp
.
width
=
mParentColWidth
;
rl_container
.
setLayoutParams
(
lp
);
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/SelectMealAdapter2.java
View file @
29e0b2b3
...
...
@@ -445,7 +445,8 @@ public class SelectMealAdapter2 extends DefaultAdapter<OrderDetail> {
setSelectPosition
(
select_position
);
EventBus
.
getDefault
().
post
(
SetMealFragment
.
FOOD_LAYOUT
,
SetMealFragment
.
SET_CURR_LAYOUT_EVENT
);
int
[]
viewModes
={
MealConstant
.
food_group_ViewMode
,
MealConstant
.
food_ViewMode
};
EventBus
.
getDefault
().
post
(
viewModes
,
SetMealFragment
.
SET_CURR_LAYOUT_EVENT
);
// mMealStandActivity.showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode);
}
...
...
@@ -492,7 +493,8 @@ public class SelectMealAdapter2 extends DefaultAdapter<OrderDetail> {
setSelectPosition
(
select_position
);
EventBus
.
getDefault
().
post
(
SetMealFragment
.
FOOD_LAYOUT
,
SetMealFragment
.
SET_CURR_LAYOUT_EVENT
);
int
[]
viewModes
={
MealConstant
.
food_group_ViewMode
,
MealConstant
.
food_ViewMode
};
EventBus
.
getDefault
().
post
(
viewModes
,
SetMealFragment
.
SET_CURR_LAYOUT_EVENT
);
// if (mMealStandActivity != null) {
// mMealStandActivity.showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode);
// }
...
...
@@ -749,8 +751,9 @@ public class SelectMealAdapter2 extends DefaultAdapter<OrderDetail> {
public
void
setSelectPosition
(
int
position
)
{
if
(
position
==
-
1
)
if
(
position
==
-
1
)
{
return
;
}
select_position
=
position
;
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/discount/DiscountFragment.java
View file @
29e0b2b3
...
...
@@ -49,11 +49,6 @@ public class DiscountFragment extends BaseFragment<BasePresenter> {
ViewPager
contentViewPager
;
@BindView
(
R2
.
id
.
ll_container
)
QMUILinearLayout
llContainer
;
private
CouponFragment
couponFragment
;
private
NomalDiscountFragment
billDiscountFragment
;
private
List
<
String
>
mTabTitles
=
new
ArrayList
<>();
private
int
mCurrentPageIndex
=
0
;
public
static
DiscountFragment
newInstance
()
{
...
...
@@ -82,68 +77,55 @@ public class DiscountFragment extends BaseFragment<BasePresenter> {
@Override
public
void
setData
(
@Nullable
Object
data
)
{
}
private
void
initTabAndPager
()
{
MemberInfo
memberInfo
=
DoshokuOrder
.
getInstance
().
getMemberInfo
();
List
<
Fragment
>
fragments
=
new
ArrayList
<>();
CouponFragment
couponFragment
=
CouponFragment
.
newInstance
(
CouponFragment
.
FOOD_LIMIT_DISCOUNT
);
couponFragment
.
setOnCouponItemClickListener
((
item
,
position
)
->
{
if
(
onDiscountItemClickListener
!=
null
)
{
onDiscountItemClickListener
.
onCouponClick
(
item
,
position
);
}
});
NomalDiscountFragment
billDiscountFragment
=
NomalDiscountFragment
.
newInstance
();
billDiscountFragment
.
setOnDiscountItemClickListener
((
item
,
position
)
->
{
if
(
onDiscountItemClickListener
!=
null
)
{
onDiscountItemClickListener
.
onBillDiscountClick
(
item
,
position
);
}
});
fragments
.
add
(
couponFragment
);
fragments
.
add
(
billDiscountFragment
);
final
List
<
String
>
tabList
=
getTabTitles
();
QMUIFragmentPagerAdapter
pagerAdapter
=
new
QMUIFragmentPagerAdapter
(
getChildFragmentManager
())
{
@Override
public
Fragment
createFragment
(
int
position
)
{
switch
(
position
)
{
case
1
:
if
(
couponFragment
!=
null
)
{
return
couponFragment
;
}
couponFragment
=
CouponFragment
.
newInstance
(
CouponFragment
.
FOOD_LIMIT_DISCOUNT
);
couponFragment
.
setOnCouponItemClickListener
(
new
CouponFragment
.
OnCouponItemClickListener
()
{
@Override
public
void
onItemClick
(
MemberWalletCoupon
item
,
int
position
)
{
if
(
onDiscountItemClickListener
!=
null
)
{
onDiscountItemClickListener
.
onCouponClick
(
item
,
position
);
}
}
});
return
couponFragment
;
default
:
if
(
billDiscountFragment
!=
null
)
{
return
billDiscountFragment
;
}
billDiscountFragment
=
NomalDiscountFragment
.
newInstance
();
billDiscountFragment
.
setOnDiscountItemClickListener
(
new
NomalDiscountFragment
.
OnBillDiscountItemClickListener
()
{
@Override
public
void
onItemClick
(
Discount
item
,
int
position
)
{
if
(
onDiscountItemClickListener
!=
null
)
{
onDiscountItemClickListener
.
onBillDiscountClick
(
item
,
position
);
}
}
});
return
billDiscountFragment
;
}
return
fragments
.
get
(
position
);
}
@Override
public
int
getCount
()
{
return
mTabTitles
.
size
();
return
tabList
.
size
();
}
@Override
public
CharSequence
getPageTitle
(
int
position
)
{
return
mTabTitles
.
get
(
position
);
return
tabList
.
get
(
position
);
}
};
QMUITabBuilder
builder
=
tabSegment
.
tabBuilder
();
mTabTitles
.
add
(
"折扣"
);
QMUITab
tab1
=
builder
.
setText
(
mTabTitles
.
get
(
0
))
.
setText
(
tabList
.
get
(
0
))
.
build
(
_mActivity
);
tabSegment
.
addTab
(
tab1
);
if
(
memberInfo
!=
null
)
{
mTabTitles
.
add
(
"會員錢包"
);
if
(
tabList
.
size
()
>
1
)
{
QMUITab
tab2
=
builder
.
setText
(
mTabTitles
.
get
(
1
))
.
setText
(
tabList
.
get
(
1
))
.
build
(
_mActivity
);
tabSegment
.
addTab
(
tab2
);
}
...
...
@@ -159,7 +141,7 @@ public class DiscountFragment extends BaseFragment<BasePresenter> {
@Override
public
void
onTabSelected
(
int
index
)
{
LoganManager
.
w_tableMode
(
TAG
,
"當前頁面【"
+
mTabTitles
.
get
(
index
)
+
"】"
);
LoganManager
.
w_tableMode
(
TAG
,
"當前頁面【"
+
tabList
.
get
(
index
)
+
"】"
);
}
@Override
...
...
@@ -176,6 +158,16 @@ public class DiscountFragment extends BaseFragment<BasePresenter> {
});
}
private
List
<
String
>
getTabTitles
()
{
List
<
String
>
tabList
=
new
ArrayList
<>();
tabList
.
add
(
"折扣"
);
MemberInfo
memberInfo
=
DoshokuOrder
.
getInstance
().
getMemberInfo
();
if
(
memberInfo
!=
null
)
{
tabList
.
add
(
"會員錢包"
);
}
return
tabList
;
}
@Override
public
boolean
onBackPressedSupport
()
{
return
super
.
onBackPressedSupport
();
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/FineChildAllFragment.java
View file @
29e0b2b3
...
...
@@ -6,17 +6,21 @@ import android.os.Bundle;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
com.gingersoft.gsa.cloud.app.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerFineChildAllComponent
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.event.LoadFineEvent
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.FineChildAllPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter
;
import
com.jess.arms.base.BaseFragment
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.FineChildAllContract
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -26,6 +30,10 @@ import androidx.recyclerview.widget.DefaultItemAnimator;
import
androidx.recyclerview.widget.GridLayoutManager
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
org.simple.eventbus.Subscriber
;
import
org.simple.eventbus.ThreadMode
;
import
butterknife.BindView
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
...
...
@@ -53,6 +61,9 @@ public class FineChildAllFragment extends BaseFragment<FineChildAllPresenter> im
private
int
modCol
;
public
final
static
String
LOAD_FINE_DATA_EVENT
=
"loadFineDataEvent"
;
public
final
static
String
UPDATE_FINE_DATA_EVENT
=
"updateFineDataEvent"
;
public
static
FineChildAllFragment
newInstance
()
{
FineChildAllFragment
fragment
=
new
FineChildAllFragment
();
return
fragment
;
...
...
@@ -82,6 +93,39 @@ public class FineChildAllFragment extends BaseFragment<FineChildAllPresenter> im
mPresenter
.
initItemListener
(
mContext
);
}
@Subscriber
(
tag
=
LOAD_FINE_DATA_EVENT
,
mode
=
ThreadMode
.
MAIN
)
public
void
loadFineData
(
LoadFineEvent
fineEvent
)
{
final
int
currFinePage
=
fineEvent
.
getCurrFinePage
();
final
long
productId
=
fineEvent
.
getProductId
();
final
int
selectedMode
=
fineEvent
.
getSelectedMode
();
final
List
<
SoldoutCtrFood
>
soldoutCtrFoods
=
fineEvent
.
getSoldoutCtrFoods
();
if
(
productId
!=
0
)
{
if
(
selectedMode
==
SelectMealAdapter
.
SINGLE_SELECTED
)
{
if
(
currFinePage
==
1
)
{
loadModSasteData
(
productId
);
}
else
{
loadModMsgData
(
productId
);
}
}
else
{
if
(
currFinePage
==
1
)
{
loadModSasteData
(
productId
);
}
else
{
loadModCommData
(
productId
);
}
}
}
if
(
soldoutCtrFoods
!=
null
)
{
setModifierSoldoutFoodList_Full
(
soldoutCtrFoods
);
updateParentModifierSlodoutFoodList_Full
();
}
}
@Subscriber
(
tag
=
UPDATE_FINE_DATA_EVENT
,
mode
=
ThreadMode
.
MAIN
)
public
void
updateFineItemSoldoutListFull
(
List
<
SoldoutCtrFood
>
soldoutListFull
)
{
setModifierSoldoutFoodList_Full
(
soldoutListFull
);
updateParentModifierSlodoutFoodList_Full
();
}
@Override
public
void
setData
(
@Nullable
Object
data
)
{
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/FineFragment.java
View file @
29e0b2b3
...
...
@@ -8,19 +8,30 @@ import android.view.ViewGroup;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.fragment.app.Fragment
;
import
androidx.viewpager2.widget.ViewPager2
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerFineComponent
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.FineContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.event.LoadFineEvent
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.FinePresenter
;
import
com.gingersoft.gsa.cloud.ui.adapter.ViewPager2Adapter
;
import
com.gingersoft.gsa.cloud.ui.view.MyTableView
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
import
com.google.android.material.tabs.TabLayout
;
import
com.google.android.material.tabs.TabLayoutMediator
;
import
com.jess.arms.base.BaseFragment
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
org.simple.eventbus.EventBus
;
import
java.util.ArrayList
;
import
java.util.List
;
import
butterknife.BindView
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
...
...
@@ -40,16 +51,16 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
*/
public
class
FineFragment
extends
BaseFragment
<
FinePresenter
>
implements
FineContract
.
View
{
@BindView
(
R2
.
id
.
tabLayout
)
TabLayout
tabLayout
;
@BindView
(
R2
.
id
.
viewPager
)
ViewPager2
v
iewPager
;
MyTableView
tabFine
;
@BindView
(
R2
.
id
.
viewPager
2
)
ViewPager2
v
Pager2Fine
;
public
static
FineFragment
newInstance
()
{
FineFragment
fragment
=
new
FineFragment
();
return
fragment
;
}
private
String
[]
mFineTitles
=
{
"口味"
,
"信息"
};
private
FineChildAllFragment
modSasteFineItemFragment
,
modMsgFineItemFragment
;
private
LoadFineEvent
mLoadFineEvent
;
@Override
public
void
setupFragmentComponent
(
@NonNull
AppComponent
appComponent
)
{
...
...
@@ -69,6 +80,56 @@ public class FineFragment extends BaseFragment<FinePresenter> implements FineCon
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
initViewPager
();
}
private
void
initViewPager
()
{
List
<
Fragment
>
fragments
=
new
ArrayList
<>();
modSasteFineItemFragment
=
FineChildAllFragment
.
newInstance
();
modMsgFineItemFragment
=
FineChildAllFragment
.
newInstance
();
fragments
.
add
(
modSasteFineItemFragment
);
fragments
.
add
(
modMsgFineItemFragment
);
//实例化适配器
ViewPager2Adapter
viewPager2Adapter
=
new
ViewPager2Adapter
(
_mActivity
,
fragments
);
//设置Viewpager2的适配器
vPager2Fine
.
setAdapter
(
viewPager2Adapter
);
//TabLayout綁定Viewpager2
TabLayoutMediator
tab
=
new
TabLayoutMediator
(
tabFine
,
vPager2Fine
,
true
,
new
TabLayoutMediator
.
TabConfigurationStrategy
()
{
@Override
public
void
onConfigureTab
(
@NonNull
TabLayout
.
Tab
tab
,
int
position
)
{
tab
.
setText
(
mFineTitles
[
position
]);
}
});
tab
.
attach
();
tabFine
.
addOnTabSelectedListener
(
new
TabLayout
.
OnTabSelectedListener
()
{
@Override
public
void
onTabSelected
(
TabLayout
.
Tab
tab
)
{
int
position
=
tab
.
getPosition
();
if
(
mLoadFineEvent
!=
null
)
{
mLoadFineEvent
.
setCurrFinePage
(
position
);
EventBus
.
getDefault
().
post
(
mLoadFineEvent
,
FineChildAllFragment
.
LOAD_FINE_DATA_EVENT
);
}
}
@Override
public
void
onTabUnselected
(
TabLayout
.
Tab
tab
)
{
}
@Override
public
void
onTabReselected
(
TabLayout
.
Tab
tab
)
{
}
});
}
public
void
updateFineData
(
LoadFineEvent
fineEvent
)
{
this
.
mLoadFineEvent
=
fineEvent
;
}
public
void
setCurrentItem
(
int
currFinePage
)
{
vPager2Fine
.
setCurrentItem
(
currFinePage
);
}
@Override
...
...
@@ -103,6 +164,8 @@ public class FineFragment extends BaseFragment<FinePresenter> implements FineCon
@Override
public
void
killMyself
()
{
_mActivity
.
onBackPressedSupport
();
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/MealDiscountFragment.java
View file @
29e0b2b3
...
...
@@ -22,8 +22,10 @@ import com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.MealDiscountPresen
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.discount.CouponFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.discount.NomalDiscountFragment
;
import
com.gingersoft.gsa.cloud.ui.adapter.TabFragmentAdapter
;
import
com.gingersoft.gsa.cloud.ui.adapter.ViewPager2Adapter
;
import
com.gingersoft.gsa.cloud.ui.view.MyTableView
;
import
com.google.android.material.tabs.TabLayout
;
import
com.google.android.material.tabs.TabLayoutMediator
;
import
com.jess.arms.base.BaseFragment
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
...
...
@@ -53,14 +55,12 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
*/
public
class
MealDiscountFragment
extends
BaseFragment
<
MealDiscountPresenter
>
implements
MealDiscountContract
.
View
{
@BindView
(
R2
.
id
.
tab_segment
)
MyTableView
tabSegment
;
@BindView
(
R2
.
id
.
viewPager
)
ViewPager
viewPager
;
@Inject
List
<
String
>
mTabTitles
;
@BindView
(
R2
.
id
.
tabLayout
)
MyTableView
tabLayout
;
@BindView
(
R2
.
id
.
viewPager2
)
ViewPager2
viewPager2
;
private
String
[]
mTabTitles
=
{
"折扣"
,
"優惠券"
};
public
static
MealDiscountFragment
newInstance
()
{
MealDiscountFragment
fragment
=
new
MealDiscountFragment
();
...
...
@@ -85,33 +85,29 @@ public class MealDiscountFragment extends BaseFragment<MealDiscountPresenter> im
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
initTabTitles
();
initViewPager
();
}
private
void
initTabTitles
()
{
mTabTitles
.
add
(
"折扣"
);
MemberInfo
memberInfo
=
DoshokuOrder
.
getInstance
().
getMemberInfo
();
if
(
memberInfo
!=
null
)
{
mTabTitles
.
add
(
"優惠券"
);
}
tabSegment
.
setTitles
(
mTabTitles
);
}
private
void
initViewPager
()
{
List
<
Fragment
>
fragments
=
new
ArrayList
<>();
fragments
.
add
(
NomalDiscountFragment
.
newInstance
());
fragments
.
add
(
CouponFragment
.
newInstance
(
CouponFragment
.
FOOD_LIMIT_DISCOUNT
));
MemberInfo
memberInfo
=
DoshokuOrder
.
getInstance
().
getMemberInfo
();
if
(
memberInfo
!=
null
)
{
fragments
.
add
(
CouponFragment
.
newInstance
(
CouponFragment
.
FOOD_LIMIT_DISCOUNT
));
}
//实例化适配器
TabFragmentAdapter
mTabFragmentAdapter
=
new
TabFragmentAdapter
(
getParentFragmentManager
(),
1
);
//设置加载的Fragment集合
mTabFragmentAdapter
.
setFragments
(
fragments
);
//设置Viewpager的适配器
viewPager
.
setAdapter
(
mTabFragmentAdapter
);
//TabLayout绑定ViewPager
tabSegment
.
setTitles
(
mTabTitles
).
setupWithViewPager
(
viewPager
);
ViewPager2Adapter
viewPager2Adapter
=
new
ViewPager2Adapter
(
_mActivity
,
fragments
);
//设置Viewpager2的适配器
viewPager2
.
setAdapter
(
viewPager2Adapter
);
//TabLayout綁定Viewpager2
TabLayoutMediator
tab
=
new
TabLayoutMediator
(
tabLayout
,
viewPager2
,
true
,
new
TabLayoutMediator
.
TabConfigurationStrategy
()
{
@Override
public
void
onConfigureTab
(
@NonNull
TabLayout
.
Tab
tab
,
int
position
)
{
tab
.
setText
(
mTabTitles
[
position
]);
}
});
tab
.
attach
();
}
@Override
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/RiceponMemberDialogFragment.java
View file @
29e0b2b3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
fragment
.
mealstand
;
import
android.content.Intent
;
import
android.graphics.Color
;
import
android.graphics.drawable.ColorDrawable
;
import
android.os.Bundle
;
import
android.os.Parcelable
;
import
android.text.TextUtils
;
import
android.view.Gravity
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.WindowManager
;
import
android.widget.ImageView
;
import
android.widget.LinearLayout
;
...
...
@@ -19,8 +23,10 @@ import com.billy.cc.core.component.CC;
import
com.gingersoft.gsa.cloud.common.core.member.MemberInfo
;
import
com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager
;
import
com.gingersoft.gsa.cloud.common.core.table.TableBean
;
import
com.gingersoft.gsa.cloud.common.scan.ScanHelper
;
import
com.gingersoft.gsa.cloud.common.utils.LanguageUtils
;
import
com.gingersoft.gsa.cloud.component.ComponentName
;
import
com.gingersoft.gsa.cloud.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerRiceponMemberDialogComponent
;
...
...
@@ -38,6 +44,7 @@ import com.jess.arms.utils.ArmsUtils;
import
com.jess.arms.utils.DeviceUtils
;
import
com.jess.arms.utils.PermissionUtil
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaButton
;
import
com.qmuiteam.qmui.util.QMUIDisplayHelper
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
com.rengwuxian.materialedittext.MaterialEditText
;
import
com.tbruyelle.rxpermissions2.RxPermissions
;
...
...
@@ -137,6 +144,18 @@ public class RiceponMemberDialogFragment extends BaseDialogFragment<RiceponMembe
initAdapter
();
}
@Override
public
void
onStart
()
{
super
.
onStart
();
mWindow
.
setBackgroundDrawable
(
new
ColorDrawable
(
Color
.
TRANSPARENT
));
WindowManager
.
LayoutParams
lp
=
mWindow
.
getAttributes
();
lp
.
width
=
WindowManager
.
LayoutParams
.
MATCH_PARENT
;
lp
.
height
=
(
int
)
(
QMUIDisplayHelper
.
getScreenHeight
(
mContext
)
*
0.6
);
lp
.
gravity
=
Gravity
.
BOTTOM
;
lp
.
windowAnimations
=
android
.
R
.
style
.
Animation_InputMethod
;
mWindow
.
setAttributes
(
lp
);
}
private
void
initAdapter
()
{
if
(
mMemberInfoAdapter
!=
null
)
{
recyclerMemeberInfo
.
setAdapter
(
mMemberInfoAdapter
);
...
...
@@ -244,15 +263,6 @@ public class RiceponMemberDialogFragment extends BaseDialogFragment<RiceponMembe
}
}
public
void
showBottomLayoutVisibility
(
boolean
show
)
{
llBottom
.
setVisibility
(
show
?
View
.
VISIBLE
:
View
.
GONE
);
btnScan
.
setVisibility
(!
show
?
View
.
VISIBLE
:
View
.
GONE
);
}
private
String
getTvPhone
()
{
return
edPhone
.
getText
().
toString
();
}
@Override
public
void
returnMemberInfo
(
MemberInfo
memberInfo
)
{
this
.
mMemberInfo
=
memberInfo
;
...
...
@@ -265,6 +275,28 @@ public class RiceponMemberDialogFragment extends BaseDialogFragment<RiceponMembe
showBottomLayoutVisibility
(
true
);
}
@Override
public
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
@Nullable
Intent
data
)
{
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
if
(
requestCode
==
ScanHelper
.
CALL_BACK_QR_RESULT
)
{
String
qrCodeResult
=
data
.
getStringExtra
(
"qrCodeResult"
);
if
(
TextUtils
.
isEmpty
(
qrCodeResult
))
{
return
;
}
TableBean
.
DataBean
dataBean
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
mPresenter
.
queryMember
(
1
,
qrCodeResult
,
RestaurantInfoManager
.
newInstance
().
getGsPosShopId
(),
dataBean
.
getId
(),
dataBean
.
getTableNumber
());
}
}
public
void
showBottomLayoutVisibility
(
boolean
show
)
{
llBottom
.
setVisibility
(
show
?
View
.
VISIBLE
:
View
.
GONE
);
btnScan
.
setVisibility
(!
show
?
View
.
VISIBLE
:
View
.
GONE
);
}
private
String
getTvPhone
()
{
return
edPhone
.
getText
().
toString
();
}
public
void
clearMemberInfo
()
{
this
.
mMemberInfo
=
null
;
if
(
onUseMemberListener
!=
null
)
{
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/SetMealFragment.java
View file @
29e0b2b3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
fragment
.
mealstand
;
import
android.app.Activity
;
import
android.app.Application
;
import
android.app.Dialog
;
import
android.content.Intent
;
import
android.graphics.Color
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.text.TextUtils
;
import
android.util.SparseArray
;
...
...
@@ -10,6 +12,7 @@ import android.view.LayoutInflater;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.Button
;
import
android.widget.FrameLayout
;
import
android.widget.ImageButton
;
import
android.widget.ImageView
;
import
android.widget.LinearLayout
;
...
...
@@ -23,14 +26,23 @@ import androidx.recyclerview.widget.DefaultItemAnimator;
import
androidx.recyclerview.widget.GridLayoutManager
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.viewpager
.widget.ViewPager
;
import
androidx.viewpager
2.widget.ViewPager2
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.app.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.common.constans.ExpandConstant
;
import
com.gingersoft.gsa.cloud.common.constans.FoodSummaryConstans
;
import
com.gingersoft.gsa.cloud.common.constans.MealConstant
;
import
com.gingersoft.gsa.cloud.common.constans.PrintConstans
;
import
com.gingersoft.gsa.cloud.common.core.member.MemberInfo
;
import
com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager
;
import
com.gingersoft.gsa.cloud.common.core.restaurant.utils.RestaurantExpandInfoUtils
;
import
com.gingersoft.gsa.cloud.common.core.table.TableBean
;
import
com.gingersoft.gsa.cloud.common.logan.LoganManager
;
import
com.gingersoft.gsa.cloud.common.scan.ScanHelper
;
import
com.gingersoft.gsa.cloud.common.utils.LanguageUtils
;
import
com.gingersoft.gsa.cloud.common.utils.other.SPUtils
;
import
com.gingersoft.gsa.cloud.component.ComponentName
;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
...
...
@@ -41,39 +53,51 @@ import com.gingersoft.gsa.cloud.order.commodity.OrderDetail;
import
com.gingersoft.gsa.cloud.order.discount.MultyDiscount
;
import
com.gingersoft.gsa.cloud.order.order.BaseOrder
;
import
com.gingersoft.gsa.cloud.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.print.bean.PrintContent
;
import
com.gingersoft.gsa.cloud.print.bean.adapter.PrintContentAdapter
;
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.model.bean.FoodReason
;
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.bean.event.LoadFineEvent
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.SetMealPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity2
;
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
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ModifierAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.CancelFoodDialog
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.ChooseNumberDialog
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.CustomFoodDialog
;
import
com.gingersoft.gsa.cloud.ui.adapter.TabFragmentAdapter
;
import
com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerConfig
;
import
com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridLayoutManager
;
import
com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridSnapHelper
;
import
com.gingersoft.gsa.cloud.ui.view.MyTableView
;
import
com.gingersoft.gsa.cloud.ui.view.SearchKeyBoardView
;
import
com.gingersoft.gsa.cloud.ui.view.base.NoScrollRecyclerView
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.BaseRetryDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
import
com.jess.arms.base.BaseFragment
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.base.delegate.IActivity
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaTextView
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialog
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialogAction
;
import
org.simple.eventbus.EventBus
;
import
org.simple.eventbus.Subscriber
;
import
org.simple.eventbus.ThreadMode
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
import
javax.inject.Inject
;
...
...
@@ -100,6 +124,9 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
*/
public
class
SetMealFragment
extends
BaseFragment
<
SetMealPresenter
>
implements
SetMealContract
.
View
,
PagerGridLayoutManager
.
PageListener
{
@Inject
Application
mApplication
;
@BindView
(
R2
.
id
.
btn_table
)
Button
btnTable
;
@BindView
(
R2
.
id
.
btn_numberman
)
...
...
@@ -114,8 +141,8 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
TextView
btnMealDiscount
;
@BindView
(
R2
.
id
.
btn_multiple_selection
)
TextView
btnMultipleSelection
;
@BindView
(
R2
.
id
.
ll_m
m
)
LinearLayout
llM
m
;
@BindView
(
R2
.
id
.
ll_m
eal_function
)
LinearLayout
llM
ealFunction
;
@BindView
(
R2
.
id
.
rv_select_meal
)
RecyclerView
rvSelectMeal
;
@BindView
(
R2
.
id
.
ll_meals_main
)
...
...
@@ -152,18 +179,27 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
NoScrollRecyclerView
rvModifier
;
@BindView
(
R2
.
id
.
scroll_combo
)
NestedScrollView
scrollCombo
;
@BindView
(
R2
.
id
.
ll_fine
)
LinearLayout
llFine
;
@BindView
(
R2
.
id
.
tab_fine
)
MyTableView
tabFine
;
@BindView
(
R2
.
id
.
pager_fine
)
ViewPager
pagerFine
;
ViewPager2
vPager2Fine
;
@BindView
(
R2
.
id
.
meal_stand_search_keyboard_view
)
SearchKeyBoardView
mealStandSearchKeyboardView
;
@BindView
(
R2
.
id
.
fl_discount_fragment
)
FrameLayout
flDiscountFragment
;
// @BindView(R2.id.fl_fine_fragment)
// FrameLayout flFineFragment;
@BindView
(
R2
.
id
.
btn_select_all
)
QMUIAlphaTextView
btnSelectAll
;
@BindView
(
R2
.
id
.
btn_anti_selection
)
QMUIAlphaTextView
btnAntiSelection
;
@BindView
(
R2
.
id
.
btn_taste
)
QMUIAlphaTextView
btnTaste
;
QMUIAlphaTextView
btnTaste
AndMsg
;
@BindView
(
R2
.
id
.
btn_msg
)
QMUIAlphaTextView
btnMsg
;
@BindView
(
R2
.
id
.
btn_delete
)
...
...
@@ -184,9 +220,6 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
@Inject
ModifierAdapter
mModifierAdapter
;
@Named
(
"foodGridLayoutManager"
)
@Inject
GridLayoutManager
mFoodRecycleLayoutManager
;
@Named
(
"comboGridLayoutManager"
)
@Inject
GridLayoutManager
mComboRecycleLayoutManager
;
...
...
@@ -194,14 +227,9 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
@Inject
GridLayoutManager
mModifierRecycleLayoutManager
;
private
SparseArray
<
View
>
map
=
new
SparseArray
<>(
10
);
private
MealStandActivity2
mActivity
;
public
static
final
byte
FOOD_LAYOUT
=
1
;
public
static
final
byte
COMBO_LAYOUT
=
2
;
public
static
final
byte
FINE_LAYOUT
=
3
;
private
byte
mCurrLayout
=
FOOD_LAYOUT
;
public
static
final
String
SET_CURR_LAYOUT_EVENT
=
"setCurrLayoutEvent"
;
...
...
@@ -209,10 +237,6 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
private
boolean
isPluMode
=
false
;
/**
* 是否已初始化 公共細項佈局
*/
private
boolean
initFineLayout
=
false
;
/**
* 是否已初始化 已送單的折扣
*/
private
boolean
initSentOrderDiscount
=
false
;
...
...
@@ -226,6 +250,9 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
private
int
comboColumn
=
4
;
private
int
modColumn
=
4
;
private
CancelFoodDialog
mCancelFoodDialog
;
private
ChooseNumberDialog
mChooseNumberDialog
;
public
static
SetMealFragment
newInstance
()
{
SetMealFragment
fragment
=
new
SetMealFragment
();
return
fragment
;
...
...
@@ -254,8 +281,9 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
initViewMap
();
initAdapter
();
initLayoutManager
();
init
Item
ClickListener
();
initClickListener
();
mPresenter
.
initMealData
();
mPresenter
.
getCurrentSoldoutFood
();
}
@Override
...
...
@@ -269,18 +297,9 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
@Override
@Subscriber
(
tag
=
SET_CURR_LAYOUT_EVENT
,
mode
=
ThreadMode
.
MAIN
)
public
void
setCurrLayout
(
byte
layout
)
{
mCurrLayout
=
layout
;
switch
(
layout
)
{
case
COMBO_LAYOUT:
showViewModeVisibility
(
MealConstant
.
combo_ViewMode
);
break
;
case
FINE_LAYOUT:
showViewModeVisibility
(
MealConstant
.
fine_ViewMode
);
break
;
default
:
showViewModeVisibility
(
MealConstant
.
food_group_ViewMode
,
MealConstant
.
food_ViewMode
);
break
;
public
void
setCurrViewMode
(
int
...
viewMode
)
{
if
(!
isCurrViewMode
(
viewMode
))
{
showViewModeVisibility
(
viewMode
);
}
}
...
...
@@ -296,7 +315,9 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
map
.
put
(
MealConstant
.
food_group_ViewMode
,
llFoodGroup
);
map
.
put
(
MealConstant
.
food_ViewMode
,
rvFood
);
map
.
put
(
MealConstant
.
combo_ViewMode
,
scrollCombo
);
map
.
put
(
MealConstant
.
discount_ViewMode
,
flDiscountFragment
);
map
.
put
(
MealConstant
.
fine_ViewMode
,
llFine
);
map
.
put
(
MealConstant
.
keys_viewMode
,
mealStandSearchKeyboardView
);
}
private
void
initTableInfo
()
{
...
...
@@ -328,10 +349,6 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
}
private
void
initLayoutManager
()
{
if
(
mFoodRecycleLayoutManager
!=
null
)
{
rvFood
.
setLayoutManager
(
mFoodRecycleLayoutManager
);
rvFood
.
setItemAnimator
(
new
DefaultItemAnimator
());
}
if
(
mComboRecycleLayoutManager
!=
null
)
{
rvCombo
.
setLayoutManager
(
mComboRecycleLayoutManager
);
rvCombo
.
setItemAnimator
(
new
DefaultItemAnimator
());
...
...
@@ -342,94 +359,120 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
}
}
public
void
initItemClickListener
()
{
mFoodAdapter
.
setOnItemClickListener
(
new
FoodAdapter
.
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
Food
datasBean
,
int
position
)
{
mActivity
.
recordOperat
(
true
);
mPresenter
.
foodItemClick
(
datasBean
);
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_ADD
+
"食品【"
+
datasBean
.
getFoodName
()
+
"】"
);
public
void
initClickListener
()
{
mFoodAdapter
.
setOnItemClickListener
((
datasBean
,
position
)
->
{
recordOperat
(
true
);
mPresenter
.
foodItemClick
(
datasBean
);
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_ADD
+
"食品【"
+
datasBean
.
getFoodName
()
+
"】"
);
});
mComboAdapter
.
setOnItemClickListener
((
datasBean
,
position
)
->
{
recordOperat
(
true
);
mPresenter
.
comboItemClick
(
datasBean
);
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_ADD
+
"子食品【"
+
datasBean
.
getName
()
+
"】"
);
});
mModifierAdapter
.
setOnItemClickListener
((
datasBean
,
position
)
->
{
recordOperat
(
true
);
mPresenter
.
modifierItemClick
(
datasBean
);
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_ADD
+
"細項【"
+
datasBean
.
getName
()
+
"】"
);
});
//Plu鍵盤
mealStandSearchKeyboardView
.
setOnConfirmCallBack
((
inputText
)
->
{
recordOperat
(
true
);
if
(
TextUtils
.
isEmpty
(
inputText
))
{
return
;
}
mPresenter
.
toFindMeal
(
inputText
);
});
//送單
mActivity
.
setSendOrderListener
(()
->
{
recordOperat
(
true
);
mPresenter
.
sendOrder
(
false
,
null
);
});
mComboAdapter
.
setOnItemClickListener
(
new
ComboAdapter
.
OnItemClickListener
()
{
}
@Override
public
void
initFoodGroupAdapter
(
List
<
Food
>
foodGroupList
)
{
//总的页数向上取整
totalPage
=
(
int
)
Math
.
ceil
(
foodGroupList
.
size
()
*
1.0
/
(
foodGroupColumn
*
foodGroupRow
));
int
rows
=
foodGroupRow
;
if
(
foodGroupList
.
size
()
<=
foodGroupColumn
)
{
rows
=
1
;
}
if
(
rows
==
0
)
{
rows
=
2
;
}
PagerGridLayoutManager
layoutManager
=
new
PagerGridLayoutManager
(
rows
,
foodGroupColumn
,
PagerGridLayoutManager
.
HORIZONTAL
);
//水平分页布局管理器
layoutManager
.
setPageListener
(
this
);
//设置页面变化监听器
rvFoodGroup
.
setLayoutManager
(
layoutManager
);
//设置滚动辅助工具
PagerGridSnapHelper
pageSnapHelper
=
new
PagerGridSnapHelper
();
pageSnapHelper
.
attachToRecyclerView
(
rvFoodGroup
);
// 如果需要查看调试日志可以设置为true,一般情况忽略即可
PagerConfig
.
setShowLog
(
true
);
rvFoodGroup
.
setAdapter
(
mFoodGroupAdapter
);
mFoodGroupAdapter
.
setOnItemClickListener
(
new
FoodGroupAdapter
.
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
ComboItem
datasBean
,
int
position
)
{
mActivity
.
recordOperat
(
true
);
mPresenter
.
comboItemClick
(
datasBean
);
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_ADD
+
"子食品【"
+
datasBean
.
getName
()
+
"】"
);
public
void
onItemClick
(
Food
datasBean
,
int
position
)
{
recordOperat
(
true
);
mPresenter
.
foodGroupItemClick
(
datasBean
);
}
});
mModifierAdapter
.
setOnItemClickListener
(
new
ModifierAdapter
.
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
Modifier
datasBean
,
int
position
)
{
mActivity
.
recordOperat
(
true
);
mPresenter
.
modifierItemClick
(
datasBean
);
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_ADD
+
"細項【"
+
datasBean
.
getName
()
+
"】"
);
int
foodGroupBtnHeight
=
GsaCloudApplication
.
uiStyleConfiguration
.
getFoodGroupBtnHeightValue
();
int
mParentColHeight
=
foodGroupBtnHeight
*
rows
;
//设置ViewPager适配器
rvFoodGroup
.
setLayoutParams
(
new
LinearLayout
.
LayoutParams
(
ViewGroup
.
LayoutParams
.
MATCH_PARENT
,
mParentColHeight
));
//添加小圆点
ivPoints
=
new
ImageView
[
totalPage
];
for
(
int
i
=
0
;
i
<
totalPage
;
i
++)
{
//循坏加入点点图片组
ivPoints
[
i
]
=
new
ImageView
(
_mActivity
);
if
(
i
==
0
)
{
ivPoints
[
i
].
setImageResource
(
R
.
drawable
.
meal_food_group_point_focuese
);
}
else
{
ivPoints
[
i
].
setImageResource
(
R
.
drawable
.
meal_food_group_point_unfocused
);
}
});
LinearLayout
.
LayoutParams
lp
=
new
LinearLayout
.
LayoutParams
(
ArmsUtils
.
dip2px
(
mContext
,
20
),
ArmsUtils
.
dip2px
(
mContext
,
12
));
lp
.
leftMargin
=
ArmsUtils
.
dip2px
(
mContext
,
5
);
ivPoints
[
i
].
setLayoutParams
(
lp
);
ivPoints
[
i
].
setPadding
(
0
,
0
,
0
,
0
);
llFoodGroupPoint
.
addView
(
ivPoints
[
i
]);
}
if
(
foodGroupList
.
size
()
>
(
rows
*
foodGroupColumn
))
{
llFoodGroupPoint
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
llFoodGroupPoint
.
setVisibility
(
View
.
GONE
);
}
}
/**
* 显示公共細項
*/
public
void
showFineLayout
(
int
currFinePage
)
{
//没有初始化细项布局则初始化
if
(!
initFineLayout
)
{
initFineLayout
=
true
;
initFineViewPager
();
}
else
{
pagerFine
.
setCurrentItem
(
currFinePage
);
}
setCurrLayout
(
SetMealFragment
.
FINE_LAYOUT
);
}
private
void
initFineViewPager
()
{
String
[]
fineTitles
=
{
"口味"
,
"信息"
};
List
<
Fragment
>
mFragments
=
new
ArrayList
<>();
FineChildAllFragment
modSasteFineItemFragment
=
FineChildAllFragment
.
newInstance
();
FineChildAllFragment
modMsgFineItemFragment
=
FineChildAllFragment
.
newInstance
();
mFragments
.
add
(
modSasteFineItemFragment
);
mFragments
.
add
(
modMsgFineItemFragment
);
//实例化适配器
TabFragmentAdapter
mTabFragmentAdapter
=
new
TabFragmentAdapter
(
getChildFragmentManager
(),
1
);
//设置加载的Fragment集合
mTabFragmentAdapter
.
setFragments
(
mFragments
);
//设置Viewpager的适配器
pagerFine
.
setAdapter
(
mTabFragmentAdapter
);
//TabLayout绑定ViewPager
tabFine
.
setTitles
(
Arrays
.
asList
(
fineTitles
)).
setupWithViewPager
(
pagerFine
);
loadFineItemData
(
modSasteFineItemFragment
,
modMsgFineItemFragment
);
}
private
void
loadFineItemData
(
FineChildAllFragment
modMsgFineItemFragment
,
FineChildAllFragment
modSasteFineItemFragment
)
{
if
(
modMsgFineItemFragment
==
null
||
modSasteFineItemFragment
==
null
)
{
return
;
}
long
productId
=
0
;
if
(
mPresenter
.
getCurrentOrderDetailBean
()
!=
null
)
{
productId
=
mPresenter
.
getCurrentOrderDetailBean
().
getProductId
();
}
if
(
mPresenter
.
getSelectMealAdapter
().
getSelectedMode
()
==
SelectMealAdapter
.
SINGLE_SELECTED
)
{
modMsgFineItemFragment
.
loadModMsgData
(
productId
);
modSasteFineItemFragment
.
loadModSasteData
(
productId
);
}
else
{
modMsgFineItemFragment
.
loadModCommData
(
productId
);
modSasteFineItemFragment
.
loadModSasteData
(
productId
);
}
/**
* 設置沽清數據
*/
List
<
SoldoutCtrFood
>
slodoutListFull
=
mPresenter
.
getSoldoutCtrList
();
if
(
modMsgFineItemFragment
!=
null
)
{
modMsgFineItemFragment
.
setModifierSoldoutFoodList_Full
(
slodoutListFull
);
modMsgFineItemFragment
.
updateParentModifierSlodoutFoodList_Full
();
}
if
(
modSasteFineItemFragment
!=
null
)
{
modSasteFineItemFragment
.
setModifierSoldoutFoodList_Full
(
slodoutListFull
);
modSasteFineItemFragment
.
updateParentModifierSlodoutFoodList_Full
();
setCurrViewMode
(
MealConstant
.
fine_ViewMode
);
final
FineFragment
childFragment
=
findChildFragment
(
FineFragment
.
class
);
if
(
childFragment
!=
null
)
{
long
productId
=
0
;
if
(
mPresenter
.
getCurrentOrderDetailBean
()
!=
null
)
{
productId
=
mPresenter
.
getCurrentOrderDetailBean
().
getProductId
();
}
//選中模式
int
selectedMode
=
mPresenter
.
getSelectMealAdapter
().
getSelectedMode
();
//設置沽清數據
List
<
SoldoutCtrFood
>
soldoutCtrFoods
=
mPresenter
.
getSoldoutCtrList
();
LoadFineEvent
fineEvent
=
new
LoadFineEvent
();
fineEvent
.
setCurrFinePage
(
currFinePage
);
fineEvent
.
setProductId
(
productId
);
fineEvent
.
setSelectedMode
(
selectedMode
);
fineEvent
.
setSoldoutCtrFoods
(
soldoutCtrFoods
);
childFragment
.
updateFineData
(
fineEvent
);
childFragment
.
setCurrentItem
(
currFinePage
);
}
}
...
...
@@ -465,7 +508,72 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
@Override
public
void
killMyself
()
{
_mActivity
.
onBackPressedSupport
();
}
@Override
public
void
showChoosePeopleNumDialog
(
boolean
isNeedCancel
)
{
ChooseNumberDialog
chooseNumberDialog
=
new
ChooseNumberDialog
(
_mActivity
);
chooseNumberDialog
.
builder
();
chooseNumberDialog
.
setValueHint
(
"請輸入人數"
);
if
(!
isNeedCancel
)
{
chooseNumberDialog
.
setOnBackClickListener
(
new
ChooseNumberDialog
.
OnBackClickListener
()
{
@Override
public
void
OnBackClick
()
{
recordOperat
(
true
);
returnTableActivity
(
true
);
}
});
}
chooseNumberDialog
.
setOnClickListener
(
new
ChooseNumberDialog
.
OnClickListener
()
{
@Override
public
void
onComfirmClick
(
String
number
)
{
recordOperat
(
true
);
TableBean
.
DataBean
dataBean
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
int
maxSeatCount
=
0
;
if
(
dataBean
!=
null
)
{
maxSeatCount
=
dataBean
.
getMaxSeatCount
();
}
if
(
maxSeatCount
!=
0
&&
maxSeatCount
<
Integer
.
parseInt
(
number
))
{
showMessage
(
"最大就餐人數不能超過"
+
maxSeatCount
+
"人!"
);
return
;
}
mPresenter
.
updateOrderPerson
(
number
,
btnNumberman
);
}
@Override
public
void
onBackPage
()
{
returnTableActivity
(
true
);
}
});
chooseNumberDialog
.
setCancelable
(
isNeedCancel
);
chooseNumberDialog
.
show
();
}
@Override
public
void
showCancelFoodDialog
(
OrderDetail
deleteFood
)
{
if
(
mCancelFoodDialog
==
null
)
{
mCancelFoodDialog
=
new
CancelFoodDialog
(
_mActivity
);
mCancelFoodDialog
.
setOnClickListener
(
new
CancelFoodDialog
.
OnClickListener
()
{
@Override
public
void
onItemClick
(
FoodReason
item
,
int
position
,
int
deleteNumber
)
{
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_CLICK
+
"刪除原因="
+
item
.
getContent
());
showDeleteFoodSureDialog
(
deleteFood
.
getNumber
(),
deleteNumber
,
item
.
getId
(),
item
.
getContent
());
}
});
mCancelFoodDialog
.
setOnRetryListener
(
new
BaseRetryDialog
.
OnRetryListener
()
{
@Override
public
void
onRetryClick
()
{
mPresenter
.
getRestaurantFoodReason
();
}
});
}
mCancelFoodDialog
.
setMaxCancelNumber
(
deleteFood
.
getNumber
());
mCancelFoodDialog
.
build
().
show
();
mPresenter
.
getRestaurantFoodReason
();
}
@Override
...
...
@@ -486,6 +594,28 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
.
show
();
}
private
void
showDeleteFoodSureDialog
(
int
maxNumber
,
int
deleteNumber
,
int
reasonId
,
String
reason
)
{
QMUIDialog
.
MessageDialogBuilder
dialogBuilder
=
new
QMUIDialog
.
MessageDialogBuilder
(
_mActivity
);
dialogBuilder
.
setTitleIcon
(
R
.
drawable
.
qmui_icon_dialog_doubt
);
dialogBuilder
.
setMessage
(
"是否確認取消該食品?"
+
"\n取消原因 ["
+
reason
+
"]"
);
dialogBuilder
.
addAction
(
0
,
"確認"
,
QMUIDialogAction
.
ACTION_PROP_NEGATIVE
,
(
dialog
,
index
)
->
{
dialog
.
dismiss
();
if
(
mCancelFoodDialog
!=
null
)
{
mCancelFoodDialog
.
build
().
dismiss
();
mCancelFoodDialog
=
null
;
}
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_CLICK
+
"確刪除"
);
mPresenter
.
markDeleteFood
(
maxNumber
,
deleteNumber
,
reasonId
,
reason
);
});
dialogBuilder
.
addAction
(
"取消"
,
(
dialog
,
index
)
->
dialog
.
dismiss
());
dialogBuilder
.
create
(
R
.
style
.
MyDialogTheme2
).
show
();
}
@Override
public
CancelFoodDialog
getCancelFoodDialog
()
{
return
mCancelFoodDialog
;
}
@Override
public
void
setFoodGroupRecycleSpanCount
(
int
size
)
{
notifyFoodGroupAdapter
();
...
...
@@ -494,14 +624,15 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
@Override
public
void
setFoodRecycleSpanCount
(
int
size
)
{
if
(
size
>
0
)
{
GridLayoutManager
foodRecycleLayoutManager
;
if
(
size
>=
foodColumn
)
{
mFoodRecycleLayoutManager
.
setOrientation
(
LinearLayoutManager
.
VERTICAL
);
mFoodRecycleLayoutManager
.
setSpanCount
(
foodColumn
);
foodRecycleLayoutManager
=
new
GridLayoutManager
(
mContext
,
foodColumn
,
LinearLayoutManager
.
VERTICAL
,
false
);
}
else
{
//只有一行就使用水平显示以免不能占满
mFoodRecycleLayoutManager
.
setOrientation
(
LinearLayoutManager
.
HORIZONTAL
);
foodRecycleLayoutManager
=
new
GridLayoutManager
(
mContext
,
1
,
LinearLayoutManager
.
HORIZONTAL
,
false
);
}
rvFood
.
setLayoutManager
(
mFoodRecycleLayoutManager
);
rvFood
.
setLayoutManager
(
foodRecycleLayoutManager
);
rvFood
.
setItemAnimator
(
new
DefaultItemAnimator
());
}
notifyFoodAdapter
();
}
...
...
@@ -542,7 +673,7 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
map
.
get
(
mode
).
setVisibility
(
View
.
VISIBLE
);
}
//設置當前模式為輸入Plu模式
if
(
viewMode
!=
null
&&
viewMode
[
0
]
==
MealConstant
.
ViewMode_keys
)
{
if
(
viewMode
!=
null
&&
viewMode
[
0
]
==
MealConstant
.
keys_viewMode
)
{
isPluMode
=
true
;
}
else
{
isPluMode
=
false
;
...
...
@@ -553,7 +684,7 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
showModifyLayoutVisibility
(
false
);
break
;
case
MealConstant
.
combo_ViewMode
:
// case MealConstant.modifier
_ViewMode:
case
MealConstant
.
discount
_ViewMode
:
case
MealConstant
.
fine_ViewMode
:
showModifyLayoutVisibility
(
true
);
break
;
...
...
@@ -579,7 +710,7 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
@Override
public
void
setOrderFoodCount
(
String
number
)
{
getActivity2
()
.
setOrderFoodCount
(
number
);
mActivity
.
setOrderFoodCount
(
number
);
}
@Override
...
...
@@ -591,7 +722,7 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
public
void
setPluMode
()
{
isPluMode
=
(
boolean
)
SPUtils
.
get
(
MealConstant
.
EXIT_IS_PLU_MODE
,
false
);
if
(
isPluMode
)
{
showViewModeVisibility
(
MealConstant
.
ViewMode_keys
);
showViewModeVisibility
(
MealConstant
.
keys_viewMode
);
btnFid
.
setBackgroundColor
(
ArmsUtils
.
getColor
(
mContext
,
R
.
color
.
theme_hint_color
));
}
else
{
btnFid
.
setBackground
(
ArmsUtils
.
getDrawablebyResource
(
mContext
,
R
.
drawable
.
ui_selector_item_background
));
...
...
@@ -616,65 +747,6 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
}
@Override
public
void
initFoodGroupAdapter
(
List
<
Food
>
foodGroupList
)
{
//总的页数向上取整
totalPage
=
(
int
)
Math
.
ceil
(
foodGroupList
.
size
()
*
1.0
/
(
foodGroupColumn
*
foodGroupRow
));
int
rows
=
foodGroupRow
;
if
(
foodGroupList
.
size
()
<=
foodGroupColumn
)
{
rows
=
1
;
}
if
(
rows
==
0
)
{
rows
=
2
;
}
PagerGridLayoutManager
mLayoutManager
=
new
PagerGridLayoutManager
(
rows
,
foodGroupColumn
,
PagerGridLayoutManager
.
HORIZONTAL
);
//水平分页布局管理器
mLayoutManager
.
setPageListener
(
this
);
//设置页面变化监听器
rvFoodGroup
.
setLayoutManager
(
mLayoutManager
);
//设置滚动辅助工具
PagerGridSnapHelper
pageSnapHelper
=
new
PagerGridSnapHelper
();
pageSnapHelper
.
attachToRecyclerView
(
rvFoodGroup
);
// 如果需要查看调试日志可以设置为true,一般情况忽略即可
PagerConfig
.
setShowLog
(
true
);
mFoodGroupAdapter
.
setFoodGroupList
(
foodGroupList
);
rvFoodGroup
.
setAdapter
(
mFoodGroupAdapter
);
mFoodGroupAdapter
.
setOnItemClickListener
(
new
FoodGroupAdapter
.
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
Food
datasBean
,
int
position
)
{
recordOperat
(
true
);
mPresenter
.
foodGroupItemClick
(
datasBean
);
}
});
int
foodGroupBtnHeight
=
GsaCloudApplication
.
uiStyleConfiguration
.
getFoodGroupBtnHeightValue
();
int
mParentColHeight
=
foodGroupBtnHeight
*
rows
;
//设置ViewPager适配器
rvFoodGroup
.
setLayoutParams
(
new
LinearLayout
.
LayoutParams
(
ViewGroup
.
LayoutParams
.
MATCH_PARENT
,
mParentColHeight
));
//添加小圆点
ivPoints
=
new
ImageView
[
totalPage
];
for
(
int
i
=
0
;
i
<
totalPage
;
i
++)
{
//循坏加入点点图片组
ivPoints
[
i
]
=
new
ImageView
(
_mActivity
);
if
(
i
==
0
)
{
ivPoints
[
i
].
setImageResource
(
R
.
drawable
.
meal_food_group_point_focuese
);
}
else
{
ivPoints
[
i
].
setImageResource
(
R
.
drawable
.
meal_food_group_point_unfocused
);
}
LinearLayout
.
LayoutParams
lp
=
new
LinearLayout
.
LayoutParams
(
ArmsUtils
.
dip2px
(
mContext
,
20
),
ArmsUtils
.
dip2px
(
mContext
,
12
));
lp
.
leftMargin
=
ArmsUtils
.
dip2px
(
mContext
,
5
);
ivPoints
[
i
].
setLayoutParams
(
lp
);
ivPoints
[
i
].
setPadding
(
0
,
0
,
0
,
0
);
llFoodGroupPoint
.
addView
(
ivPoints
[
i
]);
}
if
(
foodGroupList
.
size
()
>
(
rows
*
foodGroupColumn
))
{
llFoodGroupPoint
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
llFoodGroupPoint
.
setVisibility
(
View
.
GONE
);
}
}
@Override
public
void
notifyFoodGroupAdapter
()
{
mFoodGroupAdapter
.
notifyDataSetChanged
();
}
...
...
@@ -696,7 +768,7 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
@Override
public
MealStandActivity2
getActivity2
()
{
return
(
MealStandActivity2
)
_
mActivity
;
return
mActivity
;
}
@Override
...
...
@@ -705,8 +777,13 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
}
@Override
public
void
recordOperat
(
boolean
isPressButtonSound
)
{
public
void
clearKeyBoardInput
()
{
mealStandSearchKeyboardView
.
clearInput
();
}
@Override
public
void
recordOperat
(
boolean
isPressButtonSound
)
{
mActivity
.
recordOperat
(
isPressButtonSound
);
}
@Override
...
...
@@ -720,85 +797,66 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
}
@OnLongClick
({
R2
.
id
.
btn_meal_delete
})
public
boolean
onLongClick1
(
View
view
)
{
public
boolean
onLongViewClick
(
View
view
)
{
//记录操作 并且震动
recordOperat
(
true
);
//
// int id = view.getId();
// if (id == R.id.btn_meal_delete) {
// mPresenter.deleteFoodItem(2);
// } else if (id == R.id.btn_order_printer) {
//
// }
int
id
=
view
.
getId
();
if
(
id
==
R
.
id
.
btn_meal_delete
)
{
mPresenter
.
deleteFoodItem
(
2
);
}
return
false
;
}
@OnClick
(
R2
.
id
.
btn_meal_discount
)
void
onClickDiscount
()
{
void
onDiscountViewClick
()
{
recordOperat
(
true
);
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_CLICK
+
"食品折扣"
);
OrderDetail
mainOrderDetail
=
mPresenter
.
getSelectMealAdapter
().
getCurrentMainOrderDetail
();
if
(
mainOrderDetail
!=
null
&&
mainOrderDetail
.
getAblediscount
()
==
0
)
{
showMessage
(
"此食品不能參與折扣!"
);
return
;
}
if
(
mActivity
.
findFragment
(
SetMealFragment
.
class
)
==
null
)
{
loadRootFragment
(
R
.
id
.
fl_meal_discount
,
MealDiscountFragment
.
newInstance
());
}
setCurrViewMode
(
MealConstant
.
discount_ViewMode
);
// //更新折扣数据
// mPresenter.loadDiscountData();
// showViewModeVisibility(MealConstant.discount_ViewMode);
}
@OnClick
(
R2
.
id
.
btn_multiple_selection
)
void
onClickMultipleSelection
()
{
// LoganManager.w_tableMode(TAG, LoganManager.EVENT_CLICK, "多选");
// currentFinePage = 0;
// if (mPresenter.getSelectMealAdapter().getSelectedMode() == SelectMealAdapter.MULTIPLE_SELECTED) {
// mPresenter.getSelectMealAdapter().setSelectedMode(SelectMealAdapter.SINGLE_SELECTED);
// btn_delete.setVisibility(View.VISIBLE);
// setSelectFunctionVisibility(View.GONE);
// } else {
// mPresenter.getSelectMealAdapter().setSelectedMode(SelectMealAdapter.MULTIPLE_SELECTED);
// btn_delete.setVisibility(View.GONE);
// setSelectFunctionVisibility(View.VISIBLE);
// loadFineItemData();
// }
// showRemarkLayout();
void
onMultipleSelectionViewClick
()
{
recordOperat
(
true
);
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_CLICK
,
"多选"
);
if
(
mPresenter
.
getSelectMealAdapter
().
getSelectedMode
()
==
SelectMealAdapter
.
MULTIPLE_SELECTED
)
{
mPresenter
.
getSelectMealAdapter
().
setSelectedMode
(
SelectMealAdapter
.
SINGLE_SELECTED
);
btnDelete
.
setVisibility
(
View
.
VISIBLE
);
setSelectFunctionVisibility
(
View
.
GONE
);
}
else
{
mPresenter
.
getSelectMealAdapter
().
setSelectedMode
(
SelectMealAdapter
.
MULTIPLE_SELECTED
);
btnDelete
.
setVisibility
(
View
.
GONE
);
setSelectFunctionVisibility
(
View
.
VISIBLE
);
}
showFineLayout
(
0
);
}
@OnClick
(
R2
.
id
.
btn_select_all
)
void
onClickSelectAll
()
{
void
onSelectAllViewClick
()
{
recordOperat
(
true
);
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_CLICK
,
"全選"
);
mPresenter
.
setSelectAll
();
}
@OnClick
(
R2
.
id
.
btn_anti_selection
)
void
onClickAntiSelection
()
{
void
onAntiSelectionViewClick
()
{
recordOperat
(
true
);
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_CLICK
,
"反選"
);
mPresenter
.
setAntiSelect
();
}
@OnClick
({
R2
.
id
.
btn_key1
,
R2
.
id
.
btn_key2
,
R2
.
id
.
btn_key3
,
R2
.
id
.
btn_key4
,
R2
.
id
.
btn_key5
,
R2
.
id
.
btn_keys
,
R2
.
id
.
btn_table
,
R2
.
id
.
btn_numberman
,
R2
.
id
.
btn_fid
,
R2
.
id
.
btn_meal_delete
,
R2
.
id
.
btn_meal_modify_restore
,
R2
.
id
.
btn_taste
,
R2
.
id
.
btn_msg
,
R2
.
id
.
btn_delete
,
R2
.
id
.
btn_end
})
public
void
onClick
(
View
v
)
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
LOLLIPOP
)
{
String
text
=
null
;
if
(
v
instanceof
Button
)
{
Button
button
=
(
Button
)
v
;
text
=
button
.
getText
().
toString
();
}
else
if
(
v
instanceof
TextView
)
{
TextView
textView
=
(
TextView
)
v
;
text
=
textView
.
getText
().
toString
();
}
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_CLICK
,
text
);
}
@OnClick
({
R2
.
id
.
btn_table
,
R2
.
id
.
btn_numberman
,
R2
.
id
.
btn_fid
,
R2
.
id
.
btn_meal_delete
,
R2
.
id
.
btn_meal_modify_restore
})
public
void
onMealFunctionViewClick
(
View
v
)
{
recordOperat
(
true
);
//防抖處理
int
id
=
v
.
getId
();
if
(
id
==
R
.
id
.
btn_table
)
{
showRiceponMemberDialogFragment
();
...
...
@@ -806,47 +864,60 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
if
(!
BaseOrder
.
isTableToMeal
())
{
return
;
}
//
showChoosePeopleNumDialog(true);
showChoosePeopleNumDialog
(
true
);
}
else
if
(
id
==
R
.
id
.
btn_fid
)
{
//搜索
if
(
mCurrentViewMode
==
MealConstant
.
ViewMode_keys
)
{
setCurrLayout
(
SetMealFragment
.
FOOD_LAYOUT
);
if
(
mCurrentViewMode
==
MealConstant
.
keys_viewMode
)
{
setCurrViewMode
(
MealConstant
.
food_group_ViewMode
,
MealConstant
.
food_ViewMode
);
SPUtils
.
put
(
MealConstant
.
EXIT_IS_PLU_MODE
,
false
);
}
else
{
s
howViewModeVisibility
(
MealConstant
.
ViewMode_keys
);
s
etCurrViewMode
(
MealConstant
.
keys_viewMode
);
SPUtils
.
put
(
MealConstant
.
EXIT_IS_PLU_MODE
,
true
);
}
setPluMode
();
}
else
if
(
id
==
R
.
id
.
btn_meal_delete
)
{
// if (mPresenter.getSelectMealAdapter().getSelectedMode() == SelectMealAdapter.MULTIPLE_SELECTED) {
// return;
// }
// mPresenter.deleteFoodItem(1);
setCurrLayout
(
SetMealFragment
.
FOOD_LAYOUT
);
SPUtils
.
put
(
MealConstant
.
EXIT_IS_PLU_MODE
,
false
);
mPresenter
.
deleteFoodItem
(
1
);
setCurrViewMode
(
MealConstant
.
food_group_ViewMode
,
MealConstant
.
food_ViewMode
);
setPluMode
();
SPUtils
.
put
(
MealConstant
.
EXIT_IS_PLU_MODE
,
false
);
}
else
if
(
id
==
R
.
id
.
btn_meal_modify_restore
)
{
//
mPresenter.restoreDeleteFood();
mPresenter
.
restoreDeleteFood
();
showBtnMealModifyRestoreVisibility
(
false
);
}
else
if
(
id
==
R
.
id
.
btn_taste
)
{
}
}
@OnClick
({
R2
.
id
.
btn_taste
,
R2
.
id
.
btn_msg
,
R2
.
id
.
btn_delete
,
R2
.
id
.
btn_end
})
public
void
onModifyViewClick
(
View
v
)
{
recordOperat
(
true
);
int
id
=
v
.
getId
();
if
(
id
==
R
.
id
.
btn_taste
)
{
showFineLayout
(
0
);
}
else
if
(
id
==
R
.
id
.
btn_msg
)
{
showFineLayout
(
1
);
}
else
if
(
id
==
R
.
id
.
btn_delete
)
{
// if (mPresenter.getSelectMealAdapter().getSelectedMode() == SelectMealAdapter.SINGLE_SELECTED) {
// //只有單選操作的時候可以刪除子項
// mPresenter.deleteChildItem();
// }
mPresenter
.
deleteChildItem
();
}
else
if
(
id
==
R
.
id
.
btn_end
)
{
//回復單選
mPresenter
.
getSelectMealAdapter
().
setSelectedMode
(
SelectMealAdapter
.
SINGLE_SELECTED
);
btnDelete
.
setVisibility
(
View
.
VISIBLE
);
setSelectFunctionVisibility
(
View
.
GONE
);
//從多選頁離開 重置選中
mPresenter
.
resetSelected
();
setCurrLayout
(
SetMealFragment
.
FOOD_LAYOUT
);
}
else
if
(
id
==
R
.
id
.
btn_key1
||
id
==
R
.
id
.
btn_key2
||
id
==
R
.
id
.
btn_key3
||
id
==
R
.
id
.
btn_key4
||
id
==
R
.
id
.
btn_key5
||
id
==
R
.
id
.
btn_keys
)
{
setCurrViewMode
(
MealConstant
.
food_group_ViewMode
,
MealConstant
.
food_ViewMode
);
}
// else if (id == R.id.iv_fine_back) {
// showViewModeVisibility(MealConstant.combo_ViewMode);
// }
}
@OnClick
({
R2
.
id
.
btn_key1
,
R2
.
id
.
btn_key2
,
R2
.
id
.
btn_key3
,
R2
.
id
.
btn_key4
,
R2
.
id
.
btn_key5
,
R2
.
id
.
btn_keys
})
public
void
onKeyViewClick
(
View
v
)
{
recordOperat
(
true
);
int
id
=
v
.
getId
();
if
(
id
==
R
.
id
.
btn_key1
||
id
==
R
.
id
.
btn_key2
||
id
==
R
.
id
.
btn_key3
||
id
==
R
.
id
.
btn_key4
||
id
==
R
.
id
.
btn_key5
||
id
==
R
.
id
.
btn_keys
)
{
int
i
=
Integer
.
parseInt
(
v
.
getTag
().
toString
());
switch
(
i
)
{
case
0
:
...
...
@@ -896,9 +967,6 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
break
;
}
}
// else if (id == R.id.iv_fine_back) {
// showViewModeVisibility(MealConstant.combo_ViewMode);
// }
}
@Override
...
...
@@ -908,6 +976,7 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
@Override
public
void
onPageSelect
(
int
pageIndex
)
{
recordOperat
(
false
);
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_SCOLL
+
"食品組頁="
+
(
pageIndex
+
1
));
for
(
int
i
=
0
;
i
<
totalPage
;
i
++)
{
if
(
i
==
pageIndex
)
{
...
...
@@ -924,10 +993,12 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
}
private
void
showRiceponMemberDialogFragment
()
{
recordOperat
(
false
);
RiceponMemberDialogFragment
dialogFragment
=
RiceponMemberDialogFragment
.
newInstance
(
DoshokuOrder
.
getInstance
().
getOpenTableInfo
());
dialogFragment
.
setOnUseMemberListener
(
new
RiceponMemberDialogFragment
.
OnUseMemberListener
()
{
@Override
public
void
onUseMember
(
MemberInfo
memberInfo
)
{
recordOperat
(
false
);
if
(
memberInfo
==
null
)
{
btnTable
.
setBackgroundColor
(
Color
.
parseColor
(
"#336699"
));
}
else
{
...
...
@@ -940,8 +1011,46 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
mPresenter
.
updateBillInfo
();
}
DoshokuOrder
.
getInstance
().
setMemberInfo
(
memberInfo
);
dialogFragment
.
dismiss
();
}
});
dialogFragment
.
show
(
getChildFragmentManager
(),
dialogFragment
.
getClass
().
getSimpleName
());
}
@Override
public
void
returnBeforeActivity
(
boolean
initTable
)
{
SPUtils
.
put
(
MealConstant
.
EXIT_IS_PLU_MODE
,
isPluMode
);
if
(
BaseOrder
.
isTableToMeal
()
&&
initTable
&&
!
DoshokuOrder
.
getInstance
().
isModifyOrder
())
{
TableBean
.
DataBean
dataBean
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
if
(
dataBean
!=
null
)
{
//通知更新餐台状态
EventBus
.
getDefault
().
post
(
new
InitTableEvent
(
dataBean
.
getId
(),
dataBean
.
getTableNumber
()),
"initTable_status_event"
);
}
}
killMyself
();
}
public
void
returnTableActivity
(
boolean
initTable
)
{
if
(
mPresenter
.
hasNesOrderFoods
())
{
//没有过重复下单提示且有未送单食品,提示用户
String
tip
=
LanguageUtils
.
get_language_system
(
mApplication
,
"food.not.delivered.tip"
,
"有食品未送單, 確認離開?"
);
Class
[]
parameterTypes
=
{
boolean
.
class
};
Object
[]
parameters
=
{
initTable
};
CommonTipDialog
.
showSurpisedDialog
(
_mActivity
,
tip
,
this
.
getClass
(),
this
,
"returnBeforeActivity"
,
parameterTypes
,
parameters
);
}
else
{
returnBeforeActivity
(
initTable
);
}
}
private
boolean
isCurrViewMode
(
int
...
viewModes
)
{
for
(
int
i
=
0
;
i
<
viewModes
.
length
;
i
++)
{
int
viewMode
=
viewModes
[
i
];
if
(
viewMode
==
mCurrentViewMode
)
{
return
true
;
}
}
return
false
;
}
}
component-table/src/main/res/layout/fragment_fine.xml
View file @
29e0b2b3
...
...
@@ -6,18 +6,18 @@
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
<com.g
oogle.android.material.tabs.TabLayout
<com.g
ingersoft.gsa.cloud.ui.view.MyTableView
android:id=
"@+id/tabLayout"
android:layout_width=
"match_parent"
android:layout_height=
"
@dimen/tabIndicator_heigh
t"
android:background=
"@color/
white
"
android:layout_height=
"
wrap_conten
t"
android:background=
"@color/
theme_white_color
"
app:tabIndicator=
"@drawable/tablayout_indicator"
app:tabIndicatorColor=
"@color/theme_color"
app:tabIndicatorFullWidth=
"false"
/>
<androidx.viewpager2.widget.ViewPager2
android:id=
"@+id/viewPager"
android:id=
"@+id/viewPager
2
"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
android:layout_height=
"match_parent"
/>
</LinearLayout>
\ No newline at end of file
component-table/src/main/res/layout/fragment_meal_discount.xml
View file @
29e0b2b3
<?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"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
>
<com.gingersoft.gsa.cloud.ui.view.MyTableView
android:id=
"@+id/tab
_segmen
t"
android:id=
"@+id/tab
Layou
t"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
/>
android:layout_height=
"wrap_content"
app:tabIndicator=
"@drawable/tablayout_indicator"
app:tabIndicatorColor=
"@color/theme_color"
app:tabIndicatorFullWidth=
"false"
/>
<androidx.viewpager
.widget.ViewPager
android:id=
"@+id/viewPager"
<androidx.viewpager
2.widget.ViewPager2
android:id=
"@+id/viewPager
2
"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
...
...
component-table/src/main/res/layout/fragment_ricepon_member_dialog.xml
View file @
29e0b2b3
...
...
@@ -55,6 +55,7 @@
android:id=
"@+id/recycler_memeber_info"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
app:layoutManager=
"androidx.recyclerview.widget.LinearLayoutManager"
android:layout_below=
"@+id/ll_input_phone"
android:layout_above=
"@+id/btn_scan"
/>
...
...
component-table/src/main/res/layout/meal_item_food_group.xml
View file @
29e0b2b3
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<
com.qmuiteam.qmui.alpha.QMUIAlpha
RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:id=
"@+id/rl_container"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<
com.qmuiteam.qmui.alpha.QMUIAlphaRelativeLayout
android:id=
"@+id/
rl_container
"
<
TextView
android:id=
"@+id/
tv_name
"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
android:layout_height=
"match_parent"
android:layout_marginTop=
"2px"
android:layout_marginRight=
"2px"
android:gravity=
"center"
android:text=
"food"
android:textAppearance=
"?android:attr/textAppearanceLarge"
android:textColor=
"@drawable/meal_selector_food_backgroup"
android:textSize=
"@dimen/sp_14"
/>
<TextView
android:id=
"@+id/tv_name"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_marginRight=
"2px"
android:layout_marginTop=
"2px"
android:gravity=
"center"
android:text=
"food"
android:textAppearance=
"?android:attr/textAppearanceLarge"
android:textColor=
"@drawable/meal_selector_food_backgroup"
android:textSize=
"@dimen/sp_14"
/>
<TextView
android:id=
"@+id/tv_number"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentRight=
"true"
android:background=
"@drawable/ui_shape_red_oval"
android:gravity=
"center"
android:text=
"number"
android:textAppearance=
"?android:attr/textAppearanceSmall"
android:textColor=
"@color/theme_white_color"
/>
<TextView
android:id=
"@+id/tv_number"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@drawable/ui_shape_red_oval"
android:layout_alignParentRight=
"true"
android:gravity=
"center"
android:text=
"number"
android:textAppearance=
"?android:attr/textAppearanceSmall"
android:textColor=
"@color/theme_white_color"
/>
<TextView
android:id=
"@+id/tv_soldout"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentRight=
"true"
android:layout_gravity=
"right"
android:layout_marginTop=
"2px"
android:layout_marginRight=
"2px"
android:background=
"@drawable/ui_selector_white_rect"
android:text=
"sold"
android:textStyle=
"bold"
android:visibility=
"invisible"
/>
<TextView
android:id=
"@+id/tv_soldout"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_alignParentRight=
"true"
android:layout_gravity=
"right"
android:layout_marginRight=
"2px"
android:layout_marginTop=
"2px"
android:background=
"@drawable/ui_selector_white_rect"
android:text=
"sold"
android:textStyle=
"bold"
android:visibility=
"invisible"
/>
<com.gingersoft.gsa.cloud.ui.view.BeveLabelView
android:id=
"@+id/blv_soldout"
android:layout_width=
"35dp"
android:layout_height=
"35dp"
app:label_bg_color=
"#D10035"
app:label_corner=
"8dp"
app:label_length=
"20dp"
app:label_mode=
"left_top"
app:label_text=
"暫停"
app:label_text_color=
"@color/theme_white_color"
app:label_text_size=
"@dimen/sp_10"
/>
<com.gingersoft.gsa.cloud.ui.view.BeveLabelView
android:id=
"@+id/blv_soldout"
android:layout_width=
"35dp"
android:layout_height=
"35dp"
app:label_corner=
"8dp"
app:label_length=
"20dp"
app:label_bg_color=
"#D10035"
app:label_mode=
"left_top"
app:label_text=
"暫停"
app:label_text_color=
"@color/theme_white_color"
app:label_text_size=
"@dimen/sp_10"
/>
<View
android:id=
"@+id/right_line"
android:layout_width=
"2px"
android:layout_height=
"match_parent"
android:layout_alignParentRight=
"true"
android:background=
"@color/theme_black"
/>
<View
android:id=
"@+id/right_line"
android:layout_width=
"2px"
android:layout_height=
"match_parent"
android:layout_alignParentRight=
"true"
android:background=
"@color/theme_black"
/>
<View
android:id=
"@+id/top_line"
android:layout_width=
"match_parent"
android:layout_height=
"2px"
android:layout_alignParentTop=
"true"
android:background=
"@color/theme_black"
/>
</com.qmuiteam.qmui.alpha.QMUIAlphaRelativeLayout>
</RelativeLayout>
<View
android:id=
"@+id/top_line"
android:layout_width=
"match_parent"
android:layout_height=
"2px"
android:layout_alignParentTop=
"true"
android:background=
"@color/theme_black"
/>
</com.qmuiteam.qmui.alpha.QMUIAlphaRelativeLayout>
component-table/src/main/res/layout/meal_layout_food_menu.xml
View file @
29e0b2b3
...
...
@@ -42,23 +42,47 @@
android:orientation=
"vertical"
/>
</LinearLayout>
<include
layout=
"@layout/meal_layout_combo_modifier"
/>
<!-- <ViewStub-->
<!-- android:id="@+id/vb_combo_modifier"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_above="@+id/ll_modify"-->
<!-- android:layout_below="@+id/ll_food_container"-->
<!-- android:layout="@layout/meal_layout_combo_modifier" />-->
<include
layout=
"@layout/meal_layout_meal_fine"
/>
<!-- <ViewStub-->
<!-- android:id="@+id/vb_fine"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_above="@+id/ll_modify"-->
<!-- android:layout_below="@+id/ll_food_container"-->
<!-- android:layout="@layout/meal_layout_meal_fine" />-->
<include
layout=
"@layout/meal_layout_combo_modifier"
android:visibility=
"gone"
/>
<include
layout=
"@layout/meal_layout_meal_fine"
android:visibility=
"gone"
/>
<FrameLayout
android:id=
"@+id/fl_discount_fragment"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
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>
<!-- <FrameLayout-->
<!-- android:id="@+id/fl_fine_fragment"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:visibility="gone">-->
<!-- <fragment-->
<!-- android:id="@+id/fragment_fine"-->
<!-- android:name="com.gingersoft.gsa.cloud.table.mvp.ui.fragment.mealstand.FineFragment"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content" />-->
<!-- </FrameLayout>-->
<!--鍵盤-->
<com.gingersoft.gsa.cloud.ui.view.SearchKeyBoardView
android:id=
"@+id/meal_stand_search_keyboard_view"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_above=
"@+id/ll_modify"
android:visibility=
"gone"
/>
<LinearLayout
android:id=
"@+id/ll_modify"
...
...
component-table/src/main/res/layout/meal_layout_food_plate.xml
View file @
29e0b2b3
...
...
@@ -13,7 +13,7 @@
android:layout_weight=
"1"
>
<LinearLayout
android:id=
"@+id/ll_m
m
"
android:id=
"@+id/ll_m
eal_function
"
android:layout_width=
"55dp"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
...
...
@@ -202,5 +202,4 @@
android:src=
"@mipmap/meal_number_key"
android:tag=
"99"
/>
</LinearLayout>
</LinearLayout>
component-table/src/main/res/layout/meal_layout_meal_fine.xml
View file @
29e0b2b3
<?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_fine"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
...
...
@@ -8,9 +9,13 @@
<com.gingersoft.gsa.cloud.ui.view.MyTableView
android:id=
"@+id/tab_fine"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
/>
android:layout_height=
"wrap_content"
android:background=
"@color/theme_white_color"
app:tabIndicator=
"@drawable/tablayout_indicator"
app:tabIndicatorColor=
"@color/theme_color"
app:tabIndicatorFullWidth=
"false"
/>
<androidx.viewpager
.widget.ViewPager
<androidx.viewpager
2.widget.ViewPager2
android:id=
"@+id/pager_fine"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
...
...
component-table/src/main/res/layout/table_activity_meal_stand2.xml
View file @
29e0b2b3
...
...
@@ -19,22 +19,6 @@
android:layout_height=
"match_parent"
android:layout_above=
"@+id/ll_modify"
/>
<FrameLayout
android:id=
"@+id/fl_meal_discount"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_above=
"@+id/ll_modify"
android:layout_marginTop=
"@dimen/dp_260"
/>
<!--鍵盤-->
<com.gingersoft.gsa.cloud.ui.view.SearchKeyBoardView
android:id=
"@+id/meal_stand_search_keyboard_view"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_above=
"@+id/ll_modify"
android:layout_marginTop=
"@dimen/dp_260"
android:visibility=
"gone"
/>
<LinearLayout
android:id=
"@+id/ll_stand_oper"
android:layout_width=
"match_parent"
...
...
component-table/src/main/res/layout/table_dialog_discout.xml
View file @
29e0b2b3
...
...
@@ -15,6 +15,6 @@
<androidx.viewpager.widget.ViewPager
android:id=
"@+id/contentViewPager"
android:layout_width=
"match_parent"
android:layout_height=
"
wrap_cont
ent"
/>
android:layout_height=
"
match_par
ent"
/>
</com.qmuiteam.qmui.layout.QMUILinearLayout>
\ No newline at end of file
config.gradle
View file @
29e0b2b3
...
...
@@ -7,8 +7,8 @@ ext {
targetSdkVersion
:
29
,
//正式版: 1.0.3 3
//內部測試版:1.2.0 20
versionCode
:
3
3
,
versionName
:
"1.3.
3"
versionCode
:
3
5
,
//31
versionName
:
"1.3.
5"
//1.3.5
]
version
=
[
...
...
library-base/src/main/java/com/jess/arms/base/BaseFragment.java
View file @
29e0b2b3
...
...
@@ -160,14 +160,8 @@ public abstract class BaseFragment<P extends IPresenter> extends ImmersionFragme
public
void
onViewCreated
(
@NonNull
View
view
,
@Nullable
Bundle
savedInstanceState
)
{
super
.
onViewCreated
(
view
,
savedInstanceState
);
toolbar
=
view
.
findViewById
(
R
.
id
.
topbar
);
// fitsLayoutOverlap();
}
private
void
fitsLayoutOverlap
()
{
if
(
toolbar
!=
null
)
{
ImmersionBar
.
setTitleBar
(
this
,
toolbar
);
}
}
@Override
public
void
initImmersionBar
()
{
...
...
library-common/src/main/java/com/gingersoft/gsa/cloud/common/config/globalconfig/applyOptions/MyRetrofitConfiguration.java
View file @
29e0b2b3
...
...
@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.common.config.globalconfig.applyOptions;
import
android.content.Context
;
import
com.gingersoft.gsa.cloud.common.BuildConfig
;
import
com.gingersoft.gsa.cloud.common.config.OkHttpConfig
;
import
com.gingersoft.gsa.cloud.common.rxjava.CustomCallAdapterFactory
;
import
com.jess.arms.di.module.ClientModule
;
import
java.io.File
;
...
...
@@ -18,6 +19,7 @@ import retrofit2.Retrofit;
public
class
MyRetrofitConfiguration
implements
ClientModule
.
RetrofitConfiguration
{
@Override
public
void
configRetrofit
(
Context
context
,
Retrofit
.
Builder
builder
)
{
// builder.addCallAdapterFactory(new CustomCallAdapterFactory());
// 配置多BaseUrl支持
// OkHttpClient.Builder clientBuilder = new OkHttpClient.Builder();
// if (BuildConfig.DEBUG) {
...
...
library-common/src/main/java/com/gingersoft/gsa/cloud/common/constans/MealConstant.java
View file @
29e0b2b3
...
...
@@ -16,9 +16,7 @@ public interface MealConstant {
int
discount_ViewMode
=
104
;
int
fine_ViewMode
=
105
;
int
fine_tabs_ViewMode
=
106
;
int
ViewMode_keys
=
503
;
int
keys_viewMode
=
503
;
//堂食
int
hall_food_mode
=
1
;
...
...
library-common/src/main/java/com/gingersoft/gsa/cloud/common/rxjava/CustomCallAdapter.java
0 → 100644
View file @
29e0b2b3
package
com
.
gingersoft
.
gsa
.
cloud
.
common
.
rxjava
;
import
java.lang.reflect.Type
;
import
retrofit2.Call
;
import
retrofit2.CallAdapter
;
/**
* @作者: bin
* @創建時間: 2021-04-19 17:44
* @更新時間: 2021-04-19 17:44
* @描述:
*/
public
class
CustomCallAdapter
<
R
>
implements
CallAdapter
<
R
,
Object
>
{
@Override
public
Type
responseType
()
{
return
null
;
}
@Override
public
Object
adapt
(
Call
<
R
>
call
)
{
return
null
;
}
}
library-common/src/main/java/com/gingersoft/gsa/cloud/common/rxjava/CustomCallAdapterFactory.java
0 → 100644
View file @
29e0b2b3
package
com
.
gingersoft
.
gsa
.
cloud
.
common
.
rxjava
;
import
java.lang.annotation.Annotation
;
import
java.lang.reflect.Type
;
import
javax.annotation.Nullable
;
import
retrofit2.CallAdapter
;
import
retrofit2.Retrofit
;
/**
* @作者: bin
* @創建時間: 2021-04-19 17:43
* @更新時間: 2021-04-19 17:43
* @描述:
*/
public
class
CustomCallAdapterFactory
extends
CallAdapter
.
Factory
{
@Nullable
@Override
public
CallAdapter
<?,
?>
get
(
Type
returnType
,
Annotation
[]
annotations
,
Retrofit
retrofit
)
{
return
null
;
}
}
library-common/src/main/java/com/gingersoft/gsa/cloud/common/rxjava/ErrorHandleSingleSubscriber.java
View file @
29e0b2b3
...
...
@@ -8,6 +8,8 @@ import io.reactivex.annotations.NonNull;
import
io.reactivex.disposables.Disposable
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
import
me.jessyan.rxerrorhandler.handler.ErrorHandlerFactory
;
import
okhttp3.OkHttpClient
;
import
retrofit2.Retrofit
;
/**
* @作者: bin
...
...
library-common/src/main/java/com/gingersoft/gsa/cloud/common/rxjava/MyRxSchedulerUtils.java
View file @
29e0b2b3
...
...
@@ -27,8 +27,6 @@ public class MyRxSchedulerUtils {
return
executor
!=
null
?
Schedulers
.
from
(
executor
)
:
Schedulers
.
io
();
}
//==========================Single===========================//
private
MyRxSchedulerUtils
()
{
throw
new
UnsupportedOperationException
(
"u can't instantiate me..."
);
}
...
...
@@ -92,4 +90,7 @@ public class MyRxSchedulerUtils {
public
static
<
T
>
SingleTransformer
<
T
,
T
>
_io_io_f
()
{
return
new
SchedulerTransformer
<>(
SchedulerType
.
_io_io
);
}
}
library-common/src/main/java/com/gingersoft/gsa/cloud/common/rxjava/MyRxUtils.java
0 → 100644
View file @
29e0b2b3
package
com
.
gingersoft
.
gsa
.
cloud
.
common
.
rxjava
;
import
com.xuexiang.rxutil2.rxjava.RxSchedulerUtils
;
import
io.reactivex.Observable
;
import
io.reactivex.Single
;
/**
* @作者: bin
* @創建時間: 2021-04-21 15:27
* @更新時間: 2021-04-21 15:27
* @描述:
*/
public
class
MyRxUtils
{
public
static
<
T
>
Single
<
T
>
si_just_io_main
(
T
t
)
{
return
Single
.
just
(
t
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
public
static
<
T
>
Observable
<
T
>
ob_just_io_main
(
T
t
)
{
return
Observable
.
just
(
t
)
.
compose
(
RxSchedulerUtils
.
_io_main_o
());
}
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/Callback.java
View file @
29e0b2b3
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
;
import
android.os.Parcelable
;
/**
* @作者: bin
* @創建時間: 2021-04-14 15:05
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/RequestParms.java
View file @
29e0b2b3
...
...
@@ -14,6 +14,9 @@ import java.util.List;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.Getter
;
import
lombok.Setter
;
import
okhttp3.OkHttpClient
;
import
retrofit2.Retrofit
;
/**
* @作者: bin
...
...
@@ -22,8 +25,7 @@ import lombok.Getter;
* @描述:
*/
@Data
@Builder
public
class
RequestParms
implements
Serializable
{
public
class
RequestParms
implements
Parcelable
{
private
PayAction
action
;
private
final
int
resturantId
;
...
...
@@ -44,33 +46,120 @@ public class RequestParms implements Serializable {
*/
private
ResultCallback
resultCallback
;
// @Override
// public int describeContents() {
// return 0;
// }
//
// @Override
// public void writeToParcel(Parcel dest, int flags) {
// dest.writeInt(this.payType);
// dest.writeLong(this.orderId);
// dest.writeDouble(this.payMoney);
// }
//
// protected RequestParms(Parcel in) {
// this.payType = in.readInt();
// this.orderId = in.readLong();
// this.payMoney = in.readDouble();
// }
//
// public static final Creator<RequestParms> CREATOR = new Creator<RequestParms>() {
// @Override
// public RequestParms createFromParcel(Parcel source) {
// return new RequestParms(source);
// }
//
// @Override
// public RequestParms[] newArray(int size) {
// return new RequestParms[size];
// }
// };
private
RequestParms
(
Builder
builder
)
{
this
.
action
=
builder
.
action
;
this
.
resturantId
=
builder
.
resturantId
;
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
.
resultCallback
=
builder
.
resultCallback
;
}
public
static
Builder
builder
()
{
return
new
Builder
();
}
public
static
final
class
Builder
{
private
PayAction
action
;
private
int
resturantId
;
private
List
<
PayMethod
>
payMethods
;
private
int
payType
;
private
long
orderId
;
private
double
payMoney
;
private
String
refundReason
;
private
Callback
callback
;
private
ResultCallback
resultCallback
;
public
Builder
action
(
PayAction
action
)
{
this
.
action
=
action
;
return
this
;
}
public
Builder
resturantId
(
int
resturantId
)
{
this
.
resturantId
=
resturantId
;
return
this
;
}
public
Builder
payMethods
(
List
<
PayMethod
>
payMethods
)
{
this
.
payMethods
=
payMethods
;
return
this
;
}
public
Builder
payType
(
int
payType
)
{
this
.
payType
=
payType
;
return
this
;
}
public
Builder
orderId
(
long
orderId
)
{
this
.
orderId
=
orderId
;
return
this
;
}
public
Builder
payMoney
(
double
payMoney
)
{
this
.
payMoney
=
payMoney
;
return
this
;
}
public
Builder
refundReason
(
String
refundReason
)
{
this
.
refundReason
=
refundReason
;
return
this
;
}
public
Builder
callback
(
Callback
callback
)
{
this
.
callback
=
callback
;
return
this
;
}
public
Builder
resultCallback
(
ResultCallback
resultCallback
)
{
this
.
resultCallback
=
resultCallback
;
return
this
;
}
public
RequestParms
build
()
{
return
new
RequestParms
(
this
);
}
}
@Override
public
int
describeContents
()
{
return
0
;
}
@Override
public
void
writeToParcel
(
Parcel
dest
,
int
flags
)
{
dest
.
writeInt
(
this
.
action
==
null
?
-
1
:
this
.
action
.
ordinal
());
dest
.
writeInt
(
this
.
resturantId
);
dest
.
writeTypedList
(
this
.
payMethods
);
dest
.
writeInt
(
this
.
payType
);
dest
.
writeLong
(
this
.
orderId
);
dest
.
writeDouble
(
this
.
payMoney
);
dest
.
writeString
(
this
.
refundReason
);
}
protected
RequestParms
(
Parcel
in
)
{
int
tmpAction
=
in
.
readInt
();
this
.
action
=
tmpAction
==
-
1
?
null
:
PayAction
.
values
()[
tmpAction
];
this
.
resturantId
=
in
.
readInt
();
this
.
payMethods
=
in
.
createTypedArrayList
(
PayMethod
.
CREATOR
);
this
.
payType
=
in
.
readInt
();
this
.
orderId
=
in
.
readLong
();
this
.
payMoney
=
in
.
readDouble
();
this
.
refundReason
=
in
.
readString
();
}
public
static
final
Creator
<
RequestParms
>
CREATOR
=
new
Creator
<
RequestParms
>()
{
@Override
public
RequestParms
createFromParcel
(
Parcel
source
)
{
return
new
RequestParms
(
source
);
}
@Override
public
RequestParms
[]
newArray
(
int
size
)
{
return
new
RequestParms
[
size
];
}
};
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/ResultCallback.java
View file @
29e0b2b3
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
;
import
android.os.Parcelable
;
import
com.gingersoft.gsa.cloud.pay.bean.PayMethod
;
import
java.util.List
;
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/phone/PhoneC
allback
.java
→
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/phone/PhoneC
ommand
.java
View file @
29e0b2b3
...
...
@@ -8,7 +8,7 @@ import com.gingersoft.gsa.cloud.pay.Callback;
* @更新時間: 2021-04-15 17:18
* @描述:
*/
public
interface
PhoneC
allback
extends
Callback
{
public
interface
PhoneC
ommand
extends
Callback
{
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/PosPay.java
View file @
29e0b2b3
...
...
@@ -7,7 +7,7 @@ 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.YedpayC
allback
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.YedpayC
ommand
;
import
com.jess.arms.mvp.IView
;
import
com.jess.arms.utils.Preconditions
;
...
...
@@ -37,7 +37,7 @@ public final class PosPay {
//yedpay所需
final
double
payMoney
;
final
YedpayC
allback
yedpayCallback
;
final
YedpayC
ommand
yedpayCallback
;
public
void
pay
()
{
final
PosPayAction
payDevice
=
PayDeviceFactory
.
createPayDevice
();
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/bbpos/BBposC
allback
.java
→
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/bbpos/BBposC
ommand
.java
View file @
29e0b2b3
...
...
@@ -8,7 +8,7 @@ import com.gingersoft.gsa.cloud.pay.Callback;
* @更新時間: 2021-04-15 9:50
* @描述:
*/
public
interface
BBposC
allback
extends
Callback
{
public
interface
BBposC
ommand
extends
Callback
{
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/bbpos/BBposC
allback
Imp.java
→
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/bbpos/BBposC
ommand
Imp.java
View file @
29e0b2b3
...
...
@@ -6,7 +6,7 @@ package com.gingersoft.gsa.cloud.pay.device.pos.bbpos;
* @更新時間: 2021-04-23 10:08
* @描述:
*/
public
class
BBposC
allbackImp
implements
BBposCallback
{
public
class
BBposC
ommandImp
implements
BBposCommand
{
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/hyweb/HywebC
allback
.java
→
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/hyweb/HywebC
ommand
.java
View file @
29e0b2b3
...
...
@@ -8,7 +8,7 @@ import com.gingersoft.gsa.cloud.pay.Callback;
* @更新時間: 2021-04-15 9:50
* @描述:
*/
public
interface
HywebC
allback
extends
Callback
{
public
interface
HywebC
ommand
extends
Callback
{
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/hyweb/HywebC
allback
Imp.java
→
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/hyweb/HywebC
ommand
Imp.java
View file @
29e0b2b3
...
...
@@ -6,7 +6,7 @@ package com.gingersoft.gsa.cloud.pay.device.pos.hyweb;
* @更新時間: 2021-04-23 10:09
* @描述:
*/
public
class
HywebC
allbackImp
implements
HywebCallback
{
public
class
HywebC
ommandImp
implements
HywebCommand
{
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/YedpayC
allback
.java
→
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/YedpayC
ommand
.java
View file @
29e0b2b3
...
...
@@ -8,7 +8,7 @@ import com.gingersoft.gsa.cloud.pay.Callback;
* @更新時間: 2021-04-15 9:50
* @描述:
*/
public
interface
YedpayC
allback
extends
Callback
{
public
interface
YedpayC
ommand
extends
Callback
{
void
callSaleUri
(
String
uri
);
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/YedpayC
allback
Imp.java
→
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/YedpayC
ommand
Imp.java
View file @
29e0b2b3
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
device
.
pos
.
yedpay
;
import
android.app.Activity
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.net.Uri
;
...
...
@@ -11,29 +9,27 @@ import com.gingersoft.gsa.cloud.pay.RequestParms;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.constant.YedpayConstant
;
import
com.gingersoft.gsa.cloud.pay.lifecycle.presenter.PayFlowPresenter
;
import
java.lang.ref.WeakReference
;
/**
* @作者: bin
* @創建時間: 2021-04-23 9:55
* @更新時間: 2021-04-23 9:55
* @描述:
*/
public
class
YedpayC
allbackImp
implements
YedpayCallback
{
public
class
YedpayC
ommandImp
implements
YedpayCommand
{
private
WeakReference
<
Fragment
>
mContext
;
private
WeakReference
<
PayFlowPresenter
>
mPayFlowPresenter
;
private
Fragment
mContext
;
private
PayFlowPresenter
mPayFlowPresenter
;
private
RequestParms
mRequestParms
;
public
YedpayC
allback
Imp
(
Fragment
context
,
PayFlowPresenter
payFlowPresenter
,
RequestParms
requestParms
)
{
this
.
mContext
=
new
WeakReference
<>(
context
)
;
this
.
mPayFlowPresenter
=
new
WeakReference
<>(
payFlowPresenter
)
;
public
YedpayC
ommand
Imp
(
Fragment
context
,
PayFlowPresenter
payFlowPresenter
,
RequestParms
requestParms
)
{
this
.
mContext
=
context
;
this
.
mPayFlowPresenter
=
payFlowPresenter
;
this
.
mRequestParms
=
requestParms
;
}
@Override
public
void
callSaleUri
(
String
uri
)
{
Fragment
fragment
=
mContext
.
get
()
;
Fragment
fragment
=
mContext
;
if
(
fragment
!=
null
)
{
Uri
uri2
=
Uri
.
parse
(
uri
);
Intent
intent
=
new
Intent
(
Intent
.
ACTION_VIEW
,
uri2
);
...
...
@@ -43,7 +39,7 @@ public class YedpayCallbackImp implements YedpayCallback {
@Override
public
void
refundResult
(
boolean
result
)
{
PayFlowPresenter
payFlowPresenter
=
mPayFlowPresenter
.
get
()
;
PayFlowPresenter
payFlowPresenter
=
mPayFlowPresenter
;
if
(
payFlowPresenter
!=
null
&&
mRequestParms
!=
null
)
{
payFlowPresenter
.
yedPayRefundOrder
(
mRequestParms
.
getRefundReason
(),
mRequestParms
.
getOrderId
(),
mRequestParms
.
getPayType
(),
mRequestParms
.
getResturantId
());
}
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/YedpayDevice.java
View file @
29e0b2b3
...
...
@@ -68,13 +68,13 @@ public class YedpayDevice implements PosPayAction<RequestParms> {
@Override
public
void
pay
(
RequestParms
params
)
{
String
uriString
=
"yedpayapp://transaction?g="
+
getPayType
(
params
.
getPayType
())
+
"&a="
+
params
.
getPayMoney
()
+
""
;
YedpayC
allback
callback
=
(
YedpayCallback
)
params
.
getCallback
();
YedpayC
ommand
callback
=
(
YedpayCommand
)
params
.
getCallback
();
callback
.
callSaleUri
(
uriString
);
}
@Override
public
void
refund
(
RequestParms
params
)
{
YedpayC
allback
callback
=
(
YedpayCallback
)
params
.
getCallback
();
YedpayC
ommand
callback
=
(
YedpayCommand
)
params
.
getCallback
();
callback
.
refundResult
(
true
);
}
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/fragment/PayFlowFragment.java
View file @
29e0b2b3
...
...
@@ -71,7 +71,7 @@ public class PayFlowFragment extends BaseDialogFragment<PayFlowPresenter> implem
public
static
PayFlowFragment
newInstance
(
RequestParms
parms
)
{
PayFlowFragment
fragment
=
new
PayFlowFragment
();
Bundle
bundle
=
new
Bundle
();
bundle
.
put
Serializ
able
(
"requestParms"
,
parms
);
bundle
.
put
Parcel
able
(
"requestParms"
,
parms
);
fragment
.
setArguments
(
bundle
);
return
fragment
;
}
...
...
@@ -102,7 +102,7 @@ public class PayFlowFragment extends BaseDialogFragment<PayFlowPresenter> implem
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
Bundle
arguments
=
getArguments
();
requestParms
=
(
RequestParms
)
arguments
.
get
Serializ
able
(
"requestParms"
);
requestParms
=
(
RequestParms
)
arguments
.
get
Parcel
able
(
"requestParms"
);
action
=
requestParms
.
getAction
();
tv_status
.
setText
(
mLoadingText
);
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/presenter/PayFlowPresenter.java
View file @
29e0b2b3
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
lifecycle
.
presenter
;
import
android.app.Application
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.net.Uri
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber
;
...
...
@@ -13,15 +10,10 @@ import com.gingersoft.gsa.cloud.pay.PayStep;
import
com.gingersoft.gsa.cloud.pay.PaymentControl
;
import
com.gingersoft.gsa.cloud.pay.RequestParms
;
import
com.gingersoft.gsa.cloud.pay.ResultCallback
;
import
com.gingersoft.gsa.cloud.pay.device.pos.bbpos.BBposC
allback
Imp
;
import
com.gingersoft.gsa.cloud.pay.device.pos.hyweb.HywebC
allback
Imp
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.YedpayC
allback
Imp
;
import
com.gingersoft.gsa.cloud.pay.device.pos.bbpos.BBposC
ommand
Imp
;
import
com.gingersoft.gsa.cloud.pay.device.pos.hyweb.HywebC
ommand
Imp
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.YedpayC
ommand
Imp
;
import
com.gingersoft.gsa.cloud.pay.lifecycle.model.bean.YedpayFindSaleStatusBean
;
import
com.gingersoft.gsa.cloud.pay.device.phone.PhoneCallback
;
import
com.gingersoft.gsa.cloud.pay.device.pos.PosPayAction
;
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
;
...
...
@@ -39,8 +31,6 @@ import javax.inject.Inject;
import
com.gingersoft.gsa.cloud.pay.lifecycle.contract.PayFlowContract
;
import
com.jess.arms.utils.RxLifecycleUtils
;
import
java.lang.ref.WeakReference
;
/**
* ================================================
...
...
@@ -197,13 +187,13 @@ public class PayFlowPresenter extends BasePresenter<PayFlowContract.Model, PayFl
private
void
setCallbackBy
(
RequestParms
requestParms
)
{
if
(
AppDevices
.
isHywebPos
())
{
requestParms
.
setCallback
(
new
HywebC
allback
Imp
());
requestParms
.
setCallback
(
new
HywebC
ommand
Imp
());
}
else
if
(
AppDevices
.
isBBPos
())
{
requestParms
.
setCallback
(
new
BBposC
allback
Imp
());
requestParms
.
setCallback
(
new
BBposC
ommand
Imp
());
}
else
if
(
AppDevices
.
isYedpay
())
{
requestParms
.
setCallback
(
new
YedpayC
allback
Imp
(
mRootView
.
getFragment
(),
this
,
mRequestParms
));
requestParms
.
setCallback
(
new
YedpayC
ommand
Imp
(
mRootView
.
getFragment
(),
this
,
mRequestParms
));
}
else
{
requestParms
.
setCallback
(
new
YedpayC
allback
Imp
(
mRootView
.
getFragment
(),
this
,
mRequestParms
));
requestParms
.
setCallback
(
new
YedpayC
ommand
Imp
(
mRootView
.
getFragment
(),
this
,
mRequestParms
));
}
}
...
...
library-ui/src/main/java/com/gingersoft/gsa/cloud/ui/adapter/ViewPager2Adapter.java
0 → 100644
View file @
29e0b2b3
package
com
.
gingersoft
.
gsa
.
cloud
.
ui
.
adapter
;
import
androidx.annotation.NonNull
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentActivity
;
import
androidx.fragment.app.FragmentManager
;
import
androidx.fragment.app.FragmentStatePagerAdapter
;
import
androidx.viewpager2.adapter.FragmentStateAdapter
;
import
java.util.List
;
public
class
ViewPager2Adapter
extends
FragmentStateAdapter
{
private
List
<
Fragment
>
mFragments
;
public
ViewPager2Adapter
(
@NonNull
FragmentActivity
fragmentActivity
,
List
<
Fragment
>
fragments
)
{
super
(
fragmentActivity
);
this
.
mFragments
=
fragments
;
}
public
void
setFragments
(
List
<
Fragment
>
fragments
)
{
mFragments
=
fragments
;
notifyDataSetChanged
();
}
@NonNull
@Override
public
Fragment
createFragment
(
int
position
)
{
return
mFragments
.
get
(
position
);
}
@Override
public
int
getItemCount
()
{
return
mFragments
.
size
();
}
}
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