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
ce4cd6d7
Commit
ce4cd6d7
authored
Oct 31, 2020
by
宁斌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
引入rxjava工具類
parent
0d0fc54b
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
48 changed files
with
462 additions
and
558 deletions
+462
-558
arms/build.gradle
+1
-1
base-module/build.gradle
+3
-1
base-module/src/main/java/com/gingersoft/gsa/cloud/aspectj/XClickUtil.java
+0
-37
base-module/src/main/java/com/gingersoft/gsa/cloud/base/application/GsaCloudApplication.java
+33
-49
base-module/src/main/java/com/gingersoft/gsa/cloud/base/utils/UserDataUtils.java
+0
-44
base-module/src/main/java/com/gingersoft/gsa/cloud/base/utils/VibratorUtils.java
+4
-3
base-module/src/main/java/com/gingersoft/gsa/cloud/base/utils/other/SPUtils.java
+15
-19
base-module/src/main/java/com/gingersoft/gsa/cloud/bean/expandInfo/ExpandInfoSetting.java
+40
-6
base-module/src/main/java/com/gingersoft/gsa/cloud/constans/HttpsConstans.java
+1
-1
base-module/src/main/java/com/gingersoft/gsa/cloud/print/PrinterUtils.java
+2
-3
config.gradle
+1
-1
login-module/src/main/java/com/gingersoft/gsa/cloud/login/mvp/contract/LoginInterfaceImpl.java
+2
-2
login-module/src/main/java/com/gingersoft/gsa/cloud/login/mvp/presenter/BaseLoginPresenter.java
+1
-1
login-module/src/main/java/com/gingersoft/gsa/cloud/login/mvp/ui/activity/mvp/ui/activity/LoginActivity.java
+9
-9
login-module/src/main/java/com/gingersoft/gsa/cloud/login/mvp/ui/activity/mvp/ui/activity/SwitchServerActivity.java
+2
-1
login-module/src/main/java/com/gingersoft/gsa/cloud/login/mvp/ui/activity/mvp/ui/activity/WelcomeActivity.java
+5
-5
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/NewMainActivity.java
+1
-1
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/SettlementReportActivity.java
+2
-2
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/bean/discount/OrderDiscount.java
+7
-112
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/cart/ShoppingCart.java
+12
-11
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/commodity/MealCommodity.java
+2
-1
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/commodity/OrderDetail.java
+11
-1
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/discount/NomalDiscount.java
+10
-1
print-module/src/main/java/com/joe/print/mvp/ui/activity/PrintActivity.java
+2
-2
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/MealStandModel.java
+4
-8
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/OrderContentModel.java
+3
-1
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/discount/BillDiscountAction.java
+54
-17
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/discount/DiscountAction.java
+0
-17
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/discount/MealDiscountAction.java
+90
-27
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/AllTablePresenter.java
+1
-0
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
+0
-0
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/MealStandPresenter.java
+31
-48
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderContentPresenter.java
+12
-9
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/TablePresenter.java
+5
-2
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity.java
+20
-15
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/TableActivity.java
+1
-0
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/FineItemOneAdapter.java
+4
-18
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/FineItemTwoAdapter.java
+10
-26
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/OrderTopFunctionAdapter.java
+12
-2
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/TableAdapter.java
+11
-4
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/ComboAdapter.java
+1
-0
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/DiscountAdapter.java
+0
-11
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/FoodAdapter.java
+4
-5
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/FoodGroupAdapter.java
+2
-4
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/SelectMealAdapter.java
+16
-14
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/widget/FlowLayout.java
+1
-2
table-module/src/main/res/layout/meal_dialog_use_member.xml
+2
-2
table-module/src/main/res/layout/table_dialog_keyboard.xml
+12
-12
No files found.
arms/build.gradle
View file @
ce4cd6d7
...
...
@@ -101,7 +101,7 @@ dependencies {
exclude
module:
'support-annotations'
}
api
rootProject
.
ext
.
dependencies
[
'rxerrorhandler2'
]
api
rootProject
.
ext
.
dependencies
[
"rxbinding"
]
api
rootProject
.
ext
.
dependencies
[
"rxbinding
2
"
]
//network
api
(
rootProject
.
ext
.
dependencies
[
"retrofit"
])
{
exclude
module:
'okhttp'
...
...
base-module/build.gradle
View file @
ce4cd6d7
...
...
@@ -97,7 +97,7 @@ dependencies {
api
'com.github.lihangleo2:ShadowLayout:2.1.6'
//時間選擇控件
api
'com.contrarywind:Android-PickerView:3.2.4'
implementation
'org.aspectj:aspectjrt:1.8.9'
//
implementation 'org.aspectj:aspectjrt:1.8.9'
//商米打印庫
api
'com.sunmi:printerlibrary:1.0.7'
//上下拉刷新
...
...
@@ -108,6 +108,8 @@ dependencies {
api
'cn.bingoogolapple:bga-qrcode-zxing:1.3.7'
//加载反馈页管理
api
rootProject
.
ext
.
dependencies
[
"loadsir"
]
//rxjava,rxbinding相關工具類
api
'com.github.xuexiangjys:RxUtil2:1.1.5'
api
rootProject
.
ext
.
dependencies
[
"permissionx"
]
api
rootProject
.
ext
.
dependencies
[
"design"
]
...
...
base-module/src/main/java/com/gingersoft/gsa/cloud/aspectj/XClickUtil.java
deleted
100644 → 0
View file @
0d0fc54b
package
com
.
gingersoft
.
gsa
.
cloud
.
aspectj
;
import
android.view.View
;
/**
* Created by Wyh on 2020/2/29.
*/
public
class
XClickUtil
{
/**
* 最近一次点击的时间
*/
private
static
long
mLastClickTime
;
/**
* 最近一次点击的控件ID
*/
private
static
int
mLastClickViewId
;
/**
* 是否是快速点击
*
* @param v 点击的控件
* @param intervalMillis 时间间期(毫秒)
* @return true:是,false:不是
*/
public
static
boolean
isFastDoubleClick
(
View
v
,
long
intervalMillis
)
{
int
viewId
=
v
.
getId
();
long
time
=
System
.
currentTimeMillis
();
long
timeInterval
=
Math
.
abs
(
time
-
mLastClickTime
);
if
(
timeInterval
<
intervalMillis
&&
viewId
==
mLastClickViewId
)
{
return
true
;
}
else
{
mLastClickTime
=
time
;
mLastClickViewId
=
viewId
;
return
false
;
}
}
}
base-module/src/main/java/com/gingersoft/gsa/cloud/base/application/GsaCloudApplication.java
View file @
ce4cd6d7
...
...
@@ -112,6 +112,9 @@ public class GsaCloudApplication extends BaseApplication {
public
void
onCreate
()
{
super
.
onCreate
();
mAppContext
=
this
;
isLogin
=
(
boolean
)
SPUtils
.
get
(
PrintConstans
.
IS_LOGIN
,
false
);
CC
.
enableVerboseLog
(
true
);
CC
.
enableDebug
(
true
);
CC
.
enableRemoteCC
(
true
);
...
...
@@ -139,12 +142,8 @@ public class GsaCloudApplication extends BaseApplication {
uiStyleConfiguration
=
new
UIStyleExtendedConfiguration
();
functionConfiguration
=
new
FunctionExtendedConfiguration
();
isLogin
=
(
boolean
)
SPUtils
.
get
(
this
,
PrintConstans
.
IS_LOGIN
,
false
);
//上傳餐廳擴展信息
ExpandInfoSetting
.
initUpdateExtendedConfiguration
(
uiStyleConfiguration
,
functionConfiguration
);
//獲取餐廳擴展表數據
initExpandInfo
();
ExpandInfoSetting
.
initUpdateExtendedConfiguration
(
uiStyleConfiguration
,
functionConfiguration
);
// 设定一些通用的属性,这些属性在每次统计事件中都会附带
// 注意:如果此处的属性名与内置属性的名称相同,则内置属性会被覆盖
...
...
@@ -162,21 +161,6 @@ public class GsaCloudApplication extends BaseApplication {
// Tracker.INSTANCE.initialize(this);
}
private
void
initExpandInfo
()
{
//在IO线程执行数据库处理操作
Observable
.
just
(
0
)
.
subscribeOn
(
Schedulers
.
io
())
.
subscribe
(
new
Consumer
<
Integer
>()
{
@Override
public
void
accept
(
@io
.
reactivex
.
annotations
.
NonNull
Integer
integer
)
throws
Exception
{
ExpandInfoDaoUtils
expandInfoDaoUtils
=
new
ExpandInfoDaoUtils
(
getAppContext
());
List
<
ExpandInfo
>
expandInfos
=
expandInfoDaoUtils
.
queryAllExpandInfo
();
if
(
expandInfos
!=
null
)
{
RestaurantExpandInfoUtils
.
setCommonExpandInfo
(
expandInfos
);
}
}
});
}
public
Activity
getCurrentActivity
()
{
return
mCurrentActivity
;
...
...
@@ -270,7 +254,7 @@ public class GsaCloudApplication extends BaseApplication {
}
else
{
//如果當前機型不是上面兩種,那麼設置默認打印為ip打印
//這個默認值的優先級<用戶在打印機列表中設置的默認打印機
SPUtils
.
put
(
this
,
PrintConstans
.
DEFAULT_PRINT_METHOD
,
PrintConstans
.
IP_PRINT
);
SPUtils
.
put
(
PrintConstans
.
DEFAULT_PRINT_METHOD
,
PrintConstans
.
IP_PRINT
);
}
}
...
...
@@ -427,52 +411,52 @@ public class GsaCloudApplication extends BaseApplication {
//获取登陆token
public
static
String
getLoginToken
()
{
return
(
String
)
SPUtils
.
get
(
mAppContext
,
UserConstans
.
token
,
""
);
return
(
String
)
SPUtils
.
get
(
UserConstans
.
token
,
""
);
}
public
static
int
getMemberId
()
{
return
(
int
)
SPUtils
.
get
(
mAppContext
,
UserConstans
.
memberId
,
0
);
return
(
int
)
SPUtils
.
get
(
UserConstans
.
memberId
,
0
);
}
public
static
int
getBrandId
()
{
return
(
int
)
SPUtils
.
get
(
mAppContext
,
UserConstans
.
brandId
,
0
);
return
(
int
)
SPUtils
.
get
(
UserConstans
.
brandId
,
0
);
}
public
static
String
getBrandName
()
{
return
(
String
)
SPUtils
.
get
(
mAppContext
,
UserConstans
.
brandName
,
""
);
return
(
String
)
SPUtils
.
get
(
UserConstans
.
brandName
,
""
);
}
public
static
int
getRestaurantId
()
{
return
(
int
)
SPUtils
.
get
(
mAppContext
,
UserConstans
.
restaurantId
,
0
);
return
(
int
)
SPUtils
.
get
(
UserConstans
.
restaurantId
,
0
);
}
public
static
String
getRestaurantName
()
{
return
(
String
)
SPUtils
.
get
(
mAppContext
,
UserConstans
.
restaurantName
,
""
);
return
(
String
)
SPUtils
.
get
(
UserConstans
.
restaurantName
,
""
);
}
public
static
String
getMemberName
()
{
return
(
String
)
SPUtils
.
get
(
mAppContext
,
UserConstans
.
memberName
,
""
);
return
(
String
)
SPUtils
.
get
(
UserConstans
.
memberName
,
""
);
}
public
static
String
getBrandRestaurantInfo
()
{
return
(
String
)
SPUtils
.
get
(
mAppContext
,
UserConstans
.
brandRestaurantInfos
,
""
);
return
(
String
)
SPUtils
.
get
(
UserConstans
.
brandRestaurantInfos
,
""
);
}
public
static
String
getGsPosShopId
()
{
return
(
String
)
SPUtils
.
get
(
mAppContext
,
UserConstans
.
gsPosShopId
,
"-1"
);
return
(
String
)
SPUtils
.
get
(
UserConstans
.
gsPosShopId
,
"-1"
);
}
public
static
void
logOut
()
{
SPUtils
.
remove
(
getAppContext
(),
UserConstans
.
token
);
SPUtils
.
remove
(
getAppContext
(),
UserConstans
.
memberId
);
SPUtils
.
remove
(
getAppContext
(),
UserConstans
.
brandId
);
SPUtils
.
remove
(
getAppContext
(),
UserConstans
.
brandName
);
SPUtils
.
remove
(
getAppContext
(),
UserConstans
.
restaurantId
);
SPUtils
.
remove
(
getAppContext
(),
UserConstans
.
restaurantName
);
SPUtils
.
remove
(
getAppContext
(),
UserConstans
.
memberName
);
SPUtils
.
remove
(
getAppContext
(),
UserConstans
.
brandRestaurantInfos
);
SPUtils
.
remove
(
getAppContext
(),
UserConstans
.
gsPosShopId
);
SPUtils
.
put
(
getAppContext
(),
PrintConstans
.
IS_LOGIN
,
false
);
SPUtils
.
remove
(
UserConstans
.
token
);
SPUtils
.
remove
(
UserConstans
.
memberId
);
SPUtils
.
remove
(
UserConstans
.
brandId
);
SPUtils
.
remove
(
UserConstans
.
brandName
);
SPUtils
.
remove
(
UserConstans
.
restaurantId
);
SPUtils
.
remove
(
UserConstans
.
restaurantName
);
SPUtils
.
remove
(
UserConstans
.
memberName
);
SPUtils
.
remove
(
UserConstans
.
brandRestaurantInfos
);
SPUtils
.
remove
(
UserConstans
.
gsPosShopId
);
SPUtils
.
put
(
PrintConstans
.
IS_LOGIN
,
false
);
//关闭Prj打印服務
CC
.
obtainBuilder
(
"Component.Print"
)
.
setActionName
(
"stopPrintService"
)
...
...
@@ -500,39 +484,39 @@ public class GsaCloudApplication extends BaseApplication {
}
public
static
void
setLoginToken
(
Context
context
,
String
token
)
{
SPUtils
.
put
(
mAppContext
,
UserConstans
.
token
,
token
);
SPUtils
.
put
(
UserConstans
.
token
,
token
);
}
public
static
void
setMemberId
(
Context
context
,
int
memberId
)
{
SPUtils
.
put
(
mAppContext
,
UserConstans
.
memberId
,
memberId
);
SPUtils
.
put
(
UserConstans
.
memberId
,
memberId
);
}
public
static
void
setMemberName
(
Context
context
,
String
memberName
)
{
SPUtils
.
put
(
mAppContext
,
UserConstans
.
memberName
,
memberName
);
SPUtils
.
put
(
UserConstans
.
memberName
,
memberName
);
}
public
static
void
setBrandId
(
Context
context
,
int
restaurantId
)
{
SPUtils
.
put
(
mAppContext
,
UserConstans
.
brandId
,
restaurantId
);
SPUtils
.
put
(
UserConstans
.
brandId
,
restaurantId
);
}
public
static
void
setBrandName
(
Context
context
,
String
restaurantName
)
{
SPUtils
.
put
(
mAppContext
,
UserConstans
.
brandName
,
restaurantName
);
SPUtils
.
put
(
UserConstans
.
brandName
,
restaurantName
);
}
public
static
void
setRestaurantId
(
Context
context
,
int
restaurantId
)
{
SPUtils
.
put
(
mAppContext
,
UserConstans
.
restaurantId
,
restaurantId
);
SPUtils
.
put
(
UserConstans
.
restaurantId
,
restaurantId
);
}
public
static
void
setRestaurantName
(
Context
context
,
String
restaurantName
)
{
SPUtils
.
put
(
mAppContext
,
UserConstans
.
restaurantName
,
restaurantName
);
SPUtils
.
put
(
UserConstans
.
restaurantName
,
restaurantName
);
}
public
static
void
setBrandRestaurantInfos
(
Context
context
,
String
brandRestaurantIds
)
{
SPUtils
.
put
(
mAppContext
,
UserConstans
.
brandRestaurantInfos
,
brandRestaurantIds
);
SPUtils
.
put
(
UserConstans
.
brandRestaurantInfos
,
brandRestaurantIds
);
}
public
static
void
setGsPosShopId
(
Context
context
,
String
gsPosShopId
)
{
SPUtils
.
put
(
mAppContext
,
UserConstans
.
gsPosShopId
,
gsPosShopId
);
SPUtils
.
put
(
UserConstans
.
gsPosShopId
,
gsPosShopId
);
}
public
static
void
clearMemberInfo
()
{
...
...
base-module/src/main/java/com/gingersoft/gsa/cloud/base/utils/UserDataUtils.java
deleted
100644 → 0
View file @
0d0fc54b
package
com
.
gingersoft
.
gsa
.
cloud
.
base
.
utils
;
import
android.content.Context
;
import
com.gingersoft.gsa.cloud.constans.UserConstans
;
import
com.gingersoft.gsa.cloud.base.utils.other.SPUtils
;
/**
* 作者:ELEGANT_BIN
* 版本:1.6.0
* 创建日期:2019-12-29
* 修订历史:2019-12-29
* 描述:
*/
public
class
UserDataUtils
{
//获取登陆token
public
static
String
getLoginToken
(
Context
context
)
{
return
(
String
)
SPUtils
.
get
(
context
,
UserConstans
.
token
,
"0"
);
}
public
static
String
getMemberId
(
Context
context
)
{
return
(
String
)
SPUtils
.
get
(
context
,
UserConstans
.
memberId
,
"0"
);
}
public
static
String
getRestaurantId
(
Context
context
)
{
return
(
String
)
SPUtils
.
get
(
context
,
UserConstans
.
restaurantId
,
""
);
}
public
static
void
setMemberId
(
Context
context
,
int
memberId
)
{
SPUtils
.
put
(
context
,
UserConstans
.
memberId
,
memberId
);
}
public
static
void
setLoginToken
(
Context
context
,
String
token
)
{
SPUtils
.
put
(
context
,
UserConstans
.
token
,
token
);
}
public
static
void
setRestaurantId
(
Context
context
,
int
restaurantId
)
{
SPUtils
.
put
(
context
,
UserConstans
.
restaurantId
,
restaurantId
);
}
}
base-module/src/main/java/com/gingersoft/gsa/cloud/base/utils/VibratorUtils.java
View file @
ce4cd6d7
...
...
@@ -4,6 +4,7 @@ import android.content.Context;
import
android.media.AudioManager
;
import
android.media.SoundPool
;
import
android.os.Vibrator
;
import
com.gingersoft.gsa.cloud.base.R
;
import
com.gingersoft.gsa.cloud.constans.AppConstans
;
import
com.gingersoft.gsa.cloud.base.utils.other.SPUtils
;
...
...
@@ -22,8 +23,8 @@ public class VibratorUtils {
public
static
void
pressButtonSound
(
Context
context
)
{
SoundPool
soundPool
=
new
SoundPool
(
1
,
AudioManager
.
STREAM_SYSTEM
,
0
);
soundPool
.
load
(
context
,
R
.
raw
.
beep
,
1
);
int
vibrationProgress
=
(
int
)
SPUtils
.
get
(
context
,
AppConstans
.
VIBRATION_PROGRESS
,
0
);
int
presssoundProgress
=
(
int
)
SPUtils
.
get
(
context
,
AppConstans
.
PRESSSOUND_PROGRESS
,
0
);
int
vibrationProgress
=
(
int
)
SPUtils
.
get
(
AppConstans
.
VIBRATION_PROGRESS
,
0
);
int
presssoundProgress
=
(
int
)
SPUtils
.
get
(
AppConstans
.
PRESSSOUND_PROGRESS
,
0
);
try
{
Vibrator
vibrator
=
(
Vibrator
)
context
.
getSystemService
(
Context
.
VIBRATOR_SERVICE
);
if
(
vibrationProgress
>
0
)
{
...
...
@@ -36,7 +37,7 @@ public class VibratorUtils {
}
}
public
void
setJumpActivity
(
Class
clazz
){
public
void
setJumpActivity
(
Class
clazz
)
{
}
}
base-module/src/main/java/com/gingersoft/gsa/cloud/base/utils/other/SPUtils.java
View file @
ce4cd6d7
...
...
@@ -3,6 +3,8 @@ package com.gingersoft.gsa.cloud.base.utils.other;
import
android.content.Context
;
import
android.content.SharedPreferences
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
java.lang.reflect.InvocationTargetException
;
import
java.lang.reflect.Method
;
import
java.util.Map
;
...
...
@@ -24,11 +26,11 @@ public class SPUtils {
*
* @return void 返回类型
*/
public
static
void
put
(
Context
context
,
String
key
,
Object
object
)
{
SharedPreferences
sp
=
context
.
getSharedPreferences
(
FILE_NAME
,
public
static
void
put
(
String
key
,
Object
object
)
{
SharedPreferences
sp
=
GsaCloudApplication
.
getAppContext
()
.
getSharedPreferences
(
FILE_NAME
,
Context
.
MODE_PRIVATE
);
SharedPreferences
.
Editor
editor
=
sp
.
edit
();
if
(
object
==
null
)
{
if
(
object
==
null
)
{
editor
.
remove
(
key
);
SharedPreferencesCompat
.
apply
(
editor
);
return
;
...
...
@@ -53,13 +55,12 @@ public class SPUtils {
/**
* 得到保存数据的方法,根据默认值得到保存的数据的具体类型,然后调用相对于的方法获取值
*
* @param context
* @param key
* @param defaultObject
* @return
*/
public
static
Object
get
(
Context
context
,
String
key
,
Object
defaultObject
)
{
SharedPreferences
sp
=
context
.
getSharedPreferences
(
FILE_NAME
,
public
static
Object
get
(
String
key
,
Object
defaultObject
)
{
SharedPreferences
sp
=
GsaCloudApplication
.
getAppContext
()
.
getSharedPreferences
(
FILE_NAME
,
Context
.
MODE_PRIVATE
);
if
(
defaultObject
instanceof
String
)
{
...
...
@@ -80,11 +81,10 @@ public class SPUtils {
/**
* 移除某个key值已经对应的值
*
* @param context
* @param key
*/
public
static
void
remove
(
Context
context
,
String
key
)
{
SharedPreferences
sp
=
context
.
getSharedPreferences
(
FILE_NAME
,
public
static
void
remove
(
String
key
)
{
SharedPreferences
sp
=
GsaCloudApplication
.
getAppContext
()
.
getSharedPreferences
(
FILE_NAME
,
Context
.
MODE_PRIVATE
);
SharedPreferences
.
Editor
editor
=
sp
.
edit
();
editor
.
remove
(
key
);
...
...
@@ -93,11 +93,9 @@ public class SPUtils {
/**
* 清除所有数据
*
* @param context
*/
public
static
void
clear
(
Context
context
)
{
SharedPreferences
sp
=
context
.
getSharedPreferences
(
FILE_NAME
,
public
static
void
clear
()
{
SharedPreferences
sp
=
GsaCloudApplication
.
getAppContext
()
.
getSharedPreferences
(
FILE_NAME
,
Context
.
MODE_PRIVATE
);
SharedPreferences
.
Editor
editor
=
sp
.
edit
();
editor
.
clear
();
...
...
@@ -107,12 +105,11 @@ public class SPUtils {
/**
* 查询某个key是否已经存在
*
* @param context
* @param key
* @return
*/
public
static
boolean
contains
(
Context
context
,
String
key
)
{
SharedPreferences
sp
=
context
.
getSharedPreferences
(
FILE_NAME
,
public
static
boolean
contains
(
String
key
)
{
SharedPreferences
sp
=
GsaCloudApplication
.
getAppContext
()
.
getSharedPreferences
(
FILE_NAME
,
Context
.
MODE_PRIVATE
);
return
sp
.
contains
(
key
);
}
...
...
@@ -120,11 +117,10 @@ public class SPUtils {
/**
* 返回所有的键值对
*
* @param context
* @return
*/
public
static
Map
<
String
,
?>
getAll
(
Context
context
)
{
SharedPreferences
sp
=
context
.
getSharedPreferences
(
FILE_NAME
,
public
static
Map
<
String
,
?>
getAll
()
{
SharedPreferences
sp
=
GsaCloudApplication
.
getAppContext
()
.
getSharedPreferences
(
FILE_NAME
,
Context
.
MODE_PRIVATE
);
return
sp
.
getAll
();
}
...
...
base-module/src/main/java/com/gingersoft/gsa/cloud/bean/expandInfo/ExpandInfoSetting.java
View file @
ce4cd6d7
package
com
.
gingersoft
.
gsa
.
cloud
.
bean
.
expandInfo
;
import
android.util.SparseArray
;
import
com.gingersoft.gsa.cloud.base.Api
;
import
com.gingersoft.gsa.cloud.base.utils.JsonUtils
;
import
com.gingersoft.gsa.cloud.base.utils.ReflectionUtils
;
import
com.gingersoft.gsa.cloud.base.utils.RestaurantExpandInfoUtils
;
import
com.gingersoft.gsa.cloud.base.utils.okhttpUtils.OkHttp3Utils
;
import
com.gingersoft.gsa.cloud.constans.HttpsConstans
;
import
com.gingersoft.gsa.cloud.database.bean.ExpandInfo
;
import
com.gingersoft.gsa.cloud.database.utils.ExpandInfoDaoUtils
;
import
java.lang.reflect.Field
;
import
java.lang.reflect.InvocationTargetException
;
...
...
@@ -13,7 +17,10 @@ import java.lang.reflect.Method;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
io.reactivex.Observable
;
import
io.reactivex.Observer
;
import
io.reactivex.disposables.Disposable
;
import
io.reactivex.functions.Consumer
;
import
io.reactivex.schedulers.Schedulers
;
import
lombok.Builder
;
...
...
@@ -22,6 +29,8 @@ import lombok.Setter;
import
okhttp3.MediaType
;
import
okhttp3.RequestBody
;
import
static
com
.
gingersoft
.
gsa
.
cloud
.
base
.
application
.
GsaCloudApplication
.
getAppContext
;
/**
* @author : bin
* @create date: 2020-10-20
...
...
@@ -62,7 +71,7 @@ public class ExpandInfoSetting {
public
static
void
initUpdateExtendedConfiguration
(
Object
...
objects
)
{
Observable
.
just
(
0
)
.
subscribeOn
(
Schedulers
.
newThread
())
.
subscribeOn
(
Schedulers
.
io
())
.
subscribe
(
new
Consumer
<
Integer
>()
{
@Override
public
void
accept
(
@io
.
reactivex
.
annotations
.
NonNull
Integer
integer
)
throws
Exception
{
...
...
@@ -73,10 +82,35 @@ public class ExpandInfoSetting {
}
String
expandInfoListJson
=
JsonUtils
.
toJson
(
expandInfoSettingList
);
RequestBody
requestBody
=
RequestBody
.
create
(
MediaType
.
parse
(
"application/json"
),
expandInfoListJson
);
OkHttp3Utils
.
post
(
HttpsConstans
.
ROOT_SERVER_ADDRESS_FORMAL
+
Api
.
add_restaurant_base_table_configuration
,
requestBody
)
.
subscribe
();
RequestBody
requestBody
=
RequestBody
.
create
(
MediaType
.
parse
(
"application/json"
),
expandInfoListJson
);
OkHttp3Utils
.
post
(
HttpsConstans
.
ROOT_SERVER_ADDRESS_FORMAL
+
Api
.
add_restaurant_base_table_configuration
,
requestBody
)
.
subscribe
(
new
Observer
<
String
>()
{
@Override
public
void
onSubscribe
(
Disposable
d
)
{
}
@Override
public
void
onNext
(
String
s
)
{
int
i
=
1
;
}
@Override
public
void
onError
(
Throwable
e
)
{
}
@Override
public
void
onComplete
()
{
//從本地獲取餐廳擴展表數據
ExpandInfoDaoUtils
expandInfoDaoUtils
=
new
ExpandInfoDaoUtils
(
getAppContext
());
List
<
ExpandInfo
>
expandInfos
=
expandInfoDaoUtils
.
queryAllExpandInfo
();
if
(
expandInfos
!=
null
)
{
RestaurantExpandInfoUtils
.
setCommonExpandInfo
(
expandInfos
);
}
}
});
}
});
}
...
...
@@ -99,7 +133,7 @@ public class ExpandInfoSetting {
Class
<?>
returnClass
=
method
.
getReturnType
();
if
(
method
.
getName
().
startsWith
(
"get"
)
&&
returnClass
.
equals
(
ExpandInfoSetting
.
class
))
{
try
{
Object
[]
objs
=
{};
Object
[]
objs
=
{};
//反射執行get方法 獲取每個配置類信息
ExpandInfoSetting
expandInfo
=
(
ExpandInfoSetting
)
ReflectionUtils
.
invokeMethod
(
method
,
obj
,
objs
);
//獲取完整的settingName
...
...
base-module/src/main/java/com/gingersoft/gsa/cloud/constans/HttpsConstans.java
View file @
ce4cd6d7
...
...
@@ -115,7 +115,7 @@ public class HttpsConstans {
public
static
String
RICEPON_MEMBER_61177
;
public
static
void
init
(
Context
context
)
{
isFormal
=
(
int
)
SPUtils
.
get
(
context
,
"isFormal"
,
-
1
);
isFormal
=
(
int
)
SPUtils
.
get
(
"isFormal"
,
-
1
);
if
(
isFormal
==
-
1
&&
BuildConfig
.
DEBUG
)
{
//如果沒有手動配置過服務器,並且是DEBUG模式,默認是測試服務器
isFormal
=
1
;
...
...
base-module/src/main/java/com/gingersoft/gsa/cloud/print/PrinterUtils.java
View file @
ce4cd6d7
...
...
@@ -141,7 +141,6 @@ public class PrinterUtils {
* and executes a full cut ( cuts the paper completely )
*
* @return bytes for this command
* @return bytes for this command
*/
public
static
byte
[]
feedPaperCut
()
{
return
PrintCommands
.
selectCutModeAndCutPaper
(
1
,
0
);
...
...
@@ -441,7 +440,7 @@ public class PrinterUtils {
function
.
setLable
(
"本機"
);
orderTopFunctionAdapter
.
notifyDataSetChanged
();
}
SPUtils
.
put
(
dialog
.
getContext
(),
PrintConstans
.
DEFAULT_PRINT_METHOD
,
PrintConstans
.
LOCAL_PRINT
);
SPUtils
.
put
(
PrintConstans
.
DEFAULT_PRINT_METHOD
,
PrintConstans
.
LOCAL_PRINT
);
dialog
.
dismiss
();
});
hepler
.
setViewClick
(
R
.
id
.
internet_print
,
v
->
{
...
...
@@ -450,7 +449,7 @@ public class PrinterUtils {
function
.
setLable
(
"網絡"
);
orderTopFunctionAdapter
.
notifyDataSetChanged
();
}
SPUtils
.
put
(
dialog
.
getContext
(),
PrintConstans
.
DEFAULT_PRINT_METHOD
,
PrintConstans
.
IP_PRINT
);
SPUtils
.
put
(
PrintConstans
.
DEFAULT_PRINT_METHOD
,
PrintConstans
.
IP_PRINT
);
dialog
.
dismiss
();
});
}
...
...
config.gradle
View file @
ce4cd6d7
...
...
@@ -81,7 +81,7 @@ ext {
//rxbinding
"rxbinding
"
:
"com.jakewharton.rxbinding4:rxbinding:4.0.0
"
,
"rxbinding
2"
:
"com.jakewharton.rxbinding2:rxbinding:2.1.1
"
,
//tools
"dagger2"
:
"com.google.dagger:dagger:${version["
dagger2SdkVersion
"]}"
,
...
...
login-module/src/main/java/com/gingersoft/gsa/cloud/login/mvp/contract/LoginInterfaceImpl.java
View file @
ce4cd6d7
...
...
@@ -46,7 +46,7 @@ public abstract class LoginInterfaceImpl<P extends BaseLoginPresenter> extends B
restaurantSize
=
RestaurantInfoUtils
.
getRestaurantSize
(
brands
);
brandsBeans
.
addAll
(
brands
);
}
boolean
autoLogin
=
(
boolean
)
SPUtils
.
get
(
mContext
,
UserConstans
.
AUTO_LOGIN
,
false
);
boolean
autoLogin
=
(
boolean
)
SPUtils
.
get
(
UserConstans
.
AUTO_LOGIN
,
false
);
if
(
autoLogin
&&
GsaCloudApplication
.
isLogin
)
{
int
restaurantId
=
GsaCloudApplication
.
getRestaurantId
();
...
...
@@ -88,7 +88,7 @@ public abstract class LoginInterfaceImpl<P extends BaseLoginPresenter> extends B
GsaCloudApplication
.
setMemberName
(
mContext
,
loginBean
.
getData
().
getUser
().
getUserName
());
//獲取餐廳
// mPresenter.getRestaurantList();
boolean
autoLogin
=
(
boolean
)
SPUtils
.
get
(
mContext
,
UserConstans
.
AUTO_LOGIN
,
false
);
boolean
autoLogin
=
(
boolean
)
SPUtils
.
get
(
UserConstans
.
AUTO_LOGIN
,
false
);
if
(
autoLogin
)
{
int
restaurantId
=
GsaCloudApplication
.
getRestaurantId
();
if
(
restaurantId
!=
0
)
{
...
...
login-module/src/main/java/com/gingersoft/gsa/cloud/login/mvp/presenter/BaseLoginPresenter.java
View file @
ce4cd6d7
...
...
@@ -97,7 +97,7 @@ public class BaseLoginPresenter<M extends BaseLoginContract.Model, V extends Bas
public
void
onNext
(
@NonNull
LoginBean
info
)
{
if
(
info
.
isSuccess
())
{
GsaCloudApplication
.
isLogin
=
true
;
SPUtils
.
put
(
GsaCloudApplication
.
getAppContext
(),
PrintConstans
.
IS_LOGIN
,
true
);
SPUtils
.
put
(
PrintConstans
.
IS_LOGIN
,
true
);
GsaCloudApplication
.
userName
=
info
.
getData
().
getUser
().
getUserName
();
mRootView
.
showMessage
(
"登陸成功"
);
mRootView
.
loginSuccess
(
info
);
...
...
login-module/src/main/java/com/gingersoft/gsa/cloud/login/mvp/ui/activity/mvp/ui/activity/LoginActivity.java
View file @
ce4cd6d7
...
...
@@ -102,12 +102,12 @@ public class LoginActivity extends LoginInterfaceImpl<LoginPresenter> implements
((
ImageView
)
findViewById
(
R
.
id
.
iv_top_bg
)).
setAdjustViewBounds
(
true
);
mPresenter
.
requestExternalStoragePermission
();
//顯示記住的登錄名
if
(!
Objects
.
equals
(
SPUtils
.
get
(
mContext
,
UserConstans
.
LOGIN_USERNAME
,
""
),
""
))
{
edAccount
.
setText
(
""
+
SPUtils
.
get
(
mContext
,
UserConstans
.
LOGIN_USERNAME
,
""
));
if
(!
Objects
.
equals
(
SPUtils
.
get
(
UserConstans
.
LOGIN_USERNAME
,
""
),
""
))
{
edAccount
.
setText
(
""
+
SPUtils
.
get
(
UserConstans
.
LOGIN_USERNAME
,
""
));
mRbRememberPwd
.
setChecked
(
true
);
}
//顯示記住的密碼
String
pwd
=
Aes
.
aesDecrypt
((
String
)
SPUtils
.
get
(
mContext
,
UserConstans
.
LOGIN_PASSWORD
,
""
));
String
pwd
=
Aes
.
aesDecrypt
((
String
)
SPUtils
.
get
(
UserConstans
.
LOGIN_PASSWORD
,
""
));
if
(!
TextUtil
.
isEmptyOrNullOrUndefined
(
pwd
))
{
edPwd
.
setText
(
pwd
);
editFocusChange
(
edPwd
,
true
);
...
...
@@ -127,7 +127,7 @@ public class LoginActivity extends LoginInterfaceImpl<LoginPresenter> implements
}
});
if
((
boolean
)
SPUtils
.
get
(
mContext
,
UserConstans
.
AUTO_LOGIN
,
false
))
{
if
((
boolean
)
SPUtils
.
get
(
UserConstans
.
AUTO_LOGIN
,
false
))
{
//自動登陸
mRbAutoLogin
.
setChecked
(
true
);
}
...
...
@@ -311,17 +311,17 @@ public class LoginActivity extends LoginInterfaceImpl<LoginPresenter> implements
private
void
RememberPwd
()
{
if
(
mRbRememberPwd
.
isChecked
())
{
//登陸成功後,如果選中了記住密碼,則保存密碼
SPUtils
.
put
(
mContext
,
UserConstans
.
LOGIN_USERNAME
,
edAccount
.
getText
().
toString
());
SPUtils
.
put
(
UserConstans
.
LOGIN_USERNAME
,
edAccount
.
getText
().
toString
());
//將密碼加密再保存
SPUtils
.
put
(
mContext
,
UserConstans
.
LOGIN_PASSWORD
,
Aes
.
aesEncrypt
(
edPwd
.
getText
().
toString
()).
replaceAll
(
"\r|\n"
,
""
));
SPUtils
.
put
(
UserConstans
.
LOGIN_PASSWORD
,
Aes
.
aesEncrypt
(
edPwd
.
getText
().
toString
()).
replaceAll
(
"\r|\n"
,
""
));
}
else
{
SPUtils
.
put
(
mContext
,
UserConstans
.
LOGIN_USERNAME
,
""
);
SPUtils
.
put
(
mContext
,
UserConstans
.
LOGIN_PASSWORD
,
""
);
SPUtils
.
put
(
UserConstans
.
LOGIN_USERNAME
,
""
);
SPUtils
.
put
(
UserConstans
.
LOGIN_PASSWORD
,
""
);
}
}
private
void
autoLogin
()
{
SPUtils
.
put
(
mContext
,
UserConstans
.
AUTO_LOGIN
,
mRbAutoLogin
.
isChecked
());
SPUtils
.
put
(
UserConstans
.
AUTO_LOGIN
,
mRbAutoLogin
.
isChecked
());
}
@OnClick
({
R2
.
id
.
btn_gsa_user_login
,
R2
.
id
.
iv_clear_pwd
,
R2
.
id
.
iv_clear_account
,
R2
.
id
.
tv_remember_pwd_text
,
R2
.
id
.
ic_look_pwd
,
R2
.
id
.
tv_auto_login_text
,
R2
.
id
.
tv_forget_pwd
})
...
...
login-module/src/main/java/com/gingersoft/gsa/cloud/login/mvp/ui/activity/mvp/ui/activity/SwitchServerActivity.java
View file @
ce4cd6d7
...
...
@@ -61,6 +61,7 @@ public class SwitchServerActivity extends BaseActivity<SwitchServerPresenter> im
private
int
[]
rbIds
=
new
int
[]{
R
.
id
.
rb_server_hk
,
R
.
id
.
rb_server_formal
,
R
.
id
.
rb_youchang
,
R
.
id
.
rb_shiwei
,
R
.
id
.
rb_shishu
};
private
int
selectIndex
;
@Override
public
void
setupActivityComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerSwitchServerComponent
//如找不到该类,请编译一下项目
...
...
@@ -84,7 +85,7 @@ public class SwitchServerActivity extends BaseActivity<SwitchServerPresenter> im
radioGroup
.
setOnCheckedChangeListener
((
group
,
checkedId
)
->
selectIndex
=
group
.
indexOfChild
(
findViewById
(
checkedId
)));
switchServer
.
setOnClickListener
(
v
->
{
SPUtils
.
put
(
mContext
,
"isFormal"
,
selectIndex
);
SPUtils
.
put
(
"isFormal"
,
selectIndex
);
GsaCloudApplication
.
logOut
();
ToastUtils
.
show
(
mContext
,
"已切換環境,重啟生效"
+
selectIndex
);
GsaCloudApplication
.
initDomainUrl
();
...
...
login-module/src/main/java/com/gingersoft/gsa/cloud/login/mvp/ui/activity/mvp/ui/activity/WelcomeActivity.java
View file @
ce4cd6d7
...
...
@@ -94,15 +94,15 @@ public class WelcomeActivity extends LoginInterfaceImpl<WelcomePresenter> implem
@Override
public
void
onAnimationEnd
(
Animation
animation
)
{
if
((
boolean
)
SPUtils
.
get
(
mContext
,
UserConstans
.
IS_GUIDE
,
true
))
{
if
((
boolean
)
SPUtils
.
get
(
UserConstans
.
IS_GUIDE
,
true
))
{
//是第一次進入,顯示引導頁
showGuide
();
}
else
{
if
((
boolean
)
SPUtils
.
get
(
mContext
,
UserConstans
.
AUTO_LOGIN
,
false
)
&&
GsaCloudApplication
.
isLogin
if
((
boolean
)
SPUtils
.
get
(
UserConstans
.
AUTO_LOGIN
,
false
)
&&
GsaCloudApplication
.
isLogin
&&
GsaCloudApplication
.
getRestaurantId
()
!=
0
)
{
//自動登陸
String
pwd
=
Aes
.
aesDecrypt
((
String
)
SPUtils
.
get
(
mContext
,
UserConstans
.
LOGIN_PASSWORD
,
""
));
mPresenter
.
login
(
SPUtils
.
get
(
mContext
,
UserConstans
.
LOGIN_USERNAME
,
""
)
+
""
,
pwd
);
String
pwd
=
Aes
.
aesDecrypt
((
String
)
SPUtils
.
get
(
UserConstans
.
LOGIN_PASSWORD
,
""
));
mPresenter
.
login
(
SPUtils
.
get
(
UserConstans
.
LOGIN_USERNAME
,
""
)
+
""
,
pwd
);
}
else
{
startActivity
(
new
Intent
(
mContext
,
LoginActivity
.
class
));
}
...
...
@@ -280,7 +280,7 @@ public class WelcomeActivity extends LoginInterfaceImpl<WelcomePresenter> implem
if
(
v
.
getId
()
==
R
.
id
.
iv_guide_close
||
v
.
getId
()
==
R
.
id
.
tv_experience
)
{
//去登陸頁,設置下次不顯示引導頁
//立即體驗
SPUtils
.
put
(
mContext
,
UserConstans
.
IS_GUIDE
,
false
);
SPUtils
.
put
(
UserConstans
.
IS_GUIDE
,
false
);
startActivity
(
new
Intent
(
mContext
,
LoginActivity
.
class
));
}
}
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/NewMainActivity.java
View file @
ce4cd6d7
...
...
@@ -178,7 +178,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
protected
void
onResume
()
{
super
.
onResume
();
initFuncationData
();
if
(((
int
)
SPUtils
.
get
(
mContext
,
"isFormal"
,
0
))
!=
0
)
{
if
(((
int
)
SPUtils
.
get
(
"isFormal"
,
0
))
!=
0
)
{
tv_version_name
.
setText
(
"v_"
+
DeviceUtils
.
getVersionName
(
this
)
+
"\u1500Beta"
);
}
else
{
tv_version_name
.
setText
(
"v_"
+
DeviceUtils
.
getVersionName
(
this
));
...
...
main-module/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/SettlementReportActivity.java
View file @
ce4cd6d7
...
...
@@ -174,7 +174,7 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese
rightBtn
=
mTopBar
.
addRightTextButton
(
"打印"
,
R
.
id
.
tv_right
);
rightBtn
.
setTextColor
(
ArmsUtils
.
getColor
(
this
,
R
.
color
.
theme_white_color
));
rightBtn
.
setOnClickListener
(
v
->
{
String
settlementReportJson
=
(
String
)
SPUtils
.
get
(
mContext
,
PrintConstans
.
SETTLEMENT_REPORT
,
""
);
String
settlementReportJson
=
(
String
)
SPUtils
.
get
(
PrintConstans
.
SETTLEMENT_REPORT
,
""
);
if
(!
TextUtils
.
isEmpty
(
settlementReportJson
))
{
SettlementReport
.
DataBean
datasBean
=
JsonUtils
.
parseObject
(
settlementReportJson
,
SettlementReport
.
DataBean
.
class
);
if
(
datasBean
!=
null
)
{
...
...
@@ -290,7 +290,7 @@ public class SettlementReportActivity extends BaseActivity<SettlementReportPrese
public
void
returnSettlementData
(
SettlementReport
.
DataBean
datasBean
)
{
if
(
datasBean
.
getVo
()
!=
null
&&
datasBean
.
getVo
().
getPrices
()
>
0
)
{
//保存下次重印數據
SPUtils
.
put
(
mContext
,
PrintConstans
.
SETTLEMENT_REPORT
,
JsonUtils
.
toJson
(
datasBean
));
SPUtils
.
put
(
PrintConstans
.
SETTLEMENT_REPORT
,
JsonUtils
.
toJson
(
datasBean
));
}
List
<
SectionTextItem3
>
settlementReportItems
=
new
ArrayList
<>();
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/bean/discount/OrderDiscount.java
View file @
ce4cd6d7
...
...
@@ -27,7 +27,7 @@ public class OrderDiscount {
public
static
class
Request
{
/**
* 0#
整單
折扣
* 0#
餐廳
折扣
* 1#會員折扣
* 2#优惠券折扣
*/
...
...
@@ -144,7 +144,7 @@ public class OrderDiscount {
public
static
class
Respose
implements
Serializable
{
/**
*
整單
折扣ID
*
餐廳
折扣ID
*/
private
Long
discountId
;
/**折扣金額*/
...
...
@@ -152,11 +152,15 @@ public class OrderDiscount {
/**折扣比例*/
private
int
discountValue
;
/**
* 0#
整單
折扣
* 0#
餐廳
折扣
* 1#會員折扣
* 2#优惠券折扣
*/
private
int
type
;
/**
* 餐廳折扣類型 0:金額,1:折扣,2:自定義金額,3:自由金額,數字盤,4:免服務費
*/
private
byte
discountType
;
/**折扣名称1*/
private
String
remark
;
/**折扣名称2*/
...
...
@@ -173,115 +177,6 @@ public class OrderDiscount {
private
Byte
accumulate
;
public
String
getRemark
()
{
return
remark
;
}
public
Long
getDiscountId
()
{
return
discountId
;
}
public
void
setDiscountId
(
Long
discountId
)
{
this
.
discountId
=
discountId
;
}
public
double
getDiscountAmount
()
{
return
discountAmount
;
}
public
void
setDiscountAmount
(
double
discountAmount
)
{
this
.
discountAmount
=
discountAmount
;
}
public
int
getDiscountValue
()
{
return
discountValue
;
}
public
void
setDiscountValue
(
int
discountValue
)
{
this
.
discountValue
=
discountValue
;
}
public
int
getType
()
{
return
type
;
}
public
void
setType
(
int
type
)
{
this
.
type
=
type
;
}
public
void
setRemark
(
String
remark
)
{
this
.
remark
=
remark
;
}
public
String
getRemark2
()
{
return
remark2
;
}
public
void
setRemark2
(
String
remark2
)
{
this
.
remark2
=
remark2
;
}
public
String
getRemark3
()
{
return
remark3
;
}
public
void
setRemark3
(
String
remark3
)
{
this
.
remark3
=
remark3
;
}
public
Double
getSpend
()
{
return
spend
;
}
public
void
setSpend
(
Double
spend
)
{
this
.
spend
=
spend
;
}
public
Byte
getAccumulate
()
{
return
accumulate
;
}
public
void
setAccumulate
(
Byte
accumulate
)
{
this
.
accumulate
=
accumulate
;
}
}
/**
* 計算折扣金額
*
* @param discount
* @param sourcePrice
* @return
*/
public
static
double
calculationDiscount
(
Discount
discount
,
double
sourcePrice
)
{
double
discountPrice
;
if
(
discount
.
getType
()
==
Discount
.
DISCOUNT_TYPE_AMOUNT
)
{
//金額折扣
discountPrice
=
discount
.
getAmount
();
}
else
{
//百分比折扣
discountPrice
=
MoneyUtil
.
divide
(
MoneyUtil
.
multiply
(
sourcePrice
,
discount
.
getDiscountValue
()),
100
).
doubleValue
();
}
if
(
sourcePrice
<
discountPrice
)
{
//折扣金額不能超出總額
discountPrice
=
sourcePrice
;
}
// else {
// discountPrice = sourcePrice - discountPrice;
// }
return
-
MoneyUtil
.
get_ItemDecimals_money
(
Math
.
abs
(
discountPrice
));
}
public
static
double
calculationMemberDiscount
(
int
discountRate
,
double
sourcePrice
)
{
double
discountPrice
=
MoneyUtil
.
divide
(
MoneyUtil
.
multiply
(
sourcePrice
,
discountRate
),
100
).
doubleValue
();
if
(
sourcePrice
<
discountPrice
)
{
//折扣金額不能超出總額
discountPrice
=
sourcePrice
;
}
// else {
// discountPrice = sourcePrice - discountPrice;
// }
return
-
MoneyUtil
.
get_ItemDecimals_money
(
Math
.
abs
(
discountPrice
));
}
}
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/cart/ShoppingCart.java
View file @
ce4cd6d7
...
...
@@ -4,17 +4,12 @@ import com.gingersoft.gsa.cloud.base.common.bean.MemberInfo;
import
com.gingersoft.gsa.cloud.base.order.bean.discount.CouponDiscountBean
;
import
com.gingersoft.gsa.cloud.base.order.billItem.BillItem
;
import
com.gingersoft.gsa.cloud.base.order.billItem.DiscountItem
;
import
com.gingersoft.gsa.cloud.base.order.commodity.Commodity
;
import
com.gingersoft.gsa.cloud.base.order.commodity.MealCommodity
;
import
com.gingersoft.gsa.cloud.base.order.commodity.MealTakeaway
;
import
com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.discount.CouponDiscount
;
import
com.gingersoft.gsa.cloud.base.order.discount.MemberDiscount
;
import
com.gingersoft.gsa.cloud.base.order.discount.MultyDiscount
;
import
com.gingersoft.gsa.cloud.base.order.discount.NomalDiscount
;
import
com.gingersoft.gsa.cloud.constans.FoodSummaryConstans
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.jess.arms.utils.Preconditions
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -179,10 +174,16 @@ public class ShoppingCart {
*/
public
void
delAllMultyDiscount
()
{
List
<
MultyDiscount
>
multyDiscountList
=
getMultyDiscountList
();
// for (MultyDiscount multyDiscount: multyDiscountList) {
// multyDiscountList.remove(multyDiscount);
// }
multyDiscountList
.
removeAll
(
multyDiscountList
);
boolean
result
=
multyDiscountList
.
removeAll
(
multyDiscountList
);
int
i
=
100
;
}
/**
* 刪除所有單折扣
*/
public
void
delAllNomalDiscountList
(
List
<
NomalDiscount
>
nomalDiscountList
)
{
boolean
result
=
getMultyDiscountList
().
removeAll
(
nomalDiscountList
);
int
i
=
100
;
}
/**
...
...
@@ -253,7 +254,7 @@ public class ShoppingCart {
}
multyDiscountArrays
.
add
(
multyDiscounts
);
}
if
(
multyDiscounts
!=
null
)
{
if
(
m
oney
!=
0
&&
m
ultyDiscounts
!=
null
)
{
//計算折扣金額
money
=
multyDiscounts
.
calculate
(
money
);
}
...
...
@@ -280,7 +281,7 @@ public class ShoppingCart {
}
/**
* 獲取普通折扣
* 獲取普通折扣
列表
*
* @return
*/
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/commodity/MealCommodity.java
View file @
ce4cd6d7
...
...
@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.base.order.commodity;
import
com.gingersoft.gsa.cloud.base.order.bean.OrderBean
;
import
com.gingersoft.gsa.cloud.base.order.bean.discount.OrderDiscount
;
import
com.gingersoft.gsa.cloud.base.order.discount.NomalDiscount
;
import
com.gingersoft.gsa.cloud.base.order.order.BaseOrder
;
import
com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.base.order.order.TakeawayOrder
;
...
...
@@ -415,7 +416,7 @@ public class MealCommodity implements Commodity {
*/
public
static
MealCommodity
discountTransMealCommodity
(
Discount
discount
,
boolean
isNew
,
long
id
,
double
sourcePrice
)
{
double
discountPrice
=
Order
Discount
.
calculationDiscount
(
discount
,
sourcePrice
);
double
discountPrice
=
Nomal
Discount
.
calculationDiscount
(
discount
,
sourcePrice
);
MealCommodity
mealCommodity
=
new
MealCommodity
();
mealCommodity
.
setProductName
(
discount
.
getRemark
());
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/commodity/OrderDetail.java
View file @
ce4cd6d7
...
...
@@ -183,10 +183,18 @@ public class OrderDetail implements Commodity, Serializable {
*/
private
String
printSeting
;
/**
* 是否免服務費 0:否,1:是
*/
private
byte
freeServiceCharge
;
/**
* 是否参与折扣#0:不參與;1:參與;
*/
private
long
ablediscount
=
1
;
/**
* 是否参与折上折 0:否,1:是
*/
private
byte
additionalDiscount
=
1
;
/**
* 折扣實體
*/
private
Discount
discount
;
...
...
@@ -195,7 +203,7 @@ public class OrderDetail implements Commodity, Serializable {
*/
private
int
discountStatus
;
/**
* 是否参与
折扣
#0:不參與;1:參與;
* 是否参与
服務費
#0:不參與;1:參與;
**/
private
byte
scAble
=
1
;
/**
...
...
@@ -305,6 +313,8 @@ public class OrderDetail implements Commodity, Serializable {
this
.
scAble
=
orderDetail
.
scAble
;
this
.
ftName
=
orderDetail
.
ftName
;
this
.
majorName
=
orderDetail
.
majorName
;
this
.
freeServiceCharge
=
orderDetail
.
freeServiceCharge
;
this
.
additionalDiscount
=
orderDetail
.
additionalDiscount
;
this
.
discount
=
orderDetail
.
discount
;
this
.
discountStatus
=
orderDetail
.
discountStatus
;
this
.
status
=
orderDetail
.
status
;
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/discount/NomalDiscount.java
View file @
ce4cd6d7
package
com
.
gingersoft
.
gsa
.
cloud
.
base
.
order
.
discount
;
import
android.os.Handler
;
import
android.os.Looper
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
...
...
@@ -54,7 +57,13 @@ public class NomalDiscount extends MultyDiscount {
//不能大於折扣上限
discountMoney
=
discount
.
getDiscountCap
();
if
(
BuildConfig
.
DEBUG
)
{
ArmsUtils
.
makeText
(
GsaCloudApplication
.
getAppContext
(),
"此折扣上限為:"
+
discountMoney
);
double
finalDiscountMoney
=
discountMoney
;
new
Handler
(
Looper
.
getMainLooper
()).
post
(
new
Runnable
()
{
@Override
public
void
run
()
{
ArmsUtils
.
makeText
(
GsaCloudApplication
.
getAppContext
(),
"此折扣上限為:"
+
finalDiscountMoney
);
}
});
}
}
if
(
sourceMoney
<
discountMoney
)
{
...
...
print-module/src/main/java/com/joe/print/mvp/ui/activity/PrintActivity.java
View file @
ce4cd6d7
...
...
@@ -173,7 +173,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
}
else
{
// 獲取默認打印機,如果用戶沒有配置默認打印機,就取他最近使用的一個.
// 如果沒有最近使用的打印機,並且當前餐廳只有一台打印機,就用這一台打印機打印
defaultPrint
=
mPresenter
.
getDefaultPrintInList
(
printerDeviceBeans
,
(
String
)
SPUtils
.
get
(
mContext
,
"defaultPrint"
,
""
));
defaultPrint
=
mPresenter
.
getDefaultPrintInList
(
printerDeviceBeans
,
(
String
)
SPUtils
.
get
(
"defaultPrint"
,
""
));
}
if
(
defaultPrint
==
null
)
{
//沒有默認打印機,查看當前餐廳有沒有打印機
...
...
@@ -194,7 +194,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
PrinterDeviceBean
defaultPrint
=
MyPrintUtils
.
configPrinterProperties
(
finalPrintCurrencyBean
,
printerDeviceBeans
.
get
(
position
));
printByDevice
(
defaultPrint
);
selectPrint
=
position
;
SPUtils
.
put
(
mContext
,
"defaultPrint"
,
printerDeviceBeans
.
get
(
position
).
getName
());
SPUtils
.
put
(
"defaultPrint"
,
printerDeviceBeans
.
get
(
position
).
getName
());
dialog
.
dismiss
();
});
}
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/MealStandModel.java
View file @
ce4cd6d7
...
...
@@ -69,16 +69,14 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model
/**
* 過濾食品條件
* 1、過濾餐種
* @param foodList
* @param summary
* @return
*/
public
List
<
Food
>
foodConditionFilter
(
List
<
Food
>
foodList
,
int
summary
)
{
String
strSummary
=
String
.
valueOf
(
summary
);
String
strSummary
=
String
.
valueOf
(
summary
);
List
<
Food
>
newFoodList
=
new
ArrayList
<>();
for
(
int
i
=
foodList
.
size
()
-
1
;
i
>=
0
;
i
--)
{
Food
food
=
foodList
.
get
(
i
);
for
(
Food
food
:
foodList
)
{
String
foodSummary
=
food
.
getFoodSummary
();
if
(!
TextUtils
.
isEmpty
(
foodSummary
))
{
String
[]
summarys
=
foodSummary
.
split
(
","
);
...
...
@@ -94,16 +92,14 @@ public class MealStandModel extends BaseModel implements MealStandContract.Model
/**
* 過濾套餐食品條件
* 1、過濾餐種
* @param comboItemList
* @param summary
* @return
*/
public
List
<
ComboItem
>
comboConditionFilter
(
List
<
ComboItem
>
comboItemList
,
int
summary
)
{
String
strSummary
=
String
.
valueOf
(
summary
);
String
strSummary
=
String
.
valueOf
(
summary
);
List
<
ComboItem
>
newComboItemList
=
new
ArrayList
<>();
for
(
int
i
=
comboItemList
.
size
()
-
1
;
i
>=
0
;
i
--)
{
ComboItem
comboItem
=
comboItemList
.
get
(
i
);
for
(
ComboItem
comboItem
:
comboItemList
)
{
String
foodSummary
=
comboItem
.
getFoodSummary
();
if
(!
TextUtils
.
isEmpty
(
foodSummary
))
{
String
[]
summarys
=
foodSummary
.
split
(
","
);
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/OrderContentModel.java
View file @
ce4cd6d7
...
...
@@ -20,6 +20,7 @@ import com.jess.arms.di.scope.ActivityScope;
import
com.jess.arms.integration.IRepositoryManager
;
import
com.jess.arms.mvp.BaseModel
;
import
java.util.Date
;
import
java.util.List
;
import
javax.inject.Inject
;
...
...
@@ -64,8 +65,9 @@ public class OrderContentModel extends BaseModel implements OrderContentContract
DoshokuOrder
doshokuOrder
=
DoshokuOrder
.
getInstance
();
if
(
doshokuOrder
==
null
)
{
doshokuOrder
.
setOpenTableInfo
(
new
TableBean
.
DataBean
());
String
dateTime
=
new
Date
(
createTime
).
toString
();
doshokuOrder
.
getOrderPlaced
().
setCreateTime
(
dateTime
);
}
doshokuOrder
.
getOpenTableInfo
().
setCreateTime
(
TimeUtils
.
getTime
(
createTime
,
TimeUtils
.
DEFAULT_DATE_FORMAT
));
}
@Override
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/discount/BillDiscountAction.java
View file @
ce4cd6d7
...
...
@@ -11,6 +11,7 @@ import android.widget.AdapterView;
import
android.widget.EditText
;
import
android.widget.GridView
;
import
com.gingersoft.gsa.cloud.base.order.discount.MultyDiscount
;
import
com.gingersoft.gsa.cloud.base.order.discount.NomalDiscount
;
import
com.gingersoft.gsa.cloud.base.order.order.BaseOrder
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
...
...
@@ -20,6 +21,7 @@ import com.gingersoft.gsa.cloud.table.R2;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.KeyboardDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.keyboard.VirtualKeyboardView
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.DeviceUtils
;
import
java.lang.reflect.Method
;
...
...
@@ -40,42 +42,56 @@ public class BillDiscountAction implements Strategy<Discount> {
private
Activity
mContext
;
/**
* 賬單折扣列表
*/
private
List
<
NomalDiscount
>
mNomalDiscountList
;
private
OnCallBackListener
mListener
;
public
BillDiscountAction
(
Activity
context
,
List
<
NomalDiscount
>
nomalDiscountList
,
OnCallBackListener
listener
)
{
public
BillDiscountAction
(
Activity
context
,
OnCallBackListener
listener
)
{
this
.
mContext
=
context
;
this
.
mNomalDiscountList
=
nomalDiscountList
;
this
.
mListener
=
listener
;
}
public
void
setNomalDiscountList
(
List
<
NomalDiscount
>
nomalDiscountList
)
{
this
.
mNomalDiscountList
=
nomalDiscountList
;
}
@Override
public
void
action
(
Discount
discount
)
{
if
(
mListener
==
null
)
{
return
;
}
if
(
isOnlyOnce
(
discount
))
{
//此折扣只一次
ArmsUtils
.
makeText
(
mContext
,
"此折扣只一次"
);
return
;
}
boolean
hasExclusive
=
hasExclusiveDiscount
()
||
discount
.
getExclusive
()
==
1
;
boolean
hasExclusive
=
hasExclusiveDiscount
();
if
(
hasExclusive
)
{
//有獨佔折扣
exclusiveDiscount
(
discount
);
return
;
}
else
{
if
(
discount
.
getExclusive
()
==
1
&&
mNomalDiscountList
.
size
()>
0
)
{
//獨佔折扣
exclusiveDiscount
(
discount
);
return
;
}
}
switch
(
discount
.
getType
())
{
case
Discount
.
DISCOUNT_TYPE_AMOUNT
:
case
Discount
.
DISCOUNT_TYPE_RATE
:
break
;
case
Discount
.
DISCOUNT_TYPE_CUSTOM_AMOUNT
:
showCustomAmountDialog
(
discount
);
showCustomAmountDialog
(
discount
,
false
);
break
;
case
Discount
.
DISCOUNT_TYPE_KEYBOARD
:
showKeyboardDialog
(
discount
);
break
;
case
Discount
.
DISCOUNT_TYPE_FREE_SERVICE_CHARGE
:
showKeyboardDialog
(
discount
,
false
);
break
;
// case Discount.DISCOUNT_TYPE_FREE_SERVICE_CHARGE:
//
// break;
default
:
mListener
.
preformAddDiscount
(
discount
);
break
;
}
}
...
...
@@ -83,7 +99,6 @@ public class BillDiscountAction implements Strategy<Discount> {
private
void
exclusiveDiscount
(
Discount
discount
)
{
if
(
mListener
!=
null
)
{
showExclusiveTipDialog
(
discount
);
}
}
...
...
@@ -122,14 +137,18 @@ public class BillDiscountAction implements Strategy<Discount> {
/**
* 顯示自定義金額彈窗
*
* @param discount
*/
private
void
showCustomAmountDialog
(
Discount
discount
)
{
private
void
showCustomAmountDialog
(
Discount
discount
,
boolean
exclusiveReplace
)
{
CommonTipDialog
.
showEditDialog
(
mContext
,
discount
.
getRemark
(),
"請輸入折扣金額"
,
InputType
.
TYPE_CLASS_NUMBER
|
InputType
.
TYPE_NUMBER_FLAG_DECIMAL
,
new
CommonTipDialog
.
OnEditTextListener
()
{
@Override
public
void
inputText
(
String
text
)
{
discount
.
setAmount
(
Double
.
parseDouble
(
text
));
if
(
mListener
!=
null
)
{
if
(
exclusiveReplace
)
{
mListener
.
exclusiveRemoveOthers
(
mNomalDiscountList
);
}
mListener
.
preformAddDiscount
(
discount
);
}
}
...
...
@@ -138,9 +157,10 @@ public class BillDiscountAction implements Strategy<Discount> {
/**
* 顯示子弟你金額彈窗 鍵盤
*
* @param discount
*/
private
void
showKeyboardDialog
(
Discount
discount
)
{
private
void
showKeyboardDialog
(
Discount
discount
,
boolean
exclusiveReplace
)
{
new
KeyboardDialog
(
mContext
)
.
build
()
.
setOnCallBackListener
(
new
KeyboardDialog
.
OnCallBackListener
()
{
...
...
@@ -148,6 +168,9 @@ public class BillDiscountAction implements Strategy<Discount> {
public
void
onSure
(
String
number
)
{
discount
.
setAmount
(
Double
.
parseDouble
(
number
));
if
(
mListener
!=
null
)
{
if
(
exclusiveReplace
)
{
mListener
.
exclusiveRemoveOthers
(
mNomalDiscountList
);
}
mListener
.
preformAddDiscount
(
discount
);
}
}
...
...
@@ -157,21 +180,35 @@ public class BillDiscountAction implements Strategy<Discount> {
/**
* 提示有獨佔折扣是否替換
*
* @param discount
*/
private
void
showExclusiveTipDialog
(
Discount
discount
)
{
CommonTipDialog
.
showDoubtDialog2
(
mContext
,
"有獨佔折扣,是否替換"
,
new
CommonTipDialog
.
OnCallbackListener
()
{
@Override
public
void
onSure
()
{
mListener
.
exclusiveRemoveOther
();
mListener
.
preformAddDiscount
(
discount
);
switch
(
discount
.
getType
())
{
case
Discount
.
DISCOUNT_TYPE_CUSTOM_AMOUNT
:
showCustomAmountDialog
(
discount
,
true
);
break
;
case
Discount
.
DISCOUNT_TYPE_KEYBOARD
:
showKeyboardDialog
(
discount
,
true
);
break
;
// case Discount.DISCOUNT_TYPE_FREE_SERVICE_CHARGE:
//
// break;
default
:
mListener
.
exclusiveRemoveOthers
(
mNomalDiscountList
);
mListener
.
preformAddDiscount
(
discount
);
break
;
}
}
});
}
public
interface
OnCallBackListener
{
void
exclusiveRemoveOther
(
);
void
exclusiveRemoveOther
s
(
List
<
NomalDiscount
>
nomalDiscountList
);
void
preformAddDiscount
(
Discount
discount
);
}
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/discount/DiscountAction.java
deleted
100644 → 0
View file @
0d0fc54b
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
discount
;
import
com.gingersoft.gsa.cloud.base.order.discount.MultyDiscount
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.patterns.Strategy
;
/**
* @author : bin
* @create date: 2020-10-27
* @update date: 2020-10-27
* @description:
*/
public
interface
DiscountAction
{
}
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/discount/MealDiscountAction.java
View file @
ce4cd6d7
...
...
@@ -2,15 +2,14 @@ package com.gingersoft.gsa.cloud.table.mvp.model.discount;
import
android.app.Activity
;
import
android.text.InputType
;
import
com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.discount.NomalDiscount
;
import
com.gingersoft.gsa.cloud.base.order.discount.MultyDiscount
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.patterns.Strategy
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.KeyboardDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
java.util.ArrayList
;
import
com.jess.arms.utils.ArmsUtils
;
import
java.util.List
;
/**
...
...
@@ -23,13 +22,18 @@ public class MealDiscountAction implements Strategy<Discount> {
private
Activity
mContext
;
/**
* 選中的食品或套餐組
*/
private
List
<
OrderDetail
>
mSelectMixOrderMealList
;
private
List
<
MultyDiscount
>
mMultyDiscountList
;
private
MealDiscountAction
.
OnCallBackListener
mListener
;
public
MealDiscountAction
(
Activity
context
,
MealDiscountAction
.
OnCallBackListener
listener
)
{
public
MealDiscountAction
(
Activity
context
,
List
<
MultyDiscount
>
multyDiscountList
,
MealDiscountAction
.
OnCallBackListener
listener
)
{
this
.
mContext
=
context
;
this
.
mMultyDiscountList
=
multyDiscountList
;
this
.
mListener
=
listener
;
}
...
...
@@ -39,33 +43,45 @@ public class MealDiscountAction implements Strategy<Discount> {
@Override
public
void
action
(
Discount
discount
)
{
if
(
mSelectMixOrderMealList
==
null
||
mSelectMixOrderMealList
.
size
()
==
0
)
{
if
(
mListener
==
null
||
mSelectMixOrderMealList
==
null
||
mSelectMixOrderMealList
.
size
()
==
0
)
{
return
;
}
double
mixTotalAomout
=
getMixTotalAomout
(
mSelectMixOrderMealList
);
if
(
discount
.
getMinBillAmount
()
>
mixTotalAomout
)
{
//最小賬單金額
ArmsUtils
.
makeText
(
mContext
,
"小於最小賬單金額$"
+
discount
.
getMinBillAmount
()
+
" 無法使用此折扣"
);
return
;
}
if
(
isOnlyOnce
(
discount
))
{
//此折扣只一次
ArmsUtils
.
makeText
(
mContext
,
"此折扣只一次"
);
return
;
}
boolean
hasExclusive
=
hasExclusiveDiscount
()
||
discount
.
getExclusive
()
==
1
;
boolean
hasExclusive
=
hasExclusiveDiscount
();
if
(
hasExclusive
)
{
//有獨佔折扣
exclusiveDiscount
(
discount
);
return
;
}
else
{
int
discountSize
=
getDiscountSize
();
if
(
discount
.
getExclusive
()
==
1
&&
discountSize
>
0
)
{
//獨佔折扣
exclusiveDiscount
(
discount
);
return
;
}
}
switch
(
discount
.
getType
())
{
case
Discount
.
DISCOUNT_TYPE_AMOUNT
:
case
Discount
.
DISCOUNT_TYPE_RATE
:
break
;
case
Discount
.
DISCOUNT_TYPE_CUSTOM_AMOUNT
:
showCustomAmountDialog
(
discount
);
showCustomAmountDialog
(
discount
,
false
);
break
;
case
Discount
.
DISCOUNT_TYPE_KEYBOARD
:
showKeyboardDialog
(
discount
);
break
;
case
Discount
.
DISCOUNT_TYPE_FREE_SERVICE_CHARGE
:
showKeyboardDialog
(
discount
,
false
);
break
;
// case Discount.DISCOUNT_TYPE_FREE_SERVICE_CHARGE:
//
// break;
default
:
mListener
.
preformAddDiscount
(
discount
);
break
;
}
}
...
...
@@ -73,7 +89,6 @@ public class MealDiscountAction implements Strategy<Discount> {
private
void
exclusiveDiscount
(
Discount
discount
)
{
if
(
mListener
!=
null
)
{
showExclusiveTipDialog
(
discount
);
}
}
...
...
@@ -84,8 +99,8 @@ public class MealDiscountAction implements Strategy<Discount> {
* @return
*/
private
boolean
hasExclusiveDiscount
()
{
for
(
NomalDiscount
nomalDiscount
:
mNomalDiscount
List
)
{
if
(
nomalDiscount
.
getDiscount
().
getExclusive
()
==
1
)
{
for
(
OrderDetail
orderMealItem
:
mSelectMixOrderMeal
List
)
{
if
(
orderMealItem
.
getDiscount
()
!=
null
&&
orderMealItem
.
getDiscount
().
getExclusive
()
==
1
)
{
return
true
;
}
}
...
...
@@ -100,9 +115,9 @@ public class MealDiscountAction implements Strategy<Discount> {
*/
private
boolean
isOnlyOnce
(
Discount
discount
)
{
if
(
discount
.
getOnlyOnce
()
==
1
)
{
for
(
NomalDiscount
nomalDiscount
:
mNomalDiscount
List
)
{
Discount
item
=
nomalDiscount
.
getDiscount
();
if
(
discount
.
getId
().
longValue
()
==
item
.
getId
().
longValue
())
{
for
(
OrderDetail
orderMealItem
:
mSelectMixOrderMeal
List
)
{
Discount
item
=
orderMealItem
.
getDiscount
();
if
(
item
!=
null
&&
discount
.
getId
().
longValue
()
==
item
.
getId
().
longValue
())
{
return
true
;
}
}
...
...
@@ -116,12 +131,15 @@ public class MealDiscountAction implements Strategy<Discount> {
*
* @param discount
*/
private
void
showCustomAmountDialog
(
Discount
discount
)
{
private
void
showCustomAmountDialog
(
Discount
discount
,
boolean
exclusiveReplace
)
{
CommonTipDialog
.
showEditDialog
(
mContext
,
discount
.
getRemark
(),
"請輸入折扣金額"
,
InputType
.
TYPE_CLASS_NUMBER
|
InputType
.
TYPE_NUMBER_FLAG_DECIMAL
,
new
CommonTipDialog
.
OnEditTextListener
()
{
@Override
public
void
inputText
(
String
text
)
{
discount
.
setAmount
(
Double
.
parseDouble
(
text
));
if
(
mListener
!=
null
)
{
if
(
exclusiveReplace
)
{
mListener
.
exclusiveRemoveOthers
();
}
mListener
.
preformAddDiscount
(
discount
);
}
}
...
...
@@ -133,7 +151,7 @@ public class MealDiscountAction implements Strategy<Discount> {
*
* @param discount
*/
private
void
showKeyboardDialog
(
Discount
discount
)
{
private
void
showKeyboardDialog
(
Discount
discount
,
boolean
exclusiveReplace
)
{
new
KeyboardDialog
(
mContext
)
.
build
()
.
setOnCallBackListener
(
new
KeyboardDialog
.
OnCallBackListener
()
{
...
...
@@ -141,6 +159,9 @@ public class MealDiscountAction implements Strategy<Discount> {
public
void
onSure
(
String
number
)
{
discount
.
setAmount
(
Double
.
parseDouble
(
number
));
if
(
mListener
!=
null
)
{
if
(
exclusiveReplace
)
{
mListener
.
exclusiveRemoveOthers
();
}
mListener
.
preformAddDiscount
(
discount
);
}
}
...
...
@@ -157,16 +178,58 @@ public class MealDiscountAction implements Strategy<Discount> {
CommonTipDialog
.
showDoubtDialog2
(
mContext
,
"有獨佔折扣,是否替換"
,
new
CommonTipDialog
.
OnCallbackListener
()
{
@Override
public
void
onSure
()
{
mListener
.
exclusiveRemoveOther
();
mListener
.
preformAddDiscount
(
discount
);
switch
(
discount
.
getType
())
{
case
Discount
.
DISCOUNT_TYPE_CUSTOM_AMOUNT
:
showCustomAmountDialog
(
discount
,
true
);
break
;
case
Discount
.
DISCOUNT_TYPE_KEYBOARD
:
showKeyboardDialog
(
discount
,
true
);
break
;
// case Discount.DISCOUNT_TYPE_FREE_SERVICE_CHARGE:
//
// break;
default
:
mListener
.
exclusiveRemoveOthers
();
mListener
.
preformAddDiscount
(
discount
);
break
;
}
}
});
}
/**
* 獲取折扣數量
*
* @return
*/
private
int
getDiscountSize
()
{
int
size
=
0
;
for
(
OrderDetail
orderMealItem
:
mSelectMixOrderMealList
)
{
if
(
orderMealItem
.
getDiscount
()
!=
null
)
{
size
++;
}
}
return
size
;
}
/**
* 獲取套餐總金額
*
* @param mixOrderMealList
* @return
*/
private
double
getMixTotalAomout
(
List
<
OrderDetail
>
mixOrderMealList
)
{
double
mixTotalAomout
=
0.0
;
for
(
OrderDetail
orderDetail
:
mixOrderMealList
)
{
mixTotalAomout
=
MoneyUtil
.
sum
(
mixTotalAomout
,
orderDetail
.
getPrice
());
}
return
mixTotalAomout
;
}
public
interface
OnCallBackListener
{
void
exclusiveRemoveOther
();
void
exclusiveRemoveOther
s
();
void
preformAddDiscount
(
Discount
discount
);
}
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/AllTablePresenter.java
View file @
ce4cd6d7
...
...
@@ -16,6 +16,7 @@ import com.jess.arms.http.imageloader.ImageLoader;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.mvp.BasePresenter
;
import
com.jess.arms.utils.DeviceUtils
;
import
com.xuexiang.rxutil2.RxBindingUtils
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
View file @
ce4cd6d7
This diff is collapsed.
Click to expand it.
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/MealStandPresenter.java
View file @
ce4cd6d7
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
presenter
;
import
android.app.Application
;
import
android.text.InputType
;
import
android.text.TextUtils
;
import
android.util.SparseArray
;
import
android.view.View
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.aspectj.XClickUtil
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.base.common.bean.MemberInfo
;
import
com.gingersoft.gsa.cloud.base.order.bean.DeleteOrderRequest
;
import
com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.discount.MultyDiscount
;
import
com.gingersoft.gsa.cloud.base.order.order.BaseOrder
;
import
com.gingersoft.gsa.cloud.base.utils.JsonUtils
;
import
com.gingersoft.gsa.cloud.base.utils.LanguageUtils
;
...
...
@@ -26,7 +23,6 @@ import com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodReason;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.SoldoutCtrFood
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.request.CreateOrderRequest
;
import
com.gingersoft.gsa.cloud.table.mvp.model.discount.BillDiscountAction
;
import
com.gingersoft.gsa.cloud.table.mvp.model.discount.MealDiscountAction
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.ComboAdapter
;
...
...
@@ -55,11 +51,13 @@ import com.jess.arms.integration.AppManager;
import
com.jess.arms.utils.RxLifecycleUtils
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialog
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialogAction
;
import
com.xuexiang.rxutil2.RxBindingUtils
;
import
org.simple.eventbus.Subscriber
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.concurrent.TimeUnit
;
import
javax.inject.Inject
;
...
...
@@ -70,6 +68,7 @@ import io.reactivex.Observer;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.annotations.NonNull
;
import
io.reactivex.disposables.Disposable
;
import
io.reactivex.functions.Consumer
;
import
io.reactivex.schedulers.Schedulers
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
import
me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber
;
...
...
@@ -148,11 +147,21 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
super
(
model
,
rootView
);
this
.
IActivity
=
(
MealStandActivity
)
rootView
;
mMealDiscountAction
=
new
MealDiscountAction
(
IActivity
,
new
MealDiscountAction
.
OnCallBackListener
()
{
mMealDiscountAction
=
new
MealDiscountAction
(
IActivity
,
mShoppingCart
.
getMultyDiscountList
(),
new
MealDiscountAction
.
OnCallBackListener
()
{
@Override
public
void
exclusiveRemoveOther
()
{
public
void
exclusiveRemoveOthers
()
{
//獨佔折扣刪除其他折扣
int
start_position
=
mSelectMealAdapter
.
getSelect_full_start_position
();
int
end_position
=
mSelectMealAdapter
.
getSelect_full_end_position
();
for
(
int
i
=
0
;
i
<
mOrderMealList
.
size
();
i
++)
{
if
(
start_position
<=
i
&&
i
<=
end_position
)
{
OrderDetail
orderMealItem
=
mOrderMealList
.
get
(
i
);
if
(
orderMealItem
.
getDiscount
()
!=
null
)
{
mOrderMealList
.
remove
(
i
);
}
}
}
}
@Override
...
...
@@ -162,32 +171,24 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
});
}
/**
* 獲取當前選中的套餐食品組
*
* @return
*/
private
List
<
OrderDetail
>
getSelectMixOrderMealList
()
{
List
<
OrderDetail
>
mixOrderMealList
=
new
ArrayList
<>();
for
(
int
i
=
mSelectMealAdapter
.
getSelect_full_start_position
();
mSelectMealAdapter
.
getSelect_full_end_position
()
<
mOrderMealList
.
size
();
i
++)
{
mixOrderMealList
.
add
(
mOrderMealList
.
get
(
i
));
int
start_position
=
mSelectMealAdapter
.
getSelect_full_start_position
();
int
end_position
=
mSelectMealAdapter
.
getSelect_full_end_position
();
for
(
int
i
=
0
;
i
<
mOrderMealList
.
size
();
i
++)
{
if
(
start_position
<=
i
&&
i
<=
end_position
)
{
mixOrderMealList
.
add
(
mOrderMealList
.
get
(
i
));
}
}
return
mixOrderMealList
;
}
/**
* 獲取套餐總金額
* @param mixOrderMealList
* @return
*/
private
double
getMixTotalAomout
(
List
<
OrderDetail
>
mixOrderMealList
){
double
mixTotalAomout
=
0.0
;
for
(
OrderDetail
orderDetail:
mixOrderMealList
)
{
mixTotalAomout
=
MoneyUtil
.
sum
(
mixTotalAomout
,
orderDetail
.
getPrice
());
}
return
mixTotalAomout
;
}
@Override
public
void
onDestroy
()
{
super
.
onDestroy
();
...
...
@@ -383,40 +384,22 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
@Override
public
void
onItemClick
(
View
view
,
int
viewType
,
Object
data
,
int
position
)
{
Discount
discountBean
=
(
Discount
)
data
;
mRootView
.
recordOperat
(
true
);
if
(
XClickUtil
.
isFastDoubleClick
(
view
,
1000
))
{
return
;
}
Discount
discountBean
=
(
Discount
)
data
;
if
(!
discountConditionFilter
(
discountBean
))
{
return
;
}
if
(
cutOutDiscount
()
==
-
100
)
{
return
;
}
// if (discountBean.getType() == Discount.DISCOUNT_TYPE_CUSTOM_AMOUNT) {
// showCustomAmountDialog(discountBean);
// } else {
// addDiscountItem(discountBean);
// }
mMealDiscountAction
.
setSelectMixOrderMealList
();
// if (cutOutDiscount() == -100) {
// return;
// }
mMealDiscountAction
.
setSelectMixOrderMealList
(
getSelectMixOrderMealList
());
mMealDiscountAction
.
action
(
discountBean
);
}
});
}
private
void
showCustomAmountDialog
(
Discount
discountBean
)
{
CommonTipDialog
.
showEditDialog
(
IActivity
,
discountBean
.
getRemark
(),
"請輸入折扣金額"
,
InputType
.
TYPE_CLASS_NUMBER
|
InputType
.
TYPE_NUMBER_FLAG_DECIMAL
,
new
CommonTipDialog
.
OnEditTextListener
()
{
@Override
public
void
inputText
(
String
text
)
{
discountBean
.
setType
(
Discount
.
DISCOUNT_TYPE_AMOUNT
);
discountBean
.
setAmount
(
Double
.
parseDouble
(
text
));
addDiscountItem
(
discountBean
);
}
});
}
private
void
addFoodItemBefore
(
OrderDetail
datasBean
)
{
int
addPosition
=
addFoodItem
(
datasBean
);
...
...
@@ -954,7 +937,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
if
(
TextUtils
.
isEmpty
(
ids
))
{
return
;
}
List
<
OrderDetail
>
oldOrders
=
getSelectedOldFoodAndDicount
();
List
<
OrderDetail
>
oldOrders
=
getSelectedOldFoodAndDi
s
count
();
for
(
OrderDetail
item
:
oldOrders
)
{
//保存取消前的數量
item
.
setModifyBeforeNumber
(
item
.
getNumber
());
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderContentPresenter.java
View file @
ce4cd6d7
...
...
@@ -8,7 +8,6 @@ import android.util.Log;
import
android.view.View
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.aspectj.XClickUtil
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.base.common.bean.MemberInfo
;
...
...
@@ -54,23 +53,27 @@ 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.ui.widget.dialog.BaseRetryDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.jakewharton.rxbinding2.view.RxView
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.jess.arms.http.imageloader.ImageLoader
;
import
com.jess.arms.integration.AppManager
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.RxLifecycleUtils
;
import
com.scwang.smartrefresh.layout.api.RefreshLayout
;
import
com.xuexiang.rxutil2.RxBindingUtils
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.Comparator
;
import
java.util.List
;
import
java.util.concurrent.TimeUnit
;
import
javax.inject.Inject
;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.annotations.NonNull
;
import
io.reactivex.disposables.Disposable
;
import
io.reactivex.functions.Consumer
;
import
io.reactivex.schedulers.Schedulers
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
import
me.jessyan.rxerrorhandler.handler.ErrorHandleSubscriber
;
...
...
@@ -131,11 +134,11 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
//转移食品可多选
mSelectMealAdapter
.
setSelectedMode
(
SelectMealAdapter
.
MULTIPLE_SELECTED
);
}
mNomalDiscountAction
=
new
BillDiscountAction
(
IActivity
,
mShoppingCart
.
getNomalDiscoutByMultyDiscountList
(),
new
BillDiscountAction
.
OnCallBackListener
()
{
mNomalDiscountAction
=
new
BillDiscountAction
(
IActivity
,
new
BillDiscountAction
.
OnCallBackListener
()
{
@Override
public
void
exclusiveRemoveOther
(
)
{
mShoppingCart
.
delAll
MultyDiscount
(
);
public
void
exclusiveRemoveOther
s
(
List
<
NomalDiscount
>
nomalDiscountList
)
{
mShoppingCart
.
delAll
NomalDiscountList
(
nomalDiscountList
);
}
@Override
...
...
@@ -172,10 +175,9 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
mOrderTopFunctionAdapter
.
setOnClickListener
(
new
OrderTopFunctionAdapter
.
OnClickListener
()
{
@Override
public
void
onItemClick
(
View
v
,
Function
function
)
{
mRootView
.
recordOperat
(
true
);
if
(
XClickUtil
.
isFastDoubleClick
(
v
,
1000
))
{
return
;
}
switch
(
function
.
getResName
())
{
case
"送單"
:
sendOrder
(
false
,
null
);
...
...
@@ -764,10 +766,11 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
@Override
public
void
onItemClick
(
Discount
item
,
int
position
)
{
if
(
item
.
getMinBillAmount
()
>
mShoppingCart
.
getWholeAmount
())
{
//小於最小賬單金額
直接提示
mRootView
.
showMessage
(
"
食品總計金額小於"
+
cashStr
+
item
.
getMinBillAmount
()
);
//小於最小賬單金額
mRootView
.
showMessage
(
"
小於最小賬單金額"
+
cashStr
+
item
.
getMinBillAmount
()
+
" 無法使用此折扣"
);
return
;
}
mNomalDiscountAction
.
setNomalDiscountList
(
mShoppingCart
.
getNomalDiscoutByMultyDiscountList
());
mNomalDiscountAction
.
action
(
item
);
}
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/TablePresenter.java
View file @
ce4cd6d7
...
...
@@ -5,6 +5,7 @@ import android.content.Context;
import
android.os.CountDownTimer
;
import
android.text.TextUtils
;
import
android.view.View
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.common.bean.BaseResult
;
...
...
@@ -29,6 +30,7 @@ import com.gingersoft.gsa.cloud.table.mvp.model.table.action.TableAction;
import
com.gingersoft.gsa.cloud.table.mvp.model.utils.OrderAssemblyUtil
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BottomFunctionAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.FlowLayout
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.widget.SplitTableDialog
;
import
com.gingersoft.gsa.cloud.constans.GoldConstants
;
import
com.gingersoft.gsa.cloud.constans.PrintConstans
;
...
...
@@ -50,6 +52,7 @@ import com.jess.arms.utils.RxLifecycleUtils;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialog
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialogAction
;
import
com.scwang.smartrefresh.layout.api.RefreshLayout
;
import
com.xuexiang.rxutil2.rxjava.RxJavaUtils
;
import
java.util.ArrayList
;
import
java.util.Collections
;
...
...
@@ -325,7 +328,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
if
(
respose
.
isSuccess
())
{
DoshokuOrder
doshokuOrder
=
DoshokuOrder
.
getInstance
();
TableBean
.
DataBean
tableInfo
=
doshokuOrder
.
getOpenTableInfo
();
tableInfo
.
setPerson
(
0
);
//設置當前開台數據1584427984728 1584428017196 1584428086282
...
...
@@ -437,7 +440,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
//设置会员信息
doshokuOrder
.
setMemberInfo
(
orderBean
.
getMemberInfo
());
doshokuOrder
.
setMemberUpdateStatus
(
true
+
"-"
+
true
);
}
else
{
}
else
{
doshokuOrder
.
setMemberUpdateStatus
(
false
+
"-"
+
false
);
}
}
else
{
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity.java
View file @
ce4cd6d7
...
...
@@ -24,7 +24,6 @@ import android.widget.ScrollView;
import
android.widget.TextView
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.aspectj.XClickUtil
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.common.bean.MemberInfo
;
import
com.gingersoft.gsa.cloud.base.order.bean.OrderBean
;
...
...
@@ -63,13 +62,13 @@ import com.gingersoft.gsa.cloud.ui.view.RecyclerViewNoBugLinearLayoutManager;
import
com.gingersoft.gsa.cloud.ui.view.SearchKeyBoardView
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
import
com.gingersoft.gsa.cloud.zxing.MipcaCaptureActivity
;
import
com.jakewharton.rxbinding4.view.RxView
;
import
com.jess.arms.base.BaseFragmentActivity
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.qmuiteam.qmui.alpha.QMUIAlphaTextView
;
import
com.qmuiteam.qmui.util.QMUIDisplayHelper
;
import
com.xuexiang.rxutil2.RxBindingUtils
;
import
org.simple.eventbus.EventBus
;
...
...
@@ -91,6 +90,7 @@ import androidx.viewpager.widget.ViewPager;
import
butterknife.BindView
;
import
butterknife.OnClick
;
import
butterknife.OnLongClick
;
import
io.reactivex.functions.Consumer
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
...
...
@@ -551,7 +551,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
@Override
public
void
setPluMode
()
{
isPluMode
=
(
boolean
)
SPUtils
.
get
(
this
,
MealConstant
.
EXIT_IS_PLU_MODE
,
false
);
isPluMode
=
(
boolean
)
SPUtils
.
get
(
MealConstant
.
EXIT_IS_PLU_MODE
,
false
);
if
(
isPluMode
)
{
showViewModeVisibility
(
MealConstant
.
ViewMode_keys
);
btn_fid
.
setBackgroundColor
(
ArmsUtils
.
getColor
(
this
,
R
.
color
.
theme_hint_color
));
...
...
@@ -563,7 +563,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
@Override
public
void
resetPluMode
()
{
isPluMode
=
false
;
SPUtils
.
put
(
this
,
MealConstant
.
EXIT_IS_PLU_MODE
,
false
);
SPUtils
.
put
(
MealConstant
.
EXIT_IS_PLU_MODE
,
false
);
btn_fid
.
setBackground
(
ArmsUtils
.
getDrawablebyResource
(
this
,
R
.
drawable
.
ui_selector_item_background
));
}
...
...
@@ -702,10 +702,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
recordOperat
(
true
);
if
(
XClickUtil
.
isFastDoubleClick
(
v
,
200
))
{
return
;
}
//防抖處理
int
id
=
v
.
getId
();
if
(
id
==
R
.
id
.
btn_numberman
)
{
if
(
BaseOrder
.
isCurrentOrderType
(
FoodSummaryConstans
.
TAKEAWAY_TYPE
))
{
...
...
@@ -716,24 +713,29 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
//搜索
if
(
mCurrentViewMode
==
MealConstant
.
ViewMode_keys
)
{
showViewModeVisibility
(
MealConstant
.
food_group_ViewMode
,
MealConstant
.
food_ViewMode
);
SPUtils
.
put
(
this
,
MealConstant
.
EXIT_IS_PLU_MODE
,
false
);
SPUtils
.
put
(
MealConstant
.
EXIT_IS_PLU_MODE
,
false
);
}
else
{
showViewModeVisibility
(
MealConstant
.
ViewMode_keys
);
SPUtils
.
put
(
this
,
MealConstant
.
EXIT_IS_PLU_MODE
,
true
);
SPUtils
.
put
(
MealConstant
.
EXIT_IS_PLU_MODE
,
true
);
}
setPluMode
();
}
else
if
(
id
==
R
.
id
.
btn_meal_delete
)
{
if
(
mPresenter
.
getSelectMealAdapter
().
getSelectedMode
()
==
SelectMealAdapter
.
MULTIPLE_SELECTED
)
if
(
mPresenter
.
getSelectMealAdapter
().
getSelectedMode
()
==
SelectMealAdapter
.
MULTIPLE_SELECTED
)
{
return
;
}
mPresenter
.
deleteFoodItem
(
1
);
showViewModeVisibility
(
MealConstant
.
food_group_ViewMode
,
MealConstant
.
food_ViewMode
);
SPUtils
.
put
(
this
,
MealConstant
.
EXIT_IS_PLU_MODE
,
false
);
SPUtils
.
put
(
MealConstant
.
EXIT_IS_PLU_MODE
,
false
);
setPluMode
();
}
else
if
(
id
==
R
.
id
.
btn_meal_modify_restore
)
{
mPresenter
.
restoreDeleteFood
();
showBtnMealModifyRestoreVisibility
(
false
);
}
else
if
(
id
==
R
.
id
.
btn_send_order
)
{
// RxBindingUtils.setViewClicks(v)
// .subscribe(new Consumer<Object>() {
// @Override
// public void accept(Object o) throws Exception {
if
(
BaseOrder
.
isCurrentOrderType
(
FoodSummaryConstans
.
TAKEAWAY_TYPE
))
{
CC
.
obtainBuilder
(
"ComponentDeliveryPick"
)
.
setActionName
(
"SendOrder"
)
...
...
@@ -742,9 +744,11 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
return
;
}
mPresenter
.
sendOrder
(
false
,
null
);
// }
// });
}
else
if
(
id
==
R
.
id
.
fl_order_content
)
{
//如果打印成功會回調
Intent
intent
=
new
Intent
(
this
,
OrderContentActivity
.
class
);
Intent
intent
=
new
Intent
(
mContext
,
OrderContentActivity
.
class
);
startActivityForResult
(
intent
,
ORDER_CONTENT_CODE
);
}
else
if
(
id
==
R
.
id
.
tv_no_save_return
)
{
returnBeforeActivity
(
true
);
...
...
@@ -792,7 +796,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
mPresenter
.
changeNumber
(
i
);
break
;
case
99
:
ChooseNumberDialog
mChooseNumberDialog
=
new
ChooseNumberDialog
(
this
);
ChooseNumberDialog
mChooseNumberDialog
=
new
ChooseNumberDialog
(
mContext
);
mChooseNumberDialog
.
builder
();
mChooseNumberDialog
.
setOnClickListener
(
new
ChooseNumberDialog
.
OnClickListener
()
{
...
...
@@ -819,6 +823,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
}
else
if
(
id
==
R
.
id
.
iv_fine_back
)
{
showViewModeVisibility
(
MealConstant
.
combo_ViewMode
);
}
}
...
...
@@ -829,7 +834,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
}
public
void
returnBeforeActivity
(
boolean
initTable
)
{
SPUtils
.
put
(
this
,
MealConstant
.
EXIT_IS_PLU_MODE
,
isPluMode
);
SPUtils
.
put
(
MealConstant
.
EXIT_IS_PLU_MODE
,
isPluMode
);
if
(
BaseOrder
.
isCurrentOrderType
(
FoodSummaryConstans
.
RESTAURANT_MODE
)
&&
initTable
&&
!
DoshokuOrder
.
getInstance
().
isModifyOrder
())
{
TableBean
.
DataBean
dataBean
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
//通知更新餐台状态
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/TableActivity.java
View file @
ce4cd6d7
...
...
@@ -47,6 +47,7 @@ import com.qmuiteam.qmui.widget.tab.QMUITabBuilder;
import
com.qmuiteam.qmui.widget.tab.QMUITabIndicator
;
import
com.qmuiteam.qmui.widget.tab.QMUITabSegment
;
import
com.scwang.smartrefresh.layout.api.RefreshLayout
;
import
com.xuexiang.rxutil2.RxBindingUtils
;
import
org.simple.eventbus.Subscriber
;
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/FineItemOneAdapter.java
View file @
ce4cd6d7
...
...
@@ -9,7 +9,6 @@ import android.widget.ImageView;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
com.gingersoft.gsa.cloud.aspectj.XClickUtil
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.table.R
;
...
...
@@ -20,12 +19,15 @@ import com.jess.arms.base.BaseHolder;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.DeviceUtils
;
import
com.xuexiang.rxutil2.RxBindingUtils
;
import
java.util.ArrayList
;
import
java.util.List
;
import
androidx.recyclerview.widget.GridLayoutManager
;
import
butterknife.BindView
;
import
io.reactivex.functions.Consumer
;
/**
* 作者:ELEGANT_BIN
...
...
@@ -64,9 +66,6 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> {
int
modColumn
=
GsaCloudApplication
.
uiStyleConfiguration
.
getModColumnValue
();
this
.
mColwidth
=
(
int
)
((
DeviceUtils
.
getScreenWidth
(
context
)
/
modColumn
));
// Db_Color dc = new Db_Color(context);
// mColorList = dc.query("");
// dc.closeDb();
}
@Override
...
...
@@ -116,22 +115,9 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> {
@Override
public
void
onViewClick
(
View
view
,
int
position
)
{
if
(
XClickUtil
.
isFastDoubleClick
(
view
,
200
))
{
return
;
}
if
(
mOnItemClickListener
!=
null
)
{
// //设置当前选中item颜色
// datasBean.setSelected(true);
// tv_food_name.setBackgroundColor(mContext.getResources().getColor(R.color.orange_500));
//
// if (currentSelectPosition < mInfos.size()) {
// //重置上次选中item的颜色
// mInfos.get(currentSelectPosition).setSelected(false);
// notifyItemChanged(currentSelectPosition, 1);
// }
//记录当前操作的position
currentSelectPosition
=
position
;
mOnItemClickListener
.
onItemClick
(
datasBean
,
position
);
}
}
...
...
@@ -247,7 +233,7 @@ public class FineItemOneAdapter extends DefaultAdapter<Modifier> {
if
(
TextUtils
.
isEmpty
(
qty
))
{
tv_soldout
.
setVisibility
(
View
.
INVISIBLE
);
}
else
{
if
(
qty
.
equalsIgnoreCase
(
"售罄"
)
||
qty
.
equalsIgnoreCase
(
"暫停"
)
)
{
if
(
qty
.
equalsIgnoreCase
(
"售罄"
)
||
qty
.
equalsIgnoreCase
(
"暫停"
))
{
blv_soldout
.
setLableText
(
qty
);
blv_soldout
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/FineItemTwoAdapter.java
View file @
ce4cd6d7
...
...
@@ -9,7 +9,6 @@ import android.widget.ImageView;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
com.gingersoft.gsa.cloud.aspectj.XClickUtil
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
import
com.gingersoft.gsa.cloud.table.R
;
...
...
@@ -20,12 +19,15 @@ import com.jess.arms.base.BaseHolder;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.DeviceUtils
;
import
com.xuexiang.rxutil2.RxBindingUtils
;
import
java.util.ArrayList
;
import
java.util.List
;
import
androidx.recyclerview.widget.GridLayoutManager
;
import
butterknife.BindView
;
import
io.reactivex.functions.Consumer
;
/**
* 作者:ELEGANT_BIN
...
...
@@ -42,7 +44,6 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> {
//所有沽清类型
private
List
<
SoldoutCtrFood
>
mCurrentSlodoutFoodList_Full
=
new
ArrayList
<>();
// private List<Color.DatasBean> mColorList;
private
int
mOrderNumberShowSize
;
private
int
mOrderNumberFontSize
;
private
int
mModFontSize
;
...
...
@@ -65,9 +66,6 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> {
this
.
mColwidth
=
(
int
)
((
DeviceUtils
.
getScreenWidth
(
context
)
/
modColumn
));
this
.
mColHeight
=
GsaCloudApplication
.
uiStyleConfiguration
.
getModBtnHeightValue
();
// Db_Color dc = new Db_Color(context);
// mColorList = dc.query("");
// dc.closeDb();
}
@Override
...
...
@@ -120,27 +118,12 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> {
@Override
public
void
onClick
(
View
v
)
{
if
(
XClickUtil
.
isFastDoubleClick
(
v
,
200
)){
return
;
}
if
(
mOnItemClickListener
!=
null
)
{
if
(
datasBean
.
isReturn
())
{
mOnItemClickListener
.
onClickReturnFineItemOne
();
}
else
{
// //设置当前选中item颜色
// datasBean.setSelected(true);
// tv_food_name.setBackgroundColor(mContext.getResources().getColor(R.color.colorAccent));
//
// if (currentSelectPosition < mInfos.size()) {
// //重置上次选中item的颜色
// mInfos.get(currentSelectPosition).setSelected(false);
// notifyItemChanged(currentSelectPosition, 1);
// }
//记录当前操作的position
currentSelectPosition
=
position
;
mOnItemClickListener
.
onItemClick
(
datasBean
,
position
);
}
}
...
...
@@ -173,7 +156,7 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> {
String
desc
=
""
;
// switch (GsaCloudApplication.androidSetting.getDataLanguage()) {
// case 1:
desc
=
datasBean
.
getModifierName
();
desc
=
datasBean
.
getModifierName
();
// break;
// case 2:
// desc = datasBean.getDesc2();
...
...
@@ -227,13 +210,13 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> {
// }
// }
// } else {
//后台没有设置颜色当前选中高亮色,没有选中默认使用绿色
//后台没有设置颜色当前选中高亮色,没有选中默认使用绿色
// if (datasBean.isSelected()) {
// tv_food_name.setBackgroundColor(ArmsUtils.getColor(mContext, R.color.orange_500));
// tv_food_name.setTextColor(ArmsUtils.getColor(mContext, R.color.theme_white_color));
// } else {
tv_food_name
.
setBackgroundColor
(
ArmsUtils
.
getColor
(
mContext
,
R
.
color
.
Grass_green
));
tv_food_name
.
setTextColor
(
ArmsUtils
.
getColor
(
mContext
,
R
.
color
.
theme_white_color
));
tv_food_name
.
setBackgroundColor
(
ArmsUtils
.
getColor
(
mContext
,
R
.
color
.
Grass_green
));
tv_food_name
.
setTextColor
(
ArmsUtils
.
getColor
(
mContext
,
R
.
color
.
theme_white_color
));
// }
// }
}
...
...
@@ -286,7 +269,7 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> {
if
(
TextUtils
.
isEmpty
(
qty
))
{
tv_soldout
.
setVisibility
(
View
.
INVISIBLE
);
}
else
{
if
(
qty
.
equalsIgnoreCase
(
"售罄"
)
||
qty
.
equalsIgnoreCase
(
"暫停"
)
)
{
if
(
qty
.
equalsIgnoreCase
(
"售罄"
)
||
qty
.
equalsIgnoreCase
(
"暫停"
))
{
blv_soldout
.
setLableText
(
qty
);
blv_soldout
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
...
...
@@ -296,7 +279,8 @@ public class FineItemTwoAdapter extends DefaultAdapter<Modifier> {
}
}
}
//
//
public
void
setCurrentSlodoutFoodList_Full
(
List
<
SoldoutCtrFood
>
currentSlodoutFoodList_Full
)
{
this
.
mCurrentSlodoutFoodList_Full
=
currentSlodoutFoodList_Full
;
}
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/OrderTopFunctionAdapter.java
View file @
ce4cd6d7
...
...
@@ -10,10 +10,12 @@ import com.gingersoft.gsa.cloud.table.R;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.jess.arms.base.BaseHolder
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.xuexiang.rxutil2.RxBindingUtils
;
import
java.util.List
;
import
butterknife.BindView
;
import
io.reactivex.functions.Consumer
;
/**
* 作者:ELEGANT_BIN
...
...
@@ -77,8 +79,16 @@ public class OrderTopFunctionAdapter extends DefaultAdapter<Function> {
btn_name
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
if
(
onClickListener
!=
null
)
onClickListener
.
onItemClick
(
v
,
datasBean
);
// RxBindingUtils.setViewClicks(v)
// .subscribe(new Consumer<Object>() {
//
// @Override
// public void accept(Object o) throws Exception {
if
(
onClickListener
!=
null
)
{
onClickListener
.
onItemClick
(
v
,
datasBean
);
}
// }
// });
}
});
btn_name
.
setOnLongClickListener
(
new
View
.
OnLongClickListener
()
{
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/TableAdapter.java
View file @
ce4cd6d7
...
...
@@ -23,11 +23,14 @@ import com.jess.arms.base.DefaultAdapter;
import
com.qmuiteam.qmui.alpha.QMUIAlphaRelativeLayout
;
import
com.qmuiteam.qmui.layout.QMUIRelativeLayout
;
import
com.qmuiteam.qmui.util.QMUIDisplayHelper
;
import
com.xuexiang.rxutil2.RxBindingUtils
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.concurrent.TimeUnit
;
import
butterknife.BindView
;
import
io.reactivex.functions.Consumer
;
/**
* 作者:ELEGANT_BIN
...
...
@@ -251,11 +254,15 @@ public class TableAdapter extends DefaultAdapter<TableBean.DataBean> {
@Override
public
void
onClick
(
View
v
)
{
// if (XClickUtil.isFastDoubleClick(v, 1000)) {
// return;
// }
if
(
mOnItemClickListener
!=
null
)
{
mOnItemClickListener
.
onItemClick
(
item
,
position
);
// RxBindingUtils.setViewClicks(v)
// .subscribe(new Consumer<Object>() {
//
// @Override
// public void accept(Object o) throws Exception {
mOnItemClickListener
.
onItemClick
(
item
,
position
);
// }
// });
}
}
});
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/ComboAdapter.java
View file @
ce4cd6d7
...
...
@@ -20,6 +20,7 @@ import com.jess.arms.base.BaseHolder;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.DeviceUtils
;
import
com.xuexiang.rxutil2.RxBindingUtils
;
import
java.util.List
;
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/DiscountAdapter.java
View file @
ce4cd6d7
...
...
@@ -111,15 +111,4 @@ public class DiscountAdapter extends DefaultAdapter<Discount> {
}
}
private
OnItemClickListener
mOnItemClickListener
;
public
void
setOnItemClickListener
(
OnItemClickListener
onItemClickListener
)
{
mOnItemClickListener
=
onItemClickListener
;
}
public
interface
OnItemClickListener
{
void
onItemClick
(
Discount
datasBean
,
int
position
);
}
}
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/FoodAdapter.java
View file @
ce4cd6d7
...
...
@@ -9,7 +9,6 @@ import android.widget.ImageView;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
com.gingersoft.gsa.cloud.aspectj.XClickUtil
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.table.R
;
...
...
@@ -19,11 +18,14 @@ import com.jess.arms.base.BaseHolder;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.DeviceUtils
;
import
com.xuexiang.rxutil2.RxBindingUtils
;
import
java.util.List
;
import
androidx.recyclerview.widget.GridLayoutManager
;
import
butterknife.BindView
;
import
io.reactivex.functions.Consumer
;
/**
* 作者:ELEGANT_BIN
...
...
@@ -111,9 +113,6 @@ public class FoodAdapter extends DefaultAdapter<Food> {
setStatus
(
datasBean
);
setOnItemClickListener
((
view
,
position1
)
->
{
if
(
XClickUtil
.
isFastDoubleClick
(
view
,
200
))
{
return
;
}
resetSelect
(
position1
,
datasBean
);
});
}
...
...
@@ -188,7 +187,7 @@ public class FoodAdapter extends DefaultAdapter<Food> {
if
(
TextUtils
.
isEmpty
(
qty
))
{
tv_soldout
.
setVisibility
(
View
.
INVISIBLE
);
}
else
{
if
(
qty
.
equalsIgnoreCase
(
"售罄"
)
||
qty
.
equalsIgnoreCase
(
"暫停"
)
)
{
if
(
qty
.
equalsIgnoreCase
(
"售罄"
)
||
qty
.
equalsIgnoreCase
(
"暫停"
))
{
blv_soldout
.
setLableText
(
qty
);
blv_soldout
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/FoodGroupAdapter.java
View file @
ce4cd6d7
...
...
@@ -8,7 +8,6 @@ import android.view.ViewGroup;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
com.gingersoft.gsa.cloud.aspectj.XClickUtil
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.table.R
;
...
...
@@ -18,10 +17,12 @@ import com.jess.arms.base.BaseHolder;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.DeviceUtils
;
import
com.xuexiang.rxutil2.RxBindingUtils
;
import
java.util.List
;
import
butterknife.BindView
;
import
io.reactivex.functions.Consumer
;
/**
* 作者:ELEGANT_BIN
...
...
@@ -107,9 +108,6 @@ public class FoodGroupAdapter extends DefaultAdapter<Food> {
@Override
public
void
onViewClick
(
View
view
,
int
position
)
{
if
(
XClickUtil
.
isFastDoubleClick
(
view
,
200
))
{
return
;
}
if
(
mOnItemClickListener
!=
null
)
{
for
(
int
i
=
0
;
i
<
mInfos
.
size
();
i
++)
{
mInfos
.
get
(
i
).
setSelected
(
false
);
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/SelectMealAdapter.java
View file @
ce4cd6d7
...
...
@@ -7,6 +7,7 @@ import android.view.View;
import
android.widget.ImageView
;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
com.gingersoft.gsa.cloud.base.application.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.order.commodity.Commodity
;
import
com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail
;
...
...
@@ -175,19 +176,31 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
}
private
void
setViewVisibility
(
OrderDetail
datasBean
)
{
//是否参与折扣
if
(
datasBean
.
getAblediscount
()
==
0
)
{
tv_D
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
tv_D
.
setVisibility
(
View
.
INVISIBLE
);
}
tv_D_1
.
setVisibility
(
View
.
INVISIBLE
);
//是否参与服務費
if
(
datasBean
.
getScAble
()
==
0
)
{
tv_S
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
tv_S
.
setVisibility
(
View
.
INVISIBLE
);
}
tv_S_1
.
setVisibility
(
View
.
INVISIBLE
);
//是否可折上折
if
(
datasBean
.
getType
()
!=
OrderDetail
.
DISCOUNT_TYPE
&&
datasBean
.
getAdditionalDiscount
()
==
0
)
{
tv_D_1
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
tv_D_1
.
setVisibility
(
View
.
INVISIBLE
);
}
//使用此折扣是否可免服務費
if
(
datasBean
.
getType
()
!=
OrderDetail
.
DISCOUNT_TYPE
&&
datasBean
.
getFreeServiceCharge
()
==
1
)
{
tv_S_1
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
tv_S_1
.
setVisibility
(
View
.
INVISIBLE
);
}
tv_discount_money
.
setVisibility
(
View
.
INVISIBLE
);
if
(
datasBean
.
isModify
())
{
...
...
@@ -196,20 +209,9 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
}
else
{
tv_modify_before_number
.
setVisibility
(
View
.
INVISIBLE
);
}
//
// if (datasBean.getMix_DETAIL_ID() > 0) {
// tv_mix.setText(String.valueOf(datasBean.getMix_DETAIL_ID()));
// tv_mix.setVisibility(View.VISIBLE);
// } else {
// tv_mix.setVisibility(View.INVISIBLE);
// }
}
private
void
setMealCountLayout
(
OrderDetail
datasBean
,
int
position
)
{
// if (datasBean.isnew &&
// mOrderContentPresenter != null &&
// select_position == position &&
// datasBean.getDiscount_id() == 0) {
if
(
datasBean
.
isNew
()
&&
mOrderContentPresenter
!=
null
&&
datasBean
.
getSelected
()
!=
0
&&
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/widget/FlowLayout.java
View file @
ce4cd6d7
...
...
@@ -28,7 +28,6 @@ public class FlowLayout extends ViewGroup {
public
FlowLayout
(
Context
context
,
AttributeSet
attrs
)
{
super
(
context
,
attrs
);
}
private
void
initMeasureParams
()
{
...
...
@@ -68,8 +67,8 @@ public class FlowLayout extends ViewGroup {
for
(
int
i
=
0
;
i
<
10000
;
i
++){
testMethod
();
}
super
.
onMeasure
(
widthMeasureSpec
,
heightMeasureSpec
);
initMeasureParams
();
int
selfWidth
=
MeasureSpec
.
getSize
(
widthMeasureSpec
);
...
...
table-module/src/main/res/layout/meal_dialog_use_member.xml
View file @
ce4cd6d7
...
...
@@ -35,11 +35,11 @@
android:inputType=
"number"
android:background=
"@drawable/table_shape_input_table_number_frame"
app:met_autoValidate=
"true"
app:met_baseColor=
"
#0056d3
"
app:met_baseColor=
"
@color/theme_black
"
app:met_clearButton=
"true"
app:met_floatingLabel=
"highlight"
app:met_iconPadding=
"2dp"
app:met_primaryColor=
"
#982360
"
app:met_primaryColor=
"
@color/theme_color
"
app:met_singleLineEllipsis=
"false"
/>
<com.qmuiteam.qmui.alpha.QMUIAlphaButton
...
...
table-module/src/main/res/layout/table_dialog_keyboard.xml
View file @
ce4cd6d7
...
...
@@ -13,7 +13,7 @@
android:paddingBottom=
"@dimen/dp_10"
android:paddingStart=
"@dimen/dp_20"
android:paddingEnd=
"@dimen/dp_20"
android:background=
"@drawable/shape_rect_fillet_white_5"
>
android:background=
"@drawable/
ui_
shape_rect_fillet_white_5"
>
<com.rengwuxian.materialedittext.MaterialEditText
android:id=
"@+id/ed_text"
...
...
@@ -29,23 +29,23 @@
android:textSize=
"@dimen/sp_16"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:met_bottomTextSize=
"@dimen/sp_16"
app:met_floatingLabelTextSize=
"@dimen/sp_16"
app:met_autoValidate=
"true"
app:met_baseColor=
"@color/theme_black"
app:met_clearButton=
"true"
app:met_floatingLabel=
"highlight"
app:met_iconPadding=
"2dp"
app:met_primaryColor=
"@color/theme_color"
app:met_singleLineEllipsis=
"false"
app:met_bottomTextSize=
"@dimen/sp_16"
app:met_floatingLabelTextSize=
"@dimen/sp_16"
/>
app:met_singleLineEllipsis=
"false"
/>
<View
android:layout_width=
"1px"
android:layout_height=
"@dimen/dp_30"
android:background=
"@color/theme_grey_color"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
/
>
<!-- <View-->
<!-- android:layout_width="1px"-->
<!-- android:layout_height="@dimen/dp_30"-->
<!-- android:background="@color/theme_light_blue"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"/>--
>
<com.qmuiteam.qmui.alpha.QMUIAlphaTextView
android:id=
"@+id/tv_sure"
...
...
@@ -67,7 +67,7 @@
android:layout_height=
"@dimen/dp_40"
android:gravity=
"center"
android:textSize=
"@dimen/sp_14"
android:textColor=
"@color/theme_
grey_
color"
android:textColor=
"@color/theme_color"
android:text=
"取消"
android:layout_marginTop=
"@dimen/dp_10"
app:layout_constraintTop_toBottomOf=
"@+id/ed_text"
...
...
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