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
68af5eba
Commit
68af5eba
authored
Jan 14, 2021
by
宁斌
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1、餐台模式支付后黑屏问题,2、账单管理页面调整
parent
036909d4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
45 changed files
with
665 additions
and
357 deletions
+665
-357
cc/src/main/java/com/billy/cc/core/component/ComponentManager.java
+1
-1
component-main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/NewMainActivity.java
+4
-0
component-print/src/main/java/com/joe/print/PrintComponent.java
+4
-0
component-print/src/main/java/com/joe/print/mvp/print/PrintBill.java
+0
-47
component-print/src/main/java/com/joe/print/mvp/print/PrintQRCode.java
+16
-22
component-print/src/main/java/com/joe/print/mvp/print/PrintTest.java
+14
-14
component-print/src/main/java/com/joe/print/mvp/print/utils/BBposPrint.java
+58
-62
component-print/src/main/java/com/joe/print/mvp/ui/activity/PrintActivity.java
+1
-0
component-table/src/main/AndroidManifest.xml
+1
-0
component-table/src/main/debug/AndroidManifest.xml
+3
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/OnNetworkCallbackListener.java
+1
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/table/MoveTableAction.java
+1
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/table/PrintServingPaperAction.java
+2
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/table/PrintSkyorderAction.java
+9
-2
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/table/ResetSkyorderAction.java
+1
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/table/ResetTableAction.java
+1
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/table/SplitTableAction.java
+1
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/table/TableAction.java
+1
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/TableContract.java
+1
-1
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/bean/response/OrderManagerResponse.java
+13
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/TablePresenter.java
+8
-8
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/orderManager/AllOrderPresenter.java
+38
-0
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderPayActivity.java
+37
-20
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/TableActivity.java
+2
-3
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/orderManager/OrderCenterActivity.java
+26
-6
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/orderManager/OrderDetailActivity.java
+84
-38
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/OrderCenterAdapter.java
+74
-42
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/AllOrderFragment.java
+3
-5
component-table/src/main/res/layout/activity_order_center.xml
+71
-5
component-table/src/main/res/layout/fragment_all_order.xml
+5
-2
component-table/src/main/res/layout/item_order_center.xml
+38
-17
library-base/src/main/java/com/jess/arms/integration/AppManager.java
+22
-0
library-common/src/main/java/com/gingersoft/gsa/cloud/common/config/globalconfig/applyOptions/MyGlobalHttpHandler.java
+2
-2
library-common/src/main/java/com/gingersoft/gsa/cloud/common/oaId/defaultImp/DefaultDeviceIdUtils.java
+2
-2
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/pos/PosPay.java
+5
-0
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/pos/hywebpos/bean/request/pos/PrintPaymentStubRequest.java
+20
-0
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/pos/hywebpos/bean/response/pos/PrintPaymentStubResponse.java
+18
-0
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/pos/hywebpos/command/CommandImpl.java
+4
-2
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/pos/hywebpos/imp/PrintActionImpl.java
+0
-32
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/pos/hywebpos/imp/PrintPaymentStubImpl.java
+55
-0
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/pos/hywebpos/imp/SaleActionImpl.java
+8
-0
library-print/src/main/java/com/gingersoft/gsa/cloud/print/bean/base/PrintFoodItem.java
+3
-0
library-qm-arch-annotation/build.gradle
+2
-2
library-ui/src/main/java/com/gingersoft/gsa/cloud/ui/recylcler/RecyclerViewNoBugGridLayoutManager.java
+5
-10
library-ui/src/main/java/com/gingersoft/gsa/cloud/ui/view/base/NoScrollGridView.java
+0
-4
No files found.
cc/src/main/java/com/billy/cc/core/component/ComponentManager.java
View file @
68af5eba
...
...
@@ -166,7 +166,7 @@ class ComponentManager {
//异步调用,放到线程池中运行
if
(
cc
.
isAsync
())
{
if
(
CC
.
VERBOSE_LOG
)
{
CC
.
verboseLog
(
callId
,
"put into thread pool"
);
CC
.
verboseLog
(
callId
,
"put into thread po
ol"
);
}
CC_THREAD_POOL
.
submit
(
processor
);
//异步调用时此方法返回null,CCResult通过callback回调
...
...
component-main/src/main/java/com/gingersoft/gsa/cloud/main/mvp/ui/activity/NewMainActivity.java
View file @
68af5eba
...
...
@@ -289,6 +289,7 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
}
List
<
Function
>
managerFuncations
=
FunctionManager
.
getDefault
().
getFunctionByResModule
(
this
,
ComponentMain
.
main
.
class
,
ComponentMain
.
main
.
manager
,
"manager"
);
managerFuncations
.
add
(
new
Function
(
172
,
163
,
5
,
"N5清機"
,
R
.
drawable
.
ic_expand_list
,
0
));
managerFuncations
.
add
(
new
Function
(
171
,
163
,
5
,
"配置列表"
,
R
.
drawable
.
ic_expand_list
,
0
));
// managerFuncations.add(new Function(171, 163, 5, "廚房打印查詢", R.drawable.ic_kitchen_print_query, 0));
// managerFuncations.add(new Function(171, 163, 5, "餐牌管理", R.drawable.ic_food_menu_manger, 0));
...
...
@@ -371,6 +372,9 @@ public class NewMainActivity extends BaseFragmentActivity<NewMainPresenter> impl
private
void
functionClick
(
String
name
,
int
status
)
{
switch
(
name
)
{
case
"N5清機"
:
break
;
case
"餐檯模式"
:
CC
.
obtainBuilder
(
ComponentName
.
COMPONENT_TABLE
)
.
setActionName
(
"showTableActivity"
)
...
...
component-print/src/main/java/com/joe/print/PrintComponent.java
View file @
68af5eba
...
...
@@ -7,6 +7,7 @@ import com.billy.cc.core.component.CCResult;
import
com.billy.cc.core.component.CCUtil
;
import
com.billy.cc.core.component.IComponent
;
import
com.gingersoft.gsa.cloud.component.ComponentName
;
import
com.jess.arms.utils.ArmsUtils
;
import
com.joe.print.mvp.print.service.PrjService
;
import
com.joe.print.mvp.ui.activity.PrintActivity
;
import
com.joe.print.mvp.ui.activity.PrinterListActivity
;
...
...
@@ -35,6 +36,9 @@ public class PrintComponent implements IComponent {
public
boolean
onCall
(
CC
cc
)
{
String
actionName
=
cc
.
getActionName
();
switch
(
actionName
)
{
case
"killPrintActivity"
:
break
;
case
"showPrintActivity"
:
openActivity
(
cc
);
break
;
...
...
component-print/src/main/java/com/joe/print/mvp/print/PrintBill.java
View file @
68af5eba
...
...
@@ -73,53 +73,6 @@ public class PrintBill extends PrinterRoot<PrintBillContent> {
pritContent
[
i
]
=
stringBuilder
;
}
return
pritContent
;
// DoshokuOrder doshokuOrder = DoshokuOrder.getInstance();
// ShoppingCart shoppingCart = doshokuOrder.getShoppingCart();
//
// List<OrderDetail> foodList = shoppingCart.getOrderCommodityList();
// TableBean.DataBean tableBean = doshokuOrder.getOpenTableInfo();
//
// StringBuilder payInfo = new StringBuilder();
// for (PayMethod payMethod : doshokuOrder.getBillMoney()) {
// payInfo.append(payMethod.getPayName() + " ").append(payMethod.getPayMoney());
// }
//
// StringBuilder memberIntegerInfo = new StringBuilder();
// OrderDetails.DataBean data = getOrderMemberInfo();
// if (data.getAddPoints() != 0 || data.getOldPoints() != 0 || data.getAddPoints() != 0) {
// memberIntegerInfo.append(getPLable("本次積分:" + data.getAddPoints(), HTML_PRINT_GRAVITY_LEFT))
// .append(getPLable("結餘積分:" + data.getNowPoints(), HTML_PRINT_GRAVITY_LEFT))
// .append(getPLable("上次積分:" + data.getOldPoints(), HTML_PRINT_GRAVITY_LEFT));
// //名稱中間替換為*號
// if (data.getMEMBER_NAME() != null && data.getMEMBER_NAME().length() > 0) {
// memberIntegerInfo.append(getPLable("會員名稱:" + getReplaceAfter(data.getMEMBER_NAME()), HTML_PRINT_GRAVITY_LEFT));
// }
// if (data.getPHONE() != null && data.getPHONE().length() > 0) {
// memberIntegerInfo.append(getPLable("會員電話:" + getReplaceAfter(data.getPHONE()), HTML_PRINT_GRAVITY_LEFT));
// }
// }
//
// String stringBuilder = "<html><body>" +
// getHtmlPrintHeadInfo() +
// getHtmlPrintHeadOrderInfo(tableBean) +
// generateHtmlFoodInfo(foodList) +
// getHtmlBillInfo() +
// getWholeLine() +
// getPLable(payInfo.toString(), HTML_PRINT_GRAVITY_LEFT) +
// getWholeLine() +
// getPLable(memberIntegerInfo.toString(), HTML_PRINT_GRAVITY_LEFT);
//
// String integralQrCode = doshokuOrder.getIntegralQrcode();
// if (!TextUtils.isEmpty(integralQrCode) && (boolean) RestaurantExpandInfoUtils.getValue(ExpandConstant.ToPrintQRCode, false)) {
// stringBuilder += getPLable("請掃描二維碼", HTML_PRINT_GRAVITY_CENTER) +
// getHtmlQrCode(doshokuOrder.getIntegralQrcode()) +
// getPLable("《追加積分到個人賬戶》", HTML_PRINT_GRAVITY_CENTER);
// }
// stringBuilder += "</body></html>";
// String[] pritContent = new String[1];
// pritContent[0] = stringBuilder;
// return pritContent;
}
private
String
getHtmlContent
(
PrinterDeviceBean
deviceBean
)
{
...
...
component-print/src/main/java/com/joe/print/mvp/print/PrintQRCode.java
View file @
68af5eba
...
...
@@ -14,6 +14,10 @@ import com.joe.print.R;
import
com.joe.print.mvp.model.bean.HtmlLable
;
import
com.joe.print.mvp.print.common.HtmlContract
;
import
java.io.UnsupportedEncodingException
;
import
java.net.URL
;
import
java.net.URLDecoder
;
import
java.net.URLEncoder
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
...
...
@@ -50,28 +54,18 @@ public class PrintQRCode extends PrinterRoot<PrintQRCodeContent> {
if
(
mQRCodeBean
==
null
)
{
return
new
String
[]{
"<html><body></body></html>"
};
}
//http://m.ricepon.com/member-web/qrcode/qrcode.html?WMP2&?arg={"type":2,"QR":"a7fbc0570c974287a5df7fc149348599"}
// String stringBuilder = "<html><body>" +
// getHtmlContent() +
// "</body></html>";
// int printCount = getPrintCount(mContext);
// String[] pritContent = new String[printCount];
// for (int i = 0; i < printCount; i++) {
// pritContent[i] = stringBuilder;
// }
// baseContent = mQRCodeBean.getPrintQrcode();
return
getPrintContent
(
baseContent
+
"http://m.ricepon.com/member-web/qrcode/qrcode.html?WMP2&arg={\"type\":2,\"QR\":\"a7fbc0570c974287a5df7fc149348599\"}"
);
}
private
String
baseContent
=
"Thank you"
;
private
String
[]
getPrintContent
(
String
...
qrcodes
)
{
String
[]
pritContent
=
new
String
[
qrcodes
.
length
];
for
(
int
i
=
0
;
i
<
qrcodes
.
length
;
i
++)
{
String
stringBuilder
=
"<html><body>"
+
getHtmlContent
(
qrcodes
[
i
])
+
"</body></html>"
;
String
qrcode
=
null
;
try
{
qrcode
=
URLEncoder
.
encode
(
mQRCodeBean
.
getPrintQrcode
(),
"UTF-8"
)
;
}
catch
(
UnsupportedEncodingException
e
)
{
e
.
printStackTrace
();
}
String
stringBuilder
=
"<html><body>"
+
getHtmlContent
(
qrcode
)
+
"</body></html>"
;
int
printCount
=
getPrintCount
(
mContext
);
String
[]
pritContent
=
new
String
[
printCount
];
for
(
int
i
=
0
;
i
<
printCount
;
i
++)
{
pritContent
[
i
]
=
stringBuilder
;
}
return
pritContent
;
...
...
component-print/src/main/java/com/joe/print/mvp/print/PrintTest.java
View file @
68af5eba
...
...
@@ -10,6 +10,7 @@ import com.gingersoft.gsa.cloud.common.core.delivery.OrderDetails;
import
com.gingersoft.gsa.cloud.common.utils.time.TimeUtils
;
import
com.gingersoft.gsa.cloud.database.bean.PrinterDeviceBean
;
import
com.gingersoft.gsa.cloud.order.commodity.OrderDetail
;
import
com.gingersoft.gsa.cloud.print.bean.base.PrintFoodItem
;
import
com.joe.print.R
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
...
...
@@ -77,22 +78,21 @@ public class PrintTest extends PrinterRoot {
layout
.
addView
(
getTextView
(
mContext
,
"時間:"
+
TimeUtils
.
getCurrentDate
(
TimeUtils
.
DEFAULT_DATE_FORMAT
),
Gravity
.
LEFT
,
getDimensionPixelSize
(
mContext
,
R
.
dimen
.
dp_8
)));
layout
.
addView
(
getTextLine
(
mContext
,
"項目"
));
List
<
OrderDetails
.
DataBean
.
PRODUCTNAMEBean
>
productnameBeans
=
new
ArrayList
<>();
OrderDetails
.
DataBean
.
PRODUCTNAMEBean
productnameBean
=
new
OrderDetails
.
DataBean
.
PRODUCTNAMEBean
();
productnameBean
.
set
PRODUCT_NAME
(
"測試食品"
);
productnameBean
.
setNum
(
"1"
);
productnameBean
.
setP
RICE
(
"10.0"
);
List
<
PrintFoodItem
>
printFoodItemList
=
new
ArrayList
<>();
PrintFoodItem
productnameBean
=
new
PrintFoodItem
();
productnameBean
.
set
Name
(
"測試食品"
);
productnameBean
.
setNum
(
1
);
productnameBean
.
setP
rice
(
10.0
);
List
<
OrderDetails
.
DataBean
.
PRODUCTNAMEBean
.
ChildBeanX
>
childBeanXES
=
new
ArrayList
<>();
OrderDetails
.
DataBean
.
PRODUCTNAMEBean
.
ChildBeanX
childBeanX
=
new
OrderDetails
.
DataBean
.
PRODUCTNAMEBean
.
ChildBeanX
();
childBeanX
.
setPRODUCT_NAME
(
"測試子食品"
);
childBeanX
.
setNum
(
"1"
);
childBeanX
.
setPRICE
(
"10.0"
);
childBeanXES
.
add
(
childBeanX
);
productnameBean
.
setChild
(
childBeanXES
);
productnameBeans
.
add
(
productnameBean
);
PrintFoodItem
productnameBean2
=
new
PrintFoodItem
();
productnameBean
.
setName
(
"測試食品2"
);
productnameBean
.
setNum
(
2
);
productnameBean
.
setPrice
(
30.0
);
layout
.
addView
(
getDiningFoodList
(
mContext
,
OrderDetail
.
productMameBeanToOrderDetail
(
0
,
productnameBeans
),
deviceBean
,
0
,
true
));
printFoodItemList
.
add
(
productnameBean
);
printFoodItemList
.
add
(
productnameBean2
);
layout
.
addView
(
getDiningFoodList
(
mContext
,
printFoodItemList
,
deviceBean
,
0
,
true
));
layout
.
addView
(
getTextLine
(
mContext
,
"Powered by Gingersoft"
));
// layout.addView(getTextView(mContext, "(USB)", Gravity.CENTER_HORIZONTAL, getDimensionPixelSize(mContext, R.dimen.dp_8)));
...
...
component-print/src/main/java/com/joe/print/mvp/print/utils/BBposPrint.java
View file @
68af5eba
This diff is collapsed.
Click to expand it.
component-print/src/main/java/com/joe/print/mvp/ui/activity/PrintActivity.java
View file @
68af5eba
...
...
@@ -256,6 +256,7 @@ public class PrintActivity extends BaseActivity<PrintPresenter> implements Print
//開錢箱
PrintExecutor
executor
=
new
PrintExecutor
(
defaultPrint
);
executor
.
doPrinterRequestAsync
(
new
OpenCashBoxMaker
());
CC
.
sendCCResult
(
callId
,
CCResult
.
success
());
}
else
{
if
(
isShowDialog
)
{
initDialog
();
...
...
component-table/src/main/AndroidManifest.xml
View file @
68af5eba
...
...
@@ -15,6 +15,7 @@
<activity
android:name=
".mvp.ui.activity.TableActivity"
android:launchMode=
"singleTop"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
".mvp.ui.activity.MealStandActivity"
...
...
component-table/src/main/debug/AndroidManifest.xml
View file @
68af5eba
...
...
@@ -20,7 +20,9 @@
android:name=
".mvp.ui.activity.OrderPayActivity"
android:screenOrientation=
"portrait"
/>
<activity
android:name=
"com.gingersoft.gsa.cloud.table.mvp.ui.activity.SoldoutCtrlActivity"
/>
<activity
android:name=
"com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity"
>
<activity
android:name=
"com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity"
android:launchMode=
"singleTop"
>
<intent-filter>
<action
android:name=
"android.intent.action.MAIN"
/>
<action
android:name=
"android.intent.action.VIEW"
/>
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/
model/table/
action/OnNetworkCallbackListener.java
→
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/action/OnNetworkCallbackListener.java
View file @
68af5eba
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
table
.
action
;
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
action
;
/**
* @author : bin
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/
model/table/action
/MoveTableAction.java
→
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/
action/table
/MoveTableAction.java
View file @
68af5eba
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
table
.
action
;
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
action
.
table
;
import
android.app.Activity
;
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/
model/table/action
/PrintServingPaperAction.java
→
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/
action/table
/PrintServingPaperAction.java
View file @
68af5eba
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
table
.
action
;
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
action
.
table
;
import
android.app.Activity
;
...
...
@@ -12,6 +12,7 @@ import com.gingersoft.gsa.cloud.order.order.DoshokuOrder;
import
com.gingersoft.gsa.cloud.print.bean.PrintContent
;
import
com.gingersoft.gsa.cloud.print.bean.adapter.PrintContentAdapter
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.mvp.action.OnNetworkCallbackListener
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.response.BaseOrderResponse
;
import
com.gingersoft.gsa.cloud.table.mvp.model.utils.OrderAssemblyUtil
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.TablePresenter
;
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/
model/table/action
/PrintSkyorderAction.java
→
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/
action/table
/PrintSkyorderAction.java
View file @
68af5eba
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
table
.
action
;
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
action
.
table
;
import
android.app.Activity
;
import
android.text.TextUtils
;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.app.GsaCloudApplication
;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
...
...
@@ -14,6 +15,7 @@ import com.gingersoft.gsa.cloud.common.core.user.UserContext;
import
com.gingersoft.gsa.cloud.common.utils.JsonUtils
;
import
com.gingersoft.gsa.cloud.common.utils.time.TimeUtils
;
import
com.gingersoft.gsa.cloud.component.ComponentName
;
import
com.gingersoft.gsa.cloud.table.mvp.action.OnNetworkCallbackListener
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodSummary
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.response.PrintQRCodeResponse
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.TablePresenter
;
...
...
@@ -21,6 +23,7 @@ import com.gingersoft.gsa.cloud.table.mvp.ui.widget.SkyOrderDialog;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.BaseRetryDialog
;
import
com.gingersoft.gsa.cloud.ui.widget.dialog.DialogAnimationListener
;
import
com.jess.arms.utils.ArmsUtils
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -125,7 +128,11 @@ public class PrintSkyorderAction extends TableAction {
if
(
result
.
isSuccess
())
{
printSkyorderSuccess
();
}
else
{
ArmsUtils
.
makeText
(
mContext
,
"打印失敗"
);
if
(!
TextUtils
.
isEmpty
(
result
.
getErrorMessage
()))
{
ArmsUtils
.
makeText
(
mContext
,
result
.
getErrorMessage
());
}
else
{
ArmsUtils
.
makeText
(
mContext
,
"打印失敗"
);
}
}
mSkyOrderDialog
.
dismiss
();
});
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/
model/table/action
/ResetSkyorderAction.java
→
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/
action/table
/ResetSkyorderAction.java
View file @
68af5eba
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
table
.
action
;
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
action
.
table
;
import
android.app.Activity
;
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/
model/table/action
/ResetTableAction.java
→
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/
action/table
/ResetTableAction.java
View file @
68af5eba
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
table
.
action
;
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
action
.
table
;
import
android.app.Activity
;
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/
model/table/action
/SplitTableAction.java
→
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/
action/table
/SplitTableAction.java
View file @
68af5eba
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
table
.
action
;
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
action
.
table
;
import
android.app.Activity
;
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/
model/table/action
/TableAction.java
→
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/
action/table
/TableAction.java
View file @
68af5eba
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
model
.
table
.
action
;
package
com
.
gingersoft
.
gsa
.
cloud
.
table
.
mvp
.
action
.
table
;
import
android.app.Activity
;
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/contract/TableContract.java
View file @
68af5eba
...
...
@@ -3,7 +3,7 @@ package com.gingersoft.gsa.cloud.table.mvp.contract;
import
com.gingersoft.gsa.cloud.common.bean.BaseResult
;
import
com.gingersoft.gsa.cloud.common.core.table.TableBean
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.response.BaseOrderResponse
;
import
com.gingersoft.gsa.cloud.table.mvp.
model.table.action
.TableAction
;
import
com.gingersoft.gsa.cloud.table.mvp.
action.table
.TableAction
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.AllTableFragment
;
import
com.gingersoft.gsa.cloud.database.bean.Food
;
import
com.gingersoft.gsa.cloud.database.bean.Modifier
;
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/model/bean/response/OrderManagerResponse.java
View file @
68af5eba
...
...
@@ -141,6 +141,15 @@ public class OrderManagerResponse implements Serializable {
private
String
refundTxnId
;
/**
* 清機ID,已清機則不為null
*/
private
Integer
restaurantOperationId
;
/**
* 事項狀態 0:異常未處理,1: 成功
*/
private
int
matterStatus
=
1
;
/**
* 設備ID,用來區分每台N5設備支付的訂單
*/
private
String
deviceId
;
...
...
@@ -163,6 +172,10 @@ public class OrderManagerResponse implements Serializable {
public
static
final
byte
ORDER_TYPE_TAKEAWAY
=
2
;
public
static
final
byte
ORDER_TYPE_SELFCOLLECTION
=
7
;
/**
* 是否選中
*/
private
boolean
checked
=
false
;
public
boolean
withHywebPay
()
{
if
(!
TextUtils
.
isEmpty
(
payTxnId
)
||
!
TextUtils
.
isEmpty
(
cancelTxnId
)
||
!
TextUtils
.
isEmpty
(
refundTxnId
))
{
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/TablePresenter.java
View file @
68af5eba
...
...
@@ -35,14 +35,14 @@ import com.gingersoft.gsa.cloud.table.mvp.contract.TableContract;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.FoodSummary
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.response.BaseOrderResponse
;
import
com.gingersoft.gsa.cloud.table.mvp.model.constant.SkyOrderConstant
;
import
com.gingersoft.gsa.cloud.table.mvp.
model.table.action
.MoveTableAction
;
import
com.gingersoft.gsa.cloud.table.mvp.
model.table.
action.OnNetworkCallbackListener
;
import
com.gingersoft.gsa.cloud.table.mvp.
model.table.action
.PrintServingPaperAction
;
import
com.gingersoft.gsa.cloud.table.mvp.
model.table.action
.PrintSkyorderAction
;
import
com.gingersoft.gsa.cloud.table.mvp.
model.table.action
.ResetSkyorderAction
;
import
com.gingersoft.gsa.cloud.table.mvp.
model.table.action
.ResetTableAction
;
import
com.gingersoft.gsa.cloud.table.mvp.
model.table.action
.SplitTableAction
;
import
com.gingersoft.gsa.cloud.table.mvp.
model.table.action
.TableAction
;
import
com.gingersoft.gsa.cloud.table.mvp.
action.table
.MoveTableAction
;
import
com.gingersoft.gsa.cloud.table.mvp.action.OnNetworkCallbackListener
;
import
com.gingersoft.gsa.cloud.table.mvp.
action.table
.PrintServingPaperAction
;
import
com.gingersoft.gsa.cloud.table.mvp.
action.table
.PrintSkyorderAction
;
import
com.gingersoft.gsa.cloud.table.mvp.
action.table
.ResetSkyorderAction
;
import
com.gingersoft.gsa.cloud.table.mvp.
action.table
.ResetTableAction
;
import
com.gingersoft.gsa.cloud.table.mvp.
action.table
.SplitTableAction
;
import
com.gingersoft.gsa.cloud.table.mvp.
action.table
.TableAction
;
import
com.gingersoft.gsa.cloud.table.mvp.model.utils.OrderAssemblyUtil
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.activity.TableActivity
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.adapter.BottomFunctionAdapter
;
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/presenter/orderManager/AllOrderPresenter.java
View file @
68af5eba
...
...
@@ -10,6 +10,7 @@ import com.billy.cc.core.component.CC;
import
com.gingersoft.gsa.cloud.common.constans.PrintConstans
;
import
com.gingersoft.gsa.cloud.common.core.table.TableBean
;
import
com.gingersoft.gsa.cloud.common.logan.LoganManager
;
import
com.gingersoft.gsa.cloud.common.utils.AppDevices
;
import
com.gingersoft.gsa.cloud.common.utils.MoneyUtil
;
import
com.gingersoft.gsa.cloud.common.utils.time.TimeUtils
;
import
com.gingersoft.gsa.cloud.component.ComponentName
;
...
...
@@ -481,6 +482,43 @@ public class AllOrderPresenter extends BasePresenter<AllOrderContract.Model, All
doshokuOrder
.
setBillMoney
(
payMethodList
);
}
if
(
orderDetailItem
.
withHywebPay
())
{
if
(
AppDevices
.
isHywebPos
())
{
PosPay
.
printStub
(
IActivity
,
mRootView
,
orderDetailItem
.
getPayTxnId
(),
new
OnPosActionListener
()
{
@Override
public
void
onPosSuccess
(
HywebPosResponse
response
)
{
printBill
(
doshokuOrder
,
dataBean
);
}
@Override
public
void
onPosException
(
Exception
e
)
{
}
@Override
public
void
onPosInvalid
(
String
e
)
{
}
@Override
public
void
onUpdateStatusSuccess
(
HywebPosResponse
response
)
{
}
@Override
public
void
onUpdateStatusError
(
Throwable
e
)
{
}
});
}
else
{
printBill
(
doshokuOrder
,
dataBean
);
}
}
else
{
printBill
(
doshokuOrder
,
dataBean
);
}
}
private
void
printBill
(
DoshokuOrder
doshokuOrder
,
TableBean
.
DataBean
dataBean
)
{
PrintContent
printContent
=
new
PrintContentAdapter
().
adaptationBillContent
(
doshokuOrder
,
dataBean
);
CC
.
obtainBuilder
(
ComponentName
.
COMPONENT_PRINT
)
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/OrderPayActivity.java
View file @
68af5eba
...
...
@@ -16,15 +16,21 @@ import androidx.annotation.Nullable;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.billy.cc.core.component.CC
;
import
com.billy.cc.core.component.CCResult
;
import
com.billy.cc.core.component.IComponentCallback
;
import
com.gingersoft.gsa.cloud.common.constans.PrintConstans
;
import
com.gingersoft.gsa.cloud.common.core.member.MemberInfo
;
import
com.gingersoft.gsa.cloud.common.core.table.TableBean
;
import
com.gingersoft.gsa.cloud.common.core.user.UserContext
;
import
com.gingersoft.gsa.cloud.common.logan.LoganManager
;
import
com.gingersoft.gsa.cloud.common.utils.AppDevices
;
import
com.gingersoft.gsa.cloud.common.utils.BigDecimalUtils
;
import
com.gingersoft.gsa.cloud.common.utils.JsonUtils
;
import
com.gingersoft.gsa.cloud.common.utils.LanguageUtils
;
import
com.gingersoft.gsa.cloud.common.utils.VibratorUtils
;
import
com.gingersoft.gsa.cloud.component.ComponentName
;
import
com.gingersoft.gsa.cloud.database.bean.Discount
;
import
com.gingersoft.gsa.cloud.database.utils.DiscountDaoUtils
;
import
com.gingersoft.gsa.cloud.order.bean.request.MealOrderPayRequest
;
import
com.gingersoft.gsa.cloud.order.billItem.BillItem
;
import
com.gingersoft.gsa.cloud.order.order.DoshokuOrder
;
...
...
@@ -57,11 +63,16 @@ import com.jess.arms.utils.ArmsUtils;
import
com.qmuiteam.qmui.alpha.QMUIAlphaButton
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialog
;
import
com.qmuiteam.qmui.widget.dialog.QMUIDialogAction
;
import
com.xuexiang.rxutil2.rxjava.RxJavaUtils
;
import
com.xuexiang.rxutil2.rxjava.RxSchedulerUtils
;
import
org.simple.eventbus.EventBus
;
import
java.sql.Time
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.Observer
;
import
java.util.concurrent.TimeUnit
;
import
java.util.concurrent.locks.ReentrantLock
;
import
javax.inject.Inject
;
...
...
@@ -69,6 +80,9 @@ import javax.inject.Inject;
import
butterknife.BindView
;
import
butterknife.OnClick
;
import
butterknife.OnLongClick
;
import
io.reactivex.Observable
;
import
io.reactivex.functions.Consumer
;
import
io.reactivex.schedulers.Schedulers
;
import
static
com
.
jess
.
arms
.
utils
.
Preconditions
.
checkNotNull
;
...
...
@@ -444,28 +458,34 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
CC
.
obtainBuilder
(
ComponentName
.
COMPONENT_PRINT
)
.
setActionName
(
"printActivity"
)
.
addParam
(
PrintConstans
.
PRINT_TYPE
,
PrintConstans
.
PRINT_INSTRUCTION
)
.
addParam
(
PrintConstans
.
PRINT_LOADING
,
mPrintShowLoading
)
.
build
()
.
callAsyncCallbackOnMainThread
((
cc
,
result
)
->
{
printBill
();
.
callAsyncCallbackOnMainThread
(
new
IComponentCallback
()
{
@Override
public
void
onResult
(
CC
cc
,
CCResult
result
)
{
LoganManager
.
w_code
(
TAG
,
"printOpenInstructionAndBill "
+
"是否成功:"
+
result
.
isSuccess
());
mAppManager
.
killActivity
(
"PrintActivity"
);
}
});
printBill
();
}
private
void
printBill
()
{
//打印結賬單
PrintContent
printContent
=
new
PrintContentAdapter
().
adaptationBillContent
(
DoshokuOrder
.
getInstance
(),
DoshokuOrder
.
getInstance
().
getOpenTableInfo
());
CC
.
obtainBuilder
(
ComponentName
.
COMPONENT_PRINT
)
.
setActionName
(
"printActivity"
)
.
addParam
(
PrintConstans
.
PRINT_TYPE
,
PrintConstans
.
PRINT_BILL
)
.
addParam
(
PrintConstans
.
PRINT_CONTENT
,
printContent
)
.
addParam
(
PrintConstans
.
PRINT_LOADING
,
mPrintShowLoading
)
.
build
()
.
callAsyncCallbackOnMainThread
((
cc
,
result
)
->
{
Log
.
e
(
"error"
,
"是否成功打印:"
+
result
.
isSuccess
());
setResult
(
Activity
.
RESULT_OK
,
null
);
killMyself
();
.
callAsyncCallbackOnMainThread
(
new
IComponentCallback
()
{
@Override
public
void
onResult
(
CC
cc
,
CCResult
result
)
{
LoganManager
.
w_code
(
TAG
,
"printBill "
+
"是否成功打印:"
+
result
.
isSuccess
());
mAppManager
.
killActivity
(
"PrintActivity"
);
mAppManager
.
killActivity
(
MealStandActivity
.
class
);
mAppManager
.
killActivity
(
OrderContentActivity
.
class
);
killMyself
();
}
});
}
...
...
@@ -488,8 +508,6 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
rv_order_detail
.
setAdapter
(
adapter
);
}
private
boolean
mPrintShowLoading
=
true
;
@Override
public
void
loadPayMethodsSuccess
(
List
<
PayMethod
>
payMethods
)
{
gsaPayView
.
loadInfo
(
this
,
payMethods
,
mPresenter
.
getTotalAmount
(),
mPresenter
.
getFoodCount
());
...
...
@@ -505,13 +523,13 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
PayMethod
hywebPayMethod
=
mBillMoneyList
.
get
(
hywebPayMethodIndex
);
SaleRequest
saleRequest
=
new
SaleRequest
();
//
if (hywebPayMethod.getPayType() == PayTypeContract.PAY_METHOD_ID_1030) {
//
//卡片支付
saleRequest
.
setPAYMENT_APP_ID
(
PayMethodConstant
.
PAY_TYPE_EPS
);
//
} else {
//
//掃碼支付
//
saleRequest.setPAYMENT_APP_ID(PayMethodConstant.PAY_TYPE_QRC);
//
}
if
(
hywebPayMethod
.
getPayType
()
==
PayTypeContract
.
PAY_METHOD_ID_1030
)
{
//卡片支付
saleRequest
.
setPAYMENT_APP_ID
(
PayMethodConstant
.
PAY_TYPE_CC
);
}
else
{
//掃碼支付
saleRequest
.
setPAYMENT_APP_ID
(
PayMethodConstant
.
PAY_TYPE_QRC
);
}
saleRequest
.
setTXN_AMT
(
DoshokuOrder
.
getInstance
().
getShoppingCart
().
getTotalAmount
());
saleRequest
.
setTIPS
(
0
);
...
...
@@ -548,7 +566,6 @@ public class OrderPayActivity extends BaseActivity<OrderPayPresenter> implements
@Override
public
void
onUpdateStatusSuccess
(
SaleRespose
response
)
{
if
(
HywebActionStatusCode
.
withSuccess
(
response
.
getSTATUS
()))
{
mPrintShowLoading
=
false
;
paySuccess
();
}
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/TableActivity.java
View file @
68af5eba
...
...
@@ -23,7 +23,6 @@ import androidx.viewpager.widget.ViewPager;
import
com.billy.cc.core.component.CC
;
import
com.gingersoft.gsa.cloud.common.constans.GoldConstants
;
import
com.gingersoft.gsa.cloud.common.core.table.TableBean
;
import
com.gingersoft.gsa.cloud.common.logan.LoganManager
;
import
com.gingersoft.gsa.cloud.common.utils.log.LogUtil
;
import
com.gingersoft.gsa.cloud.component.ComponentName
;
import
com.gingersoft.gsa.cloud.table.R
;
...
...
@@ -32,8 +31,8 @@ import com.gingersoft.gsa.cloud.table.di.component.DaggerTableComponent;
import
com.gingersoft.gsa.cloud.table.mvp.contract.TableContract
;
import
com.gingersoft.gsa.cloud.table.mvp.model.bean.event.InitTableEvent
;
import
com.gingersoft.gsa.cloud.table.mvp.model.constant.TableActionConstant
;
import
com.gingersoft.gsa.cloud.table.mvp.
model.table.action
.PrintSkyorderAction
;
import
com.gingersoft.gsa.cloud.table.mvp.
model.table.action
.TableAction
;
import
com.gingersoft.gsa.cloud.table.mvp.
action.table
.PrintSkyorderAction
;
import
com.gingersoft.gsa.cloud.table.mvp.
action.table
.TableAction
;
import
com.gingersoft.gsa.cloud.table.mvp.presenter.TablePresenter
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.AllTableFragment
;
import
com.gingersoft.gsa.cloud.table.mvp.ui.fragment.InputTableFragment
;
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/orderManager/OrderCenterActivity.java
View file @
68af5eba
...
...
@@ -4,6 +4,10 @@ import android.content.Intent;
import
android.os.Bundle
;
import
android.os.Message
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.FrameLayout
;
import
android.widget.LinearLayout
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.core.content.ContextCompat
;
...
...
@@ -57,16 +61,22 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent
QMUITabSegment
mTabSegment
;
@BindView
(
R2
.
id
.
contentViewPager
)
ViewPager
mContentViewPager
;
@BindView
(
R2
.
id
.
ll_content
)
LinearLayout
ll_content
;
@BindView
(
R2
.
id
.
ll_bottom
)
LinearLayout
ll_bottom
;
private
AllOrderFragment
allOrderFragment
,
cancelOrderFragment
,
voidOrderFragment
;
//當前顯示頁下標
private
int
currentPageIndex
=
0
;
//標題
// private String[] tabTitles = {"
堂食", "外賣/自取
"};
private
String
[]
tabTitles
=
{
"堂食"
};
// private String[] tabTitles = {"
已付款", "已取消
"};
private
String
[]
tabTitles
=
{
"堂食"
};
//是否已經初始化數據,默認初始化第一個頁面
private
boolean
[]
pageDataInit
=
{
true
,
false
,
false
};
private
FrameLayout
.
LayoutParams
lp_content
;
public
static
final
int
MODIFY_ORDER_RETURN_CODE
=
100
;
@Override
...
...
@@ -86,6 +96,7 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent
@Override
public
void
initData
(
@Nullable
Bundle
savedInstanceState
)
{
lp_content
=
new
FrameLayout
.
LayoutParams
(
ViewGroup
.
LayoutParams
.
MATCH_PARENT
,
ViewGroup
.
LayoutParams
.
WRAP_CONTENT
);
initTabAndPager
();
mPresenter
.
loadOrderList
(
OrderManagerResponse
.
ORDER_TYPE_DOSHOKU
+
""
,
0
,
10
,
null
,
false
);
...
...
@@ -96,15 +107,14 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent
super
.
onNewIntent
(
intent
);
}
@Subscriber
(
tag
=
"update"
+
"OrderListEvent"
)
@Subscriber
(
tag
=
"updateOrderListEvent"
)
private
void
updateOrderList
(
boolean
update
)
{
refeshOrderList
();
}
public
void
refeshOrderList
(){
public
void
refeshOrderList
()
{
setPageIndex
(
0
);
mPresenter
.
loadOrderList
(
OrderManagerResponse
.
ORDER_TYPE_DOSHOKU
+
""
,
0
,
10
,
null
,
false
);
mPresenter
.
loadOrderList
(
OrderManagerResponse
.
ORDER_TYPE_DOSHOKU
+
""
,
0
,
10
,
null
,
false
);
}
public
void
loadOrderList
(
String
orderType
,
RefreshLayout
refreshLayout
,
boolean
isLoadMore
)
{
...
...
@@ -183,6 +193,16 @@ public class OrderCenterActivity extends BaseFragmentActivity<OrderCenterPresent
loadOrderList
(
getCurrentOrderFragment
().
getOrderType
(),
null
,
false
);
}
pageDataInit
[
currentPageIndex
]
=
true
;
// if (index == 0) {
// lp_content.bottomMargin = ArmsUtils.dip2px(mContext, R.dimen.dp_40);
// ll_content.setLayoutParams(lp_content);
// ll_bottom.setVisibility(View.VISIBLE);
// } else {
// lp_content.bottomMargin = 0;
// ll_content.setLayoutParams(lp_content);
// ll_bottom.setVisibility(View.GONE);
// }
}
@Override
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/activity/orderManager/OrderDetailActivity.java
View file @
68af5eba
...
...
@@ -196,7 +196,7 @@ public class OrderDetailActivity extends BaseFragmentActivity<OrderDetailPresent
initOrderItemAdapter
();
updateOrderItems
(
mOrderDetailItem
,
mOrderDetailList
);
initOrderDetail
(
mOrderDetailItem
);
setBtnVisib
ility
();
setBtnVisib
le
();
btn_refund
.
setVisibility
(
View
.
GONE
);
}
...
...
@@ -288,45 +288,54 @@ public class OrderDetailActivity extends BaseFragmentActivity<OrderDetailPresent
mOrderDetailPayMethodAdapter
.
notifyDataSetChanged
();
}
private
void
setBtnVisibility
()
{
List
<
OrderManagerResponse
.
OrderPayBean
>
orderPays
=
mOrderDetailItem
.
getOrderPays
();
if
(
orderPays
!=
null
&&
orderPays
.
size
()
>
0
)
{
List
<
PayMethod
>
payMethods
=
new
ArrayList
<>();
for
(
OrderManagerResponse
.
OrderPayBean
orderPayBean
:
orderPays
)
{
PayMethod
payMethod
=
new
PayMethod
();
payMethod
.
setPayType
(
orderPayBean
.
getPayType
());
payMethod
.
setPayMoney
(
orderPayBean
.
getAmount
());
payMethod
.
setTipsPrice
(
orderPayBean
.
getTipsPrice
());
payMethods
.
add
(
payMethod
);
}
PayMethod
payMethod
=
PayMethodUtils
.
filterPaymentMethodById
(
payMethods
,
PayMethod
.
HYWEB_POS_TYPE_CC
);
if
(
payMethod
!=
null
)
{
//只有卡片支付才支持補小費
btn_tips
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
btn_tips
.
setVisibility
(
View
.
GONE
);
}
}
if
(
mOrderDetailItem
.
getStatus
()
==
6
)
{
//訂單已取消
btn_print_order
.
setVisibility
(
View
.
GONE
);
private
void
setBtnVisible
()
{
if
(
mOrderDetailItem
.
getRestaurantOperationId
()
!=
null
)
{
//已清機
btn_modify_order
.
setVisibility
(
View
.
GONE
);
btn_tips
.
setVisibility
(
View
.
GONE
);
btn_cancel_order
.
setVisibility
(
View
.
GONE
);
tv_order_status
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
btn_print_order
.
setVisibility
(
View
.
VISIBLE
);
btn_modify_order
.
setVisibility
(
View
.
VISIBLE
);
btn_cancel_order
.
setVisibility
(
View
.
VISIBLE
);
tv_order_status
.
setVisibility
(
View
.
GONE
);
if
(
AppDevices
.
isHywebPos
()
&&
mOrderDetailItem
.
withHywebPay
())
{
setOrderBtnVisbilityByTxnId
(
mOrderDetailItem
.
getPayTxnId
(),
mOrderDetailItem
.
getCancelTxnId
(),
mOrderDetailItem
.
getRefundTxnId
());
//未清機
List
<
OrderManagerResponse
.
OrderPayBean
>
orderPays
=
mOrderDetailItem
.
getOrderPays
();
if
(
orderPays
!=
null
&&
orderPays
.
size
()
>
0
)
{
List
<
PayMethod
>
payMethods
=
new
ArrayList
<>();
for
(
OrderManagerResponse
.
OrderPayBean
orderPayBean
:
orderPays
)
{
PayMethod
payMethod
=
new
PayMethod
();
payMethod
.
setPayType
(
orderPayBean
.
getPayType
());
payMethod
.
setPayMoney
(
orderPayBean
.
getAmount
());
payMethod
.
setTipsPrice
(
orderPayBean
.
getTipsPrice
());
payMethods
.
add
(
payMethod
);
}
PayMethod
payMethod
=
PayMethodUtils
.
filterPaymentMethodById
(
payMethods
,
PayMethod
.
HYWEB_POS_TYPE_CC
);
if
(
payMethod
!=
null
)
{
//只有卡片支付才支持補小費
btn_tips
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
btn_tips
.
setVisibility
(
View
.
GONE
);
}
}
if
(
mOrderDetailItem
.
getStatus
()
==
6
)
{
//訂單已取消
btn_print_order
.
setVisibility
(
View
.
GONE
);
btn_modify_order
.
setVisibility
(
View
.
GONE
);
btn_cancel_order
.
setVisibility
(
View
.
GONE
);
tv_order_status
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
btn_print_order
.
setVisibility
(
View
.
VISIBLE
);
btn_modify_order
.
setVisibility
(
View
.
VISIBLE
);
btn_cancel_order
.
setVisibility
(
View
.
VISIBLE
);
tv_order_status
.
setVisibility
(
View
.
GONE
);
if
(
AppDevices
.
isHywebPos
()
&&
mOrderDetailItem
.
withHywebPay
())
{
setOrderBtnVisbilityByTxnId
(
mOrderDetailItem
.
getPayTxnId
(),
mOrderDetailItem
.
getCancelTxnId
(),
mOrderDetailItem
.
getRefundTxnId
());
}
}
int
orderType
=
mOrderDetailItem
.
getOrderType
();
if
(
orderType
==
OrderTypeConstans
.
order_type_2
||
orderType
==
OrderTypeConstans
.
order_type_7
)
{
//外賣自取 不可以修改訂單 取消訂單
btn_modify_order
.
setVisibility
(
View
.
GONE
);
btn_cancel_order
.
setVisibility
(
View
.
GONE
);
}
}
int
orderType
=
mOrderDetailItem
.
getOrderType
();
if
(
orderType
==
OrderTypeConstans
.
order_type_2
||
orderType
==
OrderTypeConstans
.
order_type_7
)
{
//外賣自取 不可以修改訂單 取消訂單
btn_modify_order
.
setVisibility
(
View
.
GONE
);
btn_cancel_order
.
setVisibility
(
View
.
GONE
);
}
}
...
...
@@ -843,8 +852,45 @@ public class OrderDetailActivity extends BaseFragmentActivity<OrderDetailPresent
doshokuOrder
.
setIntegralQrcode
(
orderDetailItem
.
getVerifyCode
());
}
PrintContent
printContent
=
new
PrintContentAdapter
().
adaptationBillContent
(
doshokuOrder
,
dataBean
);
if
(
orderDetailItem
.
withHywebPay
())
{
if
(
AppDevices
.
isHywebPos
())
{
PosPay
.
printStub
(
mContext
,
this
,
orderDetailItem
.
getPayTxnId
(),
new
OnPosActionListener
()
{
@Override
public
void
onPosSuccess
(
HywebPosResponse
response
)
{
printBill
(
doshokuOrder
,
dataBean
);
}
@Override
public
void
onPosException
(
Exception
e
)
{
}
@Override
public
void
onPosInvalid
(
String
e
)
{
}
@Override
public
void
onUpdateStatusSuccess
(
HywebPosResponse
response
)
{
}
@Override
public
void
onUpdateStatusError
(
Throwable
e
)
{
}
});
}
else
{
printBill
(
doshokuOrder
,
dataBean
);
}
}
else
{
printBill
(
doshokuOrder
,
dataBean
);
}
}
private
void
printBill
(
DoshokuOrder
doshokuOrder
,
TableBean
.
DataBean
dataBean
)
{
PrintContent
printContent
=
new
PrintContentAdapter
().
adaptationBillContent
(
doshokuOrder
,
dataBean
);
CC
.
obtainBuilder
(
ComponentName
.
COMPONENT_PRINT
)
.
setActionName
(
"printActivity"
)
.
addParam
(
PrintConstans
.
PRINT_TYPE
,
PrintConstans
.
PRINT_BILL
)
...
...
@@ -947,7 +993,7 @@ public class OrderDetailActivity extends BaseFragmentActivity<OrderDetailPresent
mOrderDetailList
=
OrderAssemblyUtil
.
assemblyOrder
(
OrderDetail
.
orderTransOrderDetails
(
orderDetailItem
.
getOrderDetails
()));
initOrderDetail
(
orderDetailItem
);
updateOrderItems
(
orderDetailItem
,
mOrderDetailList
);
setBtnVisib
ility
();
setBtnVisib
le
();
btn_refund
.
setVisibility
(
View
.
GONE
);
}
...
...
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/adapter/OrderCenterAdapter.java
View file @
68af5eba
This diff is collapsed.
Click to expand it.
component-table/src/main/java/com/gingersoft/gsa/cloud/table/mvp/ui/fragment/AllOrderFragment.java
View file @
68af5eba
...
...
@@ -8,12 +8,10 @@ import android.os.Message;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.gingersoft.gsa.cloud.table.R
;
import
com.gingersoft.gsa.cloud.table.R2
;
import
com.gingersoft.gsa.cloud.table.di.component.DaggerAllOrderComponent
;
...
...
@@ -224,9 +222,9 @@ public class AllOrderFragment extends BaseFragment<AllOrderPresenter> implements
}
private
void
initAllOrderRecycleViewLayout
()
{
LinearLayoutManager
mAllOrderRecycleLayoutManager
=
new
LinearLayoutManager
(
mContext
,
LinearLayoutManager
.
VERTICAL
,
false
);
recycle_order
.
setLayoutManager
(
mAllOrderRecycleLayoutManager
);
recycle_order
.
addItemDecoration
(
new
DividerItemDecoration
(
orderCenterActivity
,
LinearLayoutManager
.
VERTICAL
));
//
LinearLayoutManager mAllOrderRecycleLayoutManager = new LinearLayoutManager(mContext, LinearLayoutManager.VERTICAL, false);
//
recycle_order.setLayoutManager(mAllOrderRecycleLayoutManager);
//
recycle_order.addItemDecoration(new DividerItemDecoration(orderCenterActivity, LinearLayoutManager.VERTICAL));
}
@Override
...
...
component-table/src/main/res/layout/activity_order_center.xml
View file @
68af5eba
...
...
@@ -2,8 +2,7 @@
<com.qmuiteam.qmui.widget.QMUIWindowInsetLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"?attr/app_primary_color"
>
android:layout_height=
"match_parent"
>
<com.qmuiteam.qmui.widget.QMUITopBar
android:id=
"@+id/topbar"
...
...
@@ -12,12 +11,13 @@
app:qmui_topbar_title_color=
"@color/theme_white_color"
/>
<LinearLayout
android:id=
"@+id/ll_content"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_marginTop=
"?attr/qmui_topbar_height"
android:fitsSystemWindows=
"true"
android:orientation=
"vertical"
android:
background=
"@color/qmui_config_color_white
"
>
android:
layout_marginBottom=
"@dimen/dp_40
"
>
<com.qmuiteam.qmui.widget.tab.QMUITabSegment
android:id=
"@+id/tabSegment"
...
...
@@ -33,10 +33,77 @@
android:fitsSystemWindows=
"true"
/>
</LinearLayout>
<LinearLayout
android:id=
"@+id/ll_bottom"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/dp_40"
android:layout_gravity=
"bottom"
android:orientation=
"horizontal"
>
<com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id=
"@+id/btn_print_order"
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_gravity=
"bottom"
android:layout_weight=
"1"
android:background=
"@color/orange_400"
android:clickable=
"true"
android:text=
"打印賬單"
android:textColor=
"@color/theme_white_color"
android:textSize=
"@dimen/sp_14"
/>
<com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id=
"@+id/btn_modify_order"
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_gravity=
"bottom"
android:layout_weight=
"1"
android:background=
"@color/blue_400"
android:clickable=
"true"
android:visibility=
"visible"
android:text=
"修改訂單"
android:textColor=
"@color/theme_white_color"
android:textSize=
"@dimen/sp_14"
/>
<com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id=
"@+id/btn_tips"
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_gravity=
"bottom"
android:layout_weight=
"1"
android:background=
"@color/green_400"
android:clickable=
"true"
android:text=
"貼士"
android:visibility=
"gone"
android:textColor=
"@color/theme_white_color"
android:textSize=
"@dimen/sp_14"
/>
<com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id=
"@+id/btn_cancel_order"
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_weight=
"1"
android:text=
"取消訂單"
android:textSize=
"@dimen/sp_13"
android:textColor=
"@color/theme_white_color"
android:background=
"@color/red_300"
/>
<com.qmuiteam.qmui.alpha.QMUIAlphaButton
android:id=
"@+id/btn_refund"
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_gravity=
"bottom"
android:layout_weight=
"1"
android:background=
"@color/red_500"
android:clickable=
"true"
android:text=
"退款"
android:visibility=
"gone"
android:textColor=
"@color/theme_white_color"
android:textSize=
"@dimen/sp_14"
/>
</LinearLayout>
<FrameLayout
android:id=
"@+id/rl_container"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
</com.qmuiteam.qmui.widget.QMUIWindowInsetLayout>
\ No newline at end of file
component-table/src/main/res/layout/fragment_all_order.xml
View file @
68af5eba
<?xml version="1.0" encoding="utf-8"?>
<com.qmuiteam.qmui.widget.QMUIWindowInsetLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<com.qmuiteam.qmui.widget.QMUIWindowInsetLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
...
...
@@ -17,7 +19,8 @@
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/theme_background_color"
android:overScrollMode=
"never"
/>
android:overScrollMode=
"never"
app:layoutManager=
"com.gingersoft.gsa.cloud.ui.recylcler.RecyclerViewNoBugLinearLayoutManager"
/>
</com.scwang.smartrefresh.layout.SmartRefreshLayout>
<com.qmuiteam.qmui.widget.QMUIEmptyView
...
...
component-table/src/main/res/layout/item_order_center.xml
View file @
68af5eba
...
...
@@ -4,38 +4,52 @@
android:id=
"@+id/ll_root_container"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp_5"
android:background=
"@drawable/selector_item_background"
android:layout_marginLeft=
"@dimen/dp_8"
android:layout_marginRight=
"@dimen/dp_8"
android:layout_marginBottom=
"@dimen/dp_5"
android:background=
"@drawable/shape_rect_radius_white_5"
android:orientation=
"vertical"
android:padding=
"@dimen/dp_8"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginBottom=
"@dimen/dp_5"
android:orientation=
"horizontal"
>
<CheckBox
android:id=
"@+id/cb_order"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:checked=
"true"
/>
<TextView
android:id=
"@+id/tv_table_name"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"center_vertical"
android:paddingLeft=
"@dimen/dp_5"
android:text=
"檯號:501"
android:textColor=
"@color/black"
android:textSize=
"@dimen/sp_18"
android:textStyle=
"bold"
/>
android:textStyle=
"bold"
android:checked=
"true"
/>
<TextView
android:id=
"@+id/tv_
order
_num"
android:layout_width=
"
wrap_content
"
android:id=
"@+id/tv_
people
_num"
android:layout_width=
"
0dp
"
android:layout_height=
"wrap_content"
android:layout_
gravity=
"center
"
android:
layout_marginLeft=
"@dimen/dp_20
"
android:text=
"
訂單:123456
"
android:layout_
weight=
"1
"
android:
gravity=
"right|center_vertical
"
android:text=
"
人數:2
"
android:textColor=
"@color/black"
android:textS
ize=
"@dimen/sp_14"
/>
android:textS
tyle=
"bold"
android:textSize=
"@dimen/sp_18"
/>
</LinearLayout>
<include
layout=
"@layout/include_horizontal_color_ccc_dividing_line"
/>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
...
...
@@ -52,20 +66,17 @@
android:textColor=
"@color/black"
android:textSize=
"@dimen/sp_14"
/>
<TextView
android:id=
"@+id/tv_
people
_num"
android:id=
"@+id/tv_
order
_num"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"right|center_vertical"
android:gravity=
"right"
android:text=
"
人數:2
"
android:text=
"
訂單:123456
"
android:textColor=
"@color/black"
android:textSize=
"@dimen/sp_14"
/>
</LinearLayout>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
...
...
@@ -84,16 +95,26 @@
android:textSize=
"@dimen/sp_14"
/>
<TextView
android:id=
"@+id/tv_pay_money"
android:id=
"@+id/tv_pay_money
_text
"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"right|center_vertical"
android:gravity=
"right"
android:text=
"金額:
$230
"
android:text=
"金額:"
android:textColor=
"@color/black"
android:textSize=
"@dimen/sp_18"
android:textStyle=
"bold"
/>
<TextView
android:id=
"@+id/tv_pay_money"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_gravity=
"right|center_vertical"
android:gravity=
"right"
android:text=
"$230"
android:textColor=
"#EC2D2D"
android:textSize=
"@dimen/sp_18"
android:textStyle=
"bold"
/>
</LinearLayout>
<LinearLayout
...
...
library-base/src/main/java/com/jess/arms/integration/AppManager.java
View file @
68af5eba
...
...
@@ -356,6 +356,28 @@ public final class AppManager {
}
}
/**
* 关闭指定的 {@link Activity} class 的所有的实例
*
* @param activityClassName
*/
public
void
killActivity
(
String
activityClassName
)
{
if
(
mActivityList
==
null
)
{
Timber
.
tag
(
TAG
).
w
(
"mActivityList == null when killActivity(Class)"
);
return
;
}
synchronized
(
AppManager
.
class
)
{
Iterator
<
Activity
>
iterator
=
getActivityList
().
iterator
();
while
(
iterator
.
hasNext
())
{
Activity
next
=
iterator
.
next
();
if
(
next
.
getClass
().
getSimpleName
().
equals
(
activityClassName
))
{
iterator
.
remove
();
next
.
finish
();
}
}
}
}
/**
* 指定的 {@link Activity} 实例是否存活
...
...
library-common/src/main/java/com/gingersoft/gsa/cloud/common/config/globalconfig/applyOptions/MyGlobalHttpHandler.java
View file @
68af5eba
...
...
@@ -13,7 +13,7 @@ public class MyGlobalHttpHandler implements GlobalHttpHandler {
@Override
public
Response
onHttpResultResponse
(
String
httpResult
,
Interceptor
.
Chain
chain
,
Response
response
)
{
// 统一处理http响应。eg:状态码不是200时,根据状态码做相应的处理。
LoganManager
.
w_network
(
"
發送
請求: "
+
httpResult
);
LoganManager
.
w_network
(
"
接收
請求: "
+
httpResult
);
return
response
;
}
...
...
@@ -21,7 +21,7 @@ public class MyGlobalHttpHandler implements GlobalHttpHandler {
public
Request
onHttpRequestBefore
(
Interceptor
.
Chain
chain
,
Request
request
)
{
// 统一处理http请求。eg:给request统一添加token或者header以及参数加密等操作
String
requestReult
=
request
.
toString
();
LoganManager
.
w_network
(
"
接收
請求: "
+
requestReult
);
LoganManager
.
w_network
(
"
發送
請求: "
+
requestReult
);
return
chain
.
request
().
newBuilder
()
.
build
();
}
...
...
library-common/src/main/java/com/gingersoft/gsa/cloud/common/oaId/defaultImp/DefaultDeviceIdUtils.java
View file @
68af5eba
...
...
@@ -38,7 +38,7 @@ import java.util.UUID;
*/
public
class
DefaultDeviceIdUtils
{
private
final
String
TAG
=
getClass
().
getSimpleName
()
;
private
static
final
String
TAG
=
"DefaultDeviceIdUtils"
;
/**
* 方案1:imei + android_id + serial + 硬件uuid(自生成)
* 如果,又想唯一,又不想因用户的删除而重新生成UUID,该怎么做呢?
...
...
@@ -82,7 +82,7 @@ public class DefaultDeviceIdUtils {
deviceId
=
SPDeviceId
.
getSPDeviceId
(
defaultDeviceId
);
}
}
LoganManager
.
w_code
(
"getDefaultDeviceIds"
,
"getDefaultDeviceIds = "
+
deviceId
);
LoganManager
.
w_code
(
TAG
,
"getDefaultDeviceIds = "
+
deviceId
);
return
deviceId
;
}
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/pos/PosPay.java
View file @
68af5eba
...
...
@@ -14,6 +14,7 @@ import com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.request.pos.RetrievalReque
import
com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.request.pos.SaleRequest
;
import
com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.request.pos.VoidRequest
;
import
com.gingersoft.gsa.cloud.pay.pos.hywebpos.command.CommandImpl
;
import
com.gingersoft.gsa.cloud.pay.pos.hywebpos.imp.PrintPaymentStubImpl
;
import
com.gingersoft.gsa.cloud.pay.pos.hywebpos.imp.RefundActionImpl
;
import
com.gingersoft.gsa.cloud.pay.pos.hywebpos.imp.RetrievalActionImpl
;
import
com.gingersoft.gsa.cloud.pay.pos.hywebpos.imp.SaleActionImpl
;
...
...
@@ -62,4 +63,8 @@ public final class PosPay {
PosPay
.
sendRequest
(
new
RetrievalActionImpl
(
context
,
iView
,
PosAction
.
RETRIEVAL
,
retrievalAction
,
orderId
,
request
,
onPosActionListener
,
false
));
}
public
static
void
printStub
(
Context
context
,
IView
iView
,
String
txnId
,
OnPosActionListener
onPosActionListener
)
{
PosPay
.
sendRequest
(
new
PrintPaymentStubImpl
(
context
,
iView
,
PosAction
.
PRINT
,
txnId
,
onPosActionListener
,
true
));
}
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/pos/hywebpos/bean/request/pos/PrintPaymentStubRequest.java
0 → 100644
View file @
68af5eba
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
pos
.
hywebpos
.
bean
.
request
.
pos
;
import
com.etps.aca.lib.constant.Constant
;
import
lombok.Data
;
/**
* @作者: bin
* @創建時間: 2021-01-12 14:20
* @更新時間: 2021-01-12 14:20
* @描述:
*/
@Data
public
class
PrintPaymentStubRequest
{
private
String
EVENT_NAME
=
Constant
.
EVENT
.
NAME
.
PRINT
;
private
String
TXN_ID
;
private
boolean
IS_REPRINT
;
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/pos/hywebpos/bean/response/pos/PrintPaymentStubResponse.java
0 → 100644
View file @
68af5eba
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
pos
.
hywebpos
.
bean
.
response
.
pos
;
import
android.os.Parcel
;
import
android.os.Parcelable
;
/**
* @作者: bin
* @創建時間: 2021-01-12 19:07
* @更新時間: 2021-01-12 19:07
* @描述:
*/
public
class
PrintPaymentStubResponse
extends
HywebPosResponse
implements
Parcelable
{
protected
PrintPaymentStubResponse
(
Parcel
in
)
{
super
(
in
);
}
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/pos/hywebpos/command/CommandImpl.java
View file @
68af5eba
...
...
@@ -18,6 +18,7 @@ import com.gingersoft.gsa.cloud.pay.contract.PayExceptionCode;
import
com.gingersoft.gsa.cloud.pay.pos.IPosAction
;
import
com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.response.pos.AdjustTipRespose
;
import
com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.response.pos.HywebPosResponse
;
import
com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.response.pos.PrintPaymentStubResponse
;
import
com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.response.pos.RefundRespose
;
import
com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.response.pos.RetrievalRespose
;
import
com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.response.pos.SaleRespose
;
...
...
@@ -134,6 +135,7 @@ public class CommandImpl implements ICommand {
/**
* 返回操作頁
*
* @param context
* @param currentActivity
*/
...
...
@@ -155,8 +157,8 @@ public class CommandImpl implements ICommand {
return
GsonUtils
.
GsonToBean
(
response
,
VoidRespose
.
class
);
case
com
.
etps
.
aca
.
lib
.
constant
.
Constant
.
EVENT
.
NAME
.
REFUND_RESP
:
return
GsonUtils
.
GsonToBean
(
response
,
RefundRespose
.
class
);
//
case com.etps.aca.lib.constant.Constant.EVENT.NAME.PRINT_RESP:
// return GsonUtils.GsonToBean(response, Printr
.class);
case
com
.
etps
.
aca
.
lib
.
constant
.
Constant
.
EVENT
.
NAME
.
PRINT_RESP
:
return
GsonUtils
.
GsonToBean
(
response
,
PrintPaymentStubResponse
.
class
);
case
com
.
etps
.
aca
.
lib
.
constant
.
Constant
.
EVENT
.
NAME
.
ADJUST_RESP
:
return
GsonUtils
.
GsonToBean
(
response
,
AdjustTipRespose
.
class
);
case
"RETRIEVAL_RESP"
:
...
...
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/pos/hywebpos/imp/PrintActionImpl.java
deleted
100644 → 0
View file @
036909d4
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
pos
.
hywebpos
.
imp
;
import
android.app.Activity
;
import
android.content.Context
;
import
com.gingersoft.gsa.cloud.pay.pos.IPosAction
;
import
com.gingersoft.gsa.cloud.pay.pos.PosAction
;
import
com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.response.pos.HywebPosResponse
;
import
com.jess.arms.mvp.IView
;
import
javax.inject.Inject
;
import
me.jessyan.rxerrorhandler.core.RxErrorHandler
;
/**
* @作者: bin
* @創建時間: 2020-12-26 10:38
* @更新時間: 2020-12-26 10:38
* @描述:
*/
public
class
PrintActionImpl
extends
IPosAction
{
public
PrintActionImpl
(
Context
context
,
IView
iView
,
PosAction
action
,
boolean
showLoading
)
{
super
(
context
,
iView
,
action
,
showLoading
);
}
@Override
protected
void
onPosActionBefore
()
{
}
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/pos/hywebpos/imp/PrintPaymentStubImpl.java
0 → 100644
View file @
68af5eba
package
com
.
gingersoft
.
gsa
.
cloud
.
pay
.
pos
.
hywebpos
.
imp
;
import
android.app.Activity
;
import
android.content.Context
;
import
com.gingersoft.gsa.cloud.common.utils.gson.GsonUtils
;
import
com.gingersoft.gsa.cloud.pay.pos.IPosAction
;
import
com.gingersoft.gsa.cloud.pay.pos.OnPosActionListener
;
import
com.gingersoft.gsa.cloud.pay.pos.PosAction
;
import
com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.request.pos.PrintPaymentStubRequest
;
import
com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.response.pos.HywebPosResponse
;
import
com.jess.arms.mvp.IView
;
/**
* @作者: bin
* @創建時間: 2021-01-12 14:47
* @更新時間: 2021-01-12 14:47
* @描述:
*/
public
class
PrintPaymentStubImpl
extends
IPosAction
{
private
String
mTxnId
;
public
PrintPaymentStubImpl
(
Context
context
,
IView
iView
,
PosAction
action
,
String
txnId
,
OnPosActionListener
onPosActionListener
,
boolean
showLoading
)
{
super
(
context
,
iView
,
action
,
showLoading
);
this
.
mTxnId
=
txnId
;
this
.
mOnPosActionListener
=
onPosActionListener
;
}
@Override
protected
void
onPosActionBefore
()
{
//打印存根
PrintPaymentStubRequest
stub
=
new
PrintPaymentStubRequest
();
stub
.
setTXN_ID
(
mTxnId
);
onPosToAction
(
GsonUtils
.
GsonString
(
stub
));
}
@Override
public
void
onPosSuccess
(
Context
context
,
HywebPosResponse
posResponse
,
Activity
originalActivity
)
{
super
.
onPosSuccess
(
context
,
posResponse
,
originalActivity
);
canCelLoadingDialog
();
if
(
mOnPosActionListener
!=
null
)
{
mOnPosActionListener
.
onPosSuccess
(
posResponse
);
}
}
@Override
public
void
onPosException
(
Exception
e
)
{
super
.
onPosException
(
e
);
canCelLoadingDialog
();
if
(
mOnPosActionListener
!=
null
)
{
mOnPosActionListener
.
onPosException
(
e
);
}
}
}
library-order/src/main/java/com/gingersoft/gsa/cloud/pay/pos/hywebpos/imp/SaleActionImpl.java
View file @
68af5eba
...
...
@@ -20,6 +20,7 @@ import com.gingersoft.gsa.cloud.pay.contract.PayExceptionCode;
import
com.gingersoft.gsa.cloud.pay.pos.IPosAction
;
import
com.gingersoft.gsa.cloud.pay.pos.OnPosActionListener
;
import
com.gingersoft.gsa.cloud.pay.pos.PosAction
;
import
com.gingersoft.gsa.cloud.pay.pos.PosPay
;
import
com.gingersoft.gsa.cloud.pay.pos.bean.PosMatter
;
import
com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.request.bg.GetTxnIdRequest
;
import
com.gingersoft.gsa.cloud.pay.pos.hywebpos.bean.request.pos.SaleRequest
;
...
...
@@ -157,6 +158,7 @@ public class SaleActionImpl extends IPosAction<SaleRespose> {
.
subscribe
(
new
Observer
<
String
>()
{
@Override
public
void
onSubscribe
(
Disposable
d
)
{
printPaymentStub
();
}
@Override
...
...
@@ -193,6 +195,12 @@ public class SaleActionImpl extends IPosAction<SaleRespose> {
});
}
/**
* 打印Hyweb支付存根
*/
private
void
printPaymentStub
()
{
PosPay
.
printStub
(
mContext
,
mView
,
mTxnIdResponse
.
getTxnId
(),
null
);
}
/**
* 2、顯示支付結果
...
...
library-print/src/main/java/com/gingersoft/gsa/cloud/print/bean/base/PrintFoodItem.java
View file @
68af5eba
...
...
@@ -19,6 +19,9 @@ public class PrintFoodItem implements Parcelable {
private
double
price
;
private
int
itemType
;
public
PrintFoodItem
()
{
}
public
PrintFoodItem
(
String
name
,
int
num
,
double
price
,
int
itemType
)
{
this
.
name
=
name
;
this
.
num
=
num
;
...
...
library-qm-arch-annotation/build.gradle
View file @
68af5eba
...
...
@@ -6,8 +6,8 @@ dependencies {
implementation
fileTree
(
dir:
'libs'
,
include:
[
'*.jar'
])
}
sourceCompatibility
=
"1.
7
"
targetCompatibility
=
"1.
7
"
sourceCompatibility
=
"1.
8
"
targetCompatibility
=
"1.
8
"
// deploy
File
deployConfig
=
rootProject
.
file
(
'gradle/deploy.properties'
)
...
...
library-ui/src/main/java/com/gingersoft/gsa/cloud/ui/
view/RecyclerViewNoBugLinear
LayoutManager.java
→
library-ui/src/main/java/com/gingersoft/gsa/cloud/ui/
recylcler/RecyclerViewNoBugGrid
LayoutManager.java
View file @
68af5eba
package
com
.
gingersoft
.
gsa
.
cloud
.
ui
.
view
;
package
com
.
gingersoft
.
gsa
.
cloud
.
ui
.
recylcler
;
import
android.content.Context
;
import
android.util.AttributeSet
;
import
androidx.recyclerview.widget.GridLayoutManager
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
...
...
@@ -12,17 +14,10 @@ import androidx.recyclerview.widget.RecyclerView;
* 修订历史:2019-10-26
* 描述:
*/
public
class
RecyclerViewNoBugLinearLayoutManager
extends
LinearLayoutManager
{
public
RecyclerViewNoBugLinearLayoutManager
(
Context
context
)
{
super
(
context
);
}
public
class
RecyclerViewNoBugGridLayoutManager
extends
GridLayoutManager
{
public
RecyclerViewNoBugLinearLayoutManager
(
Context
context
,
int
orientation
,
boolean
reverseLayout
)
{
super
(
context
,
orientation
,
reverseLayout
);
}
public
RecyclerViewNoBug
Linear
LayoutManager
(
Context
context
,
AttributeSet
attrs
,
int
defStyleAttr
,
int
defStyleRes
)
{
public
RecyclerViewNoBug
Grid
LayoutManager
(
Context
context
,
AttributeSet
attrs
,
int
defStyleAttr
,
int
defStyleRes
)
{
super
(
context
,
attrs
,
defStyleAttr
,
defStyleRes
);
}
...
...
library-ui/src/main/java/com/gingersoft/gsa/cloud/ui/view/base/NoScrollGridView.java
View file @
68af5eba
...
...
@@ -9,22 +9,18 @@ public class NoScrollGridView extends GridView {
public
NoScrollGridView
(
Context
context
)
{
super
(
context
);
// TODO Auto-generated constructor stub
}
public
NoScrollGridView
(
Context
context
,
AttributeSet
attrs
)
{
super
(
context
,
attrs
);
// TODO Auto-generated constructor stub
}
public
NoScrollGridView
(
Context
context
,
AttributeSet
attrs
,
int
defStyle
)
{
super
(
context
,
attrs
,
defStyle
);
// TODO Auto-generated constructor stub
}
@Override
protected
void
onMeasure
(
int
widthMeasureSpec
,
int
heightMeasureSpec
)
{
// TODO Auto-generated method stub
int
expandSpec
=
MeasureSpec
.
makeMeasureSpec
(
Integer
.
MAX_VALUE
>>
2
,
MeasureSpec
.
AT_MOST
);
super
.
onMeasure
(
widthMeasureSpec
,
expandSpec
);
}
...
...
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