Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
T
TangKuPos
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王海
TangKuPos
Commits
eafa1f54
Commit
eafa1f54
authored
Jan 18, 2018
by
zhang_z
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加微信支付;
parent
63cad057
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
270 additions
and
53 deletions
+270
-53
app/src/main/java/com/xingdata/zzdpos/api/ErrorFilter.java
app/src/main/java/com/xingdata/zzdpos/api/ErrorFilter.java
+2
-2
app/src/main/java/com/xingdata/zzdpos/api/Jni.java
app/src/main/java/com/xingdata/zzdpos/api/Jni.java
+2
-2
app/src/main/java/com/xingdata/zzdpos/api/JniFactory.java
app/src/main/java/com/xingdata/zzdpos/api/JniFactory.java
+25
-2
app/src/main/java/com/xingdata/zzdpos/api/JniService.java
app/src/main/java/com/xingdata/zzdpos/api/JniService.java
+1
-1
app/src/main/java/com/xingdata/zzdpos/api/Pay.java
app/src/main/java/com/xingdata/zzdpos/api/Pay.java
+4
-6
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/view/GroupCateView.java
...m/xingdata/zzdpos/ui/marketing/ms/view/GroupCateView.java
+3
-1
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettleActivity.java
...in/java/com/xingdata/zzdpos/ui/settle/SettleActivity.java
+20
-4
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettleContract.java
...in/java/com/xingdata/zzdpos/ui/settle/SettleContract.java
+11
-2
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettlePresenter.java
...n/java/com/xingdata/zzdpos/ui/settle/SettlePresenter.java
+83
-24
app/src/main/java/com/xingdata/zzdpos/ui/settle/dialog/PasswordDialog.java
.../com/xingdata/zzdpos/ui/settle/dialog/PasswordDialog.java
+9
-1
app/src/main/java/com/xingdata/zzdpos/ui/settle/dialog/PayingDialog.java
...va/com/xingdata/zzdpos/ui/settle/dialog/PayingDialog.java
+55
-0
app/src/main/java/com/xingdata/zzdpos/ui/settle/fragment/SettleFragment.java
...om/xingdata/zzdpos/ui/settle/fragment/SettleFragment.java
+1
-0
app/src/main/java/com/xingdata/zzdpos/util/SystemUtil.java
app/src/main/java/com/xingdata/zzdpos/util/SystemUtil.java
+4
-4
app/src/main/res/layout/dialog_base.xml
app/src/main/res/layout/dialog_base.xml
+6
-4
app/src/main/res/layout/dialog_settle_paying.xml
app/src/main/res/layout/dialog_settle_paying.xml
+44
-0
No files found.
app/src/main/java/com/xingdata/zzdpos/api/ErrorFilter.java
View file @
eafa1f54
...
...
@@ -16,8 +16,8 @@ class ErrorFilter<T> implements Function<Throwable, HttpMessage<T>> {
@Override
public
HttpMessage
<
T
>
apply
(
@NonNull
Throwable
throwable
)
throws
Exception
{
LogUtils
.
e
(
throwable
.
getMessage
());
if
(
throwable
!=
null
)
LogUtils
.
e
(
throwable
.
getMessage
());
//可根据Throwable具体区分,现在先统一变成服务器异常
return
new
HttpMessage
<>(
C
.
RETURN_CODE
.
SERVER_ERR
,
C
.
RETURN_INFO
.
SERVER_ERR_INFO
);
return
new
HttpMessage
<>(
C
.
RETURN_CODE
.
SERVER_ERR
,
C
.
RETURN_INFO
.
SERVER_ERR_INFO
);
}
}
\ No newline at end of file
app/src/main/java/com/xingdata/zzdpos/api/Jni.java
View file @
eafa1f54
...
...
@@ -63,8 +63,8 @@ public class Jni {
//Client
OkHttpClient
okHttpClient
=
new
OkHttpClient
.
Builder
()
.
readTimeout
(
C
.
API_BUILDER
.
READ_TIMEOUT
,
TimeUnit
.
MILLISECONDS
)
.
connectTimeout
(
C
.
API_BUILDER
.
CONNECT_TIMEOUT
,
TimeUnit
.
MILLISECONDS
)
.
readTimeout
(
C
.
API_BUILDER
.
READ_TIMEOUT
*
20
,
TimeUnit
.
MILLISECONDS
)
.
connectTimeout
(
C
.
API_BUILDER
.
CONNECT_TIMEOUT
*
20
,
TimeUnit
.
MILLISECONDS
)
.
addInterceptor
(
headInterceptor
)
.
addInterceptor
(
logInterceptor
)
.
cookieJar
(
cookieJar
)
...
...
app/src/main/java/com/xingdata/zzdpos/api/JniFactory.java
View file @
eafa1f54
package
com
.
xingdata
.
zzdpos
.
api
;
import
com.alibaba.fastjson.JSON
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
io.reactivex.Observable
;
import
io.reactivex.android.schedulers.AndroidSchedulers
;
import
io.reactivex.schedulers.Schedulers
;
public
class
JniFactory
{
public
static
class
Settle
{
public
static
Observable
<
Pay
.
Response
>
pay
(
String
str
)
{
return
Jni
.
getInstance
().
service
.
pay
(
str
)
private
static
Pay
.
Request
q
;
public
static
Observable
<
String
>
pay
(
int
payChannel
,
String
payCode
,
Long
orderAmt
,
String
orderNo
)
{
q
=
new
Pay
.
Request
();
q
.
setPayChannelType
(
payChannel
+
""
);
q
.
setOrderType
(
"01"
);
q
.
setOrderAmt
(
ConvertUtil
.
longToString
(
orderAmt
));
q
.
setChannelAuthCode
(
payCode
);
q
.
setOrderNo
(
orderNo
);
q
.
setOldOrderNo
(
orderNo
);
return
Jni
.
getInstance
().
service
.
pay
(
JSON
.
toJSONString
(
q
))
.
onErrorReturn
(
new
ErrorFilter
<>())
.
map
(
new
ResultFilter
<>())
.
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
());
}
public
static
Observable
<
String
>
query
()
{
q
.
setOrderType
(
"02"
);
return
Jni
.
getInstance
().
service
.
pay
(
JSON
.
toJSONString
(
q
))
.
onErrorReturn
(
new
ErrorFilter
<>())
.
map
(
new
ResultFilter
<>())
.
subscribeOn
(
Schedulers
.
io
())
.
observeOn
(
AndroidSchedulers
.
mainThread
());
}
}
}
app/src/main/java/com/xingdata/zzdpos/api/JniService.java
View file @
eafa1f54
...
...
@@ -8,5 +8,5 @@ import retrofit2.http.Query;
interface
JniService
{
@GET
(
C
.
URL
.
TEMP_PAY
.
pay
)
Observable
<
HttpMessage
<
Pay
.
Response
>>
pay
(
@Query
(
"para"
)
String
str
);
Observable
<
HttpMessage
<
String
>>
pay
(
@Query
(
"para"
)
String
str
);
}
app/src/main/java/com/xingdata/zzdpos/api/Pay.java
View file @
eafa1f54
...
...
@@ -10,13 +10,11 @@ import java.util.Locale;
public
class
Pay
{
public
static
class
Request
{
public
Request
(
int
payChannelType
)
{
setOrderType
(
"01"
);
setPayChannelType
(
payChannelType
+
""
);
setDeviceType
(
"02"
);
public
Request
()
{
setDeviceType
(
"01"
);
setMch_id
(
"11"
);
setTer_id
(
"00000011"
);
setOrderDateTime
(
TimeUtils
.
getNowString
(
new
SimpleDateFormat
(
"yyyy
mmddHHMMSS
"
,
Locale
.
getDefault
())));
setOrderDateTime
(
TimeUtils
.
getNowString
(
new
SimpleDateFormat
(
"yyyy
MMddHHmmss
"
,
Locale
.
getDefault
())));
setCurrencyType
(
"156"
);
setOrderName
(
"测试"
);
setKey
(
"Key"
);
...
...
@@ -201,7 +199,7 @@ public class Pay {
}
}
public
class
Response
{
public
static
class
Response
{
private
int
OrderType
;
private
String
ResponseCode
;
private
String
ResponseMsg
;
...
...
app/src/main/java/com/xingdata/zzdpos/ui/marketing/ms/view/GroupCateView.java
View file @
eafa1f54
...
...
@@ -80,7 +80,9 @@ public class GroupCateView extends BaseGroupView<ViewGroupCateBinding> {
@Override
public
void
initView
()
{
super
.
initView
();
if
(
mMs
!=
null
)
cateId
=
mMs
.
getSpuCateId
();
if
(
mMs
!=
null
&&
mMs
.
getSpuCateId
()
!=
null
)
{
cateId
=
mMs
.
getSpuCateId
();
}
loadCla
();
mViewBinding
.
nsType1
.
setOnItemSelectedListener
(
mOnItemSelectedListener
);
...
...
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettleActivity.java
View file @
eafa1f54
...
...
@@ -17,8 +17,9 @@ import com.xingdata.zzdpos.model.Vip;
import
com.xingdata.zzdpos.ui.dialog.LoadingDialog
;
import
com.xingdata.zzdpos.ui.main.MainActivity
;
import
com.xingdata.zzdpos.ui.scan.ScanFragment
;
import
com.xingdata.zzdpos.ui.settle.fragment.CashPayFragment
;
import
com.xingdata.zzdpos.ui.settle.dialog.PasswordDialog
;
import
com.xingdata.zzdpos.ui.settle.dialog.PayingDialog
;
import
com.xingdata.zzdpos.ui.settle.fragment.CashPayFragment
;
import
com.xingdata.zzdpos.ui.settle.fragment.PayResultFragment
;
import
com.xingdata.zzdpos.ui.settle.fragment.SettleFragment
;
import
com.xingdata.zzdpos.ui.settle.fragment.TicketFragment
;
...
...
@@ -39,6 +40,9 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
private
PayResultFragment
mPayResultFragment
=
new
PayResultFragment
();
private
LoadingDialog
mLoadingDialog
=
new
LoadingDialog
();
private
PayingDialog
mPayingDialog
=
new
PayingDialog
();
private
ScanFragment
mScanFragment
=
new
ScanFragment
();
@Override
public
int
getLayoutId
()
{
...
...
@@ -132,10 +136,15 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
case
C
.
PAY_CHANNEL
.
CARD
:
mPasswordDialog
.
setSaleorder
(
saleorder
).
show
(
this
);
break
;
case
C
.
PAY_CHANNEL
.
BANK
:
case
C
.
PAY_CHANNEL
.
ALI
:
showMsg
(
"暂时无法使用"
);
break
;
case
C
.
PAY_CHANNEL
.
WECHAT
:
ScanFragment
mScanFragment
=
new
ScanFragment
();
mScanFragment
.
setOnScanCompletedListener
(
barcode
->
mPresenter
.
payInAli
(
barcode
));
mScanFragment
.
setOnScanCompletedListener
(
barcode
->
{
this
.
pop
();
mPresenter
.
payInWechat
(
barcode
);
});
this
.
start
(
mScanFragment
);
break
;
}
...
...
@@ -143,7 +152,6 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
@Override
public
void
changeLockState
(
boolean
isLock
)
{
}
@Override
...
...
@@ -161,6 +169,7 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
this
.
start
(
mPayResultFragment
.
setResult
(
true
).
setSaleorder
(
saleorder
));
this
.
showTitleBarByTitleMode
(
C
.
TITLE_MODE
.
TEXT
);
mViewBinding
.
tvTitle
.
setText
(
R
.
string
.
settle_pay_result_title
);
mPayingDialog
.
dismiss
();
}
@Override
...
...
@@ -168,8 +177,15 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
this
.
start
(
mPayResultFragment
.
setResult
(
false
).
setSaleorder
(
saleorder
));
this
.
showTitleBarByTitleMode
(
C
.
TITLE_MODE
.
TEXT
);
mViewBinding
.
tvTitle
.
setText
(
R
.
string
.
settle_pay_result_title
);
mPayingDialog
.
dismiss
();
}
@Override
public
void
showPayingDialog
(
int
payType
,
com
.
xingdata
.
zzdpos
.
api
.
Pay
.
Response
response
)
{
mPayingDialog
.
setType
(
payType
).
setResponse
(
response
).
show
(
this
);
}
@Override
public
void
backToSettleFragment
()
{
this
.
popTo
(
mSettleFragment
.
getClass
(),
false
);
...
...
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettleContract.java
View file @
eafa1f54
...
...
@@ -126,6 +126,11 @@ interface SettleContract {
*/
void
showPayFailFragment
(
Throwable
throwable
,
Saleorder
saleorder
);
/**
* 显示支付中页面
*/
void
showPayingDialog
(
int
payType
,
com
.
xingdata
.
zzdpos
.
api
.
Pay
.
Response
response
);
/**
* 返回结算主页面
*/
...
...
@@ -248,7 +253,12 @@ interface SettleContract {
/**
* 赊账结算页面 - 赊账
*/
public
abstract
void
payInTally
();
public
abstract
void
payInTally
(
String
password
);
/**
* 支付中页面 - 查看支付状态
*/
public
abstract
void
checkPayState
();
/**
* 支付结果页面 - 完成订单
...
...
@@ -260,7 +270,6 @@ interface SettleContract {
*/
public
abstract
void
clickRetry
();
/**
* 退出会员查询页面
*/
...
...
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettlePresenter.java
View file @
eafa1f54
...
...
@@ -7,7 +7,6 @@ import com.xingdata.api.print.ZX_PrintPOS;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.api.ApiFactory
;
import
com.xingdata.zzdpos.api.JniFactory
;
import
com.xingdata.zzdpos.api.Pay
;
import
com.xingdata.zzdpos.db.DBFactory
;
import
com.xingdata.zzdpos.model.HandoverInfo
;
import
com.xingdata.zzdpos.model.Ms
;
...
...
@@ -17,7 +16,6 @@ import com.xingdata.zzdpos.model.Ticket;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.ui.main.MainActivity
;
import
com.xingdata.zzdpos.ui.main.MainPresenter
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
java.util.ArrayList
;
import
java.util.List
;
...
...
@@ -221,35 +219,63 @@ public class SettlePresenter extends SettleContract.Presenter {
@Override
public
void
payInCash
(
Long
inputAmt
,
Long
changeAmt
)
{
subscribePay
(
commitOrder
().
flatMap
(
orderNo
->
ApiFactory
.
Saleorder
.
addOrderPayMis
(
mSaleorder
.
pay
(
orderNo
,
C
.
PAY_CHANNEL
.
CASH
))));
mView
.
showLoadingDialog
();
subscribePay
(
commitOrder
().
flatMap
(
orderNo
->
ApiFactory
.
Saleorder
.
addOrderPayMis
(
mSaleorder
.
pay
(
orderNo
,
C
.
PAY_CHANNEL
.
CASH
)).
doFinally
(()
->
mView
.
dismissLoadingDialog
())));
}
@Override
public
void
payInAli
(
String
payCode
)
{
Pay
.
Request
q
=
new
Pay
.
Request
(
C
.
PAY_CHANNEL
.
ALI
);
q
.
setOrderAmt
(
ConvertUtil
.
longToString
(
mSaleorder
.
getOrderPayAmt
()));
q
.
setChannelAuthCode
(
payCode
);
subscribePay
(
commitOrder
()
.
flatMap
(
s
->
{
q
.
setOrderNo
(
s
);
q
.
setOldOrderNo
(
s
);
return
JniFactory
.
Settle
.
pay
(
JSON
.
toJSONString
(
q
));
}).
flatMap
(
response
->
ApiFactory
.
Saleorder
.
addOrderPayMis
(
mSaleorder
.
pay
(
q
.
getOrderNo
(),
C
.
PAY_CHANNEL
.
ALI
))));
mView
.
showLoadingDialog
();
commitOrder
()
.
flatMap
(
orderNo
->
{
return
JniFactory
.
Settle
.
pay
(
C
.
PAY_CHANNEL
.
ALI
,
payCode
,
mSaleorder
.
getOrderPayAmt
(),
orderNo
);
})
.
doFinally
(()
->
mView
.
dismissLoadingDialog
())
.
subscribe
(
response
->
{
com
.
xingdata
.
zzdpos
.
api
.
Pay
.
Response
r1
=
JSON
.
parseObject
(
response
.
replace
(
"\\"
,
""
),
com
.
xingdata
.
zzdpos
.
api
.
Pay
.
Response
.
class
);
switch
(
r1
.
getResponseCode
())
{
case
"0000"
:
subscribePay
(
commitOrder
().
flatMap
(
orderNo
->
ApiFactory
.
Saleorder
.
addOrderPayMis
(
mSaleorder
.
pay
(
orderNo
,
C
.
PAY_CHANNEL
.
ALI
)).
doFinally
(()
->
mView
.
dismissLoadingDialog
())));
break
;
case
"0098"
:
mView
.
showPayingDialog
(
C
.
PAY_CHANNEL
.
ALI
,
r1
);
break
;
default
:
mView
.
showPayFailFragment
(
null
,
mSaleorder
);
break
;
}
},
throwable
->
{
mView
.
showPayFailFragment
(
throwable
,
mSaleorder
);
});
// .flatMap(response -> {
// return ApiFactory.Saleorder.addOrderPayMis(mSaleorder.pay(response.getOrderNo(), C.PAY_CHANNEL.ALI));
// });
}
@Override
public
void
payInWechat
(
String
payCode
)
{
Pay
.
Request
q
=
new
Pay
.
Request
(
C
.
PAY_CHANNEL
.
WECHAT
);
q
.
setOrderAmt
(
ConvertUtil
.
longToString
(
mSaleorder
.
getOrderPayAmt
()));
q
.
setChannelAuthCode
(
payCode
);
subscribePay
(
commitOrder
()
.
flatMap
(
s
->
{
q
.
setOrderNo
(
s
);
q
.
setOldOrderNo
(
s
);
return
JniFactory
.
Settle
.
pay
(
JSON
.
toJSONString
(
q
));
mView
.
showLoadingDialog
();
commitOrder
()
.
flatMap
(
orderNo
->
{
return
JniFactory
.
Settle
.
pay
(
C
.
PAY_CHANNEL
.
WECHAT
,
payCode
,
mSaleorder
.
getOrderPayAmt
(),
orderNo
);
})
.
flatMap
(
response
->
ApiFactory
.
Saleorder
.
addOrderPayMis
(
mSaleorder
.
pay
(
q
.
getOrderNo
(),
C
.
PAY_CHANNEL
.
WECHAT
))));
.
doFinally
(()
->
mView
.
dismissLoadingDialog
())
.
subscribe
(
response
->
{
com
.
xingdata
.
zzdpos
.
api
.
Pay
.
Response
r1
=
JSON
.
parseObject
(
response
.
replace
(
"\\"
,
""
),
com
.
xingdata
.
zzdpos
.
api
.
Pay
.
Response
.
class
);
switch
(
r1
.
getResponseCode
())
{
case
"0000"
:
subscribePay
(
commitOrder
().
flatMap
(
orderNo
->
ApiFactory
.
Saleorder
.
addOrderPayMis
(
mSaleorder
.
pay
(
orderNo
,
C
.
PAY_CHANNEL
.
WECHAT
)).
doFinally
(()
->
mView
.
dismissLoadingDialog
())));
break
;
case
"0098"
:
mView
.
showPayingDialog
(
C
.
PAY_CHANNEL
.
WECHAT
,
r1
);
break
;
default
:
mView
.
showPayFailFragment
(
null
,
mSaleorder
);
break
;
}
},
throwable
->
{
mView
.
showPayFailFragment
(
throwable
,
mSaleorder
);
});
}
@Override
...
...
@@ -261,14 +287,47 @@ public class SettlePresenter extends SettleContract.Presenter {
ApiFactory
.
Recard
.
checkPwd
(
mVip
.
getVipId
(),
String
.
valueOf
(
cardNo
),
password
).
subscribe
(
b
->
{
mView
.
dismissPasswordDialog
();
subscribePay
(
commitOrder
().
flatMap
(
orderNo
->
ApiFactory
.
Saleorder
.
addOrderPayMis
(
mSaleorder
.
pay
(
orderNo
,
C
.
PAY_CHANNEL
.
CARD
,
String
.
valueOf
(
cardNo
)))));
mView
.
showLoadingDialog
();
subscribePay
(
commitOrder
().
flatMap
(
orderNo
->
ApiFactory
.
Saleorder
.
addOrderPayMis
(
mSaleorder
.
pay
(
orderNo
,
C
.
PAY_CHANNEL
.
CARD
,
String
.
valueOf
(
cardNo
))).
doFinally
(()
->
mView
.
dismissLoadingDialog
())));
},
throwable
->
mView
.
showMsg
(
"密码错误"
)
);
}
@Override
public
void
payInTally
(
String
password
)
{
ApiFactory
.
Recard
.
checkPwd
(
mVip
.
getVipId
(),
String
.
valueOf
(
0L
),
password
).
subscribe
(
b
->
{
mView
.
dismissPasswordDialog
();
mView
.
showLoadingDialog
();
subscribePay
(
commitOrder
().
flatMap
(
orderNo
->
ApiFactory
.
Saleorder
.
addOrderPayMis
(
mSaleorder
.
pay
(
orderNo
,
C
.
PAY_CHANNEL
.
TALLY
)).
doFinally
(()
->
mView
.
dismissLoadingDialog
())));
},
throwable
->
mView
.
showMsg
(
"密码错误"
)
);
}
@Override
public
void
payInTally
()
{
public
void
checkPayState
()
{
mView
.
showLoadingDialog
();
JniFactory
.
Settle
.
query
()
.
doFinally
(()
->
mView
.
dismissLoadingDialog
())
.
subscribe
(
s
->
{
com
.
xingdata
.
zzdpos
.
api
.
Pay
.
Response
r1
=
JSON
.
parseObject
(
s
.
replace
(
"\\"
,
""
),
com
.
xingdata
.
zzdpos
.
api
.
Pay
.
Response
.
class
);
switch
(
r1
.
getResponseCode
())
{
case
"0000"
:
subscribePay
(
commitOrder
().
flatMap
(
orderNo
->
ApiFactory
.
Saleorder
.
addOrderPayMis
(
mSaleorder
.
pay
(
orderNo
,
C
.
PAY_CHANNEL
.
ALI
)).
doFinally
(()
->
mView
.
dismissLoadingDialog
())));
break
;
case
"0098"
:
mView
.
showMsg
(
"交易处理中"
);
break
;
default
:
mView
.
showPayFailFragment
(
null
,
mSaleorder
);
break
;
}
},
throwable
->
{
mView
.
showPayFailFragment
(
throwable
,
mSaleorder
);
});
}
@Override
...
...
app/src/main/java/com/xingdata/zzdpos/ui/settle/dialog/PasswordDialog.java
View file @
eafa1f54
...
...
@@ -129,7 +129,15 @@ public class PasswordDialog extends BaseSheetDialog<SettlePresenter, DialogPassw
}
if
(
strPassword
.
length
()
<
6
)
return
;
mPresenter
.
payInCard
(
0L
,
strPassword
.
toString
());
switch
(
mPayType
)
{
case
C
.
PAY_CHANNEL
.
CARD
:
mPresenter
.
payInCard
(
0L
,
strPassword
.
toString
());
break
;
case
C
.
PAY_CHANNEL
.
TALLY
:
mPresenter
.
payInTally
(
strPassword
.
toString
());
break
;
}
}
/**
...
...
app/src/main/java/com/xingdata/zzdpos/ui/settle/dialog/PayingDialog.java
0 → 100644
View file @
eafa1f54
package
com
.
xingdata
.
zzdpos
.
ui
.
settle
.
dialog
;
import
android.content.DialogInterface
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.api.Pay
;
import
com.xingdata.zzdpos.base.BaseDialog
;
import
com.xingdata.zzdpos.databinding.DialogSettlePayingBinding
;
import
com.xingdata.zzdpos.ui.settle.SettlePresenter
;
public
class
PayingDialog
extends
BaseDialog
<
SettlePresenter
,
DialogSettlePayingBinding
>
{
private
int
mType
;
private
Pay
.
Response
mResponse
;
@Override
protected
boolean
isEasy
()
{
return
true
;
}
@Override
public
int
getLayoutId
()
{
return
R
.
layout
.
dialog_settle_paying
;
}
@Override
public
void
initView
()
{
mViewBinding
.
tvCheck
.
setOnClickListener
(
view
->
mPresenter
.
checkPayState
());
switch
(
mType
)
{
case
C
.
PAY_CHANNEL
.
ALI
:
mViewBinding
.
ivLogo
.
setImageResource
(
R
.
mipmap
.
pay_alipay
);
break
;
case
C
.
PAY_CHANNEL
.
WECHAT
:
mViewBinding
.
ivLogo
.
setImageResource
(
R
.
mipmap
.
pay_wechat
);
break
;
}
}
@Override
public
void
onDismiss
(
DialogInterface
dialog
)
{
super
.
onDismiss
(
dialog
);
}
public
PayingDialog
setType
(
int
type
)
{
this
.
mType
=
type
;
return
this
;
}
public
PayingDialog
setResponse
(
Pay
.
Response
response
)
{
this
.
mResponse
=
response
;
return
this
;
}
}
app/src/main/java/com/xingdata/zzdpos/ui/settle/fragment/SettleFragment.java
View file @
eafa1f54
...
...
@@ -94,6 +94,7 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle
case
C
.
SETTLE_MODE
.
PAYMENT
:
mViewBinding
.
llStore
.
setVisibility
(
View
.
GONE
);
mPresenter
.
initPaymentInfo
();
BottomSheetBehavior
.
from
(
mViewBinding
.
llSheet
).
setState
(
BottomSheetBehavior
.
STATE_EXPANDED
);
break
;
case
C
.
SETTLE_MODE
.
STORE
:
mViewBinding
.
llStore
.
setVisibility
(
View
.
VISIBLE
);
...
...
app/src/main/java/com/xingdata/zzdpos/util/SystemUtil.java
View file @
eafa1f54
...
...
@@ -28,8 +28,8 @@ public final class SystemUtil {
* @return 设备型号
*/
public
static
String
getDeviceModel
()
{
return
DeviceUtils
.
getModel
();
//
return "AECRC10";
//
return DeviceUtils.getModel();
return
"AECRC10"
;
}
...
...
@@ -57,8 +57,8 @@ public final class SystemUtil {
e
.
printStackTrace
();
}
}
return
deviceSN
;
//
return "548496";
//
return deviceSN;
return
"548496"
;
}
/**
...
...
app/src/main/res/layout/dialog_base.xml
View file @
eafa1f54
...
...
@@ -6,17 +6,19 @@
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:background=
"@color/
lyt_main_bg
"
android:background=
"@color/
gray_zhouyu
"
android:orientation=
"vertical"
>
<TextView
android:id=
"@+id/tv_title"
style=
"@style/dialog_title"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginBottom=
"@dimen/all_padding"
/>
android:layout_height=
"wrap_content"
/>
<View
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/all_line_width"
android:background=
"@color/gray_kongming"
/>
<ViewStub
android:id=
"@+id/vs_center"
...
...
app/src/main/res/layout/dialog_settle_paying.xml
0 → 100644
View file @
eafa1f54
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<LinearLayout
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:background=
"@color/white_caocao"
android:gravity=
"center_vertical"
android:orientation=
"horizontal"
android:paddingBottom=
"@dimen/all_margin_big"
android:paddingTop=
"@dimen/all_margin_big"
>
<ImageView
android:id=
"@+id/iv_logo"
android:layout_width=
"36dp"
android:layout_height=
"36dp"
android:layout_marginStart=
"@dimen/all_margin"
android:src=
"@mipmap/pay_alipay"
/>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"@dimen/all_margin_big_big"
android:layout_marginStart=
"@dimen/all_margin"
android:text=
"支付中…"
android:textColor=
"@color/black_baozheng"
android:textSize=
"@dimen/all_sub_title_size"
android:textStyle=
"bold"
/>
<TextView
android:id=
"@+id/tv_check"
android:layout_width=
"@dimen/button2_width"
android:layout_height=
"@dimen/button2_height"
android:layout_marginEnd=
"@dimen/all_margin"
android:background=
"@drawable/shape_red_round_rectangle_more_round"
android:foreground=
"?android:attr/actionBarItemBackground"
android:gravity=
"center"
android:text=
"支付状态"
android:textColor=
"@color/white_caocao"
android:textSize=
"@dimen/all_text_size"
/>
</LinearLayout>
</layout>
\ 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