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
6ec228e3
Commit
6ec228e3
authored
Apr 24, 2021
by
宁斌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1、會員dialog頁拆分 2、公共細項頁拆分
parent
48ef3e27
Hide whitespace changes
Inline
Side-by-side
Showing
93 changed files
with
2739 additions
and
1044 deletions
+2739
-1044
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/component/FineChildAllComponent.java
+10
-9
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/component/FineChildOneselfComponent.java
+10
-9
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/component/FineComponent.java
+42
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/component/MealStand2Component.java
+2
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/component/RiceponMemberDialogComponent.java
+42
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/CouponModule.java
+0
-4
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/FineChildAllModule.java
+5
-4
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/FineChildOneselfModule.java
+5
-4
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/FineModule.java
+31
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/MealStand2Module.java
+7
-13
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/RiceponMemberDialogModule.java
+53
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/SetMealModule.java
+7
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/discount/BillCouponAction.java
+25
-22
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/discount/BillDiscountAction.java
+33
-28
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/discount/MealCouponAction.java
+37
-37
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/discount/MealDiscountAction.java
+30
-36
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/CouponContract.java
+3
-9
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/FineChildAllContract.java
+1
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/FineChildOneselfContract.java
+1
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/FineContract.java
+29
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/MealStandContract.java
+2
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/MealStandContract2.java
+93
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/RiceponMemberDialogContract.java
+37
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/SetMealContract.java
+7
-10
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/CouponModel.java
+5
-6
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/FineChildAllModel.java
+3
-3
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/FineChildOneselfModel.java
+3
-3
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/FineModel.java
+47
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/MealStandModel.java
+2
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/MealStandModel2.java
+215
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/RiceponMemberDialogModel.java
+59
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/SetMealModel.java
+28
-7
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/service/MemberService.java
+1
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
+2
-4
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter2.java
+2
-4
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderContentPresenter.java
+42
-36
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/discount/CouponPresenter.java
+15
-21
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/FineChildAllPresenter.java
+4
-9
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/FineChildOneselfPresenter.java
+5
-4
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/FinePresenter.java
+53
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/MealStandPresenter.java
+94
-27
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/MealStandPresenter2.java
+3
-2
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/RiceponMemberDialogPresenter.java
+104
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/SetMealPresenter.java
+106
-83
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity.java
+37
-31
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity2.java
+36
-265
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderPayActivity.java
+6
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/SoldoutCtrlActivity.java
+7
-8
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/MemberInfoAdapter.java
+0
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/SelectMealAdapter2.java
+9
-4
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/discount/CouponFragment.java
+33
-13
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/discount/DiscountDialogFragment.java
+6
-6
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/discount/DiscountFragment.java
+195
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/FineChildAllFragment.java
+7
-7
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/FineChildOneselfFragment.java
+6
-6
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/FineFragment.java
+99
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/MealDiscountFragment.java
+1
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/RiceponMemberDialogFragment.java
+301
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/SetMealFragment.java
+231
-193
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/widget/UseMemberDialog.java
+0
-5
component-table/src/main/res/layout/fragment_fine.xml
+24
-0
component-table/src/main/res/layout/fragment_ricepon_member_dialog.xml
+117
-0
component-table/src/main/res/layout/meal_dialog_use_member.xml
+2
-1
component-table/src/main/res/layout/meal_layout_combo_modifier.xml
+1
-1
component-table/src/main/res/layout/meal_layout_food_menu.xml
+22
-15
component-table/src/main/res/layout/meal_layout_food_plate.xml
+3
-1
component-table/src/main/res/layout/meal_layout_meal_fine.xml
+4
-2
component-table/src/main/res/layout/table_activity_meal_stand.xml
+30
-7
component-table/src/main/res/layout/table_dialog_discout.xml
+0
-6
config.gradle
+2
-2
library-common/src/main/java/com/gingersoft/gsa/cloud/app/GsaCloudApplication.java
+5
-0
library-common/src/main/java/com/gingersoft/gsa/cloud/common/core/discount/NomalDiscount.java
+3
-2
library-common/src/main/java/com/gingersoft/gsa/cloud/common/utils/threadPool/ThreadPoolManager.java
+4
-0
library-database/src/main/java/com/gingersoft/gsa/cloud/database/AbstractDiscount.java
+13
-1
library-database/src/main/java/com/gingersoft/gsa/cloud/database/DiscountConstact.java
+22
-0
library-database/src/main/java/com/gingersoft/gsa/cloud/database/bean/Discount.java
+3
-3
library-order/src/main/java/com/gingersoft/gsa/cloud/order/bean/discount/CouponDiscountBean.java
+1
-1
library-order/src/main/java/com/gingersoft/gsa/cloud/order/bean/discount/MemberWalletCoupon.java
+35
-4
library-order/src/main/java/com/gingersoft/gsa/cloud/order/bean/request/OrderDiscountRequest.java
+2
-2
library-order/src/main/java/com/gingersoft/gsa/cloud/order/cart/ShoppingCart.java
+43
-22
library-order/src/main/java/com/gingersoft/gsa/cloud/order/commodity/OrderDetail.java
+12
-8
library-order/src/main/java/com/gingersoft/gsa/cloud/order/discount/MemberCouponDiscount.java
+3
-3
library-order/src/main/java/com/gingersoft/gsa/cloud/order/discount/MemberLevelDiscount.java
+3
-3
library-order/src/main/java/com/gingersoft/gsa/cloud/order/discount/MemberWalletCouponDiscount.java
+71
-0
library-order/src/main/java/com/gingersoft/gsa/cloud/order/discount/MultyDiscount.java
+2
-2
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/YedpayCallbackImp.java
+7
-6
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/contract/PayFlowContract.java
+3
-1
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/fragment/PayFlowFragment.java
+7
-1
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/presenter/PayFlowPresenter.java
+2
-3
library-ui/src/main/java/com/gingersoft/gsa/cloud/ui/adapter/TagViewAdapter.java
+8
-0
library-ui/src/main/java/com/gingersoft/gsa/cloud/ui/view/MyTableView.java
+0
-1
library-ui/src/main/res/layout/item_tag_view.xml
+5
-5
No files found.
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/component/Fine
Item
AllComponent.java
→
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/component/Fine
Child
AllComponent.java
View file @
6ec228e3
...
@@ -5,11 +5,11 @@ import dagger.Component;
...
@@ -5,11 +5,11 @@ import dagger.Component;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.di.component.AppComponent
;
import
com.gingersoft.gsa.cloud.table.di.module.Fine
Item
AllModule
;
import
com.gingersoft.gsa.cloud.table.di.module.Fine
Child
AllModule
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.Fine
Item
AllContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.Fine
Child
AllContract
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.
FineItem
AllFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.
mealstand.FineChild
AllFragment
;
/**
/**
...
@@ -25,17 +25,17 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.FineItemAllFragment;
...
@@ -25,17 +25,17 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.fragment.FineItemAllFragment;
* ================================================
* ================================================
*/
*/
@FragmentScope
@FragmentScope
@Component
(
modules
=
Fine
Item
AllModule
.
class
,
dependencies
=
AppComponent
.
class
)
@Component
(
modules
=
Fine
Child
AllModule
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
Fine
Item
AllComponent
{
public
interface
Fine
Child
AllComponent
{
void
inject
(
Fine
Item
AllFragment
fragment
);
void
inject
(
Fine
Child
AllFragment
fragment
);
@Component
.
Builder
@Component
.
Builder
interface
Builder
{
interface
Builder
{
@BindsInstance
@BindsInstance
Fine
ItemAllComponent
.
Builder
view
(
FineItem
AllContract
.
View
view
);
Fine
ChildAllComponent
.
Builder
view
(
FineChild
AllContract
.
View
view
);
Fine
Item
AllComponent
.
Builder
appComponent
(
AppComponent
appComponent
);
Fine
Child
AllComponent
.
Builder
appComponent
(
AppComponent
appComponent
);
Fine
Item
AllComponent
build
();
Fine
Child
AllComponent
build
();
}
}
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/component/Fine
Item
OneselfComponent.java
→
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/component/Fine
Child
OneselfComponent.java
View file @
6ec228e3
...
@@ -3,11 +3,11 @@ package com.gingersoft.gsa.cloud.table.di.component;
...
@@ -3,11 +3,11 @@ package com.gingersoft.gsa.cloud.table.di.component;
import
dagger.BindsInstance
;
import
dagger.BindsInstance
;
import
dagger.Component
;
import
dagger.Component
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.Fine
Item
OneselfContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.Fine
Child
OneselfContract
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.
FineItem
OneselfFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.
mealstand.FineChild
OneselfFragment
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.di.component.AppComponent
;
import
com.gingersoft.gsa.cloud.table.di.module.Fine
Item
OneselfModule
;
import
com.gingersoft.gsa.cloud.table.di.module.Fine
Child
OneselfModule
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.jess.arms.di.scope.FragmentScope
;
...
@@ -25,17 +25,17 @@ import com.jess.arms.di.scope.FragmentScope;
...
@@ -25,17 +25,17 @@ import com.jess.arms.di.scope.FragmentScope;
* ================================================
* ================================================
*/
*/
@FragmentScope
@FragmentScope
@Component
(
modules
=
Fine
Item
OneselfModule
.
class
,
dependencies
=
AppComponent
.
class
)
@Component
(
modules
=
Fine
Child
OneselfModule
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
Fine
Item
OneselfComponent
{
public
interface
Fine
Child
OneselfComponent
{
void
inject
(
Fine
Item
OneselfFragment
fragment
);
void
inject
(
Fine
Child
OneselfFragment
fragment
);
@Component
.
Builder
@Component
.
Builder
interface
Builder
{
interface
Builder
{
@BindsInstance
@BindsInstance
Fine
ItemOneselfComponent
.
Builder
view
(
FineItem
OneselfContract
.
View
view
);
Fine
ChildOneselfComponent
.
Builder
view
(
FineChild
OneselfContract
.
View
view
);
Fine
Item
OneselfComponent
.
Builder
appComponent
(
AppComponent
appComponent
);
Fine
Child
OneselfComponent
.
Builder
appComponent
(
AppComponent
appComponent
);
Fine
Item
OneselfComponent
build
();
Fine
Child
OneselfComponent
build
();
}
}
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/component/FineComponent.java
0 → 100644
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
di
.
component
;
import
dagger.BindsInstance
;
import
dagger.Component
;
import
com.jess.arms.di.component.AppComponent
;
import
com.gingersoft.gsa.cloud.table.di.module.FineModule
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.FineContract
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.mealstand.FineFragment
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/24/2021 18:33
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@FragmentScope
@Component
(
modules
=
FineModule
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
FineComponent
{
void
inject
(
FineFragment
fragment
);
@Component
.
Builder
interface
Builder
{
@BindsInstance
FineComponent
.
Builder
view
(
FineContract
.
View
view
);
FineComponent
.
Builder
appComponent
(
AppComponent
appComponent
);
FineComponent
build
();
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/component/MealStand2Component.java
View file @
6ec228e3
...
@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.table.di.component;
...
@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.table.di.component;
import
com.gingersoft.gsa.cloud.table.di.module.MealStand2Module
;
import
com.gingersoft.gsa.cloud.table.di.module.MealStand2Module
;
import
com.gingersoft.gsa.cloud.table.di.module.MealStandModule
;
import
com.gingersoft.gsa.cloud.table.di.module.MealStandModule
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract2
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity
;
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.activity.MealStandActivity2
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.di.component.AppComponent
;
...
@@ -32,7 +33,7 @@ public interface MealStand2Component {
...
@@ -32,7 +33,7 @@ public interface MealStand2Component {
@Component
.
Builder
@Component
.
Builder
interface
Builder
{
interface
Builder
{
@BindsInstance
@BindsInstance
MealStand2Component
.
Builder
view
(
MealStandContract
.
View
view
);
MealStand2Component
.
Builder
view
(
MealStandContract
2
.
View
view
);
MealStand2Component
.
Builder
appComponent
(
AppComponent
appComponent
);
MealStand2Component
.
Builder
appComponent
(
AppComponent
appComponent
);
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/component/RiceponMemberDialogComponent.java
0 → 100644
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
di
.
component
;
import
dagger.BindsInstance
;
import
dagger.Component
;
import
com.jess.arms.di.component.AppComponent
;
import
com.gingersoft.gsa.cloud.table.di.module.RiceponMemberDialogModule
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.RiceponMemberDialogContract
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.mealstand.RiceponMemberDialogFragment
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/24/2021 16:24
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@FragmentScope
@Component
(
modules
=
RiceponMemberDialogModule
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
RiceponMemberDialogComponent
{
void
inject
(
RiceponMemberDialogFragment
fragment
);
@Component
.
Builder
interface
Builder
{
@BindsInstance
RiceponMemberDialogComponent
.
Builder
view
(
RiceponMemberDialogContract
.
View
view
);
RiceponMemberDialogComponent
.
Builder
appComponent
(
AppComponent
appComponent
);
RiceponMemberDialogComponent
build
();
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/CouponModule.java
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
di
.
module
;
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
di
.
module
;
import
com.gingersoft.gsa.cloud.common.core.discount.MemberCoupon
;
import
com.gingersoft.gsa.cloud.ui.adapter.TagViewAdapter
;
import
com.gingersoft.gsa.cloud.ui.adapter.TagViewAdapter
;
import
com.gingersoft.gsa.cloud.ui.bean.TagViewItem
;
import
com.gingersoft.gsa.cloud.ui.bean.TagViewItem
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.jess.arms.di.scope.FragmentScope
;
import
dagger.Binds
;
import
dagger.Binds
;
...
@@ -16,8 +14,6 @@ import com.gingersoft.gsa.cloud.table.mvp.model.CouponModel;
...
@@ -16,8 +14,6 @@ import com.gingersoft.gsa.cloud.table.mvp.model.CouponModel;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
javax.inject.Inject
;
/**
/**
* ================================================
* ================================================
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/Fine
Item
AllModule.java
→
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/Fine
Child
AllModule.java
View file @
6ec228e3
...
@@ -3,8 +3,8 @@ package com.gingersoft.gsa.cloud.table.di.module;
...
@@ -3,8 +3,8 @@ package com.gingersoft.gsa.cloud.table.di.module;
import
dagger.Binds
;
import
dagger.Binds
;
import
dagger.Module
;
import
dagger.Module
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.Fine
Item
AllContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.Fine
Child
AllContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.Fine
Item
AllModel
;
import
com.gingersoft.gsa.cloud.table.mvp.model.Fine
Child
AllModel
;
/**
/**
...
@@ -20,8 +20,8 @@ import com.gingersoft.gsa.cloud.table.mvp.model.FineItemAllModel;
...
@@ -20,8 +20,8 @@ import com.gingersoft.gsa.cloud.table.mvp.model.FineItemAllModel;
* ================================================
* ================================================
*/
*/
@Module
@Module
public
abstract
class
Fine
Item
AllModule
{
public
abstract
class
Fine
Child
AllModule
{
@Binds
@Binds
abstract
Fine
ItemAllContract
.
Model
bindFineItemAllModel
(
FineItem
AllModel
model
);
abstract
Fine
ChildAllContract
.
Model
bindFineItemAllModel
(
FineChild
AllModel
model
);
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/Fine
Item
OneselfModule.java
→
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/Fine
Child
OneselfModule.java
View file @
6ec228e3
...
@@ -3,8 +3,8 @@ package com.gingersoft.gsa.cloud.table.di.module;
...
@@ -3,8 +3,8 @@ package com.gingersoft.gsa.cloud.table.di.module;
import
dagger.Binds
;
import
dagger.Binds
;
import
dagger.Module
;
import
dagger.Module
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.Fine
Item
OneselfContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.Fine
Child
OneselfContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.Fine
Item
OneselfModel
;
import
com.gingersoft.gsa.cloud.table.mvp.model.Fine
Child
OneselfModel
;
/**
/**
...
@@ -20,8 +20,8 @@ import com.gingersoft.gsa.cloud.table.mvp.model.FineItemOneselfModel;
...
@@ -20,8 +20,8 @@ import com.gingersoft.gsa.cloud.table.mvp.model.FineItemOneselfModel;
* ================================================
* ================================================
*/
*/
@Module
@Module
public
abstract
class
Fine
Item
OneselfModule
{
public
abstract
class
Fine
Child
OneselfModule
{
@Binds
@Binds
abstract
Fine
ItemOneselfContract
.
Model
bindFineItemOneselfModel
(
FineItem
OneselfModel
model
);
abstract
Fine
ChildOneselfContract
.
Model
bindFineItemOneselfModel
(
FineChild
OneselfModel
model
);
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/FineModule.java
0 → 100644
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
di
.
module
;
import
com.jess.arms.di.scope.FragmentScope
;
import
dagger.Binds
;
import
dagger.Module
;
import
dagger.Provides
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.FineContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.FineModel
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/24/2021 18:33
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@Module
public
abstract
class
FineModule
{
@Binds
abstract
FineContract
.
Model
bindFineModel
(
FineModel
model
);
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/MealStand2Module.java
View file @
6ec228e3
...
@@ -6,7 +6,9 @@ import com.gingersoft.gsa.cloud.database.bean.Discount;
...
@@ -6,7 +6,9 @@ import com.gingersoft.gsa.cloud.database.bean.Discount;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract2
;
import
com.gingersoft.gsa.cloud.table.mvp.model.MealStandModel
;
import
com.gingersoft.gsa.cloud.table.mvp.model.MealStandModel
;
import
com.gingersoft.gsa.cloud.table.mvp.model.MealStandModel2
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BillItemAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BillItemAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter
;
...
@@ -44,7 +46,7 @@ import dagger.Provides;
...
@@ -44,7 +46,7 @@ import dagger.Provides;
public
abstract
class
MealStand2Module
{
public
abstract
class
MealStand2Module
{
@Binds
@Binds
abstract
MealStandContract
.
Model
bindMealStandModel
(
MealStandModel
model
);
abstract
MealStandContract
2
.
Model
bindMealStandModel2
(
MealStandModel2
model
);
@ActivityScope
@ActivityScope
@Provides
@Provides
...
@@ -84,35 +86,27 @@ public abstract class MealStand2Module {
...
@@ -84,35 +86,27 @@ public abstract class MealStand2Module {
return
new
ArrayList
<>();
return
new
ArrayList
<>();
}
}
@Inject
protected
SelectMealAdapter
mSelectMealAdapter
;
/**
* 賬單項適配器
*/
@Inject
protected
BillItemAdapter
mBillItemAdapter
;
@ActivityScope
@ActivityScope
@Provides
@Provides
static
FoodAdapter
provideFoodAdapter
(
MealStandContract
.
View
IView
,
@Named
(
"foodList"
)
List
<
Food
>
foodList
)
{
static
FoodAdapter
provideFoodAdapter
(
MealStandContract
2
.
View
IView
,
@Named
(
"foodList"
)
List
<
Food
>
foodList
)
{
return
new
FoodAdapter
(
IView
.
getActivity
(),
foodList
,
IView
.
getFromType
());
return
new
FoodAdapter
(
IView
.
getActivity
(),
foodList
,
IView
.
getFromType
());
}
}
@ActivityScope
@ActivityScope
@Provides
@Provides
static
ComboAdapter
provideComboAdapter
(
MealStandContract
.
View
IView
,
List
<
ComboItem
>
comboItemList
)
{
static
ComboAdapter
provideComboAdapter
(
MealStandContract
2
.
View
IView
,
List
<
ComboItem
>
comboItemList
)
{
return
new
ComboAdapter
(
IView
.
getActivity
(),
comboItemList
);
return
new
ComboAdapter
(
IView
.
getActivity
(),
comboItemList
);
}
}
@ActivityScope
@ActivityScope
@Provides
@Provides
static
ModifierAdapter
provideModifierAdapter
(
MealStandContract
.
View
IView
,
List
<
Modifier
>
modifierList
)
{
static
ModifierAdapter
provideModifierAdapter
(
MealStandContract
2
.
View
IView
,
List
<
Modifier
>
modifierList
)
{
return
new
ModifierAdapter
(
IView
.
getActivity
(),
modifierList
);
return
new
ModifierAdapter
(
IView
.
getActivity
(),
modifierList
);
}
}
@ActivityScope
@ActivityScope
@Provides
@Provides
static
DiscountAdapter
provideDiscountAdapter
(
MealStandContract
.
View
IView
,
List
<
Discount
>
discountList
)
{
static
DiscountAdapter
provideDiscountAdapter
(
MealStandContract
2
.
View
IView
,
List
<
Discount
>
discountList
)
{
return
new
DiscountAdapter
(
IView
.
getActivity
(),
discountList
);
return
new
DiscountAdapter
(
IView
.
getActivity
(),
discountList
);
}
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/RiceponMemberDialogModule.java
0 → 100644
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
di
.
module
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.SetMealContract
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.MemberInfoAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter
;
import
com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem
;
import
com.jess.arms.di.scope.FragmentScope
;
import
dagger.Binds
;
import
dagger.Module
;
import
dagger.Provides
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.RiceponMemberDialogContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.RiceponMemberDialogModel
;
import
java.util.ArrayList
;
import
java.util.List
;
import
javax.inject.Named
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/24/2021 16:24
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@Module
public
abstract
class
RiceponMemberDialogModule
{
@Binds
abstract
RiceponMemberDialogContract
.
Model
bindRiceponMemberDialogModel
(
RiceponMemberDialogModel
model
);
@FragmentScope
@Provides
static
List
<
SectionTextItem
>
provideMemberInfoList
()
{
return
new
ArrayList
<>();
}
@FragmentScope
@Provides
static
MemberInfoAdapter
provideMemberInfoAdapter
(
List
<
SectionTextItem
>
memberInfoList
)
{
return
new
MemberInfoAdapter
(
memberInfoList
);
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/SetMealModule.java
View file @
6ec228e3
...
@@ -10,6 +10,7 @@ import com.gingersoft.gsa.cloud.order.billItem.BillItem;
...
@@ -10,6 +10,7 @@ import com.gingersoft.gsa.cloud.order.billItem.BillItem;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.SetMealContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.SetMealContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.SetMealPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.SetMealPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BillItemAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BillItemAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter
;
...
@@ -101,6 +102,12 @@ public abstract class SetMealModule {
...
@@ -101,6 +102,12 @@ public abstract class SetMealModule {
return
new
ArrayList
<>();
return
new
ArrayList
<>();
}
}
@FragmentScope
@Provides
static
List
<
SoldoutCtrFood
>
provideSoldoutCtrList
()
{
return
new
ArrayList
<>();
}
// @FragmentScope
// @FragmentScope
// @Provides
// @Provides
// static SelectMealAdapter2 provideSelectMealAdapter2(SetMealContract.View IView, List<OrderDetail> orderMealList, BasePresenter presenter) {
// static SelectMealAdapter2 provideSelectMealAdapter2(SetMealContract.View IView, List<OrderDetail> orderMealList, BasePresenter presenter) {
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/discount/BillCouponAction.java
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
action
.
discount
;
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
action
.
discount
;
import
android.app.Activity
;
import
android.app.Activity
;
import
com.gingersoft.gsa.cloud.common.core.discount.MemberCoupon
;
import
com.gingersoft.gsa.cloud.order.bean.discount.MemberWalletCoupon
;
import
com.gingersoft.gsa.cloud.common.patterns.Strategy
;
import
com.gingersoft.gsa.cloud.common.patterns.Strategy
;
import
com.gingersoft.gsa.cloud.order.discount.NomalDiscount
;
import
com.gingersoft.gsa.cloud.order.discount.NomalDiscount
;
import
com.jess.arms.utils.ArmsUtils
;
import
java.util.List
;
import
java.util.List
;
import
lombok.Builder
;
import
lombok.Setter
;
/**
/**
* @author : bin
* @author : bin
* @create date: 2020-10-27
* @create date: 2020-10-27
* @update date: 2020-10-27
* @update date: 2020-10-27
* @description:賬單優惠券邏輯
* @description:賬單優惠券邏輯
*/
*/
public
class
BillCouponAction
implements
Strategy
<
MemberCoupon
>
{
@Builder
@Setter
public
class
BillCouponAction
implements
Strategy
<
MemberWalletCoupon
>
{
private
Activity
mC
ontext
;
private
Activity
c
ontext
;
/**
/**
* 賬單優惠券列表
* 賬單優惠券列表
*/
*/
private
List
<
NomalDiscount
>
mN
omalDiscountList
;
private
List
<
NomalDiscount
>
n
omalDiscountList
;
private
OnCallBackListener
mListener
;
private
double
wholeAmount
;
public
BillCouponAction
(
Activity
context
,
OnCallBackListener
listener
)
{
private
OnCallBackListener
listener
;
this
.
mContext
=
context
;
this
.
mListener
=
listener
;
private
String
cashStr
;
}
public
void
setNomalDiscountList
(
List
<
NomalDiscount
>
nomalDiscountList
)
{
this
.
mNomalDiscountList
=
nomalDiscountList
;
}
@Override
@Override
public
void
action
(
MemberCoupon
discount
)
{
public
void
action
(
MemberWalletCoupon
coupon
)
{
if
(
mListener
==
null
)
{
if
(
listener
==
null
)
{
return
;
}
if
(
coupon
.
getBillMinAmount
()
>
wholeAmount
)
{
//小於最小賬單金額
ArmsUtils
.
makeText
(
context
,
"小於最小賬單金額"
+
cashStr
+
coupon
.
getBillMinAmount
()
+
" 無法使用此優惠券"
);
return
;
return
;
}
}
listener
.
preformAddCoupon
(
coupon
.
clone
());
}
}
@Override
@Override
...
@@ -46,16 +55,10 @@ public class BillCouponAction implements Strategy<MemberCoupon> {
...
@@ -46,16 +55,10 @@ public class BillCouponAction implements Strategy<MemberCoupon> {
}
}
private
void
exclusiveDiscount
(
MemberCoupon
discount
)
{
if
(
mListener
!=
null
)
{
}
}
public
interface
OnCallBackListener
{
public
interface
OnCallBackListener
{
void
exclusiveRemoveOthers
(
List
<
NomalDiscount
>
nomalDiscountList
);
void
preformAddCoupon
(
MemberWalletCoupon
discount
);
void
preformAddDiscount
(
MemberCoupon
discount
);
}
}
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/discount/BillDiscountAction.java
View file @
6ec228e3
...
@@ -12,40 +12,45 @@ import com.jess.arms.utils.ArmsUtils;
...
@@ -12,40 +12,45 @@ import com.jess.arms.utils.ArmsUtils;
import
java.util.List
;
import
java.util.List
;
import
lombok.Builder
;
import
lombok.Setter
;
/**
/**
* @author : bin
* @author : bin
* @create date: 2020-10-27
* @create date: 2020-10-27
* @update date: 2020-10-27
* @update date: 2020-10-27
* @description:賬單折扣邏輯
* @description:賬單折扣邏輯
*/
*/
@Builder
@Setter
public
class
BillDiscountAction
implements
Strategy
<
Discount
>
{
public
class
BillDiscountAction
implements
Strategy
<
Discount
>
{
private
Activity
mC
ontext
;
private
Activity
c
ontext
;
/**
/**
* 賬單折扣列表
* 賬單折扣列表
*/
*/
private
List
<
NomalDiscount
>
mN
omalDiscountList
;
private
List
<
NomalDiscount
>
n
omalDiscountList
;
private
OnCallBackListener
mListener
;
private
double
wholeAmount
;
public
BillDiscountAction
(
Activity
context
,
OnCallBackListener
listener
)
{
private
OnCallBackListener
listener
;
this
.
mContext
=
context
;
this
.
mListener
=
listener
;
}
public
void
setNomalDiscountList
(
List
<
NomalDiscount
>
nomalDiscountList
)
{
private
String
cashStr
;
this
.
mNomalDiscountList
=
nomalDiscountList
;
}
@Override
@Override
public
void
action
(
Discount
discount
)
{
public
void
action
(
Discount
discount
)
{
if
(
mListener
==
null
)
{
if
(
listener
==
null
)
{
return
;
}
if
(
discount
.
getMinBillAmount
()
>
wholeAmount
)
{
//小於最小賬單金額
ArmsUtils
.
makeText
(
context
,
"小於最小賬單金額"
+
cashStr
+
discount
.
getMinBillAmount
()
+
" 無法使用此折扣"
);
return
;
return
;
}
}
if
(
isOnlyOnce
(
discount
))
{
if
(
isOnlyOnce
(
discount
))
{
//此折扣只一次
//此折扣只一次
ArmsUtils
.
makeText
(
mC
ontext
,
"此折扣只一次"
);
ArmsUtils
.
makeText
(
c
ontext
,
"此折扣只一次"
);
return
;
return
;
}
}
boolean
hasExclusive
=
hasExclusiveDiscount
();
boolean
hasExclusive
=
hasExclusiveDiscount
();
...
@@ -54,7 +59,7 @@ public class BillDiscountAction implements Strategy<Discount> {
...
@@ -54,7 +59,7 @@ public class BillDiscountAction implements Strategy<Discount> {
exclusiveDiscount
(
discount
);
exclusiveDiscount
(
discount
);
return
;
return
;
}
else
{
}
else
{
if
(
discount
.
getExclusive
()
==
1
&&
mN
omalDiscountList
.
size
()
>
0
)
{
if
(
nomalDiscountList
!=
null
&&
discount
.
getExclusive
()
==
1
&&
n
omalDiscountList
.
size
()
>
0
)
{
//獨佔折扣
//獨佔折扣
exclusiveDiscount
(
discount
);
exclusiveDiscount
(
discount
);
return
;
return
;
...
@@ -71,7 +76,7 @@ public class BillDiscountAction implements Strategy<Discount> {
...
@@ -71,7 +76,7 @@ public class BillDiscountAction implements Strategy<Discount> {
//
//
// break;
// break;
default
:
default
:
mL
istener
.
preformAddDiscount
(
discount
.
clone
());
l
istener
.
preformAddDiscount
(
discount
.
clone
());
break
;
break
;
}
}
}
}
...
@@ -82,7 +87,7 @@ public class BillDiscountAction implements Strategy<Discount> {
...
@@ -82,7 +87,7 @@ public class BillDiscountAction implements Strategy<Discount> {
}
}
private
void
exclusiveDiscount
(
Discount
discount
)
{
private
void
exclusiveDiscount
(
Discount
discount
)
{
if
(
mL
istener
!=
null
)
{
if
(
l
istener
!=
null
)
{
showExclusiveTipDialog
(
discount
);
showExclusiveTipDialog
(
discount
);
}
}
}
}
...
@@ -93,7 +98,7 @@ public class BillDiscountAction implements Strategy<Discount> {
...
@@ -93,7 +98,7 @@ public class BillDiscountAction implements Strategy<Discount> {
* @return
* @return
*/
*/
private
boolean
hasExclusiveDiscount
()
{
private
boolean
hasExclusiveDiscount
()
{
for
(
NomalDiscount
nomalDiscount
:
mN
omalDiscountList
)
{
for
(
NomalDiscount
nomalDiscount
:
n
omalDiscountList
)
{
if
(
nomalDiscount
.
getDiscount
().
getExclusive
()
==
1
)
{
if
(
nomalDiscount
.
getDiscount
().
getExclusive
()
==
1
)
{
return
true
;
return
true
;
}
}
...
@@ -109,7 +114,7 @@ public class BillDiscountAction implements Strategy<Discount> {
...
@@ -109,7 +114,7 @@ public class BillDiscountAction implements Strategy<Discount> {
*/
*/
private
boolean
isOnlyOnce
(
Discount
discount
)
{
private
boolean
isOnlyOnce
(
Discount
discount
)
{
if
(
discount
.
getOnlyOnce
()
==
1
)
{
if
(
discount
.
getOnlyOnce
()
==
1
)
{
for
(
NomalDiscount
nomalDiscount
:
mN
omalDiscountList
)
{
for
(
NomalDiscount
nomalDiscount
:
n
omalDiscountList
)
{
Discount
item
=
nomalDiscount
.
getDiscount
();
Discount
item
=
nomalDiscount
.
getDiscount
();
if
(
discount
.
getId
().
longValue
()
==
item
.
getId
().
longValue
())
{
if
(
discount
.
getId
().
longValue
()
==
item
.
getId
().
longValue
())
{
return
true
;
return
true
;
...
@@ -126,15 +131,15 @@ public class BillDiscountAction implements Strategy<Discount> {
...
@@ -126,15 +131,15 @@ public class BillDiscountAction implements Strategy<Discount> {
* @param discount
* @param discount
*/
*/
private
void
showCustomAmountDialog
(
Discount
discount
,
boolean
exclusiveReplace
)
{
private
void
showCustomAmountDialog
(
Discount
discount
,
boolean
exclusiveReplace
)
{
CommonTipDialog
.
showEditDialog
(
mC
ontext
,
discount
.
getRemark
(),
"請輸入折扣金額"
,
InputType
.
TYPE_CLASS_NUMBER
|
InputType
.
TYPE_NUMBER_FLAG_DECIMAL
,
new
CommonTipDialog
.
OnEditTextListener
()
{
CommonTipDialog
.
showEditDialog
(
c
ontext
,
discount
.
getRemark
(),
"請輸入折扣金額"
,
InputType
.
TYPE_CLASS_NUMBER
|
InputType
.
TYPE_NUMBER_FLAG_DECIMAL
,
new
CommonTipDialog
.
OnEditTextListener
()
{
@Override
@Override
public
void
inputText
(
String
text
)
{
public
void
inputText
(
String
text
)
{
discount
.
setAmount
(
Double
.
parseDouble
(
text
));
discount
.
setAmount
(
Double
.
parseDouble
(
text
));
if
(
mL
istener
!=
null
)
{
if
(
l
istener
!=
null
)
{
if
(
exclusiveReplace
)
{
if
(
exclusiveReplace
)
{
mListener
.
exclusiveRemoveOthers
(
mN
omalDiscountList
);
listener
.
exclusiveRemoveOthers
(
n
omalDiscountList
);
}
}
mL
istener
.
preformAddDiscount
(
discount
.
clone
());
l
istener
.
preformAddDiscount
(
discount
.
clone
());
}
}
}
}
});
});
...
@@ -146,17 +151,17 @@ public class BillDiscountAction implements Strategy<Discount> {
...
@@ -146,17 +151,17 @@ public class BillDiscountAction implements Strategy<Discount> {
* @param discount
* @param discount
*/
*/
private
void
showKeyboardDialog
(
Discount
discount
,
boolean
exclusiveReplace
)
{
private
void
showKeyboardDialog
(
Discount
discount
,
boolean
exclusiveReplace
)
{
new
KeyboardDialog
(
mC
ontext
)
new
KeyboardDialog
(
c
ontext
)
.
build
()
.
build
()
.
setOnCallBackListener
(
new
KeyboardDialog
.
OnCallBackListener
()
{
.
setOnCallBackListener
(
new
KeyboardDialog
.
OnCallBackListener
()
{
@Override
@Override
public
void
onSure
(
String
number
)
{
public
void
onSure
(
String
number
)
{
discount
.
setAmount
(
Double
.
parseDouble
(
number
));
discount
.
setAmount
(
Double
.
parseDouble
(
number
));
if
(
mL
istener
!=
null
)
{
if
(
l
istener
!=
null
)
{
if
(
exclusiveReplace
)
{
if
(
exclusiveReplace
)
{
mListener
.
exclusiveRemoveOthers
(
mN
omalDiscountList
);
listener
.
exclusiveRemoveOthers
(
n
omalDiscountList
);
}
}
mL
istener
.
preformAddDiscount
(
discount
.
clone
());
l
istener
.
preformAddDiscount
(
discount
.
clone
());
}
}
}
}
})
})
...
@@ -169,7 +174,7 @@ public class BillDiscountAction implements Strategy<Discount> {
...
@@ -169,7 +174,7 @@ public class BillDiscountAction implements Strategy<Discount> {
* @param discount
* @param discount
*/
*/
private
void
showExclusiveTipDialog
(
Discount
discount
)
{
private
void
showExclusiveTipDialog
(
Discount
discount
)
{
CommonTipDialog
.
showDoubtDialog2
(
mC
ontext
,
"有獨佔折扣,是否替換"
,
new
CommonTipDialog
.
OnCallbackListener
()
{
CommonTipDialog
.
showDoubtDialog2
(
c
ontext
,
"有獨佔折扣,是否替換"
,
new
CommonTipDialog
.
OnCallbackListener
()
{
@Override
@Override
public
void
onSure
()
{
public
void
onSure
()
{
switch
(
discount
.
getType
())
{
switch
(
discount
.
getType
())
{
...
@@ -183,8 +188,8 @@ public class BillDiscountAction implements Strategy<Discount> {
...
@@ -183,8 +188,8 @@ public class BillDiscountAction implements Strategy<Discount> {
//
//
// break;
// break;
default
:
default
:
mListener
.
exclusiveRemoveOthers
(
mN
omalDiscountList
);
listener
.
exclusiveRemoveOthers
(
n
omalDiscountList
);
mL
istener
.
preformAddDiscount
(
discount
.
clone
());
l
istener
.
preformAddDiscount
(
discount
.
clone
());
break
;
break
;
}
}
}
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/discount/MealCouponAction.java
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
action
.
discount
;
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
action
.
discount
;
import
android.app.Activity
;
import
android.app.Activity
;
import
android.text.InputType
;
import
com.gingersoft.gsa.cloud.
common.core.discount.Member
Coupon
;
import
com.gingersoft.gsa.cloud.
order.bean.discount.MemberWallet
Coupon
;
import
com.gingersoft.gsa.cloud.common.patterns.Strategy
;
import
com.gingersoft.gsa.cloud.common.patterns.Strategy
;
import
com.gingersoft.gsa.cloud.order.discount.NomalDiscount
;
import
com.gingersoft.gsa.cloud.common.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.KeyboardDialog
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.ArmsUtils
;
import
java.util.List
;
import
java.util.List
;
import
lombok.Builder
;
import
lombok.Setter
;
/**
/**
* @author : bin
* @author : bin
* @create date: 2020-10-27
* @create date: 2020-10-27
* @update date: 2020-10-27
* @update date: 2020-10-27
* @description:食品優惠券邏輯
* @description:食品優惠券邏輯
*/
*/
public
class
MealCouponAction
implements
Strategy
<
MemberCoupon
>
{
@Builder
@Setter
public
class
MealCouponAction
implements
Strategy
<
MemberWalletCoupon
>
{
private
Activity
mC
ontext
;
private
Activity
c
ontext
;
/**
/**
*
食品優惠券列表
*
選中的食品或套餐組
*/
*/
private
List
<
NomalDiscount
>
mNomalDiscount
List
;
private
List
<
OrderDetail
>
selectMixOrderMeal
List
;
private
OnCallBackListener
mL
istener
;
private
OnCallBackListener
l
istener
;
public
MealCouponAction
(
Activity
context
,
OnCallBackListener
listener
)
{
private
String
cashStr
;
this
.
mContext
=
context
;
this
.
mListener
=
listener
;
}
public
void
setNomalDiscountList
(
List
<
NomalDiscount
>
nomalDiscountList
)
{
this
.
mNomalDiscountList
=
nomalDiscountList
;
}
@Override
@Override
public
void
action
(
Member
Coupon
discount
)
{
public
void
action
(
Member
WalletCoupon
coupon
)
{
if
(
mListener
==
null
)
{
if
(
listener
==
null
||
selectMixOrderMealList
==
null
||
selectMixOrderMealList
.
size
()
==
0
)
{
return
;
return
;
}
}
double
mixTotalAomout
=
getMixTotalAomout
(
selectMixOrderMealList
);
// if(coupon.getAmount() > mixTotalAomout){
// //金額折扣總額不能超過 套餐總金額
// ArmsUtils.makeText(context, "優惠券金額不可以超過食品總金額!");
// return;
// }
if
(
coupon
.
getBillMinAmount
()
>
mixTotalAomout
)
{
//最小金額
ArmsUtils
.
makeText
(
context
,
"小於最小金額"
+
cashStr
+
coupon
.
getBillMinAmount
()
+
" 無法使用此食品優惠券"
);
return
;
}
listener
.
preformAddCoupon
(
coupon
.
clone
());
}
}
@Override
@Override
...
@@ -51,30 +58,23 @@ public class MealCouponAction implements Strategy<MemberCoupon> {
...
@@ -51,30 +58,23 @@ public class MealCouponAction implements Strategy<MemberCoupon> {
}
}
private
void
exclusiveDiscount
(
MemberCoupon
discount
)
{
if
(
mListener
!=
null
)
{
}
}
/**
/**
*
是否有獨佔折扣
*
獲取套餐總金額
*
*
* @param mixOrderMealList
* @return
* @return
*/
*/
private
boolean
hasExclusiveDiscount
()
{
private
double
getMixTotalAomout
(
List
<
OrderDetail
>
mixOrderMealList
)
{
for
(
NomalDiscount
nomalDiscount
:
mNomalDiscountList
)
{
double
mixTotalAomout
=
0.0
;
if
(
nomalDiscount
.
getDiscount
().
getExclusive
()
==
1
)
{
for
(
OrderDetail
orderDetail
:
mixOrderMealList
)
{
return
true
;
mixTotalAomout
=
MoneyUtil
.
sum
(
mixTotalAomout
,
orderDetail
.
getPrice
());
}
}
}
return
false
;
return
mixTotalAomout
;
}
}
public
interface
OnCallBackListener
{
public
interface
OnCallBackListener
{
void
exclusiveRemoveOthers
(
List
<
NomalDiscount
>
nomalDiscountList
);
void
preformAddCoupon
(
MemberWalletCoupon
discount
);
void
preformAddDiscount
(
MemberCoupon
discount
);
}
}
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/discount/MealDiscountAction.java
View file @
6ec228e3
...
@@ -14,54 +14,48 @@ import com.jess.arms.utils.ArmsUtils;
...
@@ -14,54 +14,48 @@ import com.jess.arms.utils.ArmsUtils;
import
java.util.List
;
import
java.util.List
;
import
lombok.Builder
;
import
lombok.Setter
;
/**
/**
* @author : bin
* @author : bin
* @create date: 2020-10-28
* @create date: 2020-10-28
* @update date: 2020-10-28
* @update date: 2020-10-28
* @description:美食折扣邏輯
* @description:美食折扣邏輯
*/
*/
@Builder
@Setter
public
class
MealDiscountAction
implements
Strategy
<
Discount
>
{
public
class
MealDiscountAction
implements
Strategy
<
Discount
>
{
private
Activity
context
;
private
Activity
mContext
;
/**
/**
* 選中的食品或套餐組
* 選中的食品或套餐組
*/
*/
private
List
<
OrderDetail
>
mSelectMixOrderMealList
;
private
List
<
OrderDetail
>
selectMixOrderMealList
;
private
List
<
MultyDiscount
>
mMultyDiscountList
;
private
MealDiscountAction
.
OnCallBackListener
mL
istener
;
private
MealDiscountAction
.
OnCallBackListener
l
istener
;
public
MealDiscountAction
(
Activity
context
,
List
<
MultyDiscount
>
multyDiscountList
,
MealDiscountAction
.
OnCallBackListener
listener
)
{
private
String
cashStr
;
this
.
mContext
=
context
;
this
.
mMultyDiscountList
=
multyDiscountList
;
this
.
mListener
=
listener
;
}
public
void
setSelectMixOrderMealList
(
List
<
OrderDetail
>
selectMixOrderMealList
)
{
this
.
mSelectMixOrderMealList
=
selectMixOrderMealList
;
}
@Override
@Override
public
void
action
(
Discount
discount
)
{
public
void
action
(
Discount
discount
)
{
if
(
mListener
==
null
||
mSelectMixOrderMealList
==
null
||
mS
electMixOrderMealList
.
size
()
==
0
)
{
if
(
listener
==
null
||
selectMixOrderMealList
==
null
||
s
electMixOrderMealList
.
size
()
==
0
)
{
return
;
return
;
}
}
double
mixTotalAomout
=
getMixTotalAomout
(
mS
electMixOrderMealList
);
double
mixTotalAomout
=
getMixTotalAomout
(
s
electMixOrderMealList
);
if
(
discount
.
getType
()
==
0
&&
discount
.
getAmount
()
>
mixTotalAomout
){
if
(
discount
.
getType
()
==
0
&&
discount
.
getAmount
()
>
mixTotalAomout
){
//金額折扣總額不能超過 食品總金額
//金額折扣總額不能超過 食品總金額
ArmsUtils
.
makeText
(
mC
ontext
,
"折扣金額不可以超過食品總金額!"
);
ArmsUtils
.
makeText
(
c
ontext
,
"折扣金額不可以超過食品總金額!"
);
return
;
return
;
}
}
if
(
discount
.
getMinBillAmount
()
>
mixTotalAomout
)
{
if
(
discount
.
getMinBillAmount
()
>
mixTotalAomout
)
{
//最小賬單金額
//最小賬單金額
ArmsUtils
.
makeText
(
mContext
,
"小於最小賬單金額$"
+
discount
.
getMinBillAmount
()
+
" 無法使用此折扣"
);
ArmsUtils
.
makeText
(
context
,
"小於最小賬單金額"
+
cashStr
+
discount
.
getMinBillAmount
()
+
" 無法使用此折扣"
);
return
;
return
;
}
}
if
(
isOnlyOnce
(
discount
))
{
if
(
isOnlyOnce
(
discount
))
{
//此折扣只一次
//此折扣只一次
ArmsUtils
.
makeText
(
mC
ontext
,
"此折扣只一次"
);
ArmsUtils
.
makeText
(
c
ontext
,
"此折扣只一次"
);
return
;
return
;
}
}
boolean
hasExclusive
=
hasExclusiveDiscount
();
boolean
hasExclusive
=
hasExclusiveDiscount
();
...
@@ -88,7 +82,7 @@ public class MealDiscountAction implements Strategy<Discount> {
...
@@ -88,7 +82,7 @@ public class MealDiscountAction implements Strategy<Discount> {
//
//
// break;
// break;
default
:
default
:
mL
istener
.
preformAddDiscount
(
discount
.
clone
());
l
istener
.
preformAddDiscount
(
discount
.
clone
());
break
;
break
;
}
}
}
}
...
@@ -99,7 +93,7 @@ public class MealDiscountAction implements Strategy<Discount> {
...
@@ -99,7 +93,7 @@ public class MealDiscountAction implements Strategy<Discount> {
}
}
private
void
exclusiveDiscount
(
Discount
discount
)
{
private
void
exclusiveDiscount
(
Discount
discount
)
{
if
(
mL
istener
!=
null
)
{
if
(
l
istener
!=
null
)
{
showExclusiveTipDialog
(
discount
);
showExclusiveTipDialog
(
discount
);
}
}
}
}
...
@@ -111,7 +105,7 @@ public class MealDiscountAction implements Strategy<Discount> {
...
@@ -111,7 +105,7 @@ public class MealDiscountAction implements Strategy<Discount> {
* @return
* @return
*/
*/
private
boolean
hasExclusiveDiscount
()
{
private
boolean
hasExclusiveDiscount
()
{
for
(
OrderDetail
orderMealItem
:
mS
electMixOrderMealList
)
{
for
(
OrderDetail
orderMealItem
:
s
electMixOrderMealList
)
{
if
(
orderMealItem
.
getDiscount
()
!=
null
&&
orderMealItem
.
getDiscount
().
getExclusive
()
==
1
)
{
if
(
orderMealItem
.
getDiscount
()
!=
null
&&
orderMealItem
.
getDiscount
().
getExclusive
()
==
1
)
{
return
true
;
return
true
;
}
}
...
@@ -127,7 +121,7 @@ public class MealDiscountAction implements Strategy<Discount> {
...
@@ -127,7 +121,7 @@ public class MealDiscountAction implements Strategy<Discount> {
*/
*/
private
boolean
isOnlyOnce
(
Discount
discount
)
{
private
boolean
isOnlyOnce
(
Discount
discount
)
{
if
(
discount
.
getOnlyOnce
()
==
1
)
{
if
(
discount
.
getOnlyOnce
()
==
1
)
{
for
(
OrderDetail
orderMealItem
:
mS
electMixOrderMealList
)
{
for
(
OrderDetail
orderMealItem
:
s
electMixOrderMealList
)
{
Discount
item
=
orderMealItem
.
getDiscount
();
Discount
item
=
orderMealItem
.
getDiscount
();
if
(
item
!=
null
&&
discount
.
getId
().
longValue
()
==
item
.
getId
().
longValue
())
{
if
(
item
!=
null
&&
discount
.
getId
().
longValue
()
==
item
.
getId
().
longValue
())
{
return
true
;
return
true
;
...
@@ -144,15 +138,15 @@ public class MealDiscountAction implements Strategy<Discount> {
...
@@ -144,15 +138,15 @@ public class MealDiscountAction implements Strategy<Discount> {
* @param discount
* @param discount
*/
*/
private
void
showCustomAmountDialog
(
Discount
discount
,
boolean
exclusiveReplace
)
{
private
void
showCustomAmountDialog
(
Discount
discount
,
boolean
exclusiveReplace
)
{
CommonTipDialog
.
showEditDialog
(
mC
ontext
,
discount
.
getRemark
(),
"請輸入折扣金額"
,
InputType
.
TYPE_CLASS_NUMBER
|
InputType
.
TYPE_NUMBER_FLAG_DECIMAL
,
new
CommonTipDialog
.
OnEditTextListener
()
{
CommonTipDialog
.
showEditDialog
(
c
ontext
,
discount
.
getRemark
(),
"請輸入折扣金額"
,
InputType
.
TYPE_CLASS_NUMBER
|
InputType
.
TYPE_NUMBER_FLAG_DECIMAL
,
new
CommonTipDialog
.
OnEditTextListener
()
{
@Override
@Override
public
void
inputText
(
String
text
)
{
public
void
inputText
(
String
text
)
{
discount
.
setAmount
(
Double
.
parseDouble
(
text
));
discount
.
setAmount
(
Double
.
parseDouble
(
text
));
if
(
mL
istener
!=
null
)
{
if
(
l
istener
!=
null
)
{
if
(
exclusiveReplace
)
{
if
(
exclusiveReplace
)
{
mL
istener
.
exclusiveRemoveOthers
();
l
istener
.
exclusiveRemoveOthers
();
}
}
mL
istener
.
preformAddDiscount
(
discount
.
clone
());
l
istener
.
preformAddDiscount
(
discount
.
clone
());
}
}
}
}
});
});
...
@@ -164,17 +158,17 @@ public class MealDiscountAction implements Strategy<Discount> {
...
@@ -164,17 +158,17 @@ public class MealDiscountAction implements Strategy<Discount> {
* @param discount
* @param discount
*/
*/
private
void
showKeyboardDialog
(
Discount
discount
,
boolean
exclusiveReplace
)
{
private
void
showKeyboardDialog
(
Discount
discount
,
boolean
exclusiveReplace
)
{
new
KeyboardDialog
(
mC
ontext
)
new
KeyboardDialog
(
c
ontext
)
.
build
()
.
build
()
.
setOnCallBackListener
(
new
KeyboardDialog
.
OnCallBackListener
()
{
.
setOnCallBackListener
(
new
KeyboardDialog
.
OnCallBackListener
()
{
@Override
@Override
public
void
onSure
(
String
number
)
{
public
void
onSure
(
String
number
)
{
discount
.
setAmount
(
Double
.
parseDouble
(
number
));
discount
.
setAmount
(
Double
.
parseDouble
(
number
));
if
(
mL
istener
!=
null
)
{
if
(
l
istener
!=
null
)
{
if
(
exclusiveReplace
)
{
if
(
exclusiveReplace
)
{
mL
istener
.
exclusiveRemoveOthers
();
l
istener
.
exclusiveRemoveOthers
();
}
}
mL
istener
.
preformAddDiscount
(
discount
.
clone
());
l
istener
.
preformAddDiscount
(
discount
.
clone
());
}
}
}
}
})
})
...
@@ -187,7 +181,7 @@ public class MealDiscountAction implements Strategy<Discount> {
...
@@ -187,7 +181,7 @@ public class MealDiscountAction implements Strategy<Discount> {
* @param discount
* @param discount
*/
*/
private
void
showExclusiveTipDialog
(
Discount
discount
)
{
private
void
showExclusiveTipDialog
(
Discount
discount
)
{
CommonTipDialog
.
showDoubtDialog2
(
mC
ontext
,
"有獨佔折扣,是否替換"
,
new
CommonTipDialog
.
OnCallbackListener
()
{
CommonTipDialog
.
showDoubtDialog2
(
c
ontext
,
"有獨佔折扣,是否替換"
,
new
CommonTipDialog
.
OnCallbackListener
()
{
@Override
@Override
public
void
onSure
()
{
public
void
onSure
()
{
switch
(
discount
.
getType
())
{
switch
(
discount
.
getType
())
{
...
@@ -201,8 +195,8 @@ public class MealDiscountAction implements Strategy<Discount> {
...
@@ -201,8 +195,8 @@ public class MealDiscountAction implements Strategy<Discount> {
//
//
// break;
// break;
default
:
default
:
mL
istener
.
exclusiveRemoveOthers
();
l
istener
.
exclusiveRemoveOthers
();
mL
istener
.
preformAddDiscount
(
discount
.
clone
());
l
istener
.
preformAddDiscount
(
discount
.
clone
());
break
;
break
;
}
}
}
}
...
@@ -216,7 +210,7 @@ public class MealDiscountAction implements Strategy<Discount> {
...
@@ -216,7 +210,7 @@ public class MealDiscountAction implements Strategy<Discount> {
*/
*/
private
int
getDiscountSize
()
{
private
int
getDiscountSize
()
{
int
size
=
0
;
int
size
=
0
;
for
(
OrderDetail
orderMealItem
:
mS
electMixOrderMealList
)
{
for
(
OrderDetail
orderMealItem
:
s
electMixOrderMealList
)
{
if
(
orderMealItem
.
getDiscount
()
!=
null
)
{
if
(
orderMealItem
.
getDiscount
()
!=
null
)
{
size
++;
size
++;
}
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/CouponContract.java
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
contract
;
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
contract
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.order.bean.discount.MemberWalletCoupon
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.core.discount.MemberCoupon
;
import
com.jess.arms.mvp.IView
;
import
com.jess.arms.mvp.IView
;
import
com.jess.arms.mvp.IModel
;
import
com.jess.arms.mvp.IModel
;
import
com.kingja.loadsir.callback.Callback
;
import
com.kingja.loadsir.callback.Callback
;
import
com.kingja.loadsir.core.LoadService
;
import
com.kingja.loadsir.core.LoadService
;
import
com.kingja.loadsir.core.LoadSir
;
import
java.util.List
;
import
java.util.List
;
import
io.reactivex.Observable
;
import
io.reactivex.Single
;
import
io.reactivex.Single
;
import
retrofit2.http.Query
;
/**
/**
...
@@ -33,7 +27,7 @@ public interface CouponContract {
...
@@ -33,7 +27,7 @@ public interface CouponContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface
View
extends
IView
{
interface
View
extends
IView
{
void
returnMemberCouponList
(
List
<
MemberCoupon
>
memberCoupons
);
void
returnMemberCouponList
(
List
<
Member
Wallet
Coupon
>
memberCoupons
);
void
showLoadSirSuccess
();
void
showLoadSirSuccess
();
...
@@ -45,7 +39,7 @@ public interface CouponContract {
...
@@ -45,7 +39,7 @@ public interface CouponContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface
Model
extends
IModel
{
interface
Model
extends
IModel
{
Single
<
List
<
MemberCoupon
>>
getMemberWalletList
(
int
brandId
,
long
memberId
,
long
limitType
,
long
pageIndex
,
long
pageSize
);
Single
<
List
<
Member
Wallet
Coupon
>>
getMemberWalletList
(
int
brandId
,
long
memberId
,
long
limitType
,
long
pageIndex
,
long
pageSize
);
}
}
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/Fine
Item
AllContract.java
→
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/Fine
Child
AllContract.java
View file @
6ec228e3
...
@@ -24,7 +24,7 @@ import java.util.List;
...
@@ -24,7 +24,7 @@ import java.util.List;
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
* ================================================
*/
*/
public
interface
Fine
Item
AllContract
{
public
interface
Fine
Child
AllContract
{
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface
View
extends
IView
{
interface
View
extends
IView
{
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/Fine
Item
OneselfContract.java
→
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/Fine
Child
OneselfContract.java
View file @
6ec228e3
...
@@ -23,7 +23,7 @@ import java.util.List;
...
@@ -23,7 +23,7 @@ import java.util.List;
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
* ================================================
*/
*/
public
interface
Fine
Item
OneselfContract
{
public
interface
Fine
Child
OneselfContract
{
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface
View
extends
IView
{
interface
View
extends
IView
{
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/FineContract.java
0 → 100644
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
contract
;
import
com.jess.arms.mvp.IView
;
import
com.jess.arms.mvp.IModel
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/24/2021 18:33
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public
interface
FineContract
{
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface
View
extends
IView
{
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface
Model
extends
IModel
{
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/MealStandContract.java
View file @
6ec228e3
...
@@ -20,6 +20,7 @@ import java.util.List;
...
@@ -20,6 +20,7 @@ import java.util.List;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.recyclerview.widget.RecyclerView
;
import
io.reactivex.Observable
;
import
io.reactivex.Observable
;
import
io.reactivex.Single
;
import
okhttp3.RequestBody
;
import
okhttp3.RequestBody
;
...
@@ -133,7 +134,7 @@ public interface MealStandContract {
...
@@ -133,7 +134,7 @@ public interface MealStandContract {
Observable
<
BaseResult
>
getRestaurantFoodReason
(
int
brandId
,
int
restaurantId
,
int
type
);
Observable
<
BaseResult
>
getRestaurantFoodReason
(
int
brandId
,
int
restaurantId
,
int
type
);
Observable
<
BaseResult
>
queryMember
(
int
type
,
String
parm
,
String
shopName
,
int
tableId
,
String
tableNumber
);
Single
<
BaseResult
>
queryMember
(
int
type
,
String
parm
,
String
shopName
,
int
tableId
,
String
tableNumber
);
Observable
<
BaseResult
>
memberUse
(
int
tableId
,
String
tableNumber
,
long
memberId
);
Observable
<
BaseResult
>
memberUse
(
int
tableId
,
String
tableNumber
,
long
memberId
);
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/MealStandContract2.java
0 → 100644
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
contract
;
import
android.app.Activity
;
import
android.widget.BaseAdapter
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.core.member.MemberInfo
;
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.FoodModifier
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.response.BaseOrderResponse
;
import
com.jess.arms.base.DefaultAdapter
;
import
java.util.List
;
import
io.reactivex.Observable
;
import
io.reactivex.Single
;
import
okhttp3.RequestBody
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 12/27/2019 19:17
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public
interface
MealStandContract2
{
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface
View
extends
BaseOrderContract
.
View
{
void
showStandOperLayoutVisibility
(
boolean
show
);
void
showBtnMealModifyRestoreVisibility
(
boolean
show
);
void
setOrderFoodCount
(
String
number
);
Activity
getActivity
();
int
getFromType
();
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface
Model
extends
BaseOrderContract
.
Model
{
Observable
<
BaseResult
>
getCurrentSoldoutFood
(
RequestBody
requestBody
);
Observable
<
BaseResult
>
createOrder
(
RequestBody
requestBody
);
Observable
<
BaseResult
>
addFood
(
RequestBody
requestBody
);
Observable
<
BaseOrderResponse
>
loadOrder
(
long
orderId
);
Observable
<
BaseOrderResponse
>
deleteFood
(
RequestBody
requestBody
);
Observable
<
BaseOrderResponse
>
printOrder
(
RequestBody
requestBody
);
Observable
<
BaseResult
>
getRestaurantFoodReason
(
int
brandId
,
int
restaurantId
,
int
type
);
Single
<
BaseResult
>
queryMember
(
int
type
,
String
parm
,
String
shopName
,
int
tableId
,
String
tableNumber
);
Observable
<
BaseResult
>
memberUse
(
int
tableId
,
String
tableNumber
,
long
memberId
);
Observable
<
BaseResult
>
memberUseCancel
(
int
tableId
,
String
tableNumber
,
long
memberId
);
List
<
Food
>
queryDB_AllFoodList
();
List
<
Food
>
queryDB_FoodGroupList
(
int
foodSummary
);
List
<
Food
>
queryDB_FoodList
(
long
parentId
,
int
foodSummary
);
List
<
Modifier
>
queryDB_ModifierList
(
long
fid
,
int
mode
);
List
<
ComboItem
>
queryDB_ComboList
(
long
fid
,
int
foodSummary
);
List
<
FoodCombo
>
isComboFood
(
long
fid
);
List
<
FoodModifier
>
queryDB_FoodModifierList
(
long
fid
);
List
<
Discount
>
queryDB_DiscountList
(
byte
discountScope
,
byte
discountType
);
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/RiceponMemberDialogContract.java
0 → 100644
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
contract
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.core.member.MemberInfo
;
import
com.jess.arms.mvp.IView
;
import
com.jess.arms.mvp.IModel
;
import
io.reactivex.Observable
;
import
io.reactivex.Single
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/24/2021 16:24
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public
interface
RiceponMemberDialogContract
{
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface
View
extends
IView
{
void
returnMemberInfo
(
MemberInfo
memberInfo
);
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface
Model
extends
IModel
{
Single
<
BaseResult
>
queryMember
(
int
type
,
String
parm
,
String
shopName
,
int
tableId
,
String
tableNumber
);
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/SetMealContract.java
View file @
6ec228e3
...
@@ -7,6 +7,7 @@ import com.gingersoft.gsa.cloud.database.bean.Food;
...
@@ -7,6 +7,7 @@ import com.gingersoft.gsa.cloud.database.bean.Food;
import
com.gingersoft.gsa.cloud.database.bean.FoodCombo
;
import
com.gingersoft.gsa.cloud.database.bean.FoodCombo
;
import
com.gingersoft.gsa.cloud.database.bean.FoodModifier
;
import
com.gingersoft.gsa.cloud.database.bean.FoodModifier
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity
;
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.activity.MealStandActivity2
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter
;
...
@@ -41,6 +42,10 @@ public interface SetMealContract {
...
@@ -41,6 +42,10 @@ public interface SetMealContract {
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface
View
extends
BaseOrderContract
.
View
{
interface
View
extends
BaseOrderContract
.
View
{
void
setCurrLayout
(
byte
layout
);
void
setCustomFoodDialog
(
int
customType
,
OrderDetail
foodItem
);
void
setFoodGroupRecycleSpanCount
(
int
size
);
void
setFoodGroupRecycleSpanCount
(
int
size
);
void
setFoodRecycleSpanCount
(
int
size
);
void
setFoodRecycleSpanCount
(
int
size
);
...
@@ -67,14 +72,6 @@ public interface SetMealContract {
...
@@ -67,14 +72,6 @@ public interface SetMealContract {
void
resetSelect
(
int
position
,
Food
datasBean
);
void
resetSelect
(
int
position
,
Food
datasBean
);
void
returnFoodGroupList
(
List
<
Food
>
foodGroupList
);
void
returnFoodList
(
List
<
Food
>
foodList
);
void
returnFoodComboList
(
List
<
ComboItem
>
comboList
);
void
returnModifierList
(
List
<
Modifier
>
modifierList
);
void
initFoodGroupAdapter
(
List
<
Food
>
foodGroupList
);
void
initFoodGroupAdapter
(
List
<
Food
>
foodGroupList
);
void
notifyFoodGroupAdapter
();
void
notifyFoodGroupAdapter
();
...
@@ -97,9 +94,9 @@ public interface SetMealContract {
...
@@ -97,9 +94,9 @@ public interface SetMealContract {
Single
<
List
<
Food
>>
queryDB_FoodList
(
long
parentId
,
int
foodSummary
);
Single
<
List
<
Food
>>
queryDB_FoodList
(
long
parentId
,
int
foodSummary
);
Single
<
List
<
Modifier
>
>
queryDB_ModifierList
(
long
fid
,
int
mode
);
List
<
Modifier
>
queryDB_ModifierList
(
long
fid
,
int
mode
);
Single
<
List
<
ComboItem
>
>
queryDB_ComboList
(
long
fid
,
int
foodSummary
);
List
<
ComboItem
>
queryDB_ComboList
(
long
fid
,
int
foodSummary
);
Single
<
List
<
FoodCombo
>>
isComboFood
(
long
fid
);
Single
<
List
<
FoodCombo
>>
isComboFood
(
long
fid
);
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/CouponModel.java
View file @
6ec228e3
...
@@ -3,9 +3,8 @@ package com.gingersoft.gsa.cloud.table.mvp.model;
...
@@ -3,9 +3,8 @@ package com.gingersoft.gsa.cloud.table.mvp.model;
import
android.app.Application
;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.
common.core.discount.Member
Coupon
;
import
com.gingersoft.gsa.cloud.
order.bean.discount.MemberWallet
Coupon
;
import
com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils
;
import
com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils
;
import
com.gingersoft.gsa.cloud.table.mvp.model.service.MealService
;
import
com.gingersoft.gsa.cloud.table.mvp.model.service.MemberService
;
import
com.gingersoft.gsa.cloud.table.mvp.model.service.MemberService
;
import
com.google.gson.Gson
;
import
com.google.gson.Gson
;
import
com.jess.arms.integration.IRepositoryManager
;
import
com.jess.arms.integration.IRepositoryManager
;
...
@@ -56,14 +55,14 @@ public class CouponModel extends BaseModel implements CouponContract.Model {
...
@@ -56,14 +55,14 @@ public class CouponModel extends BaseModel implements CouponContract.Model {
}
}
@Override
@Override
public
Single
<
List
<
MemberCoupon
>>
getMemberWalletList
(
int
brandId
,
long
memberId
,
long
limitType
,
long
pageIndex
,
long
pageSize
)
{
public
Single
<
List
<
Member
Wallet
Coupon
>>
getMemberWalletList
(
int
brandId
,
long
memberId
,
long
limitType
,
long
pageIndex
,
long
pageSize
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MemberService
.
class
)
return
mRepositoryManager
.
obtainRetrofitService
(
MemberService
.
class
)
.
getMemberWalletList
(
brandId
,
memberId
,
limitType
,
pageIndex
,
pageSize
)
.
getMemberWalletList
(
brandId
,
memberId
,
limitType
,
pageIndex
,
pageSize
)
.
map
(
new
Function
<
BaseResult
,
List
<
MemberCoupon
>>()
{
.
map
(
new
Function
<
BaseResult
,
List
<
Member
Wallet
Coupon
>>()
{
@Override
@Override
public
List
<
MemberCoupon
>
apply
(
BaseResult
result
)
throws
Exception
{
public
List
<
Member
Wallet
Coupon
>
apply
(
BaseResult
result
)
throws
Exception
{
if
(
result
.
isSuccess
())
{
if
(
result
.
isSuccess
())
{
return
GsonUtils
.
jsonToList
(
result
.
getData
(),
MemberCoupon
.
class
);
return
GsonUtils
.
jsonToList
(
result
.
getData
(),
Member
Wallet
Coupon
.
class
);
}
else
{
}
else
{
return
new
ArrayList
<>();
return
new
ArrayList
<>();
}
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/Fine
Item
AllModel.java
→
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/Fine
Child
AllModel.java
View file @
6ec228e3
...
@@ -4,7 +4,7 @@ import android.app.Application;
...
@@ -4,7 +4,7 @@ import android.app.Application;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils
;
import
com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.Fine
Item
AllContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.Fine
Child
AllContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.utils.MealStyleUtils
;
import
com.gingersoft.gsa.cloud.table.mvp.model.utils.MealStyleUtils
;
import
com.google.gson.Gson
;
import
com.google.gson.Gson
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.jess.arms.di.scope.FragmentScope
;
...
@@ -29,14 +29,14 @@ import javax.inject.Inject;
...
@@ -29,14 +29,14 @@ import javax.inject.Inject;
* ================================================
* ================================================
*/
*/
@FragmentScope
@FragmentScope
public
class
Fine
ItemAllModel
extends
BaseModel
implements
FineItem
AllContract
.
Model
{
public
class
Fine
ChildAllModel
extends
BaseModel
implements
FineChild
AllContract
.
Model
{
@Inject
@Inject
Gson
mGson
;
Gson
mGson
;
@Inject
@Inject
Application
mApplication
;
Application
mApplication
;
@Inject
@Inject
public
Fine
Item
AllModel
(
IRepositoryManager
repositoryManager
)
{
public
Fine
Child
AllModel
(
IRepositoryManager
repositoryManager
)
{
super
(
repositoryManager
);
super
(
repositoryManager
);
}
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/Fine
Item
OneselfModel.java
→
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/Fine
Child
OneselfModel.java
View file @
6ec228e3
...
@@ -6,7 +6,7 @@ import com.gingersoft.gsa.cloud.database.bean.ComboItem;
...
@@ -6,7 +6,7 @@ import com.gingersoft.gsa.cloud.database.bean.ComboItem;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.database.utils.ComboItemDaoUtils
;
import
com.gingersoft.gsa.cloud.database.utils.ComboItemDaoUtils
;
import
com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils
;
import
com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.Fine
Item
OneselfContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.Fine
Child
OneselfContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.utils.MealStyleUtils
;
import
com.gingersoft.gsa.cloud.table.mvp.model.utils.MealStyleUtils
;
import
com.google.gson.Gson
;
import
com.google.gson.Gson
;
import
com.jess.arms.integration.IRepositoryManager
;
import
com.jess.arms.integration.IRepositoryManager
;
...
@@ -32,14 +32,14 @@ import javax.inject.Inject;
...
@@ -32,14 +32,14 @@ import javax.inject.Inject;
* ================================================
* ================================================
*/
*/
@FragmentScope
@FragmentScope
public
class
Fine
ItemOneselfModel
extends
BaseModel
implements
FineItem
OneselfContract
.
Model
{
public
class
Fine
ChildOneselfModel
extends
BaseModel
implements
FineChild
OneselfContract
.
Model
{
@Inject
@Inject
Gson
mGson
;
Gson
mGson
;
@Inject
@Inject
Application
mApplication
;
Application
mApplication
;
@Inject
@Inject
public
Fine
Item
OneselfModel
(
IRepositoryManager
repositoryManager
)
{
public
Fine
Child
OneselfModel
(
IRepositoryManager
repositoryManager
)
{
super
(
repositoryManager
);
super
(
repositoryManager
);
}
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/FineModel.java
0 → 100644
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
;
import
android.app.Application
;
import
com.google.gson.Gson
;
import
com.jess.arms.integration.IRepositoryManager
;
import
com.jess.arms.mvp.BaseModel
;
import
com.jess.arms.di.scope.FragmentScope
;
import
javax.inject.Inject
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.FineContract
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/24/2021 18:33
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@FragmentScope
public
class
FineModel
extends
BaseModel
implements
FineContract
.
Model
{
@Inject
Gson
mGson
;
@Inject
Application
mApplication
;
@Inject
public
FineModel
(
IRepositoryManager
repositoryManager
)
{
super
(
repositoryManager
);
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
this
.
mGson
=
null
;
this
.
mApplication
=
null
;
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/MealStandModel.java
View file @
6ec228e3
...
@@ -35,6 +35,7 @@ import javax.inject.Inject;
...
@@ -35,6 +35,7 @@ import javax.inject.Inject;
import
io.reactivex.Observable
;
import
io.reactivex.Observable
;
import
io.reactivex.Observer
;
import
io.reactivex.Observer
;
import
io.reactivex.Single
;
import
io.reactivex.disposables.Disposable
;
import
io.reactivex.disposables.Disposable
;
import
io.reactivex.functions.Action
;
import
io.reactivex.functions.Action
;
import
io.reactivex.functions.Consumer
;
import
io.reactivex.functions.Consumer
;
...
@@ -188,7 +189,7 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model
...
@@ -188,7 +189,7 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model
}
}
@Override
@Override
public
Observab
le
<
BaseResult
>
queryMember
(
int
type
,
String
parm
,
String
shopName
,
int
tableId
,
String
tableNumber
)
{
public
Sing
le
<
BaseResult
>
queryMember
(
int
type
,
String
parm
,
String
shopName
,
int
tableId
,
String
tableNumber
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MemberService
.
class
)
return
mRepositoryManager
.
obtainRetrofitService
(
MemberService
.
class
)
.
queryMember
(
type
,
parm
,
shopName
,
tableId
,
tableNumber
);
.
queryMember
(
type
,
parm
,
shopName
,
tableId
,
tableNumber
);
}
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/MealStandModel2.java
0 → 100644
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.bean.FoodCombo
;
import
com.gingersoft.gsa.cloud.database.bean.FoodModifier
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.database.utils.ComboItemDaoUtils
;
import
com.gingersoft.gsa.cloud.database.utils.DiscountDaoUtils
;
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.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract2
;
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.service.MemberService
;
import
com.gingersoft.gsa.cloud.table.mvp.model.service.OrderPayService
;
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
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.jess.arms.integration.IRepositoryManager
;
import
com.jess.arms.mvp.BaseModel
;
import
java.util.List
;
import
javax.inject.Inject
;
import
io.reactivex.Observable
;
import
io.reactivex.Single
;
import
io.reactivex.functions.Function
;
import
okhttp3.RequestBody
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 12/27/2019 19:17
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@ActivityScope
public
class
MealStandModel2
extends
BaseModel
implements
MealStandContract2
.
Model
{
@Inject
Gson
mGson
;
@Inject
Application
mApplication
;
@Inject
public
MealStandModel2
(
IRepositoryManager
repositoryManager
)
{
super
(
repositoryManager
);
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
this
.
mGson
=
null
;
this
.
mApplication
=
null
;
}
@Override
public
List
<
Food
>
queryDB_AllFoodList
()
{
FoodDaoUtils
foodDaoUtils
=
new
FoodDaoUtils
(
mApplication
);
List
<
Food
>
foods
=
foodDaoUtils
.
queryAllFoodByQueryBuilder
();
return
foods
;
}
@Override
public
List
<
Food
>
queryDB_FoodGroupList
(
int
foodSummary
)
{
FoodDaoUtils
foodDaoUtils
=
new
FoodDaoUtils
(
mApplication
);
List
<
Food
>
foods
=
foodDaoUtils
.
queryFoodGroupByQueryBuilder
(
foodSummary
);
return
MealStyleUtils
.
assemblyFoodsColor
(
MealConditionFilterUtils
.
foodConditionFilter
(
foods
,
foodSummary
));
}
@Override
public
List
<
Food
>
queryDB_FoodList
(
long
parentId
,
int
foodSummary
)
{
FoodDaoUtils
foodDaoUtils
=
new
FoodDaoUtils
(
mApplication
);
List
<
Food
>
foods
=
foodDaoUtils
.
queryFoodByQueryBuilder
(
parentId
,
foodSummary
);
return
MealStyleUtils
.
assemblyFoodsColor
(
MealConditionFilterUtils
.
foodConditionFilter
(
foods
,
foodSummary
));
}
@Override
public
List
<
Modifier
>
queryDB_ModifierList
(
long
fid
,
int
mode
)
{
ModifierDaoUtils
daoUtils
=
new
ModifierDaoUtils
(
mApplication
);
return
MealStyleUtils
.
assemblyModifiersColor
(
daoUtils
.
queryModifiersByFid
(
fid
,
mode
));
}
@Override
public
List
<
ComboItem
>
queryDB_ComboList
(
long
fid
,
int
foodSummary
)
{
ComboItemDaoUtils
comboItemDao
=
new
ComboItemDaoUtils
(
mApplication
);
List
<
ComboItem
>
foodCombos
=
comboItemDao
.
queryComboItemsByFidQueryBuilder
(
fid
,
foodSummary
);
return
MealConditionFilterUtils
.
comboConditionFilter
(
foodCombos
,
foodSummary
);
}
@Override
public
List
<
FoodCombo
>
isComboFood
(
long
fid
)
{
FoodComboDaoUtils
foodComboDaoUtils
=
new
FoodComboDaoUtils
(
mApplication
);
return
foodComboDaoUtils
.
queryCombosFoodsByQueryBuilder
(
fid
);
}
@Override
public
List
<
FoodModifier
>
queryDB_FoodModifierList
(
long
fid
)
{
return
null
;
}
@Override
public
List
<
Discount
>
queryDB_DiscountList
(
byte
discountScope
,
byte
discountType
)
{
DiscountDaoUtils
discountDaoUtils
=
new
DiscountDaoUtils
(
mApplication
);
List
<
Discount
>
discountList
=
discountDaoUtils
.
queryDiscountByQueryBuilder
();
return
MealConditionFilterUtils
.
discountConditionFilter
(
discountList
,
discountScope
,
discountType
);
}
@Override
public
Observable
<
BaseResult
>
getCurrentSoldoutFood
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
getCurrentSoldoutFood
(
requestBody
);
}
@Override
public
Observable
<
BaseOrderResponse
>
loadOrder
(
long
orderId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
loadOrder
(
orderId
);
}
@Override
public
Observable
<
BaseResult
>
createOrder
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
createOrder
(
requestBody
);
}
@Override
public
Observable
<
BaseResult
>
addFood
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
addFood
(
requestBody
);
}
@Override
public
Observable
<
BaseOrderResponse
>
deleteFood
(
RequestBody
requestBody
)
{
Observable
ob
=
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
deleteFood
(
requestBody
)
.
flatMap
(
new
Function
<
BaseResult
,
Observable
<
BaseOrderResponse
>>()
{
@Override
public
Observable
<
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
Observable
.
just
(
baseOrderRespose
);
}
});
return
ob
;
}
@Override
public
Observable
<
BaseOrderResponse
>
calculationPrice
(
long
orderId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
calculationPrice
(
orderId
);
}
@Override
public
Observable
<
BaseOrderResponse
>
printOrder
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
printOrder
(
requestBody
);
}
@Override
public
Observable
<
BaseResult
>
getRestaurantFoodReason
(
int
brandId
,
int
restaurantId
,
int
type
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MealService
.
class
)
.
getRestaurantFoodReason
(
brandId
,
restaurantId
,
type
);
}
@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
);
}
@Override
public
Observable
<
BaseResult
>
memberUse
(
int
tableId
,
String
tableNumber
,
long
memberId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MemberService
.
class
)
.
memberUse
(
tableId
,
tableNumber
,
memberId
);
}
@Override
public
Observable
<
BaseResult
>
memberUseCancel
(
int
tableId
,
String
tableNumber
,
long
memberId
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MemberService
.
class
)
.
memberUseCancel
(
tableId
,
tableNumber
,
memberId
);
}
@Override
public
Observable
<
BaseResult
>
toOrderPay
(
RequestBody
requestBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
OrderPayService
.
class
)
.
toOrderPay
(
requestBody
);
}
@Override
public
Observable
<
BaseResult
>
updateOrder
(
RequestBody
formBody
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
OrderPayService
.
class
)
.
updateOrder
(
formBody
);
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/RiceponMemberDialogModel.java
0 → 100644
View file @
6ec228e3
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.table.mvp.model.service.MemberService
;
import
com.google.gson.Gson
;
import
com.jess.arms.integration.IRepositoryManager
;
import
com.jess.arms.mvp.BaseModel
;
import
com.jess.arms.di.scope.FragmentScope
;
import
javax.inject.Inject
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.RiceponMemberDialogContract
;
import
io.reactivex.Observable
;
import
io.reactivex.Single
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/24/2021 16:24
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@FragmentScope
public
class
RiceponMemberDialogModel
extends
BaseModel
implements
RiceponMemberDialogContract
.
Model
{
@Inject
Gson
mGson
;
@Inject
Application
mApplication
;
@Inject
public
RiceponMemberDialogModel
(
IRepositoryManager
repositoryManager
)
{
super
(
repositoryManager
);
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
this
.
mGson
=
null
;
this
.
mApplication
=
null
;
}
@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
);
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/SetMealModel.java
View file @
6ec228e3
...
@@ -3,12 +3,19 @@ package com.gingersoft.gsa.cloud.table.mvp.model;
...
@@ -3,12 +3,19 @@ package com.gingersoft.gsa.cloud.table.mvp.model;
import
android.app.Application
;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.rxjava.MyRxSchedulerUtils
;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.bean.FoodCombo
;
import
com.gingersoft.gsa.cloud.database.bean.FoodCombo
;
import
com.gingersoft.gsa.cloud.database.bean.FoodModifier
;
import
com.gingersoft.gsa.cloud.database.bean.FoodModifier
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.database.utils.ComboItemDaoUtils
;
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.bean.response.BaseOrderResponse
;
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
;
import
com.google.gson.Gson
;
import
com.jess.arms.integration.IRepositoryManager
;
import
com.jess.arms.integration.IRepositoryManager
;
import
com.jess.arms.mvp.BaseModel
;
import
com.jess.arms.mvp.BaseModel
;
...
@@ -59,27 +66,41 @@ public class SetMealModel extends BaseModel implements SetMealContract.Model {
...
@@ -59,27 +66,41 @@ public class SetMealModel extends BaseModel implements SetMealContract.Model {
@Override
@Override
public
Single
<
List
<
Food
>>
queryDB_FoodGroupList
(
int
foodSummary
)
{
public
Single
<
List
<
Food
>>
queryDB_FoodGroupList
(
int
foodSummary
)
{
return
null
;
FoodDaoUtils
foodDaoUtils
=
new
FoodDaoUtils
(
mApplication
);
List
<
Food
>
foods
=
foodDaoUtils
.
queryFoodGroupByQueryBuilder
(
foodSummary
);
return
Single
.
just
(
MealStyleUtils
.
assemblyFoodsColor
(
MealConditionFilterUtils
.
foodConditionFilter
(
foods
,
foodSummary
)))
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
}
@Override
@Override
public
Single
<
List
<
Food
>>
queryDB_FoodList
(
long
parentId
,
int
foodSummary
)
{
public
Single
<
List
<
Food
>>
queryDB_FoodList
(
long
parentId
,
int
foodSummary
)
{
return
null
;
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
());
}
}
@Override
@Override
public
Single
<
List
<
Modifier
>>
queryDB_ModifierList
(
long
fid
,
int
mode
)
{
public
List
<
Modifier
>
queryDB_ModifierList
(
long
fid
,
int
mode
)
{
return
null
;
ModifierDaoUtils
daoUtils
=
new
ModifierDaoUtils
(
mApplication
);
List
<
Modifier
>
modifierList
=
daoUtils
.
queryModifiersByFid
(
fid
,
mode
);
return
MealStyleUtils
.
assemblyModifiersColor
(
modifierList
);
}
}
@Override
@Override
public
Single
<
List
<
ComboItem
>>
queryDB_ComboList
(
long
fid
,
int
foodSummary
)
{
public
List
<
ComboItem
>
queryDB_ComboList
(
long
fid
,
int
foodSummary
)
{
return
null
;
ComboItemDaoUtils
comboItemDao
=
new
ComboItemDaoUtils
(
mApplication
);
List
<
ComboItem
>
foodCombos
=
comboItemDao
.
queryComboItemsByFidQueryBuilder
(
fid
,
foodSummary
);
return
MealConditionFilterUtils
.
comboConditionFilter
(
foodCombos
,
foodSummary
);
}
}
@Override
@Override
public
Single
<
List
<
FoodCombo
>>
isComboFood
(
long
fid
)
{
public
Single
<
List
<
FoodCombo
>>
isComboFood
(
long
fid
)
{
return
null
;
FoodComboDaoUtils
foodComboDaoUtils
=
new
FoodComboDaoUtils
(
mApplication
);
return
Single
.
just
(
foodComboDaoUtils
.
queryCombosFoodsByQueryBuilder
(
fid
))
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
());
}
}
@Override
@Override
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/service/MemberService.java
View file @
6ec228e3
...
@@ -17,7 +17,7 @@ public interface MemberService {
...
@@ -17,7 +17,7 @@ public interface MemberService {
@Headers
({
"Domain-Name: new_base_url"
})
@Headers
({
"Domain-Name: new_base_url"
})
@GET
(
"member/checkMemberInfo"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
@GET
(
"member/checkMemberInfo"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observab
le
<
BaseResult
>
queryMember
(
@Query
(
"type"
)
int
type
,
@Query
(
"parm"
)
String
parm
,
@Query
(
"gsposShopId"
)
String
shopName
,
@Query
(
"tableId"
)
int
tableId
,
@Query
(
"tableNumber"
)
String
tableNumber
);
Sing
le
<
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
)
@GET
(
"restaurantTable/memberUse"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observable
<
BaseResult
>
memberUse
(
@Query
(
"tableId"
)
int
tableId
,
@Query
(
"tableNumber"
)
String
tableNumber
,
@Query
(
"memberId"
)
long
memberId
);
Observable
<
BaseResult
>
memberUse
(
@Query
(
"tableId"
)
int
tableId
,
@Query
(
"tableNumber"
)
String
tableNumber
,
@Query
(
"memberId"
)
long
memberId
);
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
View file @
6ec228e3
...
@@ -29,7 +29,7 @@ import com.gingersoft.gsa.cloud.order.billItem.ServiceChargeItem;
...
@@ -29,7 +29,7 @@ import com.gingersoft.gsa.cloud.order.billItem.ServiceChargeItem;
import
com.gingersoft.gsa.cloud.order.cart.ShoppingCart
;
import
com.gingersoft.gsa.cloud.order.cart.ShoppingCart
;
import
com.gingersoft.gsa.cloud.order.cart.ShoppingCartNumberChange
;
import
com.gingersoft.gsa.cloud.order.cart.ShoppingCartNumberChange
;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.order.discount.CouponDiscount
;
import
com.gingersoft.gsa.cloud.order.discount.
Member
CouponDiscount
;
import
com.gingersoft.gsa.cloud.order.discount.NomalDiscount
;
import
com.gingersoft.gsa.cloud.order.discount.NomalDiscount
;
import
com.gingersoft.gsa.cloud.order.order.BaseOrder
;
import
com.gingersoft.gsa.cloud.order.order.BaseOrder
;
import
com.gingersoft.gsa.cloud.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.order.order.DoshokuOrder
;
...
@@ -40,11 +40,9 @@ import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest;
...
@@ -40,11 +40,9 @@ 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.model.bean.request.CreateOrderRequest
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.MealStandPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.MealStandPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity
;
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.activity.OrderContentActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderContentActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BillItemAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BillItemAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.mealstand.SetMealFragment
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.integration.AppManager
;
...
@@ -1332,7 +1330,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
...
@@ -1332,7 +1330,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
* @return
* @return
*/
*/
protected
Long
getCouponDiscountId
()
{
protected
Long
getCouponDiscountId
()
{
CouponDiscount
couponDiscount
=
(
CouponDiscount
)
mShoppingCart
.
getDiscountByType
(
BillItem
.
COUPON_DISCOUNT_TYPE
);
MemberCouponDiscount
couponDiscount
=
(
Member
CouponDiscount
)
mShoppingCart
.
getDiscountByType
(
BillItem
.
COUPON_DISCOUNT_TYPE
);
if
(
couponDiscount
!=
null
)
{
if
(
couponDiscount
!=
null
)
{
return
couponDiscount
.
getCouponDiscountId
();
return
couponDiscount
.
getCouponDiscountId
();
}
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter2.java
View file @
6ec228e3
...
@@ -29,7 +29,7 @@ import com.gingersoft.gsa.cloud.order.billItem.ServiceChargeItem;
...
@@ -29,7 +29,7 @@ import com.gingersoft.gsa.cloud.order.billItem.ServiceChargeItem;
import
com.gingersoft.gsa.cloud.order.cart.ShoppingCart
;
import
com.gingersoft.gsa.cloud.order.cart.ShoppingCart
;
import
com.gingersoft.gsa.cloud.order.cart.ShoppingCartNumberChange
;
import
com.gingersoft.gsa.cloud.order.cart.ShoppingCartNumberChange
;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.order.discount.CouponDiscount
;
import
com.gingersoft.gsa.cloud.order.discount.
Member
CouponDiscount
;
import
com.gingersoft.gsa.cloud.order.discount.NomalDiscount
;
import
com.gingersoft.gsa.cloud.order.discount.NomalDiscount
;
import
com.gingersoft.gsa.cloud.order.order.BaseOrder
;
import
com.gingersoft.gsa.cloud.order.order.BaseOrder
;
import
com.gingersoft.gsa.cloud.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.order.order.DoshokuOrder
;
...
@@ -38,13 +38,11 @@ import com.gingersoft.gsa.cloud.order.order.TakeawayOrder;
...
@@ -38,13 +38,11 @@ import com.gingersoft.gsa.cloud.order.order.TakeawayOrder;
import
com.gingersoft.gsa.cloud.table.mvp.contract.BaseOrderContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.BaseOrderContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest
;
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.model.bean.request.CreateOrderRequest
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.MealStandPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.MealStandPresenter2
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.MealStandPresenter2
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity
;
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.activity.MealStandActivity2
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderContentActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderContentActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BillItemAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BillItemAdapter
;
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.adapter.meal.SelectMealAdapter2
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.mealstand.SetMealFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.mealstand.SetMealFragment
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
...
@@ -1334,7 +1332,7 @@ public abstract class BaseOrderPresenter2<M extends BaseOrderContract.Model, V e
...
@@ -1334,7 +1332,7 @@ public abstract class BaseOrderPresenter2<M extends BaseOrderContract.Model, V e
* @return
* @return
*/
*/
protected
Long
getCouponDiscountId
()
{
protected
Long
getCouponDiscountId
()
{
CouponDiscount
couponDiscount
=
(
CouponDiscount
)
mShoppingCart
.
getDiscountByType
(
BillItem
.
COUPON_DISCOUNT_TYPE
);
MemberCouponDiscount
couponDiscount
=
(
Member
CouponDiscount
)
mShoppingCart
.
getDiscountByType
(
BillItem
.
COUPON_DISCOUNT_TYPE
);
if
(
couponDiscount
!=
null
)
{
if
(
couponDiscount
!=
null
)
{
return
couponDiscount
.
getCouponDiscountId
();
return
couponDiscount
.
getCouponDiscountId
();
}
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderContentPresenter.java
View file @
6ec228e3
...
@@ -5,9 +5,6 @@ import android.graphics.Color;
...
@@ -5,9 +5,6 @@ import android.graphics.Color;
import
android.text.TextUtils
;
import
android.text.TextUtils
;
import
android.util.Log
;
import
android.util.Log
;
import
android.view.View
;
import
android.view.View
;
import
android.view.Window
;
import
androidx.fragment.app.FragmentManager
;
import
com.billy.cc.core.component.CC
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
...
@@ -15,7 +12,7 @@ import com.gingersoft.gsa.cloud.common.constans.ExpandConstant;
...
@@ -15,7 +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.FoodSummaryConstans
;
import
com.gingersoft.gsa.cloud.common.constans.GoldConstants
;
import
com.gingersoft.gsa.cloud.common.constans.GoldConstants
;
import
com.gingersoft.gsa.cloud.common.constans.PrintConstans
;
import
com.gingersoft.gsa.cloud.common.constans.PrintConstans
;
import
com.gingersoft.gsa.cloud.
common.core.discount.Member
Coupon
;
import
com.gingersoft.gsa.cloud.
order.bean.discount.MemberWallet
Coupon
;
import
com.gingersoft.gsa.cloud.common.core.member.MemberInfo
;
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.RestaurantInfoManager
;
import
com.gingersoft.gsa.cloud.common.core.restaurant.utils.RestaurantExpandInfoUtils
;
import
com.gingersoft.gsa.cloud.common.core.restaurant.utils.RestaurantExpandInfoUtils
;
...
@@ -33,8 +30,7 @@ import com.gingersoft.gsa.cloud.order.bean.response.OrderResponse;
...
@@ -33,8 +30,7 @@ import com.gingersoft.gsa.cloud.order.bean.response.OrderResponse;
import
com.gingersoft.gsa.cloud.order.billItem.BillItem
;
import
com.gingersoft.gsa.cloud.order.billItem.BillItem
;
import
com.gingersoft.gsa.cloud.order.billItem.DiscountItem
;
import
com.gingersoft.gsa.cloud.order.billItem.DiscountItem
;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.order.discount.CouponDiscount
;
import
com.gingersoft.gsa.cloud.order.discount.MemberCouponDiscount
;
import
com.gingersoft.gsa.cloud.order.discount.MemberDiscount
;
import
com.gingersoft.gsa.cloud.order.discount.NomalDiscount
;
import
com.gingersoft.gsa.cloud.order.discount.NomalDiscount
;
import
com.gingersoft.gsa.cloud.order.order.BaseOrder
;
import
com.gingersoft.gsa.cloud.order.order.BaseOrder
;
import
com.gingersoft.gsa.cloud.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.order.order.DoshokuOrder
;
...
@@ -42,6 +38,7 @@ import com.gingersoft.gsa.cloud.print.PrinterUtils;
...
@@ -42,6 +38,7 @@ import com.gingersoft.gsa.cloud.print.PrinterUtils;
import
com.gingersoft.gsa.cloud.print.bean.PrintContent
;
import
com.gingersoft.gsa.cloud.print.bean.PrintContent
;
import
com.gingersoft.gsa.cloud.print.bean.adapter.PrintContentAdapter
;
import
com.gingersoft.gsa.cloud.print.bean.adapter.PrintContentAdapter
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.mvp.action.discount.BillCouponAction
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.OrderContentContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.OrderContentContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest
;
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.model.bean.request.CreateOrderRequest
;
...
@@ -66,7 +63,6 @@ import com.jess.arms.integration.AppManager;
...
@@ -66,7 +63,6 @@ import com.jess.arms.integration.AppManager;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.RxLifecycleUtils
;
import
com.jess.arms.utils.RxLifecycleUtils
;
import
com.scwang.smartrefresh.layout.api.RefreshLayout
;
import
com.scwang.smartrefresh.layout.api.RefreshLayout
;
import
com.xuexiang.rxutil2.RxBindingUtils
;
import
com.xuexiang.rxutil2.rxjava.RxJavaUtils
;
import
com.xuexiang.rxutil2.rxjava.RxJavaUtils
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
...
@@ -81,10 +77,8 @@ import io.reactivex.annotations.NonNull;
...
@@ -81,10 +77,8 @@ import io.reactivex.annotations.NonNull;
import
io.reactivex.disposables.Disposable
;
import
io.reactivex.disposables.Disposable
;
import
io.reactivex.functions.Consumer
;
import
io.reactivex.functions.Consumer
;
import
io.reactivex.schedulers.Schedulers
;
import
io.reactivex.schedulers.Schedulers
;
import
leakcanary.internal.ForegroundService
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
import
me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber
;
import
me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber
;
import
me.yokeyword.fragmentation.anim.FragmentAnimator
;
import
okhttp3.FormBody
;
import
okhttp3.FormBody
;
import
okhttp3.MediaType
;
import
okhttp3.MediaType
;
import
okhttp3.RequestBody
;
import
okhttp3.RequestBody
;
...
@@ -124,9 +118,13 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
...
@@ -124,9 +118,13 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
private
SplitTableDialog
mSplitTableDialog
;
private
SplitTableDialog
mSplitTableDialog
;
private
DiscountDialog
.
Builder
mDiscountDialog
;
private
DiscountDialog
.
Builder
mDiscountDialog
;
/**
/**
* 整單折扣
邏輯
* 整單折扣
*/
*/
private
BillDiscountAction
mNomalDiscountAction
;
private
BillDiscountAction
mNomalDiscountAction
;
/**
* 整單優惠券
*/
private
BillCouponAction
mBillCouponAction
;
private
Disposable
mGetTablesDataDisposable
;
private
Disposable
mGetTablesDataDisposable
;
private
Disposable
mTablesPollingDisposable
;
private
Disposable
mTablesPollingDisposable
;
...
@@ -139,20 +137,37 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
...
@@ -139,20 +137,37 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
//转移食品可多选
//转移食品可多选
mSelectMealAdapter
.
setSelectedMode
(
SelectMealAdapter
.
MULTIPLE_SELECTED
);
mSelectMealAdapter
.
setSelectedMode
(
SelectMealAdapter
.
MULTIPLE_SELECTED
);
}
}
mNomalDiscountAction
=
new
BillDiscountAction
(
IActivity
,
new
BillDiscountAction
.
OnCallBackListener
()
{
mNomalDiscountAction
=
BillDiscountAction
.
builder
()
.
cashStr
(
cashStr
)
.
context
(
IActivity
)
.
listener
(
new
BillDiscountAction
.
OnCallBackListener
()
{
@Override
@Override
public
void
exclusiveRemoveOthers
(
List
<
NomalDiscount
>
nomalDiscountList
)
{
public
void
exclusiveRemoveOthers
(
List
<
NomalDiscount
>
nomalDiscountList
)
{
mShoppingCart
.
delAllNomalDiscountList
(
nomalDiscountList
);
mShoppingCart
.
delAllNomalDiscountList
(
nomalDiscountList
);
}
}
@Override
@Override
public
void
preformAddDiscount
(
Discount
discount
)
{
public
void
preformAddDiscount
(
Discount
discount
)
{
mShoppingCart
.
addMultyDiscount
(
mShoppingCart
.
createNomalDiscount
(
discount
,
BillItem
.
BILL_ITEM_NO_ORDER_STATUS
));
mShoppingCart
.
addMultyDiscount
(
mShoppingCart
.
createNomalDiscount
(
discount
,
BillItem
.
BILL_ITEM_NO_ORDER_STATUS
));
DoshokuOrder
.
getInstance
().
setBillItemStatus
(
DoshokuOrder
.
DISCOUNT_ITEM_TAG
);
DoshokuOrder
.
getInstance
().
setBillItemStatus
(
DoshokuOrder
.
DISCOUNT_ITEM_TAG
);
updateBillInfo
();
updateBillInfo
();
}
}
});
})
.
build
();
mBillCouponAction
=
BillCouponAction
.
builder
()
.
context
(
IActivity
)
.
cashStr
(
cashStr
)
.
listener
(
new
BillCouponAction
.
OnCallBackListener
()
{
@Override
public
void
preformAddCoupon
(
MemberWalletCoupon
coupon
)
{
mShoppingCart
.
addMultyDiscount
(
mShoppingCart
.
createMemberWalletCoupon
(
coupon
,
BillItem
.
BILL_ITEM_NO_ORDER_STATUS
));
DoshokuOrder
.
getInstance
().
setBillItemStatus
(
DoshokuOrder
.
DISCOUNT_ITEM_TAG
);
updateBillInfo
();
}
})
.
build
();
}
}
@Override
@Override
...
@@ -281,7 +296,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
...
@@ -281,7 +296,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
NomalDiscount
nomalDiscount
=
(
NomalDiscount
)
((
DiscountItem
)
item
).
getDiscount
();
NomalDiscount
nomalDiscount
=
(
NomalDiscount
)
((
DiscountItem
)
item
).
getDiscount
();
mDoshokuOrder
.
addDeleteDiscountId
(
nomalDiscount
.
getDiscount
().
getDiscountRecordId
());
mDoshokuOrder
.
addDeleteDiscountId
(
nomalDiscount
.
getDiscount
().
getDiscountRecordId
());
}
else
if
(
item
.
getType
()
==
BillItem
.
COUPON_DISCOUNT_TYPE
)
{
}
else
if
(
item
.
getType
()
==
BillItem
.
COUPON_DISCOUNT_TYPE
)
{
CouponDiscount
couponDiscount
=
(
CouponDiscount
)
((
DiscountItem
)
item
).
getDiscount
();
MemberCouponDiscount
couponDiscount
=
(
Member
CouponDiscount
)
((
DiscountItem
)
item
).
getDiscount
();
mDoshokuOrder
.
addDeleteDiscountId
(
couponDiscount
.
getCouponDiscountId
());
mDoshokuOrder
.
addDeleteDiscountId
(
couponDiscount
.
getCouponDiscountId
());
}
}
}
}
...
@@ -820,25 +835,16 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
...
@@ -820,25 +835,16 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
@Override
@Override
public
void
onBillDiscountClick
(
Discount
item
,
int
position
)
{
public
void
onBillDiscountClick
(
Discount
item
,
int
position
)
{
if
(
item
.
getMinBillAmount
()
>
mShoppingCart
.
getWholeAmount
())
{
mNomalDiscountAction
.
setWholeAmount
(
mShoppingCart
.
getWholeAmount
());
//小於最小賬單金額
mRootView
.
showMessage
(
"小於最小賬單金額"
+
cashStr
+
item
.
getMinBillAmount
()
+
" 無法使用此折扣"
);
return
;
}
mNomalDiscountAction
.
setNomalDiscountList
(
mShoppingCart
.
getNomalDiscoutByMultyDiscountList
());
mNomalDiscountAction
.
setNomalDiscountList
(
mShoppingCart
.
getNomalDiscoutByMultyDiscountList
());
mNomalDiscountAction
.
action
(
item
);
mNomalDiscountAction
.
action
(
item
);
dialogFragment
.
dismiss
();
dialogFragment
.
dismiss
();
}
}
@Override
@Override
public
void
onCouponClick
(
MemberCoupon
item
,
int
position
)
{
public
void
onCouponClick
(
MemberWalletCoupon
item
,
int
position
)
{
if
(
item
.
getBillMinAmount
()
>
mShoppingCart
.
getWholeAmount
())
{
mBillCouponAction
.
setNomalDiscountList
(
mShoppingCart
.
getNomalDiscoutByMultyDiscountList
());
//小於最小賬單金額
mBillCouponAction
.
action
(
item
);
mRootView
.
showMessage
(
"小於最小賬單金額"
+
cashStr
+
item
.
getBillMinAmount
()
+
" 無法使用此優惠券"
);
return
;
}
mNomalDiscountAction
.
setNomalDiscountList
(
mShoppingCart
.
getNomalDiscoutByMultyDiscountList
());
mNomalDiscountAction
.
action
(
item
.
castDiscount
());
dialogFragment
.
dismiss
();
dialogFragment
.
dismiss
();
}
}
});
});
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/discount/CouponPresenter.java
View file @
6ec228e3
...
@@ -2,14 +2,12 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter.discount;
...
@@ -2,14 +2,12 @@ package com.gingersoft.gsa.cloud.table.mvp.presenter.discount;
import
android.app.Application
;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.
common.core.discount.Member
Coupon
;
import
com.gingersoft.gsa.cloud.
order.bean.discount.MemberWallet
Coupon
;
import
com.gingersoft.gsa.cloud.common.core.member.MemberInfo
;
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.RestaurantInfoManager
;
import
com.gingersoft.gsa.cloud.common.loadsir.EmptyCallback
;
import
com.gingersoft.gsa.cloud.common.loadsir.EmptyCallback
;
import
com.gingersoft.gsa.cloud.common.utils.JsonUtils
;
import
com.gingersoft.gsa.cloud.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber
;
import
com.gingersoft.gsa.cloud.common.rxjava.ErrorHandleSingleSubscriber
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.response.OrderManagerResponse
;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.jess.arms.mvp.BasePresenter
;
import
com.jess.arms.mvp.BasePresenter
;
...
@@ -53,13 +51,8 @@ public class CouponPresenter extends BasePresenter<CouponContract.Model, CouponC
...
@@ -53,13 +51,8 @@ public class CouponPresenter extends BasePresenter<CouponContract.Model, CouponC
//是否可以繼續上拉刷新
//是否可以繼續上拉刷新
private
boolean
noMoreData
=
false
;
private
boolean
noMoreData
=
false
;
/**
* 0=沒有限制
private
int
pageIndex
=
0
;
* 1=食品專有
* 2=帳單專有
*/
private
int
limitType
=
0
;
private
int
pageIndex
=
1
;
private
int
pageSize
=
20
;
private
int
pageSize
=
20
;
@Inject
@Inject
...
@@ -76,13 +69,20 @@ public class CouponPresenter extends BasePresenter<CouponContract.Model, CouponC
...
@@ -76,13 +69,20 @@ public class CouponPresenter extends BasePresenter<CouponContract.Model, CouponC
this
.
mApplication
=
null
;
this
.
mApplication
=
null
;
}
}
public
void
getMemberWalletList
(
RefreshLayout
refreshLayout
,
boolean
isLoadMore
)
{
public
void
getMemberWalletList
(
RefreshLayout
refreshLayout
,
boolean
isLoadMore
,
int
limitType
)
{
int
brandId
=
RestaurantInfoManager
.
newInstance
().
getBrandId
();
int
brandId
=
RestaurantInfoManager
.
newInstance
().
getBrandId
();
MemberInfo
memberInfo
=
DoshokuOrder
.
getInstance
().
getMemberInfo
();
MemberInfo
memberInfo
=
DoshokuOrder
.
getInstance
().
getMemberInfo
();
long
memberId
=
0
;
long
memberId
=
0
;
if
(
memberInfo
!=
null
)
{
if
(
memberInfo
!=
null
)
{
memberId
=
memberInfo
.
getId
();
memberId
=
memberInfo
.
getId
();
}
}
if
(!
isLoadMore
)
{
pageIndex
=
0
;
}
if
(
pageIndex
!=
0
)
{
//根據數據庫下標分頁
pageIndex
=
pageIndex
*
pageSize
;
}
mModel
.
getMemberWalletList
(
brandId
,
memberId
,
limitType
,
pageIndex
,
pageSize
)
mModel
.
getMemberWalletList
(
brandId
,
memberId
,
limitType
,
pageIndex
,
pageSize
)
.
subscribeOn
(
Schedulers
.
io
())
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
{
.
doOnSubscribe
(
disposable
->
{
...
@@ -95,15 +95,13 @@ public class CouponPresenter extends BasePresenter<CouponContract.Model, CouponC
...
@@ -95,15 +95,13 @@ public class CouponPresenter extends BasePresenter<CouponContract.Model, CouponC
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
List
<
MemberCoupon
>>(
mErrorHandler
,
mRootView
.
getLoadService
())
{
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
List
<
Member
Wallet
Coupon
>>(
mErrorHandler
,
mRootView
.
getLoadService
())
{
@Override
@Override
public
void
onSuccess
(
List
<
MemberCoupon
>
result
)
{
public
void
onSuccess
(
List
<
MemberWalletCoupon
>
result
)
{
if
(
pageIndex
!=
0
)
{
//根據數據庫下標分頁
pageIndex
=
pageIndex
*
pageSize
;
}
if
(
result
.
size
()
>
0
)
{
if
(
result
.
size
()
>
0
)
{
//每次更新完數據,頁碼+1
pageIndex
++;
if
(!
noMoreData
)
{
if
(!
noMoreData
)
{
mRootView
.
returnMemberCouponList
(
result
);
mRootView
.
returnMemberCouponList
(
result
);
mRootView
.
showLoadSirSuccess
();
mRootView
.
showLoadSirSuccess
();
...
@@ -124,10 +122,6 @@ public class CouponPresenter extends BasePresenter<CouponContract.Model, CouponC
...
@@ -124,10 +122,6 @@ public class CouponPresenter extends BasePresenter<CouponContract.Model, CouponC
@Override
@Override
public
void
onError
(
Throwable
t
)
{
public
void
onError
(
Throwable
t
)
{
if
(
pageIndex
!=
0
)
{
//根據數據庫下標分頁
pageIndex
=
pageIndex
*
pageSize
;
}
resetRefreshLayout
(
false
);
resetRefreshLayout
(
false
);
}
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/
FineItem
AllPresenter.java
→
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/
mealstand/FineChild
AllPresenter.java
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
presenter
;
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
presenter
.
mealstand
;
import
android.app.Activity
;
import
android.app.Activity
;
import
android.app.Application
;
import
android.app.Application
;
...
@@ -10,11 +10,10 @@ import com.gingersoft.gsa.cloud.common.constans.MealConstant;
...
@@ -10,11 +10,10 @@ import com.gingersoft.gsa.cloud.common.constans.MealConstant;
import
com.gingersoft.gsa.cloud.common.utils.LanguageUtils
;
import
com.gingersoft.gsa.cloud.common.utils.LanguageUtils
;
import
com.gingersoft.gsa.cloud.common.utils.VibratorUtils
;
import
com.gingersoft.gsa.cloud.common.utils.VibratorUtils
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils
;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.Fine
Item
AllContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.Fine
Child
AllContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
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.MealStandActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FineItemOneAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FineItemOneAdapter
;
...
@@ -51,7 +50,7 @@ import static com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity
...
@@ -51,7 +50,7 @@ import static com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity
* ================================================
* ================================================
*/
*/
@FragmentScope
@FragmentScope
public
class
Fine
ItemAllPresenter
extends
BasePresenter
<
FineItemAllContract
.
Model
,
FineItem
AllContract
.
View
>
{
public
class
Fine
ChildAllPresenter
extends
BasePresenter
<
FineChildAllContract
.
Model
,
FineChild
AllContract
.
View
>
{
@Inject
@Inject
RxErrorHandler
mErrorHandler
;
RxErrorHandler
mErrorHandler
;
@Inject
@Inject
...
@@ -78,7 +77,7 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
...
@@ -78,7 +77,7 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
private
Activity
IActivity
;
private
Activity
IActivity
;
@Inject
@Inject
public
Fine
ItemAllPresenter
(
FineItemAllContract
.
Model
model
,
FineItem
AllContract
.
View
rootView
)
{
public
Fine
ChildAllPresenter
(
FineChildAllContract
.
Model
model
,
FineChild
AllContract
.
View
rootView
)
{
super
(
model
,
rootView
);
super
(
model
,
rootView
);
this
.
IActivity
=
(
Activity
)
rootView
.
getCurrentActivity
();
this
.
IActivity
=
(
Activity
)
rootView
.
getCurrentActivity
();
}
}
...
@@ -482,10 +481,6 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
...
@@ -482,10 +481,6 @@ public class FineItemAllPresenter extends BasePresenter<FineItemAllContract.Mode
mFineItemOneList
.
clear
();
mFineItemOneList
.
clear
();
mFineItemOneList
=
null
;
mFineItemOneList
=
null
;
}
}
// if (mCurrentSoldoutFoodList_Full != null) {
// mCurrentSoldoutFoodList_Full.clear();
// mCurrentSoldoutFoodList_Full = null;
// }
}
}
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/
FineItem
OneselfPresenter.java
→
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/
mealstand/FineChild
OneselfPresenter.java
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
presenter
;
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
presenter
.
mealstand
;
import
android.app.Application
;
import
android.app.Application
;
import
android.content.Context
;
import
android.content.Context
;
...
@@ -8,8 +8,9 @@ import com.gingersoft.gsa.cloud.common.utils.LanguageUtils;
...
@@ -8,8 +8,9 @@ import com.gingersoft.gsa.cloud.common.utils.LanguageUtils;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils
;
import
com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.Fine
Item
OneselfContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.Fine
Child
OneselfContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.SoldoutCtrlPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ModifierAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ModifierAdapter
;
...
@@ -43,7 +44,7 @@ import static com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity
...
@@ -43,7 +44,7 @@ import static com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity
* ================================================
* ================================================
*/
*/
@FragmentScope
@FragmentScope
public
class
Fine
ItemOneselfPresenter
extends
BasePresenter
<
FineItemOneselfContract
.
Model
,
FineItem
OneselfContract
.
View
>
{
public
class
Fine
ChildOneselfPresenter
extends
BasePresenter
<
FineChildOneselfContract
.
Model
,
FineChild
OneselfContract
.
View
>
{
@Inject
@Inject
RxErrorHandler
mErrorHandler
;
RxErrorHandler
mErrorHandler
;
@Inject
@Inject
...
@@ -65,7 +66,7 @@ public class FineItemOneselfPresenter extends BasePresenter<FineItemOneselfContr
...
@@ -65,7 +66,7 @@ public class FineItemOneselfPresenter extends BasePresenter<FineItemOneselfContr
private
SoldoutCtrlActivity
IActivity
;
private
SoldoutCtrlActivity
IActivity
;
@Inject
@Inject
public
Fine
ItemOneselfPresenter
(
FineItemOneselfContract
.
Model
model
,
FineItem
OneselfContract
.
View
rootView
)
{
public
Fine
ChildOneselfPresenter
(
FineChildOneselfContract
.
Model
model
,
FineChild
OneselfContract
.
View
rootView
)
{
super
(
model
,
rootView
);
super
(
model
,
rootView
);
this
.
IActivity
=
(
SoldoutCtrlActivity
)
rootView
.
getCurrentActivity
();
this
.
IActivity
=
(
SoldoutCtrlActivity
)
rootView
.
getCurrentActivity
();
}
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/FinePresenter.java
0 → 100644
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
presenter
.
mealstand
;
import
android.app.Application
;
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
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
import
javax.inject.Inject
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.FineContract
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/24/2021 18:33
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@FragmentScope
public
class
FinePresenter
extends
BasePresenter
<
FineContract
.
Model
,
FineContract
.
View
>
{
@Inject
RxErrorHandler
mErrorHandler
;
@Inject
Application
mApplication
;
@Inject
ImageLoader
mImageLoader
;
@Inject
AppManager
mAppManager
;
@Inject
public
FinePresenter
(
FineContract
.
Model
model
,
FineContract
.
View
rootView
)
{
super
(
model
,
rootView
);
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
this
.
mErrorHandler
=
null
;
this
.
mAppManager
=
null
;
this
.
mImageLoader
=
null
;
this
.
mApplication
=
null
;
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/MealStandPresenter.java
View file @
6ec228e3
...
@@ -4,12 +4,15 @@ import android.app.Application;
...
@@ -4,12 +4,15 @@ import android.app.Application;
import
android.text.TextUtils
;
import
android.text.TextUtils
;
import
android.util.SparseArray
;
import
android.util.SparseArray
;
import
android.view.View
;
import
android.view.View
;
import
com.billy.cc.core.component.CC
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.constans.ExpandConstant
;
import
com.gingersoft.gsa.cloud.common.constans.ExpandConstant
;
import
com.gingersoft.gsa.cloud.common.constans.FoodSummaryConstans
;
import
com.gingersoft.gsa.cloud.common.constans.FoodSummaryConstans
;
import
com.gingersoft.gsa.cloud.common.constans.MealConstant
;
import
com.gingersoft.gsa.cloud.common.constans.MealConstant
;
import
com.gingersoft.gsa.cloud.common.constans.PrintConstans
;
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.member.MemberInfo
;
import
com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager
;
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.restaurant.utils.RestaurantExpandInfoUtils
;
...
@@ -19,7 +22,6 @@ import com.gingersoft.gsa.cloud.common.utils.LanguageUtils;
...
@@ -19,7 +22,6 @@ import com.gingersoft.gsa.cloud.common.utils.LanguageUtils;
import
com.gingersoft.gsa.cloud.common.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.common.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils
;
import
com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils
;
import
com.gingersoft.gsa.cloud.component.ComponentName
;
import
com.gingersoft.gsa.cloud.component.ComponentName
;
import
com.gingersoft.gsa.cloud.database.bean.ColorBean
;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
...
@@ -34,6 +36,7 @@ import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
...
@@ -34,6 +36,7 @@ import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import
com.gingersoft.gsa.cloud.print.bean.PrintContent
;
import
com.gingersoft.gsa.cloud.print.bean.PrintContent
;
import
com.gingersoft.gsa.cloud.print.bean.adapter.PrintContentAdapter
;
import
com.gingersoft.gsa.cloud.print.bean.adapter.PrintContentAdapter
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.mvp.action.discount.MealCouponAction
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason
;
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.SoldoutCtrFood
;
...
@@ -48,6 +51,7 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodAdapter;
...
@@ -48,6 +51,7 @@ 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.FoodGroupAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ModifierAdapter
;
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.SelectMealAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.discount.DiscountFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.CancelFoodDialog
;
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.BaseRetryDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
...
@@ -78,6 +82,7 @@ import io.reactivex.disposables.Disposable;
...
@@ -78,6 +82,7 @@ import io.reactivex.disposables.Disposable;
import
io.reactivex.schedulers.Schedulers
;
import
io.reactivex.schedulers.Schedulers
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
import
me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber
;
import
me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber
;
import
me.yokeyword.fragmentation.ISupportFragment
;
import
okhttp3.FormBody
;
import
okhttp3.FormBody
;
import
okhttp3.MediaType
;
import
okhttp3.MediaType
;
import
okhttp3.RequestBody
;
import
okhttp3.RequestBody
;
...
@@ -132,44 +137,65 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
...
@@ -132,44 +137,65 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
DiscountAdapter
mDiscountAdapter
;
DiscountAdapter
mDiscountAdapter
;
private
MealStandActivity
IActivity
;
private
MealStandActivity
IActivity
;
private
DiscountFragment
discountFragment
;
private
CancelFoodDialog
mCancelFoodDialog
;
private
CancelFoodDialog
mCancelFoodDialog
;
/**
* 食品折扣
*/
private
MealDiscountAction
mMealDiscountAction
;
private
MealDiscountAction
mMealDiscountAction
;
/**
* 食品優惠券
*/
private
MealCouponAction
mMealCouponAction
;
private
OrderDetail
mCurrentOrderDetailBean
;
private
OrderDetail
mCurrentOrderDetailBean
;
private
boolean
RvMealClicked
;
private
boolean
RvMealClicked
;
@Inject
@Inject
public
MealStandPresenter
(
MealStandContract
.
Model
model
,
MealStandContract
.
View
rootView
)
{
public
MealStandPresenter
(
MealStandContract
.
Model
model
,
MealStandContract
.
View
rootView
)
{
super
(
model
,
rootView
);
super
(
model
,
rootView
);
this
.
IActivity
=
(
MealStandActivity
)
rootView
;
this
.
IActivity
=
(
MealStandActivity
)
rootView
;
mMealDiscountAction
=
new
MealDiscountAction
(
IActivity
,
mShoppingCart
.
getMultyDiscountList
(),
new
MealDiscountAction
.
OnCallBackListener
()
{
mMealDiscountAction
=
MealDiscountAction
.
builder
()
.
context
(
IActivity
)
.
cashStr
(
cashStr
)
.
listener
(
new
MealDiscountAction
.
OnCallBackListener
()
{
@Override
@Override
public
void
exclusiveRemoveOthers
()
{
public
void
exclusiveRemoveOthers
()
{
//獨佔折扣刪除其他折扣
//獨佔折扣刪除其他折扣
int
start_position
=
mSelectMealAdapter
.
getSelect_full_start_position
();
int
start_position
=
mSelectMealAdapter
.
getSelect_full_start_position
();
int
end_position
=
mSelectMealAdapter
.
getSelect_full_end_position
();
int
end_position
=
mSelectMealAdapter
.
getSelect_full_end_position
();
for
(
int
i
=
mOrderMealList
.
size
()
-
1
;
i
>=
0
;
i
--)
{
for
(
int
i
=
mOrderMealList
.
size
()
-
1
;
i
>=
0
;
i
--)
{
if
(
start_position
<=
i
&&
i
<=
end_position
)
{
if
(
start_position
<=
i
&&
i
<=
end_position
)
{
OrderDetail
orderMealItem
=
mOrderMealList
.
get
(
i
);
OrderDetail
orderMealItem
=
mOrderMealList
.
get
(
i
);
if
(
orderMealItem
.
getDiscount
()
!=
null
)
{
if
(
orderMealItem
.
getDiscount
()
!=
null
)
{
mOrderMealList
.
remove
(
i
);
mOrderMealList
.
remove
(
i
);
}
}
}
}
}
}
}
}
@Override
@Override
public
void
preformAddDiscount
(
Discount
discount
)
{
public
void
preformAddDiscount
(
Discount
discount
)
{
addDiscountItem
(
discount
);
addDiscountItem
(
discount
);
}
}
});
})
}
.
build
();
mMealCouponAction
=
MealCouponAction
.
builder
()
.
context
(
IActivity
)
.
cashStr
(
cashStr
)
.
listener
(
new
MealCouponAction
.
OnCallBackListener
()
{
@Override
public
void
preformAddCoupon
(
MemberWalletCoupon
discount
)
{
addDiscountItem
(
discount
.
castDiscount
());
}
})
.
build
();
}
/**
/**
* 獲取當前選中的套餐食品組
* 獲取當前選中的套餐食品組
...
@@ -401,7 +427,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
...
@@ -401,7 +427,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
Discount
discountBean
=
(
Discount
)
data
;
Discount
discountBean
=
(
Discount
)
data
;
if
(!
discountConditionFilter
(
discountBean
))
{
if
(!
discountConditionFilter
())
{
return
;
return
;
}
}
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_ADD
+
"折扣【"
+
discountBean
.
getRemark
()
+
"】"
);
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_ADD
+
"折扣【"
+
discountBean
.
getRemark
()
+
"】"
);
...
@@ -414,6 +440,45 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
...
@@ -414,6 +440,45 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
});
});
}
}
public
void
loadDiscountFragment
()
{
discountFragment
=
IActivity
.
findFragment
(
DiscountFragment
.
class
);
if
(
discountFragment
==
null
)
{
discountFragment
=
DiscountFragment
.
newInstance
();
discountFragment
.
setOnDiscountItemClickListener
(
new
DiscountFragment
.
OnDiscountItemClickListener
()
{
@Override
public
void
onBillDiscountClick
(
Discount
discountBean
,
int
position
)
{
mRootView
.
recordOperat
(
true
);
if
(!
discountConditionFilter
())
{
return
;
}
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_ADD
+
"折扣【"
+
discountBean
.
getRemark
()
+
"】"
);
// if (cutOutDiscount() == -100) {
// return;
// }
mMealDiscountAction
.
setSelectMixOrderMealList
(
getSelectMixOrderMealList
());
mMealDiscountAction
.
action
(
discountBean
);
}
@Override
public
void
onCouponClick
(
MemberWalletCoupon
coupon
,
int
position
)
{
if
(!
discountConditionFilter
())
{
return
;
}
mMealCouponAction
.
setSelectMixOrderMealList
(
getSelectMixOrderMealList
());
mMealCouponAction
.
action
(
coupon
);
}
});
IActivity
.
loadRootFragment
(
R
.
id
.
fl_discount
,
discountFragment
);
}
else
{
ISupportFragment
topFragment
=
IActivity
.
getTopFragment
();
if
(
topFragment
!=
null
&&
topFragment
instanceof
DiscountFragment
)
{
}
else
{
IActivity
.
start
(
discountFragment
);
}
}
}
private
void
addFoodItemBefore
(
OrderDetail
datasBean
)
{
private
void
addFoodItemBefore
(
OrderDetail
datasBean
)
{
int
addPosition
=
addFoodItem
(
datasBean
);
int
addPosition
=
addFoodItem
(
datasBean
);
//这里主食品作为选中主体
//这里主食品作为选中主体
...
@@ -507,7 +572,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
...
@@ -507,7 +572,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
}
}
private
void
loadComboData
(
OrderDetail
food
,
boolean
isSelectedMeal
)
{
private
void
loadComboData
(
OrderDetail
food
,
boolean
isSelectedMeal
)
{
Observable
.
create
(
new
ObservableOnSubscribe
<
List
>()
{
Observable
.
create
(
new
ObservableOnSubscribe
<
List
>()
{
@Override
@Override
public
void
subscribe
(
ObservableEmitter
<
List
>
emitter
)
throws
Exception
{
public
void
subscribe
(
ObservableEmitter
<
List
>
emitter
)
throws
Exception
{
long
fid
=
food
.
getProductId
();
long
fid
=
food
.
getProductId
();
...
@@ -1004,10 +1069,10 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
...
@@ -1004,10 +1069,10 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSubscriber
<
BaseResult
>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleS
ingleS
ubscriber
<
BaseResult
>(
mErrorHandler
)
{
@Override
@Override
public
void
on
Next
(
@NonNull
BaseResult
info
)
{
public
void
on
Success
(
@NonNull
BaseResult
info
)
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
if
(
info
.
getData
()
!=
null
)
{
if
(
info
.
getData
()
!=
null
)
{
MemberInfo
memberInfo
=
JsonUtils
.
parseObject
(
info
.
getData
(),
MemberInfo
.
class
);
MemberInfo
memberInfo
=
JsonUtils
.
parseObject
(
info
.
getData
(),
MemberInfo
.
class
);
...
@@ -1650,7 +1715,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
...
@@ -1650,7 +1715,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
return
true
;
return
true
;
}
}
private
boolean
discountConditionFilter
(
Discount
datasBean
)
{
private
boolean
discountConditionFilter
()
{
//折扣金額是否>0
//折扣金額是否>0
if
(
Double
.
doubleToLongBits
(
getDisountSourcePrice
())
==
0
)
{
if
(
Double
.
doubleToLongBits
(
getDisountSourcePrice
())
==
0
)
{
...
@@ -2047,7 +2112,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
...
@@ -2047,7 +2112,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
mDiscountAdapter
.
notifyDataSetChanged
();
mDiscountAdapter
.
notifyDataSetChanged
();
}
}
/**
/**
* 獲取所要折扣金額
* 獲取所要折扣金額
*
*
...
@@ -2175,4 +2239,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
...
@@ -2175,4 +2239,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
return
mSoldoutCtrList
;
return
mSoldoutCtrList
;
}
}
public
DiscountFragment
getDiscountFragment
()
{
return
discountFragment
;
}
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/MealStandPresenter2.java
View file @
6ec228e3
...
@@ -36,6 +36,7 @@ import com.gingersoft.gsa.cloud.print.bean.adapter.PrintContentAdapter;
...
@@ -36,6 +36,7 @@ import com.gingersoft.gsa.cloud.print.bean.adapter.PrintContentAdapter;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.mvp.action.discount.MealDiscountAction
;
import
com.gingersoft.gsa.cloud.table.mvp.action.discount.MealDiscountAction
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract2
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason
;
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.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest
;
...
@@ -102,7 +103,7 @@ import static com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity
...
@@ -102,7 +103,7 @@ import static com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity
* ================================================
* ================================================
*/
*/
@ActivityScope
@ActivityScope
public
class
MealStandPresenter2
extends
BaseOrderPresenter2
<
MealStandContract
.
Model
,
MealStandContract
.
View
>
{
public
class
MealStandPresenter2
extends
BaseOrderPresenter2
<
MealStandContract
2
.
Model
,
MealStandContract2
.
View
>
{
@Inject
@Inject
RxErrorHandler
mErrorHandler
;
RxErrorHandler
mErrorHandler
;
@Inject
@Inject
...
@@ -113,7 +114,7 @@ public class MealStandPresenter2 extends BaseOrderPresenter2<MealStandContract.M
...
@@ -113,7 +114,7 @@ public class MealStandPresenter2 extends BaseOrderPresenter2<MealStandContract.M
AppManager
mAppManager
;
AppManager
mAppManager
;
@Inject
@Inject
public
MealStandPresenter2
(
MealStandContract
.
Model
model
,
MealStandContract
.
View
rootView
)
{
public
MealStandPresenter2
(
MealStandContract
2
.
Model
model
,
MealStandContract2
.
View
rootView
)
{
super
(
model
,
rootView
);
super
(
model
,
rootView
);
}
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/RiceponMemberDialogPresenter.java
0 → 100644
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
presenter
.
mealstand
;
import
android.app.Application
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.core.member.MemberInfo
;
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.component.ComponentName
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderContentActivity
;
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
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
;
import
javax.inject.Inject
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.RiceponMemberDialogContract
;
import
com.jess.arms.utils.DeviceUtils
;
import
com.jess.arms.utils.PermissionUtil
;
import
com.jess.arms.utils.RxLifecycleUtils
;
import
com.tbruyelle.rxpermissions2.RxPermissions
;
import
java.util.List
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/24/2021 16:24
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
@FragmentScope
public
class
RiceponMemberDialogPresenter
extends
BasePresenter
<
RiceponMemberDialogContract
.
Model
,
RiceponMemberDialogContract
.
View
>
{
@Inject
RxErrorHandler
mErrorHandler
;
@Inject
Application
mApplication
;
@Inject
ImageLoader
mImageLoader
;
@Inject
AppManager
mAppManager
;
@Inject
public
RiceponMemberDialogPresenter
(
RiceponMemberDialogContract
.
Model
model
,
RiceponMemberDialogContract
.
View
rootView
)
{
super
(
model
,
rootView
);
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
this
.
mErrorHandler
=
null
;
this
.
mAppManager
=
null
;
this
.
mImageLoader
=
null
;
this
.
mApplication
=
null
;
}
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
)
{
@Override
public
void
onSuccess
(
@NonNull
BaseResult
info
)
{
if
(
info
!=
null
&&
info
.
isSuccess
())
{
if
(
info
.
getData
()
!=
null
)
{
MemberInfo
memberInfo
=
JsonUtils
.
parseObject
(
info
.
getData
(),
MemberInfo
.
class
);
if
(
memberInfo
!=
null
&&
memberInfo
.
getId
()
!=
0
)
{
mRootView
.
returnMemberInfo
(
memberInfo
);
}
else
{
mRootView
.
showMessage
(
"未找到相關會員電話號碼,請重新輸入"
);
}
}
else
{
mRootView
.
showMessage
(
"獲取會員信息失敗"
);
}
}
else
{
mRootView
.
showMessage
(
info
.
getErrMsg
());
}
}
});
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/mealstand/SetMealPresenter.java
View file @
6ec228e3
...
@@ -30,6 +30,8 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodAdapter;
...
@@ -30,6 +30,8 @@ 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.FoodGroupAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ModifierAdapter
;
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.SelectMealAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter2
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.mealstand.SetMealFragment
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.jess.arms.base.delegate.IActivity
;
import
com.jess.arms.base.delegate.IActivity
;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.integration.AppManager
;
...
@@ -42,6 +44,7 @@ import io.reactivex.Observable;
...
@@ -42,6 +44,7 @@ import io.reactivex.Observable;
import
io.reactivex.ObservableEmitter
;
import
io.reactivex.ObservableEmitter
;
import
io.reactivex.ObservableOnSubscribe
;
import
io.reactivex.ObservableOnSubscribe
;
import
io.reactivex.Observer
;
import
io.reactivex.Observer
;
import
io.reactivex.Single
;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.disposables.Disposable
;
import
io.reactivex.disposables.Disposable
;
import
io.reactivex.schedulers.Schedulers
;
import
io.reactivex.schedulers.Schedulers
;
...
@@ -55,6 +58,8 @@ import com.gingersoft.gsa.cloud.table.mvp.contract.SetMealContract;
...
@@ -55,6 +58,8 @@ import com.gingersoft.gsa.cloud.table.mvp.contract.SetMealContract;
import
com.jess.arms.utils.RxLifecycleUtils
;
import
com.jess.arms.utils.RxLifecycleUtils
;
import
com.xuexiang.rxutil2.rxjava.RxSchedulerUtils
;
import
com.xuexiang.rxutil2.rxjava.RxSchedulerUtils
;
import
org.reactivestreams.Subscription
;
import
org.simple.eventbus.EventBus
;
import
org.simple.eventbus.Subscriber
;
import
org.simple.eventbus.Subscriber
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
...
@@ -99,16 +104,16 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
...
@@ -99,16 +104,16 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
@Inject
@Inject
List
<
Modifier
>
mModifierList
;
//细项数据
List
<
Modifier
>
mModifierList
;
//细项数据
@Inject
List
<
SoldoutCtrFood
>
mSoldoutCtrList
;
//沽清食品數據
private
OrderDetail
mCurrentOrderDetailBean
;
private
OrderDetail
mCurrentOrderDetailBean
;
//沽清食品數據
private
List
<
SoldoutCtrFood
>
mSoldoutCtrList
=
new
ArrayList
<>();
private
boolean
RvMealClicked
;
private
boolean
RvMealClicked
;
@Inject
@Inject
public
SetMealPresenter
(
SetMealContract
.
Model
model
,
SetMealContract
.
View
rootView
)
{
public
SetMealPresenter
(
SetMealContract
.
Model
model
,
SetMealContract
.
View
rootView
)
{
super
(
model
,
rootView
);
super
(
model
,
rootView
);
initMealData
();
}
}
@Override
@Override
...
@@ -130,30 +135,65 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
...
@@ -130,30 +135,65 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
this
.
mApplication
=
null
;
this
.
mApplication
=
null
;
}
}
public
void
initSelectMealAdapter
(
RecyclerView
rvSelectMeal
)
{
if
(
mSelectMealAdapter
!=
null
)
{
//設置子父級下標
mSelectMealAdapter
.
setIndex
();
rvSelectMeal
.
setAdapter
(
mSelectMealAdapter
);
mSelectMealAdapter
.
setOnItemClickListener
(
new
SelectMealAdapter2
.
OnItemClickListener
()
{
@Override
public
void
onItemClick
(
OrderDetail
datasBean
,
int
position
)
{
mRootView
.
recordOperat
(
true
);
selectMealItemClick
(
datasBean
);
}
@Override
public
void
onMealCountDelete
(
OrderDetail
datasBean
,
int
position
)
{
}
@Override
public
void
onMealCountAdd
(
OrderDetail
datasBean
,
int
position
)
{
}
@Override
public
void
onCurrentOrderDetail
(
OrderDetail
datasBean
,
int
position
)
{
mCurrentOrderDetailBean
=
datasBean
;
}
});
}
}
public
void
initMealData
()
{
public
void
initMealData
()
{
mModel
.
queryDB_FoodGroupList
(
BaseOrder
.
orderType
)
mModel
.
queryDB_FoodGroupList
(
BaseOrder
.
orderType
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
List
<
Food
>>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
List
<
Food
>>(
mErrorHandler
)
{
@Override
@Override
public
void
onSuccess
(
List
<
Food
>
foodGroupList
)
{
public
void
onSuccess
(
List
<
Food
>
foodGroupList
)
{
if
(
foodGroupList
!=
null
&&
foodGroupList
.
size
()
>
0
)
{
if
(
foodGroupList
.
size
()
>
0
)
{
mFoodGroupList
.
addAll
(
foodGroupList
);
mFoodGroupList
.
addAll
(
foodGroupList
);
setDefalutFoodGroup
(
foodGroupList
);
setDefalutFoodGroup
(
foodGroupList
);
updateFoodSoldoutCtrData
();
updateFoodSoldoutCtrData
();
mRootView
.
initFoodGroupAdapter
(
foodGroupList
);
mRootView
.
initFoodGroupAdapter
(
foodGroupList
);
}
}
}
}
private
void
setDefalutFoodGroup
(
List
<
Food
>
foodGroupList
)
{
for
(
Food
food
:
foodGroupList
)
{
if
(
food
.
getInvisible
()
==
0
)
{
//默認選中第一組
food
.
setSelected
(
true
);
switchFoodByParentId
(
food
.
getId
());
break
;
}
}
}
});
});
}
}
public
void
changed
FoodByParentId
(
long
parentId
)
{
public
void
switch
FoodByParentId
(
long
parentId
)
{
mModel
.
queryDB_FoodList
(
parentId
,
BaseOrder
.
orderType
)
mModel
.
queryDB_FoodList
(
parentId
,
BaseOrder
.
orderType
)
.
subscribeOn
(
Schedulers
.
io
())
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
List
<
Food
>>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
List
<
Food
>>(
mErrorHandler
)
{
...
@@ -163,41 +203,63 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
...
@@ -163,41 +203,63 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
if
(
foodList
!=
null
)
{
if
(
foodList
!=
null
)
{
updateFoodData
(
foodList
,
parentId
);
updateFoodData
(
foodList
,
parentId
);
}
}
mRootView
.
s
howViewModeVisibility
(
MealConstant
.
food_ViewMode
,
MealConstant
.
food_group_ViewMode
);
mRootView
.
s
etCurrLayout
(
SetMealFragment
.
FOOD_LAYOUT
);
}
}
});
});
}
}
private
void
setDefalutFoodGroup
(
List
<
Food
>
foodGroupList
)
{
private
void
selectMealItemClick
(
OrderDetail
datasBean
)
{
for
(
Food
food
:
foodGroupList
)
{
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_SELECTED
,
"食品【"
+
datasBean
.
getProductName
()
+
"】"
);
if
(
food
.
getInvisible
()
==
0
)
{
//有取消的食品不能操作
//默認選中第一組
OrderDetail
currentOrderDetail
=
mSelectMealAdapter
.
getCurrentOrderDetail
();
food
.
setSelected
(
true
);
if
(
currentOrderDetail
!=
null
&&
currentOrderDetail
.
isModify
())
{
changedFoodByParentId
(
food
.
getParentId
());
return
;
}
}
}
}
if
(
mSelectMealAdapter
.
getSelectedMode
()
==
SelectMealAdapter
.
MULTIPLE_SELECTED
)
{
return
;
public
void
initSelectMealAdapter
(
RecyclerView
rvSelectMeal
)
{
if
(
mSelectMealAdapter
!=
null
)
{
rvSelectMeal
.
setAdapter
(
mSelectMealAdapter
);
}
}
RvMealClicked
=
true
;
//设置当前操作的食品
mCurrentOrderDetailBean
=
datasBean
;
loadComboData
(
datasBean
,
true
);
}
}
public
void
foodGroupItemClick
(
Food
datasBean
)
{
public
void
foodGroupItemClick
(
Food
datasBean
)
{
RvMealClicked
=
false
;
if
(!
foodGroupConditionFilter
(
datasBean
,
false
))
{
if
(!
foodGroupConditionFilter
(
datasBean
,
false
))
{
return
;
return
;
}
}
RvMealClicked
=
true
;
datasBean
.
setSelected
(
true
);
datasBean
.
setSelected
(
true
);
changed
FoodByParentId
(
datasBean
.
getId
());
switch
FoodByParentId
(
datasBean
.
getId
());
updateOrderFoodNumber
();
updateOrderFoodNumber
();
updateFoodSoldoutCtrData
();
updateFoodSoldoutCtrData
();
}
}
public
void
modifierItemClick
(
Modifier
datasBean
)
{
public
void
foodItemClick
(
Food
datasBean
)
{
RvMealClicked
=
false
;
RvMealClicked
=
false
;
if
(
mSelectMealAdapter
.
getSelectedMode
()
==
SelectMealAdapter
.
MULTIPLE_SELECTED
)
{
return
;
}
if
(!
foodConditionFilter
(
datasBean
))
{
return
;
}
if
(
datasBean
.
getIsParent
()
==
0
)
{
switchFoodByParentId
(
datasBean
.
getId
());
}
else
{
mCurrentOrderDetailBean
=
OrderDetail
.
foodTransOrderDetails
(
datasBean
,
1
);
int
customType
=
datasBean
.
ableDiscountCastCustomType
();
if
(
customType
!=
Food
.
CUSTOM_TYPE_100
)
{
//自定義食品
mRootView
.
setCustomFoodDialog
(
customType
,
mCurrentOrderDetailBean
);
}
else
{
//加載套餐食品
loadComboData
(
mCurrentOrderDetailBean
,
false
);
}
}
}
public
void
modifierItemClick
(
Modifier
datasBean
)
{
RvMealClicked
=
false
;
if
(!
modifierConditionFilter
(
datasBean
))
{
if
(!
modifierConditionFilter
(
datasBean
))
{
return
;
return
;
}
}
...
@@ -205,7 +267,6 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
...
@@ -205,7 +267,6 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
//已送單數量已等於最大數,不能繼續添加
//已送單數量已等於最大數,不能繼續添加
return
;
return
;
}
}
addModifierItem
(
datasBean
);
addModifierItem
(
datasBean
);
//更新賬單數
//更新賬單數
updateOrderFoodNumber
();
updateOrderFoodNumber
();
...
@@ -215,7 +276,6 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
...
@@ -215,7 +276,6 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
public
void
comboItemClick
(
ComboItem
datasBean
)
{
public
void
comboItemClick
(
ComboItem
datasBean
)
{
RvMealClicked
=
false
;
RvMealClicked
=
false
;
if
(!
comboConditionFilter
(
datasBean
))
{
if
(!
comboConditionFilter
(
datasBean
))
{
return
;
return
;
}
}
...
@@ -223,7 +283,6 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
...
@@ -223,7 +283,6 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
//已送單數量已等於最大數,不能繼續添加
//已送單數量已等於最大數,不能繼續添加
return
;
return
;
}
}
//设置当前操作的套餐细项
//设置当前操作的套餐细项
long
id
=
mCurrentOrderDetailBean
.
isNew
()
?
mCurrentOrderDetailBean
.
getProductId
()
:
mCurrentOrderDetailBean
.
getId
();
long
id
=
mCurrentOrderDetailBean
.
isNew
()
?
mCurrentOrderDetailBean
.
getProductId
()
:
mCurrentOrderDetailBean
.
getId
();
mCurrentOrderDetailBean
=
OrderDetail
.
comboTransOrderDetail
(
datasBean
,
id
,
mCurrentOrderDetailBean
.
getProductId
(),
1
,
OrderDetail
.
COMBO_PROP
,
RvMealClicked
);
mCurrentOrderDetailBean
=
OrderDetail
.
comboTransOrderDetail
(
datasBean
,
id
,
mCurrentOrderDetailBean
.
getProductId
(),
1
,
OrderDetail
.
COMBO_PROP
,
RvMealClicked
);
...
@@ -237,30 +296,6 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
...
@@ -237,30 +296,6 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
updateOrderFoodNumber
();
updateOrderFoodNumber
();
}
}
public
void
foodItemClick
(
Food
datasBean
)
{
if
(
mSelectMealAdapter
.
getSelectedMode
()
==
SelectMealAdapter
.
MULTIPLE_SELECTED
)
{
return
;
}
if
(!
foodConditionFilter
(
datasBean
))
{
return
;
}
RvMealClicked
=
false
;
if
(
datasBean
.
getIsParent
()
==
0
)
{
queryFoodListByParentId
(
datasBean
.
getId
());
}
else
{
mCurrentOrderDetailBean
=
OrderDetail
.
foodTransOrderDetails
(
datasBean
,
1
);
int
customType
=
datasBean
.
ableDiscountCastCustomType
();
if
(
customType
!=
Food
.
CUSTOM_TYPE_100
)
{
//自定義食品
// mRootView.setCustomFoodDialog(customType, mCurrentOrderDetailBean);
}
else
{
//加載套餐食品
loadComboData
(
mCurrentOrderDetailBean
,
false
);
}
}
}
private
void
addFoodItemBefore
(
OrderDetail
datasBean
)
{
private
void
addFoodItemBefore
(
OrderDetail
datasBean
)
{
int
addPosition
=
addFoodItem
(
datasBean
);
int
addPosition
=
addFoodItem
(
datasBean
);
//这里主食品作为选中主体
//这里主食品作为选中主体
...
@@ -341,21 +376,20 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
...
@@ -341,21 +376,20 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
public
void
subscribe
(
ObservableEmitter
<
List
>
emitter
)
throws
Exception
{
public
void
subscribe
(
ObservableEmitter
<
List
>
emitter
)
throws
Exception
{
long
fid
=
food
.
getProductId
();
long
fid
=
food
.
getProductId
();
int
itemType
=
food
.
getItemType
();
int
itemType
=
food
.
getItemType
();
List
<
ComboItem
>
comboItemList
=
new
ArrayList
<>();
List
<
ComboItem
>
comboItemList
=
new
ArrayList
<>();
if
(
itemType
==
1
)
{
if
(
itemType
==
1
)
{
//获取套餐细项数据
//获取套餐细项数据
//
List<ComboItem> comboItems = mModel.queryDB_ComboList(fid, BaseOrder.orderType);
List
<
ComboItem
>
comboItems
=
mModel
.
queryDB_ComboList
(
fid
,
BaseOrder
.
orderType
);
//
comboItemList.addAll(comboItems);
comboItemList
.
addAll
(
comboItems
);
}
}
//
List<Modifier> modifierList = mModel.queryDB_ModifierList(fid, ModifierDaoUtils.modifierMode_All);
List
<
Modifier
>
modifierList
=
mModel
.
queryDB_ModifierList
(
fid
,
ModifierDaoUtils
.
modifierMode_All
);
//
//
emitter.onNext(comboItemList);
emitter
.
onNext
(
comboItemList
);
//
emitter.onNext(modifierList);
emitter
.
onNext
(
modifierList
);
emitter
.
onComplete
();
emitter
.
onComplete
();
}
}
})
.
subscribeOn
(
Schedulers
.
io
())
//在IO线程执行数据库处理操作
})
.
observeOn
(
AndroidSchedulers
.
mainThread
())
//在UI线程
.
compose
(
RxSchedulerUtils
.
_io_main_o
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
Observer
<
List
>()
{
.
subscribe
(
new
Observer
<
List
>()
{
...
@@ -395,7 +429,6 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
...
@@ -395,7 +429,6 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
public
void
onComplete
()
{
public
void
onComplete
()
{
boolean
autoMod
=
false
;
boolean
autoMod
=
false
;
if
(
comboItemList
!=
null
)
{
if
(
comboItemList
!=
null
)
{
// if (comboItemList.size() > 0) {
if
(
modifierList
!=
null
)
{
if
(
modifierList
!=
null
)
{
autoMod
=
food
.
getAutoMod
()
==
1
&&
(
comboItemList
.
size
()
>
0
||
modifierList
.
size
()
>
0
);
autoMod
=
food
.
getAutoMod
()
==
1
&&
(
comboItemList
.
size
()
>
0
||
modifierList
.
size
()
>
0
);
}
else
{
}
else
{
...
@@ -403,7 +436,7 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
...
@@ -403,7 +436,7 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
}
}
}
}
if
(
mRootView
.
getCurrentViewMode
()
!=
MealConstant
.
fine_ViewMode
&&
isSelectedMeal
||
autoMod
)
{
if
(
mRootView
.
getCurrentViewMode
()
!=
MealConstant
.
fine_ViewMode
&&
isSelectedMeal
||
autoMod
)
{
mRootView
.
s
howViewModeVisibility
(
MealConstant
.
combo_ViewMode
);
mRootView
.
s
etCurrLayout
(
SetMealFragment
.
COMBO_LAYOUT
);
}
}
toAddFoodItem
(
mCurrentOrderDetailBean
);
toAddFoodItem
(
mCurrentOrderDetailBean
);
}
}
...
@@ -578,23 +611,6 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
...
@@ -578,23 +611,6 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
return
-
1
;
return
-
1
;
}
}
public
void
queryFoodListByParentId
(
long
parentId
)
{
mModel
.
queryDB_FoodList
(
parentId
,
BaseOrder
.
orderType
)
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
List
<
Food
>>(
mErrorHandler
)
{
@Override
public
void
onSuccess
(
List
<
Food
>
foods
)
{
mRootView
.
resetSelect
(-
1
,
null
);
if
(
foods
!=
null
)
{
updateFoodData
(
foods
,
parentId
);
}
// mRootView.showViewModeVisibility(MealConstant.food_ViewMode, MealConstant.food_group_ViewMode);
}
});
}
/**
/**
* 全選
* 全選
*/
*/
...
@@ -794,7 +810,6 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
...
@@ -794,7 +810,6 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
for
(
int
i
=
0
;
i
<
foodList
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
foodList
.
size
();
i
++)
{
Food
datasBean
=
foodList
.
get
(
i
);
Food
datasBean
=
foodList
.
get
(
i
);
mModel
.
isComboFood
(
datasBean
.
getId
())
mModel
.
isComboFood
(
datasBean
.
getId
())
.
compose
(
MyRxSchedulerUtils
.
_io_main_f
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
List
<
FoodCombo
>>(
mErrorHandler
)
{
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
List
<
FoodCombo
>>(
mErrorHandler
)
{
...
@@ -1390,4 +1405,12 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
...
@@ -1390,4 +1405,12 @@ public class SetMealPresenter extends BaseOrderPresenter2<SetMealContract.Model,
}
}
public
OrderDetail
getCurrentOrderDetailBean
()
{
return
mCurrentOrderDetailBean
;
}
public
List
<
SoldoutCtrFood
>
getSoldoutCtrList
()
{
return
mSoldoutCtrList
;
}
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity.java
View file @
6ec228e3
...
@@ -5,27 +5,21 @@ import android.content.Intent;
...
@@ -5,27 +5,21 @@ import android.content.Intent;
import
android.graphics.Color
;
import
android.graphics.Color
;
import
android.os.Build
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.os.PersistableBundle
;
import
android.os.SystemClock
;
import
android.os.SystemClock
;
import
android.text.Editable
;
import
android.text.TextUtils
;
import
android.text.TextUtils
;
import
android.text.TextWatcher
;
import
android.util.DisplayMetrics
;
import
android.util.DisplayMetrics
;
import
android.util.SparseArray
;
import
android.util.SparseArray
;
import
android.util.TypedValue
;
import
android.util.TypedValue
;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
android.view.ViewStub
;
import
android.widget.BaseAdapter
;
import
android.widget.BaseAdapter
;
import
android.widget.Button
;
import
android.widget.Button
;
import
android.widget.Chronometer
;
import
android.widget.Chronometer
;
import
android.widget.EditText
;
import
android.widget.FrameLayout
;
import
android.widget.FrameLayout
;
import
android.widget.ImageButton
;
import
android.widget.ImageButton
;
import
android.widget.ImageView
;
import
android.widget.ImageView
;
import
android.widget.LinearLayout
;
import
android.widget.LinearLayout
;
import
android.widget.RelativeLayout
;
import
android.widget.RelativeLayout
;
import
android.widget.ScrollView
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
...
@@ -42,7 +36,6 @@ import androidx.viewpager.widget.ViewPager;
...
@@ -42,7 +36,6 @@ import androidx.viewpager.widget.ViewPager;
import
com.billy.cc.core.component.CC
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.app.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.app.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.common.constans.FoodSummaryConstans
;
import
com.gingersoft.gsa.cloud.common.constans.FoodSummaryConstans
;
import
com.gingersoft.gsa.cloud.common.constans.GoldConstants
;
import
com.gingersoft.gsa.cloud.common.constans.MealConstant
;
import
com.gingersoft.gsa.cloud.common.constans.MealConstant
;
import
com.gingersoft.gsa.cloud.common.core.member.MemberInfo
;
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.RestaurantInfoManager
;
...
@@ -59,7 +52,7 @@ import com.gingersoft.gsa.cloud.order.billItem.BillItem;
...
@@ -59,7 +52,7 @@ import com.gingersoft.gsa.cloud.order.billItem.BillItem;
import
com.gingersoft.gsa.cloud.order.billItem.DiscountItem
;
import
com.gingersoft.gsa.cloud.order.billItem.DiscountItem
;
import
com.gingersoft.gsa.cloud.order.cart.ShoppingCart
;
import
com.gingersoft.gsa.cloud.order.cart.ShoppingCart
;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.order.discount.MemberDiscount
;
import
com.gingersoft.gsa.cloud.order.discount.Member
Level
Discount
;
import
com.gingersoft.gsa.cloud.order.discount.MultyDiscount
;
import
com.gingersoft.gsa.cloud.order.discount.MultyDiscount
;
import
com.gingersoft.gsa.cloud.order.order.BaseOrder
;
import
com.gingersoft.gsa.cloud.order.order.BaseOrder
;
import
com.gingersoft.gsa.cloud.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.order.order.DoshokuOrder
;
...
@@ -71,12 +64,11 @@ import com.gingersoft.gsa.cloud.table.di.component.DaggerMealStandComponent;
...
@@ -71,12 +64,11 @@ import com.gingersoft.gsa.cloud.table.di.component.DaggerMealStandComponent;
import
com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.event.InitTableEvent
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.event.InitTableEvent
;
import
com.gingersoft.gsa.cloud.table.mvp.model.constant.OrderConentActionConstant
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.MealStandPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.MealStandPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BaseFragmentAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BaseFragmentAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.
FineItem
AllFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.
mealstand.FineChild
AllFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.ChooseNumberDialog
;
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.table.mvp.ui.widget.CustomFoodDialog
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.UseMemberDialog
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.UseMemberDialog
;
...
@@ -95,12 +87,8 @@ import com.jess.arms.base.BaseFragmentActivity;
...
@@ -95,12 +87,8 @@ import com.jess.arms.base.BaseFragmentActivity;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.lxj.xpopup.util.KeyboardUtils
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaTextView
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaTextView
;
import
com.qmuiteam.qmui.util.QMUIDisplayHelper
;
import
com.qmuiteam.qmui.util.QMUIDisplayHelper
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialog
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialogAction
;
import
com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
;
import
org.simple.eventbus.EventBus
;
import
org.simple.eventbus.EventBus
;
...
@@ -154,8 +142,15 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
...
@@ -154,8 +142,15 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
RecyclerView
rv_combo
;
RecyclerView
rv_combo
;
@BindView
(
R2
.
id
.
rv_modifier
)
@BindView
(
R2
.
id
.
rv_modifier
)
RecyclerView
rv_modifier
;
RecyclerView
rv_modifier
;
@BindView
(
R2
.
id
.
fl_discount
)
FrameLayout
fl_discount
;
// @BindView(R2.id.ll_discount)
// LinearLayout ll_discount;
@BindView
(
R2
.
id
.
rv_discount
)
@BindView
(
R2
.
id
.
rv_discount
)
RecyclerView
rv_discount
;
RecyclerView
rv_discount
;
// @BindView(R2.id.rv_coupon)
// RecyclerView rv_coupon;
@BindView
(
R2
.
id
.
scroll_combo
)
@BindView
(
R2
.
id
.
scroll_combo
)
NestedScrollView
scroll_combo
;
NestedScrollView
scroll_combo
;
...
@@ -257,7 +252,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
...
@@ -257,7 +252,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
@BindView
(
R2
.
id
.
tv_fine_type
)
@BindView
(
R2
.
id
.
tv_fine_type
)
TextView
tv_fine_type
;
TextView
tv_fine_type
;
private
Fine
Item
AllFragment
modMsgFineItemFragment
,
modSasteFineItemFragment
;
private
Fine
Child
AllFragment
modMsgFineItemFragment
,
modSasteFineItemFragment
;
private
ChooseNumberDialog
mChooseNumberDialog
;
private
ChooseNumberDialog
mChooseNumberDialog
;
private
UseMemberDialog
mUseMemberDialog
;
private
UseMemberDialog
mUseMemberDialog
;
...
@@ -498,8 +493,8 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
...
@@ -498,8 +493,8 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
FragmentManager
fm
=
getSupportFragmentManager
();
FragmentManager
fm
=
getSupportFragmentManager
();
List
<
Fragment
>
fragmentList
=
new
ArrayList
<>();
List
<
Fragment
>
fragmentList
=
new
ArrayList
<>();
// Fragment标签
// Fragment标签
modSasteFineItemFragment
=
Fine
Item
AllFragment
.
newInstance
();
modSasteFineItemFragment
=
Fine
Child
AllFragment
.
newInstance
();
modMsgFineItemFragment
=
Fine
Item
AllFragment
.
newInstance
();
modMsgFineItemFragment
=
Fine
Child
AllFragment
.
newInstance
();
fragmentList
.
add
(
modSasteFineItemFragment
);
fragmentList
.
add
(
modSasteFineItemFragment
);
fragmentList
.
add
(
modMsgFineItemFragment
);
fragmentList
.
add
(
modMsgFineItemFragment
);
// fragmentList.add(modCommFineItemFragment);
// fragmentList.add(modCommFineItemFragment);
...
@@ -626,10 +621,15 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
...
@@ -626,10 +621,15 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
showMessage
(
"此食品不能參與折扣!"
);
showMessage
(
"此食品不能參與折扣!"
);
return
;
return
;
}
}
//更新折扣数据
mPresenter
.
loadDiscountData
();
showViewModeVisibility
(
MealConstant
.
discount_ViewMode
);
mPresenter
.
loadDiscountFragment
();
showModifyLayoutVisibility
(
true
);
// //更新折扣数据
// mPresenter.loadDiscountData();
//
// showViewModeVisibility(MealConstant.discount_ViewMode);
}
}
@OnClick
(
R2
.
id
.
btn_table
)
@OnClick
(
R2
.
id
.
btn_table
)
...
@@ -658,22 +658,25 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
...
@@ -658,22 +658,25 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
public
void
onUseMember
(
UseMemberDialog
dialog
)
{
public
void
onUseMember
(
UseMemberDialog
dialog
)
{
if
(
mMemberInfo
!=
null
)
{
if
(
mMemberInfo
!=
null
)
{
dialog
.
dismiss
();
dialog
.
dismiss
();
if
(
DoshokuOrder
.
getInstance
().
getMemberInfo
()
==
null
)
{
useMember
();
// if (DoshokuOrder.getInstance().getMemberInfo() == null) {
DoshokuOrder
.
getInstance
().
setMemberInfo
(
mMemberInfo
);
DoshokuOrder
.
getInstance
().
setMemberInfo
(
mMemberInfo
);
//添加会员折扣行
useMember
();
ShoppingCart
shoppingCart
=
mPresenter
.
getShoppingCart
();
MultyDiscount
multyDiscount
=
shoppingCart
.
createMemberDiscount
(
mMemberInfo
,
BillItem
.
BILL_ITEM_NO_ORDER_STATUS
);
shoppingCart
.
addMultyDiscount
(
multyDiscount
);
DoshokuOrder
.
getInstance
().
setBillItemStatus
(
DoshokuOrder
.
MEMBER_ITEM_TAG
);
//添加会员折扣行
ShoppingCart
shoppingCart
=
mPresenter
.
getShoppingCart
();
MultyDiscount
multyDiscount
=
shoppingCart
.
createMemberDiscount
(
mMemberInfo
,
BillItem
.
BILL_ITEM_NO_ORDER_STATUS
);
shoppingCart
.
addMultyDiscount
(
multyDiscount
);
mPresenter
.
updateBillInfo
(
);
DoshokuOrder
.
getInstance
().
setBillItemStatus
(
DoshokuOrder
.
MEMBER_ITEM_TAG
);
}
mPresenter
.
updateBillInfo
();
// } else {
// DoshokuOrder.getInstance().setMemberInfo(mMemberInfo);
// }
}
else
{
}
else
{
showMessage
(
"請輸入正確的會員號碼!"
);
showMessage
(
"請輸入正確的會員號碼!"
);
}
}
...
@@ -684,7 +687,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
...
@@ -684,7 +687,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
btn_table
.
setBackgroundColor
(
Color
.
parseColor
(
"#336699"
));
btn_table
.
setBackgroundColor
(
Color
.
parseColor
(
"#336699"
));
DoshokuOrder
.
getInstance
().
setMemberInfo
(
null
);
DoshokuOrder
.
getInstance
().
setMemberInfo
(
null
);
DiscountItem
memberDiscountBillItem
=
(
DiscountItem
)
mPresenter
.
findBillItemByClass
(
MemberDiscount
.
class
);
DiscountItem
memberDiscountBillItem
=
(
DiscountItem
)
mPresenter
.
findBillItemByClass
(
Member
Level
Discount
.
class
);
if
(
memberDiscountBillItem
!=
null
)
{
if
(
memberDiscountBillItem
!=
null
)
{
ShoppingCart
shoppingCart
=
mPresenter
.
getShoppingCart
();
ShoppingCart
shoppingCart
=
mPresenter
.
getShoppingCart
();
shoppingCart
.
delMultyDiscount
(
memberDiscountBillItem
.
getDiscount
());
shoppingCart
.
delMultyDiscount
(
memberDiscountBillItem
.
getDiscount
());
...
@@ -823,6 +826,9 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
...
@@ -823,6 +826,9 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
mPresenter
.
deleteChildItem
();
mPresenter
.
deleteChildItem
();
}
}
}
else
if
(
id
==
R
.
id
.
btn_end
)
{
}
else
if
(
id
==
R
.
id
.
btn_end
)
{
if
(
mPresenter
.
getDiscountFragment
()
!=
null
)
{
mPresenter
.
getDiscountFragment
().
pop
();
}
mPresenter
.
getSelectMealAdapter
().
setSelectedMode
(
SelectMealAdapter
.
SINGLE_SELECTED
);
mPresenter
.
getSelectMealAdapter
().
setSelectedMode
(
SelectMealAdapter
.
SINGLE_SELECTED
);
btn_delete
.
setVisibility
(
View
.
VISIBLE
);
btn_delete
.
setVisibility
(
View
.
VISIBLE
);
setSelectFunctionVisibility
(
View
.
GONE
);
setSelectFunctionVisibility
(
View
.
GONE
);
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity2.java
View file @
6ec228e3
...
@@ -2,86 +2,46 @@ package com.gingersoft.gsa.cloud.table.mvp.ui.activity;
...
@@ -2,86 +2,46 @@ package com.gingersoft.gsa.cloud.table.mvp.ui.activity;
import
android.app.Activity
;
import
android.app.Activity
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.graphics.Color
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.os.SystemClock
;
import
android.text.TextUtils
;
import
android.text.TextUtils
;
import
android.util.DisplayMetrics
;
import
android.util.SparseArray
;
import
android.util.SparseArray
;
import
android.util.TypedValue
;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.BaseAdapter
;
import
android.widget.BaseAdapter
;
import
android.widget.Button
;
import
android.widget.Button
;
import
android.widget.Chronometer
;
import
android.widget.Chronometer
;
import
android.widget.FrameLayout
;
import
android.widget.FrameLayout
;
import
android.widget.ImageButton
;
import
android.widget.ImageView
;
import
android.widget.LinearLayout
;
import
android.widget.LinearLayout
;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.annotation.Nullable
;
import
androidx.core.widget.NestedScrollView
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentManager
;
import
androidx.recyclerview.widget.DefaultItemAnimator
;
import
androidx.recyclerview.widget.GridLayoutManager
;
import
androidx.recyclerview.widget.GridLayoutManager
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.viewpager.widget.ViewPager
;
import
com.billy.cc.core.component.CC
;
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.FoodSummaryConstans
;
import
com.gingersoft.gsa.cloud.common.constans.MealConstant
;
import
com.gingersoft.gsa.cloud.common.constans.MealConstant
;
import
com.gingersoft.gsa.cloud.common.core.member.MemberInfo
;
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.RestaurantInfoManager
;
import
com.gingersoft.gsa.cloud.common.core.table.TableBean
;
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.scan.ScanHelper
;
import
com.gingersoft.gsa.cloud.common.utils.LanguageUtils
;
import
com.gingersoft.gsa.cloud.common.utils.LanguageUtils
;
import
com.gingersoft.gsa.cloud.common.utils.VibratorUtils
;
import
com.gingersoft.gsa.cloud.common.utils.VibratorUtils
;
import
com.gingersoft.gsa.cloud.common.utils.other.SPUtils
;
import
com.gingersoft.gsa.cloud.component.ComponentName
;
import
com.gingersoft.gsa.cloud.component.ComponentName
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.order.bean.response.OrderResponse
;
import
com.gingersoft.gsa.cloud.order.billItem.BillItem
;
import
com.gingersoft.gsa.cloud.order.billItem.DiscountItem
;
import
com.gingersoft.gsa.cloud.order.cart.ShoppingCart
;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.order.discount.MemberDiscount
;
import
com.gingersoft.gsa.cloud.order.discount.MultyDiscount
;
import
com.gingersoft.gsa.cloud.order.order.BaseOrder
;
import
com.gingersoft.gsa.cloud.order.order.BaseOrder
;
import
com.gingersoft.gsa.cloud.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.print.PrinterUtils
;
import
com.gingersoft.gsa.cloud.table.BuildConfig
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerMealStand2Component
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerMealStand2Component
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerMealStandComponent
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.MealStandContract
;
import
com.gingersoft.gsa.cloud.table.mvp.
model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.
contract.MealStandContract2
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.event.InitTableEvent
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.event.InitTableEvent
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.MealStandPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.MealStandPresenter2
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.MealStandPresenter2
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BaseFragmentAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.FineItemAllFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.mealstand.SetMealFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.mealstand.SetMealFragment
;
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.table.mvp.ui.widget.CustomFoodDialog
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.UseMemberDialog
;
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.PagerGridLayoutManager
;
import
com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridSnapHelper
;
import
com.gingersoft.gsa.cloud.ui.recylcler.RecyclerViewNoBugLinearLayoutManager
;
import
com.gingersoft.gsa.cloud.ui.recylcler.decorator.DividerItemDecoration
;
import
com.gingersoft.gsa.cloud.ui.recylcler.decorator.GridDividerItemDecoration
;
import
com.gingersoft.gsa.cloud.ui.view.PagerSlidingTabStrip
;
import
com.gingersoft.gsa.cloud.ui.view.SearchKeyBoardView
;
import
com.gingersoft.gsa.cloud.ui.view.SearchKeyBoardView
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
...
@@ -90,22 +50,13 @@ import com.jess.arms.base.BaseFragmentActivity;
...
@@ -90,22 +50,13 @@ import com.jess.arms.base.BaseFragmentActivity;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaTextView
;
import
com.qmuiteam.qmui.util.QMUIDisplayHelper
;
import
org.simple.eventbus.EventBus
;
import
org.simple.eventbus.EventBus
;
import
java.text.DecimalFormat
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.List
;
import
javax.inject.Inject
;
import
javax.inject.Named
;
import
butterknife.BindView
;
import
butterknife.BindView
;
import
butterknife.OnClick
;
import
butterknife.OnClick
;
import
butterknife.OnLongClick
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
...
@@ -122,14 +73,37 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
...
@@ -122,14 +73,37 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
* ================================================
*/
*/
public
class
MealStandActivity2
extends
BaseFragmentActivity
<
MealStandPresenter2
>
implements
MealStandContract
.
View
,
PagerGridLayoutManager
.
PageListener
{
public
class
MealStandActivity2
extends
BaseFragmentActivity
<
MealStandPresenter2
>
implements
MealStandContract2
.
View
,
PagerGridLayoutManager
.
PageListener
{
private
SparseArray
<
View
>
map
=
new
SparseArray
<>(
10
);
@BindView
(
R2
.
id
.
meal_stand_search_keyboard_view
)
@BindView
(
R2
.
id
.
ctime
)
SearchKeyBoardView
keyboard_view
;
Chronometer
ctime
;
@BindView
(
R2
.
id
.
fl_food_plate
)
FrameLayout
flFoodPlate
;
@BindView
(
R2
.
id
.
fl_meal_discount
)
@BindView
(
R2
.
id
.
fl_meal_discount
)
FrameLayout
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
)
Button
btnOrderCount
;
@BindView
(
R2
.
id
.
tv_order_content
)
TextView
tvOrderContent
;
@BindView
(
R2
.
id
.
fl_order_content
)
FrameLayout
flOrderContent
;
@BindView
(
R2
.
id
.
btn_send_order
)
Button
btnSendOrder
;
@BindView
(
R2
.
id
.
fl_send_order
)
FrameLayout
flSendOrder
;
@BindView
(
R2
.
id
.
btn_order_printer
)
Button
btnOrderPrinter
;
@BindView
(
R2
.
id
.
btn_printer_machine_name
)
Button
btnPrinterMachineName
;
@BindView
(
R2
.
id
.
fl_printer_order
)
FrameLayout
flPrinterOrder
;
@BindView
(
R2
.
id
.
ll_stand_oper
)
LinearLayout
llStandOper
;
private
int
mCurrentViewMode
;
private
int
mCurrentViewMode
;
private
boolean
isPluMode
;
private
boolean
isPluMode
;
...
@@ -173,52 +147,13 @@ public class MealStandActivity2 extends BaseFragmentActivity<MealStandPresenter2
...
@@ -173,52 +147,13 @@ public class MealStandActivity2 extends BaseFragmentActivity<MealStandPresenter2
}
}
@Override
@OnClick
({
R2
.
id
.
btn_send_order
,
R2
.
id
.
tv_no_save_return
,
R2
.
id
.
tv_order_content
})
public
boolean
isInitFineItemLayout
()
{
return
true
;
}
@Override
public
int
getRestaurantId
()
{
return
RestaurantInfoManager
.
newInstance
().
getRestaurantId
();
}
@Override
public
void
initFineItemTabBarViewPage
()
{
}
@Override
public
void
setCurrentFinePage
()
{
}
@Override
public
void
setPluMode
()
{
}
@Override
public
void
resetPluMode
()
{
}
@Override
public
void
updateMemberInfo
(
MemberInfo
memberInfo
)
{
}
@OnClick
({
R2
.
id
.
btn_send_order
,
R2
.
id
.
tv_no_save_return
,
R2
.
id
.
tv_order_content
})
public
void
onClick
(
View
v
)
{
public
void
onClick
(
View
v
)
{
recordOperat
(
true
);
recordOperat
(
true
);
//防抖處理
int
id
=
v
.
getId
();
int
id
=
v
.
getId
();
if
(
id
==
R
.
id
.
btn_numberman
)
{
if
(
id
==
R
.
id
.
btn_send_order
)
{
if
(!
BaseOrder
.
isTableToMeal
())
{
return
;
}
showChoosePeopleNumDialog
(
true
);
}
else
if
(
id
==
R
.
id
.
btn_fid
)
{
setPluMode
();
}
else
if
(
id
==
R
.
id
.
btn_send_order
)
{
if
(
BaseOrder
.
isCurrentOrderType
(
FoodSummaryConstans
.
TAKEAWAY_TYPE
))
{
if
(
BaseOrder
.
isCurrentOrderType
(
FoodSummaryConstans
.
TAKEAWAY_TYPE
))
{
CC
.
obtainBuilder
(
ComponentName
.
COMPONENT_DELIVERYPICK
)
CC
.
obtainBuilder
(
ComponentName
.
COMPONENT_DELIVERYPICK
)
.
setActionName
(
"SendOrder"
)
.
setActionName
(
"SendOrder"
)
...
@@ -273,150 +208,27 @@ public class MealStandActivity2 extends BaseFragmentActivity<MealStandPresenter2
...
@@ -273,150 +208,27 @@ public class MealStandActivity2 extends BaseFragmentActivity<MealStandPresenter2
}
}
@Override
@Override
public
void
showChoosePeopleNumDialog
(
boolean
isNeedCancel
)
{
}
@Override
public
void
setPrinterLocalmachine
(
boolean
isPrint
)
{
}
@Override
public
void
setTableInfoDialogAdapter
(
BaseAdapter
adapter
)
{
}
@Override
public
void
setSelectFoodAdapter
(
RecyclerView
.
Adapter
adapter
)
{
}
@Override
public
void
setFoodGroupAdapter
(
DefaultAdapter
adapter
)
{
}
@Override
public
void
setFoodAdapter
(
DefaultAdapter
adapter
)
{
public
void
setFoodAdapter
(
DefaultAdapter
adapter
)
{
}
}
@Override
@Override
public
void
setOrderDetailAdapter
(
DefaultAdapter
adapter
)
{
public
void
setOrderDetailAdapter
(
DefaultAdapter
adapter
)
{
}
@Override
public
void
setComboAdapter
(
DefaultAdapter
adapter
)
{
}
@Override
public
void
setModifierAdapter
(
DefaultAdapter
adapter
)
{
}
@Override
public
void
setDiscountAdapter
(
DefaultAdapter
adapter
)
{
}
private
GridLayoutManager
foodRecycleLayoutManager
,
comboRecycleLayoutManager
,
modifierRecycleLayoutManager
,
discountRecycleLayoutManager
;
@Override
public
void
setSelectFoodRecycleLayoutManager
()
{
}
@Override
public
void
setFoodGroupRecycleLayoutManager
(
int
orientation
)
{
}
@Override
public
void
setFoodRecycleLayoutManager
(
int
orientation
)
{
}
@Override
public
void
setComboRecycleLayoutManager
(
int
orientation
)
{
}
@Override
public
void
setModifierRecycleLayoutManager
(
int
orientation
)
{
}
@Override
public
void
setDiscountRecycleLayoutManager
(
int
orientation
)
{
}
@Override
public
void
setFoodGroupRecycleSpanCount
(
int
size
)
{
}
@Override
public
void
setFoodRecycleSpanCount
(
int
size
)
{
}
}
@Override
@Override
public
void
setComboRecycleSpanCount
(
int
size
)
{
public
void
showStandOperLayoutVisibility
(
boolean
show
)
{
}
if
(
show
)
{
llStandOper
.
setVisibility
(
View
.
INVISIBLE
);
@Override
public
void
setModifierRecycleSpanCount
(
int
size
)
{
}
@Override
public
void
setDiscountRecycleSpanCount
(
int
size
)
{
}
@Override
public
void
showViewModeVisibility
(
int
...
viewMode
)
{
//將所有的view隱藏
for
(
int
i
=
0
;
i
<
map
.
size
();
i
++)
{
map
.
valueAt
(
i
).
setVisibility
(
View
.
INVISIBLE
);
}
//設置當前mode為第一個傳入的mode
for
(
int
mode
:
viewMode
)
{
this
.
mCurrentViewMode
=
mode
;
break
;
}
//顯示所有傳入的需要顯示的view
for
(
int
mode
:
viewMode
)
{
map
.
get
(
mode
).
setVisibility
(
View
.
VISIBLE
);
}
//設置當前模式為輸入Plu模式
if
(
viewMode
!=
null
&&
viewMode
[
0
]
==
MealConstant
.
ViewMode_keys
)
{
isPluMode
=
true
;
}
else
{
}
else
{
isPluMode
=
false
;
llStandOper
.
setVisibility
(
View
.
VISIBLE
);
}
switch
(
mCurrentViewMode
)
{
case
MealConstant
.
food_group_ViewMode
:
case
MealConstant
.
food_ViewMode
:
showModifyLayoutVisibility
(
false
);
break
;
case
MealConstant
.
combo_ViewMode
:
// case MealConstant.modifier_ViewMode:
case
MealConstant
.
discount_ViewMode
:
case
MealConstant
.
fine_ViewMode
:
showModifyLayoutVisibility
(
true
);
break
;
default
:
break
;
}
}
}
}
@Override
@Override
public
void
showModifyLayoutVisibility
(
boolean
show
)
{
}
@Override
public
void
setOrderFoodCount
(
String
number
)
{
public
void
setOrderFoodCount
(
String
number
)
{
}
}
@Override
@Override
public
void
setMealRvScrollToPosition
(
int
position
)
{
}
@Override
public
List
<
Food
>
getFoodGroupList
()
{
return
null
;
}
@Override
public
void
initIntent
()
{
public
void
initIntent
()
{
}
}
...
@@ -483,19 +295,6 @@ public class MealStandActivity2 extends BaseFragmentActivity<MealStandPresenter2
...
@@ -483,19 +295,6 @@ public class MealStandActivity2 extends BaseFragmentActivity<MealStandPresenter2
public
void
clearInput
()
{
public
void
clearInput
()
{
}
}
/**
* 显示公共信息
*/
public
void
showRemarkLayout
()
{
//没有初始化细项布局则初始化
if
(!
isInitFineItemLayout
())
{
}
else
{
setCurrentFinePage
();
showViewModeVisibility
(
MealConstant
.
fine_ViewMode
,
MealConstant
.
fine_tabs_ViewMode
);
}
}
@Override
@Override
protected
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
@Nullable
Intent
data
)
{
protected
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
@Nullable
Intent
data
)
{
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
...
@@ -517,10 +316,6 @@ public class MealStandActivity2 extends BaseFragmentActivity<MealStandPresenter2
...
@@ -517,10 +316,6 @@ public class MealStandActivity2 extends BaseFragmentActivity<MealStandPresenter2
}
}
}
}
public
int
getCurrentViewMode
()
{
return
mCurrentViewMode
;
}
@Override
@Override
public
void
onPageSizeChanged
(
int
pageSize
)
{
public
void
onPageSizeChanged
(
int
pageSize
)
{
}
}
...
@@ -530,31 +325,7 @@ public class MealStandActivity2 extends BaseFragmentActivity<MealStandPresenter2
...
@@ -530,31 +325,7 @@ public class MealStandActivity2 extends BaseFragmentActivity<MealStandPresenter2
}
}
@Override
@Override
public
void
setModifierTop
(
int
margins
)
{
}
@Override
public
void
setCustomFoodDialog
(
int
customType
,
OrderDetail
foodItem
)
{
new
CustomFoodDialog
(
mContext
,
customType
)
.
create
(
R
.
style
.
MyEditDialogTheme
)
.
setOnEditListener
((
dialog
,
name
,
money
)
->
{
dialog
.
dismiss
();
if
(
customType
==
Food
.
CUSTOM_TYPE_101
)
{
foodItem
.
setProductName
(
name
);
}
if
(!
TextUtils
.
isEmpty
(
money
))
{
foodItem
.
setUnit_price
(
Double
.
parseDouble
(
money
));
foodItem
.
setPrice
(
foodItem
.
getUnit_price
());
// mPresenter.toAddFoodItem(foodItem);
}
})
.
show
();
}
@Override
public
void
showBtnMealModifyRestoreVisibility
(
boolean
show
)
{
public
void
showBtnMealModifyRestoreVisibility
(
boolean
show
)
{
}
}
private
void
setSelectFunctionVisibility
(
int
visibility
)
{
}
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderPayActivity.java
View file @
6ec228e3
...
@@ -669,6 +669,12 @@ public class OrderPayActivity extends BaseFragmentActivity<OrderPayPresenter> im
...
@@ -669,6 +669,12 @@ public class OrderPayActivity extends BaseFragmentActivity<OrderPayPresenter> im
}
}
@Override
protected
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
@Nullable
Intent
data
)
{
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
LoganManager
.
w_code
(
TAG
,
"onActivityResult->"
+
"resultCode="
+
resultCode
+
" requestCode="
+
requestCode
);
}
public
OrderPayView
getGsaPayView
()
{
public
OrderPayView
getGsaPayView
()
{
return
gsaPayView
;
return
gsaPayView
;
}
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/SoldoutCtrlActivity.java
View file @
6ec228e3
...
@@ -16,7 +16,6 @@ import com.gingersoft.gsa.cloud.app.GsaCloudApplication;
...
@@ -16,7 +16,6 @@ import com.gingersoft.gsa.cloud.app.GsaCloudApplication;
import
com.gingersoft.gsa.cloud.common.utils.LanguageUtils
;
import
com.gingersoft.gsa.cloud.common.utils.LanguageUtils
;
import
com.gingersoft.gsa.cloud.common.utils.VibratorUtils
;
import
com.gingersoft.gsa.cloud.common.utils.VibratorUtils
;
import
com.gingersoft.gsa.cloud.common.utils.log.LogUtil
;
import
com.gingersoft.gsa.cloud.common.utils.log.LogUtil
;
import
com.gingersoft.gsa.cloud.common.constans.GoldConstants
;
import
com.gingersoft.gsa.cloud.common.constans.MealConstant
;
import
com.gingersoft.gsa.cloud.common.constans.MealConstant
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R
;
...
@@ -25,9 +24,9 @@ import com.gingersoft.gsa.cloud.table.di.component.DaggerSoldoutCtrlComponent;
...
@@ -25,9 +24,9 @@ import com.gingersoft.gsa.cloud.table.di.component.DaggerSoldoutCtrlComponent;
import
com.gingersoft.gsa.cloud.table.mvp.contract.SoldoutCtrlContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.SoldoutCtrlContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.SoldoutCtrlPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.SoldoutCtrlPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.
FineItem
AllFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.
mealstand.FineChild
AllFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.
FineItem
OneselfFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.
mealstand.FineChild
OneselfFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.ChooseNumberDialog
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.ChooseNumberDialog
;
import
com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridLayoutManager
;
import
com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridLayoutManager
;
import
com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridSnapHelper
;
import
com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridSnapHelper
;
...
@@ -136,8 +135,8 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent
...
@@ -136,8 +135,8 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent
public
static
final
int
FOOD_TYPE
=
2
;
public
static
final
int
FOOD_TYPE
=
2
;
public
static
final
int
MODIFIER_TYPE
=
3
;
public
static
final
int
MODIFIER_TYPE
=
3
;
private
Fine
Item
OneselfFragment
oneselfFineItemFragment
;
private
Fine
Child
OneselfFragment
oneselfFineItemFragment
;
private
Fine
Item
AllFragment
modMsgFineItemFragment
,
modSasteFineItemFragment
;
private
Fine
Child
AllFragment
modMsgFineItemFragment
,
modSasteFineItemFragment
;
private
String
[]
mFineTabTitles
=
{
"子項"
,
"口味"
,
"特別信息"
};
private
String
[]
mFineTabTitles
=
{
"子項"
,
"口味"
,
"特別信息"
};
private
int
mCurrentFinePageIndex
;
private
int
mCurrentFinePageIndex
;
...
@@ -724,19 +723,19 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent
...
@@ -724,19 +723,19 @@ public class SoldoutCtrlActivity extends BaseFragmentActivity<SoldoutCtrlPresent
if
(
modMsgFineItemFragment
!=
null
)
{
if
(
modMsgFineItemFragment
!=
null
)
{
return
modMsgFineItemFragment
;
return
modMsgFineItemFragment
;
}
}
modMsgFineItemFragment
=
Fine
Item
AllFragment
.
newInstance
();
modMsgFineItemFragment
=
Fine
Child
AllFragment
.
newInstance
();
return
modMsgFineItemFragment
;
return
modMsgFineItemFragment
;
case
1
:
case
1
:
if
(
modSasteFineItemFragment
!=
null
)
{
if
(
modSasteFineItemFragment
!=
null
)
{
return
modSasteFineItemFragment
;
return
modSasteFineItemFragment
;
}
}
modSasteFineItemFragment
=
Fine
Item
AllFragment
.
newInstance
();
modSasteFineItemFragment
=
Fine
Child
AllFragment
.
newInstance
();
return
modSasteFineItemFragment
;
return
modSasteFineItemFragment
;
default
:
default
:
if
(
oneselfFineItemFragment
!=
null
)
{
if
(
oneselfFineItemFragment
!=
null
)
{
return
oneselfFineItemFragment
;
return
oneselfFineItemFragment
;
}
}
oneselfFineItemFragment
=
Fine
Item
OneselfFragment
.
newInstance
();
oneselfFineItemFragment
=
Fine
Child
OneselfFragment
.
newInstance
();
return
oneselfFineItemFragment
;
return
oneselfFineItemFragment
;
}
}
}
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/TableActivity.java
View file @
6ec228e3
...
@@ -394,7 +394,7 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
...
@@ -394,7 +394,7 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
@Override
@Override
public
void
startMealStandActivity
()
{
public
void
startMealStandActivity
()
{
startActivity
(
new
Intent
(
this
,
MealStandActivity
.
class
));
startActivity
(
new
Intent
(
this
,
MealStandActivity
2
.
class
));
}
}
@Override
@Override
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/MemberInfoAdapter.java
View file @
6ec228e3
...
@@ -19,5 +19,4 @@ public class MemberInfoAdapter extends BaseQuickAdapter<SectionTextItem, BaseVie
...
@@ -19,5 +19,4 @@ public class MemberInfoAdapter extends BaseQuickAdapter<SectionTextItem, BaseVie
helper
.
setText
(
R
.
id
.
tv_text
,
item
.
getText
());
helper
.
setText
(
R
.
id
.
tv_text
,
item
.
getText
());
}
}
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/SelectMealAdapter2.java
View file @
6ec228e3
...
@@ -19,11 +19,14 @@ import com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.MealStandPresenter
...
@@ -19,11 +19,14 @@ import com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.MealStandPresenter
import
com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.SetMealPresenter
;
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.MealStandActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity2
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity2
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.mealstand.SetMealFragment
;
import
com.jess.arms.base.BaseHolder
;
import
com.jess.arms.base.BaseHolder
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.mvp.BasePresenter
;
import
com.jess.arms.mvp.BasePresenter
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.ArmsUtils
;
import
org.simple.eventbus.EventBus
;
import
java.util.List
;
import
java.util.List
;
import
javax.inject.Inject
;
import
javax.inject.Inject
;
...
@@ -442,7 +445,8 @@ public class SelectMealAdapter2 extends DefaultAdapter<OrderDetail> {
...
@@ -442,7 +445,8 @@ public class SelectMealAdapter2 extends DefaultAdapter<OrderDetail> {
setSelectPosition
(
select_position
);
setSelectPosition
(
select_position
);
mMealStandActivity
.
showViewModeVisibility
(
MealConstant
.
food_group_ViewMode
,
MealConstant
.
food_ViewMode
);
EventBus
.
getDefault
().
post
(
SetMealFragment
.
FOOD_LAYOUT
,
SetMealFragment
.
SET_CURR_LAYOUT_EVENT
);
// mMealStandActivity.showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode);
}
}
/**
/**
...
@@ -488,9 +492,10 @@ public class SelectMealAdapter2 extends DefaultAdapter<OrderDetail> {
...
@@ -488,9 +492,10 @@ public class SelectMealAdapter2 extends DefaultAdapter<OrderDetail> {
setSelectPosition
(
select_position
);
setSelectPosition
(
select_position
);
if
(
mMealStandActivity
!=
null
)
{
EventBus
.
getDefault
().
post
(
SetMealFragment
.
FOOD_LAYOUT
,
SetMealFragment
.
SET_CURR_LAYOUT_EVENT
);
mMealStandActivity
.
showViewModeVisibility
(
MealConstant
.
food_group_ViewMode
,
MealConstant
.
food_ViewMode
);
// if (mMealStandActivity != null) {
}
// mMealStandActivity.showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode);
// }
return
select_position
;
return
select_position
;
}
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/discount/CouponFragment.java
View file @
6ec228e3
...
@@ -12,7 +12,7 @@ import androidx.recyclerview.widget.GridLayoutManager;
...
@@ -12,7 +12,7 @@ import androidx.recyclerview.widget.GridLayoutManager;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.
common.core.discount.Member
Coupon
;
import
com.gingersoft.gsa.cloud.
order.bean.discount.MemberWallet
Coupon
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerCouponComponent
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerCouponComponent
;
...
@@ -66,10 +66,23 @@ public class CouponFragment extends BaseFragment<CouponPresenter> implements Cou
...
@@ -66,10 +66,23 @@ public class CouponFragment extends BaseFragment<CouponPresenter> implements Cou
@Inject
@Inject
TagViewAdapter
mMemberCouponAdapter
;
TagViewAdapter
mMemberCouponAdapter
;
/**
* 0=沒有限制
* 1=食品專有
* 2=帳單專有
*/
public
static
final
byte
NO_LIMIT_DISCOUNT
=
0
;
public
static
final
byte
FOOD_LIMIT_DISCOUNT
=
1
;
public
static
final
byte
BILL_LIMIT_DISCOUNT
=
2
;
private
int
limitType
=
NO_LIMIT_DISCOUNT
;
private
LoadService
loadService
;
private
LoadService
loadService
;
public
static
CouponFragment
newInstance
()
{
public
static
CouponFragment
newInstance
(
int
limitType
)
{
CouponFragment
fragment
=
new
CouponFragment
();
CouponFragment
fragment
=
new
CouponFragment
();
Bundle
bundle
=
new
Bundle
();
bundle
.
putInt
(
"limitType"
,
limitType
);
fragment
.
setArguments
(
bundle
);
return
fragment
;
return
fragment
;
}
}
...
@@ -89,11 +102,18 @@ public class CouponFragment extends BaseFragment<CouponPresenter> implements Cou
...
@@ -89,11 +102,18 @@ public class CouponFragment extends BaseFragment<CouponPresenter> implements Cou
}
}
@Override
@Override
public
void
onCreate
(
@Nullable
Bundle
savedInstanceState
)
{
Bundle
arguments
=
getArguments
();
limitType
=
arguments
.
getInt
(
"limitType"
);
super
.
onCreate
(
savedInstanceState
);
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
loadService
=
LoadSir
.
getDefault
().
register
(
refreshLayout
,
new
Callback
.
OnReloadListener
()
{
loadService
=
LoadSir
.
getDefault
().
register
(
refreshLayout
,
new
Callback
.
OnReloadListener
()
{
@Override
@Override
public
void
onReload
(
View
v
)
{
public
void
onReload
(
View
v
)
{
mPresenter
.
getMemberWalletList
(
null
,
tru
e
);
mPresenter
.
getMemberWalletList
(
null
,
false
,
limitTyp
e
);
}
}
});
});
...
@@ -104,7 +124,7 @@ public class CouponFragment extends BaseFragment<CouponPresenter> implements Cou
...
@@ -104,7 +124,7 @@ public class CouponFragment extends BaseFragment<CouponPresenter> implements Cou
@Override
@Override
public
void
onLazyInitView
(
@Nullable
Bundle
savedInstanceState
)
{
public
void
onLazyInitView
(
@Nullable
Bundle
savedInstanceState
)
{
super
.
onLazyInitView
(
savedInstanceState
);
super
.
onLazyInitView
(
savedInstanceState
);
mPresenter
.
getMemberWalletList
(
null
,
tru
e
);
mPresenter
.
getMemberWalletList
(
null
,
false
,
limitTyp
e
);
}
}
private
void
initAdapter
()
{
private
void
initAdapter
()
{
...
@@ -112,7 +132,7 @@ public class CouponFragment extends BaseFragment<CouponPresenter> implements Cou
...
@@ -112,7 +132,7 @@ public class CouponFragment extends BaseFragment<CouponPresenter> implements Cou
rvCoupon
.
setAdapter
(
mMemberCouponAdapter
);
rvCoupon
.
setAdapter
(
mMemberCouponAdapter
);
mMemberCouponAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
{
mMemberCouponAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
{
if
(
onCouponItemClickListener
!=
null
)
{
if
(
onCouponItemClickListener
!=
null
)
{
onCouponItemClickListener
.
onItemClick
((
MemberCoupon
)
mMemberCouponList
.
get
(
position
).
getTargetObj
(),
position
);
onCouponItemClickListener
.
onItemClick
((
Member
Wallet
Coupon
)
mMemberCouponList
.
get
(
position
).
getTargetObj
(),
position
);
}
}
});
});
}
}
...
@@ -130,13 +150,13 @@ public class CouponFragment extends BaseFragment<CouponPresenter> implements Cou
...
@@ -130,13 +150,13 @@ public class CouponFragment extends BaseFragment<CouponPresenter> implements Cou
refreshLayout
.
setOnRefreshListener
(
new
OnRefreshListener
()
{
refreshLayout
.
setOnRefreshListener
(
new
OnRefreshListener
()
{
@Override
@Override
public
void
onRefresh
(
@NonNull
final
RefreshLayout
refreshLayout
)
{
public
void
onRefresh
(
@NonNull
final
RefreshLayout
refreshLayout
)
{
mPresenter
.
getMemberWalletList
(
refreshLayout
,
tru
e
);
mPresenter
.
getMemberWalletList
(
refreshLayout
,
false
,
limitTyp
e
);
}
}
});
});
refreshLayout
.
setOnLoadMoreListener
(
new
OnLoadMoreListener
()
{
refreshLayout
.
setOnLoadMoreListener
(
new
OnLoadMoreListener
()
{
@Override
@Override
public
void
onLoadMore
(
@NonNull
final
RefreshLayout
refreshLayout
)
{
public
void
onLoadMore
(
@NonNull
final
RefreshLayout
refreshLayout
)
{
mPresenter
.
getMemberWalletList
(
refreshLayout
,
fals
e
);
mPresenter
.
getMemberWalletList
(
refreshLayout
,
true
,
limitTyp
e
);
}
}
});
});
refreshLayout
.
setEnableLoadMore
(
false
);
refreshLayout
.
setEnableLoadMore
(
false
);
...
@@ -179,7 +199,7 @@ public class CouponFragment extends BaseFragment<CouponPresenter> implements Cou
...
@@ -179,7 +199,7 @@ public class CouponFragment extends BaseFragment<CouponPresenter> implements Cou
}
}
@Override
@Override
public
void
returnMemberCouponList
(
List
<
MemberCoupon
>
memberCoupons
)
{
public
void
returnMemberCouponList
(
List
<
Member
Wallet
Coupon
>
memberCoupons
)
{
List
<
TagViewItem
>
tagViewItems
=
castTagItem
(
memberCoupons
);
List
<
TagViewItem
>
tagViewItems
=
castTagItem
(
memberCoupons
);
if
(
mMemberCouponList
.
size
()
>
0
)
{
if
(
mMemberCouponList
.
size
()
>
0
)
{
mMemberCouponList
.
clear
();
mMemberCouponList
.
clear
();
...
@@ -188,12 +208,12 @@ public class CouponFragment extends BaseFragment<CouponPresenter> implements Cou
...
@@ -188,12 +208,12 @@ public class CouponFragment extends BaseFragment<CouponPresenter> implements Cou
mMemberCouponAdapter
.
notifyDataSetChanged
();
mMemberCouponAdapter
.
notifyDataSetChanged
();
}
}
private
List
<
TagViewItem
>
castTagItem
(
List
<
MemberCoupon
>
memberCoupons
)
{
private
List
<
TagViewItem
>
castTagItem
(
List
<
Member
Wallet
Coupon
>
memberCoupons
)
{
List
<
TagViewItem
>
tagViewItems
=
new
ArrayList
<>();
List
<
TagViewItem
>
tagViewItems
=
new
ArrayList
<>();
for
(
MemberCoupon
coupon
:
memberCoupons
)
{
for
(
Member
Wallet
Coupon
coupon
:
memberCoupons
)
{
TagViewItem
<
MemberCoupon
>
tagViewItem
=
new
TagViewItem
();
TagViewItem
<
Member
Wallet
Coupon
>
tagViewItem
=
new
TagViewItem
();
tagViewItem
.
setId
(
coupon
.
getId
());
tagViewItem
.
setId
(
coupon
.
getId
());
tagViewItem
.
setText
(
coupon
.
get
Remark
());
tagViewItem
.
setText
(
coupon
.
get
CouponTypeName
());
tagViewItem
.
setTargetObj
(
coupon
);
tagViewItem
.
setTargetObj
(
coupon
);
tagViewItems
.
add
(
tagViewItem
);
tagViewItems
.
add
(
tagViewItem
);
}
}
...
@@ -222,6 +242,6 @@ public class CouponFragment extends BaseFragment<CouponPresenter> implements Cou
...
@@ -222,6 +242,6 @@ public class CouponFragment extends BaseFragment<CouponPresenter> implements Cou
}
}
public
interface
OnCouponItemClickListener
{
public
interface
OnCouponItemClickListener
{
void
onItemClick
(
MemberCoupon
item
,
int
position
);
void
onItemClick
(
Member
Wallet
Coupon
item
,
int
position
);
}
}
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/discount/DiscountDialogFragment.java
View file @
6ec228e3
...
@@ -15,7 +15,7 @@ import androidx.annotation.Nullable;
...
@@ -15,7 +15,7 @@ import androidx.annotation.Nullable;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.Fragment
;
import
androidx.viewpager.widget.ViewPager
;
import
androidx.viewpager.widget.ViewPager
;
import
com.gingersoft.gsa.cloud.
common.core.discount.Member
Coupon
;
import
com.gingersoft.gsa.cloud.
order.bean.discount.MemberWallet
Coupon
;
import
com.gingersoft.gsa.cloud.common.core.member.MemberInfo
;
import
com.gingersoft.gsa.cloud.common.core.member.MemberInfo
;
import
com.gingersoft.gsa.cloud.common.logan.LoganManager
;
import
com.gingersoft.gsa.cloud.common.logan.LoganManager
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
...
@@ -80,7 +80,7 @@ public class DiscountDialogFragment extends BaseDialogFragment<BasePresenter> {
...
@@ -80,7 +80,7 @@ public class DiscountDialogFragment extends BaseDialogFragment<BasePresenter> {
@Override
@Override
public
void
onStart
()
{
public
void
onStart
()
{
super
.
onStart
();
super
.
onStart
();
mWindow
.
setBackgroundDrawable
(
new
ColorDrawable
(
Color
.
TRANSPARENT
));
mWindow
.
setBackgroundDrawable
(
new
ColorDrawable
(
Color
.
WHITE
));
WindowManager
.
LayoutParams
lp
=
mWindow
.
getAttributes
();
WindowManager
.
LayoutParams
lp
=
mWindow
.
getAttributes
();
lp
.
width
=
WindowManager
.
LayoutParams
.
MATCH_PARENT
;
lp
.
width
=
WindowManager
.
LayoutParams
.
MATCH_PARENT
;
lp
.
height
=
(
int
)
(
QMUIDisplayHelper
.
getScreenHeight
(
mContext
)
*
0.6
);
lp
.
height
=
(
int
)
(
QMUIDisplayHelper
.
getScreenHeight
(
mContext
)
*
0.6
);
...
@@ -114,10 +114,10 @@ public class DiscountDialogFragment extends BaseDialogFragment<BasePresenter> {
...
@@ -114,10 +114,10 @@ public class DiscountDialogFragment extends BaseDialogFragment<BasePresenter> {
if
(
couponFragment
!=
null
)
{
if
(
couponFragment
!=
null
)
{
return
couponFragment
;
return
couponFragment
;
}
}
couponFragment
=
CouponFragment
.
newInstance
();
couponFragment
=
CouponFragment
.
newInstance
(
CouponFragment
.
BILL_LIMIT_DISCOUNT
);
couponFragment
.
setOnCouponItemClickListener
(
new
CouponFragment
.
OnCouponItemClickListener
()
{
couponFragment
.
setOnCouponItemClickListener
(
new
CouponFragment
.
OnCouponItemClickListener
()
{
@Override
@Override
public
void
onItemClick
(
MemberCoupon
item
,
int
position
)
{
public
void
onItemClick
(
Member
Wallet
Coupon
item
,
int
position
)
{
if
(
onDiscountItemClickListener
!=
null
)
{
if
(
onDiscountItemClickListener
!=
null
)
{
onDiscountItemClickListener
.
onCouponClick
(
item
,
position
);
onDiscountItemClickListener
.
onCouponClick
(
item
,
position
);
}
}
...
@@ -160,7 +160,7 @@ public class DiscountDialogFragment extends BaseDialogFragment<BasePresenter> {
...
@@ -160,7 +160,7 @@ public class DiscountDialogFragment extends BaseDialogFragment<BasePresenter> {
tabSegment
.
addTab
(
tab1
);
tabSegment
.
addTab
(
tab1
);
if
(
memberInfo
!=
null
)
{
if
(
memberInfo
!=
null
)
{
mTabTitles
.
add
(
"
優惠券
"
);
mTabTitles
.
add
(
"
會員錢包
"
);
QMUITab
tab2
=
builder
QMUITab
tab2
=
builder
.
setText
(
mTabTitles
.
get
(
1
))
.
setText
(
mTabTitles
.
get
(
1
))
.
build
(
_mActivity
);
.
build
(
_mActivity
);
...
@@ -209,6 +209,6 @@ public class DiscountDialogFragment extends BaseDialogFragment<BasePresenter> {
...
@@ -209,6 +209,6 @@ public class DiscountDialogFragment extends BaseDialogFragment<BasePresenter> {
public
interface
OnDiscountItemClickListener
{
public
interface
OnDiscountItemClickListener
{
void
onBillDiscountClick
(
Discount
item
,
int
position
);
void
onBillDiscountClick
(
Discount
item
,
int
position
);
void
onCouponClick
(
MemberCoupon
item
,
int
position
);
void
onCouponClick
(
Member
Wallet
Coupon
item
,
int
position
);
}
}
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/discount/DiscountFragment.java
0 → 100644
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
fragment
.
discount
;
import
android.os.Bundle
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.fragment.app.Fragment
;
import
androidx.viewpager.widget.ViewPager
;
import
com.gingersoft.gsa.cloud.order.bean.discount.MemberWalletCoupon
;
import
com.gingersoft.gsa.cloud.common.core.member.MemberInfo
;
import
com.gingersoft.gsa.cloud.common.logan.LoganManager
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.jess.arms.base.BaseFragment
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.mvp.BasePresenter
;
import
com.qmuiteam.qmui.arch.QMUIFragmentPagerAdapter
;
import
com.qmuiteam.qmui.layout.QMUILinearLayout
;
import
com.qmuiteam.qmui.util.QMUIDisplayHelper
;
import
com.qmuiteam.qmui.widget.tab.QMUITab
;
import
com.qmuiteam.qmui.widget.tab.QMUITabBuilder
;
import
com.qmuiteam.qmui.widget.tab.QMUITabIndicator
;
import
com.qmuiteam.qmui.widget.tab.QMUITabSegment
;
import
java.util.ArrayList
;
import
java.util.List
;
import
butterknife.BindView
;
/**
* @作者: bin
* @創建時間: 2021-04-02 17:14
* @更新時間: 2021-04-02 17:14
* @描述:
*/
public
class
DiscountFragment
extends
BaseFragment
<
BasePresenter
>
{
private
final
String
TAG
=
"DiscountFragment"
;
@BindView
(
R2
.
id
.
tabSegment
)
QMUITabSegment
tabSegment
;
@BindView
(
R2
.
id
.
contentViewPager
)
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
()
{
DiscountFragment
fragment
=
new
DiscountFragment
();
return
fragment
;
}
@Override
public
void
setupFragmentComponent
(
@NonNull
AppComponent
appComponent
)
{
}
@Override
public
View
initView
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
return
inflater
.
inflate
(
R
.
layout
.
table_dialog_discout
,
container
,
false
);
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
float
mShadowAlpha
=
0.25f
;
int
mShadowElevationDp
=
14
;
llContainer
.
setRadiusAndShadow
(
15
,
QMUIDisplayHelper
.
dp2px
(
mContext
,
mShadowElevationDp
),
mShadowAlpha
);
initTabAndPager
();
}
@Override
public
void
setData
(
@Nullable
Object
data
)
{
}
private
void
initTabAndPager
()
{
MemberInfo
memberInfo
=
DoshokuOrder
.
getInstance
().
getMemberInfo
();
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
;
}
}
@Override
public
int
getCount
()
{
return
mTabTitles
.
size
();
}
@Override
public
CharSequence
getPageTitle
(
int
position
)
{
return
mTabTitles
.
get
(
position
);
}
};
QMUITabBuilder
builder
=
tabSegment
.
tabBuilder
();
mTabTitles
.
add
(
"折扣"
);
QMUITab
tab1
=
builder
.
setText
(
mTabTitles
.
get
(
0
))
.
build
(
_mActivity
);
tabSegment
.
addTab
(
tab1
);
if
(
memberInfo
!=
null
)
{
mTabTitles
.
add
(
"會員錢包"
);
QMUITab
tab2
=
builder
.
setText
(
mTabTitles
.
get
(
1
))
.
build
(
_mActivity
);
tabSegment
.
addTab
(
tab2
);
}
contentViewPager
.
setAdapter
(
pagerAdapter
);
contentViewPager
.
setCurrentItem
(
mCurrentPageIndex
);
int
space
=
QMUIDisplayHelper
.
dp2px
(
_mActivity
,
16
);
tabSegment
.
setIndicator
(
new
QMUITabIndicator
(
QMUIDisplayHelper
.
dp2px
(
_mActivity
,
2
),
false
,
true
));
tabSegment
.
setDefaultTextSize
(
QMUIDisplayHelper
.
dp2px
(
_mActivity
,
16
),
QMUIDisplayHelper
.
dp2px
(
_mActivity
,
16
));
tabSegment
.
setPadding
(
space
,
0
,
space
,
0
);
tabSegment
.
setupWithViewPager
(
contentViewPager
,
false
);
tabSegment
.
addOnTabSelectedListener
(
new
QMUITabSegment
.
OnTabSelectedListener
()
{
@Override
public
void
onTabSelected
(
int
index
)
{
LoganManager
.
w_tableMode
(
TAG
,
"當前頁面【"
+
mTabTitles
.
get
(
index
)
+
"】"
);
}
@Override
public
void
onTabUnselected
(
int
index
)
{
}
@Override
public
void
onTabReselected
(
int
index
)
{
}
@Override
public
void
onDoubleTap
(
int
index
)
{
}
});
}
@Override
public
boolean
onBackPressedSupport
()
{
return
super
.
onBackPressedSupport
();
}
private
OnDiscountItemClickListener
onDiscountItemClickListener
;
public
void
setOnDiscountItemClickListener
(
OnDiscountItemClickListener
onDiscountItemClickListener
)
{
this
.
onDiscountItemClickListener
=
onDiscountItemClickListener
;
}
public
interface
OnDiscountItemClickListener
{
void
onBillDiscountClick
(
Discount
item
,
int
position
);
void
onCouponClick
(
MemberWalletCoupon
item
,
int
position
);
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/
FineItem
AllFragment.java
→
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/
mealstand/FineChild
AllFragment.java
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
fragment
;
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
fragment
.
mealstand
;
import
android.app.Activity
;
import
android.app.Activity
;
import
android.content.Intent
;
import
android.content.Intent
;
...
@@ -12,13 +12,13 @@ import com.gingersoft.gsa.cloud.table.R;
...
@@ -12,13 +12,13 @@ import com.gingersoft.gsa.cloud.table.R;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerFineItemAllComponent
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerFineItemAllComponent
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.FineChildAllPresenter
;
import
com.jess.arms.base.BaseFragment
;
import
com.jess.arms.base.BaseFragment
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.FineItemAllContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.FineChildAllContract
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.FineItemAllPresenter
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
...
@@ -47,18 +47,18 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
...
@@ -47,18 +47,18 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
* ================================================
*/
*/
public
class
Fine
ItemAllFragment
extends
BaseFragment
<
FineItemAllPresenter
>
implements
FineItem
AllContract
.
View
{
public
class
Fine
ChildAllFragment
extends
BaseFragment
<
FineChildAllPresenter
>
implements
FineChild
AllContract
.
View
{
@BindView
(
R2
.
id
.
recycle_fine_item_all
)
@BindView
(
R2
.
id
.
recycle_fine_item_all
)
RecyclerView
recycle_fine_item_all
;
RecyclerView
recycle_fine_item_all
;
@BindView
(
R2
.
id
.
recycle_fine_item_kind_item
)
@BindView
(
R2
.
id
.
recycle_fine_item_kind_item
)
RecyclerView
recycle_fine_item_kind_item
;
//细项分类详细数据
RecyclerView
recycle_fine_item_kind_item
;
private
int
modCol
;
private
int
modCol
;
public
static
Fine
Item
AllFragment
newInstance
()
{
public
static
Fine
Child
AllFragment
newInstance
()
{
Fine
ItemAllFragment
fragment
=
new
FineItem
AllFragment
();
Fine
ChildAllFragment
fragment
=
new
FineChild
AllFragment
();
return
fragment
;
return
fragment
;
}
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/
FineItem
OneselfFragment.java
→
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/
mealstand/FineChild
OneselfFragment.java
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
fragment
;
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
fragment
.
mealstand
;
import
android.app.Activity
;
import
android.app.Activity
;
import
android.content.Intent
;
import
android.content.Intent
;
...
@@ -11,13 +11,13 @@ import android.widget.LinearLayout;
...
@@ -11,13 +11,13 @@ import android.widget.LinearLayout;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerFineItemOneselfComponent
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerFineItemOneselfComponent
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.Fine
Item
OneselfContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.Fine
Child
OneselfContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.jess.arms.base.BaseFragment
;
import
com.jess.arms.base.BaseFragment
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.
FineItem
OneselfPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.
mealstand.FineChild
OneselfPresenter
;
import
java.util.List
;
import
java.util.List
;
...
@@ -41,7 +41,7 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
...
@@ -41,7 +41,7 @@ import static com.jess.arms.utils.Preconditions.checkNotNull;
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
* ================================================
*/
*/
public
class
Fine
ItemOneselfFragment
extends
BaseFragment
<
FineItemOneselfPresenter
>
implements
FineItem
OneselfContract
.
View
{
public
class
Fine
ChildOneselfFragment
extends
BaseFragment
<
FineChildOneselfPresenter
>
implements
FineChild
OneselfContract
.
View
{
@BindView
(
R2
.
id
.
rv_combo
)
@BindView
(
R2
.
id
.
rv_combo
)
RecyclerView
rv_combo
;
RecyclerView
rv_combo
;
...
@@ -50,8 +50,8 @@ public class FineItemOneselfFragment extends BaseFragment<FineItemOneselfPresent
...
@@ -50,8 +50,8 @@ public class FineItemOneselfFragment extends BaseFragment<FineItemOneselfPresent
private
long
mFid
;
private
long
mFid
;
public
static
Fine
Item
OneselfFragment
newInstance
()
{
public
static
Fine
Child
OneselfFragment
newInstance
()
{
Fine
ItemOneselfFragment
fragment
=
new
FineItem
OneselfFragment
();
Fine
ChildOneselfFragment
fragment
=
new
FineChild
OneselfFragment
();
return
fragment
;
return
fragment
;
}
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/FineFragment.java
0 → 100644
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
fragment
.
mealstand
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.os.Message
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
import
com.jess.arms.base.BaseFragment
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.FineContract
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.FinePresenter
;
import
com.gingersoft.gsa.cloud.table.R
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/24/2021 18:33
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public
class
FineFragment
extends
BaseFragment
<
FinePresenter
>
implements
FineContract
.
View
{
public
static
FineFragment
newInstance
()
{
FineFragment
fragment
=
new
FineFragment
();
return
fragment
;
}
@Override
public
void
setupFragmentComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerFineComponent
//如找不到该类,请编译一下项目
.
builder
()
.
appComponent
(
appComponent
)
.
view
(
this
)
.
build
()
.
inject
(
this
);
}
@Override
public
View
initView
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
return
inflater
.
inflate
(
R
.
layout
.
fragment_fine
,
container
,
false
);
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
}
@Override
public
void
setData
(
@Nullable
Object
data
)
{
}
@Override
public
void
showLoading
(
String
message
)
{
if
(
message
!=
null
)
LoadingDialog
.
showDialogForLoading
(
_mActivity
,
message
,
true
);
else
LoadingDialog
.
showDialogForLoading
(
_mActivity
);
}
@Override
public
void
hideLoading
()
{
LoadingDialog
.
cancelDialogForLoading
();
}
@Override
public
void
showMessage
(
@NonNull
String
message
)
{
checkNotNull
(
message
);
ArmsUtils
.
makeText
(
_mActivity
,
message
);
}
@Override
public
void
launchActivity
(
@NonNull
Intent
intent
)
{
checkNotNull
(
intent
);
ArmsUtils
.
startActivity
(
intent
);
}
@Override
public
void
killMyself
()
{
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/MealDiscountFragment.java
View file @
6ec228e3
...
@@ -102,7 +102,7 @@ public class MealDiscountFragment extends BaseFragment<MealDiscountPresenter> im
...
@@ -102,7 +102,7 @@ public class MealDiscountFragment extends BaseFragment<MealDiscountPresenter> im
List
<
Fragment
>
fragments
=
new
ArrayList
<>();
List
<
Fragment
>
fragments
=
new
ArrayList
<>();
fragments
.
add
(
NomalDiscountFragment
.
newInstance
());
fragments
.
add
(
NomalDiscountFragment
.
newInstance
());
fragments
.
add
(
CouponFragment
.
newInstance
());
fragments
.
add
(
CouponFragment
.
newInstance
(
CouponFragment
.
FOOD_LIMIT_DISCOUNT
));
//实例化适配器
//实例化适配器
TabFragmentAdapter
mTabFragmentAdapter
=
new
TabFragmentAdapter
(
getParentFragmentManager
(),
1
);
TabFragmentAdapter
mTabFragmentAdapter
=
new
TabFragmentAdapter
(
getParentFragmentManager
(),
1
);
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/RiceponMemberDialogFragment.java
0 → 100644
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
fragment
.
mealstand
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.os.Parcelable
;
import
android.text.TextUtils
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.ImageView
;
import
android.widget.LinearLayout
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.core.content.ContextCompat
;
import
androidx.recyclerview.widget.RecyclerView
;
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.utils.LanguageUtils
;
import
com.gingersoft.gsa.cloud.component.ComponentName
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerRiceponMemberDialogComponent
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.RiceponMemberDialogContract
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.RiceponMemberDialogPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderContentActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.MemberInfoAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.UseMemberDialog
;
import
com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
import
com.jess.arms.base.BaseDialogFragment
;
import
com.jess.arms.di.component.AppComponent
;
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.widget.QMUITopBar
;
import
com.rengwuxian.materialedittext.MaterialEditText
;
import
com.tbruyelle.rxpermissions2.RxPermissions
;
import
java.util.ArrayList
;
import
java.util.List
;
import
javax.inject.Inject
;
import
butterknife.BindView
;
import
butterknife.OnClick
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/24/2021 16:24
* <a href="mailto:jess.yan.effort@gmail.com">Contact me</a>
* <a href="https://github.com/JessYanCoding">Follow me</a>
* <a href="https://github.com/JessYanCoding/MVPArms">Star me</a>
* <a href="https://github.com/JessYanCoding/MVPArms/wiki">See me</a>
* <a href="https://github.com/JessYanCoding/MVPArmsTemplate">模版请保持更新</a>
* ================================================
*/
public
class
RiceponMemberDialogFragment
extends
BaseDialogFragment
<
RiceponMemberDialogPresenter
>
implements
RiceponMemberDialogContract
.
View
{
@Inject
RxErrorHandler
mErrorHandler
;
@BindView
(
R2
.
id
.
topbar
)
QMUITopBar
topbar
;
@BindView
(
R2
.
id
.
ed_phone
)
MaterialEditText
edPhone
;
@BindView
(
R2
.
id
.
btn_query_memeber
)
QMUIAlphaButton
btnQueryMemeber
;
@BindView
(
R2
.
id
.
ll_input_phone
)
LinearLayout
llInputPhone
;
@BindView
(
R2
.
id
.
recycler_memeber_info
)
RecyclerView
recyclerMemeberInfo
;
@BindView
(
R2
.
id
.
iv_no_data
)
ImageView
ivNoData
;
@BindView
(
R2
.
id
.
btn_scan
)
QMUIAlphaButton
btnScan
;
@BindView
(
R2
.
id
.
btn_use_member
)
QMUIAlphaButton
btnUseMember
;
@BindView
(
R2
.
id
.
btn_clear_member
)
QMUIAlphaButton
btnClearMember
;
@BindView
(
R2
.
id
.
ll_bottom
)
LinearLayout
llBottom
;
@Inject
MemberInfoAdapter
mMemberInfoAdapter
;
@Inject
List
<
SectionTextItem
>
mMemberInfoList
;
private
TableBean
.
DataBean
mCurrTableBean
;
private
MemberInfo
mMemberInfo
;
public
static
RiceponMemberDialogFragment
newInstance
(
TableBean
.
DataBean
currTableBean
)
{
RiceponMemberDialogFragment
fragment
=
new
RiceponMemberDialogFragment
();
Bundle
bundle
=
new
Bundle
();
bundle
.
putParcelable
(
"currTableBean"
,
currTableBean
);
fragment
.
setArguments
(
bundle
);
return
fragment
;
}
@Override
public
void
setupFragmentComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerRiceponMemberDialogComponent
//如找不到该类,请编译一下项目
.
builder
()
.
appComponent
(
appComponent
)
.
view
(
this
)
.
build
()
.
inject
(
this
);
}
@Override
public
View
initView
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
return
inflater
.
inflate
(
R
.
layout
.
fragment_ricepon_member_dialog
,
container
,
false
);
}
@Override
public
void
onCreate
(
@Nullable
Bundle
savedInstanceState
)
{
Bundle
arguments
=
getArguments
();
mCurrTableBean
=
arguments
.
getParcelable
(
"currTableBean"
);
super
.
onCreate
(
savedInstanceState
);
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
initTopbar
();
initAdapter
();
}
private
void
initAdapter
()
{
if
(
mMemberInfoAdapter
!=
null
)
{
recyclerMemeberInfo
.
setAdapter
(
mMemberInfoAdapter
);
}
}
private
void
initTopbar
()
{
topbar
.
setBackgroundColor
(
ContextCompat
.
getColor
(
mContext
,
R
.
color
.
theme_color
));
topbar
.
addLeftBackImageButton
().
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
killMyself
();
}
});
topbar
.
setTitle
(
"使用會員"
);
}
protected
void
toScanActivity
()
{
PermissionUtil
.
launchCamera
(
new
PermissionUtil
.
RequestPermission
()
{
@Override
public
void
onRequestPermissionSuccess
()
{
String
title
=
null
;
if
(
_mActivity
instanceof
MealStandActivity
)
{
title
=
"掃描會員碼"
;
}
else
if
(
_mActivity
instanceof
OrderContentActivity
)
{
title
=
"掃描優惠券碼"
;
}
CC
.
obtainBuilder
(
ComponentName
.
COMPONENT_SCAN
)
.
setActionName
(
"openScanActivity"
)
.
addParam
(
"title"
,
title
)
.
build
()
.
callAsyncCallbackOnMainThread
((
cc
,
result
)
->
{
});
}
@Override
public
void
onRequestPermissionFailure
(
List
<
String
>
permissions
)
{
DeviceUtils
.
startSetting
(
mContext
);
showMessage
(
LanguageUtils
.
get_language_system
(
mContext
,
"please.open.camera.permissions"
,
"請前往設置開放照相機權限"
));
}
@Override
public
void
onRequestPermissionFailureWithAskNeverAgain
(
List
<
String
>
permissions
)
{
DeviceUtils
.
startSetting
(
mContext
);
showMessage
(
LanguageUtils
.
get_language_system
(
mContext
,
"please.open.camera.permissions"
,
"請前往設置開放照相機權限"
));
}
},
new
RxPermissions
(
_mActivity
),
mErrorHandler
);
}
@Override
public
void
setData
(
@Nullable
Object
data
)
{
}
@Override
public
void
showLoading
(
String
message
)
{
if
(
message
!=
null
)
LoadingDialog
.
showDialogForLoading
(
_mActivity
,
message
,
true
);
else
LoadingDialog
.
showDialogForLoading
(
_mActivity
);
}
@Override
public
void
hideLoading
()
{
LoadingDialog
.
cancelDialogForLoading
();
}
@Override
public
void
showMessage
(
@NonNull
String
message
)
{
checkNotNull
(
message
);
ArmsUtils
.
makeText
(
_mActivity
,
message
);
}
@Override
public
void
launchActivity
(
@NonNull
Intent
intent
)
{
checkNotNull
(
intent
);
ArmsUtils
.
startActivity
(
intent
);
}
@Override
public
void
killMyself
()
{
dismiss
();
}
@OnClick
({
R2
.
id
.
btn_query_memeber
,
R2
.
id
.
btn_scan
,
R2
.
id
.
btn_use_member
,
R2
.
id
.
btn_clear_member
})
public
void
onViewClicked
(
View
view
)
{
int
id
=
view
.
getId
();
if
(
id
==
R
.
id
.
btn_query_memeber
)
{
String
phone
=
getTvPhone
();
if
(
TextUtils
.
isEmpty
(
phone
))
{
edPhone
.
setError
(
"請輸入會員手機號"
);
return
;
}
mPresenter
.
queryMember
(
2
,
phone
,
RestaurantInfoManager
.
newInstance
().
getGsPosShopId
(),
mCurrTableBean
.
getId
(),
mCurrTableBean
.
getTableNumber
());
}
else
if
(
id
==
R
.
id
.
btn_scan
)
{
toScanActivity
();
}
else
if
(
id
==
R
.
id
.
btn_use_member
)
{
if
(
onUseMemberListener
!=
null
)
{
onUseMemberListener
.
onUseMember
(
mMemberInfo
);
}
}
else
if
(
id
==
R
.
id
.
btn_clear_member
)
{
clearMemberInfo
();
}
}
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
;
final
List
<
SectionTextItem
>
memberInfoItems
=
getMemberInfoItem
(
memberInfo
);
if
(
mMemberInfoList
.
size
()
>
0
)
{
mMemberInfoList
.
clear
();
}
mMemberInfoList
.
addAll
(
memberInfoItems
);
mMemberInfoAdapter
.
notifyDataSetChanged
();
showBottomLayoutVisibility
(
true
);
}
public
void
clearMemberInfo
()
{
this
.
mMemberInfo
=
null
;
if
(
onUseMemberListener
!=
null
)
{
onUseMemberListener
.
onUseMember
(
null
);
}
if
(
mMemberInfoList
.
size
()
>
0
)
{
mMemberInfoList
.
clear
();
}
mMemberInfoAdapter
.
notifyDataSetChanged
();
showBottomLayoutVisibility
(
false
);
}
private
List
<
SectionTextItem
>
getMemberInfoItem
(
MemberInfo
memberInfo
)
{
List
<
SectionTextItem
>
textItems
=
new
ArrayList
<>();
textItems
.
add
(
new
SectionTextItem
(
"會員號碼: "
+
memberInfo
.
getMemberNo
()));
textItems
.
add
(
new
SectionTextItem
(
"會員電話: "
+
memberInfo
.
getPhone
()));
textItems
.
add
(
new
SectionTextItem
(
"會員名稱: "
+
memberInfo
.
getMemberName
()));
textItems
.
add
(
new
SectionTextItem
(
"會員等級: "
+
memberInfo
.
getLevelName
()));
textItems
.
add
(
new
SectionTextItem
(
"積分: "
+
memberInfo
.
getMemberPoint
()));
return
textItems
;
}
private
OnUseMemberListener
onUseMemberListener
;
public
void
setOnUseMemberListener
(
OnUseMemberListener
onUseMemberListener
)
{
this
.
onUseMemberListener
=
onUseMemberListener
;
}
public
interface
OnUseMemberListener
{
void
onUseMember
(
MemberInfo
memberInfo
);
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/mealstand/SetMealFragment.java
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
fragment
.
mealstand
;
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
fragment
.
mealstand
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.graphics.Color
;
import
android.os.Build
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.text.TextUtils
;
import
android.text.TextUtils
;
...
@@ -8,9 +9,7 @@ import android.util.SparseArray;
...
@@ -8,9 +9,7 @@ import android.util.SparseArray;
import
android.view.LayoutInflater
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
android.view.ViewStub
;
import
android.widget.Button
;
import
android.widget.Button
;
import
android.widget.FrameLayout
;
import
android.widget.ImageButton
;
import
android.widget.ImageButton
;
import
android.widget.ImageView
;
import
android.widget.ImageView
;
import
android.widget.LinearLayout
;
import
android.widget.LinearLayout
;
...
@@ -18,6 +17,7 @@ import android.widget.TextView;
...
@@ -18,6 +17,7 @@ import android.widget.TextView;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.annotation.Nullable
;
import
androidx.core.widget.NestedScrollView
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.DefaultItemAnimator
;
import
androidx.recyclerview.widget.DefaultItemAnimator
;
import
androidx.recyclerview.widget.GridLayoutManager
;
import
androidx.recyclerview.widget.GridLayoutManager
;
...
@@ -25,21 +25,20 @@ import androidx.recyclerview.widget.LinearLayoutManager;
...
@@ -25,21 +25,20 @@ import androidx.recyclerview.widget.LinearLayoutManager;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.viewpager.widget.ViewPager
;
import
androidx.viewpager.widget.ViewPager
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.app.GsaCloudApplication
;
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.constans.MealConstant
;
import
com.gingersoft.gsa.cloud.common.core.member.MemberInfo
;
import
com.gingersoft.gsa.cloud.common.core.member.MemberInfo
;
import
com.gingersoft.gsa.cloud.common.core.table.TableBean
;
import
com.gingersoft.gsa.cloud.common.core.table.TableBean
;
import
com.gingersoft.gsa.cloud.common.logan.LoganManager
;
import
com.gingersoft.gsa.cloud.common.logan.LoganManager
;
import
com.gingersoft.gsa.cloud.common.utils.okhttpUtils.OkHttp3Utils
;
import
com.gingersoft.gsa.cloud.common.utils.other.SPUtils
;
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.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.order.bean.response.OrderResponse
;
import
com.gingersoft.gsa.cloud.order.bean.response.OrderResponse
;
import
com.gingersoft.gsa.cloud.order.billItem.BillItem
;
import
com.gingersoft.gsa.cloud.order.cart.ShoppingCart
;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
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.BaseOrder
;
import
com.gingersoft.gsa.cloud.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.table.BuildConfig
;
import
com.gingersoft.gsa.cloud.table.BuildConfig
;
...
@@ -47,43 +46,42 @@ import com.gingersoft.gsa.cloud.table.R;
...
@@ -47,43 +46,42 @@ import com.gingersoft.gsa.cloud.table.R;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerSetMealComponent
;
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.contract.SetMealContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.mealstand.SetMealPresenter
;
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.activity.MealStandActivity2
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderContentActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter
;
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.FoodAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter
;
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.ModifierAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.FineItemAllFragment
;
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.table.mvp.ui.widget.ChooseNumberDialog
;
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.adapter.TabFragmentAdapter
;
import
com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerConfig
;
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.PagerGridLayoutManager
;
import
com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridSnapHelper
;
import
com.gingersoft.gsa.cloud.ui.recylcler.Indicator.PagerGridSnapHelper
;
import
com.gingersoft.gsa.cloud.ui.view.MyTableView
;
import
com.gingersoft.gsa.cloud.ui.view.MyTableView
;
import
com.gingersoft.gsa.cloud.ui.view.base.NoScrollRecyclerView
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
import
com.jess.arms.base.BaseFragment
;
import
com.jess.arms.base.BaseFragment
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaTextView
;
import
org.simple.eventbus.Subscriber
;
import
org.simple.eventbus.Subscriber
;
import
org.simple.eventbus.ThreadMode
;
import
org.simple.eventbus.ThreadMode
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.List
;
import
java.util.List
;
import
javax.inject.Inject
;
import
javax.inject.Inject
;
import
javax.inject.Named
;
import
javax.inject.Named
;
import
butterknife.BindView
;
import
butterknife.BindView
;
import
butterknife.ButterKnife
;
import
butterknife.OnClick
;
import
butterknife.OnClick
;
import
butterknife.OnLongClick
;
import
butterknife.OnLongClick
;
import
dagger.Lazy
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
...
@@ -138,10 +136,6 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
...
@@ -138,10 +136,6 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
LinearLayout
llKeys
;
LinearLayout
llKeys
;
@BindView
(
R2
.
id
.
ll_meals
)
@BindView
(
R2
.
id
.
ll_meals
)
LinearLayout
llMeals
;
LinearLayout
llMeals
;
// @BindView(R2.id.fl_container)
// FrameLayout flContainer;
@BindView
(
R2
.
id
.
rv_food_group
)
@BindView
(
R2
.
id
.
rv_food_group
)
RecyclerView
rvFoodGroup
;
RecyclerView
rvFoodGroup
;
@BindView
(
R2
.
id
.
ll_food_group_point
)
@BindView
(
R2
.
id
.
ll_food_group_point
)
...
@@ -150,50 +144,56 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
...
@@ -150,50 +144,56 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
LinearLayout
llFoodGroup
;
LinearLayout
llFoodGroup
;
@BindView
(
R2
.
id
.
rv_food
)
@BindView
(
R2
.
id
.
rv_food
)
RecyclerView
rvFood
;
RecyclerView
rvFood
;
@BindView
(
R2
.
id
.
ll_food_container
)
@BindView
(
R2
.
id
.
vb_combo_modifier
)
LinearLayout
llFoodContainer
;
ViewStub
vbComboModifier
;
@BindView
(
R2
.
id
.
rv_combo
)
RecyclerView
rvCombo
;
NoScrollRecyclerView
rvCombo
;
RecyclerView
rvModifier
;
@BindView
(
R2
.
id
.
rv_modifier
)
NoScrollRecyclerView
rvModifier
;
@BindView
(
R2
.
id
.
vb_fine
)
@BindView
(
R2
.
id
.
scroll_combo
)
ViewStub
vbFine
;
NestedScrollView
scrollCombo
;
MyTableView
tabLayoutFine
;
@BindView
(
R2
.
id
.
ll_fine
)
ViewPager
viewPagerFine
;
LinearLayout
llFine
;
@BindView
(
R2
.
id
.
tab_fine
)
// @Inject
MyTableView
tabFine
;
// @Named("foodGroupList")
@BindView
(
R2
.
id
.
pager_fine
)
// List<Food> mFoodGroupList;
ViewPager
pagerFine
;
// @Inject
@BindView
(
R2
.
id
.
btn_select_all
)
// @Named("foodList")
QMUIAlphaTextView
btnSelectAll
;
// List<Food> mFoodList;
@BindView
(
R2
.
id
.
btn_anti_selection
)
// @Inject
QMUIAlphaTextView
btnAntiSelection
;
// Lazy<List<ComboItem>> mComboList; //套餐细项数据
@BindView
(
R2
.
id
.
btn_taste
)
// @Inject
QMUIAlphaTextView
btnTaste
;
// Lazy<List<Modifier>> mModifierList; //细项数据
@BindView
(
R2
.
id
.
btn_msg
)
QMUIAlphaTextView
btnMsg
;
@BindView
(
R2
.
id
.
btn_delete
)
QMUIAlphaTextView
btnDelete
;
@BindView
(
R2
.
id
.
btn_end
)
QMUIAlphaTextView
btnEnd
;
@BindView
(
R2
.
id
.
ll_modify
)
LinearLayout
llModify
;
@BindView
(
R2
.
id
.
fl_container
)
LinearLayout
flContainer
;
@Inject
@Inject
FoodGroupAdapter
mFoodGroupAdapter
;
FoodGroupAdapter
mFoodGroupAdapter
;
@Inject
@Inject
FoodAdapter
mFoodAdapter
;
FoodAdapter
mFoodAdapter
;
@Inject
@Inject
Lazy
<
ComboAdapter
>
mComboAdapter
;
ComboAdapter
mComboAdapter
;
@Inject
@Inject
Lazy
<
ModifierAdapter
>
mModifierAdapter
;
ModifierAdapter
mModifierAdapter
;
@Named
(
"foodGridLayoutManager"
)
@Named
(
"foodGridLayoutManager"
)
@Inject
@Inject
GridLayoutManager
mFoodRecycleLayoutManager
;
GridLayoutManager
mFoodRecycleLayoutManager
;
@Named
(
"comboGridLayoutManager"
)
@Named
(
"comboGridLayoutManager"
)
@Inject
@Inject
Lazy
<
GridLayoutManager
>
mComboRecycleLayoutManager
;
GridLayoutManager
mComboRecycleLayoutManager
;
@Named
(
"modifierGridLayoutManager"
)
@Named
(
"modifierGridLayoutManager"
)
@Inject
@Inject
Lazy
<
GridLayoutManager
>
mModifierRecycleLayoutManager
;
GridLayoutManager
mModifierRecycleLayoutManager
;
@Inject
@Named
(
"fineTabTitles"
)
Lazy
<
List
<
String
>>
mFineTabTitles
;
private
SparseArray
<
View
>
map
=
new
SparseArray
<>(
10
);
private
SparseArray
<
View
>
map
=
new
SparseArray
<>(
10
);
...
@@ -208,14 +208,16 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
...
@@ -208,14 +208,16 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
private
int
mCurrentViewMode
;
private
int
mCurrentViewMode
;
private
boolean
isPluMode
=
false
;
private
boolean
isPluMode
=
false
;
/**
* 是否已初始化 公共細項佈局
*/
private
boolean
initFineLayout
=
false
;
/**
/**
* 是否已初始化 已送單的折扣
* 是否已初始化 已送單的折扣
*/
*/
private
boolean
initSentOrderDiscount
=
false
;
private
boolean
initSentOrderDiscount
=
false
;
private
ImageView
[]
ivPoints
;
private
ImageView
[]
ivPoints
;
private
int
mPageIndex
;
private
int
totalPage
;
private
int
totalPage
;
private
int
foodGroupRow
=
2
;
private
int
foodGroupRow
=
2
;
...
@@ -250,9 +252,10 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
...
@@ -250,9 +252,10 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
initUIStyleConfiguration
();
initUIStyleConfiguration
();
initViewMap
();
initViewMap
();
initFoodAdapter
();
initAdapter
();
initFoodLayoutManager
();
initLayoutManager
();
initFoodItemClickListener
();
initItemClickListener
();
mPresenter
.
initMealData
();
}
}
@Override
@Override
...
@@ -264,6 +267,23 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
...
@@ -264,6 +267,23 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
initTableInfo
();
initTableInfo
();
}
}
@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
;
}
}
private
void
initUIStyleConfiguration
()
{
private
void
initUIStyleConfiguration
()
{
foodGroupColumn
=
GsaCloudApplication
.
uiStyleConfiguration
.
getFoodGroupColumnValue
();
foodGroupColumn
=
GsaCloudApplication
.
uiStyleConfiguration
.
getFoodGroupColumnValue
();
foodGroupRow
=
GsaCloudApplication
.
uiStyleConfiguration
.
getFoodGroupRowValue
();
foodGroupRow
=
GsaCloudApplication
.
uiStyleConfiguration
.
getFoodGroupRowValue
();
...
@@ -275,8 +295,8 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
...
@@ -275,8 +295,8 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
private
void
initViewMap
()
{
private
void
initViewMap
()
{
map
.
put
(
MealConstant
.
food_group_ViewMode
,
llFoodGroup
);
map
.
put
(
MealConstant
.
food_group_ViewMode
,
llFoodGroup
);
map
.
put
(
MealConstant
.
food_ViewMode
,
rvFood
);
map
.
put
(
MealConstant
.
food_ViewMode
,
rvFood
);
map
.
put
(
MealConstant
.
combo_ViewMode
,
vbComboModifier
);
map
.
put
(
MealConstant
.
combo_ViewMode
,
scrollCombo
);
map
.
put
(
MealConstant
.
fine_ViewMode
,
vb
Fine
);
map
.
put
(
MealConstant
.
fine_ViewMode
,
ll
Fine
);
}
}
private
void
initTableInfo
()
{
private
void
initTableInfo
()
{
...
@@ -291,70 +311,7 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
...
@@ -291,70 +311,7 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
}
}
}
}
@Subscriber
(
tag
=
SET_CURR_LAYOUT_EVENT
,
mode
=
ThreadMode
.
MAIN
)
private
void
initAdapter
()
{
private
void
setCurrLayout
(
byte
layout
)
{
mCurrLayout
=
layout
;
switch
(
layout
)
{
case
COMBO_LAYOUT:
showComboModifierLayout
();
break
;
case
FINE_LAYOUT:
showFineLayout
();
break
;
default
:
showViewModeVisibility
(
MealConstant
.
food_group_ViewMode
,
MealConstant
.
food_ViewMode
);
break
;
}
}
private
void
showComboModifierLayout
()
{
try
{
View
vsContent
=
vbComboModifier
.
inflate
();
rvCombo
=
vsContent
.
findViewById
(
R
.
id
.
rv_combo
);
rvModifier
=
vsContent
.
findViewById
(
R
.
id
.
rv_modifier
);
initComboAdapter
();
initComboLayoutManager
();
initComboItemClickListener
();
}
catch
(
Exception
e
)
{
}
finally
{
showViewModeVisibility
(
MealConstant
.
combo_ViewMode
);
}
}
private
void
showFineLayout
()
{
try
{
View
vsContent
=
vbFine
.
inflate
();
tabLayoutFine
=
vsContent
.
findViewById
(
R
.
id
.
tab_fine
);
viewPagerFine
=
vsContent
.
findViewById
(
R
.
id
.
pager_fine
);
initFineViewPager
();
}
catch
(
Exception
e
)
{
}
finally
{
showViewModeVisibility
(
MealConstant
.
fine_ViewMode
);
}
}
private
void
initFineViewPager
()
{
List
<
String
>
tabTitles
=
mFineTabTitles
.
get
();
MemberInfo
memberInfo
=
DoshokuOrder
.
getInstance
().
getMemberInfo
();
if
(
memberInfo
!=
null
)
{
tabTitles
.
add
(
"優惠券"
);
}
tabLayoutFine
.
setTitles
(
tabTitles
);
List
<
Fragment
>
mFragments
=
new
ArrayList
<>();
mFragments
.
add
(
FineItemAllFragment
.
newInstance
());
mFragments
.
add
(
FineItemAllFragment
.
newInstance
());
//实例化适配器
TabFragmentAdapter
mTabFragmentAdapter
=
new
TabFragmentAdapter
(
getParentFragmentManager
(),
1
);
//设置加载的Fragment集合
mTabFragmentAdapter
.
setFragments
(
mFragments
);
//设置Viewpager的适配器
viewPagerFine
.
setAdapter
(
mTabFragmentAdapter
);
//TabLayout绑定ViewPager
tabLayoutFine
.
setTitles
(
tabTitles
).
setupWithViewPager
(
viewPagerFine
);
}
private
void
initFoodAdapter
()
{
mPresenter
.
initSelectMealAdapter
(
rvSelectMeal
);
mPresenter
.
initSelectMealAdapter
(
rvSelectMeal
);
if
(
mFoodGroupAdapter
!=
null
)
{
if
(
mFoodGroupAdapter
!=
null
)
{
rvFoodGroup
.
setAdapter
(
mFoodGroupAdapter
);
rvFoodGroup
.
setAdapter
(
mFoodGroupAdapter
);
...
@@ -362,16 +319,30 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
...
@@ -362,16 +319,30 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
if
(
mFoodAdapter
!=
null
)
{
if
(
mFoodAdapter
!=
null
)
{
rvFood
.
setAdapter
(
mFoodAdapter
);
rvFood
.
setAdapter
(
mFoodAdapter
);
}
}
if
(
mComboAdapter
!=
null
)
{
rvCombo
.
setAdapter
(
mComboAdapter
);
}
if
(
mModifierAdapter
!=
null
)
{
rvModifier
.
setAdapter
(
mModifierAdapter
);
}
}
}
private
void
init
Food
LayoutManager
()
{
private
void
initLayoutManager
()
{
if
(
mFoodRecycleLayoutManager
!=
null
)
{
if
(
mFoodRecycleLayoutManager
!=
null
)
{
rvFood
.
setLayoutManager
(
mFoodRecycleLayoutManager
);
rvFood
.
setLayoutManager
(
mFoodRecycleLayoutManager
);
rvFood
.
setItemAnimator
(
new
DefaultItemAnimator
());
rvFood
.
setItemAnimator
(
new
DefaultItemAnimator
());
}
}
if
(
mComboRecycleLayoutManager
!=
null
)
{
rvCombo
.
setLayoutManager
(
mComboRecycleLayoutManager
);
rvCombo
.
setItemAnimator
(
new
DefaultItemAnimator
());
}
if
(
mModifierRecycleLayoutManager
!=
null
)
{
rvModifier
.
setLayoutManager
(
mModifierRecycleLayoutManager
);
rvModifier
.
setItemAnimator
(
new
DefaultItemAnimator
());
}
}
}
public
void
init
Food
ItemClickListener
()
{
public
void
initItemClickListener
()
{
mFoodAdapter
.
setOnItemClickListener
(
new
FoodAdapter
.
OnItemClickListener
()
{
mFoodAdapter
.
setOnItemClickListener
(
new
FoodAdapter
.
OnItemClickListener
()
{
@Override
@Override
...
@@ -381,10 +352,7 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
...
@@ -381,10 +352,7 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_ADD
+
"食品【"
+
datasBean
.
getFoodName
()
+
"】"
);
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_ADD
+
"食品【"
+
datasBean
.
getFoodName
()
+
"】"
);
}
}
});
});
}
mComboAdapter
.
setOnItemClickListener
(
new
ComboAdapter
.
OnItemClickListener
()
{
private
void
initComboItemClickListener
()
{
mComboAdapter
.
get
().
setOnItemClickListener
(
new
ComboAdapter
.
OnItemClickListener
()
{
@Override
@Override
public
void
onItemClick
(
ComboItem
datasBean
,
int
position
)
{
public
void
onItemClick
(
ComboItem
datasBean
,
int
position
)
{
...
@@ -393,7 +361,7 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
...
@@ -393,7 +361,7 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_ADD
+
"子食品【"
+
datasBean
.
getName
()
+
"】"
);
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_ADD
+
"子食品【"
+
datasBean
.
getName
()
+
"】"
);
}
}
});
});
mModifierAdapter
.
get
().
setOnItemClickListener
(
new
ModifierAdapter
.
OnItemClickListener
()
{
mModifierAdapter
.
setOnItemClickListener
(
new
ModifierAdapter
.
OnItemClickListener
()
{
@Override
@Override
public
void
onItemClick
(
Modifier
datasBean
,
int
position
)
{
public
void
onItemClick
(
Modifier
datasBean
,
int
position
)
{
mActivity
.
recordOperat
(
true
);
mActivity
.
recordOperat
(
true
);
...
@@ -403,23 +371,65 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
...
@@ -403,23 +371,65 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
});
});
}
}
private
void
initComboAdapter
()
{
/**
if
(
mComboAdapter
!=
null
)
{
* 显示公共細項
rvCombo
.
setAdapter
(
mComboAdapter
.
get
());
*/
}
public
void
showFineLayout
(
int
currFinePage
)
{
if
(
mModifierAdapter
!=
null
)
{
//没有初始化细项布局则初始化
rvModifier
.
setAdapter
(
mModifierAdapter
.
get
());
if
(!
initFineLayout
)
{
initFineLayout
=
true
;
initFineViewPager
();
}
else
{
pagerFine
.
setCurrentItem
(
currFinePage
);
}
}
setCurrLayout
(
SetMealFragment
.
FINE_LAYOUT
);
}
}
private
void
initComboLayoutManager
()
{
private
void
initFineViewPager
()
{
if
(
mComboRecycleLayoutManager
!=
null
)
{
String
[]
fineTitles
=
{
"口味"
,
"信息"
};
rvCombo
.
setLayoutManager
(
mComboRecycleLayoutManager
.
get
());
List
<
Fragment
>
mFragments
=
new
ArrayList
<>();
rvCombo
.
setItemAnimator
(
new
DefaultItemAnimator
());
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
;
}
}
if
(
mModifierRecycleLayoutManager
!=
null
)
{
long
productId
=
0
;
rvModifier
.
setLayoutManager
(
mModifierRecycleLayoutManager
.
get
());
if
(
mPresenter
.
getCurrentOrderDetailBean
()
!=
null
)
{
rvModifier
.
setItemAnimator
(
new
DefaultItemAnimator
());
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
();
}
}
}
}
...
@@ -428,21 +438,23 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
...
@@ -428,21 +438,23 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
}
}
@Override
@Override
public
void
showLoading
(
String
message
)
{
public
void
showLoading
(
String
message
)
{
if
(
message
!=
null
)
LoadingDialog
.
showDialogForLoading
(
_mActivity
,
message
,
true
);
else
LoadingDialog
.
showDialogForLoading
(
_mActivity
);
}
}
@Override
@Override
public
void
hideLoading
()
{
public
void
hideLoading
()
{
LoadingDialog
.
cancelDialogForLoading
();
}
}
@Override
@Override
public
void
showMessage
(
@NonNull
String
message
)
{
public
void
showMessage
(
@NonNull
String
message
)
{
checkNotNull
(
message
);
checkNotNull
(
message
);
ArmsUtils
.
snackbarText
(
message
);
ArmsUtils
.
makeText
(
_mActivity
,
message
);
}
}
@Override
@Override
...
@@ -457,6 +469,24 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
...
@@ -457,6 +469,24 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
}
}
@Override
@Override
public
void
setCustomFoodDialog
(
int
customType
,
OrderDetail
foodItem
)
{
new
CustomFoodDialog
(
mContext
,
customType
)
.
create
(
R
.
style
.
MyEditDialogTheme
)
.
setOnEditListener
((
dialog
,
name
,
money
)
->
{
dialog
.
dismiss
();
if
(
customType
==
Food
.
CUSTOM_TYPE_101
)
{
foodItem
.
setProductName
(
name
);
}
if
(!
TextUtils
.
isEmpty
(
money
))
{
foodItem
.
setUnit_price
(
Double
.
parseDouble
(
money
));
foodItem
.
setPrice
(
foodItem
.
getUnit_price
());
mPresenter
.
toAddFoodItem
(
foodItem
);
}
})
.
show
();
}
@Override
public
void
setFoodGroupRecycleSpanCount
(
int
size
)
{
public
void
setFoodGroupRecycleSpanCount
(
int
size
)
{
notifyFoodGroupAdapter
();
notifyFoodGroupAdapter
();
}
}
...
@@ -464,39 +494,36 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
...
@@ -464,39 +494,36 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
@Override
@Override
public
void
setFoodRecycleSpanCount
(
int
size
)
{
public
void
setFoodRecycleSpanCount
(
int
size
)
{
if
(
size
>
0
)
{
if
(
size
>
0
)
{
if
(
size
>
foodColumn
)
{
if
(
size
>
=
foodColumn
)
{
mFoodRecycleLayoutManager
.
setOrientation
(
LinearLayoutManager
.
VERTICAL
);
mFoodRecycleLayoutManager
.
setOrientation
(
LinearLayoutManager
.
VERTICAL
);
mFoodRecycleLayoutManager
.
setSpanCount
(
foodColumn
);
mFoodRecycleLayoutManager
.
setSpanCount
(
foodColumn
);
}
else
{
}
else
{
//只有一行就使用水平显示以免不能占满
//只有一行就使用水平显示以免不能占满
mFoodRecycleLayoutManager
.
setOrientation
(
LinearLayoutManager
.
HORIZONTAL
);
mFoodRecycleLayoutManager
.
setOrientation
(
LinearLayoutManager
.
HORIZONTAL
);
}
}
notifyFoodAdapter
(
);
rvFood
.
setLayoutManager
(
mFoodRecycleLayoutManager
);
}
}
notifyFoodAdapter
();
}
}
@Override
@Override
public
void
setComboRecycleSpanCount
(
int
size
)
{
public
void
setComboRecycleSpanCount
(
int
size
)
{
if
(
size
>
0
)
{
if
(
size
>
0
)
{
// if (size > comboRow) {
mComboRecycleLayoutManager
.
setOrientation
(
LinearLayoutManager
.
VERTICAL
);
mComboRecycleLayoutManager
.
get
().
setOrientation
(
LinearLayoutManager
.
VERTICAL
);
mComboRecycleLayoutManager
.
setSpanCount
(
comboColumn
);
mComboRecycleLayoutManager
.
get
().
setSpanCount
(
comboColumn
);
rvCombo
.
setLayoutManager
(
mComboRecycleLayoutManager
);
notifyComboAdapterAdapter
();
// } else if (size <= ComboColCount) {
// } else {
// //只有一行就使用水平显示以免不能占满
// setComboRecycleLayoutManager(LinearLayoutManager.HORIZONTAL);
// }
}
}
notifyComboAdapterAdapter
();
}
}
@Override
@Override
public
void
setModifierRecycleSpanCount
(
int
size
)
{
public
void
setModifierRecycleSpanCount
(
int
size
)
{
if
(
size
>
0
)
{
if
(
size
>
0
)
{
mModifierRecycleLayoutManager
.
get
().
setOrientation
(
LinearLayoutManager
.
VERTICAL
);
mModifierRecycleLayoutManager
.
setOrientation
(
LinearLayoutManager
.
VERTICAL
);
mModifierRecycleLayoutManager
.
get
().
setSpanCount
(
modColumn
);
mModifierRecycleLayoutManager
.
setSpanCount
(
modColumn
);
notifyModifierAdapterAdapter
(
);
rvModifier
.
setLayoutManager
(
mModifierRecycleLayoutManager
);
}
}
notifyModifierAdapterAdapter
();
}
}
@Override
@Override
...
@@ -537,7 +564,12 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
...
@@ -537,7 +564,12 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
@Override
@Override
public
void
showModifyLayoutVisibility
(
boolean
show
)
{
public
void
showModifyLayoutVisibility
(
boolean
show
)
{
if
(
show
)
{
llModify
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
llModify
.
setVisibility
(
View
.
INVISIBLE
);
}
mActivity
.
showStandOperLayoutVisibility
(
show
);
}
}
@Override
@Override
...
@@ -643,26 +675,6 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
...
@@ -643,26 +675,6 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
}
}
@Override
@Override
public
void
returnFoodGroupList
(
List
<
Food
>
foodGroupList
)
{
}
@Override
public
void
returnFoodList
(
List
<
Food
>
foodList
)
{
}
@Override
public
void
returnFoodComboList
(
List
<
ComboItem
>
comboList
)
{
}
@Override
public
void
returnModifierList
(
List
<
Modifier
>
modifierList
)
{
}
@Override
public
void
notifyFoodGroupAdapter
()
{
public
void
notifyFoodGroupAdapter
()
{
mFoodGroupAdapter
.
notifyDataSetChanged
();
mFoodGroupAdapter
.
notifyDataSetChanged
();
}
}
...
@@ -674,12 +686,12 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
...
@@ -674,12 +686,12 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
@Override
@Override
public
void
notifyComboAdapterAdapter
()
{
public
void
notifyComboAdapterAdapter
()
{
mComboAdapter
.
get
().
notifyDataSetChanged
();
mComboAdapter
.
notifyDataSetChanged
();
}
}
@Override
@Override
public
void
notifyModifierAdapterAdapter
()
{
public
void
notifyModifierAdapterAdapter
()
{
mModifierAdapter
.
get
().
notifyDataSetChanged
();
mModifierAdapter
.
notifyDataSetChanged
();
}
}
@Override
@Override
...
@@ -711,7 +723,7 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
...
@@ -711,7 +723,7 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
public
boolean
onLongClick1
(
View
view
)
{
public
boolean
onLongClick1
(
View
view
)
{
//记录操作 并且震动
//记录操作 并且震动
//
recordOperat(true);
recordOperat
(
true
);
//
//
// int id = view.getId();
// int id = view.getId();
// if (id == R.id.btn_meal_delete) {
// if (id == R.id.btn_meal_delete) {
...
@@ -768,7 +780,7 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
...
@@ -768,7 +780,7 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
}
}
@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
,
@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_numberman
,
R2
.
id
.
btn_fid
,
R2
.
id
.
btn_meal_delete
,
R2
.
id
.
btn_meal_modify_restore
,
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
})
R2
.
id
.
btn_taste
,
R2
.
id
.
btn_msg
,
R2
.
id
.
btn_delete
,
R2
.
id
.
btn_end
})
public
void
onClick
(
View
v
)
{
public
void
onClick
(
View
v
)
{
...
@@ -788,7 +800,9 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
...
@@ -788,7 +800,9 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
//防抖處理
//防抖處理
int
id
=
v
.
getId
();
int
id
=
v
.
getId
();
if
(
id
==
R
.
id
.
btn_numberman
)
{
if
(
id
==
R
.
id
.
btn_table
)
{
showRiceponMemberDialogFragment
();
}
else
if
(
id
==
R
.
id
.
btn_numberman
)
{
if
(!
BaseOrder
.
isTableToMeal
())
{
if
(!
BaseOrder
.
isTableToMeal
())
{
return
;
return
;
}
}
...
@@ -796,7 +810,7 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
...
@@ -796,7 +810,7 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
}
else
if
(
id
==
R
.
id
.
btn_fid
)
{
}
else
if
(
id
==
R
.
id
.
btn_fid
)
{
//搜索
//搜索
if
(
mCurrentViewMode
==
MealConstant
.
ViewMode_keys
)
{
if
(
mCurrentViewMode
==
MealConstant
.
ViewMode_keys
)
{
s
howViewModeVisibility
(
MealConstant
.
food_group_ViewMode
,
MealConstant
.
food_ViewMode
);
s
etCurrLayout
(
SetMealFragment
.
FOOD_LAYOUT
);
SPUtils
.
put
(
MealConstant
.
EXIT_IS_PLU_MODE
,
false
);
SPUtils
.
put
(
MealConstant
.
EXIT_IS_PLU_MODE
,
false
);
}
else
{
}
else
{
showViewModeVisibility
(
MealConstant
.
ViewMode_keys
);
showViewModeVisibility
(
MealConstant
.
ViewMode_keys
);
...
@@ -809,30 +823,28 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
...
@@ -809,30 +823,28 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
// }
// }
// mPresenter.deleteFoodItem(1);
// mPresenter.deleteFoodItem(1);
s
howViewModeVisibility
(
MealConstant
.
food_group_ViewMode
,
MealConstant
.
food_ViewMode
);
s
etCurrLayout
(
SetMealFragment
.
FOOD_LAYOUT
);
SPUtils
.
put
(
MealConstant
.
EXIT_IS_PLU_MODE
,
false
);
SPUtils
.
put
(
MealConstant
.
EXIT_IS_PLU_MODE
,
false
);
setPluMode
();
setPluMode
();
}
else
if
(
id
==
R
.
id
.
btn_meal_modify_restore
)
{
}
else
if
(
id
==
R
.
id
.
btn_meal_modify_restore
)
{
// mPresenter.restoreDeleteFood();
// mPresenter.restoreDeleteFood();
showBtnMealModifyRestoreVisibility
(
false
);
showBtnMealModifyRestoreVisibility
(
false
);
}
else
if
(
id
==
R
.
id
.
btn_taste
)
{
}
else
if
(
id
==
R
.
id
.
btn_taste
)
{
// currentFinePage = 0;
showFineLayout
(
0
);
// showRemarkLayout();
}
else
if
(
id
==
R
.
id
.
btn_msg
)
{
}
else
if
(
id
==
R
.
id
.
btn_msg
)
{
// currentFinePage = 1;
showFineLayout
(
1
);
// showRemarkLayout();
}
else
if
(
id
==
R
.
id
.
btn_delete
)
{
}
else
if
(
id
==
R
.
id
.
btn_delete
)
{
// if (mPresenter.getSelectMealAdapter().getSelectedMode() == SelectMealAdapter.SINGLE_SELECTED) {
// if (mPresenter.getSelectMealAdapter().getSelectedMode() == SelectMealAdapter.SINGLE_SELECTED) {
// //只有單選操作的時候可以刪除子項
// //只有單選操作的時候可以刪除子項
// mPresenter.deleteChildItem();
// mPresenter.deleteChildItem();
// }
// }
}
else
if
(
id
==
R
.
id
.
btn_end
)
{
}
else
if
(
id
==
R
.
id
.
btn_end
)
{
//
mPresenter.getSelectMealAdapter().setSelectedMode(SelectMealAdapter.SINGLE_SELECTED);
mPresenter
.
getSelectMealAdapter
().
setSelectedMode
(
SelectMealAdapter
.
SINGLE_SELECTED
);
// btn_d
elete.setVisibility(View.VISIBLE);
btnD
elete
.
setVisibility
(
View
.
VISIBLE
);
//
setSelectFunctionVisibility(View.GONE);
setSelectFunctionVisibility
(
View
.
GONE
);
//
//從多選頁離開 重置選中
//從多選頁離開 重置選中
//
mPresenter.resetSelected();
mPresenter
.
resetSelected
();
// showViewModeVisibility(MealConstant.food_group_ViewMode, MealConstant.food_ViewMode
);
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
)
{
}
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
)
{
int
i
=
Integer
.
parseInt
(
v
.
getTag
().
toString
());
int
i
=
Integer
.
parseInt
(
v
.
getTag
().
toString
());
...
@@ -896,7 +908,6 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
...
@@ -896,7 +908,6 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
@Override
@Override
public
void
onPageSelect
(
int
pageIndex
)
{
public
void
onPageSelect
(
int
pageIndex
)
{
mPageIndex
=
pageIndex
;
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_SCOLL
+
"食品組頁="
+
(
pageIndex
+
1
));
LoganManager
.
w_tableMode
(
TAG
,
LoganManager
.
EVENT_SCOLL
+
"食品組頁="
+
(
pageIndex
+
1
));
for
(
int
i
=
0
;
i
<
totalPage
;
i
++)
{
for
(
int
i
=
0
;
i
<
totalPage
;
i
++)
{
if
(
i
==
pageIndex
)
{
if
(
i
==
pageIndex
)
{
...
@@ -906,4 +917,31 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
...
@@ -906,4 +917,31 @@ public class SetMealFragment extends BaseFragment<SetMealPresenter> implements S
}
}
}
}
}
}
private
void
setSelectFunctionVisibility
(
int
visibility
)
{
btnAntiSelection
.
setVisibility
(
visibility
);
btnSelectAll
.
setVisibility
(
visibility
);
}
private
void
showRiceponMemberDialogFragment
()
{
RiceponMemberDialogFragment
dialogFragment
=
RiceponMemberDialogFragment
.
newInstance
(
DoshokuOrder
.
getInstance
().
getOpenTableInfo
());
dialogFragment
.
setOnUseMemberListener
(
new
RiceponMemberDialogFragment
.
OnUseMemberListener
()
{
@Override
public
void
onUseMember
(
MemberInfo
memberInfo
)
{
if
(
memberInfo
==
null
)
{
btnTable
.
setBackgroundColor
(
Color
.
parseColor
(
"#336699"
));
}
else
{
btnTable
.
setBackgroundResource
(
R
.
color
.
pink_300
);
//添加会员折扣行
ShoppingCart
shoppingCart
=
mPresenter
.
getShoppingCart
();
MultyDiscount
multyDiscount
=
shoppingCart
.
createMemberDiscount
(
memberInfo
,
BillItem
.
BILL_ITEM_NO_ORDER_STATUS
);
shoppingCart
.
addMultyDiscount
(
multyDiscount
);
DoshokuOrder
.
getInstance
().
setBillItemStatus
(
DoshokuOrder
.
MEMBER_ITEM_TAG
);
mPresenter
.
updateBillInfo
();
}
DoshokuOrder
.
getInstance
().
setMemberInfo
(
memberInfo
);
}
});
dialogFragment
.
show
(
getChildFragmentManager
(),
dialogFragment
.
getClass
().
getSimpleName
());
}
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/widget/UseMemberDialog.java
View file @
6ec228e3
...
@@ -277,11 +277,6 @@ public class UseMemberDialog extends Dialog {
...
@@ -277,11 +277,6 @@ public class UseMemberDialog extends Dialog {
recycler_member_info
.
setLayoutManager
(
mLayoutManager
);
recycler_member_info
.
setLayoutManager
(
mLayoutManager
);
}
}
public
void
setAdapter
(
BaseQuickAdapter
adapter
)
{
recycler_member_info
.
setAdapter
(
adapter
);
adapter
.
notifyDataSetChanged
();
}
private
RecyclerView
.
LayoutManager
createLayoutManager
()
{
private
RecyclerView
.
LayoutManager
createLayoutManager
()
{
return
new
LinearLayoutManager
(
mContext
)
{
return
new
LinearLayoutManager
(
mContext
)
{
@Override
@Override
...
...
component-table/src/main/res/layout/fragment_fine.xml
0 → 100644
View file @
6ec228e3
<?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/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
>
<com.google.android.material.tabs.TabLayout
android:id=
"@+id/tabLayout"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/tabIndicator_height"
android:background=
"@color/white"
app:tabIndicator=
"@drawable/tablayout_indicator"
app:tabIndicatorColor=
"@color/theme_color"
app:tabIndicatorFullWidth=
"false"
/>
<androidx.viewpager2.widget.ViewPager2
android:id=
"@+id/viewPager"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
</LinearLayout>
\ No newline at end of file
component-table/src/main/res/layout/fragment_ricepon_member_dialog.xml
0 → 100644
View file @
6ec228e3
<?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:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/theme_background_color"
android:orientation=
"vertical"
>
<com.qmuiteam.qmui.widget.QMUITopBar
android:id=
"@+id/topbar"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/head_height"
app:qmui_topbar_title_color=
"@color/theme_white_color"
/>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<LinearLayout
android:id=
"@+id/ll_input_phone"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_margin=
"@dimen/dp_20"
android:orientation=
"horizontal"
>
<com.rengwuxian.materialedittext.MaterialEditText
android:id=
"@+id/ed_phone"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
android:layout_weight=
"1"
android:hint=
"請輸入手機號"
android:lines=
"1"
android:textSize=
"@dimen/sp_14"
android:inputType=
"number"
android:background=
"@drawable/table_shape_input_table_number_frame"
app:met_autoValidate=
"true"
app:met_baseColor=
"@color/theme_black"
app:met_clearButton=
"true"
app:met_floatingLabel=
"highlight"
app:met_iconPadding=
"2dp"
app:met_primaryColor=
"@color/theme_color"
app:met_singleLineEllipsis=
"false"
/>
<com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id=
"@+id/btn_query_memeber"
android:layout_width=
"wrap_content"
android:layout_height=
"@dimen/dp_40"
android:layout_marginLeft=
"@dimen/dp_10"
android:background=
"@color/theme_color"
android:text=
"查詢"
android:textColor=
"@color/theme_white_color"
/>
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/recycler_memeber_info"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_below=
"@+id/ll_input_phone"
android:layout_above=
"@+id/btn_scan"
/>
<ImageView
android:id=
"@+id/iv_no_data"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center"
android:src=
"@drawable/png_no_record"
android:layout_centerInParent=
"true"
android:visibility=
"invisible"
/>
<com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id=
"@+id/btn_scan"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_40"
android:layout_margin=
"@dimen/dp_20"
android:layout_alignParentBottom=
"true"
android:background=
"@color/theme_color"
android:text=
"掃碼"
android:textColor=
"@color/theme_white_color"
android:textSize=
"@dimen/sp_14"
android:textStyle=
"bold"
/>
<LinearLayout
android:id=
"@+id/ll_bottom"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_40"
android:layout_alignParentBottom=
"true"
android:orientation=
"horizontal"
android:visibility=
"invisible"
>
<com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id=
"@+id/btn_use_member"
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_gravity=
"bottom"
android:layout_weight=
"1"
android:background=
"@color/green_400"
android:clickable=
"true"
android:text=
"使用會員"
android:textColor=
"@color/theme_white_color"
android:textSize=
"@dimen/sp_14"
/>
<com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id=
"@+id/btn_clear_member"
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_gravity=
"bottom"
android:layout_weight=
"1"
android:background=
"@color/blue_400"
android:clickable=
"true"
android:visibility=
"visible"
android:text=
"清除"
android:textColor=
"@color/theme_white_color"
android:textSize=
"@dimen/sp_14"
/>
</LinearLayout>
</RelativeLayout>
</LinearLayout>
\ No newline at end of file
component-table/src/main/res/layout/meal_dialog_use_member.xml
View file @
6ec228e3
...
@@ -56,7 +56,8 @@
...
@@ -56,7 +56,8 @@
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:layout_below=
"@+id/ll_input_phone"
android:layout_below=
"@+id/ll_input_phone"
android:layout_above=
"@+id/btn_scan"
/>
android:layout_above=
"@+id/btn_scan"
app:layoutManager=
"androidx.recyclerview.widget.LinearLayoutManager"
/>
<ImageView
<ImageView
android:id=
"@+id/iv_no_data"
android:id=
"@+id/iv_no_data"
...
...
component-table/src/main/res/layout/meal_layout_combo_modifier.xml
View file @
6ec228e3
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:id=
"@+id/scroll_combo"
android:id=
"@+id/scroll_combo"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"
match_par
ent"
>
android:layout_height=
"
wrap_cont
ent"
>
<LinearLayout
<LinearLayout
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
...
...
component-table/src/main/res/layout/meal_layout_food_menu.xml
View file @
6ec228e3
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<
merge
<
RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
android:layout_height=
"match_parent"
>
<LinearLayout
<LinearLayout
android:id=
"@+id/ll_food_container"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
>
android:orientation=
"vertical"
>
...
@@ -41,23 +42,29 @@
...
@@ -41,23 +42,29 @@
android:orientation=
"vertical"
/>
android:orientation=
"vertical"
/>
</LinearLayout>
</LinearLayout>
<ViewStub
<include
layout=
"@layout/meal_layout_combo_modifier"
/>
android:id=
"@+id/vb_combo_modifier"
<!-- <ViewStub-->
android:layout_width=
"match_parent"
<!-- android:id="@+id/vb_combo_modifier"-->
android:layout_height=
"wrap_content"
<!-- android:layout_width="match_parent"-->
android:layout=
"@layout/meal_layout_combo_modifier"
/>
<!-- 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" />-->
<ViewStub
<include
layout=
"@layout/meal_layout_meal_fine"
/>
android:id=
"@+id/vb_fine"
<!-- <ViewStub-->
android:layout_width=
"match_parent"
<!-- android:id="@+id/vb_fine"-->
android:layout_height=
"wrap_content"
<!-- android:layout_width="match_parent"-->
android:layout=
"@layout/meal_layout_meal_fine"
/>
<!-- 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" />-->
<LinearLayout
<LinearLayout
android:id=
"@+id/ll_modify"
android:id=
"@+id/ll_modify"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_45"
android:layout_height=
"@dimen/dp_45"
android:layout_
gravity=
"bottom
"
android:layout_
alignParentBottom=
"true
"
android:visibility=
"invisible"
>
android:visibility=
"invisible"
>
<com.qmuiteam.qmui.alpha.QMUIAlphaTextView
<com.qmuiteam.qmui.alpha.QMUIAlphaTextView
...
@@ -135,4 +142,4 @@
...
@@ -135,4 +142,4 @@
android:textColor=
"@color/theme_white_color"
android:textColor=
"@color/theme_white_color"
android:textSize=
"@dimen/sp_14"
/>
android:textSize=
"@dimen/sp_14"
/>
</LinearLayout>
</LinearLayout>
</merge>
</RelativeLayout>
\ No newline at end of file
\ No newline at end of file
component-table/src/main/res/layout/meal_layout_food_plate.xml
View file @
6ec228e3
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:id=
"@+id/ll_meals"
android:id=
"@+id/ll_meals"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_260"
android:layout_height=
"@dimen/dp_260"
...
@@ -126,7 +127,8 @@
...
@@ -126,7 +127,8 @@
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:divider=
"@null"
android:divider=
"@null"
android:fadeScrollbars=
"false"
android:fadeScrollbars=
"false"
android:orientation=
"vertical"
/>
android:orientation=
"vertical"
app:layoutManager=
"com.gingersoft.gsa.cloud.ui.recylcler.RecyclerViewNoBugLinearLayoutManager"
/>
</LinearLayout>
</LinearLayout>
<LinearLayout
<LinearLayout
...
...
component-table/src/main/res/layout/meal_layout_meal_fine.xml
View file @
6ec228e3
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_height=
"match_parent"
>
android:id=
"@+id/ll_fine"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<com.gingersoft.gsa.cloud.ui.view.MyTableView
<com.gingersoft.gsa.cloud.ui.view.MyTableView
android:id=
"@+id/tab_fine"
android:id=
"@+id/tab_fine"
...
...
component-table/src/main/res/layout/table_activity_meal_stand.xml
View file @
6ec228e3
...
@@ -335,16 +335,39 @@
...
@@ -335,16 +335,39 @@
</RelativeLayout>
</RelativeLayout>
</androidx.core.widget.NestedScrollView>
</androidx.core.widget.NestedScrollView>
<androidx.recyclerview.widget.RecyclerView
<!-- <LinearLayout-->
android:id=
"@+id/rv_discount"
<!-- android:id="@+id/ll_discount"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_above="@+id/ll_stand_oper"-->
<!-- android:layout_below="@+id/ll_meals"-->
<!-- android:visibility="gone">-->
<!-- -->
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_discount"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:divider=
"@null"
android:fadeScrollbars=
"false"
android:orientation=
"vertical"
android:visibility=
"gone"
/>
<!-- <androidx.recyclerview.widget.RecyclerView-->
<!-- android:id="@+id/rv_coupon"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:divider="@null"-->
<!-- android:fadeScrollbars="false"-->
<!-- android:orientation="vertical"-->
<!-- android:visibility="gone" />-->
<!-- </LinearLayout>-->
<FrameLayout
android:id=
"@+id/fl_discount"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_above=
"@+id/ll_stand_oper"
android:layout_above=
"@+id/ll_stand_oper"
android:layout_below=
"@+id/ll_meals"
android:layout_below=
"@+id/ll_meals"
/>
android:divider=
"@null"
android:fadeScrollbars=
"false"
android:orientation=
"vertical"
android:visibility=
"gone"
/>
<FrameLayout
<FrameLayout
android:id=
"@+id/fl_container"
android:id=
"@+id/fl_container"
...
...
component-table/src/main/res/layout/table_dialog_discout.xml
View file @
6ec228e3
...
@@ -6,12 +6,6 @@
...
@@ -6,12 +6,6 @@
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:orientation=
"vertical"
>
android:orientation=
"vertical"
>
<!-- <com.qmuiteam.qmui.widget.QMUITopBar-->
<!-- android:id="@+id/topbar"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="@dimen/head_height"-->
<!-- app:qmui_topbar_title_color="@color/theme_white_color" />-->
<com.qmuiteam.qmui.widget.tab.QMUITabSegment
<com.qmuiteam.qmui.widget.tab.QMUITabSegment
android:id=
"@+id/tabSegment"
android:id=
"@+id/tabSegment"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
...
...
config.gradle
View file @
6ec228e3
...
@@ -7,8 +7,8 @@ ext {
...
@@ -7,8 +7,8 @@ ext {
targetSdkVersion
:
29
,
targetSdkVersion
:
29
,
//正式版: 1.0.3 3
//正式版: 1.0.3 3
//內部測試版:1.2.0 20
//內部測試版:1.2.0 20
versionCode
:
3
2
,
versionCode
:
3
3
,
versionName
:
"1.3.
2
"
versionName
:
"1.3.
3
"
]
]
version
=
[
version
=
[
...
...
library-common/src/main/java/com/gingersoft/gsa/cloud/app/GsaCloudApplication.java
View file @
6ec228e3
...
@@ -42,6 +42,7 @@ import com.gingersoft.gsa.cloud.common.utils.AppDevices;
...
@@ -42,6 +42,7 @@ import com.gingersoft.gsa.cloud.common.utils.AppDevices;
import
com.gingersoft.gsa.cloud.common.utils.crash.AppCrashHandler
;
import
com.gingersoft.gsa.cloud.common.utils.crash.AppCrashHandler
;
import
com.gingersoft.gsa.cloud.common.utils.log.LogUtil
;
import
com.gingersoft.gsa.cloud.common.utils.log.LogUtil
;
import
com.gingersoft.gsa.cloud.common.utils.other.SPUtils
;
import
com.gingersoft.gsa.cloud.common.utils.other.SPUtils
;
import
com.gingersoft.gsa.cloud.common.utils.threadPool.ThreadPoolManager
;
import
com.gingersoft.gsa.cloud.component.ComponentAction
;
import
com.gingersoft.gsa.cloud.component.ComponentAction
;
import
com.gingersoft.gsa.cloud.component.ComponentName
;
import
com.gingersoft.gsa.cloud.component.ComponentName
;
import
com.gingersoft.gsa.cloud.database.DaoManager
;
import
com.gingersoft.gsa.cloud.database.DaoManager
;
...
@@ -54,6 +55,7 @@ import com.scwang.smartrefresh.layout.SmartRefreshLayout;
...
@@ -54,6 +55,7 @@ import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import
com.scwang.smartrefresh.layout.footer.ClassicsFooter
;
import
com.scwang.smartrefresh.layout.footer.ClassicsFooter
;
import
com.scwang.smartrefresh.layout.header.ClassicsHeader
;
import
com.scwang.smartrefresh.layout.header.ClassicsHeader
;
import
com.xuexiang.rxutil2.rxjava.RxJavaUtils
;
import
com.xuexiang.rxutil2.rxjava.RxJavaUtils
;
import
com.xuexiang.rxutil2.rxjava.RxSchedulerUtils
;
import
com.xuexiang.rxutil2.rxjava.task.RxIOTask
;
import
com.xuexiang.rxutil2.rxjava.task.RxIOTask
;
import
java.io.File
;
import
java.io.File
;
...
@@ -123,6 +125,9 @@ public class GsaCloudApplication extends BaseApplication {
...
@@ -123,6 +125,9 @@ public class GsaCloudApplication extends BaseApplication {
@Override
@Override
public
Void
doInIOThread
(
Object
o
)
{
public
Void
doInIOThread
(
Object
o
)
{
LoganManager
.
w_action
(
TAG
,
"init start....."
);
LoganManager
.
w_action
(
TAG
,
"init start....."
);
//设置自定义RxJava的线程池
RxSchedulerUtils
.
setIOExecutor
(
ThreadPoolManager
.
getInstence
().
getExecutor
());
//初始化設備唯一ID
//初始化設備唯一ID
initDeviceId
();
initDeviceId
();
//初始化Hyweb支付回調
//初始化Hyweb支付回調
...
...
library-common/src/main/java/com/gingersoft/gsa/cloud/common/core/discount/
Bil
lDiscount.java
→
library-common/src/main/java/com/gingersoft/gsa/cloud/common/core/discount/
Noma
lDiscount.java
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
common
.
core
.
discount
;
package
com
.
gingersoft
.
gsa
.
cloud
.
common
.
core
.
discount
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
/**
/**
* @作者: bin
* @作者: bin
* @創建時間: 2021-04-07 15:45
* @創建時間: 2021-04-07 15:45
* @更新時間: 2021-04-07 15:45
* @更新時間: 2021-04-07 15:45
* @描述:
* @描述:
*/
*/
public
class
BillDiscount
extends
AbstractDiscount
{
public
class
NomalDiscount
extends
Discount
{
}
}
library-common/src/main/java/com/gingersoft/gsa/cloud/common/utils/threadPool/ThreadPoolManager.java
View file @
6ec228e3
...
@@ -112,5 +112,9 @@ public class ThreadPoolManager {
...
@@ -112,5 +112,9 @@ public class ThreadPoolManager {
}
}
}
}
};
};
public
ThreadPoolExecutor
getExecutor
()
{
return
mThreadPoolExecutor
;
}
}
}
library-
common/src/main/java/com/gingersoft/gsa/cloud/common/core/discount
/AbstractDiscount.java
→
library-
database/src/main/java/com/gingersoft/gsa/cloud/database
/AbstractDiscount.java
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
common
.
core
.
discount
;
package
com
.
gingersoft
.
gsa
.
cloud
.
database
;
import
org.greenrobot.greendao.annotation.Transient
;
import
lombok.Data
;
/**
/**
* @作者: bin
* @作者: bin
...
@@ -6,7 +10,15 @@ package com.gingersoft.gsa.cloud.common.core.discount;
...
@@ -6,7 +10,15 @@ package com.gingersoft.gsa.cloud.common.core.discount;
* @更新時間: 2021-04-07 15:44
* @更新時間: 2021-04-07 15:44
* @描述:
* @描述:
*/
*/
@Data
public
abstract
class
AbstractDiscount
{
public
abstract
class
AbstractDiscount
{
/**
* 折扣類型
* 0#折扣
* 1#優惠券
*/
@Transient
protected
byte
abstractDiscountType
=
DiscountConstact
.
DISCOUNT_TYPE
;
}
}
library-database/src/main/java/com/gingersoft/gsa/cloud/database/DiscountConstact.java
0 → 100644
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
database
;
/**
* @作者: bin
* @創建時間: 2021-04-24 9:54
* @更新時間: 2021-04-24 9:54
* @描述:
*/
public
interface
DiscountConstact
{
/**
* 折扣類型
*/
byte
DISCOUNT_TYPE
=
0
;
/**
* 會員優惠券類型
*/
byte
MEMBER_COUPON_TYPE
=
1
;
/**
* 會員錢包券類型
*/
byte
WALLET_COUPON_TYPE
=
2
;
}
library-database/src/main/java/com/gingersoft/gsa/cloud/database/bean/Discount.java
View file @
6ec228e3
...
@@ -2,6 +2,8 @@ package com.gingersoft.gsa.cloud.database.bean;
...
@@ -2,6 +2,8 @@ package com.gingersoft.gsa.cloud.database.bean;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
com.gingersoft.gsa.cloud.database.AbstractDiscount
;
import
org.greenrobot.greendao.annotation.Entity
;
import
org.greenrobot.greendao.annotation.Entity
;
import
org.greenrobot.greendao.annotation.Generated
;
import
org.greenrobot.greendao.annotation.Generated
;
import
org.greenrobot.greendao.annotation.Id
;
import
org.greenrobot.greendao.annotation.Id
;
...
@@ -22,8 +24,7 @@ import lombok.Data;
...
@@ -22,8 +24,7 @@ import lombok.Data;
*/
*/
@Data
@Data
@Entity
@Entity
public
class
Discount
implements
Cloneable
{
public
class
Discount
extends
AbstractDiscount
implements
Cloneable
{
/**
/**
* ID
* ID
...
@@ -423,7 +424,6 @@ public class Discount implements Cloneable {
...
@@ -423,7 +424,6 @@ public class Discount implements Cloneable {
return
this
.
pause
;
return
this
.
pause
;
}
}
@NonNull
@NonNull
@Override
@Override
public
Discount
clone
()
{
public
Discount
clone
()
{
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/order/bean/discount/CouponDiscountBean.java
View file @
6ec228e3
...
@@ -9,7 +9,7 @@ import lombok.Data;
...
@@ -9,7 +9,7 @@ import lombok.Data;
* 版本:1.6.0
* 版本:1.6.0
* 创建日期:2020-09-12
* 创建日期:2020-09-12
* 修订历史:2020-09-12
* 修订历史:2020-09-12
* 描述:优惠券折扣实体
* 描述:
會員
优惠券折扣实体
*/
*/
@Data
@Data
public
class
CouponDiscountBean
{
public
class
CouponDiscountBean
{
...
...
library-
common/src/main/java/com/gingersoft/gsa/cloud/common/core/discount/Member
Coupon.java
→
library-
order/src/main/java/com/gingersoft/gsa/cloud/order/bean/discount/MemberWallet
Coupon.java
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
common
.
core
.
discount
;
package
com
.
gingersoft
.
gsa
.
cloud
.
order
.
bean
.
discount
;
import
androidx.annotation.NonNull
;
import
com.gingersoft.gsa.cloud.database.AbstractDiscount
;
import
com.gingersoft.gsa.cloud.database.DiscountConstact
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -8,10 +12,10 @@ import lombok.Data;
...
@@ -8,10 +12,10 @@ import lombok.Data;
* @作者: bin
* @作者: bin
* @創建時間: 2021-04-07 15:45
* @創建時間: 2021-04-07 15:45
* @更新時間: 2021-04-07 15:45
* @更新時間: 2021-04-07 15:45
* @描述:
* @描述:
會員錢包優惠券
*/
*/
@Data
@Data
public
class
Member
Coupon
extends
AbstractDiscount
{
public
class
Member
WalletCoupon
extends
AbstractDiscount
implements
Cloneable
{
private
long
id
;
private
long
id
;
private
String
couponTypeName
;
private
String
couponTypeName
;
...
@@ -26,16 +30,42 @@ public class MemberCoupon extends AbstractDiscount {
...
@@ -26,16 +30,42 @@ public class MemberCoupon extends AbstractDiscount {
private
String
couponNo
;
private
String
couponNo
;
private
int
useTimes
;
private
int
useTimes
;
public
MemberWalletCoupon
(
MemberWalletCoupon
coupon
)
{
this
.
id
=
coupon
.
id
;
this
.
couponTypeName
=
coupon
.
couponTypeName
;
this
.
beginDate
=
coupon
.
beginDate
;
this
.
endDate
=
coupon
.
endDate
;
this
.
periodDays
=
coupon
.
periodDays
;
this
.
upperLimitTimes
=
coupon
.
upperLimitTimes
;
this
.
billMinAmount
=
coupon
.
billMinAmount
;
this
.
amount
=
coupon
.
amount
;
this
.
discount
=
coupon
.
discount
;
this
.
remark
=
coupon
.
remark
;
this
.
couponNo
=
coupon
.
couponNo
;
this
.
useTimes
=
coupon
.
useTimes
;
}
public
Discount
castDiscount
()
{
public
Discount
castDiscount
()
{
Discount
discountBean
=
new
Discount
();
Discount
discountBean
=
new
Discount
();
discountBean
.
setId
(
id
);
discountBean
.
setId
(
id
);
discountBean
.
setAbstractDiscountType
(
DiscountConstact
.
WALLET_COUPON_TYPE
);
discountBean
.
setDiscountValue
(
discount
);
discountBean
.
setDiscountValue
(
discount
);
discountBean
.
setAmount
(
amount
);
discountBean
.
setAmount
(
amount
);
discountBean
.
setMinBillAmount
(
billMinAmount
);
discountBean
.
setMinBillAmount
(
billMinAmount
);
discountBean
.
setRemark
(
remark
);
discountBean
.
setRemark
(
couponTypeName
);
discountBean
.
setBeginTime
(
beginDate
);
discountBean
.
setBeginTime
(
beginDate
);
discountBean
.
setEndTime
(
endDate
);
discountBean
.
setEndTime
(
endDate
);
return
discountBean
;
return
discountBean
;
}
}
@NonNull
@Override
public
MemberWalletCoupon
clone
()
{
try
{
return
(
MemberWalletCoupon
)
super
.
clone
();
}
catch
(
CloneNotSupportedException
e
)
{
e
.
printStackTrace
();
}
return
new
MemberWalletCoupon
(
this
);
}
}
}
\ No newline at end of file
library-order/src/main/java/com/gingersoft/gsa/cloud/order/bean/request/OrderDiscountRequest.java
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
order
.
bean
.
request
;
package
com
.
gingersoft
.
gsa
.
cloud
.
order
.
bean
.
request
;
import
com.gingersoft.gsa.cloud.order.billItem.DiscountItem
;
import
com.gingersoft.gsa.cloud.order.billItem.DiscountItem
;
import
com.gingersoft.gsa.cloud.order.discount.MemberDiscount
;
import
com.gingersoft.gsa.cloud.order.discount.Member
Level
Discount
;
import
com.gingersoft.gsa.cloud.order.discount.NomalDiscount
;
import
com.gingersoft.gsa.cloud.order.discount.NomalDiscount
;
import
lombok.Data
;
import
lombok.Data
;
...
@@ -62,7 +62,7 @@ public class OrderDiscountRequest {
...
@@ -62,7 +62,7 @@ public class OrderDiscountRequest {
OrderDiscountRequest
request
=
new
OrderDiscountRequest
();
OrderDiscountRequest
request
=
new
OrderDiscountRequest
();
request
.
setType
(
MEMBER_DISCOUNT
);
request
.
setType
(
MEMBER_DISCOUNT
);
if
(
discount
.
getDiscount
()
!=
null
)
{
if
(
discount
.
getDiscount
()
!=
null
)
{
Member
Discount
memberDiscount
=
(
Member
Discount
)
discount
.
getDiscount
();
Member
LevelDiscount
memberDiscount
=
(
MemberLevel
Discount
)
discount
.
getDiscount
();
request
.
setMemberId
(
memberDiscount
.
getMemberDiscount
().
getId
());
request
.
setMemberId
(
memberDiscount
.
getMemberDiscount
().
getId
());
// request.setMemberDiscountRate((int) memberDiscount.getDiscount().getDiscount_value());
// request.setMemberDiscountRate((int) memberDiscount.getDiscount().getDiscount_value());
}
}
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/order/cart/ShoppingCart.java
View file @
6ec228e3
...
@@ -4,11 +4,13 @@ import com.gingersoft.gsa.cloud.common.core.member.MemberInfo;
...
@@ -4,11 +4,13 @@ import com.gingersoft.gsa.cloud.common.core.member.MemberInfo;
import
com.gingersoft.gsa.cloud.common.core.delivery.OrderDetails
;
import
com.gingersoft.gsa.cloud.common.core.delivery.OrderDetails
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.order.bean.discount.CouponDiscountBean
;
import
com.gingersoft.gsa.cloud.order.bean.discount.CouponDiscountBean
;
import
com.gingersoft.gsa.cloud.order.bean.discount.MemberWalletCoupon
;
import
com.gingersoft.gsa.cloud.order.billItem.BillItem
;
import
com.gingersoft.gsa.cloud.order.billItem.BillItem
;
import
com.gingersoft.gsa.cloud.order.billItem.DiscountItem
;
import
com.gingersoft.gsa.cloud.order.billItem.DiscountItem
;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.order.discount.CouponDiscount
;
import
com.gingersoft.gsa.cloud.order.discount.MemberCouponDiscount
;
import
com.gingersoft.gsa.cloud.order.discount.MemberDiscount
;
import
com.gingersoft.gsa.cloud.order.discount.MemberLevelDiscount
;
import
com.gingersoft.gsa.cloud.order.discount.MemberWalletCouponDiscount
;
import
com.gingersoft.gsa.cloud.order.discount.MultyDiscount
;
import
com.gingersoft.gsa.cloud.order.discount.MultyDiscount
;
import
com.gingersoft.gsa.cloud.order.discount.NomalDiscount
;
import
com.gingersoft.gsa.cloud.order.discount.NomalDiscount
;
...
@@ -60,8 +62,8 @@ public class ShoppingCart {
...
@@ -60,8 +62,8 @@ public class ShoppingCart {
* 折扣列表
* 折扣列表
*
*
* @see NomalDiscount
* @see NomalDiscount
* @see MemberDiscount
* @see Member
Level
Discount
* @see CouponDiscount
* @see
Member
CouponDiscount
*/
*/
protected
List
<
MultyDiscount
>
multyDiscountList
;
protected
List
<
MultyDiscount
>
multyDiscountList
;
/**
/**
...
@@ -226,22 +228,32 @@ public class ShoppingCart {
...
@@ -226,22 +228,32 @@ public class ShoppingCart {
* @param discount
* @param discount
* @return
* @return
*/
*/
public
MultyDiscount
addMemberDiscountToLinked
(
MultyDiscount
multyDiscounts
,
MemberInfo
discount
,
int
status
)
{
public
MultyDiscount
addMember
Level
DiscountToLinked
(
MultyDiscount
multyDiscounts
,
MemberInfo
discount
,
int
status
)
{
MultyDiscount
member
Discount
=
new
Member
Discount
(
discount
.
getMemberName
(),
status
,
multyDiscounts
,
discount
);
MultyDiscount
member
LevelDiscount
=
new
MemberLevel
Discount
(
discount
.
getMemberName
(),
status
,
multyDiscounts
,
discount
);
return
memberDiscount
;
return
member
Level
Discount
;
}
}
/**
/**
* 將優惠券折扣添加到鏈條中
* 將
會員
優惠券折扣添加到鏈條中
*
*
* @param discount
* @param discount
* @return
* @return
*/
*/
public
MultyDiscount
addCouponDiscountToLinked
(
MultyDiscount
multyDiscounts
,
CouponDiscountBean
discount
,
int
status
)
{
public
MultyDiscount
add
Member
CouponDiscountToLinked
(
MultyDiscount
multyDiscounts
,
CouponDiscountBean
discount
,
int
status
)
{
MultyDiscount
couponDiscount
=
new
CouponDiscount
(
discount
.
getName
(),
status
,
multyDiscounts
,
discount
);
MultyDiscount
couponDiscount
=
new
Member
CouponDiscount
(
discount
.
getName
(),
status
,
multyDiscounts
,
discount
);
return
couponDiscount
;
return
couponDiscount
;
}
}
/**
* 將會員錢包折扣添加到鏈條中
*
* @param walletCoupon
* @return
*/
public
MultyDiscount
addMemberWalletCouponDiscountToLinked
(
MultyDiscount
multyDiscounts
,
MemberWalletCoupon
walletCoupon
,
int
status
)
{
MultyDiscount
couponDiscount
=
new
MemberWalletCouponDiscount
(
walletCoupon
.
getCouponTypeName
(),
status
,
multyDiscounts
,
walletCoupon
);
return
couponDiscount
;
}
public
MultyDiscount
createNomalDiscount
(
Discount
discount
,
int
status
)
{
public
MultyDiscount
createNomalDiscount
(
Discount
discount
,
int
status
)
{
MultyDiscount
nomalDiscount
=
new
NomalDiscount
(
discount
.
getRemark
(),
status
,
null
,
discount
);
MultyDiscount
nomalDiscount
=
new
NomalDiscount
(
discount
.
getRemark
(),
status
,
null
,
discount
);
...
@@ -249,15 +261,20 @@ public class ShoppingCart {
...
@@ -249,15 +261,20 @@ public class ShoppingCart {
}
}
public
MultyDiscount
createMemberDiscount
(
MemberInfo
discount
,
int
status
)
{
public
MultyDiscount
createMemberDiscount
(
MemberInfo
discount
,
int
status
)
{
MultyDiscount
member
Discount
=
new
Member
Discount
(
discount
.
getMemberName
(),
status
,
null
,
discount
);
MultyDiscount
member
LevelDiscount
=
new
MemberLevel
Discount
(
discount
.
getMemberName
(),
status
,
null
,
discount
);
return
memberDiscount
;
return
member
Level
Discount
;
}
}
public
MultyDiscount
createCouponDiscount
(
CouponDiscountBean
discount
,
int
status
)
{
public
MultyDiscount
createCouponDiscount
(
CouponDiscountBean
discount
,
int
status
)
{
MultyDiscount
couponDiscount
=
new
CouponDiscount
(
discount
.
getName
(),
status
,
null
,
discount
);
MultyDiscount
couponDiscount
=
new
Member
CouponDiscount
(
discount
.
getName
(),
status
,
null
,
discount
);
return
couponDiscount
;
return
couponDiscount
;
}
}
public
MultyDiscount
createMemberWalletCoupon
(
MemberWalletCoupon
walletCoupon
,
int
status
)
{
MultyDiscount
walletCouponDiscount
=
new
MemberWalletCouponDiscount
(
walletCoupon
.
getCouponTypeName
(),
status
,
null
,
walletCoupon
);
return
walletCouponDiscount
;
}
/**
/**
* 計算折扣鏈金額
* 計算折扣鏈金額
*/
*/
...
@@ -270,10 +287,12 @@ public class ShoppingCart {
...
@@ -270,10 +287,12 @@ public class ShoppingCart {
MultyDiscount
discount
=
getMultyDiscountList
().
get
(
i
);
MultyDiscount
discount
=
getMultyDiscountList
().
get
(
i
);
if
(
discount
instanceof
NomalDiscount
)
{
if
(
discount
instanceof
NomalDiscount
)
{
multyDiscounts
=
addNomalDiscountToLinked
(
multyDiscounts
,
((
NomalDiscount
)
discount
).
getDiscount
(),
discount
.
getStatus
());
multyDiscounts
=
addNomalDiscountToLinked
(
multyDiscounts
,
((
NomalDiscount
)
discount
).
getDiscount
(),
discount
.
getStatus
());
}
else
if
(
discount
instanceof
MemberDiscount
)
{
}
else
if
(
discount
instanceof
MemberLevelDiscount
)
{
multyDiscounts
=
addMemberDiscountToLinked
(
multyDiscounts
,
((
MemberDiscount
)
discount
).
getMemberDiscount
(),
discount
.
getStatus
());
multyDiscounts
=
addMemberLevelDiscountToLinked
(
multyDiscounts
,
((
MemberLevelDiscount
)
discount
).
getMemberDiscount
(),
discount
.
getStatus
());
}
else
if
(
discount
instanceof
CouponDiscount
)
{
}
else
if
(
discount
instanceof
MemberCouponDiscount
)
{
multyDiscounts
=
addCouponDiscountToLinked
(
multyDiscounts
,
((
CouponDiscount
)
discount
).
getCouponDiscount
(),
discount
.
getStatus
());
multyDiscounts
=
addMemberCouponDiscountToLinked
(
multyDiscounts
,
((
MemberCouponDiscount
)
discount
).
getCouponDiscount
(),
discount
.
getStatus
());
}
else
if
(
discount
instanceof
MemberWalletCouponDiscount
)
{
multyDiscounts
=
addMemberWalletCouponDiscountToLinked
(
multyDiscounts
,
((
MemberWalletCouponDiscount
)
discount
).
getWalletCoupon
(),
discount
.
getStatus
());
}
}
multyDiscountArrays
.
add
(
multyDiscounts
);
multyDiscountArrays
.
add
(
multyDiscounts
);
}
}
...
@@ -293,10 +312,12 @@ public class ShoppingCart {
...
@@ -293,10 +312,12 @@ public class ShoppingCart {
String
discountName
=
discount
.
getName
();
String
discountName
=
discount
.
getName
();
if
(
discount
instanceof
NomalDiscount
)
{
if
(
discount
instanceof
NomalDiscount
)
{
discountType
=
BillItem
.
NOMAL_DISCOUNT_TYPE
;
discountType
=
BillItem
.
NOMAL_DISCOUNT_TYPE
;
}
else
if
(
discount
instanceof
MemberDiscount
)
{
}
else
if
(
discount
instanceof
Member
Level
Discount
)
{
discountType
=
BillItem
.
MEMBER_DISCOUNT_TYPE
;
discountType
=
BillItem
.
MEMBER_DISCOUNT_TYPE
;
discountName
=
discount
.
getName
()
+
((
MemberDiscount
)
discount
).
getMemberDiscount
().
getMemberDiscount
()
+
"%"
;
discountName
=
discount
.
getName
()
+
((
MemberLevelDiscount
)
discount
).
getMemberDiscount
().
getMemberDiscount
()
+
"%"
;
}
else
if
(
discount
instanceof
CouponDiscount
)
{
}
else
if
(
discount
instanceof
MemberCouponDiscount
)
{
discountType
=
BillItem
.
COUPON_DISCOUNT_TYPE
;
}
else
if
(
discount
instanceof
MemberWalletCouponDiscount
)
{
discountType
=
BillItem
.
COUPON_DISCOUNT_TYPE
;
discountType
=
BillItem
.
COUPON_DISCOUNT_TYPE
;
}
}
DiscountItem
discountItem
=
new
DiscountItem
(
discountName
,
discount
.
getDiscountMoney
(),
discount
.
getStatus
(),
discountType
);
DiscountItem
discountItem
=
new
DiscountItem
(
discountName
,
discount
.
getDiscountMoney
(),
discount
.
getStatus
(),
discountType
);
...
@@ -343,13 +364,13 @@ public class ShoppingCart {
...
@@ -343,13 +364,13 @@ public class ShoppingCart {
couponDiscountBean
.
setCouponTypeName1
(
"魚屋立減50元券"
);
couponDiscountBean
.
setCouponTypeName1
(
"魚屋立減50元券"
);
couponDiscountBean
.
setAmount
(
50
);
couponDiscountBean
.
setAmount
(
50
);
couponDiscountBean
.
setCouponType
((
byte
)
2
);
couponDiscountBean
.
setCouponType
((
byte
)
2
);
multyDiscounts
=
shoppingCart
.
addCouponDiscountToLinked
(
multyDiscounts
,
couponDiscountBean
,
0
);
multyDiscounts
=
shoppingCart
.
add
Member
CouponDiscountToLinked
(
multyDiscounts
,
couponDiscountBean
,
0
);
shoppingCart
.
addMultyDiscount
(
multyDiscounts
);
shoppingCart
.
addMultyDiscount
(
multyDiscounts
);
MemberInfo
memberInfo2
=
new
MemberInfo
();
MemberInfo
memberInfo2
=
new
MemberInfo
();
memberInfo2
.
setMemberName
(
"白金會員20%"
);
memberInfo2
.
setMemberName
(
"白金會員20%"
);
memberInfo2
.
setMemberDiscount
(
20
);
memberInfo2
.
setMemberDiscount
(
20
);
multyDiscounts
=
shoppingCart
.
addMemberDiscountToLinked
(
multyDiscounts
,
memberInfo2
,
0
);
multyDiscounts
=
shoppingCart
.
addMember
Level
DiscountToLinked
(
multyDiscounts
,
memberInfo2
,
0
);
shoppingCart
.
addMultyDiscount
(
multyDiscounts
);
shoppingCart
.
addMultyDiscount
(
multyDiscounts
);
double
discountAfterMoney
=
shoppingCart
.
calculateLinkedDiscounts
(
200
);
double
discountAfterMoney
=
shoppingCart
.
calculateLinkedDiscounts
(
200
);
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/order/commodity/OrderDetail.java
View file @
6ec228e3
...
@@ -4,6 +4,8 @@ import androidx.annotation.NonNull;
...
@@ -4,6 +4,8 @@ import androidx.annotation.NonNull;
import
com.gingersoft.gsa.cloud.common.core.delivery.OrderDetails
;
import
com.gingersoft.gsa.cloud.common.core.delivery.OrderDetails
;
import
com.gingersoft.gsa.cloud.common.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.common.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.database.AbstractDiscount
;
import
com.gingersoft.gsa.cloud.database.DiscountConstact
;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.ComboItem
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
...
@@ -167,6 +169,10 @@ public class OrderDetail implements Commodity, Serializable, Cloneable {
...
@@ -167,6 +169,10 @@ public class OrderDetail implements Commodity, Serializable, Cloneable {
* 类型#1:优惠卷;2:商品;3:菜品;4:细项;5:折扣;
* 类型#1:优惠卷;2:商品;3:菜品;4:细项;5:折扣;
*/
*/
private
byte
type
;
private
byte
type
;
public
static
final
byte
COUPON_TYPE
=
1
;
public
static
final
byte
FOOD_TYPE
=
3
;
public
static
final
byte
MODIFIER_TYPE
=
4
;
public
static
final
byte
DISCOUNT_TYPE
=
5
;
/**
/**
*
*
*/
*/
...
@@ -241,12 +247,6 @@ public class OrderDetail implements Commodity, Serializable, Cloneable {
...
@@ -241,12 +247,6 @@ public class OrderDetail implements Commodity, Serializable, Cloneable {
/**
/**
* type編號#3:菜品;4:細項;5:折扣
*/
public
static
final
byte
FOOD_TYPE
=
3
;
public
static
final
byte
MODIFIER_TYPE
=
4
;
public
static
final
byte
DISCOUNT_TYPE
=
5
;
/**
* 廚房單打印主項
* 廚房單打印主項
*/
*/
private
long
ktPrintMainItem
;
private
long
ktPrintMainItem
;
...
@@ -1254,7 +1254,7 @@ public class OrderDetail implements Commodity, Serializable, Cloneable {
...
@@ -1254,7 +1254,7 @@ public class OrderDetail implements Commodity, Serializable, Cloneable {
}
}
/**
/**
* 折扣轉換
* 折扣
,優惠券
轉換
*
*
* @param discount
* @param discount
* @return
* @return
...
@@ -1275,7 +1275,11 @@ public class OrderDetail implements Commodity, Serializable, Cloneable {
...
@@ -1275,7 +1275,11 @@ public class OrderDetail implements Commodity, Serializable, Cloneable {
orderDetail
.
setOrderId
(
DoshokuOrder
.
getInstance
().
getOrderId
());
orderDetail
.
setOrderId
(
DoshokuOrder
.
getInstance
().
getOrderId
());
orderDetail
.
setIsfood
(
false
);
orderDetail
.
setIsfood
(
false
);
orderDetail
.
setNew
(
isNew
);
orderDetail
.
setNew
(
isNew
);
orderDetail
.
setType
(
DISCOUNT_TYPE
);
if
(
discount
.
getFreeServiceCharge
()
==
DiscountConstact
.
WALLET_COUPON_TYPE
)
{
orderDetail
.
setType
(
COUPON_TYPE
);
}
else
{
orderDetail
.
setType
(
DISCOUNT_TYPE
);
}
orderDetail
.
setProp
(
DISCOUNT_PROP
);
orderDetail
.
setProp
(
DISCOUNT_PROP
);
orderDetail
.
setSelected
(
2
);
orderDetail
.
setSelected
(
2
);
orderDetail
.
setItemType
(
2
);
orderDetail
.
setItemType
(
2
);
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/order/discount/CouponDiscount.java
→
library-order/src/main/java/com/gingersoft/gsa/cloud/order/discount/
Member
CouponDiscount.java
View file @
6ec228e3
...
@@ -10,14 +10,14 @@ import lombok.Getter;
...
@@ -10,14 +10,14 @@ import lombok.Getter;
* 版本:1.6.0
* 版本:1.6.0
* 创建日期:2020-09-19
* 创建日期:2020-09-19
* 修订历史:2020-09-19
* 修订历史:2020-09-19
* 描述: 優惠券折扣{@link CouponDiscountBean}
* 描述:
會員
優惠券折扣{@link CouponDiscountBean}
*/
*/
@Getter
@Getter
public
class
CouponDiscount
extends
MultyDiscount
{
public
class
Member
CouponDiscount
extends
MultyDiscount
{
private
CouponDiscountBean
couponDiscount
;
private
CouponDiscountBean
couponDiscount
;
public
CouponDiscount
(
String
name
,
int
status
,
MultyDiscount
nextMultyDiscount
,
CouponDiscountBean
couponDiscount
)
{
public
Member
CouponDiscount
(
String
name
,
int
status
,
MultyDiscount
nextMultyDiscount
,
CouponDiscountBean
couponDiscount
)
{
super
(
name
,
status
,
nextMultyDiscount
);
super
(
name
,
status
,
nextMultyDiscount
);
this
.
couponDiscount
=
couponDiscount
;
this
.
couponDiscount
=
couponDiscount
;
}
}
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/order/discount/MemberDiscount.java
→
library-order/src/main/java/com/gingersoft/gsa/cloud/order/discount/Member
Level
Discount.java
View file @
6ec228e3
...
@@ -10,14 +10,14 @@ import lombok.Getter;
...
@@ -10,14 +10,14 @@ import lombok.Getter;
* 版本:1.6.0
* 版本:1.6.0
* 创建日期:2020-09-19
* 创建日期:2020-09-19
* 修订历史:2020-09-19
* 修订历史:2020-09-19
* 描述: 會員折扣{@link MemberInfo#memberDiscount}
* 描述: 會員
等級
折扣{@link MemberInfo#memberDiscount}
*/
*/
@Getter
@Getter
public
class
MemberDiscount
extends
MultyDiscount
{
public
class
Member
Level
Discount
extends
MultyDiscount
{
private
MemberInfo
memberDiscount
;
private
MemberInfo
memberDiscount
;
public
MemberDiscount
(
String
name
,
int
status
,
MultyDiscount
nextMultyDiscount
,
MemberInfo
memberDiscount
)
{
public
Member
Level
Discount
(
String
name
,
int
status
,
MultyDiscount
nextMultyDiscount
,
MemberInfo
memberDiscount
)
{
super
(
name
,
status
,
nextMultyDiscount
);
super
(
name
,
status
,
nextMultyDiscount
);
this
.
memberDiscount
=
memberDiscount
;
this
.
memberDiscount
=
memberDiscount
;
}
}
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/order/discount/MemberWalletCouponDiscount.java
0 → 100644
View file @
6ec228e3
package
com
.
gingersoft
.
gsa
.
cloud
.
order
.
discount
;
import
com.gingersoft.gsa.cloud.common.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.order.bean.discount.CouponDiscountBean
;
import
com.gingersoft.gsa.cloud.order.bean.discount.MemberWalletCoupon
;
import
lombok.Getter
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2020-09-19
* 修订历史:2020-09-19
* 描述: 會員錢包優惠券折扣{@link CouponDiscountBean}
*/
@Getter
public
class
MemberWalletCouponDiscount
extends
MultyDiscount
{
private
MemberWalletCoupon
walletCoupon
;
public
MemberWalletCouponDiscount
(
String
name
,
int
status
,
MultyDiscount
nextMultyDiscount
,
MemberWalletCoupon
walletCoupon
)
{
super
(
name
,
status
,
nextMultyDiscount
);
this
.
walletCoupon
=
walletCoupon
;
}
@Override
public
double
calculate
(
double
money
)
{
if
(
walletCoupon
!=
null
)
{
//配置了消費滿減
discountMoney
=
calculationCoupon
(
walletCoupon
,
money
);
money
=
MoneyUtil
.
sum
(
money
,
discountMoney
);
}
return
super
.
calculate
(
money
);
}
/**
* 計算優惠券金額
*
* @param walletCoupon
* @param sourceMoney
* @return
*/
public
static
double
calculationCoupon
(
MemberWalletCoupon
walletCoupon
,
double
sourceMoney
)
{
double
discountMoney
=
0
;
if
(
walletCoupon
.
getDiscount
()
!=
0
)
{
//百分比折扣
discountMoney
=
MoneyUtil
.
divide
(
MoneyUtil
.
multiply
(
sourceMoney
,
walletCoupon
.
getDiscount
()),
100
).
doubleValue
();
}
else
{
//金額折扣
discountMoney
=
walletCoupon
.
getAmount
();
}
if
(
sourceMoney
<
discountMoney
)
{
//折扣金額不能超出總額
discountMoney
=
sourceMoney
;
}
return
-
MoneyUtil
.
get_ItemDecimals_money
(
Math
.
abs
(
discountMoney
));
}
/**
* 獲取優惠券折扣ID
*
* @return
*/
public
Long
getCouponDiscountId
()
{
if
(
walletCoupon
!=
null
)
{
return
walletCoupon
.
getId
();
}
return
null
;
}
}
library-order/src/main/java/com/gingersoft/gsa/cloud/order/discount/MultyDiscount.java
View file @
6ec228e3
...
@@ -17,8 +17,8 @@ public abstract class MultyDiscount extends BillItem {
...
@@ -17,8 +17,8 @@ public abstract class MultyDiscount extends BillItem {
/**責任鏈中的下一個對象*/
/**責任鏈中的下一個對象*/
protected
MultyDiscount
nextMultyDiscount
;
protected
MultyDiscount
nextMultyDiscount
;
/**
/**
* 本次折扣金额
*/
* 本次折扣金额
* */
protected
double
discountMoney
=
0.0
;
protected
double
discountMoney
=
0.0
;
public
MultyDiscount
(
String
name
,
int
status
,
MultyDiscount
nextMultyDiscount
)
{
public
MultyDiscount
(
String
name
,
int
status
,
MultyDiscount
nextMultyDiscount
)
{
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/device/pos/yedpay/YedpayCallbackImp.java
View file @
6ec228e3
...
@@ -5,6 +5,8 @@ import android.content.Context;
...
@@ -5,6 +5,8 @@ import android.content.Context;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.net.Uri
;
import
android.net.Uri
;
import
androidx.fragment.app.Fragment
;
import
com.gingersoft.gsa.cloud.pay.RequestParms
;
import
com.gingersoft.gsa.cloud.pay.RequestParms
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.constant.YedpayConstant
;
import
com.gingersoft.gsa.cloud.pay.device.pos.yedpay.constant.YedpayConstant
;
import
com.gingersoft.gsa.cloud.pay.lifecycle.presenter.PayFlowPresenter
;
import
com.gingersoft.gsa.cloud.pay.lifecycle.presenter.PayFlowPresenter
;
...
@@ -19,12 +21,11 @@ import java.lang.ref.WeakReference;
...
@@ -19,12 +21,11 @@ import java.lang.ref.WeakReference;
*/
*/
public
class
YedpayCallbackImp
implements
YedpayCallback
{
public
class
YedpayCallbackImp
implements
YedpayCallback
{
private
WeakReference
<
Fragment
>
mContext
;
private
WeakReference
<
Activity
>
mContext
;
private
WeakReference
<
PayFlowPresenter
>
mPayFlowPresenter
;
private
WeakReference
<
PayFlowPresenter
>
mPayFlowPresenter
;
private
RequestParms
mRequestParms
;
private
RequestParms
mRequestParms
;
public
YedpayCallbackImp
(
Activity
context
,
PayFlowPresenter
payFlowPresenter
,
RequestParms
requestParms
)
{
public
YedpayCallbackImp
(
Fragment
context
,
PayFlowPresenter
payFlowPresenter
,
RequestParms
requestParms
)
{
this
.
mContext
=
new
WeakReference
<>(
context
);
this
.
mContext
=
new
WeakReference
<>(
context
);
this
.
mPayFlowPresenter
=
new
WeakReference
<>(
payFlowPresenter
);
this
.
mPayFlowPresenter
=
new
WeakReference
<>(
payFlowPresenter
);
this
.
mRequestParms
=
requestParms
;
this
.
mRequestParms
=
requestParms
;
...
@@ -32,11 +33,11 @@ public class YedpayCallbackImp implements YedpayCallback {
...
@@ -32,11 +33,11 @@ public class YedpayCallbackImp implements YedpayCallback {
@Override
@Override
public
void
callSaleUri
(
String
uri
)
{
public
void
callSaleUri
(
String
uri
)
{
Activity
activity
=
mContext
.
get
();
Fragment
fragment
=
mContext
.
get
();
if
(
activity
!=
null
)
{
if
(
fragment
!=
null
)
{
Uri
uri2
=
Uri
.
parse
(
uri
);
Uri
uri2
=
Uri
.
parse
(
uri
);
Intent
intent
=
new
Intent
(
Intent
.
ACTION_VIEW
,
uri2
);
Intent
intent
=
new
Intent
(
Intent
.
ACTION_VIEW
,
uri2
);
activity
.
startActivityForResult
(
intent
,
YedpayConstant
.
CallRequestCode
.
SALE_REQUEST_CODE
);
fragment
.
getActivity
()
.
startActivityForResult
(
intent
,
YedpayConstant
.
CallRequestCode
.
SALE_REQUEST_CODE
);
}
}
}
}
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/contract/PayFlowContract.java
View file @
6ec228e3
...
@@ -3,6 +3,8 @@ package com.gingersoft.gsa.cloud.pay.lifecycle.contract;
...
@@ -3,6 +3,8 @@ package com.gingersoft.gsa.cloud.pay.lifecycle.contract;
import
android.app.Activity
;
import
android.app.Activity
;
import
android.content.Intent
;
import
android.content.Intent
;
import
androidx.fragment.app.Fragment
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.pay.PayStep
;
import
com.gingersoft.gsa.cloud.pay.PayStep
;
import
com.jess.arms.mvp.IView
;
import
com.jess.arms.mvp.IView
;
...
@@ -32,7 +34,7 @@ public interface PayFlowContract {
...
@@ -32,7 +34,7 @@ public interface PayFlowContract {
void
startActivityForResult
(
Intent
intent
);
void
startActivityForResult
(
Intent
intent
);
Activity
getActivity
();
Fragment
getFragment
();
}
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/fragment/PayFlowFragment.java
View file @
6ec228e3
...
@@ -16,6 +16,7 @@ import android.widget.TextView;
...
@@ -16,6 +16,7 @@ import android.widget.TextView;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.annotation.Nullable
;
import
androidx.fragment.app.Fragment
;
import
com.gingersoft.gsa.cloud.common.logan.LoganManager
;
import
com.gingersoft.gsa.cloud.common.logan.LoganManager
;
import
com.gingersoft.gsa.cloud.order.R
;
import
com.gingersoft.gsa.cloud.order.R
;
...
@@ -215,6 +216,11 @@ public class PayFlowFragment extends BaseDialogFragment<PayFlowPresenter> implem
...
@@ -215,6 +216,11 @@ public class PayFlowFragment extends BaseDialogFragment<PayFlowPresenter> implem
@Override
@Override
public
void
startActivityForResult
(
Intent
intent
)
{
public
void
startActivityForResult
(
Intent
intent
)
{
startActivityForResult
(
intent
,
555
);
startActivityForResult
(
intent
,
YedpayConstant
.
CallRequestCode
.
SALE_REQUEST_CODE
);
}
@Override
public
Fragment
getFragment
()
{
return
this
;
}
}
}
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/lifecycle/presenter/PayFlowPresenter.java
View file @
6ec228e3
...
@@ -201,11 +201,10 @@ public class PayFlowPresenter extends BasePresenter<PayFlowContract.Model, PayFl
...
@@ -201,11 +201,10 @@ public class PayFlowPresenter extends BasePresenter<PayFlowContract.Model, PayFl
}
else
if
(
AppDevices
.
isBBPos
())
{
}
else
if
(
AppDevices
.
isBBPos
())
{
requestParms
.
setCallback
(
new
BBposCallbackImp
());
requestParms
.
setCallback
(
new
BBposCallbackImp
());
}
else
if
(
AppDevices
.
isYedpay
())
{
}
else
if
(
AppDevices
.
isYedpay
())
{
requestParms
.
setCallback
(
new
YedpayCallbackImp
(
mRootView
.
get
Activity
(),
this
,
mRequestParms
));
requestParms
.
setCallback
(
new
YedpayCallbackImp
(
mRootView
.
get
Fragment
(),
this
,
mRequestParms
));
}
else
{
}
else
{
requestParms
.
setCallback
(
new
YedpayCallbackImp
(
mRootView
.
get
Activity
(),
this
,
mRequestParms
));
requestParms
.
setCallback
(
new
YedpayCallbackImp
(
mRootView
.
get
Fragment
(),
this
,
mRequestParms
));
}
}
}
}
}
}
library-ui/src/main/java/com/gingersoft/gsa/cloud/ui/adapter/TagViewAdapter.java
View file @
6ec228e3
...
@@ -6,6 +6,7 @@ import androidx.annotation.Nullable;
...
@@ -6,6 +6,7 @@ import androidx.annotation.Nullable;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.viewholder.BaseViewHolder
;
import
com.chad.library.adapter.base.viewholder.BaseViewHolder
;
import
com.gingersoft.gsa.cloud.app.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.ui.R
;
import
com.gingersoft.gsa.cloud.ui.R
;
import
com.gingersoft.gsa.cloud.ui.bean.TagViewItem
;
import
com.gingersoft.gsa.cloud.ui.bean.TagViewItem
;
import
com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem
;
import
com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem
;
...
@@ -16,10 +17,16 @@ import java.util.List;
...
@@ -16,10 +17,16 @@ import java.util.List;
public
class
TagViewAdapter
extends
BaseQuickAdapter
<
TagViewItem
,
BaseViewHolder
>
{
public
class
TagViewAdapter
extends
BaseQuickAdapter
<
TagViewItem
,
BaseViewHolder
>
{
private
int
height
=
ArmsUtils
.
dip2px
(
GsaCloudApplication
.
getAppContext
(),
R
.
dimen
.
dp_40
);
public
TagViewAdapter
(
@Nullable
List
<
TagViewItem
>
data
)
{
public
TagViewAdapter
(
@Nullable
List
<
TagViewItem
>
data
)
{
super
(
R
.
layout
.
item_tag_view
,
data
);
super
(
R
.
layout
.
item_tag_view
,
data
);
}
}
public
void
setHeight
(
int
height
)
{
this
.
height
=
height
;
}
@Override
@Override
protected
void
convert
(
BaseViewHolder
helper
,
TagViewItem
item
)
{
protected
void
convert
(
BaseViewHolder
helper
,
TagViewItem
item
)
{
QMUIRoundButton
roundButton
=
helper
.
getView
(
R
.
id
.
btn_tag
);
QMUIRoundButton
roundButton
=
helper
.
getView
(
R
.
id
.
btn_tag
);
...
@@ -34,6 +41,7 @@ public class TagViewAdapter extends BaseQuickAdapter<TagViewItem, BaseViewHolder
...
@@ -34,6 +41,7 @@ public class TagViewAdapter extends BaseQuickAdapter<TagViewItem, BaseViewHolder
roundButton
.
setStrokeColors
(
ColorStateList
.
valueOf
(
item
.
getSidelineColor
()));
roundButton
.
setStrokeColors
(
ColorStateList
.
valueOf
(
item
.
getSidelineColor
()));
roundButton
.
setTextColor
(
item
.
getUnCheckedTextColor
());
roundButton
.
setTextColor
(
item
.
getUnCheckedTextColor
());
}
}
roundButton
.
setHeight
(
height
);
}
}
}
}
library-ui/src/main/java/com/gingersoft/gsa/cloud/ui/view/MyTableView.java
View file @
6ec228e3
...
@@ -74,7 +74,6 @@ public class MyTableView extends TabLayout {
...
@@ -74,7 +74,6 @@ public class MyTableView extends TabLayout {
});
});
}
}
private
void
setSelectTab
(
TabLayout
.
Tab
tabAt
,
boolean
isSelected
)
{
private
void
setSelectTab
(
TabLayout
.
Tab
tabAt
,
boolean
isSelected
)
{
if
(
tabAt
.
getCustomView
()
!=
null
)
{
if
(
tabAt
.
getCustomView
()
!=
null
)
{
TextView
tab
=
tabAt
.
getCustomView
().
findViewById
(
R
.
id
.
tv_tab
);
//第一个tab被选中
TextView
tab
=
tabAt
.
getCustomView
().
findViewById
(
R
.
id
.
tv_tab
);
//第一个tab被选中
...
...
library-ui/src/main/res/layout/item_tag_view.xml
View file @
6ec228e3
...
@@ -3,13 +3,11 @@
...
@@ -3,13 +3,11 @@
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:id=
"@+id/btn_tag"
android:id=
"@+id/btn_tag"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"
wrap_content
"
android:layout_height=
"
@dimen/dp_40
"
android:layout_gravity=
"center_horizontal"
android:layout_gravity=
"center_horizontal"
android:gravity=
"center_vertical"
android:layout_margin=
"@dimen/dp_6"
android:layout_margin=
"@dimen/dp_6"
android:paddingLeft=
"@dimen/dp_10"
android:paddingLeft=
"@dimen/dp_10"
android:paddingTop=
"@dimen/dp_8"
android:paddingRight=
"@dimen/dp_10"
android:paddingBottom=
"@dimen/dp_8"
android:text=
"草莓派"
android:text=
"草莓派"
android:textColor=
"@color/theme_text_color"
android:textColor=
"@color/theme_text_color"
android:textSize=
"@dimen/dp_16"
android:textSize=
"@dimen/dp_16"
...
@@ -18,6 +16,7 @@
...
@@ -18,6 +16,7 @@
app:qmui_borderWidth=
"1px"
app:qmui_borderWidth=
"1px"
app:qmui_skin_background=
"?attr/app_skin_btn_test_bg"
app:qmui_skin_background=
"?attr/app_skin_btn_test_bg"
app:qmui_skin_border=
"?attr/app_skin_btn_test_border"
app:qmui_skin_border=
"?attr/app_skin_btn_test_border"
app:qmui_skin_text_color=
"?attr/app_skin_btn_test_border"
>
app:qmui_skin_text_color=
"?attr/app_skin_btn_test_border"
app:qmui_radius=
"@dimen/dp_6"
>
</com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton>
</com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton>
\ No newline at end of file
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