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
d2a34349
Commit
d2a34349
authored
Apr 08, 2021
by
宁斌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1、新增會員優惠券頁面 2、處理報表圖表控件滑動衝突問題
parent
84221077
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
69 changed files
with
2157 additions
and
281 deletions
+2157
-281
component-login/src/main/res/layout/activity_choose_restaurant.xml
+3
-2
component-main/src/main/java/com/gingersoft/gsa/cloud/main/ComponentMain.java
+1
-1
component-main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/MainActivity.java
+0
-1
component-main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/ReportActivity.java
+10
-1
component-main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/BusinessReportFragment.java
+27
-37
component-main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/HomeFragment.java
+3
-19
component-main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/MyFragment.java
+0
-1
component-main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/PaymentMethodReportFragment.java
+24
-0
component-main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/SalesFragment.java
+25
-36
component-manager/src/main/java/com/gingersoft/gsa/cloud/manager/mvp/presenter/TableManagePresenter.java
+0
-3
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/component/BillDiscountComponent.java
+42
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/component/CouponComponent.java
+43
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/BillDiscountModule.java
+50
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/CouponModule.java
+54
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/MealStandModule.java
+90
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/TableModule.java
+0
-12
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/BillDiscountContract.java
+35
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/CouponContract.java
+51
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/MealStandContract.java
+5
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/OrderContentContract.java
+1
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/BillDiscountModel.java
+59
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/CouponModel.java
+77
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/OrderContentModel.java
+6
-6
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/service/MemberService.java
+4
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
+2
-6
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BillDiscountPresenter.java
+70
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/CouponPresenter.java
+145
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/MealStandPresenter.java
+37
-50
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderContentPresenter.java
+54
-16
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderPayPresenter.java
+1
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity.java
+23
-3
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderContentActivity.java
+5
-3
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/FoodAdapter.java
+2
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/FoodGroupAdapter.java
+6
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/AllOrderFragment.java
+0
-2
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/discount/BillDiscountFragment.java
+187
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/discount/CouponFragment.java
+228
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/discount/DiscountDialogFragment.java
+248
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/widget/DiscountDialog.java
+0
-0
component-table/src/main/res/layout/fragment_bill_discount.xml
+13
-0
component-table/src/main/res/layout/fragment_container.xml
+9
-0
component-table/src/main/res/layout/fragment_coupon.xml
+21
-0
component-table/src/main/res/layout/table_activity_order_content.xml
+6
-0
component-table/src/main/res/layout/table_dialog_discout.xml
+14
-20
component-table/src/main/res/layout/table_stub_transfer_food.xml
+0
-2
component-webview/src/main/java/com/gingersoft/gsa/cloud/webview/mvp/ui/activity/WebActivity.java
+0
-0
component-webview/src/main/java/com/gingersoft/gsa/cloud/webview/mvp/ui/view/WebViewProgressBar.java
+1
-1
config.gradle
+1
-1
library-base/src/main/java/com/jess/arms/base/BaseDialogFragment.java
+0
-0
library-base/src/main/java/com/jess/arms/base/BaseFragment.java
+17
-17
library-base/src/main/java/com/jess/arms/base/delegate/ActivityDelegateImpl.java
+2
-9
library-base/src/main/java/com/jess/arms/base/delegate/FragmentDelegateImpl.java
+13
-1
library-base/src/main/java/com/jess/arms/base/delegate/IFragment.java
+7
-0
library-common/src/main/debug/AndroidManifest.xml
+39
-0
library-common/src/main/debug/res/values/styles.xml
+11
-0
library-common/src/main/java/com/gingersoft/gsa/cloud/common/bean/LayoutInfoBean.java
+23
-0
library-common/src/main/java/com/gingersoft/gsa/cloud/common/core/discount/AbstractDiscount.java
+12
-0
library-common/src/main/java/com/gingersoft/gsa/cloud/common/core/discount/BillDiscount.java
+13
-0
library-common/src/main/java/com/gingersoft/gsa/cloud/common/core/discount/MemberCoupon.java
+41
-0
library-common/src/main/java/com/gingersoft/gsa/cloud/common/loadsir/LoadsirUtil.java
+93
-0
library-common/src/main/java/com/gingersoft/gsa/cloud/common/loadsir/LoadsirUtils.java
+0
-18
library-common/src/main/java/com/gingersoft/gsa/cloud/common/loadsir/TimeoutCallback.java
+1
-1
library-common/src/main/java/com/gingersoft/gsa/cloud/common/rxjava/ErrorHandleSingleSubscriber.java
+50
-0
library-order/src/main/java/com/gingersoft/gsa/cloud/order/bean/request/MealOrderPayRequest.java
+22
-1
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/bean/PayMethod.java
+9
-9
library-ui/src/main/java/com/gingersoft/gsa/cloud/ui/AAChartCoreLib/AAChartConfiger/AAChartView.java
+6
-0
library-ui/src/main/java/com/gingersoft/gsa/cloud/ui/adapter/TagViewAdapter.java
+39
-0
library-ui/src/main/java/com/gingersoft/gsa/cloud/ui/bean/TagViewItem.java
+56
-0
library-ui/src/main/res/layout/item_tag_view.xml
+20
-0
No files found.
component-login/src/main/res/layout/activity_choose_restaurant.xml
View file @
d2a34349
...
@@ -3,7 +3,6 @@
...
@@ -3,7 +3,6 @@
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/theme_background_color"
android:orientation=
"vertical"
>
android:orientation=
"vertical"
>
<com.qmuiteam.qmui.widget.QMUITopBar
<com.qmuiteam.qmui.widget.QMUITopBar
...
@@ -16,5 +15,6 @@
...
@@ -16,5 +15,6 @@
android:id=
"@+id/section_layout"
android:id=
"@+id/section_layout"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:descendantFocusability=
"blocksDescendants"
/>
android:descendantFocusability=
"blocksDescendants"
android:background=
"@color/theme_background_color"
/>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
component-main/src/main/java/com/gingersoft/gsa/cloud/main/ComponentMain.java
View file @
d2a34349
...
@@ -132,7 +132,7 @@ public class ComponentMain implements IComponent {
...
@@ -132,7 +132,7 @@ public class ComponentMain implements IComponent {
}
}
private
void
openActivity
(
CC
cc
)
{
private
void
openActivity
(
CC
cc
)
{
Intent
intent
=
new
Intent
(
cc
.
getContext
(),
New
MainActivity
.
class
);
Intent
intent
=
new
Intent
(
cc
.
getContext
(),
MainActivity
.
class
);
intent
.
addFlags
(
Intent
.
FLAG_ACTIVITY_NEW_TASK
);
intent
.
addFlags
(
Intent
.
FLAG_ACTIVITY_NEW_TASK
);
cc
.
getContext
().
startActivity
(
intent
);
cc
.
getContext
().
startActivity
(
intent
);
// CCUtil.createNavigateIntent(cc, NewMainActivity.class);
// CCUtil.createNavigateIntent(cc, NewMainActivity.class);
...
...
component-main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/MainActivity.java
View file @
d2a34349
...
@@ -87,7 +87,6 @@ public class MainActivity extends BaseFragmentActivity<MainPresenter> implements
...
@@ -87,7 +87,6 @@ public class MainActivity extends BaseFragmentActivity<MainPresenter> implements
return
HomeFragment
.
newInstance
();
return
HomeFragment
.
newInstance
();
case
1
:
case
1
:
return
ReportListFragment
.
newInstance
();
return
ReportListFragment
.
newInstance
();
case
2
:
default
:
default
:
return
MyFragment
.
newInstance
();
return
MyFragment
.
newInstance
();
}
}
...
...
component-main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/ReportActivity.java
View file @
d2a34349
...
@@ -4,11 +4,13 @@ import android.content.Intent;
...
@@ -4,11 +4,13 @@ import android.content.Intent;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.util.TypedValue
;
import
android.util.TypedValue
;
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.content.ContextCompat
;
import
androidx.core.content.ContextCompat
;
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.main.R
;
import
com.gingersoft.gsa.cloud.main.R
;
import
com.gingersoft.gsa.cloud.main.R2
;
import
com.gingersoft.gsa.cloud.main.R2
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerReportComponent
;
import
com.gingersoft.gsa.cloud.main.di.component.DaggerReportComponent
;
...
@@ -24,9 +26,12 @@ import com.jess.arms.base.BaseFragmentActivity;
...
@@ -24,9 +26,12 @@ import com.jess.arms.base.BaseFragmentActivity;
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.widget.QMUITopBar
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
butterknife.BindView
;
import
butterknife.BindView
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
...
@@ -54,6 +59,8 @@ public class ReportActivity extends BaseFragmentActivity<ReportPresenter> implem
...
@@ -54,6 +59,8 @@ public class ReportActivity extends BaseFragmentActivity<ReportPresenter> implem
private
TabFragmentAdapter
mTabFragmentAdapter
;
private
TabFragmentAdapter
mTabFragmentAdapter
;
private
List
<
String
>
titles
;
private
List
<
String
>
titles
;
private
BusinessReportFragment
businessReportFragment
;
@Override
@Override
public
void
setupActivityComponent
(
@NonNull
AppComponent
appComponent
)
{
public
void
setupActivityComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerReportComponent
//如找不到该类,请编译一下项目
DaggerReportComponent
//如找不到该类,请编译一下项目
...
@@ -84,8 +91,10 @@ public class ReportActivity extends BaseFragmentActivity<ReportPresenter> implem
...
@@ -84,8 +91,10 @@ public class ReportActivity extends BaseFragmentActivity<ReportPresenter> implem
titles
.
add
(
"銷售分析"
);
titles
.
add
(
"銷售分析"
);
titles
.
add
(
"支付分析"
);
titles
.
add
(
"支付分析"
);
businessReportFragment
=
BusinessReportFragment
.
newInstance
();
List
<
Fragment
>
mFragments
=
new
ArrayList
<>();
List
<
Fragment
>
mFragments
=
new
ArrayList
<>();
mFragments
.
add
(
BusinessReportFragment
.
newInstance
()
);
mFragments
.
add
(
businessReportFragment
);
mFragments
.
add
(
SalesFragment
.
newInstance
());
mFragments
.
add
(
SalesFragment
.
newInstance
());
mFragments
.
add
(
PaymentMethodReportFragment
.
newInstance
());
mFragments
.
add
(
PaymentMethodReportFragment
.
newInstance
());
//实例化适配器
//实例化适配器
...
...
component-main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/BusinessReportFragment.java
View file @
d2a34349
...
@@ -4,6 +4,7 @@ import android.content.Intent;
...
@@ -4,6 +4,7 @@ import android.content.Intent;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.os.Message
;
import
android.os.Message
;
import
android.view.LayoutInflater
;
import
android.view.LayoutInflater
;
import
android.view.MotionEvent
;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
android.widget.LinearLayout
;
import
android.widget.LinearLayout
;
...
@@ -109,6 +110,9 @@ public class BusinessReportFragment extends BaseFragment<BusinessReportPresenter
...
@@ -109,6 +110,9 @@ public class BusinessReportFragment extends BaseFragment<BusinessReportPresenter
private
int
manyDay
=
7
;
private
int
manyDay
=
7
;
private
String
restaurantId
;
private
String
restaurantId
;
private
boolean
mChartFocus
;
public
static
BusinessReportFragment
newInstance
()
{
public
static
BusinessReportFragment
newInstance
()
{
BusinessReportFragment
fragment
=
new
BusinessReportFragment
();
BusinessReportFragment
fragment
=
new
BusinessReportFragment
();
return
fragment
;
return
fragment
;
...
@@ -138,51 +142,37 @@ public class BusinessReportFragment extends BaseFragment<BusinessReportPresenter
...
@@ -138,51 +142,37 @@ public class BusinessReportFragment extends BaseFragment<BusinessReportPresenter
mTvStartTime
.
setText
(
TimeUtils
.
getOldDate
(-
manyDay
+
1
));
mTvStartTime
.
setText
(
TimeUtils
.
getOldDate
(-
manyDay
+
1
));
mTvEndTime
.
setText
(
TimeUtils
.
getOldDate
(
0
));
mTvEndTime
.
setText
(
TimeUtils
.
getOldDate
(
0
));
//处理报表滑动过程中和页面滑动出现冲突
mLineChart
.
setOnTouchListener
(
new
View
.
OnTouchListener
()
{
@Override
public
boolean
onTouch
(
View
v
,
MotionEvent
event
)
{
switch
(
event
.
getAction
())
{
case
MotionEvent
.
ACTION_DOWN
:
mLineChart
.
requestDisallowInterceptTouchEvent
(
true
);
break
;
case
MotionEvent
.
ACTION_POINTER_UP
:
mLineChart
.
requestDisallowInterceptTouchEvent
(
false
);
break
;
case
MotionEvent
.
ACTION_CANCEL
:
mLineChart
.
requestDisallowInterceptTouchEvent
(
false
);
break
;
}
return
false
;
}
});
}
@Override
public
void
onLazyInitView
(
@Nullable
Bundle
savedInstanceState
)
{
super
.
onLazyInitView
(
savedInstanceState
);
getInfo
();
getInfo
();
}
}
/**
* 通过此方法可以使 Fragment 能够与外界做一些交互和通信, 比如说外部的 Activity 想让自己持有的某个 Fragment 对象执行一些方法,
* 建议在有多个需要与外界交互的方法时, 统一传 {@link Message}, 通过 what 字段来区分不同的方法, 在 {@link #setData(Object)}
* 方法中就可以 {@code switch} 做不同的操作, 这样就可以用统一的入口方法做多个不同的操作, 可以起到分发的作用
* <p>
* 调用此方法时请注意调用时 Fragment 的生命周期, 如果调用 {@link #setData(Object)} 方法时 {@link Fragment#onCreate(Bundle)} 还没执行
* 但在 {@link #setData(Object)} 里却调用了 Presenter 的方法, 是会报空的, 因为 Dagger 注入是在 {@link Fragment#onCreate(Bundle)} 方法中执行的
* 然后才创建的 Presenter, 如果要做一些初始化操作,可以不必让外部调用 {@link #setData(Object)}, 在 {@link #initData(Bundle)} 中初始化就可以了
* <p>
* Example usage:
* <pre>
* public void setData(@Nullable Object data) {
* if (data != null && data instanceof Message) {
* switch (((Message) data).what) {
* case 0:
* loadData(((Message) data).arg1);
* break;
* case 1:
* refreshUI();
* break;
* default:
* //do something
* break;
* }
* }
* }
*
* // call setData(Object):
* Message data = new Message();
* data.what = 0;
* data.arg1 = 1;
* fragment.setData(data);
* </pre>
*
* @param data 当不需要参数时 {@code data} 可以为 {@code null}
*/
@Override
@Override
public
void
setData
(
@Nullable
Object
data
)
{
public
void
setData
(
@Nullable
Object
data
)
{
}
}
@Override
@Override
public
void
showLoading
(
String
message
)
{
public
void
showLoading
(
String
message
)
{
if
(
message
!=
null
)
if
(
message
!=
null
)
...
...
component-main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/HomeFragment.java
View file @
d2a34349
...
@@ -40,6 +40,7 @@ import com.gingersoft.gsa.cloud.common.function.jump.ActivityJumpStrategy;
...
@@ -40,6 +40,7 @@ import com.gingersoft.gsa.cloud.common.function.jump.ActivityJumpStrategy;
import
com.gingersoft.gsa.cloud.common.leaks.WeakHandler
;
import
com.gingersoft.gsa.cloud.common.leaks.WeakHandler
;
import
com.gingersoft.gsa.cloud.common.logan.LoganManager
;
import
com.gingersoft.gsa.cloud.common.logan.LoganManager
;
import
com.gingersoft.gsa.cloud.common.service.ICommandService
;
import
com.gingersoft.gsa.cloud.common.service.ICommandService
;
import
com.gingersoft.gsa.cloud.common.service.IServiceManager
;
import
com.gingersoft.gsa.cloud.common.utils.AppDevices
;
import
com.gingersoft.gsa.cloud.common.utils.AppDevices
;
import
com.gingersoft.gsa.cloud.common.utils.JsonUtils
;
import
com.gingersoft.gsa.cloud.common.utils.JsonUtils
;
import
com.gingersoft.gsa.cloud.common.utils.StytemUtils
;
import
com.gingersoft.gsa.cloud.common.utils.StytemUtils
;
...
@@ -251,25 +252,8 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements HomeCon
...
@@ -251,25 +252,8 @@ public class HomeFragment extends BaseFragment<HomePresenter> implements HomeCon
}
}
private
void
initService
()
{
private
void
initService
()
{
boolean
deliveryOrderServiceRunning
=
StytemUtils
.
isServiceRunning
(
"com.gingersoft.gsa.cloud.common.service.ICommandService"
,
_mActivity
);
IServiceManager
.
startICommandService
(
GsaCloudApplication
.
getAppContext
());
if
(!
deliveryOrderServiceRunning
)
{
IServiceManager
.
startPrjService
(
GsaCloudApplication
.
getAppContext
());
Intent
service
=
new
Intent
(
GsaCloudApplication
.
getAppContext
(),
ICommandService
.
class
);
service
.
putExtra
(
ICommandService
.
CONNECTION_TYPE
,
ICommandService
.
mCurrConnectionType
);
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
O
)
{
mContext
.
startForegroundService
(
service
);
}
else
{
mContext
.
startService
(
service
);
}
}
boolean
prjServiceRunning
=
StytemUtils
.
isServiceRunning
(
"com.joe.print.mvp.print.service.PrjService"
,
_mActivity
);
if
(!
prjServiceRunning
)
{
//開啟Prj打印服務
CC
.
obtainBuilder
(
ComponentName
.
COMPONENT_PRINT
)
.
setActionName
(
"openPrintService"
)
.
build
()
.
call
();
}
}
}
/**
/**
...
...
component-main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/MyFragment.java
View file @
d2a34349
...
@@ -41,7 +41,6 @@ public class MyFragment extends BaseFragment<MyPresenter> implements MyContract.
...
@@ -41,7 +41,6 @@ public class MyFragment extends BaseFragment<MyPresenter> implements MyContract.
@BindView
(
R2
.
id
.
main_personal_center_rv
)
@BindView
(
R2
.
id
.
main_personal_center_rv
)
RecyclerView
rvMyList
;
RecyclerView
rvMyList
;
public
static
MyFragment
newInstance
()
{
public
static
MyFragment
newInstance
()
{
MyFragment
fragment
=
new
MyFragment
();
MyFragment
fragment
=
new
MyFragment
();
return
fragment
;
return
fragment
;
...
...
component-main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/PaymentMethodReportFragment.java
View file @
d2a34349
...
@@ -5,6 +5,7 @@ import android.graphics.Color;
...
@@ -5,6 +5,7 @@ import android.graphics.Color;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.os.Message
;
import
android.os.Message
;
import
android.view.LayoutInflater
;
import
android.view.LayoutInflater
;
import
android.view.MotionEvent
;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
android.widget.TextView
;
import
android.widget.TextView
;
...
@@ -108,6 +109,29 @@ public class PaymentMethodReportFragment extends BaseFragment<PaymentMethodRepor
...
@@ -108,6 +109,29 @@ public class PaymentMethodReportFragment extends BaseFragment<PaymentMethodRepor
mTvStartTime
.
setText
(
TimeUtils
.
getOldDate
(-
7
));
mTvStartTime
.
setText
(
TimeUtils
.
getOldDate
(-
7
));
mTvEndTime
.
setText
(
TimeUtils
.
getOldDate
(
0
));
mTvEndTime
.
setText
(
TimeUtils
.
getOldDate
(
0
));
//处理报表滑动过程中和页面滑动出现冲突
chart
.
setOnTouchListener
(
new
View
.
OnTouchListener
()
{
@Override
public
boolean
onTouch
(
View
v
,
MotionEvent
event
)
{
switch
(
event
.
getAction
())
{
case
MotionEvent
.
ACTION_DOWN
:
chart
.
requestDisallowInterceptTouchEvent
(
true
);
break
;
case
MotionEvent
.
ACTION_POINTER_UP
:
chart
.
requestDisallowInterceptTouchEvent
(
false
);
break
;
case
MotionEvent
.
ACTION_CANCEL
:
chart
.
requestDisallowInterceptTouchEvent
(
false
);
break
;
}
return
false
;
}
});
}
@Override
public
void
onLazyInitView
(
@Nullable
Bundle
savedInstanceState
)
{
super
.
onLazyInitView
(
savedInstanceState
);
getPayMenthInfo
();
getPayMenthInfo
();
}
}
...
...
component-main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/fragment/SalesFragment.java
View file @
d2a34349
...
@@ -5,6 +5,7 @@ import android.graphics.Color;
...
@@ -5,6 +5,7 @@ import android.graphics.Color;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.os.Message
;
import
android.os.Message
;
import
android.view.LayoutInflater
;
import
android.view.LayoutInflater
;
import
android.view.MotionEvent
;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
android.widget.LinearLayout
;
import
android.widget.LinearLayout
;
...
@@ -134,46 +135,34 @@ public class SalesFragment extends BaseFragment<SalesPresenter> implements Sales
...
@@ -134,46 +135,34 @@ public class SalesFragment extends BaseFragment<SalesPresenter> implements Sales
mTvEndTime
.
setText
(
TimeUtils
.
getOldDate
(
0
));
mTvEndTime
.
setText
(
TimeUtils
.
getOldDate
(
0
));
startEndTimePickerView
.
setOnUpdateTimePicker
(
onUpdateTimePicker
);
startEndTimePickerView
.
setOnUpdateTimePicker
(
onUpdateTimePicker
);
//处理报表滑动过程中和页面滑动出现冲突
salesChart
.
setOnTouchListener
(
new
View
.
OnTouchListener
()
{
@Override
public
boolean
onTouch
(
View
v
,
MotionEvent
event
)
{
switch
(
event
.
getAction
())
{
case
MotionEvent
.
ACTION_DOWN
:
salesChart
.
requestDisallowInterceptTouchEvent
(
true
);
break
;
case
MotionEvent
.
ACTION_POINTER_UP
:
salesChart
.
requestDisallowInterceptTouchEvent
(
false
);
break
;
case
MotionEvent
.
ACTION_CANCEL
:
salesChart
.
requestDisallowInterceptTouchEvent
(
false
);
break
;
}
return
false
;
}
});
}
@Override
public
void
onLazyInitView
(
@Nullable
Bundle
savedInstanceState
)
{
super
.
onLazyInitView
(
savedInstanceState
);
getSaleReport
();
getSaleReport
();
getDeliveryReport
();
getDeliveryReport
();
}
}
/**
* 通过此方法可以使 Fragment 能够与外界做一些交互和通信, 比如说外部的 Activity 想让自己持有的某个 Fragment 对象执行一些方法,
* 建议在有多个需要与外界交互的方法时, 统一传 {@link Message}, 通过 what 字段来区分不同的方法, 在 {@link #setData(Object)}
* 方法中就可以 {@code switch} 做不同的操作, 这样就可以用统一的入口方法做多个不同的操作, 可以起到分发的作用
* <p>
* 调用此方法时请注意调用时 Fragment 的生命周期, 如果调用 {@link #setData(Object)} 方法时 {@link Fragment#onCreate(Bundle)} 还没执行
* 但在 {@link #setData(Object)} 里却调用了 Presenter 的方法, 是会报空的, 因为 Dagger 注入是在 {@link Fragment#onCreate(Bundle)} 方法中执行的
* 然后才创建的 Presenter, 如果要做一些初始化操作,可以不必让外部调用 {@link #setData(Object)}, 在 {@link #initData(Bundle)} 中初始化就可以了
* <p>
* Example usage:
* <pre>
* public void setData(@Nullable Object data) {
* if (data != null && data instanceof Message) {
* switch (((Message) data).what) {
* case 0:
* loadData(((Message) data).arg1);
* break;
* case 1:
* refreshUI();
* break;
* default:
* //do something
* break;
* }
* }
* }
*
* // call setData(Object):
* Message data = new Message();
* data.what = 0;
* data.arg1 = 1;
* fragment.setData(data);
* </pre>
*
* @param data 当不需要参数时 {@code data} 可以为 {@code null}
*/
@Override
@Override
public
void
setData
(
@Nullable
Object
data
)
{
public
void
setData
(
@Nullable
Object
data
)
{
...
...
component-manager/src/main/java/com/gingersoft/gsa/cloud/manager/mvp/presenter/TableManagePresenter.java
View file @
d2a34349
...
@@ -64,12 +64,9 @@ public class TableManagePresenter extends BasePresenter<TableManageContract.Mode
...
@@ -64,12 +64,9 @@ public class TableManagePresenter extends BasePresenter<TableManageContract.Mode
private
GetTableTimer
tableTimer
;
private
GetTableTimer
tableTimer
;
private
Disposable
mGetTablesDataDisposable
;
private
Disposable
mGetTablesDataDisposable
;
private
TableManageActivity
IActivity
;
@Inject
@Inject
public
TableManagePresenter
(
TableManageContract
.
Model
model
,
TableManageContract
.
View
rootView
)
{
public
TableManagePresenter
(
TableManageContract
.
Model
model
,
TableManageContract
.
View
rootView
)
{
super
(
model
,
rootView
);
super
(
model
,
rootView
);
this
.
IActivity
=
(
TableManageActivity
)
rootView
;
}
}
@Override
@Override
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/component/BillDiscountComponent.java
0 → 100644
View file @
d2a34349
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.BillDiscountModule
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.BillDiscountContract
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.discount.BillDiscountFragment
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/02/2021 17:26
* <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
=
BillDiscountModule
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
BillDiscountComponent
{
void
inject
(
BillDiscountFragment
fragment
);
@Component
.
Builder
interface
Builder
{
@BindsInstance
BillDiscountComponent
.
Builder
view
(
BillDiscountContract
.
View
view
);
BillDiscountComponent
.
Builder
appComponent
(
AppComponent
appComponent
);
BillDiscountComponent
build
();
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/component/CouponComponent.java
0 → 100644
View file @
d2a34349
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
di
.
component
;
import
dagger.BindsInstance
;
import
dagger.Component
;
import
dagger.Subcomponent
;
import
com.jess.arms.di.component.AppComponent
;
import
com.gingersoft.gsa.cloud.table.di.module.CouponModule
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.CouponContract
;
import
com.jess.arms.di.scope.FragmentScope
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.discount.CouponFragment
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/02/2021 17:28
* <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
=
CouponModule
.
class
,
dependencies
=
AppComponent
.
class
)
public
interface
CouponComponent
{
void
inject
(
CouponFragment
fragment
);
@Component
.
Builder
interface
Builder
{
@BindsInstance
CouponComponent
.
Builder
view
(
CouponContract
.
View
view
);
CouponComponent
.
Builder
appComponent
(
AppComponent
appComponent
);
CouponComponent
build
();
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/BillDiscountModule.java
0 → 100644
View file @
d2a34349
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
di
.
module
;
import
com.gingersoft.gsa.cloud.ui.adapter.TagViewAdapter
;
import
com.gingersoft.gsa.cloud.ui.bean.TagViewItem
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.jess.arms.di.scope.FragmentScope
;
import
dagger.Binds
;
import
dagger.Module
;
import
dagger.Provides
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.BillDiscountContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.BillDiscountModel
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/02/2021 17:26
* <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
BillDiscountModule
{
@Binds
abstract
BillDiscountContract
.
Model
bindBillDiscountModel
(
BillDiscountModel
model
);
@FragmentScope
@Provides
static
List
<
TagViewItem
>
provideBillDiscountList
(){
return
new
ArrayList
<>();
}
@FragmentScope
@Provides
static
TagViewAdapter
provideBillDiscountAdapter
(
List
<
TagViewItem
>
billDiscountList
){
return
new
TagViewAdapter
(
billDiscountList
);
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/CouponModule.java
0 → 100644
View file @
d2a34349
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.bean.TagViewItem
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.jess.arms.di.scope.FragmentScope
;
import
dagger.Binds
;
import
dagger.Module
;
import
dagger.Provides
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.CouponContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.CouponModel
;
import
java.util.ArrayList
;
import
java.util.List
;
import
javax.inject.Inject
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/02/2021 17:28
* <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
CouponModule
{
@Binds
abstract
CouponContract
.
Model
bindCouponModel
(
CouponModel
model
);
@FragmentScope
@Provides
static
List
<
TagViewItem
>
provideMemberCouponList
(){
return
new
ArrayList
<>();
}
@FragmentScope
@Provides
static
TagViewAdapter
provideMemberCouponAdapter
(
List
<
TagViewItem
>
memberCouponList
){
return
new
TagViewAdapter
(
memberCouponList
);
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/MealStandModule.java
View file @
d2a34349
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
di
.
module
;
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
di
.
module
;
import
android.content.Context
;
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.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.model.MealStandModel
;
import
com.gingersoft.gsa.cloud.table.mvp.model.MealStandModel
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.DiscountAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.FoodGroupAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ModifierAdapter
;
import
com.jess.arms.di.scope.ActivityScope
;
import
java.util.ArrayList
;
import
java.util.List
;
import
javax.inject.Inject
;
import
javax.inject.Named
;
import
dagger.Binds
;
import
dagger.Binds
;
import
dagger.Module
;
import
dagger.Module
;
import
dagger.Provides
;
/**
/**
...
@@ -25,4 +45,73 @@ public abstract class MealStandModule {
...
@@ -25,4 +45,73 @@ public abstract class MealStandModule {
@Binds
@Binds
abstract
MealStandContract
.
Model
bindMealStandModel
(
MealStandModel
model
);
abstract
MealStandContract
.
Model
bindMealStandModel
(
MealStandModel
model
);
@ActivityScope
@Provides
@Named
(
"foodGroupList"
)
static
List
<
Food
>
provideFoodGroupList
()
{
return
new
ArrayList
<>();
}
@ActivityScope
@Provides
@Named
(
"foodList"
)
static
List
<
Food
>
provideFoodList
()
{
return
new
ArrayList
<>();
}
@ActivityScope
@Provides
static
List
<
ComboItem
>
provideFoodCombo
()
{
return
new
ArrayList
<>();
}
@ActivityScope
@Provides
static
List
<
Modifier
>
provideModifierList
()
{
return
new
ArrayList
<>();
}
@ActivityScope
@Provides
static
List
<
Discount
>
provideDiscountList
()
{
return
new
ArrayList
<>();
}
@ActivityScope
@Provides
static
List
<
SoldoutCtrFood
>
provideSoldoutCtrList
()
{
return
new
ArrayList
<>();
}
@ActivityScope
@Provides
static
FoodGroupAdapter
provideFoodGroupAdapter
(
MealStandContract
.
View
IView
,
@Named
(
"foodGroupList"
)
List
<
Food
>
foodGroupList
)
{
return
new
FoodGroupAdapter
(
IView
.
getActivity
(),
foodGroupList
,
IView
.
getFromType
());
}
@ActivityScope
@Provides
static
FoodAdapter
provideFoodAdapter
(
MealStandContract
.
View
IView
,
@Named
(
"foodList"
)
List
<
Food
>
foodList
)
{
return
new
FoodAdapter
(
IView
.
getActivity
(),
foodList
,
IView
.
getFromType
());
}
@ActivityScope
@Provides
static
ComboAdapter
provideComboAdapter
(
MealStandContract
.
View
IView
,
List
<
ComboItem
>
comboItemList
)
{
return
new
ComboAdapter
(
IView
.
getActivity
(),
comboItemList
);
}
@ActivityScope
@Provides
static
ModifierAdapter
provideModifierAdapter
(
MealStandContract
.
View
IView
,
List
<
Modifier
>
modifierList
)
{
return
new
ModifierAdapter
(
IView
.
getActivity
(),
modifierList
);
}
@ActivityScope
@Provides
static
DiscountAdapter
provideDiscountAdapter
(
MealStandContract
.
View
IView
,
List
<
Discount
>
discountList
)
{
return
new
DiscountAdapter
(
IView
.
getActivity
(),
discountList
);
}
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/di/module/TableModule.java
View file @
d2a34349
...
@@ -35,15 +35,4 @@ public abstract class TableModule {
...
@@ -35,15 +35,4 @@ public abstract class TableModule {
@Binds
@Binds
abstract
TableContract
.
Model
bindTableModel
(
TableModel
model
);
abstract
TableContract
.
Model
bindTableModel
(
TableModel
model
);
@ActivityScope
@Provides
static
List
<
Food
>
provideFoodList
()
{
return
new
ArrayList
<>();
}
@ActivityScope
@Provides
static
FoodAdapter
provideFoodAdapter
(
Context
context
,
List
<
Food
>
foodList
,
int
fromType
)
{
return
new
FoodAdapter
(
context
,
foodList
,
fromType
);
}
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/BillDiscountContract.java
0 → 100644
View file @
d2a34349
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
contract
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.jess.arms.mvp.IView
;
import
com.jess.arms.mvp.IModel
;
import
com.kingja.loadsir.callback.Callback
;
import
java.util.List
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/02/2021 17:26
* <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
BillDiscountContract
{
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface
View
extends
IView
{
void
returnBillCoupon
(
List
<
Discount
>
discounts
);
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface
Model
extends
IModel
{
List
<
Discount
>
queryDB_DiscountList
(
byte
discountScope
,
byte
discountType
);
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/CouponContract.java
0 → 100644
View file @
d2a34349
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
contract
;
import
androidx.recyclerview.widget.RecyclerView
;
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.IModel
;
import
com.kingja.loadsir.callback.Callback
;
import
com.kingja.loadsir.core.LoadService
;
import
com.kingja.loadsir.core.LoadSir
;
import
java.util.List
;
import
io.reactivex.Observable
;
import
io.reactivex.Single
;
import
retrofit2.http.Query
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/02/2021 17:28
* <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
CouponContract
{
//对于经常使用的关于UI的方法可以定义到IView中,如显示隐藏进度条,和显示文字消息
interface
View
extends
IView
{
void
returnMemberCouponList
(
List
<
MemberCoupon
>
memberCoupons
);
void
showLoadSirSuccess
();
void
showLoadSirCall
(
Class
<?
extends
Callback
>
call
);
LoadService
getLoadService
();
}
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface
Model
extends
IModel
{
Single
<
List
<
MemberCoupon
>>
getMemberWalletList
(
int
brandId
,
long
memberId
,
long
limitType
,
long
pageIndex
,
long
pageSize
);
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/MealStandContract.java
View file @
d2a34349
...
@@ -5,6 +5,7 @@ import android.widget.BaseAdapter;
...
@@ -5,6 +5,7 @@ import android.widget.BaseAdapter;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
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.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
;
...
@@ -104,10 +105,13 @@ public interface MealStandContract {
...
@@ -104,10 +105,13 @@ public interface MealStandContract {
void
setMealRvScrollToPosition
(
int
position
);
void
setMealRvScrollToPosition
(
int
position
);
List
<
Food
>
getFoodGroupList
();
Activity
getActivity
();
Activity
getActivity
();
void
setModifierTop
(
int
Margins
);
int
getFromType
(
);
void
setModifierTop
(
int
Margins
);
void
setCustomFoodDialog
(
int
customType
,
OrderDetail
foodItem
);
void
setCustomFoodDialog
(
int
customType
,
OrderDetail
foodItem
);
}
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/OrderContentContract.java
View file @
d2a34349
...
@@ -72,7 +72,7 @@ public interface OrderContentContract {
...
@@ -72,7 +72,7 @@ public interface OrderContentContract {
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
//Model层定义接口,外部只需关心Model返回的数据,无需关心内部细节,即是否使用缓存
interface
Model
extends
BaseOrderContract
.
Model
{
interface
Model
extends
BaseOrderContract
.
Model
{
List
<
Discount
>
queryDB_DiscountList
(
byte
discountScope
,
byte
discountType
);
//
List<Discount> queryDB_DiscountList(byte discountScope, byte discountType);
Observable
<
BaseOrderResponse
>
createOrder
(
RequestBody
requestBody
);
Observable
<
BaseOrderResponse
>
createOrder
(
RequestBody
requestBody
);
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/BillDiscountModel.java
0 → 100644
View file @
d2a34349
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.database.utils.DiscountDaoUtils
;
import
com.gingersoft.gsa.cloud.table.mvp.model.utils.MealConditionFilterUtils
;
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.BillDiscountContract
;
import
java.util.List
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/02/2021 17:26
* <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
BillDiscountModel
extends
BaseModel
implements
BillDiscountContract
.
Model
{
@Inject
Gson
mGson
;
@Inject
Application
mApplication
;
@Inject
public
BillDiscountModel
(
IRepositoryManager
repositoryManager
)
{
super
(
repositoryManager
);
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
this
.
mGson
=
null
;
this
.
mApplication
=
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
);
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/CouponModel.java
0 → 100644
View file @
d2a34349
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.core.discount.MemberCoupon
;
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.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.CouponContract
;
import
java.util.ArrayList
;
import
java.util.List
;
import
io.reactivex.Single
;
import
io.reactivex.functions.Function
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/02/2021 17:28
* <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
CouponModel
extends
BaseModel
implements
CouponContract
.
Model
{
@Inject
Gson
mGson
;
@Inject
Application
mApplication
;
@Inject
public
CouponModel
(
IRepositoryManager
repositoryManager
)
{
super
(
repositoryManager
);
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
this
.
mGson
=
null
;
this
.
mApplication
=
null
;
}
@Override
public
Single
<
List
<
MemberCoupon
>>
getMemberWalletList
(
int
brandId
,
long
memberId
,
long
limitType
,
long
pageIndex
,
long
pageSize
)
{
return
mRepositoryManager
.
obtainRetrofitService
(
MemberService
.
class
)
.
getMemberWalletList
(
brandId
,
memberId
,
limitType
,
pageIndex
,
pageSize
)
.
map
(
new
Function
<
BaseResult
,
List
<
MemberCoupon
>>()
{
@Override
public
List
<
MemberCoupon
>
apply
(
BaseResult
result
)
throws
Exception
{
if
(
result
.
isSuccess
())
{
return
GsonUtils
.
jsonToList
(
result
.
getData
(),
MemberCoupon
.
class
);
}
else
{
return
new
ArrayList
<>();
}
}
});
}
}
\ No newline at end of file
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/OrderContentModel.java
View file @
d2a34349
...
@@ -76,12 +76,12 @@ public class OrderContentModel extends BaseModel implements OrderContentContract
...
@@ -76,12 +76,12 @@ public class OrderContentModel extends BaseModel implements OrderContentContract
.
loadOrder
(
orderId
);
.
loadOrder
(
orderId
);
}
}
@Override
//
@Override
public
List
<
Discount
>
queryDB_DiscountList
(
byte
discountScope
,
byte
discountType
)
{
//
public List<Discount> queryDB_DiscountList(byte discountScope, byte discountType) {
DiscountDaoUtils
discountDaoUtils
=
new
DiscountDaoUtils
(
mApplication
);
//
DiscountDaoUtils discountDaoUtils = new DiscountDaoUtils(mApplication);
List
<
Discount
>
discountList
=
discountDaoUtils
.
queryDiscountByQueryBuilder
();
//
List<Discount> discountList = discountDaoUtils.queryDiscountByQueryBuilder();
return
MealConditionFilterUtils
.
discountConditionFilter
(
discountList
,
discountScope
,
discountType
);
//
return MealConditionFilterUtils.discountConditionFilter(discountList,discountScope,discountType);
}
//
}
@Override
@Override
public
Observable
<
BaseOrderResponse
>
createOrder
(
RequestBody
requestBody
)
{
public
Observable
<
BaseOrderResponse
>
createOrder
(
RequestBody
requestBody
)
{
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/service/MemberService.java
View file @
d2a34349
...
@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.table.mvp.model.service;
...
@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.table.mvp.model.service;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
io.reactivex.Observable
;
import
io.reactivex.Observable
;
import
io.reactivex.Single
;
import
me.jessyan.retrofiturlmanager.RetrofitUrlManager
;
import
me.jessyan.retrofiturlmanager.RetrofitUrlManager
;
import
retrofit2.http.GET
;
import
retrofit2.http.GET
;
import
retrofit2.http.Headers
;
import
retrofit2.http.Headers
;
...
@@ -27,4 +28,7 @@ public interface MemberService {
...
@@ -27,4 +28,7 @@ public interface MemberService {
@GET
(
"coupon/queryCoupon"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
@GET
(
"coupon/queryCoupon"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Observable
<
BaseResult
>
queryCoupon
(
@Query
(
"tableId"
)
int
tableId
,
@Query
(
"memberId"
)
Long
memberId
,
@Query
(
"couponMemberId"
)
long
couponMemberId
,
@Query
(
"couponNo"
)
String
couponNo
,
@Query
(
"restaurantId"
)
int
restaurantId
);
Observable
<
BaseResult
>
queryCoupon
(
@Query
(
"tableId"
)
int
tableId
,
@Query
(
"memberId"
)
Long
memberId
,
@Query
(
"couponMemberId"
)
long
couponMemberId
,
@Query
(
"couponNo"
)
String
couponNo
,
@Query
(
"restaurantId"
)
int
restaurantId
);
@Headers
({
"Domain-Name: ricepon_member"
})
@GET
(
"member/getMemberWalletList"
+
RetrofitUrlManager
.
IDENTIFICATION_PATH_SIZE
+
2
)
Single
<
BaseResult
>
getMemberWalletList
(
@Query
(
"brandId"
)
int
brandId
,
@Query
(
"memberId"
)
long
memberId
,
@Query
(
"limitType"
)
long
limitType
,
@Query
(
"pageIndex"
)
long
pageIndex
,
@Query
(
"pageSize"
)
long
pageSize
);
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
View file @
d2a34349
...
@@ -145,8 +145,6 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
...
@@ -145,8 +145,6 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
protected
String
roundingStr
=
"賬單小數"
;
protected
String
roundingStr
=
"賬單小數"
;
private
final
String
noFoodDeliveryTip
=
"賬單沒有食品,是否開台?"
;
private
final
String
noFoodDeliveryTip
=
"賬單沒有食品,是否開台?"
;
private
Disposable
disposable
;
public
abstract
void
createOrder
(
boolean
isPrint
,
Class
<?>
afterToActivity
);
public
abstract
void
createOrder
(
boolean
isPrint
,
Class
<?>
afterToActivity
);
...
@@ -203,9 +201,6 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
...
@@ -203,9 +201,6 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
this
.
mErrorHandler
=
null
;
this
.
mErrorHandler
=
null
;
this
.
mAppManager
=
null
;
this
.
mAppManager
=
null
;
this
.
mApplication
=
null
;
this
.
mApplication
=
null
;
if
(
disposable
!=
null
&&
!
disposable
.
isDisposed
())
{
disposable
.
dispose
();
}
}
}
private
void
initOrderAdapter
()
{
private
void
initOrderAdapter
()
{
...
@@ -276,7 +271,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
...
@@ -276,7 +271,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
LoganManager
.
w_tableMode
(
TAG
,
"合計金額="
+
wholeAmount
);
LoganManager
.
w_tableMode
(
TAG
,
"合計金額="
+
wholeAmount
);
disposable
=
Observable
.
just
(
wholeAmount
)
Disposable
disposable
=
Observable
.
just
(
wholeAmount
)
.
subscribeOn
(
Schedulers
.
computation
())
.
subscribeOn
(
Schedulers
.
computation
())
/**
/**
* 計算服務費(堂食)
* 計算服務費(堂食)
...
@@ -404,6 +399,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
...
@@ -404,6 +399,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
}
}
}
}
});
});
addDispose
(
disposable
);
}
}
/**
/**
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BillDiscountPresenter.java
0 → 100644
View file @
d2a34349
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
presenter
;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.common.constans.FoodSummaryConstans
;
import
com.gingersoft.gsa.cloud.common.loadsir.EmptyCallback
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.order.order.BaseOrder
;
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.BillDiscountContract
;
import
java.util.List
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/02/2021 17:26
* <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
BillDiscountPresenter
extends
BasePresenter
<
BillDiscountContract
.
Model
,
BillDiscountContract
.
View
>
{
@Inject
RxErrorHandler
mErrorHandler
;
@Inject
Application
mApplication
;
@Inject
ImageLoader
mImageLoader
;
@Inject
AppManager
mAppManager
;
@Inject
public
BillDiscountPresenter
(
BillDiscountContract
.
Model
model
,
BillDiscountContract
.
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
queryBillDiscountList
()
{
List
<
Discount
>
discountList
;
if
(
BaseOrder
.
isCurrentOrderType
(
FoodSummaryConstans
.
TAKEAWAY_TYPE
))
{
discountList
=
mModel
.
queryDB_DiscountList
(
Discount
.
discount_scope_bill
,
Discount
.
ORDER_TYPE_TAKEAWAY
);
}
else
{
discountList
=
mModel
.
queryDB_DiscountList
(
Discount
.
discount_scope_bill
,
Discount
.
ORDER_TYPE_MEAL_STAND
);
}
mRootView
.
returnBillCoupon
(
discountList
);
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/CouponPresenter.java
0 → 100644
View file @
d2a34349
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
presenter
;
import
android.app.Application
;
import
com.gingersoft.gsa.cloud.common.core.discount.MemberCoupon
;
import
com.gingersoft.gsa.cloud.common.core.member.MemberInfo
;
import
com.gingersoft.gsa.cloud.common.core.restaurant.RestaurantInfoManager
;
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.common.rxjava.ErrorHandleSingleSubscriber
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.response.OrderManagerResponse
;
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.schedulers.Schedulers
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
import
javax.inject.Inject
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.CouponContract
;
import
com.jess.arms.utils.RxLifecycleUtils
;
import
com.scwang.smartrefresh.layout.api.RefreshLayout
;
import
java.util.List
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/02/2021 17:28
* <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
CouponPresenter
extends
BasePresenter
<
CouponContract
.
Model
,
CouponContract
.
View
>
{
@Inject
RxErrorHandler
mErrorHandler
;
@Inject
Application
mApplication
;
@Inject
ImageLoader
mImageLoader
;
@Inject
AppManager
mAppManager
;
//是否可以繼續上拉刷新
private
boolean
noMoreData
=
false
;
private
int
limitType
=
1
;
private
int
pageIndex
=
1
;
private
int
pageSize
=
20
;
@Inject
public
CouponPresenter
(
CouponContract
.
Model
model
,
CouponContract
.
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
getMemberWalletList
(
RefreshLayout
refreshLayout
,
boolean
isLoadMore
)
{
int
brandId
=
RestaurantInfoManager
.
newInstance
().
getBrandId
();
MemberInfo
memberInfo
=
DoshokuOrder
.
getInstance
().
getMemberInfo
();
long
memberId
=
0
;
if
(
memberInfo
!=
null
)
{
memberId
=
memberInfo
.
getId
();
}
mModel
.
getMemberWalletList
(
brandId
,
memberId
,
limitType
,
pageIndex
,
pageSize
)
.
subscribeOn
(
Schedulers
.
io
())
.
doOnSubscribe
(
disposable
->
{
if
(
refreshLayout
==
null
)
{
mRootView
.
showLoading
(
null
);
}
}
)
.
subscribeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
doAfterTerminate
(()
->
mRootView
.
hideLoading
())
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
ErrorHandleSingleSubscriber
<
List
<
MemberCoupon
>>(
mErrorHandler
,
mRootView
.
getLoadService
())
{
@Override
public
void
onSuccess
(
List
<
MemberCoupon
>
result
)
{
if
(
pageIndex
!=
0
)
{
//根據數據庫下標分頁
pageIndex
=
pageIndex
*
pageSize
;
}
if
(
result
.
size
()
>
0
)
{
if
(!
noMoreData
)
{
mRootView
.
returnMemberCouponList
(
result
);
mRootView
.
showLoadSirSuccess
();
}
if
(
result
.
size
()
<
pageSize
)
{
//沒有更多數據不能上拉刷新
noMoreData
=
true
;
}
else
{
noMoreData
=
false
;
}
}
else
{
if
(!
noMoreData
)
{
mRootView
.
showLoadSirCall
(
EmptyCallback
.
class
);
}
}
resetRefreshLayout
(
noMoreData
);
}
@Override
public
void
onError
(
Throwable
t
)
{
if
(
pageIndex
!=
0
)
{
//根據數據庫下標分頁
pageIndex
=
pageIndex
*
pageSize
;
}
resetRefreshLayout
(
false
);
}
private
void
resetRefreshLayout
(
boolean
noMoreData
)
{
if
(
refreshLayout
!=
null
)
{
if
(
isLoadMore
)
{
if
(
noMoreData
)
{
refreshLayout
.
setNoMoreData
(
true
);
}
refreshLayout
.
finishLoadMore
();
}
else
{
refreshLayout
.
finishRefresh
();
refreshLayout
.
resetNoMoreData
();
}
}
}
});
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/MealStandPresenter.java
View file @
d2a34349
...
@@ -66,6 +66,7 @@ import java.util.ArrayList;
...
@@ -66,6 +66,7 @@ import java.util.ArrayList;
import
java.util.List
;
import
java.util.List
;
import
javax.inject.Inject
;
import
javax.inject.Inject
;
import
javax.inject.Named
;
import
io.reactivex.Observable
;
import
io.reactivex.Observable
;
import
io.reactivex.ObservableEmitter
;
import
io.reactivex.ObservableEmitter
;
...
@@ -108,49 +109,37 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
...
@@ -108,49 +109,37 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
ImageLoader
mImageLoader
;
ImageLoader
mImageLoader
;
@Inject
@Inject
AppManager
mAppManager
;
AppManager
mAppManager
;
// @Inject
FoodAdapter
mFoodAdapter
;
@Inject
// @Inject
@Named
(
"foodList"
)
List
<
Food
>
mFoodList
;
List
<
Food
>
mFoodList
;
@Inject
List
<
ComboItem
>
mFoodComboList
;
//套餐细项数据
@Inject
List
<
Modifier
>
mModifierList
;
//细项数据
@Inject
List
<
Discount
>
mDiscountList
;
//折扣数据
@Inject
List
<
SoldoutCtrFood
>
mSoldoutCtrList
;
//沽清食品數據
@Inject
FoodAdapter
mFoodAdapter
;
@Inject
ComboAdapter
mComboAdapter
;
@Inject
ModifierAdapter
mModifierAdapter
;
@Inject
DiscountAdapter
mDiscountAdapter
;
private
MealStandActivity
IActivity
;
private
MealStandActivity
IActivity
;
private
CancelFoodDialog
mCancelFoodDialog
;
private
CancelFoodDialog
mCancelFoodDialog
;
private
ComboAdapter
mComboAdapter
;
private
ModifierAdapter
mModifierAdapter
;
private
DiscountAdapter
mDiscountAdapter
;
/**
* 食品数据
*/
private
List
<
Food
>
mFoodGroupList
=
new
ArrayList
<>();
/**
* 當前食品組下食品
*/
// private List<Food> mFoodList = new ArrayList<>();
/**
* 套餐细项数据
*/
private
List
<
ComboItem
>
mFoodComboList
=
new
ArrayList
<>();
private
List
<
Modifier
>
mModifierList
=
new
ArrayList
<>();
/**
* 折扣数据
*/
private
List
<
Discount
>
mDiscountList
=
new
ArrayList
<>();
/**
* 沽清食品數據
*/
private
List
<
SoldoutCtrFood
>
mSoldoutCtrList
=
new
ArrayList
<>();
private
MealDiscountAction
mMealDiscountAction
;
private
MealDiscountAction
mMealDiscountAction
;
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
);
...
@@ -226,16 +215,15 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
...
@@ -226,16 +215,15 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
if
(
foodGroupList
!=
null
&&
foodGroupList
.
size
()
>
0
)
{
if
(
foodGroupList
!=
null
&&
foodGroupList
.
size
()
>
0
)
{
m
FoodGroupList
.
addAll
(
foodGroupList
);
m
RootView
.
getFoodGroupList
()
.
addAll
(
foodGroupList
);
Food
defalutFoodGroup
=
getDefalutFoodGroup
(
m
FoodGroupList
);
Food
defalutFoodGroup
=
getDefalutFoodGroup
(
m
RootView
.
getFoodGroupList
()
);
if
(
defalutFoodGroup
!=
null
)
{
if
(
defalutFoodGroup
!=
null
)
{
//默認選中第一組
//默認選中第一組
defalutFoodGroup
.
setSelected
(
true
);
defalutFoodGroup
.
setSelected
(
true
);
}
}
IActivity
.
initFoodGroupView
(
m
FoodGroupList
);
IActivity
.
initFoodGroupView
(
m
RootView
.
getFoodGroupList
()
);
updateFoodSoldoutCtrData
();
updateFoodSoldoutCtrData
();
...
@@ -246,14 +234,12 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
...
@@ -246,14 +234,12 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
}
}
private
Food
getDefalutFoodGroup
(
List
<
Food
>
foodGroupList
)
{
private
Food
getDefalutFoodGroup
(
List
<
Food
>
foodGroupList
)
{
Food
defalutFoodGroup
=
null
;
for
(
Food
food
:
foodGroupList
)
{
for
(
Food
food
:
foodGroupList
)
{
if
(
food
.
getInvisible
()
==
0
)
{
if
(
food
.
getInvisible
()
==
0
)
{
defalutFoodGroup
=
food
;
return
food
;
break
;
}
}
}
}
return
defalutFoodGroup
;
return
null
;
}
}
...
@@ -262,19 +248,18 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
...
@@ -262,19 +248,18 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
mRootView
.
setSelectFoodAdapter
(
mSelectMealAdapter
);
mRootView
.
setSelectFoodAdapter
(
mSelectMealAdapter
);
}
}
if
(
mFoodAdapter
==
null
)
{
if
(
mFoodAdapter
==
null
)
{
mFoodAdapter
=
new
FoodAdapter
(
IActivity
,
mFoodList
,
1
);
mRootView
.
setFoodAdapter
(
mFoodAdapter
);
mRootView
.
setFoodAdapter
(
mFoodAdapter
);
}
}
if
(
mComboAdapter
==
null
)
{
if
(
mComboAdapter
==
null
)
{
mComboAdapter
=
new
ComboAdapter
(
IActivity
,
mFoodComboList
);
//
mComboAdapter = new ComboAdapter(IActivity, mFoodComboList);
mRootView
.
setComboAdapter
(
mComboAdapter
);
mRootView
.
setComboAdapter
(
mComboAdapter
);
}
}
if
(
mModifierAdapter
==
null
)
{
if
(
mModifierAdapter
==
null
)
{
mModifierAdapter
=
new
ModifierAdapter
(
IActivity
,
mModifierList
);
//
mModifierAdapter = new ModifierAdapter(IActivity, mModifierList);
mRootView
.
setModifierAdapter
(
mModifierAdapter
);
mRootView
.
setModifierAdapter
(
mModifierAdapter
);
}
}
if
(
mDiscountAdapter
==
null
)
{
if
(
mDiscountAdapter
==
null
)
{
mDiscountAdapter
=
new
DiscountAdapter
(
IActivity
,
mDiscountList
);
//
mDiscountAdapter = new DiscountAdapter(IActivity, mDiscountList);
mRootView
.
setDiscountAdapter
(
mDiscountAdapter
);
mRootView
.
setDiscountAdapter
(
mDiscountAdapter
);
}
}
}
}
...
@@ -524,7 +509,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
...
@@ -524,7 +509,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
();
...
@@ -544,6 +529,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
...
@@ -544,6 +529,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
}
}
}).
subscribeOn
(
Schedulers
.
io
())
//在IO线程执行数据库处理操作
}).
subscribeOn
(
Schedulers
.
io
())
//在IO线程执行数据库处理操作
.
observeOn
(
AndroidSchedulers
.
mainThread
())
//在UI线程
.
observeOn
(
AndroidSchedulers
.
mainThread
())
//在UI线程
.
compose
(
RxLifecycleUtils
.
bindToLifecycle
(
mRootView
))
.
subscribe
(
new
Observer
<
List
>()
{
.
subscribe
(
new
Observer
<
List
>()
{
private
int
nextCount
=
0
;
private
int
nextCount
=
0
;
...
@@ -552,6 +538,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
...
@@ -552,6 +538,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
@Override
@Override
public
void
onSubscribe
(
Disposable
d
)
{
public
void
onSubscribe
(
Disposable
d
)
{
addDispose
(
d
);
nextCount
=
0
;
nextCount
=
0
;
}
}
...
@@ -1322,7 +1309,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
...
@@ -1322,7 +1309,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
public
void
setFoodSoldoutCtrData
(
List
<
SoldoutCtrFood
>
soldoutCtrFoods
)
{
public
void
setFoodSoldoutCtrData
(
List
<
SoldoutCtrFood
>
soldoutCtrFoods
)
{
for
(
SoldoutCtrFood
scc
:
soldoutCtrFoods
)
{
for
(
SoldoutCtrFood
scc
:
soldoutCtrFoods
)
{
for
(
Food
foodGroupBean
:
m
FoodGroupList
)
{
for
(
Food
foodGroupBean
:
m
RootView
.
getFoodGroupList
()
)
{
if
(
scc
.
getType
()
==
FOOD_TYPE
&&
scc
.
getFoodId
()
!=
null
&&
foodGroupBean
.
getId
()
!=
null
&&
foodGroupBean
.
getId
().
equals
(
scc
.
getFoodId
()))
{
if
(
scc
.
getType
()
==
FOOD_TYPE
&&
scc
.
getFoodId
()
!=
null
&&
foodGroupBean
.
getId
()
!=
null
&&
foodGroupBean
.
getId
().
equals
(
scc
.
getFoodId
()))
{
String
qtyName
=
scc
.
getQtyName
();
String
qtyName
=
scc
.
getQtyName
();
foodGroupBean
.
setMaxNumber
(
qtyName
);
foodGroupBean
.
setMaxNumber
(
qtyName
);
...
@@ -1339,7 +1326,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
...
@@ -1339,7 +1326,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
}
}
}
}
}
}
for
(
Food
foodGroupBean
:
m
FoodGroupList
)
{
for
(
Food
foodGroupBean
:
m
RootView
.
getFoodGroupList
()
)
{
if
(
foodGroupBean
.
getInvisible
()
==
2
)
{
if
(
foodGroupBean
.
getInvisible
()
==
2
)
{
String
qtyName
=
"暫停"
;
String
qtyName
=
"暫停"
;
foodGroupBean
.
setMaxNumber
(
qtyName
);
foodGroupBean
.
setMaxNumber
(
qtyName
);
...
@@ -1400,7 +1387,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
...
@@ -1400,7 +1387,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
}
}
private
void
addFoodSoldoutCtrItem
(
List
<
SoldoutCtrFood
>
soldoutCtrFoods
)
{
private
void
addFoodSoldoutCtrItem
(
List
<
SoldoutCtrFood
>
soldoutCtrFoods
)
{
for
(
Food
foodGroupBean
:
m
FoodGroupList
)
{
for
(
Food
foodGroupBean
:
m
RootView
.
getFoodGroupList
()
)
{
if
(
foodGroupBean
.
getInvisible
()
==
2
)
{
if
(
foodGroupBean
.
getInvisible
()
==
2
)
{
SoldoutCtrFood
soldoutCtrFood
=
new
SoldoutCtrFood
();
SoldoutCtrFood
soldoutCtrFood
=
new
SoldoutCtrFood
();
soldoutCtrFood
.
setType
((
byte
)
FOOD_GROUP_TYPE
);
soldoutCtrFood
.
setType
((
byte
)
FOOD_GROUP_TYPE
);
...
@@ -1432,7 +1419,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
...
@@ -1432,7 +1419,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
}
}
private
void
clearFoodSoldoutCtrData
()
{
private
void
clearFoodSoldoutCtrData
()
{
for
(
Food
foodGroupBean
:
m
FoodGroupList
)
{
for
(
Food
foodGroupBean
:
m
RootView
.
getFoodGroupList
()
)
{
foodGroupBean
.
setMaxNumber
(
""
);
foodGroupBean
.
setMaxNumber
(
""
);
foodGroupBean
.
setCurrentMaxNumber
(
""
);
foodGroupBean
.
setCurrentMaxNumber
(
""
);
}
}
...
@@ -1677,7 +1664,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
...
@@ -1677,7 +1664,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
public
void
updateOrderFoodNumber
()
{
public
void
updateOrderFoodNumber
()
{
setFoodBtnNumber
();
setFoodBtnNumber
();
setFoodGroupBtnNumber
(
IActivity
.
getFoodGroupGridViewAdapter
(),
m
FoodGroupList
);
setFoodGroupBtnNumber
(
IActivity
.
getFoodGroupGridViewAdapter
(),
m
RootView
.
getFoodGroupList
()
);
mRootView
.
setOrderFoodCount
(
getOrderFoodNumber
());
mRootView
.
setOrderFoodCount
(
getOrderFoodNumber
());
}
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderContentPresenter.java
View file @
d2a34349
...
@@ -5,6 +5,9 @@ import android.graphics.Color;
...
@@ -5,6 +5,9 @@ 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
;
...
@@ -12,6 +15,7 @@ import com.gingersoft.gsa.cloud.common.constans.ExpandConstant;
...
@@ -12,6 +15,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.MemberCoupon
;
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
;
...
@@ -51,6 +55,7 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity;
...
@@ -51,6 +55,7 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity;
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.OrderTopFunctionAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.OrderTopFunctionAdapter
;
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.DiscountDialogFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.DiscountDialog
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.DiscountDialog
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.SplitTableDialog
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.SplitTableDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.BaseRetryDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.BaseRetryDialog
;
...
@@ -61,6 +66,7 @@ import com.jess.arms.integration.AppManager;
...
@@ -61,6 +66,7 @@ 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
;
...
@@ -75,8 +81,10 @@ import io.reactivex.annotations.NonNull;
...
@@ -75,8 +81,10 @@ 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
;
...
@@ -806,12 +814,12 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
...
@@ -806,12 +814,12 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
}
}
private
void
showDiscountDialog
()
{
private
void
showDiscountDialog
()
{
if
(
mDiscountDialog
==
null
)
{
if
(
IActivity
.
findFragment
(
DiscountDialogFragment
.
class
)
==
null
)
{
mDiscountDialog
=
new
DiscountDialog
.
Builder
(
IActivity
);
DiscountDialogFragment
dialogFragment
=
DiscountDialogFragment
.
newInstance
(
);
mDiscountDialog
.
setCanScan
(
true
);
dialogFragment
.
setOnDiscountItemClickListener
(
new
DiscountDialogFragment
.
OnDiscountItemClickListener
()
{
mDiscountDialog
.
setOnClickListener
(
new
DiscountDialog
.
Builder
.
OnClickListener
()
{
@Override
@Override
public
void
on
Item
Click
(
Discount
item
,
int
position
)
{
public
void
on
BillDiscount
Click
(
Discount
item
,
int
position
)
{
if
(
item
.
getMinBillAmount
()
>
mShoppingCart
.
getWholeAmount
())
{
if
(
item
.
getMinBillAmount
()
>
mShoppingCart
.
getWholeAmount
())
{
//小於最小賬單金額
//小於最小賬單金額
mRootView
.
showMessage
(
"小於最小賬單金額"
+
cashStr
+
item
.
getMinBillAmount
()
+
" 無法使用此折扣"
);
mRootView
.
showMessage
(
"小於最小賬單金額"
+
cashStr
+
item
.
getMinBillAmount
()
+
" 無法使用此折扣"
);
...
@@ -819,23 +827,53 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
...
@@ -819,23 +827,53 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
}
}
mNomalDiscountAction
.
setNomalDiscountList
(
mShoppingCart
.
getNomalDiscoutByMultyDiscountList
());
mNomalDiscountAction
.
setNomalDiscountList
(
mShoppingCart
.
getNomalDiscoutByMultyDiscountList
());
mNomalDiscountAction
.
action
(
item
);
mNomalDiscountAction
.
action
(
item
);
dialogFragment
.
dismiss
();
}
}
@Override
@Override
public
void
onScan
()
{
public
void
onCouponClick
(
MemberCoupon
item
,
int
position
)
{
toScanActivity
();
if
(
item
.
getBillMinAmount
()
>
mShoppingCart
.
getWholeAmount
())
{
//小於最小賬單金額
mRootView
.
showMessage
(
"小於最小賬單金額"
+
cashStr
+
item
.
getBillMinAmount
()
+
" 無法使用此優惠券"
);
return
;
}
mNomalDiscountAction
.
setNomalDiscountList
(
mShoppingCart
.
getNomalDiscoutByMultyDiscountList
());
mNomalDiscountAction
.
action
(
item
.
castDiscount
());
dialogFragment
.
dismiss
();
}
}
});
});
dialogFragment
.
show
(
IActivity
.
getSupportFragmentManager
(),
"DiscountDialogFragment"
);
}
}
List
<
Discount
>
discountList
;
// if (mDiscountDialog == null) {
if
(
BaseOrder
.
isCurrentOrderType
(
FoodSummaryConstans
.
TAKEAWAY_TYPE
))
{
// mDiscountDialog = new DiscountDialog.Builder(IActivity);
discountList
=
mModel
.
queryDB_DiscountList
(
Discount
.
discount_scope_bill
,
Discount
.
ORDER_TYPE_TAKEAWAY
);
// mDiscountDialog.setCanScan(true);
}
else
{
// mDiscountDialog.setOnClickListener(new DiscountDialog.Builder.OnClickListener() {
discountList
=
mModel
.
queryDB_DiscountList
(
Discount
.
discount_scope_bill
,
Discount
.
ORDER_TYPE_MEAL_STAND
);
// @Override
}
// public void onItemClick(Discount item, int position) {
// if (item.getMinBillAmount() > mShoppingCart.getWholeAmount()) {
mDiscountDialog
.
addItems
(
discountList
);
// //小於最小賬單金額
mDiscountDialog
.
build
().
show
();
// mRootView.showMessage("小於最小賬單金額" + cashStr + item.getMinBillAmount() + " 無法使用此折扣");
// return;
// }
// mNomalDiscountAction.setNomalDiscountList(mShoppingCart.getNomalDiscoutByMultyDiscountList());
// mNomalDiscountAction.action(item);
// }
//
// @Override
// public void onScan() {
// toScanActivity();
// }
// });
// }
// List<Discount> discountList;
// if (BaseOrder.isCurrentOrderType(FoodSummaryConstans.TAKEAWAY_TYPE)) {
// discountList = mModel.queryDB_DiscountList(Discount.discount_scope_bill, Discount.ORDER_TYPE_TAKEAWAY);
// } else {
// discountList = mModel.queryDB_DiscountList(Discount.discount_scope_bill, Discount.ORDER_TYPE_MEAL_STAND);
// }
//
// mDiscountDialog.addItems(discountList);
// mDiscountDialog.build().show();
}
}
/**
/**
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderPayPresenter.java
View file @
d2a34349
...
@@ -240,6 +240,7 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
...
@@ -240,6 +240,7 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
whetherFreeService
=
payMethod
.
getWhetherFreeService
();
whetherFreeService
=
payMethod
.
getWhetherFreeService
();
orderPay
.
setAmount
(
payMethod
.
getPayMoney
());
orderPay
.
setAmount
(
payMethod
.
getPayMoney
());
orderPay
.
setWhetherReportCount
(
payMethod
.
getWhetherReportCount
());
orderPay
.
setWhetherReportCount
(
payMethod
.
getWhetherReportCount
());
orderPay
.
setIntegralMultiple
(
payMethod
.
getIntegralMultiple
());
orderPay
.
setPayName
(
payMethod
.
getPayName
());
orderPay
.
setPayName
(
payMethod
.
getPayName
());
payRequest
.
getOrderPays
().
add
(
orderPay
);
payRequest
.
getOrderPays
().
add
(
orderPay
);
}
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity.java
View file @
d2a34349
...
@@ -107,6 +107,9 @@ import java.util.ArrayList;
...
@@ -107,6 +107,9 @@ import java.util.ArrayList;
import
java.util.Arrays
;
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
butterknife.OnLongClick
;
...
@@ -281,7 +284,12 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
...
@@ -281,7 +284,12 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
private
ImageView
[]
ivPoints
;
private
ImageView
[]
ivPoints
;
private
int
mPageIndex
;
private
int
mPageIndex
;
private
int
totalPage
;
private
int
totalPage
;
private
FoodGroupAdapter
mFoodGroupAdapter
;
@Inject
@Named
(
"foodGroupList"
)
List
<
Food
>
mFoodGroupList
;
@Inject
FoodGroupAdapter
mFoodGroupAdapter
;
private
PagerGridLayoutManager
mLayoutManager
;
private
PagerGridLayoutManager
mLayoutManager
;
private
static
final
int
FINISH
=
101
;
private
static
final
int
FINISH
=
101
;
...
@@ -419,7 +427,9 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
...
@@ -419,7 +427,9 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
PagerConfig
.
setShowLog
(
true
);
PagerConfig
.
setShowLog
(
true
);
// 使用原生的 Adapter 即可
// 使用原生的 Adapter 即可
mFoodGroupAdapter
=
new
FoodGroupAdapter
(
this
,
foodGroupList
,
1
);
// mFoodGroupAdapter = new FoodGroupAdapter(this, foodGroupList, 1);
mFoodGroupAdapter
.
setFoodGroupList
(
mFoodGroupList
);
rv_food_group
.
setAdapter
(
mFoodGroupAdapter
);
rv_food_group
.
setAdapter
(
mFoodGroupAdapter
);
mFoodGroupAdapter
.
setOnItemClickListener
(
new
FoodGroupAdapter
.
OnItemClickListener
()
{
mFoodGroupAdapter
.
setOnItemClickListener
(
new
FoodGroupAdapter
.
OnItemClickListener
()
{
@Override
@Override
...
@@ -1212,6 +1222,11 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
...
@@ -1212,6 +1222,11 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
}
}
@Override
@Override
public
List
<
Food
>
getFoodGroupList
()
{
return
mFoodGroupList
;
}
@Override
public
void
initIntent
()
{
public
void
initIntent
()
{
}
}
...
@@ -1274,6 +1289,11 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
...
@@ -1274,6 +1289,11 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
return
this
;
return
this
;
}
}
@Override
public
int
getFromType
()
{
return
1
;
}
public
void
clearInput
()
{
public
void
clearInput
()
{
keyView
.
clearInput
();
keyView
.
clearInput
();
}
}
...
@@ -1414,7 +1434,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
...
@@ -1414,7 +1434,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
if
(
customType
==
Food
.
CUSTOM_TYPE_101
)
{
if
(
customType
==
Food
.
CUSTOM_TYPE_101
)
{
foodItem
.
setProductName
(
name
);
foodItem
.
setProductName
(
name
);
}
}
if
(!
TextUtils
.
isEmpty
(
money
))
{
if
(!
TextUtils
.
isEmpty
(
money
))
{
foodItem
.
setUnit_price
(
Double
.
parseDouble
(
money
));
foodItem
.
setUnit_price
(
Double
.
parseDouble
(
money
));
foodItem
.
setPrice
(
foodItem
.
getUnit_price
());
foodItem
.
setPrice
(
foodItem
.
getUnit_price
());
mPresenter
.
toAddFoodItem
(
foodItem
);
mPresenter
.
toAddFoodItem
(
foodItem
);
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderContentActivity.java
View file @
d2a34349
...
@@ -171,7 +171,6 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
...
@@ -171,7 +171,6 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
private
List
<
TableBean
.
DataBean
>
mTableList
;
private
List
<
TableBean
.
DataBean
>
mTableList
;
private
DoshokuOrder
mDoshokuOrder
;
private
DoshokuOrder
mDoshokuOrder
;
private
ShoppingCart
mShoppingCart
;
@Override
@Override
public
void
setupActivityComponent
(
@NonNull
AppComponent
appComponent
)
{
public
void
setupActivityComponent
(
@NonNull
AppComponent
appComponent
)
{
...
@@ -186,7 +185,6 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
...
@@ -186,7 +185,6 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
@Override
@Override
protected
void
onCreate
(
@Nullable
Bundle
savedInstanceState
)
{
protected
void
onCreate
(
@Nullable
Bundle
savedInstanceState
)
{
mDoshokuOrder
=
DoshokuOrder
.
getInstance
();
mDoshokuOrder
=
DoshokuOrder
.
getInstance
();
mShoppingCart
=
mDoshokuOrder
.
getShoppingCart
();
super
.
onCreate
(
savedInstanceState
);
super
.
onCreate
(
savedInstanceState
);
//设置根布局颜色,当layout根布局是FrameLayout时直接使用merge标签,应用DecorView默认就是FrameLayout无需再套一层
//设置根布局颜色,当layout根布局是FrameLayout时直接使用merge标签,应用DecorView默认就是FrameLayout无需再套一层
getWindow
().
getDecorView
().
setBackgroundColor
(
ArmsUtils
.
getColor
(
mContext
,
R
.
color
.
theme_white_color
));
getWindow
().
getDecorView
().
setBackgroundColor
(
ArmsUtils
.
getColor
(
mContext
,
R
.
color
.
theme_white_color
));
...
@@ -294,7 +292,11 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
...
@@ -294,7 +292,11 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
@Override
@Override
public
void
onBackPressedSupport
()
{
public
void
onBackPressedSupport
()
{
super
.
onBackPressedSupport
();
super
.
onBackPressedSupport
();
backPressed
();
if
(
mCurrentOperatType
==
OrderConentActionConstant
.
transfer_food_2
)
{
hideTransferFoodLayout
();
mCurrentOperatType
=
OrderConentActionConstant
.
order_conetnt_1
;
tv_action_name
.
setVisibility
(
View
.
GONE
);
}
}
}
@Override
@Override
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/FoodAdapter.java
View file @
d2a34349
...
@@ -25,6 +25,8 @@ import com.jess.arms.utils.DeviceUtils;
...
@@ -25,6 +25,8 @@ import com.jess.arms.utils.DeviceUtils;
import
java.util.List
;
import
java.util.List
;
import
javax.inject.Inject
;
import
butterknife.BindView
;
import
butterknife.BindView
;
/**
/**
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/FoodGroupAdapter.java
View file @
d2a34349
...
@@ -61,7 +61,13 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
...
@@ -61,7 +61,13 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
this
.
mParentColWidth
=
(
int
)
(
DeviceUtils
.
getScreenWidth
(
context
)
/
foodGroupColumn
);
this
.
mParentColWidth
=
(
int
)
(
DeviceUtils
.
getScreenWidth
(
context
)
/
foodGroupColumn
);
this
.
mParentColHeight
=
GsaCloudApplication
.
uiStyleConfiguration
.
getFoodGroupBtnHeightValue
();
this
.
mParentColHeight
=
GsaCloudApplication
.
uiStyleConfiguration
.
getFoodGroupBtnHeightValue
();
this
.
mLayoutQtyHeight
=
GsaCloudApplication
.
uiStyleConfiguration
.
getLayoutQtyHeightValue
();
this
.
mLayoutQtyHeight
=
GsaCloudApplication
.
uiStyleConfiguration
.
getLayoutQtyHeightValue
();
}
public
void
setFoodGroupList
(
List
<
Food
>
foodGroupList
)
{
if
(
foodGroupList
!=
null
)
{
mInfos
.
addAll
(
foodGroupList
);
notifyDataSetChanged
();
}
}
}
@Override
@Override
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/AllOrderFragment.java
View file @
d2a34349
...
@@ -8,11 +8,9 @@ import android.os.Message;
...
@@ -8,11 +8,9 @@ import android.os.Message;
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
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.annotation.Nullable
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.order.contract.OrderStatusContract
;
import
com.gingersoft.gsa.cloud.order.contract.OrderStatusContract
;
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
;
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/discount/BillDiscountFragment.java
0 → 100644
View file @
d2a34349
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
fragment
.
discount
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.recyclerview.widget.GridLayoutManager
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.listener.OnItemClickListener
;
import
com.gingersoft.gsa.cloud.common.loadsir.EmptyCallback
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerBillDiscountComponent
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.BillDiscountContract
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.BillDiscountPresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity
;
import
com.gingersoft.gsa.cloud.ui.adapter.TagViewAdapter
;
import
com.gingersoft.gsa.cloud.ui.bean.TagViewItem
;
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.kingja.loadsir.callback.Callback
;
import
com.kingja.loadsir.core.LoadService
;
import
com.kingja.loadsir.core.LoadSir
;
import
java.util.ArrayList
;
import
java.util.List
;
import
javax.inject.Inject
;
import
butterknife.BindView
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/02/2021 17:26
* <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
BillDiscountFragment
extends
BaseFragment
<
BillDiscountPresenter
>
implements
BillDiscountContract
.
View
{
@BindView
(
R2
.
id
.
rv_bill_discount
)
RecyclerView
rvBillDiscount
;
@Inject
List
<
TagViewItem
>
mBillDiscountList
;
@Inject
TagViewAdapter
mBillDiscountAdapter
;
private
LoadService
loadService
;
public
static
BillDiscountFragment
newInstance
()
{
BillDiscountFragment
fragment
=
new
BillDiscountFragment
();
return
fragment
;
}
@Override
public
void
setupFragmentComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerBillDiscountComponent
//如找不到该类,请编译一下项目
.
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_bill_discount
,
container
,
false
);
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
loadService
=
LoadSir
.
getDefault
().
register
(
rvBillDiscount
);
initAdapter
();
mPresenter
.
queryBillDiscountList
();
}
private
void
initAdapter
()
{
rvBillDiscount
.
setLayoutManager
(
createLayoutManager
());
rvBillDiscount
.
setAdapter
(
mBillDiscountAdapter
);
mBillDiscountAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
{
if
(
onDiscountItemClickListener
!=
null
)
{
onDiscountItemClickListener
.
onItemClick
((
Discount
)
mBillDiscountList
.
get
(
position
).
getTargetObj
(),
position
);
}
});
}
private
RecyclerView
.
LayoutManager
createLayoutManager
()
{
return
new
GridLayoutManager
(
mContext
,
3
,
LinearLayoutManager
.
VERTICAL
,
false
)
{
@Override
public
RecyclerView
.
LayoutParams
generateDefaultLayoutParams
()
{
return
new
RecyclerView
.
LayoutParams
(
ViewGroup
.
LayoutParams
.
MATCH_PARENT
,
ViewGroup
.
LayoutParams
.
WRAP_CONTENT
);
}
};
}
@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
)
{
if
(
intent
!=
null
)
{
ArmsUtils
.
startActivity
(
intent
);
}
}
@Override
public
void
killMyself
()
{
_mActivity
.
onBackPressedSupport
();
}
@Override
public
void
returnBillCoupon
(
List
<
Discount
>
discounts
)
{
List
<
TagViewItem
>
tagViewItems
=
castTagItem
(
discounts
);
if
(
tagViewItems
.
size
()
>
0
)
{
loadService
.
showSuccess
();
}
else
{
loadService
.
showCallback
(
EmptyCallback
.
class
);
}
if
(
mBillDiscountList
.
size
()
>
0
)
{
mBillDiscountList
.
clear
();
}
mBillDiscountList
.
addAll
(
tagViewItems
);
mBillDiscountAdapter
.
notifyDataSetChanged
();
}
private
List
<
TagViewItem
>
castTagItem
(
List
<
Discount
>
discountList
)
{
List
<
TagViewItem
>
tagViewItems
=
new
ArrayList
<>();
for
(
Discount
discount
:
discountList
)
{
TagViewItem
<
Discount
>
tagViewItem
=
new
TagViewItem
();
tagViewItem
.
setId
(
discount
.
getId
());
tagViewItem
.
setText
(
discount
.
getRemark
());
tagViewItem
.
setTargetObj
(
discount
);
tagViewItems
.
add
(
tagViewItem
);
}
return
tagViewItems
;
}
private
OnBillDiscountItemClickListener
onDiscountItemClickListener
;
public
void
setOnDiscountItemClickListener
(
OnBillDiscountItemClickListener
onDiscountItemClickListener
)
{
this
.
onDiscountItemClickListener
=
onDiscountItemClickListener
;
}
public
interface
OnBillDiscountItemClickListener
{
void
onItemClick
(
Discount
item
,
int
position
);
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/discount/CouponFragment.java
0 → 100644
View file @
d2a34349
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
fragment
.
discount
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.recyclerview.widget.GridLayoutManager
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.common.core.discount.MemberCoupon
;
import
com.gingersoft.gsa.cloud.common.loadsir.LoadsirUtil
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerCouponComponent
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.CouponContract
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.CouponPresenter
;
import
com.gingersoft.gsa.cloud.ui.adapter.TagViewAdapter
;
import
com.gingersoft.gsa.cloud.ui.bean.TagViewItem
;
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.kingja.loadsir.callback.Callback
;
import
com.kingja.loadsir.core.LoadService
;
import
com.kingja.loadsir.core.LoadSir
;
import
com.scwang.smartrefresh.layout.SmartRefreshLayout
;
import
com.scwang.smartrefresh.layout.api.RefreshLayout
;
import
com.scwang.smartrefresh.layout.listener.OnLoadMoreListener
;
import
com.scwang.smartrefresh.layout.listener.OnRefreshListener
;
import
java.util.ArrayList
;
import
java.util.List
;
import
javax.inject.Inject
;
import
butterknife.BindView
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
/**
* ================================================
* Description:
* <p>
* Created by MVPArmsTemplate on 04/02/2021 17:28
* <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
CouponFragment
extends
BaseFragment
<
CouponPresenter
>
implements
CouponContract
.
View
{
@BindView
(
R2
.
id
.
refreshLayout
)
SmartRefreshLayout
refreshLayout
;
@BindView
(
R2
.
id
.
rv_coupon
)
RecyclerView
rvCoupon
;
@Inject
List
<
TagViewItem
>
mMemberCouponList
;
@Inject
TagViewAdapter
mMemberCouponAdapter
;
private
LoadService
loadService
;
public
static
CouponFragment
newInstance
()
{
CouponFragment
fragment
=
new
CouponFragment
();
return
fragment
;
}
@Override
public
void
setupFragmentComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerCouponComponent
//如找不到该类,请编译一下项目
.
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_coupon
,
container
,
false
);
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
loadService
=
LoadSir
.
getDefault
().
register
(
refreshLayout
,
new
Callback
.
OnReloadListener
()
{
@Override
public
void
onReload
(
View
v
)
{
mPresenter
.
getMemberWalletList
(
null
,
true
);
}
});
initAdapter
();
initRefreshLayout
();
}
@Override
public
void
onLazyInitView
(
@Nullable
Bundle
savedInstanceState
)
{
super
.
onLazyInitView
(
savedInstanceState
);
mPresenter
.
getMemberWalletList
(
null
,
true
);
}
private
void
initAdapter
()
{
rvCoupon
.
setLayoutManager
(
createLayoutManager
());
rvCoupon
.
setAdapter
(
mMemberCouponAdapter
);
mMemberCouponAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
{
if
(
onCouponItemClickListener
!=
null
)
{
onCouponItemClickListener
.
onItemClick
((
MemberCoupon
)
mMemberCouponList
.
get
(
position
).
getTargetObj
(),
position
);
}
});
}
private
RecyclerView
.
LayoutManager
createLayoutManager
()
{
return
new
GridLayoutManager
(
mContext
,
3
,
LinearLayoutManager
.
VERTICAL
,
false
)
{
@Override
public
RecyclerView
.
LayoutParams
generateDefaultLayoutParams
()
{
return
new
RecyclerView
.
LayoutParams
(
ViewGroup
.
LayoutParams
.
MATCH_PARENT
,
ViewGroup
.
LayoutParams
.
WRAP_CONTENT
);
}
};
}
private
void
initRefreshLayout
()
{
refreshLayout
.
setOnRefreshListener
(
new
OnRefreshListener
()
{
@Override
public
void
onRefresh
(
@NonNull
final
RefreshLayout
refreshLayout
)
{
mPresenter
.
getMemberWalletList
(
refreshLayout
,
true
);
}
});
refreshLayout
.
setOnLoadMoreListener
(
new
OnLoadMoreListener
()
{
@Override
public
void
onLoadMore
(
@NonNull
final
RefreshLayout
refreshLayout
)
{
mPresenter
.
getMemberWalletList
(
refreshLayout
,
false
);
}
});
refreshLayout
.
setEnableLoadMore
(
false
);
}
@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
)
{
if
(
intent
!=
null
)
{
ArmsUtils
.
startActivity
(
intent
);
}
}
@Override
public
void
killMyself
()
{
_mActivity
.
onBackPressedSupport
();
}
@Override
public
void
returnMemberCouponList
(
List
<
MemberCoupon
>
memberCoupons
)
{
List
<
TagViewItem
>
tagViewItems
=
castTagItem
(
memberCoupons
);
if
(
mMemberCouponList
.
size
()
>
0
)
{
mMemberCouponList
.
clear
();
}
mMemberCouponList
.
addAll
(
tagViewItems
);
mMemberCouponAdapter
.
notifyDataSetChanged
();
}
private
List
<
TagViewItem
>
castTagItem
(
List
<
MemberCoupon
>
memberCoupons
)
{
List
<
TagViewItem
>
tagViewItems
=
new
ArrayList
<>();
for
(
MemberCoupon
coupon
:
memberCoupons
)
{
TagViewItem
<
MemberCoupon
>
tagViewItem
=
new
TagViewItem
();
tagViewItem
.
setId
(
coupon
.
getId
());
tagViewItem
.
setText
(
coupon
.
getRemark
());
tagViewItem
.
setTargetObj
(
coupon
);
tagViewItems
.
add
(
tagViewItem
);
}
return
tagViewItems
;
}
@Override
public
void
showLoadSirSuccess
()
{
loadService
.
showSuccess
();
}
@Override
public
void
showLoadSirCall
(
Class
<?
extends
Callback
>
call
)
{
loadService
.
showCallback
(
call
);
}
@Override
public
LoadService
getLoadService
()
{
return
loadService
;
}
private
OnCouponItemClickListener
onCouponItemClickListener
;
public
void
setOnCouponItemClickListener
(
OnCouponItemClickListener
onCouponItemClickListener
)
{
this
.
onCouponItemClickListener
=
onCouponItemClickListener
;
}
public
interface
OnCouponItemClickListener
{
void
onItemClick
(
MemberCoupon
item
,
int
position
);
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/discount/DiscountDialogFragment.java
0 → 100644
View file @
d2a34349
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
ui
.
fragment
.
discount
;
import
android.app.Activity
;
import
android.app.Dialog
;
import
android.content.Context
;
import
android.graphics.Color
;
import
android.graphics.drawable.ColorDrawable
;
import
android.os.Bundle
;
import
android.view.Gravity
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.Window
;
import
android.view.WindowManager
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.appcompat.app.AppCompatDialogFragment
;
import
androidx.core.content.ContextCompat
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentActivity
;
import
androidx.viewpager.widget.ViewPager
;
import
com.gingersoft.gsa.cloud.common.core.discount.MemberCoupon
;
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.gingersoft.gsa.cloud.table.mvp.ui.fragment.InputTableFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.RegionFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.DiscountDialog
;
import
com.gingersoft.gsa.cloud.ui.view.TriangleView
;
import
com.jess.arms.base.BaseDialogFragment
;
import
com.jess.arms.base.BaseFragment
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.mvp.BasePresenter
;
import
com.jess.arms.utils.ThirdViewUtil
;
import
com.qmuiteam.qmui.arch.QMUIFragmentPagerAdapter
;
import
com.qmuiteam.qmui.layout.QMUILinearLayout
;
import
com.qmuiteam.qmui.util.QMUIDisplayHelper
;
import
com.qmuiteam.qmui.widget.QMUITopBar
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialog
;
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
;
import
butterknife.ButterKnife
;
/**
* @作者: bin
* @創建時間: 2021-04-02 17:14
* @更新時間: 2021-04-02 17:14
* @描述:
*/
public
class
DiscountDialogFragment
extends
BaseDialogFragment
<
BasePresenter
>
{
private
final
String
TAG
=
"DiscountFragment"
;
// @BindView(R2.id.topbar)
// QMUITopBar topbar;
@BindView
(
R2
.
id
.
tabSegment
)
QMUITabSegment
tabSegment
;
@BindView
(
R2
.
id
.
contentViewPager
)
ViewPager
contentViewPager
;
@BindView
(
R2
.
id
.
ll_container
)
QMUILinearLayout
llContainer
;
private
CouponFragment
couponFragment
;
private
BillDiscountFragment
billDiscountFragment
;
private
boolean
canScan
=
true
;
private
List
<
String
>
mTabTitles
=
new
ArrayList
<>();
private
int
mCurrentPageIndex
=
0
;
public
static
DiscountDialogFragment
newInstance
()
{
DiscountDialogFragment
fragment
=
new
DiscountDialogFragment
();
return
fragment
;
}
@Override
public
void
setupFragmentComponent
(
@NonNull
AppComponent
appComponent
)
{
}
@Override
public
View
initView
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
this
.
getDialog
().
requestWindowFeature
(
Window
.
FEATURE_NO_TITLE
);
return
inflater
.
inflate
(
R
.
layout
.
table_dialog_discout
,
container
,
false
);
}
@Override
public
void
onStart
()
{
super
.
onStart
();
Window
dialogWindow
=
getDialog
().
getWindow
();
if
(
dialogWindow
!=
null
)
{
dialogWindow
.
getDecorView
().
setPadding
(
0
,
0
,
0
,
0
);
dialogWindow
.
setBackgroundDrawable
(
new
ColorDrawable
(
Color
.
TRANSPARENT
));
WindowManager
.
LayoutParams
lp
=
dialogWindow
.
getAttributes
();
lp
.
width
=
WindowManager
.
LayoutParams
.
MATCH_PARENT
;
lp
.
height
=
(
int
)
(
QMUIDisplayHelper
.
getScreenHeight
(
mContext
)
*
0.6
);
lp
.
gravity
=
Gravity
.
BOTTOM
;
lp
.
windowAnimations
=
android
.
R
.
style
.
Animation_InputMethod
;
dialogWindow
.
setAttributes
(
lp
);
}
}
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
float
mShadowAlpha
=
0.25f
;
int
mShadowElevationDp
=
14
;
llContainer
.
setRadiusAndShadow
(
15
,
QMUIDisplayHelper
.
dp2px
(
mContext
,
mShadowElevationDp
),
mShadowAlpha
);
initTopbar
();
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
.
setOnCouponItemClickListener
(
new
CouponFragment
.
OnCouponItemClickListener
()
{
@Override
public
void
onItemClick
(
MemberCoupon
item
,
int
position
)
{
if
(
onDiscountItemClickListener
!=
null
)
{
onDiscountItemClickListener
.
onCouponClick
(
item
,
position
);
}
}
});
return
couponFragment
;
default
:
if
(
billDiscountFragment
!=
null
)
{
return
billDiscountFragment
;
}
billDiscountFragment
=
BillDiscountFragment
.
newInstance
();
billDiscountFragment
.
setOnDiscountItemClickListener
(
new
BillDiscountFragment
.
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
)
{
}
});
}
private
void
initTopbar
()
{
// topbar.setBackgroundColor(ContextCompat.getColor(_mActivity, R.color.theme_color));
// if (canScan) {
// topbar.addRightImageButton(R.mipmap.table_white_scan, R.id.topbar_right_change_button)
// .setOnClickListener(v -> {
// _mActivity.onBackPressedSupport();
// });
// }
// topbar.setTitle("折扣");
}
@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
(
MemberCoupon
item
,
int
position
);
}
}
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/widget/DiscountDialog.java
View file @
d2a34349
This diff is collapsed.
Click to expand it.
component-table/src/main/res/layout/fragment_bill_discount.xml
0 → 100644
View file @
d2a34349
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_bill_discount"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"horizontal"
/>
</FrameLayout>
\ No newline at end of file
component-table/src/main/res/layout/fragment_container.xml
0 → 100644
View file @
d2a34349
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:id=
"@+id/fl_container"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
</FrameLayout>
\ No newline at end of file
component-table/src/main/res/layout/fragment_coupon.xml
0 → 100644
View file @
d2a34349
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<com.scwang.smartrefresh.layout.SmartRefreshLayout
android:id=
"@+id/refreshLayout"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"horizontal"
>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_coupon"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_alignParentBottom=
"true"
android:layout_gravity=
"bottom"
android:orientation=
"horizontal"
/>
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
</FrameLayout>
\ No newline at end of file
component-table/src/main/res/layout/table_activity_order_content.xml
View file @
d2a34349
...
@@ -206,6 +206,12 @@
...
@@ -206,6 +206,12 @@
</LinearLayout>
</LinearLayout>
</LinearLayout>
</LinearLayout>
<FrameLayout
android:id=
"@+id/fl_container"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_320"
android:layout_gravity=
"bottom"
/>
<ViewStub
<ViewStub
android:id=
"@+id/vs_transfer_food"
android:id=
"@+id/vs_transfer_food"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
...
...
component-table/src/main/res/layout/table_dialog_discout.xml
View file @
d2a34349
...
@@ -4,30 +4,23 @@
...
@@ -4,30 +4,23 @@
android:id=
"@+id/ll_container"
android:id=
"@+id/ll_container"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@color/theme_white_color"
android:orientation=
"vertical"
>
android:orientation=
"vertical"
>
<com.qmuiteam.qmui.widget.QMUITopBar
<!-- <com.qmuiteam.qmui.widget.QMUITopBar-->
android:id=
"@+id/topbar"
<!-- android:id="@+id/topbar"-->
android:layout_width=
"match_parent"
<!-- android:layout_width="match_parent"-->
android:layout_height=
"?attr/qmui_topbar_height"
<!-- android:layout_height="?attr/qmui_topbar_height"-->
app:qmui_topbar_title_color=
"@color/theme_white_color"
/
>
<!-- app:qmui_topbar_title_color="@color/theme_white_color" />--
>
<
androidx.recyclerview.widget.RecyclerView
<
com.qmuiteam.qmui.widget.tab.QMUITabSegment
android:id=
"@+id/
recycler_discou
nt"
android:id=
"@+id/
tabSegme
nt"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"@dimen/dp_45"
android:divider=
"@null"
android:background=
"@drawable/shape_tab_panel_bg"
/>
android:fadeScrollbars=
"false"
android:orientation=
"vertical"
app:layoutManager=
"androidx.recyclerview.widget.GridLayoutManager"
app:spanCount=
"3"
/>
<!-- <ImageView-->
<androidx.viewpager.widget.ViewPager
<!-- android:id="@+id/btn_close"-->
android:id=
"@+id/contentViewPager"
<!-- android:layout_width="wrap_content"-->
android:layout_width=
"match_parent"
<!-- android:layout_height="wrap_content"-->
android:layout_height=
"wrap_content"
/>
<!-- android:layout_margin="@dimen/dp_20"-->
<!-- android:src="@drawable/icon_dialog_close" />-->
</com.qmuiteam.qmui.layout.QMUILinearLayout>
</com.qmuiteam.qmui.layout.QMUILinearLayout>
\ No newline at end of file
component-table/src/main/res/layout/table_stub_transfer_food.xml
View file @
d2a34349
...
@@ -48,5 +48,4 @@
...
@@ -48,5 +48,4 @@
android:id=
"@+id/contentViewPager"
android:id=
"@+id/contentViewPager"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
android:layout_height=
"match_parent"
/>
</LinearLayout>
</LinearLayout>
\ No newline at end of file
component-webview/src/main/java/com/gingersoft/gsa/cloud/webview/mvp/ui/activity/WebActivity.java
View file @
d2a34349
This diff is collapsed.
Click to expand it.
component-webview/src/main/java/com/gingersoft/gsa/cloud/webview/
app
/WebViewProgressBar.java
→
component-webview/src/main/java/com/gingersoft/gsa/cloud/webview/
mvp/ui/view
/WebViewProgressBar.java
View file @
d2a34349
package
com
.
gingersoft
.
gsa
.
cloud
.
webview
.
app
;
package
com
.
gingersoft
.
gsa
.
cloud
.
webview
.
mvp
.
ui
.
view
;
import
android.animation.Animator
;
import
android.animation.Animator
;
import
android.animation.ValueAnimator
;
import
android.animation.ValueAnimator
;
...
...
config.gradle
View file @
d2a34349
...
@@ -14,7 +14,7 @@ ext {
...
@@ -14,7 +14,7 @@ ext {
version
=
[
version
=
[
androidSupportSdkVersion:
"29+"
,
androidSupportSdkVersion:
"29+"
,
retrofitSdkVersion
:
'2.3.0'
,
retrofitSdkVersion
:
'2.3.0'
,
dagger2SdkVersion
:
"2.
19
"
,
dagger2SdkVersion
:
"2.
26
"
,
glideSdkVersion
:
"4.9.0"
,
glideSdkVersion
:
"4.9.0"
,
butterknifeSdkVersion
:
"10.2.1"
,
butterknifeSdkVersion
:
"10.2.1"
,
rxlifecycleSdkVersion
:
"1.0"
,
rxlifecycleSdkVersion
:
"1.0"
,
...
...
library-base/src/main/java/com/jess/arms/base/BaseDialogFragment.java
0 → 100644
View file @
d2a34349
This diff is collapsed.
Click to expand it.
library-base/src/main/java/com/jess/arms/base/BaseFragment.java
View file @
d2a34349
...
@@ -15,14 +15,17 @@
...
@@ -15,14 +15,17 @@
*/
*/
package
com
.
jess
.
arms
.
base
;
package
com
.
jess
.
arms
.
base
;
import
android.annotation.SuppressLint
;
import
android.app.Activity
;
import
android.app.Activity
;
import
android.content.Context
;
import
android.content.Context
;
import
android.graphics.Color
;
import
android.os.Bundle
;
import
android.os.Bundle
;
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.animation.Animation
;
import
android.view.animation.Animation
;
import
com.gyf.immersionbar.ImmersionBar
;
import
com.jess.arms.base.delegate.IFragment
;
import
com.jess.arms.base.delegate.IFragment
;
import
com.jess.arms.integration.cache.Cache
;
import
com.jess.arms.integration.cache.Cache
;
import
com.jess.arms.integration.cache.CacheType
;
import
com.jess.arms.integration.cache.CacheType
;
...
@@ -74,8 +77,6 @@ public abstract class BaseFragment<P extends IPresenter> extends Fragment implem
...
@@ -74,8 +77,6 @@ public abstract class BaseFragment<P extends IPresenter> extends Fragment implem
final
SupportFragmentDelegate
mDelegate
=
new
SupportFragmentDelegate
(
this
);
final
SupportFragmentDelegate
mDelegate
=
new
SupportFragmentDelegate
(
this
);
protected
BaseFragmentActivity
_mActivity
;
protected
BaseFragmentActivity
_mActivity
;
private
Observable
mObservable
;
@NonNull
@NonNull
@Override
@Override
public
synchronized
Cache
<
String
,
Object
>
provideCache
()
{
public
synchronized
Cache
<
String
,
Object
>
provideCache
()
{
...
@@ -85,7 +86,7 @@ public abstract class BaseFragment<P extends IPresenter> extends Fragment implem
...
@@ -85,7 +86,7 @@ public abstract class BaseFragment<P extends IPresenter> extends Fragment implem
return
mCache
;
return
mCache
;
}
}
public
int
getColor
(
int
colorId
){
public
int
getColor
(
int
colorId
)
{
return
ContextCompat
.
getColor
(
requireContext
(),
colorId
);
return
ContextCompat
.
getColor
(
requireContext
(),
colorId
);
}
}
...
@@ -109,14 +110,6 @@ public abstract class BaseFragment<P extends IPresenter> extends Fragment implem
...
@@ -109,14 +110,6 @@ public abstract class BaseFragment<P extends IPresenter> extends Fragment implem
return
mDelegate
.
extraTransaction
();
return
mDelegate
.
extraTransaction
();
}
}
// @Override
// public void onAttach(Activity activity) {
// super.onAttach(activity);
// mDelegate.onAttach(activity);
// _mActivity = (BaseFragmentActivity) mDelegate.getActivity();
// mContext = mDelegate.getActivity();
// }
@Override
@Override
public
void
onAttach
(
@NonNull
Context
context
)
{
public
void
onAttach
(
@NonNull
Context
context
)
{
super
.
onAttach
(
context
);
super
.
onAttach
(
context
);
...
@@ -143,12 +136,6 @@ public abstract class BaseFragment<P extends IPresenter> extends Fragment implem
...
@@ -143,12 +136,6 @@ public abstract class BaseFragment<P extends IPresenter> extends Fragment implem
mDelegate
.
onActivityCreated
(
savedInstanceState
);
mDelegate
.
onActivityCreated
(
savedInstanceState
);
}
}
// @Override
// protected View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container) {
// mCacheRootView = initView(inflater, container, null);
// return mCacheRootView;
// }
private
View
view
;
private
View
view
;
@Nullable
@Nullable
...
@@ -165,12 +152,25 @@ public abstract class BaseFragment<P extends IPresenter> extends Fragment implem
...
@@ -165,12 +152,25 @@ public abstract class BaseFragment<P extends IPresenter> extends Fragment implem
return
view
;
return
view
;
}
}
@Nullable
@Nullable
@Override
@Override
public
View
getView
()
{
public
View
getView
()
{
return
view
;
return
view
;
}
}
@SuppressLint
(
"ResourceType"
)
@Override
public
void
configImmersionBar
(
ImmersionBar
immersionBar
)
{
immersionBar
.
statusBarColor
(
"#398BED"
)
//状态栏颜色,不写默认透明色
.
statusBarDarkFont
(
true
)
//原理:如果当前设备支持状态栏字体变色,会设置状态栏字体为黑色,如果当前设备不支持
.
fitsSystemWindows
(
true
)
// .fullScreen(true)
.
init
();
}
/**
/**
* 是否使用eventBus,默认为使用(true),
* 是否使用eventBus,默认为使用(true),
*
*
...
...
library-base/src/main/java/com/jess/arms/base/delegate/ActivityDelegateImpl.java
View file @
d2a34349
...
@@ -53,15 +53,8 @@ public class ActivityDelegateImpl implements ActivityDelegate {
...
@@ -53,15 +53,8 @@ public class ActivityDelegateImpl implements ActivityDelegate {
//注册到事件主线
//注册到事件主线
EventBus
.
getDefault
().
register
(
mActivity
);
EventBus
.
getDefault
().
register
(
mActivity
);
}
}
// if (iActivity.useLightMode()) {
// //设置状态栏黑色字体
iActivity
.
configImmersionBar
(
ImmersionBar
.
with
(
mActivity
));
// QMUIStatusBarHelper.setStatusBarLightMode(mActivity);
// } else {
// //默认状态栏白色字体
// QMUIStatusBarHelper.setStatusBarDarkMode(mActivity);
// }
// //设置沉浸式状态栏颜色
// QMUIStatusBarHelper.translucent(mActivity, iActivity.getStatusBarColor());
//这里提供 AppComponent 对象给 BaseActivity 的子类, 用于 Dagger2 的依赖注入
//这里提供 AppComponent 对象给 BaseActivity 的子类, 用于 Dagger2 的依赖注入
iActivity
.
setupActivityComponent
(
ArmsUtils
.
obtainAppComponentFromContext
(
mActivity
));
iActivity
.
setupActivityComponent
(
ArmsUtils
.
obtainAppComponentFromContext
(
mActivity
));
}
}
...
...
library-base/src/main/java/com/jess/arms/base/delegate/FragmentDelegateImpl.java
View file @
d2a34349
...
@@ -19,14 +19,17 @@ import android.content.Context;
...
@@ -19,14 +19,17 @@ import android.content.Context;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.view.View
;
import
android.view.View
;
import
com.gyf.immersionbar.ImmersionBar
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.ArmsUtils
;
import
org.simple.eventbus.EventBus
;
import
org.simple.eventbus.EventBus
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.annotation.Nullable
;
import
androidx.fragment.app.DialogFragment
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentManager
;
import
androidx.fragment.app.FragmentManager
;
import
butterknife.ButterKnife
;
import
butterknife.ButterKnife
;
import
butterknife.Unbinder
;
import
butterknife.Unbinder
;
import
timber.log.Timber
;
import
timber.log.Timber
;
...
@@ -68,15 +71,24 @@ public class FragmentDelegateImpl implements FragmentDelegate {
...
@@ -68,15 +71,24 @@ public class FragmentDelegateImpl implements FragmentDelegate {
@Override
@Override
public
void
onCreateView
(
@Nullable
View
view
,
@Nullable
Bundle
savedInstanceState
)
{
public
void
onCreateView
(
@Nullable
View
view
,
@Nullable
Bundle
savedInstanceState
)
{
//绑定到butterknife
//绑定到butterknife
if
(
view
!=
null
)
if
(
view
!=
null
)
{
mUnbinder
=
ButterKnife
.
bind
(
mFragment
,
view
);
mUnbinder
=
ButterKnife
.
bind
(
mFragment
,
view
);
}
// if (mFragment instanceof DialogFragment) {
// } else {
// iFragment.configImmersionBar(ImmersionBar.with(mFragment));
// }
}
}
@Override
@Override
public
void
onActivityCreate
(
@Nullable
Bundle
savedInstanceState
)
{
public
void
onActivityCreate
(
@Nullable
Bundle
savedInstanceState
)
{
iFragment
.
initData
(
savedInstanceState
);
iFragment
.
initData
(
savedInstanceState
);
// if (mFragment instanceof DialogFragment) {
// iFragment.configImmersionBar(ImmersionBar.with((DialogFragment) mFragment));
// }
}
}
@Override
@Override
public
void
onStart
()
{
public
void
onStart
()
{
...
...
library-base/src/main/java/com/jess/arms/base/delegate/IFragment.java
View file @
d2a34349
...
@@ -22,6 +22,7 @@ import android.view.LayoutInflater;
...
@@ -22,6 +22,7 @@ import android.view.LayoutInflater;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
com.gyf.immersionbar.ImmersionBar
;
import
com.jess.arms.base.BaseFragment
;
import
com.jess.arms.base.BaseFragment
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.integration.cache.Cache
;
import
com.jess.arms.integration.cache.Cache
;
...
@@ -62,6 +63,12 @@ public interface IFragment {
...
@@ -62,6 +63,12 @@ public interface IFragment {
*/
*/
void
setupFragmentComponent
(
@NonNull
AppComponent
appComponent
);
void
setupFragmentComponent
(
@NonNull
AppComponent
appComponent
);
/**
* 重写此方法可配置当前页面的沉浸式主题
*/
void
configImmersionBar
(
ImmersionBar
immersionBar
);
/**
/**
* 是否使用 {@link EventBus}
* 是否使用 {@link EventBus}
*
*
...
...
library-common/src/main/debug/AndroidManifest.xml
0 → 100644
View file @
d2a34349
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
package=
"com.gingersoft.gsa.cloud.common"
>
<uses-permission
android:name=
"android.permission.BLUETOOTH"
/>
<uses-permission
android:name=
"android.permission.VIBRATE"
/>
<uses-permission
android:name=
"android.permission.CAMERA"
/>
<uses-permission
android:name=
"android.permission.RECEIVE_USER_PRESENT"
/>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<uses-permission
android:name=
"android.permission.WAKE_LOCK"
/>
<uses-permission
android:name=
"android.permission.READ_PHONE_STATE"
/>
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.READ_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"com.asus.msa.SupplementaryDID.ACCESS"
/>
<application
android:name=
"com.gingersoft.gsa.cloud.app.GsaCloudApplication"
android:allowBackup=
"true"
android:icon=
"@mipmap/ic_launcher"
android:supportsRtl=
"true"
android:networkSecurityConfig=
"@xml/network_android"
android:theme=
"@style/AppTheme"
>
<meta-data
android:name=
"com.gingersoft.gsa.cloud.common.config.globalconfig.GlobalConfiguration"
android:value=
"ConfigModule"
/>
<meta-data
android:name=
"design_width_in_dp"
android:value=
"360"
/>
<meta-data
android:name=
"design_height_in_dp"
android:value=
"640"
/>
<service
android:name=
"com.gingersoft.gsa.cloud.common.service.ICommandService"
android:enabled=
"true"
/>
</application>
</manifest>
library-common/src/main/debug/res/values/styles.xml
0 → 100644
View file @
d2a34349
<resources>
<!-- <!– Base application theme. –>-->
<!-- <style name="table_AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">-->
<!-- <!– Customize your theme here. –>-->
<!-- <item name="colorPrimary">@color/table_colorPrimary</item>-->
<!-- <item name="colorPrimaryDark">@color/table_colorPrimaryDark</item>-->
<!-- <item name="colorAccent">@color/table_colorAccent</item>-->
<!-- </style>-->
</resources>
library-common/src/main/java/com/gingersoft/gsa/cloud/common/bean/LayoutInfoBean.java
0 → 100644
View file @
d2a34349
package
com
.
gingersoft
.
gsa
.
cloud
.
common
.
bean
;
import
androidx.annotation.LayoutRes
;
import
androidx.annotation.StringRes
;
import
lombok.Data
;
/**
* @作者: bin
* @創建時間: 2021-04-06 16:48
* @更新時間: 2021-04-06 16:48
* @描述:
*/
@Data
public
class
LayoutInfoBean
{
@StringRes
private
int
pageTitle
;
@LayoutRes
private
int
layoutId
;
}
library-common/src/main/java/com/gingersoft/gsa/cloud/common/core/discount/AbstractDiscount.java
0 → 100644
View file @
d2a34349
package
com
.
gingersoft
.
gsa
.
cloud
.
common
.
core
.
discount
;
/**
* @作者: bin
* @創建時間: 2021-04-07 15:44
* @更新時間: 2021-04-07 15:44
* @描述:
*/
public
abstract
class
AbstractDiscount
{
}
library-common/src/main/java/com/gingersoft/gsa/cloud/common/core/discount/BillDiscount.java
0 → 100644
View file @
d2a34349
package
com
.
gingersoft
.
gsa
.
cloud
.
common
.
core
.
discount
;
/**
* @作者: bin
* @創建時間: 2021-04-07 15:45
* @更新時間: 2021-04-07 15:45
* @描述:
*/
public
class
BillDiscount
extends
AbstractDiscount
{
}
library-common/src/main/java/com/gingersoft/gsa/cloud/common/core/discount/MemberCoupon.java
0 → 100644
View file @
d2a34349
package
com
.
gingersoft
.
gsa
.
cloud
.
common
.
core
.
discount
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
lombok.Data
;
/**
* @作者: bin
* @創建時間: 2021-04-07 15:45
* @更新時間: 2021-04-07 15:45
* @描述:
*/
@Data
public
class
MemberCoupon
extends
AbstractDiscount
{
private
long
id
;
private
String
couponTypeName
;
private
String
beginDate
;
private
String
endDate
;
private
int
periodDays
;
private
int
upperLimitTimes
;
private
double
billMinAmount
;
private
double
amount
;
private
int
discount
;
private
String
remark
;
private
String
couponNo
;
private
int
useTimes
;
public
Discount
castDiscount
()
{
Discount
discount
=
new
Discount
();
discount
.
setId
(
getId
());
discount
.
setDiscountValue
(
getDiscount
());
discount
.
setMinBillAmount
(
getBillMinAmount
());
discount
.
setRemark
(
getRemark
());
discount
.
setBeginTime
(
getBeginDate
());
discount
.
setEndTime
(
getEndDate
());
return
discount
;
}
}
\ No newline at end of file
library-common/src/main/java/com/gingersoft/gsa/cloud/common/loadsir/LoadsirUtil.java
0 → 100644
View file @
d2a34349
package
com
.
gingersoft
.
gsa
.
cloud
.
common
.
loadsir
;
import
android.app.Activity
;
import
android.content.Context
;
import
android.net.ParseException
;
import
android.view.View
;
import
com.gingersoft.gsa.cloud.app.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.common.R
;
import
com.gingersoft.gsa.cloud.common.constans.AppConstans
;
import
com.google.gson.JsonIOException
;
import
com.google.gson.JsonParseException
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.kingja.loadsir.core.LoadService
;
import
com.kingja.loadsir.core.Transport
;
import
org.json.JSONException
;
import
java.net.SocketTimeoutException
;
import
java.net.UnknownHostException
;
import
retrofit2.HttpException
;
/**
* @作者: bin
* @創建時間: 2021-04-07 16:27
* @更新時間: 2021-04-07 16:27
* @描述: 反馈页工具类,可根据对应的网络状况显示详细信息
*/
public
class
LoadsirUtil
{
public
static
void
showCallbackByError
(
Throwable
t
,
LoadService
loadService
)
{
if
(
t
instanceof
UnknownHostException
)
{
loadService
.
showCallback
(
ErrorCallback
.
class
);
}
else
if
(
t
instanceof
SocketTimeoutException
)
{
loadService
.
showCallback
(
TimeoutCallback
.
class
);
}
else
if
(
t
instanceof
HttpException
)
{
HttpException
httpException
=
(
HttpException
)
t
;
String
msg
=
convertStatusCode
(
GsaCloudApplication
.
getAppContext
(),
httpException
);
Class
<
ErrorCallback
>
errorCallback
=
ErrorCallback
.
class
;
loadService
.
setCallBack
(
errorCallback
.
getClass
(),
new
OnTransport
(
msg
));
loadService
.
showCallback
(
errorCallback
.
getClass
());
}
else
if
(
t
instanceof
JsonParseException
||
t
instanceof
ParseException
||
t
instanceof
JSONException
||
t
instanceof
JsonIOException
)
{
String
msg
=
ArmsUtils
.
getString
(
GsaCloudApplication
.
getAppContext
(),
R
.
string
.
response_error_data_parsing_error
);
Class
<
ErrorCallback
>
errorCallback
=
ErrorCallback
.
class
;
loadService
.
setCallBack
(
errorCallback
.
getClass
(),
new
OnTransport
(
msg
));
loadService
.
showCallback
(
errorCallback
.
getClass
());
}
}
private
final
static
String
convertStatusCode
(
Context
context
,
HttpException
httpException
)
{
String
msg
=
null
;
if
(
httpException
.
code
()
==
500
)
{
msg
=
ArmsUtils
.
getString
(
context
,
R
.
string
.
response_error_server_error
);
}
else
if
(
httpException
.
code
()
==
404
)
{
msg
=
ArmsUtils
.
getString
(
context
,
R
.
string
.
response_error_address_does_not_exist
);
}
else
if
(
httpException
.
code
()
==
403
)
{
msg
=
ArmsUtils
.
getString
(
context
,
R
.
string
.
response_error_request_rejected_by_server
);
}
else
if
(
httpException
.
code
()
==
307
)
{
msg
=
ArmsUtils
.
getString
(
context
,
R
.
string
.
response_error_request_was_redirected_to_another_page
);
}
else
if
(
httpException
.
code
()
==
401
)
{
msg
=
ArmsUtils
.
getString
(
context
,
R
.
string
.
response_error_request_logged
);
}
else
{
msg
=
httpException
.
message
();
}
return
msg
;
}
private
static
final
class
OnTransport
implements
Transport
{
private
Class
<?>
callbackClass
;
private
String
msg
;
public
OnTransport
(
Class
<?>
callbackClass
,
String
msg
)
{
this
.
callbackClass
=
callbackClass
;
this
.
msg
=
msg
;
}
public
OnTransport
(
String
msg
)
{
this
.
msg
=
msg
;
}
@Override
public
void
order
(
Context
context
,
View
rootView
)
{
View
tv_loadsir_error_img
=
rootView
.
findViewById
(
R
.
id
.
tv_loadsir_error_img
);
tv_loadsir_error_img
.
setTag
(
msg
);
}
}
}
library-common/src/main/java/com/gingersoft/gsa/cloud/common/loadsir/LoadsirUtils.java
deleted
100644 → 0
View file @
84221077
package
com
.
gingersoft
.
gsa
.
cloud
.
common
.
loadsir
;
import
com.kingja.loadsir.callback.Callback
;
import
com.kingja.loadsir.core.LoadService
;
/**
* @author : bin
* @create date: 2020-10-27
* @update date: 2020-10-27
* @description:
*/
public
class
LoadsirUtils
{
public
static
void
loadState
(
LoadService
loadService
,
Callback
callback
){
}
}
library-common/src/main/java/com/gingersoft/gsa/cloud/common/loadsir/TimeoutCallback.java
View file @
d2a34349
...
@@ -9,7 +9,7 @@ import com.kingja.loadsir.callback.Callback;
...
@@ -9,7 +9,7 @@ import com.kingja.loadsir.callback.Callback;
* @update date: 2020-10-27
* @update date: 2020-10-27
* @description:
* @description:
*/
*/
public
class
TimeoutCallback
extends
Callback
{
public
class
TimeoutCallback
extends
Callback
{
@Override
@Override
protected
int
onCreateView
()
{
protected
int
onCreateView
()
{
...
...
library-common/src/main/java/com/gingersoft/gsa/cloud/common/rxjava/ErrorHandleSingleSubscriber.java
0 → 100644
View file @
d2a34349
package
com
.
gingersoft
.
gsa
.
cloud
.
common
.
rxjava
;
import
com.gingersoft.gsa.cloud.common.loadsir.LoadsirUtil
;
import
com.kingja.loadsir.core.LoadService
;
import
io.reactivex.SingleObserver
;
import
io.reactivex.annotations.NonNull
;
import
io.reactivex.disposables.Disposable
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
import
me.jessyan.rxerrorhandler.handler.ErrorHandlerFactory
;
/**
* @作者: bin
* @創建時間: 2021-04-07 14:03
* @更新時間: 2021-04-07 14:03
* @描述:
*/
public
abstract
class
ErrorHandleSingleSubscriber
<
T
>
implements
SingleObserver
<
T
>
{
private
ErrorHandlerFactory
mHandlerFactory
;
private
LoadService
mLoadService
;
public
ErrorHandleSingleSubscriber
(
RxErrorHandler
rxErrorHandler
,
LoadService
loadService
)
{
this
.
mHandlerFactory
=
rxErrorHandler
.
getHandlerFactory
();
this
.
mLoadService
=
loadService
;
}
@Override
public
void
onSubscribe
(
@NonNull
Disposable
d
)
{
}
@Override
public
void
onSuccess
(
T
t
)
{
}
@Override
public
void
onError
(
@NonNull
Throwable
t
)
{
t
.
printStackTrace
();
//如果你某个地方不想使用全局错误处理,则重写 onError(Throwable) 并将 super.onError(e); 删掉
//如果你不仅想使用全局错误处理,还想加入自己的逻辑,则重写 onError(Throwable) 并在 super.onError(e); 后面加入自己的逻辑
mHandlerFactory
.
handleError
(
t
);
if
(
mLoadService
!=
null
)
{
//统一处理反馈页error显示信息
LoadsirUtil
.
showCallbackByError
(
t
,
mLoadService
);
}
}
}
library-order/src/main/java/com/gingersoft/gsa/cloud/order/bean/request/MealOrderPayRequest.java
View file @
d2a34349
...
@@ -72,12 +72,23 @@ public class MealOrderPayRequest implements Parcelable{
...
@@ -72,12 +72,23 @@ public class MealOrderPayRequest implements Parcelable{
private
double
tipsPrice
;
private
double
tipsPrice
;
/**積分支付 所消費的積分*/
/**積分支付 所消費的積分*/
private
Double
consumptionPoints
;
private
Double
consumptionPoints
;
/**
* 獲取積分
*/
private
Double
getIntegral
;
/**
* 積分倍數
*/
private
Double
integralMultiple
;
/**
* 扣減積分
*/
private
Double
deductionIntegral
;
/**報表是否計算人數*/
/**報表是否計算人數*/
private
Integer
whetherReportCount
;
private
Integer
whetherReportCount
;
/**支付名稱*/
/**支付名稱*/
private
String
payName
;
private
String
payName
;
public
OrderPay
()
{
public
OrderPay
()
{
}
}
...
@@ -92,6 +103,11 @@ public class MealOrderPayRequest implements Parcelable{
...
@@ -92,6 +103,11 @@ public class MealOrderPayRequest implements Parcelable{
dest
.
writeDouble
(
this
.
amount
);
dest
.
writeDouble
(
this
.
amount
);
dest
.
writeDouble
(
this
.
tipsPrice
);
dest
.
writeDouble
(
this
.
tipsPrice
);
dest
.
writeValue
(
this
.
consumptionPoints
);
dest
.
writeValue
(
this
.
consumptionPoints
);
dest
.
writeValue
(
this
.
getIntegral
);
dest
.
writeValue
(
this
.
integralMultiple
);
dest
.
writeValue
(
this
.
deductionIntegral
);
dest
.
writeValue
(
this
.
whetherReportCount
);
dest
.
writeString
(
this
.
payName
);
}
}
protected
OrderPay
(
Parcel
in
)
{
protected
OrderPay
(
Parcel
in
)
{
...
@@ -99,6 +115,11 @@ public class MealOrderPayRequest implements Parcelable{
...
@@ -99,6 +115,11 @@ public class MealOrderPayRequest implements Parcelable{
this
.
amount
=
in
.
readDouble
();
this
.
amount
=
in
.
readDouble
();
this
.
tipsPrice
=
in
.
readDouble
();
this
.
tipsPrice
=
in
.
readDouble
();
this
.
consumptionPoints
=
(
Double
)
in
.
readValue
(
Double
.
class
.
getClassLoader
());
this
.
consumptionPoints
=
(
Double
)
in
.
readValue
(
Double
.
class
.
getClassLoader
());
this
.
getIntegral
=
(
Double
)
in
.
readValue
(
Double
.
class
.
getClassLoader
());
this
.
integralMultiple
=
(
Double
)
in
.
readValue
(
Double
.
class
.
getClassLoader
());
this
.
deductionIntegral
=
(
Double
)
in
.
readValue
(
Double
.
class
.
getClassLoader
());
this
.
whetherReportCount
=
(
Integer
)
in
.
readValue
(
Integer
.
class
.
getClassLoader
());
this
.
payName
=
in
.
readString
();
}
}
public
static
final
Creator
<
OrderPay
>
CREATOR
=
new
Creator
<
OrderPay
>()
{
public
static
final
Creator
<
OrderPay
>
CREATOR
=
new
Creator
<
OrderPay
>()
{
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/bean/PayMethod.java
View file @
d2a34349
...
@@ -128,15 +128,15 @@ public class PayMethod implements Parcelable {
...
@@ -128,15 +128,15 @@ public class PayMethod implements Parcelable {
/**
/**
* '獲取積分
* '獲取積分
*/
*/
private
int
getIntegral
;
private
double
getIntegral
;
/**
/**
* 積分倍數
* 積分倍數
*/
*/
private
int
integralMultiple
;
private
double
integralMultiple
;
/**
/**
* 扣減積分
* 扣減積分
*/
*/
private
float
deductionIntegral
;
private
double
deductionIntegral
;
/**
/**
* 對接類型 (0:否 1:yedpay 2:八達通 3:積分 )
* 對接類型 (0:否 1:yedpay 2:八達通 3:積分 )
*/
*/
...
@@ -277,9 +277,9 @@ public class PayMethod implements Parcelable {
...
@@ -277,9 +277,9 @@ public class PayMethod implements Parcelable {
dest
.
writeInt
(
this
.
whetherSignatureLine
);
dest
.
writeInt
(
this
.
whetherSignatureLine
);
dest
.
writeInt
(
this
.
paySeq
);
dest
.
writeInt
(
this
.
paySeq
);
dest
.
writeInt
(
this
.
whetherOpenBox
);
dest
.
writeInt
(
this
.
whetherOpenBox
);
dest
.
write
Int
(
this
.
getIntegral
);
dest
.
write
Double
(
this
.
getIntegral
);
dest
.
write
Int
(
this
.
integralMultiple
);
dest
.
write
Double
(
this
.
integralMultiple
);
dest
.
write
Float
(
this
.
deductionIntegral
);
dest
.
write
Double
(
this
.
deductionIntegral
);
dest
.
writeInt
(
this
.
dockingType
);
dest
.
writeInt
(
this
.
dockingType
);
dest
.
writeString
(
this
.
billType
);
dest
.
writeString
(
this
.
billType
);
dest
.
writeInt
(
this
.
tablePrintingAmount
);
dest
.
writeInt
(
this
.
tablePrintingAmount
);
...
@@ -320,9 +320,9 @@ public class PayMethod implements Parcelable {
...
@@ -320,9 +320,9 @@ public class PayMethod implements Parcelable {
this
.
whetherSignatureLine
=
in
.
readInt
();
this
.
whetherSignatureLine
=
in
.
readInt
();
this
.
paySeq
=
in
.
readInt
();
this
.
paySeq
=
in
.
readInt
();
this
.
whetherOpenBox
=
in
.
readInt
();
this
.
whetherOpenBox
=
in
.
readInt
();
this
.
getIntegral
=
in
.
read
Int
();
this
.
getIntegral
=
in
.
read
Double
();
this
.
integralMultiple
=
in
.
read
Int
();
this
.
integralMultiple
=
in
.
read
Double
();
this
.
deductionIntegral
=
in
.
read
Float
();
this
.
deductionIntegral
=
in
.
read
Double
();
this
.
dockingType
=
in
.
readInt
();
this
.
dockingType
=
in
.
readInt
();
this
.
billType
=
in
.
readString
();
this
.
billType
=
in
.
readString
();
this
.
tablePrintingAmount
=
in
.
readInt
();
this
.
tablePrintingAmount
=
in
.
readInt
();
...
...
library-ui/src/main/java/com/gingersoft/gsa/cloud/ui/AAChartCoreLib/AAChartConfiger/AAChartView.java
View file @
d2a34349
...
@@ -36,6 +36,8 @@ import android.content.Context;
...
@@ -36,6 +36,8 @@ import android.content.Context;
import
android.content.res.Configuration
;
import
android.content.res.Configuration
;
import
android.os.Build
;
import
android.os.Build
;
import
android.util.AttributeSet
;
import
android.util.AttributeSet
;
import
android.view.MotionEvent
;
import
android.view.View
;
import
android.webkit.JavascriptInterface
;
import
android.webkit.JavascriptInterface
;
import
android.webkit.JsResult
;
import
android.webkit.JsResult
;
import
android.webkit.WebChromeClient
;
import
android.webkit.WebChromeClient
;
...
@@ -53,6 +55,7 @@ import java.util.Map;
...
@@ -53,6 +55,7 @@ import java.util.Map;
public
class
AAChartView
extends
WebView
{
public
class
AAChartView
extends
WebView
{
public
interface
AAChartViewCallBack
{
public
interface
AAChartViewCallBack
{
void
chartViewDidFinishLoad
(
AAChartView
aaChartView
);
void
chartViewDidFinishLoad
(
AAChartView
aaChartView
);
...
@@ -68,6 +71,9 @@ public class AAChartView extends WebView {
...
@@ -68,6 +71,9 @@ public class AAChartView extends WebView {
public
Boolean
isClearBackgroundColor
;
public
Boolean
isClearBackgroundColor
;
public
AAChartViewCallBack
callBack
;
public
AAChartViewCallBack
callBack
;
public
void
setContentWidth
(
Float
contentWidth
)
{
public
void
setContentWidth
(
Float
contentWidth
)
{
this
.
contentWidth
=
contentWidth
;
this
.
contentWidth
=
contentWidth
;
String
jsStr
=
"setTheChartViewContentWidth('"
String
jsStr
=
"setTheChartViewContentWidth('"
...
...
library-ui/src/main/java/com/gingersoft/gsa/cloud/ui/adapter/TagViewAdapter.java
0 → 100644
View file @
d2a34349
package
com
.
gingersoft
.
gsa
.
cloud
.
ui
.
adapter
;
import
android.content.res.ColorStateList
;
import
androidx.annotation.Nullable
;
import
com.chad.library.adapter.base.BaseQuickAdapter
;
import
com.chad.library.adapter.base.viewholder.BaseViewHolder
;
import
com.gingersoft.gsa.cloud.ui.R
;
import
com.gingersoft.gsa.cloud.ui.bean.TagViewItem
;
import
com.gingersoft.gsa.cloud.ui.bean.view.SectionTextItem
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
;
import
java.util.List
;
public
class
TagViewAdapter
extends
BaseQuickAdapter
<
TagViewItem
,
BaseViewHolder
>
{
public
TagViewAdapter
(
@Nullable
List
<
TagViewItem
>
data
)
{
super
(
R
.
layout
.
item_tag_view
,
data
);
}
@Override
protected
void
convert
(
BaseViewHolder
helper
,
TagViewItem
item
)
{
QMUIRoundButton
roundButton
=
helper
.
getView
(
R
.
id
.
btn_tag
);
roundButton
.
setText
(
item
.
getText
());
roundButton
.
setTextSize
(
item
.
getTextSize
());
if
(
item
.
isChecked
())
{
roundButton
.
setBackgroundColor
(
item
.
getCheckedBgColor
());
roundButton
.
setStrokeColors
(
ColorStateList
.
valueOf
(
item
.
getCheckedBgColor
()));
roundButton
.
setTextColor
(
item
.
getCheckedTextColor
());
}
else
{
roundButton
.
setBackgroundColor
(
item
.
getUnCheckedBgColor
());
roundButton
.
setStrokeColors
(
ColorStateList
.
valueOf
(
item
.
getSidelineColor
()));
roundButton
.
setTextColor
(
item
.
getUnCheckedTextColor
());
}
}
}
library-ui/src/main/java/com/gingersoft/gsa/cloud/ui/bean/TagViewItem.java
0 → 100644
View file @
d2a34349
package
com
.
gingersoft
.
gsa
.
cloud
.
ui
.
bean
;
import
android.view.View
;
import
com.gingersoft.gsa.cloud.app.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.common.R2
;
import
com.gingersoft.gsa.cloud.ui.R
;
import
com.jess.arms.utils.ArmsUtils
;
import
butterknife.BindColor
;
import
butterknife.BindDimen
;
import
butterknife.ButterKnife
;
import
lombok.Data
;
/**
* @作者: bin
* @創建時間: 2021-04-06 15:14
* @更新時間: 2021-04-06 15:14
* @描述:
*/
@Data
public
class
TagViewItem
<
T
>
{
private
long
id
;
private
String
text
;
int
textSize
=
14
;
//选择字体颜色
int
checkedTextColor
;
//未选择字体颜色
int
unCheckedTextColor
;
//边线颜色
int
sidelineColor
;
//选择背景色
int
checkedBgColor
;
//未选择背景色
int
unCheckedBgColor
;
boolean
checked
=
false
;
//目标对象
private
T
targetObj
;
public
TagViewItem
()
{
checkedTextColor
=
ArmsUtils
.
getColor
(
GsaCloudApplication
.
getAppContext
(),
R
.
color
.
theme_grey_color
);
unCheckedTextColor
=
ArmsUtils
.
getColor
(
GsaCloudApplication
.
getAppContext
(),
R
.
color
.
theme_grey_color
);
sidelineColor
=
ArmsUtils
.
getColor
(
GsaCloudApplication
.
getAppContext
(),
R
.
color
.
theme_grey_color
);
checkedBgColor
=
ArmsUtils
.
getColor
(
GsaCloudApplication
.
getAppContext
(),
R
.
color
.
theme_color
);
unCheckedBgColor
=
ArmsUtils
.
getColor
(
GsaCloudApplication
.
getAppContext
(),
R
.
color
.
theme_white_color
);
}
}
library-ui/src/main/res/layout/item_tag_view.xml
0 → 100644
View file @
d2a34349
<?xml version="1.0" encoding="utf-8"?>
<com.qmuiteam.qmui.widget.roundwidget.QMUIRoundButton
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:id=
"@+id/btn_tag"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_margin=
"@dimen/dp_8"
android:paddingLeft=
"@dimen/dp_15"
android:paddingRight=
"@dimen/dp_15"
android:paddingTop=
"@dimen/dp_12"
android:paddingBottom=
"@dimen/dp_12"
android:textSize=
"@dimen/dp_16"
android:textColor=
"@color/theme_grey_color"
android:text=
"草莓派"
app:qmui_radius=
"@dimen/dp_5"
app:qmui_borderColor=
"@color/theme_grey_color"
>
</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