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
c4e6855d
Commit
c4e6855d
authored
Nov 21, 2020
by
宁斌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1、統一網絡請求頭HeadersInterceptor 2、加入美團日誌框架logan對(網絡請求,頁面生命週期)進行埋點 3、增加user狀態管理類
parent
f99df214
Hide whitespace changes
Inline
Side-by-side
Showing
64 changed files
with
960 additions
and
359 deletions
+960
-359
base-module/build.gradle
+2
-3
base-module/src/main/java/com/gingersoft/gsa/cloud/account/restaurant/BrandInfo.java
+15
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/account/restaurant/RestaurantInfo.java
+18
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/account/restaurant/ResturantInfoManager.java
+51
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/account/user/UserConstans.java
+2
-5
base-module/src/main/java/com/gingersoft/gsa/cloud/account/user/UserContextManger.java
+44
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/account/user/info/UserInfo.java
+30
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/account/user/info/UserInfoManger.java
+48
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/account/user/state/HasLoginState.java
+50
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/account/user/state/NotLoginState.java
+33
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/account/user/state/UserState.java
+25
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/app/GsaCloudApplication.java
+22
-25
base-module/src/main/java/com/gingersoft/gsa/cloud/base/common/bean/MemberInfo.java
+7
-3
base-module/src/main/java/com/gingersoft/gsa/cloud/base/utils/crash/AppCrashHandler.java
+3
-1
base-module/src/main/java/com/gingersoft/gsa/cloud/base/utils/log/LogUtil.java
+1
-1
base-module/src/main/java/com/gingersoft/gsa/cloud/base/utils/okhttpUtils/OkHttp3Utils.java
+35
-33
base-module/src/main/java/com/gingersoft/gsa/cloud/config/LogInfoConfig.java
+0
-11
base-module/src/main/java/com/gingersoft/gsa/cloud/config/LoganConfig.java
+41
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/config/OkHttpConfig.java
+19
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/config/globalconfig/GlobalConfiguration.java
+2
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/config/globalconfig/applyOptions/MyGlobalHttpHandler.java
+0
-28
base-module/src/main/java/com/gingersoft/gsa/cloud/config/globalconfig/applyOptions/MyOkhttpConfiguration.java
+4
-3
base-module/src/main/java/com/gingersoft/gsa/cloud/config/globalconfig/applyOptions/MyResponseErrorListener.java
+4
-2
base-module/src/main/java/com/gingersoft/gsa/cloud/config/globalconfig/applyOptions/MyRetrofitConfiguration.java
+4
-2
base-module/src/main/java/com/gingersoft/gsa/cloud/config/globalconfig/applyOptions/intercept/HeadersInterceptor.java
+56
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/config/globalconfig/applyOptions/intercept/LoggingInterceptor.java
+11
-10
base-module/src/main/java/com/gingersoft/gsa/cloud/config/globalconfig/applyOptions/intercept/UserAgentInterceptor.java
+0
-23
base-module/src/main/java/com/gingersoft/gsa/cloud/config/globalconfig/lifecyclesOptioins/MyActivityLifecycle.java
+8
-1
base-module/src/main/java/com/gingersoft/gsa/cloud/config/globalconfig/lifecyclesOptioins/MyAppLifecycles.java
+2
-8
base-module/src/main/java/com/gingersoft/gsa/cloud/config/globalconfig/lifecyclesOptioins/MyFragmentLifecycle.java
+95
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/constans/HttpsConstans.java
+18
-2
base-module/src/main/java/com/gingersoft/gsa/cloud/logan/LoganUtils.java
+94
-0
base-module/src/main/java/com/gingersoft/gsa/cloud/menu/Menu.java
+0
-12
base-module/src/main/java/com/gingersoft/gsa/cloud/ui/view/OrderPayView.java
+10
-6
base-module/src/main/res/layout/layout_order_pay.xml
+0
-2
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/data/network/ServiceCreator.kt
+31
-37
login-module/src/main/java/com/gingersoft/gsa/cloud/login/mvp/contract/LoginInterfaceImpl.java
+1
-1
login-module/src/main/java/com/gingersoft/gsa/cloud/login/mvp/ui/activity/mvp/ui/activity/LoginActivity.java
+1
-1
login-module/src/main/java/com/gingersoft/gsa/cloud/login/mvp/ui/activity/mvp/ui/activity/WelcomeActivity.java
+1
-1
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/cart/ShoppingCart.java
+4
-1
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/commodity/MealCommodity.java
+1
-1
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/order/BaseOrder.java
+14
-0
print-module/src/main/java/com/joe/print/mvp/print/PrintBill.java
+0
-1
print-module/src/main/java/com/joe/print/mvp/print/PrinterRoot.java
+7
-1
print-module/src/main/res/layout/print_model_meal_member_integer_info.xml
+2
-2
table-base/src/main/java/com/gingersoft/gsa/cloud/base/table/bean/TableBean.java
+1
-0
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/discount/MealDiscountAction.java
+5
-0
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/table/action/PrintSkyorderAction.java
+1
-1
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
+26
-16
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/MealStandPresenter.java
+1
-26
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderContentPresenter.java
+1
-1
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderPayPresenter.java
+11
-6
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/TablePresenter.java
+16
-3
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity.java
+40
-35
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderContentActivity.java
+9
-9
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderPayActivity.java
+0
-7
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/TableActivity.java
+2
-4
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/BillItemAdapter.java
+2
-1
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/TableAdapter.java
+0
-2
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/DiscountAdapter.java
+8
-2
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/SelectMealAdapter.java
+14
-2
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/widget/UseMemberDialog.java
+1
-7
table-module/src/main/res/layout/meal_item_discount.xml
+5
-7
table-module/src/main/res/layout/meal_item_select_meal_stand.xml
+1
-3
No files found.
base-module/build.gradle
View file @
c4e6855d
...
@@ -152,10 +152,10 @@ dependencies {
...
@@ -152,10 +152,10 @@ dependencies {
//底部功能導航view
//底部功能導航view
api
'com.github.ittianyu:BottomNavigationViewEx:2.0.4'
api
'com.github.ittianyu:BottomNavigationViewEx:2.0.4'
//滴滴開源 哆啦A夢:辅助开发工具、测试效率工具、视觉辅助工具
//滴滴開源 哆啦A夢:辅助开发工具、测试效率工具、视觉辅助工具
// debugImplementation rootProject.ext.dependencies["doraemonkit"]
debugImplementation
'com.didichuxing.doraemonkit:dokitx:3.3.3'
debugImplementation
'com.didichuxing.doraemonkit:dokitx:3.3.3'
releaseImplementation
'com.didichuxing.doraemonkit:dokitx-no-op:3.3.3'
releaseImplementation
'com.didichuxing.doraemonkit:dokitx-no-op:3.3.3'
//美團金剛狼日誌框架
api
rootProject
.
ext
.
dependencies
[
'logan'
]
//RecyclerView 流式佈局layoutManager
//RecyclerView 流式佈局layoutManager
api
'com.google.android:flexbox:1.0.0'
api
'com.google.android:flexbox:1.0.0'
...
@@ -172,7 +172,6 @@ dependencies {
...
@@ -172,7 +172,6 @@ dependencies {
api
'androidx.core:core-ktx:+'
api
'androidx.core:core-ktx:+'
implementation
"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation
"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
api
'com.github.huangyanbin:SmartTable:2.2.0'
api
'com.github.huangyanbin:SmartTable:2.2.0'
// api rootProject.ext.dependencies['logan']
}
}
repositories
{
repositories
{
...
...
base-module/src/main/java/com/gingersoft/gsa/cloud/account/restaurant/BrandInfo.java
0 → 100644
View file @
c4e6855d
package
com
.
gingersoft
.
gsa
.
cloud
.
account
.
restaurant
;
import
lombok.Data
;
/**
* @author : bin
* @create date: 2020-11-21
* @update date: 2020-11-21
* @description:
*/
@Data
public
class
BrandInfo
{
private
int
brandId
;
private
String
brandName
;
}
base-module/src/main/java/com/gingersoft/gsa/cloud/account/restaurant/RestaurantInfo.java
0 → 100644
View file @
c4e6855d
package
com
.
gingersoft
.
gsa
.
cloud
.
account
.
restaurant
;
import
lombok.Data
;
/**
* @author : bin
* @create date: 2020-11-21
* @update date: 2020-11-21
* @description:
*/
@Data
public
class
RestaurantInfo
{
private
int
restaurantId
;
private
String
restaurantName
;
private
String
gsPosShopId
;
}
base-module/src/main/java/com/gingersoft/gsa/cloud/account/restaurant/ResturantInfoManager.java
0 → 100644
View file @
c4e6855d
package
com
.
gingersoft
.
gsa
.
cloud
.
account
.
restaurant
;
import
com.gingersoft.gsa.cloud.account.user.UserConstans
;
import
com.gingersoft.gsa.cloud.account.user.info.UserInfo
;
import
com.gingersoft.gsa.cloud.base.utils.other.SPUtils
;
import
lombok.Data
;
/**
* @author : bin
* @create date: 2020-11-21
* @update date: 2020-11-21
* @description:
*/
@Data
public
class
ResturantInfoManager
{
private
static
ResturantInfoManager
resturantInfoManager
=
null
;
/**
* 品牌信息
*/
private
BrandInfo
brandInfo
;
/**
* 餐廳信息
*/
private
RestaurantInfo
restaurantInfo
;
private
ResturantInfoManager
()
{
}
public
static
ResturantInfoManager
getInstance
()
{
if
(
resturantInfoManager
==
null
)
{
synchronized
(
ResturantInfoManager
.
class
)
{
if
(
resturantInfoManager
==
null
)
{
resturantInfoManager
=
new
ResturantInfoManager
();
}
}
}
return
resturantInfoManager
;
}
public
void
setResturantInfoToLocation
(
RestaurantInfo
info
)
{
// SPUtils.put(UserConstans.restaurantId, info);
// SPUtils.put(UserConstans.restaurantId, info.ge);
// SPUtils.put(UserConstans.restaurantId, restaurantId);
}
}
base-module/src/main/java/com/gingersoft/gsa/cloud/
constans
/UserConstans.java
→
base-module/src/main/java/com/gingersoft/gsa/cloud/
account/user
/UserConstans.java
View file @
c4e6855d
package
com
.
gingersoft
.
gsa
.
cloud
.
constans
;
package
com
.
gingersoft
.
gsa
.
cloud
.
account
.
user
;
/**
/**
* Created by Wyh on 2019/12/21.
* Created by Wyh on 2019/12/21.
*/
*/
public
class
UserConstans
{
public
interface
UserConstans
{
public
final
static
String
LOGIN_USERNAME
=
"login_account"
;
public
final
static
String
LOGIN_USERNAME
=
"login_account"
;
public
final
static
String
LOGIN_PASSWORD
=
"login_password"
;
public
final
static
String
LOGIN_PASSWORD
=
"login_password"
;
public
final
static
String
AUTO_LOGIN
=
"auto_login"
;
public
final
static
String
AUTO_LOGIN
=
"auto_login"
;
public
final
static
String
IS_GUIDE
=
"is_guide"
;
public
final
static
String
IS_GUIDE
=
"is_guide"
;
public
static
String
memberId
=
"member_id"
;
public
static
String
memberId
=
"member_id"
;
public
static
String
memberName
=
"member_name"
;
public
static
String
memberName
=
"member_name"
;
...
@@ -24,6 +23,4 @@ public class UserConstans {
...
@@ -24,6 +23,4 @@ public class UserConstans {
/**當前賬號下所有餐檯品牌Json*/
/**當前賬號下所有餐檯品牌Json*/
public
static
String
brandRestaurantInfos
=
"brand_restaurant_infos"
;
public
static
String
brandRestaurantInfos
=
"brand_restaurant_infos"
;
//平闆登录状态
public
static
String
FLATBED_LOGIN_STATUS
=
"flatbed_login_status"
;
}
}
base-module/src/main/java/com/gingersoft/gsa/cloud/account/user/UserContextManger.java
0 → 100644
View file @
c4e6855d
package
com
.
gingersoft
.
gsa
.
cloud
.
account
.
user
;
import
com.gingersoft.gsa.cloud.account.user.info.UserInfo
;
import
com.gingersoft.gsa.cloud.account.user.state.UserState
;
import
lombok.Getter
;
import
lombok.Setter
;
/**
* @author : bin
* @create date: 2020-11-21
* @update date: 2020-11-21
* @description:用戶信息管理:如用戶登錄狀態,用戶信息等。。
*/
@Getter
@Setter
public
class
UserContextManger
{
private
static
UserContextManger
userContextManger
=
null
;
/**
* 用戶狀態
*/
private
UserState
state
;
/**
* 用戶信息
*/
private
UserInfo
info
;
private
UserContextManger
()
{
}
public
static
UserContextManger
getInstance
()
{
if
(
userContextManger
==
null
)
{
synchronized
(
UserContextManger
.
class
)
{
if
(
userContextManger
==
null
)
{
userContextManger
=
new
UserContextManger
();
}
}
}
return
userContextManger
;
}
}
base-module/src/main/java/com/gingersoft/gsa/cloud/account/user/info/UserInfo.java
0 → 100644
View file @
c4e6855d
package
com
.
gingersoft
.
gsa
.
cloud
.
account
.
user
.
info
;
import
java.util.Date
;
import
lombok.Data
;
/**
* @author : bin
* @create date: 2020-11-21
* @update date: 2020-11-21
* @description:
*/
@Data
public
class
UserInfo
{
private
Integer
userId
;
private
String
userName
;
private
Integer
groupId
;
private
Integer
parentId
;
private
Integer
merchantsId
;
private
String
mobile
;
private
String
email
;
private
byte
status
;
private
Date
createTime
;
private
String
createBy
;
private
Date
updateTime
;
private
String
updateBy
;
private
String
token
;
}
base-module/src/main/java/com/gingersoft/gsa/cloud/account/user/info/UserInfoManger.java
0 → 100644
View file @
c4e6855d
package
com
.
gingersoft
.
gsa
.
cloud
.
account
.
user
.
info
;
import
com.gingersoft.gsa.cloud.base.utils.other.SPUtils
;
import
com.gingersoft.gsa.cloud.account.user.UserConstans
;
/**
* @author : bin
* @create date: 2020-11-21
* @update date: 2020-11-21
* @description:
*/
public
class
UserInfoManger
{
private
static
UserInfoManger
userInfoManger
=
null
;
private
UserInfoManger
()
{
}
public
static
UserInfoManger
getInstance
()
{
if
(
userInfoManger
==
null
)
{
synchronized
(
UserInfoManger
.
class
)
{
if
(
userInfoManger
==
null
)
{
userInfoManger
=
new
UserInfoManger
();
}
}
}
return
userInfoManger
;
}
public
void
setUserInfoToLocation
(
UserInfo
info
)
{
SPUtils
.
put
(
UserConstans
.
token
,
info
.
getUserName
());
SPUtils
.
put
(
UserConstans
.
memberId
,
info
.
getUserName
());
SPUtils
.
put
(
UserConstans
.
memberName
,
info
.
getUserName
());
}
public
static
String
getLoginToken
()
{
return
(
String
)
SPUtils
.
get
(
UserConstans
.
token
,
""
);
}
public
static
int
getMemberId
()
{
return
(
int
)
SPUtils
.
get
(
UserConstans
.
memberId
,
0
);
}
public
static
String
getMemberName
()
{
return
(
String
)
SPUtils
.
get
(
UserConstans
.
memberName
,
""
);
}
}
base-module/src/main/java/com/gingersoft/gsa/cloud/account/user/state/HasLoginState.java
0 → 100644
View file @
c4e6855d
package
com
.
gingersoft
.
gsa
.
cloud
.
account
.
user
.
state
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.base.utils.other.SPUtils
;
import
com.gingersoft.gsa.cloud.constans.PrintConstans
;
import
com.gingersoft.gsa.cloud.account.user.UserConstans
;
/**
* @author : bin
* @create date: 2020-11-21
* @update date: 2020-11-21
* @description:用戶已登錄
*/
public
class
HasLoginState
implements
UserState
{
@Override
public
void
toLoginPage
()
{
}
@Override
public
void
logOut
()
{
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"
)
.
build
()
.
call
();
//跳轉登陸頁面
CC
.
obtainBuilder
(
"User.Component.Login"
)
.
setActionName
(
"showActivityA"
)
.
build
()
.
call
();
}
@Override
public
void
toTargetPage
()
{
}
}
base-module/src/main/java/com/gingersoft/gsa/cloud/account/user/state/NotLoginState.java
0 → 100644
View file @
c4e6855d
package
com
.
gingersoft
.
gsa
.
cloud
.
account
.
user
.
state
;
import
com.billy.cc.core.component.CC
;
/**
* @author : bin
* @create date: 2020-11-21
* @update date: 2020-11-21
* @description:用戶未登錄
*/
public
class
NotLoginState
implements
UserState
{
@Override
public
void
toLoginPage
()
{
//跳轉登錄頁面
CC
.
obtainBuilder
(
"User.Component.Login"
)
.
setActionName
(
"showActivityA"
)
.
build
()
.
call
();
}
@Override
public
void
logOut
()
{
}
@Override
public
void
toTargetPage
()
{
}
}
base-module/src/main/java/com/gingersoft/gsa/cloud/account/user/state/UserState.java
0 → 100644
View file @
c4e6855d
package
com
.
gingersoft
.
gsa
.
cloud
.
account
.
user
.
state
;
/**
* @author : bin
* @create date: 2020-11-21
* @update date: 2020-11-21
* @description: 已登錄 未登錄
* */
public
interface
UserState
{
/**
* 跳轉到登錄頁面
*/
void
toLoginPage
();
/**
* 登出
*/
void
logOut
();
/**
* 跳轉到目標也
*/
void
toTargetPage
();
}
base-module/src/main/java/com/gingersoft/gsa/cloud/app/GsaCloudApplication.java
View file @
c4e6855d
...
@@ -9,6 +9,7 @@ import android.os.Build;
...
@@ -9,6 +9,7 @@ import android.os.Build;
import
android.os.RemoteException
;
import
android.os.RemoteException
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
com.billy.cc.core.component.CC
;
import
com.billy.cc.core.component.CC
;
import
com.dianping.logan.Logan
;
import
com.didichuxing.doraemonkit.DoraemonKit
;
import
com.didichuxing.doraemonkit.DoraemonKit
;
import
com.elvishew.xlog.LogConfiguration
;
import
com.elvishew.xlog.LogConfiguration
;
import
com.elvishew.xlog.LogLevel
;
import
com.elvishew.xlog.LogLevel
;
...
@@ -31,8 +32,9 @@ import com.gingersoft.gsa.cloud.base.utils.xlog.MyBackupStrategy;
...
@@ -31,8 +32,9 @@ import com.gingersoft.gsa.cloud.base.utils.xlog.MyBackupStrategy;
import
com.gingersoft.gsa.cloud.config.DoraemonKitConfig
;
import
com.gingersoft.gsa.cloud.config.DoraemonKitConfig
;
import
com.gingersoft.gsa.cloud.constans.HttpsConstans
;
import
com.gingersoft.gsa.cloud.constans.HttpsConstans
;
import
com.gingersoft.gsa.cloud.constans.PrintConstans
;
import
com.gingersoft.gsa.cloud.constans.PrintConstans
;
import
com.gingersoft.gsa.cloud.
constans
.UserConstans
;
import
com.gingersoft.gsa.cloud.
account.user
.UserConstans
;
import
com.gingersoft.gsa.cloud.database.DaoManager
;
import
com.gingersoft.gsa.cloud.database.DaoManager
;
import
com.gingersoft.gsa.cloud.config.LoganConfig
;
import
com.gingersoft.gsa.cloud.ui.loadsir.CustomCallback
;
import
com.gingersoft.gsa.cloud.ui.loadsir.CustomCallback
;
import
com.gingersoft.gsa.cloud.ui.loadsir.EmptyCallback
;
import
com.gingersoft.gsa.cloud.ui.loadsir.EmptyCallback
;
import
com.gingersoft.gsa.cloud.ui.loadsir.ErrorCallback
;
import
com.gingersoft.gsa.cloud.ui.loadsir.ErrorCallback
;
...
@@ -46,8 +48,7 @@ import com.scwang.smartrefresh.layout.SmartRefreshLayout;
...
@@ -46,8 +48,7 @@ import com.scwang.smartrefresh.layout.SmartRefreshLayout;
import
com.scwang.smartrefresh.layout.footer.ClassicsFooter
;
import
com.scwang.smartrefresh.layout.footer.ClassicsFooter
;
import
com.scwang.smartrefresh.layout.header.ClassicsHeader
;
import
com.scwang.smartrefresh.layout.header.ClassicsHeader
;
import
java.util.ArrayList
;
import
java.io.File
;
import
java.util.List
;
import
java.util.Locale
;
import
java.util.Locale
;
import
me.jessyan.autosize.AutoSize
;
import
me.jessyan.autosize.AutoSize
;
import
me.jessyan.autosize.AutoSizeConfig
;
import
me.jessyan.autosize.AutoSizeConfig
;
...
@@ -74,14 +75,6 @@ public class GsaCloudApplication extends BaseApplication {
...
@@ -74,14 +75,6 @@ public class GsaCloudApplication extends BaseApplication {
* 是否開啟皮膚切換
* 是否開啟皮膚切換
*/
*/
public
static
boolean
openSkinMake
=
false
;
public
static
boolean
openSkinMake
=
false
;
/**
* okhttp连接超时20秒
*/
public
static
int
CONNECT_TIMEOUT
=
20
;
/**
* okhttp读写超时20秒
*/
public
static
int
REQUEST_TIMEOUT
=
20
;
public
static
boolean
isLogin
=
false
;
public
static
boolean
isLogin
=
false
;
public
static
String
userName
=
""
;
public
static
String
userName
=
""
;
...
@@ -133,6 +126,7 @@ public class GsaCloudApplication extends BaseApplication {
...
@@ -133,6 +126,7 @@ public class GsaCloudApplication extends BaseApplication {
initPrint
();
initPrint
();
//初始化日誌管理庫
//初始化日誌管理庫
initXLog
();
initXLog
();
initLogan
();
//初始化crash記錄
//初始化crash記錄
AppCrashHandler
.
getInstance
().
init
(
this
);
AppCrashHandler
.
getInstance
().
init
(
this
);
...
@@ -141,22 +135,25 @@ public class GsaCloudApplication extends BaseApplication {
...
@@ -141,22 +135,25 @@ public class GsaCloudApplication extends BaseApplication {
//上傳餐廳擴展信息
//上傳餐廳擴展信息
ExpandInfoSetting
.
initUpdateExtendedConfiguration
(
uiStyleConfiguration
,
functionConfiguration
);
ExpandInfoSetting
.
initUpdateExtendedConfiguration
(
uiStyleConfiguration
,
functionConfiguration
);
// 设定一些通用的属性,这些属性在每次统计事件中都会附带
// 注意:如果此处的属性名与内置属性的名称相同,则内置属性会被覆盖
// Tracker.INSTANCE.addProperty("附加的属性1", "附加的属性1");
// Tracker.INSTANCE.addProperty("附加的属性2", "附加的属性2");
// // 设定上报数据的主机和接口
// // 注意:该方法一定要在Tracker.initialize()方法前调用
// // 否则会由于上报地址未初始化,在触发启动事件时导致崩溃
// Tracker.INSTANCE.setService("host", "path");
// // 设定上报数据的项目名称
// Tracker.INSTANCE.setProjectName("項目名");
// // 设定上报数据的模式
// Tracker.INSTANCE.setMode(TrackerMode.DEBUG_ONLY);
// // 初始化AndroidTracker
// Tracker.INSTANCE.initialize(this);
}
}
/**
* 初始化美團日誌框架
*/
private
void
initLogan
()
{
com
.
dianping
.
logan
.
LoganConfig
config
=
new
com
.
dianping
.
logan
.
LoganConfig
.
Builder
()
.
setCachePath
(
getApplicationContext
().
getFilesDir
().
getAbsolutePath
())
.
setPath
(
getApplicationContext
().
getExternalFilesDir
(
null
).
getAbsolutePath
()
+
File
.
separator
+
LoganConfig
.
FILE_NAME
)
.
setEncryptKey16
(
LoganConfig
.
EncryptKey16
.
getBytes
())
.
setEncryptIV16
(
LoganConfig
.
EncryptIV16
.
getBytes
())
.
build
();
Logan
.
init
(
config
);
}
/**
* 初始化滴滴開發,測試輔助工具哆啦A夢
*/
private
void
initDoraemonKit
()
{
private
void
initDoraemonKit
()
{
DoraemonKit
.
install
(
getAppContext
(),
DoraemonKitConfig
.
PRODUCE_ID
);
DoraemonKit
.
install
(
getAppContext
(),
DoraemonKitConfig
.
PRODUCE_ID
);
}
}
...
...
base-module/src/main/java/com/gingersoft/gsa/cloud/base/common/bean/MemberInfo.java
View file @
c4e6855d
...
@@ -190,6 +190,9 @@ public class MemberInfo implements Serializable {
...
@@ -190,6 +190,9 @@ public class MemberInfo implements Serializable {
private
MemberExpireDateBean
memberExpireDate
;
private
MemberExpireDateBean
memberExpireDate
;
private
VaildTimeBean
vaildTime
;
private
VaildTimeBean
vaildTime
;
public
String
getLevelName
(){
public
String
getLevelName
(){
if
(!
TextUtils
.
isEmpty
(
levelName1
))
{
if
(!
TextUtils
.
isEmpty
(
levelName1
))
{
return
levelName1
;
return
levelName1
;
...
@@ -213,8 +216,6 @@ public class MemberInfo implements Serializable {
...
@@ -213,8 +216,6 @@ public class MemberInfo implements Serializable {
return
0
;
return
0
;
}
}
@Data
@Data
public
static
class
CreateTimeBean
implements
Serializable
{
public
static
class
CreateTimeBean
implements
Serializable
{
/**
/**
...
@@ -374,7 +375,10 @@ public class MemberInfo implements Serializable {
...
@@ -374,7 +375,10 @@ public class MemberInfo implements Serializable {
}
}
public
String
getMemberName
()
{
public
String
getMemberName
()
{
return
memberName
;
if
(!
TextUtils
.
isEmpty
(
memberName
)){
return
memberName
;
}
return
getLevelName
();
}
}
public
void
setMemberName
(
String
memberName
)
{
public
void
setMemberName
(
String
memberName
)
{
...
...
base-module/src/main/java/com/gingersoft/gsa/cloud/base/utils/crash/AppCrashHandler.java
View file @
c4e6855d
...
@@ -19,6 +19,7 @@ import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
...
@@ -19,6 +19,7 @@ import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import
com.gingersoft.gsa.cloud.base.utils.log.LogUtil
;
import
com.gingersoft.gsa.cloud.base.utils.log.LogUtil
;
import
com.gingersoft.gsa.cloud.base.utils.okhttpUtils.OkHttp3Utils
;
import
com.gingersoft.gsa.cloud.base.utils.okhttpUtils.OkHttp3Utils
;
import
com.gingersoft.gsa.cloud.constans.HttpsConstans
;
import
com.gingersoft.gsa.cloud.constans.HttpsConstans
;
import
com.gingersoft.gsa.cloud.logan.LoganUtils
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.DeviceUtils
;
import
com.jess.arms.utils.DeviceUtils
;
...
@@ -212,7 +213,8 @@ public class AppCrashHandler implements UncaughtExceptionHandler {
...
@@ -212,7 +213,8 @@ public class AppCrashHandler implements UncaughtExceptionHandler {
// 把上面获取的堆栈信息转为字符串,打印出来
// 把上面获取的堆栈信息转为字符串,打印出来
String
stacktrace
=
result
.
toString
();
String
stacktrace
=
result
.
toString
();
printWriter
.
close
();
printWriter
.
close
();
LogUtil
.
d
(
TAG
,
stacktrace
);
LoganUtils
.
w_crash
(
"AppCrashHandler: "
+
stacktrace
);
//保存错误报告到文件
//保存错误报告到文件
saveCrashInfo2File
(
ex
);
saveCrashInfo2File
(
ex
);
...
...
base-module/src/main/java/com/gingersoft/gsa/cloud/base/utils/log/LogUtil.java
View file @
c4e6855d
...
@@ -13,7 +13,7 @@ public class LogUtil {
...
@@ -13,7 +13,7 @@ public class LogUtil {
//可以全局控制是否打印log日志
//可以全局控制是否打印log日志
private
static
boolean
isPrintLog
=
true
;
private
static
boolean
isPrintLog
=
true
;
private
static
int
LOG_MAXLENGTH
=
10
000
;
private
static
int
LOG_MAXLENGTH
=
6
000
;
private
final
static
String
TAG
=
"LogUtil"
;
private
final
static
String
TAG
=
"LogUtil"
;
public
static
void
v
(
String
msg
)
{
public
static
void
v
(
String
msg
)
{
...
...
base-module/src/main/java/com/gingersoft/gsa/cloud/base/utils/okhttpUtils/OkHttp3Utils.java
View file @
c4e6855d
...
@@ -3,6 +3,8 @@ package com.gingersoft.gsa.cloud.base.utils.okhttpUtils;
...
@@ -3,6 +3,8 @@ package com.gingersoft.gsa.cloud.base.utils.okhttpUtils;
import
com.gingersoft.gsa.cloud.app.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.app.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.utils.encryption.Aes
;
import
com.gingersoft.gsa.cloud.base.utils.encryption.Aes
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
;
import
com.gingersoft.gsa.cloud.config.OkHttpConfig
;
import
com.gingersoft.gsa.cloud.config.globalconfig.applyOptions.intercept.HeadersInterceptor
;
import
com.gingersoft.gsa.cloud.config.globalconfig.applyOptions.intercept.LoggingInterceptor
;
import
com.gingersoft.gsa.cloud.config.globalconfig.applyOptions.intercept.LoggingInterceptor
;
import
com.gingersoft.gsa.cloud.constans.AppConstans
;
import
com.gingersoft.gsa.cloud.constans.AppConstans
;
import
com.gingersoft.gsa.cloud.constans.HttpsConstans
;
import
com.gingersoft.gsa.cloud.constans.HttpsConstans
;
...
@@ -43,9 +45,9 @@ public class OkHttp3Utils {
...
@@ -43,9 +45,9 @@ public class OkHttp3Utils {
synchronized
(
OkHttp3Utils
.
class
)
{
synchronized
(
OkHttp3Utils
.
class
)
{
if
(
mOkHttpClient
==
null
)
{
if
(
mOkHttpClient
==
null
)
{
mOkHttpClient
=
new
OkHttpClient
.
Builder
()
mOkHttpClient
=
new
OkHttpClient
.
Builder
()
.
connectTimeout
(
GsaCloudApplication
.
REQUEST_TIMEOUT
,
TimeUnit
.
SECONDS
)
.
connectTimeout
(
OkHttpConfig
.
REQUEST_TIMEOUT
,
TimeUnit
.
SECONDS
)
.
readTimeout
(
GsaCloudApplication
.
REQUEST_TIMEOUT
,
TimeUnit
.
SECONDS
)
.
readTimeout
(
OkHttpConfig
.
REQUEST_TIMEOUT
,
TimeUnit
.
SECONDS
)
.
addInterceptor
(
new
UserAgentIntercepte
r
())
.
addInterceptor
(
new
HeadersIntercepto
r
())
.
addInterceptor
(
new
LoggingInterceptor
())
.
addInterceptor
(
new
LoggingInterceptor
())
.
build
();
.
build
();
...
@@ -216,36 +218,36 @@ public class OkHttp3Utils {
...
@@ -216,36 +218,36 @@ public class OkHttp3Utils {
/**
/**
* 添加请求头
* 添加请求头
*/
*/
public
static
class
UserAgentIntercepter
implements
Interceptor
{
//
public static class UserAgentIntercepter implements Interceptor {
//
@Override
//
@Override
public
Response
intercept
(
Chain
chain
)
throws
IOException
{
//
public Response intercept(Chain chain) throws IOException {
Request
request
=
chain
.
request
();
//
Request request = chain.request();
Headers
headers
=
request
.
headers
();
//
Headers headers = request.headers();
//
Headers
.
Builder
builder
=
new
Headers
.
Builder
();
//
Headers.Builder builder = new Headers.Builder();
for
(
int
i
=
0
;
i
<
headers
.
size
();
i
++)
{
//
for (int i = 0; i < headers.size(); i++) {
builder
.
set
(
headers
.
name
(
i
),
headers
.
value
(
i
));
//
builder.set(headers.name(i), headers.value(i));
}
//
}
//
builder
.
set
(
"mobileVersion"
,
android
.
os
.
Build
.
VERSION
.
RELEASE
);
//set表示name1是唯一的,会覆盖掉已经存在的,add不会覆盖已经存在的头,可以存在多个
//
builder.set("mobileVersion", android.os.Build.VERSION.RELEASE);//set表示name1是唯一的,会覆盖掉已经存在的,add不会覆盖已经存在的头,可以存在多个
builder
.
set
(
"mobielModel"
,
android
.
os
.
Build
.
MODEL
);
//
builder.set("mobielModel", android.os.Build.MODEL);
builder
.
set
(
"apptype"
,
AppConstans
.
APP_TYPE
);
//
builder.set("apptype", AppConstans.APP_TYPE);
builder
.
set
(
"appinfo"
,
DeviceUtils
.
getVersionName
(
GsaCloudApplication
.
getAppContext
()));
//
builder.set("appinfo", DeviceUtils.getVersionName(GsaCloudApplication.getAppContext()));
builder
.
set
(
"mobileId"
,
"1"
);
//
builder.set("mobileId", "1");
//
if
(
GsaCloudApplication
.
isLogin
)
{
//
if (GsaCloudApplication.isLogin) {
String
token
;
//
String token;
int
memberId
=
GsaCloudApplication
.
getMemberId
();
//
int memberId = GsaCloudApplication.getMemberId();
String
loginToken
=
GsaCloudApplication
.
getLoginToken
();
//
String loginToken = GsaCloudApplication.getLoginToken();
token
=
Aes
.
aesEncrypt
(
"9_"
+
memberId
+
"_"
+
System
.
currentTimeMillis
()
+
"_"
+
loginToken
);
//
token = Aes.aesEncrypt("9_" + memberId + "_" + System.currentTimeMillis() + "_" + loginToken);
token
=
token
.
replaceAll
(
"\r|\n"
,
""
);
//
token = token.replaceAll("\r|\n", "");
builder
.
set
(
"token"
,
token
);
//
builder.set("token", token);
}
//
}
Request
request1
=
chain
.
request
().
newBuilder
().
headers
(
builder
.
build
()).
build
();
//
Request request1 = chain.request().newBuilder().headers(builder.build()).build();
return
chain
.
proceed
(
request1
);
//
return chain.proceed(request1);
}
//
}
}
// }request1
/**
/**
...
...
base-module/src/main/java/com/gingersoft/gsa/cloud/config/LogInfoConfig.java
deleted
100644 → 0
View file @
f99df214
package
com
.
gingersoft
.
gsa
.
cloud
.
config
;
/**
* @author : bin
* @create date: 2020-11-05
* @update date: 2020-11-05
* @description:
*/
public
class
LogInfoConfig
{
}
base-module/src/main/java/com/gingersoft/gsa/cloud/config/LoganConfig.java
0 → 100644
View file @
c4e6855d
package
com
.
gingersoft
.
gsa
.
cloud
.
config
;
/**
* @author : bin
* @create date: 2020-11-05
* @update date: 2020-11-05
* @description:美團日誌框架配置
*/
public
class
LoganConfig
{
public
static
final
String
FILE_NAME
=
"logan_v1"
;
public
static
final
String
EncryptKey16
=
"0123456789012345"
;
public
static
final
String
EncryptIV16
=
"0123456789012345"
;
public
static
final
String
APP_ID
=
"gingersoft1008611"
;
public
static
final
String
UPLOAD_LOG_URL
=
"http://192.168.1.113:8080/logan-web/logan/upload.json"
;
/**
* 代码日志
*/
public
static
final
byte
CODE_LEVLE
=
1
;
/**
* 網絡日誌
*/
public
static
final
byte
NETWORK_LEVLE
=
2
;
/**
* 用戶行為日誌(頁面跳轉,交互,觸摸反饋等)
*/
public
static
final
byte
ACTION_LEVLE
=
3
;
/**
* 崩潰日誌
*/
public
static
final
byte
CRASH_LEVLE
=
4
;
/**
* H5日誌
*/
public
static
final
byte
H5_LEVLE
=
5
;
/**
* native日誌
*/
public
static
final
byte
native_LEVLE
=
6
;
}
base-module/src/main/java/com/gingersoft/gsa/cloud/config/OkHttpConfig.java
0 → 100644
View file @
c4e6855d
package
com
.
gingersoft
.
gsa
.
cloud
.
config
;
/**
* @author : bin
* @create date: 2020-11-21
* @update date: 2020-11-21
* @description:
*/
public
class
OkHttpConfig
{
/**
* okhttp连接超时20秒
*/
public
static
final
byte
CONNECT_TIMEOUT
=
20
;
/**
* okhttp读写超时20秒
*/
public
static
final
byte
REQUEST_TIMEOUT
=
20
;
}
base-module/src/main/java/com/gingersoft/gsa/cloud/config/globalconfig/GlobalConfiguration.java
View file @
c4e6855d
...
@@ -10,6 +10,7 @@ import com.gingersoft.gsa.cloud.config.globalconfig.applyOptions.MyRetrofitConfi
...
@@ -10,6 +10,7 @@ import com.gingersoft.gsa.cloud.config.globalconfig.applyOptions.MyRetrofitConfi
import
com.gingersoft.gsa.cloud.config.globalconfig.applyOptions.MyRxCacheConfiguration
;
import
com.gingersoft.gsa.cloud.config.globalconfig.applyOptions.MyRxCacheConfiguration
;
import
com.gingersoft.gsa.cloud.config.globalconfig.lifecyclesOptioins.MyActivityLifecycle
;
import
com.gingersoft.gsa.cloud.config.globalconfig.lifecyclesOptioins.MyActivityLifecycle
;
import
com.gingersoft.gsa.cloud.config.globalconfig.lifecyclesOptioins.MyAppLifecycles
;
import
com.gingersoft.gsa.cloud.config.globalconfig.lifecyclesOptioins.MyAppLifecycles
;
import
com.gingersoft.gsa.cloud.config.globalconfig.lifecyclesOptioins.MyFragmentLifecycle
;
import
com.gingersoft.gsa.cloud.constans.HttpsConstans
;
import
com.gingersoft.gsa.cloud.constans.HttpsConstans
;
import
com.jess.arms.base.delegate.AppLifecycles
;
import
com.jess.arms.base.delegate.AppLifecycles
;
import
com.jess.arms.di.module.GlobalConfigModule
;
import
com.jess.arms.di.module.GlobalConfigModule
;
...
@@ -55,6 +56,7 @@ public class GlobalConfiguration implements ConfigModule {
...
@@ -55,6 +56,7 @@ public class GlobalConfiguration implements ConfigModule {
@Override
@Override
public
void
injectFragmentLifecycle
(
Context
context
,
List
<
FragmentManager
.
FragmentLifecycleCallbacks
>
lifecycles
)
{
public
void
injectFragmentLifecycle
(
Context
context
,
List
<
FragmentManager
.
FragmentLifecycleCallbacks
>
lifecycles
)
{
//向Fragment的生命周期中注入一些自定义逻辑
//向Fragment的生命周期中注入一些自定义逻辑
lifecycles
.
add
(
new
MyFragmentLifecycle
());
}
}
...
...
base-module/src/main/java/com/gingersoft/gsa/cloud/config/globalconfig/applyOptions/MyGlobalHttpHandler.java
View file @
c4e6855d
...
@@ -14,7 +14,6 @@ import okhttp3.Response;
...
@@ -14,7 +14,6 @@ import okhttp3.Response;
public
class
MyGlobalHttpHandler
implements
GlobalHttpHandler
{
public
class
MyGlobalHttpHandler
implements
GlobalHttpHandler
{
private
final
String
TAG
=
this
.
getClass
().
getSimpleName
();
@Override
@Override
public
Response
onHttpResultResponse
(
String
httpResult
,
Interceptor
.
Chain
chain
,
Response
response
)
{
public
Response
onHttpResultResponse
(
String
httpResult
,
Interceptor
.
Chain
chain
,
Response
response
)
{
...
@@ -25,35 +24,8 @@ public class MyGlobalHttpHandler implements GlobalHttpHandler {
...
@@ -25,35 +24,8 @@ public class MyGlobalHttpHandler implements GlobalHttpHandler {
@Override
@Override
public
Request
onHttpRequestBefore
(
Interceptor
.
Chain
chain
,
Request
request
)
{
public
Request
onHttpRequestBefore
(
Interceptor
.
Chain
chain
,
Request
request
)
{
// 统一处理http请求。eg:给request统一添加token或者header以及参数加密等操作
// 统一处理http请求。eg:给request统一添加token或者header以及参数加密等操作
String
requestBody
=
request
.
toString
();
String
token
=
""
;
if
(
GsaCloudApplication
.
isLogin
)
{
int
memberId
=
GsaCloudApplication
.
getMemberId
();
String
loginToken
=
GsaCloudApplication
.
getLoginToken
();
token
=
Aes
.
aesEncrypt
(
"9_"
+
memberId
+
"_"
+
System
.
currentTimeMillis
()
+
"_"
+
loginToken
);
token
=
token
.
replaceAll
(
"\r|\n"
,
""
);
}
Headers
.
Builder
builder
=
new
Headers
.
Builder
();
builder
.
set
(
"mobileVersion"
,
android
.
os
.
Build
.
VERSION
.
RELEASE
);
builder
.
set
(
"mobielModel"
,
android
.
os
.
Build
.
MODEL
);
builder
.
set
(
"apptype"
,
AppConstans
.
APP_TYPE
);
builder
.
set
(
"appinfo"
,
DeviceUtils
.
getVersionName
(
GsaCloudApplication
.
getAppContext
()));
builder
.
set
(
"mobileId"
,
"1"
);
Headers
headers
=
request
.
headers
();
for
(
int
i
=
0
;
i
<
headers
.
size
();
i
++)
{
builder
.
set
(
headers
.
name
(
i
),
headers
.
value
(
i
));
}
if
(
GsaCloudApplication
.
isLogin
){
builder
.
set
(
"token"
,
token
);
}
// builder.set("Domain-Name", "common");
return
chain
.
request
().
newBuilder
()
return
chain
.
request
().
newBuilder
()
.
headers
(
builder
.
build
())
.
build
();
.
build
();
}
}
}
}
base-module/src/main/java/com/gingersoft/gsa/cloud/config/globalconfig/applyOptions/MyOkhttpConfiguration.java
View file @
c4e6855d
...
@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.config.globalconfig.applyOptions;
...
@@ -3,6 +3,7 @@ package com.gingersoft.gsa.cloud.config.globalconfig.applyOptions;
import
android.content.Context
;
import
android.content.Context
;
import
com.gingersoft.gsa.cloud.app.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.app.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.config.OkHttpConfig
;
import
com.jess.arms.di.module.ClientModule
;
import
com.jess.arms.di.module.ClientModule
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.TimeUnit
;
...
@@ -23,9 +24,9 @@ public class MyOkhttpConfiguration implements ClientModule.OkhttpConfiguration {
...
@@ -23,9 +24,9 @@ public class MyOkhttpConfiguration implements ClientModule.OkhttpConfiguration {
@Override
@Override
public
void
configOkhttp
(
Context
context
,
OkHttpClient
.
Builder
builder
)
{
public
void
configOkhttp
(
Context
context
,
OkHttpClient
.
Builder
builder
)
{
// builder.sslSocketFactory(); //支持 Https,详情请百度
// builder.sslSocketFactory(); //支持 Https,详情请百度
builder
.
connectTimeout
(
GsaCloudApplication
.
CONNECT_TIMEOUT
,
TimeUnit
.
SECONDS
);
builder
.
connectTimeout
(
OkHttpConfig
.
CONNECT_TIMEOUT
,
TimeUnit
.
SECONDS
);
builder
.
writeTimeout
(
GsaCloudApplication
.
REQUEST_TIMEOUT
,
TimeUnit
.
SECONDS
);
builder
.
writeTimeout
(
OkHttpConfig
.
REQUEST_TIMEOUT
,
TimeUnit
.
SECONDS
);
builder
.
readTimeout
(
GsaCloudApplication
.
REQUEST_TIMEOUT
,
TimeUnit
.
SECONDS
);
builder
.
readTimeout
(
OkHttpConfig
.
REQUEST_TIMEOUT
,
TimeUnit
.
SECONDS
);
//使用一行代码监听 Retrofit/Okhttp 上传下载进度监听,以及 Glide 加载进度监听 详细使用方法查看 https://github.com/JessYanCoding/ProgressManager
//使用一行代码监听 Retrofit/Okhttp 上传下载进度监听,以及 Glide 加载进度监听 详细使用方法查看 https://github.com/JessYanCoding/ProgressManager
ProgressManager
.
getInstance
().
with
(
builder
);
ProgressManager
.
getInstance
().
with
(
builder
);
//让 Retrofit 同时支持多个 BaseUrl 以及动态改变 BaseUrl. 详细使用请方法查看 https://github.com/JessYanCoding/RetrofitUrlManager
//让 Retrofit 同时支持多个 BaseUrl 以及动态改变 BaseUrl. 详细使用请方法查看 https://github.com/JessYanCoding/RetrofitUrlManager
...
...
base-module/src/main/java/com/gingersoft/gsa/cloud/config/globalconfig/applyOptions/MyResponseErrorListener.java
View file @
c4e6855d
...
@@ -8,8 +8,8 @@ import android.text.TextUtils;
...
@@ -8,8 +8,8 @@ import android.text.TextUtils;
import
com.billy.cc.core.component.CC
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.base.R
;
import
com.gingersoft.gsa.cloud.base.R
;
import
com.gingersoft.gsa.cloud.app.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.app.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.utils.log.LogUtil
;
import
com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils
;
import
com.gingersoft.gsa.cloud.base.utils.toast.ToastUtils
;
import
com.gingersoft.gsa.cloud.logan.LoganUtils
;
import
com.google.gson.JsonIOException
;
import
com.google.gson.JsonIOException
;
import
com.google.gson.JsonParseException
;
import
com.google.gson.JsonParseException
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.ArmsUtils
;
...
@@ -50,7 +50,9 @@ public class MyResponseErrorListener implements ResponseErrorListener {
...
@@ -50,7 +50,9 @@ public class MyResponseErrorListener implements ResponseErrorListener {
}
}
// ArmsUtils.snackbarText(msg);
// ArmsUtils.snackbarText(msg);
// LogUtil.d("handleResponseError: " + t.getMessage());
// LogUtil.d("handleResponseError: " + t.getMessage());
LogUtil
.
d
(
TAG
,
t
.
getMessage
());
LoganUtils
.
w_network
(
"請求錯誤: "
+
t
.
getMessage
());
if
(!
TextUtils
.
isEmpty
(
msg
))
{
if
(!
TextUtils
.
isEmpty
(
msg
))
{
ToastUtils
.
show
(
context
,
msg
);
ToastUtils
.
show
(
context
,
msg
);
}
}
...
...
base-module/src/main/java/com/gingersoft/gsa/cloud/config/globalconfig/applyOptions/MyRetrofitConfiguration.java
View file @
c4e6855d
...
@@ -3,8 +3,10 @@ package com.gingersoft.gsa.cloud.config.globalconfig.applyOptions;
...
@@ -3,8 +3,10 @@ package com.gingersoft.gsa.cloud.config.globalconfig.applyOptions;
import
android.content.Context
;
import
android.content.Context
;
import
com.gingersoft.gsa.cloud.base.BuildConfig
;
import
com.gingersoft.gsa.cloud.base.BuildConfig
;
import
com.gingersoft.gsa.cloud.config.globalconfig.applyOptions.intercept.LoggingInterceptor
;
import
com.gingersoft.gsa.cloud.config.globalconfig.applyOptions.intercept.LoggingInterceptor
;
import
com.gingersoft.gsa.cloud.config.globalconfig.applyOptions.intercept.HeadersInterceptor
;
import
com.jess.arms.di.module.ClientModule
;
import
com.jess.arms.di.module.ClientModule
;
import
me.jessyan.retrofiturlmanager.RetrofitUrlManager
;
import
okhttp3.OkHttpClient
;
import
okhttp3.OkHttpClient
;
import
retrofit2.Retrofit
;
import
retrofit2.Retrofit
;
...
@@ -17,7 +19,7 @@ public class MyRetrofitConfiguration implements ClientModule.RetrofitConfigurati
...
@@ -17,7 +19,7 @@ public class MyRetrofitConfiguration implements ClientModule.RetrofitConfigurati
if
(
BuildConfig
.
DEBUG
)
{
if
(
BuildConfig
.
DEBUG
)
{
clientBuilder
.
addInterceptor
(
new
LoggingInterceptor
());
//使用自定义的Log拦截器
clientBuilder
.
addInterceptor
(
new
LoggingInterceptor
());
//使用自定义的Log拦截器
}
}
// clientBuilder.addInterceptor(new UserAgent
Interceptor());//使用自定义User-Agent
clientBuilder
.
addInterceptor
(
new
Headers
Interceptor
());
//使用自定义User-Agent
//
builder.client(RetrofitUrlManager.getInstance().with(clientBuilder).build());
builder
.
client
(
RetrofitUrlManager
.
getInstance
().
with
(
clientBuilder
).
build
());
}
}
}
}
base-module/src/main/java/com/gingersoft/gsa/cloud/config/globalconfig/applyOptions/intercept/HeadersInterceptor.java
0 → 100644
View file @
c4e6855d
package
com
.
gingersoft
.
gsa
.
cloud
.
config
.
globalconfig
.
applyOptions
.
intercept
;
import
com.gingersoft.gsa.cloud.app.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.utils.encryption.Aes
;
import
com.gingersoft.gsa.cloud.constans.AppConstans
;
import
com.jess.arms.utils.DeviceUtils
;
import
java.io.IOException
;
import
okhttp3.Headers
;
import
okhttp3.Interceptor
;
import
okhttp3.Request
;
import
okhttp3.Response
;
/**
* 添加請求頭信息
*/
public
class
HeadersInterceptor
implements
Interceptor
{
@Override
public
Response
intercept
(
Chain
chain
)
throws
IOException
{
Request
originalRequest
=
chain
.
request
();
Headers
.
Builder
builder
=
new
Headers
.
Builder
();
builder
.
set
(
"mobileVersion"
,
android
.
os
.
Build
.
VERSION
.
RELEASE
);
builder
.
set
(
"mobielModel"
,
android
.
os
.
Build
.
MODEL
);
builder
.
set
(
"apptype"
,
AppConstans
.
APP_TYPE
);
builder
.
set
(
"appinfo"
,
DeviceUtils
.
getVersionName
(
GsaCloudApplication
.
getAppContext
()));
builder
.
set
(
"mobileId"
,
"1"
);
Headers
headers
=
originalRequest
.
headers
();
for
(
int
i
=
0
;
i
<
headers
.
size
();
i
++)
{
builder
.
set
(
headers
.
name
(
i
),
headers
.
value
(
i
));
}
if
(
GsaCloudApplication
.
isLogin
)
{
builder
.
set
(
"token"
,
getToken
());
}
Request
requestWithUserAgent
=
originalRequest
.
newBuilder
()
.
headers
(
builder
.
build
())
.
build
();
return
chain
.
proceed
(
requestWithUserAgent
);
}
private
String
getToken
()
{
String
token
=
""
;
if
(
GsaCloudApplication
.
isLogin
)
{
int
memberId
=
GsaCloudApplication
.
getMemberId
();
String
loginToken
=
GsaCloudApplication
.
getLoginToken
();
token
=
Aes
.
aesEncrypt
(
"9_"
+
memberId
+
"_"
+
System
.
currentTimeMillis
()
+
"_"
+
loginToken
);
token
=
token
.
replaceAll
(
"\r|\n"
,
""
);
}
return
token
;
}
}
\ No newline at end of file
base-module/src/main/java/com/gingersoft/gsa/cloud/config/globalconfig/applyOptions/intercept/LoggingInterceptor.java
View file @
c4e6855d
package
com
.
gingersoft
.
gsa
.
cloud
.
config
.
globalconfig
.
applyOptions
.
intercept
;
package
com
.
gingersoft
.
gsa
.
cloud
.
config
.
globalconfig
.
applyOptions
.
intercept
;
import
com.gingersoft.gsa.cloud.
base.utils.log.LogUtil
;
import
com.gingersoft.gsa.cloud.
logan.LoganUtils
;
import
java.io.IOException
;
import
java.io.IOException
;
...
@@ -27,11 +27,11 @@ public class LoggingInterceptor implements Interceptor {
...
@@ -27,11 +27,11 @@ public class LoggingInterceptor implements Interceptor {
sb
.
append
(
body
.
encodedName
(
i
)
+
"="
+
body
.
encodedValue
(
i
)
+
","
);
sb
.
append
(
body
.
encodedName
(
i
)
+
"="
+
body
.
encodedValue
(
i
)
+
","
);
}
}
sb
.
delete
(
sb
.
length
()
-
1
,
sb
.
length
());
sb
.
delete
(
sb
.
length
()
-
1
,
sb
.
length
());
Log
Util
.
d
(
"CSDN_LQR"
,
String
.
format
(
"發送請求 %s on %s %n%s %nRequestParams:{%s}"
,
Log
anUtils
.
w_network
(
String
.
format
(
"發送請求 %s on %s %n%s %nRequestParams:{%s}"
,
request
.
url
(),
chain
.
connection
(),
request
.
headers
(),
sb
.
toString
()));
request
.
url
(),
chain
.
connection
(),
request
.
headers
(),
sb
.
toString
()));
}
}
}
else
{
}
else
{
Log
Util
.
d
(
"CSDN_LQR"
,
String
.
format
(
"發送請求 %s on %s%n%s"
,
Log
anUtils
.
w_network
(
String
.
format
(
"發送請求 %s on %s%n%s"
,
request
.
url
(),
chain
.
connection
(),
request
.
headers
()));
request
.
url
(),
chain
.
connection
(),
request
.
headers
()));
}
}
Response
response
=
chain
.
proceed
(
request
);
Response
response
=
chain
.
proceed
(
request
);
...
@@ -40,13 +40,13 @@ public class LoggingInterceptor implements Interceptor {
...
@@ -40,13 +40,13 @@ public class LoggingInterceptor implements Interceptor {
//因为response.body().string()之后,response中的流会被关闭,程序会报错,我们需要创建出一
//因为response.body().string()之后,response中的流会被关闭,程序会报错,我们需要创建出一
//个新的response给应用层处理
//个新的response给应用层处理
ResponseBody
responseBody
=
response
.
peekBody
(
1024
*
1024
);
ResponseBody
responseBody
=
response
.
peekBody
(
1024
*
1024
);
Log
Util
.
d
(
"CSDN_LQR
"
,
Log
anUtils
.
w_network
(
String
.
format
(
"接收響應: [%s] %n返回json:【%s】 %.1fms %n%s
"
,
String
.
format
(
"接收響應: [%s] %n返回json:【%s】 %.1fms %n%s"
,
response
.
request
().
url
()
,
response
.
request
().
url
(),
responseBody
.
string
(),
responseBody
.
string
()
,
(
t2
-
t1
)
/
1
e6d
,
(
t2
-
t1
)
/
1
e6d
,
response
.
headers
()
response
.
headers
()
));
));
return
response
;
return
response
;
}
}
}
}
\ No newline at end of file
base-module/src/main/java/com/gingersoft/gsa/cloud/config/globalconfig/applyOptions/intercept/UserAgentInterceptor.java
deleted
100644 → 0
View file @
f99df214
package
com
.
gingersoft
.
gsa
.
cloud
.
config
.
globalconfig
.
applyOptions
.
intercept
;
import
java.io.IOException
;
import
okhttp3.Interceptor
;
import
okhttp3.Request
;
import
okhttp3.Response
;
/**
* 添加UA拦截器,B站请求API需要加上UA才能正常使用
*/
public
class
UserAgentInterceptor
implements
Interceptor
{
@Override
public
Response
intercept
(
Chain
chain
)
throws
IOException
{
Request
originalRequest
=
chain
.
request
();
Request
requestWithUserAgent
=
originalRequest
.
newBuilder
()
// .removeHeader("User-Agent")
// .addHeader("User-Agent", Api.COMMON_UA_STR)
.
build
();
return
chain
.
proceed
(
requestWithUserAgent
);
}
}
\ No newline at end of file
base-module/src/main/java/com/gingersoft/gsa/cloud/config/globalconfig/lifecyclesOptioins/MyActivityLifecycle.java
View file @
c4e6855d
...
@@ -10,6 +10,7 @@ import com.gingersoft.gsa.cloud.app.GsaCloudApplication;
...
@@ -10,6 +10,7 @@ import com.gingersoft.gsa.cloud.app.GsaCloudApplication;
import
com.gingersoft.gsa.cloud.base.utils.CommonConfiguration
;
import
com.gingersoft.gsa.cloud.base.utils.CommonConfiguration
;
import
com.gingersoft.gsa.cloud.database.utils.FoodComboDaoUtils
;
import
com.gingersoft.gsa.cloud.database.utils.FoodComboDaoUtils
;
import
com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils
;
import
com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils
;
import
com.gingersoft.gsa.cloud.logan.LoganUtils
;
import
io.reactivex.Observable
;
import
io.reactivex.Observable
;
import
io.reactivex.ObservableEmitter
;
import
io.reactivex.ObservableEmitter
;
...
@@ -22,6 +23,7 @@ public class MyActivityLifecycle implements Application.ActivityLifecycleCallbac
...
@@ -22,6 +23,7 @@ public class MyActivityLifecycle implements Application.ActivityLifecycleCallbac
@Override
@Override
public
void
onActivityCreated
(
Activity
activity
,
Bundle
bundle
)
{
public
void
onActivityCreated
(
Activity
activity
,
Bundle
bundle
)
{
LoganUtils
.
w_action
(
activity
.
getClass
().
getSimpleName
()
+
": onActivityCreated"
);
// EventBus.getDefault().register(activity);
// EventBus.getDefault().register(activity);
if
(!
activity
.
getIntent
().
getBooleanExtra
(
"isInitToolbar"
,
false
))
{
if
(!
activity
.
getIntent
().
getBooleanExtra
(
"isInitToolbar"
,
false
))
{
//由于加强框架的兼容性,故将 setContentView 放到 onActivityCreated 之后,onActivityStarted 之前执行
//由于加强框架的兼容性,故将 setContentView 放到 onActivityCreated 之后,onActivityStarted 之前执行
...
@@ -34,11 +36,13 @@ public class MyActivityLifecycle implements Application.ActivityLifecycleCallbac
...
@@ -34,11 +36,13 @@ public class MyActivityLifecycle implements Application.ActivityLifecycleCallbac
@Override
@Override
public
void
onActivityStarted
(
Activity
activity
)
{
public
void
onActivityStarted
(
Activity
activity
)
{
LoganUtils
.
w_action
(
activity
.
getClass
().
getSimpleName
()
+
": onActivityStarted"
);
}
}
@Override
@Override
public
void
onActivityResumed
(
Activity
activity
)
{
public
void
onActivityResumed
(
Activity
activity
)
{
String
name
=
activity
.
getClass
().
getSimpleName
();
String
name
=
activity
.
getClass
().
getSimpleName
();
LoganUtils
.
w_action
(
name
+
": onActivityResumed"
);
if
(
name
.
equals
(
"NewMainActivity"
))
{
if
(
name
.
equals
(
"NewMainActivity"
))
{
Observable
.
create
(
new
ObservableOnSubscribe
<
Void
>()
{
Observable
.
create
(
new
ObservableOnSubscribe
<
Void
>()
{
...
@@ -71,19 +75,22 @@ public class MyActivityLifecycle implements Application.ActivityLifecycleCallbac
...
@@ -71,19 +75,22 @@ public class MyActivityLifecycle implements Application.ActivityLifecycleCallbac
@Override
@Override
public
void
onActivityPaused
(
Activity
activity
)
{
public
void
onActivityPaused
(
Activity
activity
)
{
LoganUtils
.
w_action
(
activity
.
getClass
().
getSimpleName
()
+
": onActivityPaused"
);
}
}
@Override
@Override
public
void
onActivityStopped
(
Activity
activity
)
{
public
void
onActivityStopped
(
Activity
activity
)
{
// GsaCloudApplication.getAppContext().setCurrentActivity(null
);
LoganUtils
.
w_action
(
activity
.
getClass
().
getSimpleName
()
+
": onActivityStopped"
);
}
}
@Override
@Override
public
void
onActivitySaveInstanceState
(
Activity
activity
,
Bundle
bundle
)
{
public
void
onActivitySaveInstanceState
(
Activity
activity
,
Bundle
bundle
)
{
LoganUtils
.
w_action
(
activity
.
getClass
().
getSimpleName
()
+
": onActivitySaveInstanceState"
);
}
}
@Override
@Override
public
void
onActivityDestroyed
(
Activity
activity
)
{
public
void
onActivityDestroyed
(
Activity
activity
)
{
LoganUtils
.
w_action
(
activity
.
getClass
().
getSimpleName
()
+
": onActivityDestroyed"
);
// EventBus.getDefault().unregister(activity);
// EventBus.getDefault().unregister(activity);
//横竖屏切换或配置改变时, Activity 会被重新创建实例, 但 Bundle 中的基础数据会被保存下来,移除该数据是为了保证重新创建的实例可以正常工作
//横竖屏切换或配置改变时, Activity 会被重新创建实例, 但 Bundle 中的基础数据会被保存下来,移除该数据是为了保证重新创建的实例可以正常工作
activity
.
getIntent
().
removeExtra
(
"isInitToolbar"
);
activity
.
getIntent
().
removeExtra
(
"isInitToolbar"
);
...
...
base-module/src/main/java/com/gingersoft/gsa/cloud/config/globalconfig/lifecyclesOptioins/MyAppLifecycles.java
View file @
c4e6855d
...
@@ -4,6 +4,7 @@ import android.app.Application;
...
@@ -4,6 +4,7 @@ import android.app.Application;
import
android.content.Context
;
import
android.content.Context
;
import
com.gingersoft.gsa.cloud.base.BuildConfig
;
import
com.gingersoft.gsa.cloud.base.BuildConfig
;
import
com.gingersoft.gsa.cloud.logan.LoganUtils
;
import
com.jess.arms.base.delegate.AppLifecycles
;
import
com.jess.arms.base.delegate.AppLifecycles
;
import
com.squareup.leakcanary.LeakCanary
;
import
com.squareup.leakcanary.LeakCanary
;
import
com.squareup.leakcanary.RefWatcher
;
import
com.squareup.leakcanary.RefWatcher
;
...
@@ -19,7 +20,7 @@ public class MyAppLifecycles implements AppLifecycles {
...
@@ -19,7 +20,7 @@ public class MyAppLifecycles implements AppLifecycles {
@Override
@Override
public
void
onCreate
(
Application
application
)
{
public
void
onCreate
(
Application
application
)
{
// initTimber(
);
LoganUtils
.
w_action
(
application
.
getClass
().
getSimpleName
()
+
": onCreate....."
);
initLeakCanary
(
application
);
initLeakCanary
(
application
);
initFragmentation
();
initFragmentation
();
// initARouter(application);
// initARouter(application);
...
@@ -69,13 +70,6 @@ public class MyAppLifecycles implements AppLifecycles {
...
@@ -69,13 +70,6 @@ public class MyAppLifecycles implements AppLifecycles {
mRefWatcher
=
BuildConfig
.
USE_CANARY
?
LeakCanary
.
install
(
application
)
:
RefWatcher
.
DISABLED
;
mRefWatcher
=
BuildConfig
.
USE_CANARY
?
LeakCanary
.
install
(
application
)
:
RefWatcher
.
DISABLED
;
}
}
private
void
initTimber
()
{
// if (BuildConfig.LOG_DEBUG) {
// Timber日志打印
// Timber.plant(new Timber.DebugTree());
// }
}
public
RefWatcher
getRefWatcher
()
{
public
RefWatcher
getRefWatcher
()
{
return
mRefWatcher
;
return
mRefWatcher
;
}
}
...
...
base-module/src/main/java/com/gingersoft/gsa/cloud/config/globalconfig/lifecyclesOptioins/MyFragmentLifecycle.java
0 → 100644
View file @
c4e6855d
package
com
.
gingersoft
.
gsa
.
cloud
.
config
.
globalconfig
.
lifecyclesOptioins
;
import
android.annotation.SuppressLint
;
import
android.app.Activity
;
import
android.app.Application
;
import
android.content.Context
;
import
android.os.Bundle
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentManager
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.app.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.utils.CommonConfiguration
;
import
com.gingersoft.gsa.cloud.database.utils.FoodComboDaoUtils
;
import
com.gingersoft.gsa.cloud.database.utils.ModifierDaoUtils
;
import
com.gingersoft.gsa.cloud.logan.LoganUtils
;
import
io.reactivex.Observable
;
import
io.reactivex.ObservableEmitter
;
import
io.reactivex.ObservableOnSubscribe
;
import
io.reactivex.schedulers.Schedulers
;
@SuppressLint
(
"NewApi"
)
public
class
MyFragmentLifecycle
extends
FragmentManager
.
FragmentLifecycleCallbacks
{
@Override
public
void
onFragmentAttached
(
@NonNull
FragmentManager
fm
,
@NonNull
Fragment
f
,
@NonNull
Context
context
)
{
LoganUtils
.
w_action
(
f
.
getClass
().
getSimpleName
()
+
": onFragmentAttached"
);
}
@Override
public
void
onFragmentCreated
(
@NonNull
FragmentManager
fm
,
@NonNull
Fragment
f
,
@Nullable
Bundle
savedInstanceState
)
{
LoganUtils
.
w_action
(
f
.
getClass
().
getSimpleName
()
+
": onFragmentCreated"
);
}
@Override
public
void
onFragmentActivityCreated
(
@NonNull
FragmentManager
fm
,
@NonNull
Fragment
f
,
@Nullable
Bundle
savedInstanceState
)
{
LoganUtils
.
w_action
(
f
.
getClass
().
getSimpleName
()
+
": onFragmentActivityCreated"
);
}
@Override
public
void
onFragmentViewCreated
(
@NonNull
FragmentManager
fm
,
@NonNull
Fragment
f
,
@NonNull
View
v
,
@Nullable
Bundle
savedInstanceState
)
{
LoganUtils
.
w_action
(
f
.
getClass
().
getSimpleName
()
+
": onFragmentViewCreated"
);
}
@Override
public
void
onFragmentStarted
(
@NonNull
FragmentManager
fm
,
@NonNull
Fragment
f
)
{
LoganUtils
.
w_action
(
f
.
getClass
().
getSimpleName
()
+
": onFragmentStarted"
);
}
@Override
public
void
onFragmentResumed
(
@NonNull
FragmentManager
fm
,
@NonNull
Fragment
f
)
{
LoganUtils
.
w_action
(
f
.
getClass
().
getSimpleName
()
+
": onFragmentResumed"
);
}
@Override
public
void
onFragmentPaused
(
@NonNull
FragmentManager
fm
,
@NonNull
Fragment
f
)
{
LoganUtils
.
w_action
(
f
.
getClass
().
getSimpleName
()
+
": onFragmentPaused"
);
}
@Override
public
void
onFragmentStopped
(
@NonNull
FragmentManager
fm
,
@NonNull
Fragment
f
)
{
LoganUtils
.
w_action
(
f
.
getClass
().
getSimpleName
()
+
": onFragmentStopped"
);
}
@Override
public
void
onFragmentSaveInstanceState
(
@NonNull
FragmentManager
fm
,
@NonNull
Fragment
f
,
@NonNull
Bundle
outState
)
{
LoganUtils
.
w_action
(
f
.
getClass
().
getSimpleName
()
+
": onFragmentSaveInstanceState"
);
}
@Override
public
void
onFragmentViewDestroyed
(
@NonNull
FragmentManager
fm
,
@NonNull
Fragment
f
)
{
LoganUtils
.
w_action
(
f
.
getClass
().
getSimpleName
()
+
": onFragmentViewDestroyed"
);
}
@Override
public
void
onFragmentDestroyed
(
@NonNull
FragmentManager
fm
,
@NonNull
Fragment
f
)
{
LoganUtils
.
w_action
(
f
.
getClass
().
getSimpleName
()
+
": onFragmentDestroyed"
);
}
@Override
public
void
onFragmentDetached
(
@NonNull
FragmentManager
fm
,
@NonNull
Fragment
f
)
{
LoganUtils
.
w_action
(
f
.
getClass
().
getSimpleName
()
+
": onFragmentDetached"
);
}
}
base-module/src/main/java/com/gingersoft/gsa/cloud/constans/HttpsConstans.java
View file @
c4e6855d
...
@@ -76,11 +76,21 @@ public class HttpsConstans {
...
@@ -76,11 +76,21 @@ public class HttpsConstans {
public
static
String
SYSTEM_PATH
=
"/ricepon-system/api/"
;
public
static
String
SYSTEM_PATH
=
"/ricepon-system/api/"
;
public
static
String
API_RICEPON_MEMBER
=
"/ricepon-member/api/"
;
public
static
String
API_RICEPON_MEMBER
=
"/ricepon-member/api/"
;
//---------------------------------------打印skyorder QRCode----------------------------------------------------------------------------------
/**
* QRCode相關
*/
public
static
final
String
PRINT_QRCODE_ADDRESS_URL_FORMAL
=
"http://m.ricepon.com"
;
public
static
final
String
PRINT_QRCODE_ADDRESS_URL_FORMAL
=
"http://m.ricepon.com"
;
public
static
final
String
PRINT_QRCODE_SUFFIX
=
"/member-web/qrcode/qrcode.html?WMP0&?arg="
;
public
static
final
String
PRINT_QRCODE_ADDRESS_URL_HK
=
"http://hktest.ricepon.com:61177"
;
//---------------------------------------打印Skyorder QRCode----------------------------------------------------------------------------------
public
static
final
String
PRINT_SKY_QRCODE_SUFFIX
=
"/member-web/qrcode/qrcode.html?WMP0&?arg="
;
public
static
String
PRINT_SKY_QRCODE_ADDRESS
=
PRINT_QRCODE_ADDRESS_URL_FORMAL
+
PRINT_SKY_QRCODE_SUFFIX
;
//----------------------------------------打印積分QRCode-----------------------------------------------------------------------------------------
public
static
final
String
PRINT_QRCODE_SUFFIX
=
"/member-web/qrcode/qrcode.html?arg="
;
public
static
String
PRINT_QRCODE_ADDRESS
=
PRINT_QRCODE_ADDRESS_URL_FORMAL
+
PRINT_QRCODE_SUFFIX
;
public
static
String
PRINT_QRCODE_ADDRESS
=
PRINT_QRCODE_ADDRESS_URL_FORMAL
+
PRINT_QRCODE_SUFFIX
;
//--------------------------------------配置-----------------------------------------------------------------------------------
//--------------------------------------配置-----------------------------------------------------------------------------------
/**
/**
...
@@ -142,6 +152,7 @@ public class HttpsConstans {
...
@@ -142,6 +152,7 @@ public class HttpsConstans {
RICEPON_MEMBER_SERVER_ADDRESS
=
WECHAR_REPORT_FORMAL_ADDRESS
+
WECHAR_REPORT_PATH
;
RICEPON_MEMBER_SERVER_ADDRESS
=
WECHAR_REPORT_FORMAL_ADDRESS
+
WECHAR_REPORT_PATH
;
SYSTEM_URL
=
HTTP_ADDRESS_URL_FORMAL
+
SYSTEM_PATH
;
SYSTEM_URL
=
HTTP_ADDRESS_URL_FORMAL
+
SYSTEM_PATH
;
ROOT_SERVER
=
HTTP_ADDRESS_URL_FORMAL
;
ROOT_SERVER
=
HTTP_ADDRESS_URL_FORMAL
;
PRINT_QRCODE_ADDRESS
=
PRINT_QRCODE_ADDRESS_URL_FORMAL
+
PRINT_QRCODE_SUFFIX
;
break
;
break
;
case
1
:
case
1
:
RICEPON_MEMBER_61177
=
WECHAR_REPORT_TEST_ADDRESS
+
API_RICEPON_MEMBER
;
RICEPON_MEMBER_61177
=
WECHAR_REPORT_TEST_ADDRESS
+
API_RICEPON_MEMBER
;
...
@@ -154,6 +165,7 @@ public class HttpsConstans {
...
@@ -154,6 +165,7 @@ public class HttpsConstans {
WECHAR_REPORT_SERVER_ADDRESS
=
WECHAR_REPORT_TEST_ADDRESS
+
WECHAR_REPORT_PATH
;
//正式:WECHAR_REPORT_FORMAL_ADDRESS 測試:WECHAR_REPORT_TEST_ADDRESS
WECHAR_REPORT_SERVER_ADDRESS
=
WECHAR_REPORT_TEST_ADDRESS
+
WECHAR_REPORT_PATH
;
//正式:WECHAR_REPORT_FORMAL_ADDRESS 測試:WECHAR_REPORT_TEST_ADDRESS
SYSTEM_URL
=
ROOT_HK_TEST_URL
+
SYSTEM_PATH
;
SYSTEM_URL
=
ROOT_HK_TEST_URL
+
SYSTEM_PATH
;
ROOT_SERVER
=
HTTP_ADDRESS_URL_HK
;
ROOT_SERVER
=
HTTP_ADDRESS_URL_HK
;
PRINT_QRCODE_ADDRESS
=
PRINT_QRCODE_ADDRESS_URL_HK
+
PRINT_QRCODE_SUFFIX
;
break
;
break
;
case
2
:
case
2
:
//預發佈
//預發佈
...
@@ -167,6 +179,7 @@ public class HttpsConstans {
...
@@ -167,6 +179,7 @@ public class HttpsConstans {
WECHAR_REPORT_SERVER_ADDRESS
=
HTTP_ADDRESS_URL_PRE
+
WECHAR_REPORT_PATH
;
WECHAR_REPORT_SERVER_ADDRESS
=
HTTP_ADDRESS_URL_PRE
+
WECHAR_REPORT_PATH
;
SYSTEM_URL
=
HTTP_ADDRESS_URL_PRE
+
SYSTEM_PATH
;
SYSTEM_URL
=
HTTP_ADDRESS_URL_PRE
+
SYSTEM_PATH
;
ROOT_SERVER
=
HTTP_ADDRESS_URL_PRE
;
ROOT_SERVER
=
HTTP_ADDRESS_URL_PRE
;
PRINT_QRCODE_ADDRESS
=
PRINT_QRCODE_ADDRESS_URL_FORMAL
+
PRINT_QRCODE_SUFFIX
;
break
;
break
;
case
3
:
case
3
:
RICEPON_MEMBER_61177
=
WECHAR_REPORT_TEST_ADDRESS
+
API_RICEPON_MEMBER
;
RICEPON_MEMBER_61177
=
WECHAR_REPORT_TEST_ADDRESS
+
API_RICEPON_MEMBER
;
...
@@ -177,6 +190,7 @@ public class HttpsConstans {
...
@@ -177,6 +190,7 @@ public class HttpsConstans {
REPORT_SERVER_ADDRESS
=
REPORT_TEST_ADDRESS
+
REPORT_PATH
;
REPORT_SERVER_ADDRESS
=
REPORT_TEST_ADDRESS
+
REPORT_PATH
;
WECHAR_REPORT_SERVER_ADDRESS
=
WECHAR_REPORT_TEST_ADDRESS
+
WECHAR_REPORT_PATH
;
//正式:WECHAR_REPORT_FORMAL_ADDRESS 測試:WECHAR_REPORT_TEST_ADDRESS
WECHAR_REPORT_SERVER_ADDRESS
=
WECHAR_REPORT_TEST_ADDRESS
+
WECHAR_REPORT_PATH
;
//正式:WECHAR_REPORT_FORMAL_ADDRESS 測試:WECHAR_REPORT_TEST_ADDRESS
SYSTEM_URL
=
ROOT_SERVER_ZHI_WANG_HK
+
SYSTEM_PATH
;
SYSTEM_URL
=
ROOT_SERVER_ZHI_WANG_HK
+
SYSTEM_PATH
;
PRINT_QRCODE_ADDRESS
=
PRINT_QRCODE_ADDRESS_URL_HK
+
PRINT_QRCODE_SUFFIX
;
break
;
break
;
case
4
:
case
4
:
RICEPON_MEMBER_61177
=
WECHAR_REPORT_TEST_ADDRESS
+
API_RICEPON_MEMBER
;
RICEPON_MEMBER_61177
=
WECHAR_REPORT_TEST_ADDRESS
+
API_RICEPON_MEMBER
;
...
@@ -187,6 +201,7 @@ public class HttpsConstans {
...
@@ -187,6 +201,7 @@ public class HttpsConstans {
REPORT_SERVER_ADDRESS
=
REPORT_TEST_ADDRESS
+
REPORT_PATH
;
REPORT_SERVER_ADDRESS
=
REPORT_TEST_ADDRESS
+
REPORT_PATH
;
WECHAR_REPORT_SERVER_ADDRESS
=
WECHAR_REPORT_TEST_ADDRESS
+
WECHAR_REPORT_PATH
;
//正式:WECHAR_REPORT_FORMAL_ADDRESS 測試:WECHAR_REPORT_TEST_ADDRESS
WECHAR_REPORT_SERVER_ADDRESS
=
WECHAR_REPORT_TEST_ADDRESS
+
WECHAR_REPORT_PATH
;
//正式:WECHAR_REPORT_FORMAL_ADDRESS 測試:WECHAR_REPORT_TEST_ADDRESS
SYSTEM_URL
=
ROOT_SERVER_YOU_CHANG_HK
+
SYSTEM_PATH
;
SYSTEM_URL
=
ROOT_SERVER_YOU_CHANG_HK
+
SYSTEM_PATH
;
PRINT_QRCODE_ADDRESS
=
PRINT_QRCODE_ADDRESS_URL_HK
+
PRINT_QRCODE_SUFFIX
;
break
;
break
;
case
5
:
case
5
:
RICEPON_MEMBER_61177
=
WECHAR_REPORT_TEST_ADDRESS
+
API_RICEPON_MEMBER
;
RICEPON_MEMBER_61177
=
WECHAR_REPORT_TEST_ADDRESS
+
API_RICEPON_MEMBER
;
...
@@ -197,6 +212,7 @@ public class HttpsConstans {
...
@@ -197,6 +212,7 @@ public class HttpsConstans {
REPORT_SERVER_ADDRESS
=
REPORT_TEST_ADDRESS
+
REPORT_PATH
;
REPORT_SERVER_ADDRESS
=
REPORT_TEST_ADDRESS
+
REPORT_PATH
;
WECHAR_REPORT_SERVER_ADDRESS
=
WECHAR_REPORT_TEST_ADDRESS
+
WECHAR_REPORT_PATH
;
//正式:WECHAR_REPORT_FORMAL_ADDRESS 測試:WECHAR_REPORT_TEST_ADDRESS
WECHAR_REPORT_SERVER_ADDRESS
=
WECHAR_REPORT_TEST_ADDRESS
+
WECHAR_REPORT_PATH
;
//正式:WECHAR_REPORT_FORMAL_ADDRESS 測試:WECHAR_REPORT_TEST_ADDRESS
SYSTEM_URL
=
ROOT_SERVER_SHI_SHU_HK
+
SYSTEM_PATH
;
SYSTEM_URL
=
ROOT_SERVER_SHI_SHU_HK
+
SYSTEM_PATH
;
PRINT_QRCODE_ADDRESS
=
PRINT_QRCODE_ADDRESS_URL_HK
+
PRINT_QRCODE_SUFFIX
;
break
;
break
;
}
}
ricepon_wechat
=
HttpsConstans
.
ROOT_URL
+
HttpsConstans
.
URL_RICEPON_WECHAT
;
ricepon_wechat
=
HttpsConstans
.
ROOT_URL
+
HttpsConstans
.
URL_RICEPON_WECHAT
;
...
...
base-module/src/main/java/com/gingersoft/gsa/cloud/logan/LoganUtils.java
0 → 100644
View file @
c4e6855d
package
com
.
gingersoft
.
gsa
.
cloud
.
logan
;
import
android.content.Context
;
import
android.os.Handler
;
import
android.os.Looper
;
import
android.util.Log
;
import
com.dianping.logan.Logan
;
import
com.dianping.logan.SendLogCallback
;
import
com.gingersoft.gsa.cloud.app.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.BuildConfig
;
import
com.gingersoft.gsa.cloud.base.utils.log.LogUtil
;
import
com.gingersoft.gsa.cloud.base.utils.time.TimeUtils
;
import
com.gingersoft.gsa.cloud.config.LoganConfig
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.DeviceUtils
;
/**
* @author : bin
* @create date: 2020-11-21
* @update date: 2020-11-21
* @description:
*/
public
class
LoganUtils
{
private
static
final
String
TAG
=
LoganUtils
.
class
.
getSimpleName
();
/**
* 上傳日誌到服務器
*/
public
static
void
uploadLog
(
Context
context
,
boolean
showToast
)
{
String
memberId
=
GsaCloudApplication
.
getMemberName
()
+
"_"
+
GsaCloudApplication
.
getMemberId
();
String
deviceId
=
DeviceUtils
.
getIMEI
(
GsaCloudApplication
.
getAppContext
())
!=
null
?
DeviceUtils
.
getIMEI
(
GsaCloudApplication
.
getAppContext
())
:
"redmi"
;
String
AppVersion
=
DeviceUtils
.
getVersionName
(
GsaCloudApplication
.
getAppContext
())
+
"_"
+
DeviceUtils
.
getVersionCode
(
GsaCloudApplication
.
getAppContext
());
String
BuildVersion
=
android
.
os
.
Build
.
VERSION
.
RELEASE
+
""
;
Logan
.
s
(
LoganConfig
.
UPLOAD_LOG_URL
,
TimeUtils
.
getCurrentDate
(
TimeUtils
.
DATE_FORMAT_DATE
),
LoganConfig
.
APP_ID
,
memberId
,
deviceId
,
BuildVersion
,
AppVersion
,
new
SendLogCallback
()
{
@Override
public
void
onLogSendCompleted
(
int
statusCode
,
byte
[]
data
)
{
final
String
resultData
=
data
!=
null
?
new
String
(
data
)
:
""
;
new
Handler
(
Looper
.
getMainLooper
()).
post
(
new
Runnable
()
{
@Override
public
void
run
()
{
if
(
BuildConfig
.
DEBUG
&&
showToast
)
{
if
(
statusCode
==
200
)
{
ArmsUtils
.
makeText
(
context
,
"日誌上傳成功"
);
}
else
{
ArmsUtils
.
makeText
(
context
,
"日誌上傳失敗"
);
}
}
}
});
Log
.
d
(
TAG
,
"upload result, httpCode: "
+
statusCode
+
", details: "
+
resultData
);
}
});
}
public
static
void
w_code
(
String
log
)
{
Logan
.
w
(
log
,
LoganConfig
.
CODE_LEVLE
);
printLog
(
log
);
}
public
static
void
w_action
(
String
log
)
{
Logan
.
w
(
log
,
LoganConfig
.
ACTION_LEVLE
);
}
public
static
void
w_network
(
String
log
)
{
Logan
.
w
(
log
,
LoganConfig
.
NETWORK_LEVLE
);
//網絡日誌比較重要立即寫入本地
// Logan.f();
printLog
(
log
);
}
public
static
void
w_crash
(
String
log
)
{
Logan
.
w
(
log
,
LoganConfig
.
CRASH_LEVLE
);
//cash日誌比較重要立即寫入本地
Logan
.
f
();
printLog
(
log
);
}
public
static
void
w_H5
(
String
log
)
{
Logan
.
w
(
log
,
LoganConfig
.
H5_LEVLE
);
}
public
static
void
w_native
(
String
log
)
{
Logan
.
w
(
log
,
LoganConfig
.
native_LEVLE
);
}
private
static
void
printLog
(
String
log
)
{
if
(
BuildConfig
.
DEBUG
)
{
// LogUtil.d(log);
}
}
}
base-module/src/main/java/com/gingersoft/gsa/cloud/menu/Menu.java
deleted
100644 → 0
View file @
f99df214
package
com
.
gingersoft
.
gsa
.
cloud
.
menu
;
/**
* @author : bin
* @create date: 2020-11-03
* @update date: 2020-11-03
* @description:
*/
public
interface
Menu
{
}
base-module/src/main/java/com/gingersoft/gsa/cloud/ui/view/OrderPayView.java
View file @
c4e6855d
...
@@ -141,7 +141,7 @@ public class OrderPayView extends LinearLayout {
...
@@ -141,7 +141,7 @@ public class OrderPayView extends LinearLayout {
double
paymentDifference
=
getPaymentDifference
();
double
paymentDifference
=
getPaymentDifference
();
if
(!
addPayMethodCondtion
(
method
,
paymentDifference
))
{
if
(!
addPayMethodCondtion
(
method
,
paymentDifference
))
{
return
;
return
;
}
}
...
@@ -188,7 +188,7 @@ public class OrderPayView extends LinearLayout {
...
@@ -188,7 +188,7 @@ public class OrderPayView extends LinearLayout {
int
notifyPosition
=
mBillMoneyList
.
size
()
-
1
;
int
notifyPosition
=
mBillMoneyList
.
size
()
-
1
;
mBillMoneyAdapter
.
setSelect_position
(
notifyPosition
);
mBillMoneyAdapter
.
setSelect_position
(
notifyPosition
);
mBillMoneyAdapter
.
notify
ItemChanged
(
notifyPosition
);
mBillMoneyAdapter
.
notify
DataSetChanged
(
);
rv_bill_money
.
scrollToPosition
(
notifyPosition
);
rv_bill_money
.
scrollToPosition
(
notifyPosition
);
//設置差額狀態
//設置差額狀態
...
@@ -232,10 +232,14 @@ public class OrderPayView extends LinearLayout {
...
@@ -232,10 +232,14 @@ public class OrderPayView extends LinearLayout {
//Exact
//Exact
view
.
findViewById
(
R
.
id
.
btn_exact
).
setOnClickListener
(
v
->
{
view
.
findViewById
(
R
.
id
.
btn_exact
).
setOnClickListener
(
v
->
{
if
(
getSelectBillMoney
()
==
null
)
{
PayMethod
selectPayMethod
=
getSelectBillMoney
();
if
(
selectPayMethod
==
null
)
{
ToastUtils
.
show
(
context
,
"請選擇支付方式"
);
ToastUtils
.
show
(
context
,
"請選擇支付方式"
);
return
;
return
;
}
}
boolean
useFreeServicePayMethod
=
isUseFreeServicePayMethod
(
selectPayMethod
);
setWhetherFreeServiceCallback
(
useFreeServicePayMethod
);
pressExact
();
pressExact
();
setDifferenceText
(
context
);
setDifferenceText
(
context
);
});
});
...
@@ -271,7 +275,7 @@ public class OrderPayView extends LinearLayout {
...
@@ -271,7 +275,7 @@ public class OrderPayView extends LinearLayout {
this
.
addView
(
view
);
this
.
addView
(
view
);
}
}
private
boolean
addPayMethodCondtion
(
PayMethod
method
,
double
paymentDifference
)
{
private
boolean
addPayMethodCondtion
(
PayMethod
method
,
double
paymentDifference
)
{
boolean
isIntegralPayMethod
=
isIntegralPayMethod
(
method
);
boolean
isIntegralPayMethod
=
isIntegralPayMethod
(
method
);
if
(
isIntegralPayMethod
)
{
if
(
isIntegralPayMethod
)
{
//積分支付
//積分支付
...
@@ -551,7 +555,7 @@ public class OrderPayView extends LinearLayout {
...
@@ -551,7 +555,7 @@ public class OrderPayView extends LinearLayout {
* @param payMethod
* @param payMethod
* @param memberIntegral 會員積分
* @param memberIntegral 會員積分
* @param memberPointRedeemCash 積分兌換現金比率
* @param memberPointRedeemCash 積分兌換現金比率
* @param paymentDifference
還差多少錢
* @param paymentDifference 還差多少錢
* @param addPayMethod 新增積分支付
* @param addPayMethod 新增積分支付
* @return
* @return
*/
*/
...
@@ -673,7 +677,7 @@ public class OrderPayView extends LinearLayout {
...
@@ -673,7 +677,7 @@ public class OrderPayView extends LinearLayout {
tv_total
.
setText
(
"$"
+
totalAmount
);
tv_total
.
setText
(
"$"
+
totalAmount
);
}
}
public
void
updateOrderPay
(
double
totalAmount
){
public
void
updateOrderPay
(
double
totalAmount
)
{
setTotalAmount
(
totalAmount
);
setTotalAmount
(
totalAmount
);
initOrderDetail
();
initOrderDetail
();
setDifferenceText
(
GsaCloudApplication
.
getAppContext
());
setDifferenceText
(
GsaCloudApplication
.
getAppContext
());
...
...
base-module/src/main/res/layout/layout_order_pay.xml
View file @
c4e6855d
...
@@ -44,7 +44,6 @@
...
@@ -44,7 +44,6 @@
android:visibility=
"invisible"
/>
android:visibility=
"invisible"
/>
</FrameLayout>
</FrameLayout>
<TextView
<TextView
android:id=
"@+id/tv_total_text"
android:id=
"@+id/tv_total_text"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
...
@@ -58,7 +57,6 @@
...
@@ -58,7 +57,6 @@
android:textSize=
"@dimen/sp_22"
android:textSize=
"@dimen/sp_22"
android:textStyle=
"bold"
android:textStyle=
"bold"
android:visibility=
"visible"
/>
android:visibility=
"visible"
/>
</LinearLayout>
</LinearLayout>
<TextView
<TextView
...
...
delivery_pick_module/src/main/java/com/gingersoft/gsa/delivery_pick_mode/data/network/ServiceCreator.kt
View file @
c4e6855d
package
com.gingersoft.gsa.delivery_pick_mode.data.network
package
com.gingersoft.gsa.delivery_pick_mode.data.network
import
android.util.Log
import
com.gingersoft.gsa.cloud.config.globalconfig.applyOptions.intercept.HeadersInterceptor
import
com.gingersoft.gsa.cloud.app.GsaCloudApplication
import
com.gingersoft.gsa.cloud.base.utils.encryption.Aes
import
com.gingersoft.gsa.cloud.config.globalconfig.applyOptions.intercept.LoggingInterceptor
import
com.gingersoft.gsa.cloud.config.globalconfig.applyOptions.intercept.LoggingInterceptor
import
com.gingersoft.gsa.cloud.constans.AppConstans
import
com.gingersoft.gsa.cloud.constans.HttpsConstans
import
com.gingersoft.gsa.cloud.constans.HttpsConstans
import
com.gingersoft.gsa.cloud.constans.HttpsConstans.ROOT_SERVER
import
com.gingersoft.gsa.cloud.constans.HttpsConstans.ROOT_SERVER
import
com.gingersoft.gsa.cloud.constans.HttpsConstans.URK_RICEPON_GSA
import
com.gingersoft.gsa.cloud.constans.HttpsConstans.URK_RICEPON_GSA
import
com.jess.arms.utils.DeviceUtils
import
okhttp3.Headers
import
okhttp3.Interceptor
import
okhttp3.OkHttpClient
import
okhttp3.OkHttpClient
import
okhttp3.Response
import
retrofit2.Retrofit
import
retrofit2.Retrofit
import
retrofit2.converter.gson.GsonConverterFactory
import
retrofit2.converter.gson.GsonConverterFactory
import
retrofit2.converter.scalars.ScalarsConverterFactory
import
retrofit2.converter.scalars.ScalarsConverterFactory
...
@@ -26,7 +19,7 @@ object ServiceCreator {
...
@@ -26,7 +19,7 @@ object ServiceCreator {
.
readTimeout
(
30
,
TimeUnit
.
SECONDS
)
.
readTimeout
(
30
,
TimeUnit
.
SECONDS
)
.
writeTimeout
(
30
,
TimeUnit
.
SECONDS
)
.
writeTimeout
(
30
,
TimeUnit
.
SECONDS
)
.
addInterceptor
(
LoggingInterceptor
())
.
addInterceptor
(
LoggingInterceptor
())
.
addInterceptor
(
UserAgentIntercepte
r
())
.
addInterceptor
(
HeadersIntercepto
r
())
private
lateinit
var
builder
:
Retrofit
.
Builder
private
lateinit
var
builder
:
Retrofit
.
Builder
private
lateinit
var
builder2
:
Retrofit
.
Builder
private
lateinit
var
builder2
:
Retrofit
.
Builder
...
@@ -110,32 +103,32 @@ object ServiceCreator {
...
@@ -110,32 +103,32 @@ object ServiceCreator {
/**
/**
* 添加请求头
* 添加请求头
*/
*/
class
UserAgentIntercepter
:
Interceptor
{
//
class UserAgentIntercepter : Interceptor {
override
fun
intercept
(
chain
:
Interceptor
.
Chain
):
Response
{
//
override fun intercept(chain: Interceptor.Chain): Response {
val
request
=
chain
.
request
()
//
val request = chain.request()
val
headers
=
request
.
headers
()
//
val headers = request.headers()
//
val
builder
=
Headers
.
Builder
()
//
val builder = Headers.Builder()
for
(
i
in
0
until
headers
.
size
())
{
//
for (i in 0 until headers.size()) {
builder
.
set
(
headers
.
name
(
i
),
headers
.
value
(
i
))
//
builder.set(headers.name(i), headers.value(i))
}
//
}
//
builder
.
set
(
"mobileVersion"
,
android
.
os
.
Build
.
VERSION
.
RELEASE
)
//set表示name1是唯一的,会覆盖掉已经存在的,add不会覆盖已经存在的头,可以存在多个
//
builder.set("mobileVersion", android.os.Build.VERSION.RELEASE)//set表示name1是唯一的,会覆盖掉已经存在的,add不会覆盖已经存在的头,可以存在多个
builder
.
set
(
"mobielModel"
,
android
.
os
.
Build
.
MODEL
)
//
builder.set("mobielModel", android.os.Build.MODEL)
builder
.
set
(
"apptype"
,
AppConstans
.
APP_TYPE
)
//
builder.set("apptype", AppConstans.APP_TYPE)
builder
.
set
(
"appinfo"
,
DeviceUtils
.
getVersionName
(
GsaCloudApplication
.
getAppContext
()))
//
builder.set("appinfo", DeviceUtils.getVersionName(GsaCloudApplication.getAppContext()))
builder
.
set
(
"mobileId"
,
"1"
)
//
builder.set("mobileId", "1")
//
if
(
GsaCloudApplication
.
isLogin
)
{
//
if (GsaCloudApplication.isLogin) {
var
token
:
String
//
var token: String
val
memberId
=
GsaCloudApplication
.
getMemberId
()
//
val memberId = GsaCloudApplication.getMemberId()
val
loginToken
=
GsaCloudApplication
.
getLoginToken
()
//
val loginToken = GsaCloudApplication.getLoginToken()
token
=
Aes
.
aesEncrypt
(
"9_"
+
memberId
+
"_"
+
System
.
currentTimeMillis
()
+
"_"
+
loginToken
)
//
token = Aes.aesEncrypt("9_" + memberId + "_" + System.currentTimeMillis() + "_" + loginToken)
token
=
token
.
replace
(
"\r|\n"
.
toRegex
(),
""
)
//
token = token.replace("\r|\n".toRegex(), "")
builder
.
set
(
"token"
,
token
)
//
builder.set("token", token)
}
//
}
val
request1
=
chain
.
request
().
newBuilder
().
headers
(
builder
.
build
()).
build
()
//
val request1 = chain.request().newBuilder().headers(builder.build()).build()
return
chain
.
proceed
(
request1
)
//
return chain.proceed(request1)
}
//
}
}
//
}
}
}
\ No newline at end of file
login-module/src/main/java/com/gingersoft/gsa/cloud/login/mvp/contract/LoginInterfaceImpl.java
View file @
c4e6855d
...
@@ -14,7 +14,7 @@ import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
...
@@ -14,7 +14,7 @@ import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import
com.gingersoft.gsa.cloud.base.utils.RestaurantInfoUtils
;
import
com.gingersoft.gsa.cloud.base.utils.RestaurantInfoUtils
;
import
com.gingersoft.gsa.cloud.base.utils.other.SPUtils
;
import
com.gingersoft.gsa.cloud.base.utils.other.SPUtils
;
import
com.gingersoft.gsa.cloud.base.widget.DialogUtils
;
import
com.gingersoft.gsa.cloud.base.widget.DialogUtils
;
import
com.gingersoft.gsa.cloud.
constans
.UserConstans
;
import
com.gingersoft.gsa.cloud.
account.user
.UserConstans
;
import
com.gingersoft.gsa.cloud.login.R
;
import
com.gingersoft.gsa.cloud.login.R
;
import
com.gingersoft.gsa.cloud.login.mvp.bean.LoginLimitBean
;
import
com.gingersoft.gsa.cloud.login.mvp.bean.LoginLimitBean
;
import
com.gingersoft.gsa.cloud.login.mvp.presenter.BaseLoginPresenter
;
import
com.gingersoft.gsa.cloud.login.mvp.presenter.BaseLoginPresenter
;
...
...
login-module/src/main/java/com/gingersoft/gsa/cloud/login/mvp/ui/activity/mvp/ui/activity/LoginActivity.java
View file @
c4e6855d
...
@@ -19,7 +19,7 @@ import com.gingersoft.gsa.cloud.base.utils.encryption.Aes;
...
@@ -19,7 +19,7 @@ import com.gingersoft.gsa.cloud.base.utils.encryption.Aes;
import
com.gingersoft.gsa.cloud.base.utils.log.LogUtil
;
import
com.gingersoft.gsa.cloud.base.utils.log.LogUtil
;
import
com.gingersoft.gsa.cloud.base.utils.other.SPUtils
;
import
com.gingersoft.gsa.cloud.base.utils.other.SPUtils
;
import
com.gingersoft.gsa.cloud.base.utils.other.TextUtil
;
import
com.gingersoft.gsa.cloud.base.utils.other.TextUtil
;
import
com.gingersoft.gsa.cloud.
constans
.UserConstans
;
import
com.gingersoft.gsa.cloud.
account.user
.UserConstans
;
import
com.gingersoft.gsa.cloud.login.R
;
import
com.gingersoft.gsa.cloud.login.R
;
import
com.gingersoft.gsa.cloud.login.R2
;
import
com.gingersoft.gsa.cloud.login.R2
;
import
com.gingersoft.gsa.cloud.login.di.component.DaggerLoginComponent
;
import
com.gingersoft.gsa.cloud.login.di.component.DaggerLoginComponent
;
...
...
login-module/src/main/java/com/gingersoft/gsa/cloud/login/mvp/ui/activity/mvp/ui/activity/WelcomeActivity.java
View file @
c4e6855d
...
@@ -20,7 +20,7 @@ import androidx.viewpager2.widget.ViewPager2;
...
@@ -20,7 +20,7 @@ import androidx.viewpager2.widget.ViewPager2;
import
com.gingersoft.gsa.cloud.app.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.app.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.base.utils.encryption.Aes
;
import
com.gingersoft.gsa.cloud.base.utils.encryption.Aes
;
import
com.gingersoft.gsa.cloud.base.utils.other.SPUtils
;
import
com.gingersoft.gsa.cloud.base.utils.other.SPUtils
;
import
com.gingersoft.gsa.cloud.
constans
.UserConstans
;
import
com.gingersoft.gsa.cloud.
account.user
.UserConstans
;
import
com.gingersoft.gsa.cloud.login.R
;
import
com.gingersoft.gsa.cloud.login.R
;
import
com.gingersoft.gsa.cloud.login.R2
;
import
com.gingersoft.gsa.cloud.login.R2
;
import
com.gingersoft.gsa.cloud.login.di.component.DaggerWelcomeComponent
;
import
com.gingersoft.gsa.cloud.login.di.component.DaggerWelcomeComponent
;
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/cart/ShoppingCart.java
View file @
c4e6855d
...
@@ -38,6 +38,7 @@ public class ShoppingCart {
...
@@ -38,6 +38,7 @@ public class ShoppingCart {
}
}
return
shoppingCart
;
return
shoppingCart
;
}
}
/**
/**
* 外送/自取 的訂單數據
* 外送/自取 的訂單數據
*/
*/
...
@@ -271,14 +272,16 @@ public class ShoppingCart {
...
@@ -271,14 +272,16 @@ public class ShoppingCart {
byte
discountType
=
BillItem
.
NOMAL_DISCOUNT_TYPE
;
byte
discountType
=
BillItem
.
NOMAL_DISCOUNT_TYPE
;
for
(
int
i
=
multyDiscountArrays
.
size
()
-
1
;
i
>=
0
;
i
--)
{
for
(
int
i
=
multyDiscountArrays
.
size
()
-
1
;
i
>=
0
;
i
--)
{
MultyDiscount
discount
=
multyDiscountArrays
.
get
(
i
);
MultyDiscount
discount
=
multyDiscountArrays
.
get
(
i
);
String
discountName
=
discount
.
getName
();
if
(
discount
instanceof
NomalDiscount
)
{
if
(
discount
instanceof
NomalDiscount
)
{
discountType
=
BillItem
.
NOMAL_DISCOUNT_TYPE
;
discountType
=
BillItem
.
NOMAL_DISCOUNT_TYPE
;
}
else
if
(
discount
instanceof
MemberDiscount
)
{
}
else
if
(
discount
instanceof
MemberDiscount
)
{
discountType
=
BillItem
.
MEMBER_DISCOUNT_TYPE
;
discountType
=
BillItem
.
MEMBER_DISCOUNT_TYPE
;
discountName
=
discount
.
getName
()
+
((
MemberDiscount
)
discount
).
getMemberDiscount
().
getMemberDiscount
()+
"%"
;
}
else
if
(
discount
instanceof
CouponDiscount
)
{
}
else
if
(
discount
instanceof
CouponDiscount
)
{
discountType
=
BillItem
.
COUPON_DISCOUNT_TYPE
;
discountType
=
BillItem
.
COUPON_DISCOUNT_TYPE
;
}
}
DiscountItem
discountItem
=
new
DiscountItem
(
discount
.
getName
()
,
discount
.
getDiscountMoney
(),
discount
.
getStatus
(),
discountType
);
DiscountItem
discountItem
=
new
DiscountItem
(
discount
Name
,
discount
.
getDiscountMoney
(),
discount
.
getStatus
(),
discountType
);
discountItem
.
setDiscount
(
discount
);
discountItem
.
setDiscount
(
discount
);
billItemList
.
add
(
discountItem
);
billItemList
.
add
(
discountItem
);
}
}
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/commodity/MealCommodity.java
View file @
c4e6855d
...
@@ -426,7 +426,7 @@ public class MealCommodity implements Commodity {
...
@@ -426,7 +426,7 @@ public class MealCommodity implements Commodity {
mealCommodity
.
setNumber
(
1
);
mealCommodity
.
setNumber
(
1
);
mealCommodity
.
setPrice
(
discountPrice
);
mealCommodity
.
setPrice
(
discountPrice
);
mealCommodity
.
setUnit_price
(
discountPrice
);
mealCommodity
.
setUnit_price
(
discountPrice
);
if
(
BaseOrder
.
is
CurrentOrderType
(
FoodSummaryConstans
.
RESTAURANT_MODE
))
{
if
(
BaseOrder
.
is
TableToMeal
(
))
{
mealCommodity
.
setOrderId
(
DoshokuOrder
.
getInstance
().
getOrderId
());
mealCommodity
.
setOrderId
(
DoshokuOrder
.
getInstance
().
getOrderId
());
}
else
{
}
else
{
mealCommodity
.
setOrderId
(
TakeawayOrder
.
getInstance
().
getOrderId
());
mealCommodity
.
setOrderId
(
TakeawayOrder
.
getInstance
().
getOrderId
());
...
...
order-base/src/main/java/com/gingersoft/gsa/cloud/base/order/order/BaseOrder.java
View file @
c4e6855d
...
@@ -55,6 +55,20 @@ public abstract class BaseOrder {
...
@@ -55,6 +55,20 @@ public abstract class BaseOrder {
return
false
;
return
false
;
}
}
/**
* 是否在餐廳用餐
* @return
*/
public
static
boolean
isTableToMeal
()
{
/**
* 餐檯模式,skyorder到餐廳用餐
*/
if
(
orderType
==
FoodSummaryConstans
.
RESTAURANT_MODE
||
orderType
==
FoodSummaryConstans
.
SKYORDER
)
{
return
true
;
}
return
false
;
}
protected
void
initialization
()
{
protected
void
initialization
()
{
orderType
=
FoodSummaryConstans
.
RESTAURANT_MODE
;
orderType
=
FoodSummaryConstans
.
RESTAURANT_MODE
;
...
...
print-module/src/main/java/com/joe/print/mvp/print/PrintBill.java
View file @
c4e6855d
...
@@ -44,7 +44,6 @@ public class PrintBill extends PrinterRoot {
...
@@ -44,7 +44,6 @@ public class PrintBill extends PrinterRoot {
DoshokuOrder
doshokuOrder
=
DoshokuOrder
.
getInstance
();
DoshokuOrder
doshokuOrder
=
DoshokuOrder
.
getInstance
();
ShoppingCart
shoppingCart
=
doshokuOrder
.
getShoppingCart
();
ShoppingCart
shoppingCart
=
doshokuOrder
.
getShoppingCart
();
List
<
OrderDetail
>
foodList
=
shoppingCart
.
getOrderCommodityList
();
List
<
OrderDetail
>
foodList
=
shoppingCart
.
getOrderCommodityList
();
TableBean
.
DataBean
tableBean
=
doshokuOrder
.
getOpenTableInfo
();
TableBean
.
DataBean
tableBean
=
doshokuOrder
.
getOpenTableInfo
();
...
...
print-module/src/main/java/com/joe/print/mvp/print/PrinterRoot.java
View file @
c4e6855d
...
@@ -51,6 +51,7 @@ import com.gingersoft.gsa.cloud.print.PrinterWriter58mm;
...
@@ -51,6 +51,7 @@ import com.gingersoft.gsa.cloud.print.PrinterWriter58mm;
import
com.gingersoft.gsa.cloud.print.bean.OrderDetails
;
import
com.gingersoft.gsa.cloud.print.bean.OrderDetails
;
import
com.gingersoft.gsa.cloud.print.bean.PrintContent
;
import
com.gingersoft.gsa.cloud.print.bean.PrintContent
;
import
com.gingersoft.gsa.cloud.print.bean.PrintQRCodeContent
;
import
com.gingersoft.gsa.cloud.print.bean.PrintQRCodeContent
;
import
com.google.zxing.WriterException
;
import
com.hyweb.n5.lib.constant.PrinterConstant
;
import
com.hyweb.n5.lib.constant.PrinterConstant
;
import
com.hyweb.n5.lib.util.PrinterUtil
;
import
com.hyweb.n5.lib.util.PrinterUtil
;
import
com.hyweb.n5.server.aidl.IOnPrintCallback
;
import
com.hyweb.n5.server.aidl.IOnPrintCallback
;
...
@@ -621,7 +622,12 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
...
@@ -621,7 +622,12 @@ public abstract class PrinterRoot implements PrintSocketHolder.OnStateChangedLis
llIntegralQrcode
.
setVisibility
(
View
.
GONE
);
llIntegralQrcode
.
setVisibility
(
View
.
GONE
);
}
else
{
}
else
{
llIntegralQrcode
.
setVisibility
(
View
.
VISIBLE
);
llIntegralQrcode
.
setVisibility
(
View
.
VISIBLE
);
Bitmap
QRImage
=
QRCodeUtil
.
createQRImage
(
integralQrcode
,
180
,
180
);
Bitmap
QRImage
=
null
;
try
{
QRImage
=
QRCodeUtil
.
makeQRImage
(
integralQrcode
,
220
,
220
);
}
catch
(
WriterException
e
)
{
e
.
printStackTrace
();
}
ivIntegralQrcode
.
setImageBitmap
(
QRImage
);
ivIntegralQrcode
.
setImageBitmap
(
QRImage
);
}
}
return
view
;
return
view
;
...
...
print-module/src/main/res/layout/print_model_meal_member_integer_info.xml
View file @
c4e6855d
...
@@ -76,8 +76,8 @@
...
@@ -76,8 +76,8 @@
<ImageView
<ImageView
android:id=
"@+id/iv_integral_qrcode"
android:id=
"@+id/iv_integral_qrcode"
android:layout_width=
"@dimen/dp_2
5
0"
android:layout_width=
"@dimen/dp_2
2
0"
android:layout_height=
"@dimen/dp_2
5
0"
android:layout_height=
"@dimen/dp_2
2
0"
android:layout_marginTop=
"@dimen/dp_5"
/>
android:layout_marginTop=
"@dimen/dp_5"
/>
<TextView
<TextView
...
...
table-base/src/main/java/com/gingersoft/gsa/cloud/base/table/bean/TableBean.java
View file @
c4e6855d
...
@@ -82,6 +82,7 @@ public class TableBean {
...
@@ -82,6 +82,7 @@ public class TableBean {
* maxSeatCount : 8
* maxSeatCount : 8
* SplitStatus : 0
* SplitStatus : 0
* skyQRCode:
* skyQRCode:
* scanId : 1117359
*/
*/
private
int
id
;
private
int
id
;
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/discount/MealDiscountAction.java
View file @
c4e6855d
...
@@ -49,6 +49,11 @@ public class MealDiscountAction implements Strategy<Discount> {
...
@@ -49,6 +49,11 @@ public class MealDiscountAction implements Strategy<Discount> {
return
;
return
;
}
}
double
mixTotalAomout
=
getMixTotalAomout
(
mSelectMixOrderMealList
);
double
mixTotalAomout
=
getMixTotalAomout
(
mSelectMixOrderMealList
);
if
(
discount
.
getType
()
==
0
&&
discount
.
getAmount
()
>
mixTotalAomout
){
//金額折扣總額不能超過 食品總金額
ArmsUtils
.
makeText
(
mContext
,
"折扣金額不可以超過食品總金額!"
);
return
;
}
if
(
discount
.
getMinBillAmount
()
>
mixTotalAomout
)
{
if
(
discount
.
getMinBillAmount
()
>
mixTotalAomout
)
{
//最小賬單金額
//最小賬單金額
ArmsUtils
.
makeText
(
mContext
,
"小於最小賬單金額$"
+
discount
.
getMinBillAmount
()
+
" 無法使用此折扣"
);
ArmsUtils
.
makeText
(
mContext
,
"小於最小賬單金額$"
+
discount
.
getMinBillAmount
()
+
" 無法使用此折扣"
);
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/table/action/PrintSkyorderAction.java
View file @
c4e6855d
...
@@ -103,7 +103,7 @@ public class PrintSkyorderAction extends TableAction {
...
@@ -103,7 +103,7 @@ public class PrintSkyorderAction extends TableAction {
String
printBottomInfo
=
GsaCloudApplication
.
functionConfiguration
.
getSkyQRCodePrintBottomInfoVaule
();
String
printBottomInfo
=
GsaCloudApplication
.
functionConfiguration
.
getSkyQRCodePrintBottomInfoVaule
();
String
QR
=
"\""
+
printQRCodeResponse
.
getQrcode
()
+
"\""
;
String
QR
=
"\""
+
printQRCodeResponse
.
getQrcode
()
+
"\""
;
String
QRCodeContent
=
HttpsConstans
.
PRINT_QRCODE_ADDRESS
+
"{\"type\":"
+
PRINT_type
+
",\"QR\":"
+
QR
+
"}"
;
String
QRCodeContent
=
HttpsConstans
.
PRINT_
SKY_
QRCODE_ADDRESS
+
"{\"type\":"
+
PRINT_type
+
",\"QR\":"
+
QR
+
"}"
;
QRCodeContent
=
QRCodeContent
.
replace
(
"WMP0"
,
"WMP"
+
printQRCodeResponse
.
getIsWeChatMiniProgram
());
QRCodeContent
=
QRCodeContent
.
replace
(
"WMP0"
,
"WMP"
+
printQRCodeResponse
.
getIsWeChatMiniProgram
());
PrintQRCodeContent
printQRCodeBean
=
new
PrintQRCodeContent
();
PrintQRCodeContent
printQRCodeBean
=
new
PrintQRCodeContent
();
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/BaseOrderPresenter.java
View file @
c4e6855d
...
@@ -34,10 +34,12 @@ import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest;
...
@@ -34,10 +34,12 @@ import com.gingersoft.gsa.cloud.table.mvp.model.bean.request.AddOrderRequest;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.request.CreateOrderRequest
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.request.CreateOrderRequest
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.MealStandActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderContentActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderContentActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderPayActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BillItemAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BillItemAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.meal.SelectMealAdapter
;
import
com.gingersoft.gsa.cloud.constans.ExpandConstant
;
import
com.gingersoft.gsa.cloud.constans.ExpandConstant
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.ui.view.OrderPayView
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.gingersoft.gsa.cloud.zxing.MipcaCaptureActivity
;
import
com.gingersoft.gsa.cloud.zxing.MipcaCaptureActivity
;
import
com.jess.arms.di.scope.ActivityScope
;
import
com.jess.arms.di.scope.ActivityScope
;
...
@@ -176,7 +178,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
...
@@ -176,7 +178,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
}
}
BaseOrder
baseOrder
=
OrderFactory
.
createOrder
(
BaseOrder
.
orderType
);
BaseOrder
baseOrder
=
OrderFactory
.
createOrder
(
BaseOrder
.
orderType
);
if
(
BaseOrder
.
is
CurrentOrderType
(
FoodSummaryConstans
.
RESTAURANT_MODE
))
{
if
(
BaseOrder
.
is
TableToMeal
(
))
{
mDoshokuOrder
=
(
DoshokuOrder
)
baseOrder
;
mDoshokuOrder
=
(
DoshokuOrder
)
baseOrder
;
mTableInfo
=
mDoshokuOrder
.
getOpenTableInfo
();
mTableInfo
=
mDoshokuOrder
.
getOpenTableInfo
();
}
else
{
}
else
{
...
@@ -251,6 +253,10 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
...
@@ -251,6 +253,10 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
});
});
}
}
public
void
updateBillInfo
()
{
updateBillInfo
(
null
);
}
/**
/**
* 更新賬單信息
* 更新賬單信息
* 1、更新食品折扣
* 1、更新食品折扣
...
@@ -261,7 +267,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
...
@@ -261,7 +267,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
* 6、更新賬單小數項
* 6、更新賬單小數項
* 7、總金額
* 7、總金額
*/
*/
public
void
updateBillInfo
()
{
public
void
updateBillInfo
(
UpdateBillInfoEndListener
updateBillInfoEndListener
)
{
mShoppingCart
.
resetBeforeBillCalculation
();
mShoppingCart
.
resetBeforeBillCalculation
();
//更新食品折扣
//更新食品折扣
...
@@ -371,16 +377,20 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
...
@@ -371,16 +377,20 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
observeOn
(
AndroidSchedulers
.
mainThread
())
.
subscribe
(
new
Consumer
<
Double
>()
{
.
subscribe
(
new
Consumer
<
Double
>()
{
@Override
@Override
public
void
accept
(
Double
totalAmount
)
throws
Exception
{
public
void
accept
(
Double
totalAmount
)
{
if
(
mOrderContentActivity
!=
null
)
{
mOrderContentActivity
.
initOrderBill
(
wholeAmount
,
totalAmount
);
}
//更新總金額
//更新總金額
mShoppingCart
.
setTotalAmount
(
totalAmount
);
mShoppingCart
.
setTotalAmount
(
totalAmount
);
//刷新美食Item數據
mSelectMealAdapter
.
notifyDataSetChanged
();
//刷新賬單Item數據
//刷新賬單Item數據
mBillItemAdapter
.
notifyDataSetChanged
();
mBillItemAdapter
.
notifyDataSetChanged
();
//刷新美食Item數據
mSelectMealAdapter
.
notifyDataSetChanged
();
if
(
mOrderContentActivity
!=
null
)
{
mOrderContentActivity
.
initOrderBill
(
wholeAmount
,
totalAmount
);
}
if
(
updateBillInfoEndListener
!=
null
)
{
updateBillInfoEndListener
.
onUpdateEnd
();
}
}
}
});
});
}
}
...
@@ -779,7 +789,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
...
@@ -779,7 +789,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
double
foodTotal
=
getFoodTotal
();
double
foodTotal
=
getFoodTotal
();
for
(
BillItem
item
:
mBillItemList
)
{
for
(
BillItem
item
:
mBillItemList
)
{
if
(!
filterType
(
item
.
getType
(),
filterTypes
))
{
if
(!
filterType
(
item
.
getType
(),
filterTypes
))
{
if
(
item
.
getType
()
==
BillItem
.
SERVERCHARGE_TYPE
&&
mBillItemAdapter
.
getFreeServiceStauts
())
{
if
(
item
instanceof
ServiceChargeItem
&&
mBillItemAdapter
.
getFreeServiceStauts
())
{
//TODO 免服務費
//TODO 免服務費
}
else
{
}
else
{
foodTotal
=
MoneyUtil
.
sum
(
foodTotal
,
item
.
getMoney
());
foodTotal
=
MoneyUtil
.
sum
(
foodTotal
,
item
.
getMoney
());
...
@@ -813,7 +823,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
...
@@ -813,7 +823,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
public
double
getTotalAmount
()
{
public
double
getTotalAmount
()
{
double
foodTotal
=
getFoodTotal
();
double
foodTotal
=
getFoodTotal
();
for
(
BillItem
item
:
mBillItemList
)
{
for
(
BillItem
item
:
mBillItemList
)
{
if
(
item
.
getType
()
==
BillItem
.
SERVERCHARGE_TYPE
&&
mBillItemAdapter
.
getFreeServiceStauts
())
{
if
(
item
instanceof
ServiceChargeItem
&&
mBillItemAdapter
.
getFreeServiceStauts
())
{
//TODO 免服務費
//TODO 免服務費
}
else
{
}
else
{
foodTotal
=
MoneyUtil
.
sum
(
foodTotal
,
item
.
getMoney
());
foodTotal
=
MoneyUtil
.
sum
(
foodTotal
,
item
.
getMoney
());
...
@@ -836,7 +846,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
...
@@ -836,7 +846,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
*/
*/
protected
Double
getRounding
()
{
protected
Double
getRounding
()
{
for
(
BillItem
item
:
mBillItemList
)
{
for
(
BillItem
item
:
mBillItemList
)
{
if
(
item
.
getType
()
==
BillItem
.
ROUNDING_TYPE
)
{
if
(
item
instanceof
RoundingItem
)
{
return
item
.
getMoney
();
return
item
.
getMoney
();
}
}
}
}
...
@@ -941,7 +951,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
...
@@ -941,7 +951,7 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
setChildScAbleByMainAble
(
newFoodList
);
setChildScAbleByMainAble
(
newFoodList
);
setChildDiscountByMainAblediscount
(
newFoodList
);
setChildDiscountByMainAblediscount
(
newFoodList
);
TableBean
.
DataBean
tableBean
=
mDoshokuOrder
.
getOpenTableInfo
();
TableBean
.
DataBean
tableBean
=
mDoshokuOrder
.
getOpenTableInfo
();
int
restaurantId
=
GsaCloudApplication
.
getRestaurantId
();
int
restaurantId
=
GsaCloudApplication
.
getRestaurantId
();
CreateOrderRequest
request
=
new
CreateOrderRequest
();
CreateOrderRequest
request
=
new
CreateOrderRequest
();
...
@@ -1405,12 +1415,12 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
...
@@ -1405,12 +1415,12 @@ public abstract class BaseOrderPresenter<M extends BaseOrderContract.Model, V ex
});
});
}
}
public
DoshokuOrder
getDoshokuOrder
()
{
return
mDoshokuOrder
;
}
public
ShoppingCart
getShoppingCart
()
{
public
ShoppingCart
getShoppingCart
()
{
return
mShoppingCart
;
return
mShoppingCart
;
}
}
public
interface
UpdateBillInfoEndListener
{
void
onUpdateEnd
();
}
}
}
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/MealStandPresenter.java
View file @
c4e6855d
...
@@ -153,7 +153,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
...
@@ -153,7 +153,7 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
//獨佔折扣刪除其他折扣
//獨佔折扣刪除其他折扣
int
start_position
=
mSelectMealAdapter
.
getSelect_full_start_position
();
int
start_position
=
mSelectMealAdapter
.
getSelect_full_start_position
();
int
end_position
=
mSelectMealAdapter
.
getSelect_full_end_position
();
int
end_position
=
mSelectMealAdapter
.
getSelect_full_end_position
();
for
(
int
i
=
0
;
i
<
mOrderMealList
.
size
();
i
++
)
{
for
(
int
i
=
mOrderMealList
.
size
()
-
1
;
i
>=
0
;
i
--
)
{
if
(
start_position
<=
i
&&
i
<=
end_position
)
{
if
(
start_position
<=
i
&&
i
<=
end_position
)
{
OrderDetail
orderMealItem
=
mOrderMealList
.
get
(
i
);
OrderDetail
orderMealItem
=
mOrderMealList
.
get
(
i
);
if
(
orderMealItem
.
getDiscount
()
!=
null
)
{
if
(
orderMealItem
.
getDiscount
()
!=
null
)
{
...
@@ -992,11 +992,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
...
@@ -992,11 +992,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
mRootView
.
showMessage
(
info
.
getErrMsg
());
mRootView
.
showMessage
(
info
.
getErrMsg
());
}
}
}
}
@Override
public
void
onError
(
Throwable
t
)
{
super
.
onError
(
t
);
}
});
});
}
}
...
@@ -1670,26 +1665,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
...
@@ -1670,26 +1665,6 @@ public class MealStandPresenter extends BaseOrderPresenter<MealStandContract.Mod
}
}
}
}
public
Food
getFoodByFid
(
long
fid
)
{
for
(
int
i
=
0
;
i
<
mFoodList
.
size
();
i
++)
{
Food
foodBean
=
mFoodList
.
get
(
i
);
if
(
fid
==
foodBean
.
getId
())
{
return
foodBean
;
}
}
return
null
;
}
public
Modifier
getModifierByMid
(
long
mid
)
{
for
(
int
i
=
0
;
i
<
mModifierList
.
size
();
i
++)
{
Modifier
modifier
=
mModifierList
.
get
(
i
);
if
(
mid
==
modifier
.
getMid
())
{
return
modifier
;
}
}
return
null
;
}
/**
/**
* 標識食品是否为组合食品
* 標識食品是否为组合食品
*
*
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderContentPresenter.java
View file @
c4e6855d
...
@@ -257,7 +257,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
...
@@ -257,7 +257,7 @@ public class OrderContentPresenter extends BaseOrderPresenter<OrderContentContra
if
(
mFunctionList
.
size
()
>
0
)
{
if
(
mFunctionList
.
size
()
>
0
)
{
mFunctionList
.
clear
();
mFunctionList
.
clear
();
}
}
if
(
BaseOrder
.
is
CurrentOrderType
(
FoodSummaryConstans
.
RESTAURANT_MODE
))
{
if
(
BaseOrder
.
is
TableToMeal
(
))
{
if
(
mDoshokuOrder
.
isModifyOrder
())
{
if
(
mDoshokuOrder
.
isModifyOrder
())
{
//修改訂單隱藏送單,印單功能
//修改訂單隱藏送單,印單功能
mFunctionList
.
add
(
new
Function
(
"結賬"
,
Color
.
parseColor
(
"#FFFFFF"
),
Color
.
parseColor
(
"#DC0000"
),
24
));
mFunctionList
.
add
(
new
Function
(
"結賬"
,
Color
.
parseColor
(
"#FFFFFF"
),
Color
.
parseColor
(
"#DC0000"
),
24
));
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/OrderPayPresenter.java
View file @
c4e6855d
...
@@ -13,6 +13,7 @@ import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
...
@@ -13,6 +13,7 @@ import com.gingersoft.gsa.cloud.base.utils.JsonUtils;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.base.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils
;
import
com.gingersoft.gsa.cloud.base.utils.gson.GsonUtils
;
import
com.gingersoft.gsa.cloud.constans.FoodSummaryConstans
;
import
com.gingersoft.gsa.cloud.constans.FoodSummaryConstans
;
import
com.gingersoft.gsa.cloud.constans.HttpsConstans
;
import
com.gingersoft.gsa.cloud.table.BuildConfig
;
import
com.gingersoft.gsa.cloud.table.BuildConfig
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.OrderPayContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.OrderPayContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.response.OrderPayResponse
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.response.OrderPayResponse
;
...
@@ -177,7 +178,7 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
...
@@ -177,7 +178,7 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
mDoshokuOrder
.
setOldPoints
(
orderPayRespose
.
getOldPoints
());
mDoshokuOrder
.
setOldPoints
(
orderPayRespose
.
getOldPoints
());
}
else
{
}
else
{
if
(!
TextUtils
.
isEmpty
(
orderPayRespose
.
getVerifyCode
()))
{
if
(!
TextUtils
.
isEmpty
(
orderPayRespose
.
getVerifyCode
()))
{
mDoshokuOrder
.
setIntegralQrcode
(
orderPayRespose
.
getVerifyCode
());
mDoshokuOrder
.
setIntegralQrcode
(
HttpsConstans
.
PRINT_QRCODE_ADDRESS
+
orderPayRespose
.
getVerifyCode
());
}
}
}
}
}
}
...
@@ -288,14 +289,18 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
...
@@ -288,14 +289,18 @@ public class OrderPayPresenter extends BaseOrderPresenter<OrderPayContract.Model
}
}
public
void
setFreeServiceStauts
(
boolean
useFreeServicePayMethod
)
{
public
void
setFreeServiceStauts
(
boolean
useFreeServicePayMethod
)
{
OrderPayView
orderPayView
=
IActivity
.
getGsaPayView
();
if
(
orderPayView
!=
null
)
{
orderPayView
.
updateOrderPay
(
getTotalAmount
());
}
//更新服務費中劃線
//更新服務費中劃線
mBillItemAdapter
.
setFreeServiceStauts
(
useFreeServicePayMethod
);
mBillItemAdapter
.
setFreeServiceStauts
(
useFreeServicePayMethod
);
//更新總金額
//更新總金額
updateBillInfo
();
updateBillInfo
(
new
UpdateBillInfoEndListener
()
{
@Override
public
void
onUpdateEnd
()
{
OrderPayView
orderPayView
=
IActivity
.
getGsaPayView
();
if
(
orderPayView
!=
null
)
{
orderPayView
.
updateOrderPay
(
getTotalAmount
());
}
}
});
}
}
/**
/**
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/TablePresenter.java
View file @
c4e6855d
...
@@ -13,11 +13,13 @@ import com.gingersoft.gsa.cloud.app.GsaCloudApplication;
...
@@ -13,11 +13,13 @@ import com.gingersoft.gsa.cloud.app.GsaCloudApplication;
import
com.gingersoft.gsa.cloud.base.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.base.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.base.order.bean.response.OrderResponse
;
import
com.gingersoft.gsa.cloud.base.order.bean.response.OrderResponse
;
import
com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail
;
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.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableBean
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableBean
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableExtBean
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableExtBean
;
import
com.gingersoft.gsa.cloud.base.utils.JsonUtils
;
import
com.gingersoft.gsa.cloud.base.utils.JsonUtils
;
import
com.gingersoft.gsa.cloud.base.utils.other.SPUtils
;
import
com.gingersoft.gsa.cloud.base.utils.other.SPUtils
;
import
com.gingersoft.gsa.cloud.constans.FoodSummaryConstans
;
import
com.gingersoft.gsa.cloud.table.ComponentTable
;
import
com.gingersoft.gsa.cloud.table.ComponentTable
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.TableContract
;
import
com.gingersoft.gsa.cloud.table.mvp.contract.TableContract
;
...
@@ -121,6 +123,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
...
@@ -121,6 +123,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
private
String
originalTableName
=
""
;
private
String
originalTableName
=
""
;
private
long
originalTableId
;
private
long
originalTableId
;
private
String
originalTableNumber
=
""
;
private
String
originalTableNumber
=
""
;
private
long
originalScanId
;
/**
/**
* 转台需要转到台名、id、分檯編號
* 转台需要转到台名、id、分檯編號
*/
*/
...
@@ -429,6 +432,11 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
...
@@ -429,6 +432,11 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
}
}
doshokuOrder
.
setOpenTableInfo
(
openTableBean
);
doshokuOrder
.
setOpenTableInfo
(
openTableBean
);
if
(
openTableBean
.
getScanId
()
!=
null
)
{
BaseOrder
.
orderType
=
FoodSummaryConstans
.
SKYORDER
;
}
else
{
BaseOrder
.
orderType
=
FoodSummaryConstans
.
RESTAURANT_MODE
;
}
mRootView
.
startMealStandActivity
();
mRootView
.
startMealStandActivity
();
}
else
{
}
else
{
CommonTipDialog
.
showSurpisedDialog
(
IActivity
,
respose
.
getErrMsg
(),
null
,
null
,
null
,
null
,
null
);
CommonTipDialog
.
showSurpisedDialog
(
IActivity
,
respose
.
getErrMsg
(),
null
,
null
,
null
,
null
,
null
);
...
@@ -530,6 +538,9 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
...
@@ -530,6 +538,9 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
originalTableName
=
tableBean
.
getTableName
();
originalTableName
=
tableBean
.
getTableName
();
originalTableId
=
tableBean
.
getId
();
originalTableId
=
tableBean
.
getId
();
originalTableNumber
=
tableBean
.
getTableNumber
();
originalTableNumber
=
tableBean
.
getTableNumber
();
if
(
tableBean
.
getScanId
()
!=
null
)
{
originalScanId
=
tableBean
.
getScanId
().
longValue
();
}
mRootView
.
setTableActionContentText
(
"由: "
+
originalTableName
+
" 轉到 "
);
mRootView
.
setTableActionContentText
(
"由: "
+
originalTableName
+
" 轉到 "
);
}
else
{
}
else
{
if
(
tableBean
.
getUseStatus
()
==
1
)
{
if
(
tableBean
.
getUseStatus
()
==
1
)
{
...
@@ -554,13 +565,14 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
...
@@ -554,13 +565,14 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
});
});
}
}
public
void
turnTable
(
long
originalTableId
,
long
targetTableId
,
String
tableNumber
,
String
targetTableNumber
,
boolean
isMergeTable
)
{
public
void
turnTable
(
long
originalTableId
,
long
targetTableId
,
String
tableNumber
,
String
targetTableNumber
,
long
originalScanId
,
boolean
isMergeTable
)
{
RequestBody
requestBody
=
new
FormBody
.
Builder
()
RequestBody
requestBody
=
new
FormBody
.
Builder
()
.
add
(
"id"
,
String
.
valueOf
(
originalTableId
))
.
add
(
"id"
,
String
.
valueOf
(
originalTableId
))
.
add
(
"tableId"
,
String
.
valueOf
(
targetTableId
))
.
add
(
"tableId"
,
String
.
valueOf
(
targetTableId
))
.
add
(
"tableNumber"
,
tableNumber
)
.
add
(
"tableNumber"
,
tableNumber
)
.
add
(
"targetTableNumber"
,
targetTableNumber
)
.
add
(
"targetTableNumber"
,
targetTableNumber
)
.
add
(
"scanId"
,
String
.
valueOf
(
originalScanId
))
.
build
();
.
build
();
mModel
.
turnTable
(
requestBody
)
mModel
.
turnTable
(
requestBody
)
...
@@ -866,7 +878,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
...
@@ -866,7 +878,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
@Override
@Override
public
void
onClick
(
QMUIDialog
dialog
,
int
index
)
{
public
void
onClick
(
QMUIDialog
dialog
,
int
index
)
{
dialog
.
dismiss
();
dialog
.
dismiss
();
turnTable
(
originalTableId
,
targetTableId
,
originalTableNumber
,
targetTableNumber
,
finalIsMergeTable
);
turnTable
(
originalTableId
,
targetTableId
,
originalTableNumber
,
targetTableNumber
,
originalScanId
,
finalIsMergeTable
);
}
}
});
});
dialogBuilder
.
addAction
(
"取消"
,
new
QMUIDialogAction
.
ActionListener
()
{
dialogBuilder
.
addAction
(
"取消"
,
new
QMUIDialogAction
.
ActionListener
()
{
...
@@ -915,7 +927,6 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
...
@@ -915,7 +927,6 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
*/
*/
public
boolean
doTableAction
(
TableBean
.
DataBean
dataBean
)
{
public
boolean
doTableAction
(
TableBean
.
DataBean
dataBean
)
{
if
(
mTableAction
!=
null
)
{
if
(
mTableAction
!=
null
)
{
mTableAction
.
action
(
dataBean
);
mTableAction
.
setActionListener
(
new
TableAction
.
OnActionListener
()
{
mTableAction
.
setActionListener
(
new
TableAction
.
OnActionListener
()
{
@Override
@Override
...
@@ -966,6 +977,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
...
@@ -966,6 +977,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
mRootView
.
canceTableAction
();
mRootView
.
canceTableAction
();
}
}
});
});
mTableAction
.
action
(
dataBean
);
return
true
;
return
true
;
}
}
return
false
;
return
false
;
...
@@ -978,6 +990,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
...
@@ -978,6 +990,7 @@ public class TablePresenter extends BasePresenter<TableContract.Model, TableCont
originalTableName
=
""
;
originalTableName
=
""
;
originalTableId
=
0
;
originalTableId
=
0
;
originalTableNumber
=
""
;
originalTableNumber
=
""
;
originalScanId
=
0
;
targetTableName
=
""
;
targetTableName
=
""
;
targetTableId
=
0
;
targetTableId
=
0
;
targetTableNumber
=
""
;
targetTableNumber
=
""
;
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/MealStandActivity.java
View file @
c4e6855d
...
@@ -28,6 +28,7 @@ import androidx.annotation.Nullable;
...
@@ -28,6 +28,7 @@ import androidx.annotation.Nullable;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.FragmentManager
;
import
androidx.fragment.app.FragmentManager
;
import
androidx.recyclerview.widget.DefaultItemAnimator
;
import
androidx.recyclerview.widget.DefaultItemAnimator
;
import
androidx.recyclerview.widget.DividerItemDecoration
;
import
androidx.recyclerview.widget.GridLayoutManager
;
import
androidx.recyclerview.widget.GridLayoutManager
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
androidx.recyclerview.widget.RecyclerView
;
...
@@ -38,7 +39,9 @@ import com.gingersoft.gsa.cloud.app.GsaCloudApplication;
...
@@ -38,7 +39,9 @@ import com.gingersoft.gsa.cloud.app.GsaCloudApplication;
import
com.gingersoft.gsa.cloud.base.common.bean.MemberInfo
;
import
com.gingersoft.gsa.cloud.base.common.bean.MemberInfo
;
import
com.gingersoft.gsa.cloud.base.order.bean.response.OrderResponse
;
import
com.gingersoft.gsa.cloud.base.order.bean.response.OrderResponse
;
import
com.gingersoft.gsa.cloud.base.order.billItem.BillItem
;
import
com.gingersoft.gsa.cloud.base.order.billItem.BillItem
;
import
com.gingersoft.gsa.cloud.base.order.cart.ShoppingCart
;
import
com.gingersoft.gsa.cloud.base.order.commodity.OrderDetail
;
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.order.order.BaseOrder
;
import
com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.base.order.order.DoshokuOrder
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableBean
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableBean
;
...
@@ -74,6 +77,10 @@ import com.gingersoft.gsa.cloud.ui.view.SearchKeyBoardView;
...
@@ -74,6 +77,10 @@ import com.gingersoft.gsa.cloud.ui.view.SearchKeyBoardView;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.CommonTipDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.LoadingDialog
;
import
com.gingersoft.gsa.cloud.zxing.MipcaCaptureActivity
;
import
com.gingersoft.gsa.cloud.zxing.MipcaCaptureActivity
;
import
com.google.android.flexbox.FlexDirection
;
import
com.google.android.flexbox.FlexWrap
;
import
com.google.android.flexbox.FlexboxLayoutManager
;
import
com.google.android.flexbox.JustifyContent
;
import
com.jess.arms.base.BaseFragmentActivity
;
import
com.jess.arms.base.BaseFragmentActivity
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.di.component.AppComponent
;
import
com.jess.arms.di.component.AppComponent
;
...
@@ -315,7 +322,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
...
@@ -315,7 +322,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
}
}
mPresenter
.
toFindMeal
(
inputText
);
mPresenter
.
toFindMeal
(
inputText
);
});
});
if
(
BaseOrder
.
is
CurrentOrderType
(
FoodSummaryConstans
.
RESTAURANT_MODE
)
&&
!
DoshokuOrder
.
getInstance
().
isModifyOrder
())
{
if
(
BaseOrder
.
is
TableToMeal
(
)
&&
!
DoshokuOrder
.
getInstance
().
isModifyOrder
())
{
//根据倒计时时间自动退出当前页面
//根据倒计时时间自动退出当前页面
initAutoQuit
();
initAutoQuit
();
}
}
...
@@ -352,7 +359,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
...
@@ -352,7 +359,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
mPresenter
.
resetSelected
();
mPresenter
.
resetSelected
();
mPresenter
.
updateOrderFoodNumber
();
mPresenter
.
updateOrderFoodNumber
();
mPresenter
.
updateFoodSoldoutCtrData
();
mPresenter
.
updateFoodSoldoutCtrData
();
if
(
BaseOrder
.
is
CurrentOrderType
(
FoodSummaryConstans
.
RESTAURANT_MODE
)
&&
DoshokuOrder
.
getInstance
().
getMemberInfo
()
!=
null
)
{
if
(
BaseOrder
.
is
TableToMeal
(
)
&&
DoshokuOrder
.
getInstance
().
getMemberInfo
()
!=
null
)
{
useMember
();
useMember
();
}
}
initOrderDetail
();
initOrderDetail
();
...
@@ -619,9 +626,11 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
...
@@ -619,9 +626,11 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
dialog
.
dismiss
();
dialog
.
dismiss
();
DoshokuOrder
.
getInstance
().
setMemberInfo
(
mMemberInfo
);
DoshokuOrder
.
getInstance
().
setMemberInfo
(
mMemberInfo
);
//添加会员折扣行
//添加会员折扣行
mPresenter
.
getShoppingCart
()
ShoppingCart
shoppingCart
=
mPresenter
.
getShoppingCart
();
.
addMultyDiscount
(
mPresenter
.
getShoppingCart
()
MultyDiscount
multyDiscount
=
shoppingCart
.
createMemberDiscount
(
mMemberInfo
,
BillItem
.
BILL_ITEM_NO_ORDER_STATUS
);
.
createMemberDiscount
(
mMemberInfo
,
BillItem
.
BILL_ITEM_NO_ORDER_STATUS
));
shoppingCart
.
addMultyDiscount
(
multyDiscount
);
mPresenter
.
updateBillInfo
();
useMember
();
useMember
();
...
@@ -652,16 +661,17 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
...
@@ -652,16 +661,17 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
}
}
}
}
});
});
mUseMemberDialog
.
build
();
}
}
mUseMemberDialog
.
setMemberInfo
(
DoshokuOrder
.
getInstance
().
getMemberInfo
());
mUseMemberDialog
.
setMemberInfo
(
DoshokuOrder
.
getInstance
().
getMemberInfo
());
mUseMemberDialog
.
build
().
show
();
mUseMemberDialog
.
show
();
}
}
@Override
@Override
public
void
updateMemberInfo
(
MemberInfo
memberInfo
)
{
public
void
updateMemberInfo
(
MemberInfo
memberInfo
)
{
this
.
mMemberInfo
=
memberInfo
;
this
.
mMemberInfo
=
memberInfo
;
if
(
mUseMemberDialog
!=
null
)
{
if
(
mUseMemberDialog
!=
null
)
{
mUseMemberDialog
.
update
MemberInfo
(
memberInfo
);
mUseMemberDialog
.
set
MemberInfo
(
memberInfo
);
}
}
}
}
...
@@ -705,7 +715,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
...
@@ -705,7 +715,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
//防抖處理
//防抖處理
int
id
=
v
.
getId
();
int
id
=
v
.
getId
();
if
(
id
==
R
.
id
.
btn_numberman
)
{
if
(
id
==
R
.
id
.
btn_numberman
)
{
if
(
BaseOrder
.
is
CurrentOrderType
(
FoodSummaryConstans
.
TAKEAWAY_TYPE
))
{
if
(
BaseOrder
.
is
TableToMeal
(
))
{
return
;
return
;
}
}
showChoosePeopleNumDialog
(
true
);
showChoosePeopleNumDialog
(
true
);
...
@@ -780,7 +790,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
...
@@ -780,7 +790,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
case
3
:
case
3
:
case
4
:
case
4
:
case
5
:
case
5
:
if
(
BuildConfig
.
DEBUG
&&
BaseOrder
.
is
CurrentOrderType
(
FoodSummaryConstans
.
RESTAURANT_MODE
))
{
if
(
BuildConfig
.
DEBUG
&&
BaseOrder
.
is
TableToMeal
(
))
{
if
(
i
==
1
)
{
if
(
i
==
1
)
{
OrderResponse
order
=
DoshokuOrder
.
getInstance
().
getOrderPlaced
();
OrderResponse
order
=
DoshokuOrder
.
getInstance
().
getOrderPlaced
();
if
(
order
!=
null
)
{
if
(
order
!=
null
)
{
...
@@ -823,7 +833,6 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
...
@@ -823,7 +833,6 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
}
else
if
(
id
==
R
.
id
.
iv_fine_back
)
{
}
else
if
(
id
==
R
.
id
.
iv_fine_back
)
{
showViewModeVisibility
(
MealConstant
.
combo_ViewMode
);
showViewModeVisibility
(
MealConstant
.
combo_ViewMode
);
}
}
}
}
...
@@ -835,14 +844,12 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
...
@@ -835,14 +844,12 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
public
void
returnTableActivity
(
boolean
initTable
)
{
public
void
returnTableActivity
(
boolean
initTable
)
{
if
(
mPresenter
.
hasNesOrderFoods
())
{
if
(
mPresenter
.
hasNesOrderFoods
())
{
if
(
mPresenter
.
hasNesOrderFoods
())
{
//没有过重复下单提示且有未送单食品,提示用户
//没有过重复下单提示且有未送单食品,提示用户
String
tip
=
LanguageUtils
.
get_language_system
(
this
,
"food.not.delivered.tip"
,
"有食品未送單, 確認離開?"
);
String
tip
=
LanguageUtils
.
get_language_system
(
this
,
"food.not.delivered.tip"
,
"有食品未送單, 確認離開?"
);
Class
[]
parameterTypes
=
{
boolean
.
class
};
Class
[]
parameterTypes
=
{
boolean
.
class
};
Object
[]
parameters
=
{
initTable
};
Object
[]
parameters
=
{
initTable
};
CommonTipDialog
.
showSurpisedDialog
(
this
,
tip
,
MealStandActivity
.
class
,
this
,
CommonTipDialog
.
showSurpisedDialog
(
this
,
tip
,
MealStandActivity
.
class
,
this
,
"returnBeforeActivity"
,
parameterTypes
,
parameters
);
"returnBeforeActivity"
,
parameterTypes
,
parameters
);
}
}
else
{
}
else
{
returnBeforeActivity
(
initTable
);
returnBeforeActivity
(
initTable
);
}
}
...
@@ -850,10 +857,12 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
...
@@ -850,10 +857,12 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
public
void
returnBeforeActivity
(
boolean
initTable
)
{
public
void
returnBeforeActivity
(
boolean
initTable
)
{
SPUtils
.
put
(
MealConstant
.
EXIT_IS_PLU_MODE
,
isPluMode
);
SPUtils
.
put
(
MealConstant
.
EXIT_IS_PLU_MODE
,
isPluMode
);
if
(
BaseOrder
.
is
CurrentOrderType
(
FoodSummaryConstans
.
RESTAURANT_MODE
)
&&
initTable
&&
!
DoshokuOrder
.
getInstance
().
isModifyOrder
())
{
if
(
BaseOrder
.
is
TableToMeal
(
)
&&
initTable
&&
!
DoshokuOrder
.
getInstance
().
isModifyOrder
())
{
TableBean
.
DataBean
dataBean
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
TableBean
.
DataBean
dataBean
=
DoshokuOrder
.
getInstance
().
getOpenTableInfo
();
//通知更新餐台状态
if
(
dataBean
!=
null
)
{
EventBus
.
getDefault
().
post
(
new
InitTableEvent
(
dataBean
.
getId
(),
dataBean
.
getTableNumber
()),
"initTable_status_event"
);
//通知更新餐台状态
EventBus
.
getDefault
().
post
(
new
InitTableEvent
(
dataBean
.
getId
(),
dataBean
.
getTableNumber
()),
"initTable_status_event"
);
}
}
}
killMyself
();
killMyself
();
}
}
...
@@ -1036,7 +1045,16 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
...
@@ -1036,7 +1045,16 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
@Override
@Override
public
void
setDiscountRecycleLayoutManager
(
int
orientation
)
{
public
void
setDiscountRecycleLayoutManager
(
int
orientation
)
{
FlexboxLayoutManager
flexboxLayoutManager
=
new
FlexboxLayoutManager
(
mContext
);
//主轴为水平方向,起点在左端。
flexboxLayoutManager
.
setFlexDirection
(
FlexDirection
.
ROW
);
//按正常方向换行
flexboxLayoutManager
.
setFlexWrap
(
FlexWrap
.
WRAP
);
//交叉轴的起点对齐。
flexboxLayoutManager
.
setJustifyContent
(
JustifyContent
.
FLEX_START
);
discountRecycleLayoutManager
=
new
GridLayoutManager
(
this
,
1
,
LinearLayoutManager
.
VERTICAL
,
false
);
discountRecycleLayoutManager
=
new
GridLayoutManager
(
this
,
1
,
LinearLayoutManager
.
VERTICAL
,
false
);
// rv_discount.addItemDecoration(new DividerItemDecoration(mContext, ArmsUtils.getColor(mContext, R.color.theme_white_color)));
rv_discount
.
setLayoutManager
(
discountRecycleLayoutManager
);
rv_discount
.
setLayoutManager
(
discountRecycleLayoutManager
);
rv_discount
.
setItemAnimator
(
new
DefaultItemAnimator
());
rv_discount
.
setItemAnimator
(
new
DefaultItemAnimator
());
}
}
...
@@ -1046,19 +1064,6 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
...
@@ -1046,19 +1064,6 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
DecimalFormat
df
=
new
DecimalFormat
(
"###.00"
);
DecimalFormat
df
=
new
DecimalFormat
(
"###.00"
);
String
span
=
df
.
format
((
double
)
size
/
foodGroupColumn
);
String
span
=
df
.
format
((
double
)
size
/
foodGroupColumn
);
int
spanCount
=
(
int
)
Math
.
ceil
(
Double
.
parseDouble
(
span
));
//33.333
int
spanCount
=
(
int
)
Math
.
ceil
(
Double
.
parseDouble
(
span
));
//33.333
boolean
twoRow
=
spanCount
>
1
&&
spanCount
<
2
||
spanCount
==
2
;
// if (size <= foodGroupColumn) {
// setFoodGroupRecycleLayoutManager(GridLayoutManager.HORIZONTAL);
// foodGroupRecycleLayoutManager.setSpanCount(1);
// } else if (twoRow) {
// setFoodGroupRecycleLayoutManager(GridLayoutManager.VERTICAL);
// foodGroupRecycleLayoutManager.setSpanCount(foodGroupColumn);
// } else {
// setFoodGroupRecycleLayoutManager(GridLayoutManager.HORIZONTAL);
// foodGroupRecycleLayoutManager.setSpanCount(foodGroupColumn);
// }
}
}
@Override
@Override
...
@@ -1195,7 +1200,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
...
@@ -1195,7 +1200,7 @@ public class MealStandActivity extends BaseFragmentActivity<MealStandPresenter>
@Override
@Override
public
void
initLayoutVisible
()
{
public
void
initLayoutVisible
()
{
if
(
BaseOrder
.
is
CurrentOrderType
(
FoodSummaryConstans
.
RESTAURANT_MODE
)
&&
DoshokuOrder
.
getInstance
().
isModifyOrder
())
{
if
(
BaseOrder
.
is
TableToMeal
(
)
&&
DoshokuOrder
.
getInstance
().
isModifyOrder
())
{
//修改訂單隱藏送單功能
//修改訂單隱藏送單功能
fl_send_order
.
setVisibility
(
View
.
GONE
);
fl_send_order
.
setVisibility
(
View
.
GONE
);
}
}
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderContentActivity.java
View file @
c4e6855d
...
@@ -195,9 +195,9 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
...
@@ -195,9 +195,9 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
mPresenter
.
initTopFunctionData
();
mPresenter
.
initTopFunctionData
();
mPresenter
.
initAdapter
();
mPresenter
.
initAdapter
();
mPresenter
.
initItemListener
();
mPresenter
.
initItemListener
();
initTopInfo
(
BaseOrder
.
orderType
);
initTopInfo
();
initOrderBill
(
mPresenter
.
getFoodTotal
(),
mPresenter
.
getTotalAmount
());
initOrderBill
(
mPresenter
.
getFoodTotal
(),
mPresenter
.
getTotalAmount
());
if
(
BaseOrder
.
is
CurrentOrderType
(
FoodSummaryConstans
.
RESTAURANT_MODE
)
&&
!
DoshokuOrder
.
getInstance
().
isModifyOrder
())
{
if
(
BaseOrder
.
is
TableToMeal
(
)
&&
!
DoshokuOrder
.
getInstance
().
isModifyOrder
())
{
//根据倒计时时间自动退出当前页面
//根据倒计时时间自动退出当前页面
initAutoQuit
();
initAutoQuit
();
}
}
...
@@ -215,8 +215,13 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
...
@@ -215,8 +215,13 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
tv_total
.
setText
(
"$"
+
totalAmount
);
tv_total
.
setText
(
"$"
+
totalAmount
);
}
}
private
void
initTopInfo
(
int
orderType
)
{
private
void
initTopInfo
()
{
if
(
orderType
==
FoodSummaryConstans
.
RESTAURANT_MODE
)
{
if
(
BaseOrder
.
isCurrentOrderType
(
FoodSummaryConstans
.
TAKEAWAY_TYPE
))
{
btn_table
.
setText
(
"外賣"
);
btn_people_num
.
setText
(
"1"
);
tv_time
.
setText
(
"時間:"
+
TimeUtils
.
getCurrentDate
(
TimeUtils
.
DATE_FORMAT_DATE_HM
));
tv_server_main
.
setText
(
""
);
}
else
{
TableBean
.
DataBean
tableInfo
=
mDoshokuOrder
.
getOpenTableInfo
();
TableBean
.
DataBean
tableInfo
=
mDoshokuOrder
.
getOpenTableInfo
();
Date
dd
=
mDoshokuOrder
.
getOpenTableTime
();
Date
dd
=
mDoshokuOrder
.
getOpenTableTime
();
String
openTime
=
String
.
format
(
"%tH:%tM"
,
dd
,
dd
);
String
openTime
=
String
.
format
(
"%tH:%tM"
,
dd
,
dd
);
...
@@ -230,11 +235,6 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
...
@@ -230,11 +235,6 @@ public class OrderContentActivity extends BaseFragmentActivity<OrderContentPrese
btn_people_num
.
setText
(
tableInfo
.
getPerson
()
+
""
);
btn_people_num
.
setText
(
tableInfo
.
getPerson
()
+
""
);
tv_time
.
setText
(
"時間:"
+
openTime
);
tv_time
.
setText
(
"時間:"
+
openTime
);
tv_server_main
.
setText
(
GsaCloudApplication
.
getMemberName
());
tv_server_main
.
setText
(
GsaCloudApplication
.
getMemberName
());
}
else
if
(
orderType
==
FoodSummaryConstans
.
TAKEAWAY_TYPE
)
{
btn_table
.
setText
(
"外賣"
);
btn_people_num
.
setText
(
"1"
);
tv_time
.
setText
(
"時間:"
+
TimeUtils
.
getCurrentDate
(
TimeUtils
.
DATE_FORMAT_DATE_HM
));
tv_server_main
.
setText
(
""
);
}
}
}
}
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderPayActivity.java
View file @
c4e6855d
...
@@ -118,13 +118,6 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
...
@@ -118,13 +118,6 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
context
.
startActivity
(
intent
);
context
.
startActivity
(
intent
);
}
}
public
static
void
startOrderPayActivityFormRefund
(
Context
context
,
String
response
)
{
Intent
intent
=
new
Intent
(
context
,
OrderPayActivity
.
class
);
intent
.
setAction
(
"REFUND_RESP"
);
intent
.
putExtra
(
"REFUND_DATA"
,
response
);
context
.
startActivity
(
intent
);
}
@Override
@Override
public
void
setupActivityComponent
(
@NonNull
AppComponent
appComponent
)
{
public
void
setupActivityComponent
(
@NonNull
AppComponent
appComponent
)
{
DaggerOrderPayComponent
//如找不到该类,请编译一下项目
DaggerOrderPayComponent
//如找不到该类,请编译一下项目
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/TableActivity.java
View file @
c4e6855d
...
@@ -13,10 +13,9 @@ import android.widget.SimpleAdapter;
...
@@ -13,10 +13,9 @@ import android.widget.SimpleAdapter;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
com.billy.cc.core.component.CC
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.base.order.order.BaseOrder
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableBean
;
import
com.gingersoft.gsa.cloud.base.table.bean.TableBean
;
import
com.gingersoft.gsa.cloud.base.utils.log.LogUtil
;
import
com.gingersoft.gsa.cloud.base.utils.log.LogUtil
;
import
com.gingersoft.gsa.cloud.
constans.FoodSummaryConstan
s
;
import
com.gingersoft.gsa.cloud.
logan.LoganUtil
s
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerTableComponent
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerTableComponent
;
...
@@ -58,7 +57,6 @@ import java.util.Map;
...
@@ -58,7 +57,6 @@ import java.util.Map;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.annotation.Nullable
;
import
androidx.constraintlayout.widget.ConstraintLayout
;
import
androidx.core.content.ContextCompat
;
import
androidx.core.content.ContextCompat
;
import
androidx.fragment.app.Fragment
;
import
androidx.fragment.app.Fragment
;
import
androidx.recyclerview.widget.DefaultItemAnimator
;
import
androidx.recyclerview.widget.DefaultItemAnimator
;
...
@@ -226,6 +224,7 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
...
@@ -226,6 +224,7 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
.
addParam
(
"fromPage"
,
2
)
.
addParam
(
"fromPage"
,
2
)
.
build
()
.
build
()
.
call
();
.
call
();
LoganUtils
.
uploadLog
(
mContext
,
true
);
}
}
});
});
mTopBar
.
setTitle
(
"餐檯模式"
);
mTopBar
.
setTitle
(
"餐檯模式"
);
...
@@ -382,7 +381,6 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
...
@@ -382,7 +381,6 @@ public class TableActivity extends BaseFragmentActivity<TablePresenter> implemen
@Override
@Override
public
void
startMealStandActivity
()
{
public
void
startMealStandActivity
()
{
BaseOrder
.
orderType
=
FoodSummaryConstans
.
RESTAURANT_MODE
;
startActivity
(
new
Intent
(
this
,
MealStandActivity
.
class
));
startActivity
(
new
Intent
(
this
,
MealStandActivity
.
class
));
}
}
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/BillItemAdapter.java
View file @
c4e6855d
...
@@ -9,6 +9,7 @@ import android.widget.TextView;
...
@@ -9,6 +9,7 @@ import android.widget.TextView;
import
com.gingersoft.gsa.cloud.base.order.billItem.BillOrderMoney
;
import
com.gingersoft.gsa.cloud.base.order.billItem.BillOrderMoney
;
import
com.gingersoft.gsa.cloud.base.order.billItem.BillItem
;
import
com.gingersoft.gsa.cloud.base.order.billItem.BillItem
;
import
com.gingersoft.gsa.cloud.base.order.billItem.ServiceChargeItem
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderContentActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.OrderContentActivity
;
...
@@ -96,7 +97,7 @@ public class BillItemAdapter extends DefaultAdapter<BillItem> {
...
@@ -96,7 +97,7 @@ public class BillItemAdapter extends DefaultAdapter<BillItem> {
tv_money
.
setText
(
cashStr
+
datasBean
.
getMoney
());
tv_money
.
setText
(
cashStr
+
datasBean
.
getMoney
());
}
}
if
(
datasBean
.
getType
()
==
BillOrderMoney
.
SERVERCHARGE_TYPE
)
{
if
(
datasBean
instanceof
ServiceChargeItem
)
{
if
(
isUseFreeServicePayMethod
)
{
if
(
isUseFreeServicePayMethod
)
{
// 中划线
// 中划线
tv_title
.
getPaint
().
setFlags
(
Paint
.
STRIKE_THRU_TEXT_FLAG
|
Paint
.
ANTI_ALIAS_FLAG
);
tv_title
.
getPaint
().
setFlags
(
Paint
.
STRIKE_THRU_TEXT_FLAG
|
Paint
.
ANTI_ALIAS_FLAG
);
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/TableAdapter.java
View file @
c4e6855d
...
@@ -152,8 +152,6 @@ public class TableAdapter extends DefaultAdapter<TableBean.DataBean> {
...
@@ -152,8 +152,6 @@ public class TableAdapter extends DefaultAdapter<TableBean.DataBean> {
int
person
=
0
;
int
person
=
0
;
if
(
item
.
getPerson
()
!=
0
)
{
if
(
item
.
getPerson
()
!=
0
)
{
person
=
item
.
getPerson
();
person
=
item
.
getPerson
();
}
else
{
person
=
item
.
getSeatCount
();
}
}
tv_people
.
setVisibility
(
View
.
VISIBLE
);
tv_people
.
setVisibility
(
View
.
VISIBLE
);
tv_people
.
setText
(
person
+
"人"
);
tv_people
.
setText
(
person
+
"人"
);
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/DiscountAdapter.java
View file @
c4e6855d
...
@@ -5,7 +5,9 @@ import android.graphics.Color;
...
@@ -5,7 +5,9 @@ import android.graphics.Color;
import
android.text.TextUtils
;
import
android.text.TextUtils
;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
android.widget.FrameLayout
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
com.gingersoft.gsa.cloud.app.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.app.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R
;
...
@@ -14,7 +16,9 @@ import com.gingersoft.gsa.cloud.ui.view.BeveLabelView;
...
@@ -14,7 +16,9 @@ import com.gingersoft.gsa.cloud.ui.view.BeveLabelView;
import
com.jess.arms.base.BaseHolder
;
import
com.jess.arms.base.BaseHolder
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.base.DefaultAdapter
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.jess.arms.utils.ArmsUtils
;
import
java.util.List
;
import
java.util.List
;
import
butterknife.BindView
;
import
butterknife.BindView
;
/**
/**
...
@@ -56,6 +60,8 @@ public class DiscountAdapter extends DefaultAdapter<Discount> {
...
@@ -56,6 +60,8 @@ public class DiscountAdapter extends DefaultAdapter<Discount> {
class
DiscountItemHolder
extends
BaseHolder
<
Discount
>
{
class
DiscountItemHolder
extends
BaseHolder
<
Discount
>
{
@BindView
(
R2
.
id
.
rl_container
)
FrameLayout
rl_container
;
@BindView
(
R2
.
id
.
tv_name
)
@BindView
(
R2
.
id
.
tv_name
)
TextView
tv_name
;
TextView
tv_name
;
@BindView
(
R2
.
id
.
blv_soldout
)
@BindView
(
R2
.
id
.
blv_soldout
)
...
@@ -92,10 +98,10 @@ public class DiscountAdapter extends DefaultAdapter<Discount> {
...
@@ -92,10 +98,10 @@ public class DiscountAdapter extends DefaultAdapter<Discount> {
private
void
setColor
(
Discount
datasBean
)
{
private
void
setColor
(
Discount
datasBean
)
{
String
colorRes
=
datasBean
.
getColor
();
String
colorRes
=
datasBean
.
getColor
();
if
(!
TextUtils
.
isEmpty
(
colorRes
)
&&
colorRes
.
startsWith
(
"#"
))
{
if
(!
TextUtils
.
isEmpty
(
colorRes
)
&&
colorRes
.
startsWith
(
"#"
))
{
tv_name
.
setBackgroundColor
(
Color
.
parseColor
(
colorRes
));
rl_container
.
setBackgroundColor
(
Color
.
parseColor
(
colorRes
));
}
else
{
}
else
{
int
color
=
ArmsUtils
.
getColor
(
mContext
,
R
.
color
.
light_blue_900
);
int
color
=
ArmsUtils
.
getColor
(
mContext
,
R
.
color
.
light_blue_900
);
tv_name
.
setBackgroundColor
(
color
);
rl_container
.
setBackgroundColor
(
color
);
}
}
int
fontColor
=
ArmsUtils
.
getColor
(
mContext
,
R
.
color
.
theme_white_color
);
int
fontColor
=
ArmsUtils
.
getColor
(
mContext
,
R
.
color
.
theme_white_color
);
tv_name
.
setTextColor
(
fontColor
);
tv_name
.
setTextColor
(
fontColor
);
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/meal/SelectMealAdapter.java
View file @
c4e6855d
...
@@ -195,10 +195,20 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
...
@@ -195,10 +195,20 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
tv_discount_money
.
setVisibility
(
View
.
INVISIBLE
);
tv_discount_money
.
setVisibility
(
View
.
INVISIBLE
);
if
(
datasBean
.
isModify
())
{
if
(
datasBean
.
isModify
())
{
if
(
datasBean
.
getType
()
==
OrderDetail
.
MODIFIER_TYPE
)
{
RelativeLayout
.
LayoutParams
layoutParams
=
(
RelativeLayout
.
LayoutParams
)
tv_number
.
getLayoutParams
();
layoutParams
.
rightMargin
=
ArmsUtils
.
getDimens
(
mContext
,
R
.
dimen
.
dp_15
);
tv_number
.
setLayoutParams
(
layoutParams
);
}
tv_modify_before_number
.
setText
(
String
.
valueOf
(
datasBean
.
getModifyBeforeNumber
()));
tv_modify_before_number
.
setText
(
String
.
valueOf
(
datasBean
.
getModifyBeforeNumber
()));
tv_modify_before_number
.
setVisibility
(
View
.
VISIBLE
);
tv_modify_before_number
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
}
else
{
tv_modify_before_number
.
setVisibility
(
View
.
INVISIBLE
);
tv_modify_before_number
.
setVisibility
(
View
.
INVISIBLE
);
if
(
datasBean
.
getType
()
==
OrderDetail
.
MODIFIER_TYPE
)
{
RelativeLayout
.
LayoutParams
layoutParams
=
(
RelativeLayout
.
LayoutParams
)
tv_number
.
getLayoutParams
();
layoutParams
.
rightMargin
=
0
;
tv_number
.
setLayoutParams
(
layoutParams
);
}
}
}
}
}
...
@@ -632,8 +642,9 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
...
@@ -632,8 +642,9 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
* @return
* @return
*/
*/
private
boolean
hasChild3Food
(
OrderDetail
orderDetail
)
{
private
boolean
hasChild3Food
(
OrderDetail
orderDetail
)
{
if
(
orderDetail
.
getItemType
()
==
3
)
if
(
orderDetail
.
getItemType
()
==
3
)
{
return
false
;
return
false
;
}
for
(
int
i
=
0
;
i
<
mInfos
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
mInfos
.
size
();
i
++)
{
if
(
mInfos
.
get
(
i
).
getItemType
()
==
3
&&
mInfos
.
get
(
i
).
getParentIndex
()
==
orderDetail
.
getMyIndex
())
{
if
(
mInfos
.
get
(
i
).
getItemType
()
==
3
&&
mInfos
.
get
(
i
).
getParentIndex
()
==
orderDetail
.
getMyIndex
())
{
return
true
;
return
true
;
...
@@ -643,8 +654,9 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
...
@@ -643,8 +654,9 @@ public class SelectMealAdapter extends DefaultAdapter<OrderDetail> {
}
}
public
boolean
hasChildFood
(
OrderDetail
orderDetail
)
{
public
boolean
hasChildFood
(
OrderDetail
orderDetail
)
{
if
(
orderDetail
.
getItemType
()
==
3
)
if
(
orderDetail
.
getItemType
()
==
3
)
{
return
false
;
return
false
;
}
for
(
int
i
=
0
;
i
<
mInfos
.
size
();
i
++)
{
for
(
int
i
=
0
;
i
<
mInfos
.
size
();
i
++)
{
if
(
mInfos
.
get
(
i
).
getParentIndex
()
==
orderDetail
.
getMyIndex
())
{
if
(
mInfos
.
get
(
i
).
getParentIndex
()
==
orderDetail
.
getMyIndex
())
{
return
true
;
return
true
;
...
...
table-module/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/widget/UseMemberDialog.java
View file @
c4e6855d
...
@@ -71,8 +71,6 @@ public class UseMemberDialog extends Dialog {
...
@@ -71,8 +71,6 @@ public class UseMemberDialog extends Dialog {
private
MemberInfoAdapter
mMemberInfoAdapter
;
private
MemberInfoAdapter
mMemberInfoAdapter
;
private
List
<
SectionTextItem
>
mMemberInfoList
;
private
List
<
SectionTextItem
>
mMemberInfoList
;
private
MemberInfo
memberInfo
;
public
UseMemberDialog
(
Context
context
)
{
public
UseMemberDialog
(
Context
context
)
{
super
(
context
,
R
.
style
.
QMUI_BottomSheet
);
super
(
context
,
R
.
style
.
QMUI_BottomSheet
);
...
@@ -206,7 +204,6 @@ public class UseMemberDialog extends Dialog {
...
@@ -206,7 +204,6 @@ public class UseMemberDialog extends Dialog {
public
UseMemberDialog
build
()
{
public
UseMemberDialog
build
()
{
View
contentView
=
buildViews
();
View
contentView
=
buildViews
();
setContentView
(
contentView
,
new
LinearLayout
.
LayoutParams
(
ViewGroup
.
LayoutParams
.
MATCH_PARENT
,
(
int
)
(
QMUIDisplayHelper
.
getScreenHeight
(
mContext
)
*
0.65
)));
setContentView
(
contentView
,
new
LinearLayout
.
LayoutParams
(
ViewGroup
.
LayoutParams
.
MATCH_PARENT
,
(
int
)
(
QMUIDisplayHelper
.
getScreenHeight
(
mContext
)
*
0.65
)));
updateMemberInfo
(
memberInfo
);
return
this
;
return
this
;
}
}
...
@@ -297,7 +294,7 @@ public class UseMemberDialog extends Dialog {
...
@@ -297,7 +294,7 @@ public class UseMemberDialog extends Dialog {
};
};
}
}
public
void
update
MemberInfo
(
MemberInfo
memberInfo
)
{
public
void
set
MemberInfo
(
MemberInfo
memberInfo
)
{
if
(
memberInfo
!=
null
)
{
if
(
memberInfo
!=
null
)
{
if
(
mMemberInfoList
==
null
)
{
if
(
mMemberInfoList
==
null
)
{
mMemberInfoList
=
new
ArrayList
<>();
mMemberInfoList
=
new
ArrayList
<>();
...
@@ -340,9 +337,6 @@ public class UseMemberDialog extends Dialog {
...
@@ -340,9 +337,6 @@ public class UseMemberDialog extends Dialog {
btn_scan
.
setVisibility
(!
show
?
View
.
VISIBLE
:
View
.
GONE
);
btn_scan
.
setVisibility
(!
show
?
View
.
VISIBLE
:
View
.
GONE
);
}
}
public
void
setMemberInfo
(
MemberInfo
memberInfo
)
{
this
.
memberInfo
=
memberInfo
;
}
private
String
getTvPhone
()
{
private
String
getTvPhone
()
{
return
ed_phone
.
getText
().
toString
();
return
ed_phone
.
getText
().
toString
();
...
...
table-module/src/main/res/layout/meal_item_discount.xml
View file @
c4e6855d
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<
com.qmuiteam.qmui.alpha.QMUIAlpha
FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:id=
"@+id/rl_container"
android:id=
"@+id/rl_container"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
android:layout_height=
"wrap_content"
android:padding=
"@dimen/dp_6"
>
<com.gingersoft.gsa.cloud.ui.view.BeveLabelView
<com.gingersoft.gsa.cloud.ui.view.BeveLabelView
android:id=
"@+id/blv_soldout"
android:id=
"@+id/blv_soldout"
...
@@ -20,17 +21,14 @@
...
@@ -20,17 +21,14 @@
<com.qmuiteam.qmui.alpha.QMUIAlphaTextView
<com.qmuiteam.qmui.alpha.QMUIAlphaTextView
android:id=
"@+id/tv_name"
android:id=
"@+id/tv_name"
android:layout_width=
"
match_par
ent"
android:layout_width=
"
wrap_cont
ent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"1px"
android:layout_marginRight=
"1px"
android:gravity=
"center"
android:gravity=
"center"
android:padding=
"@dimen/dp_2"
android:text=
"food"
android:text=
"food"
android:textAppearance=
"?android:attr/textAppearanceLarge"
android:textAppearance=
"?android:attr/textAppearanceLarge"
android:textColor=
"@color/theme_white_color"
android:textColor=
"@color/theme_white_color"
android:textSize=
"@dimen/sp_16"
/>
android:textSize=
"@dimen/sp_16"
/>
</FrameLayout>
</
com.qmuiteam.qmui.alpha.QMUIAlpha
FrameLayout>
table-module/src/main/res/layout/meal_item_select_meal_stand.xml
View file @
c4e6855d
...
@@ -183,7 +183,7 @@
...
@@ -183,7 +183,7 @@
android:text=
"30"
android:text=
"30"
android:textColor=
"@color/orange_200"
android:textColor=
"@color/orange_200"
android:textSize=
"@dimen/sp_16"
android:textSize=
"@dimen/sp_16"
android:visibility=
"
gon
e"
/>
android:visibility=
"
visibl
e"
/>
<TextView
<TextView
android:id=
"@+id/tv_number"
android:id=
"@+id/tv_number"
...
@@ -194,5 +194,4 @@
...
@@ -194,5 +194,4 @@
android:text=
"20"
android:text=
"20"
android:textColor=
"@color/theme_black"
android:textColor=
"@color/theme_black"
android:textSize=
"@dimen/sp_20"
/>
android:textSize=
"@dimen/sp_20"
/>
</RelativeLayout>
</RelativeLayout>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment