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
c07e5af8
Commit
c07e5af8
authored
Dec 22, 2017
by
zhang_z
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
收款;
parent
4f0dcac5
Changes
25
Hide whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
178 additions
and
80 deletions
+178
-80
app/src/main/java/com/xingdata/zzdpos/base/BaseActivity.java
app/src/main/java/com/xingdata/zzdpos/base/BaseActivity.java
+4
-6
app/src/main/java/com/xingdata/zzdpos/base/BasePresenter.java
...src/main/java/com/xingdata/zzdpos/base/BasePresenter.java
+0
-1
app/src/main/java/com/xingdata/zzdpos/db/DBFactory.java
app/src/main/java/com/xingdata/zzdpos/db/DBFactory.java
+35
-2
app/src/main/java/com/xingdata/zzdpos/model/Pay.java
app/src/main/java/com/xingdata/zzdpos/model/Pay.java
+7
-40
app/src/main/java/com/xingdata/zzdpos/ui/payment/PaymentPresenter.java
...java/com/xingdata/zzdpos/ui/payment/PaymentPresenter.java
+8
-0
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettleActivity.java
...in/java/com/xingdata/zzdpos/ui/settle/SettleActivity.java
+7
-1
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettleContract.java
...in/java/com/xingdata/zzdpos/ui/settle/SettleContract.java
+17
-4
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettlePresenter.java
...n/java/com/xingdata/zzdpos/ui/settle/SettlePresenter.java
+54
-19
app/src/main/java/com/xingdata/zzdpos/ui/settle/adapter/PayAdapter.java
...ava/com/xingdata/zzdpos/ui/settle/adapter/PayAdapter.java
+23
-0
app/src/main/java/com/xingdata/zzdpos/ui/settle/fragment/SettleFragment.java
...om/xingdata/zzdpos/ui/settle/fragment/SettleFragment.java
+19
-5
app/src/main/java/com/xingdata/zzdpos/util/SystemUtil.java
app/src/main/java/com/xingdata/zzdpos/util/SystemUtil.java
+1
-1
app/src/main/res/layout/fragment_pay_cash.xml
app/src/main/res/layout/fragment_pay_cash.xml
+1
-0
app/src/main/res/layout/item_pay.xml
app/src/main/res/layout/item_pay.xml
+2
-1
app/src/main/res/mipmap-hdpi/pay_chuzhi.png
app/src/main/res/mipmap-hdpi/pay_chuzhi.png
+0
-0
app/src/main/res/mipmap-hdpi/pay_chuzhi_no.png
app/src/main/res/mipmap-hdpi/pay_chuzhi_no.png
+0
-0
app/src/main/res/mipmap-hdpi/pay_shezhang.png
app/src/main/res/mipmap-hdpi/pay_shezhang.png
+0
-0
app/src/main/res/mipmap-hdpi/pay_shezhang_no.png
app/src/main/res/mipmap-hdpi/pay_shezhang_no.png
+0
-0
app/src/main/res/mipmap-hdpi/pay_weixin.png
app/src/main/res/mipmap-hdpi/pay_weixin.png
+0
-0
app/src/main/res/mipmap-hdpi/pay_weixin_no.png
app/src/main/res/mipmap-hdpi/pay_weixin_no.png
+0
-0
app/src/main/res/mipmap-hdpi/pay_xianjin.png
app/src/main/res/mipmap-hdpi/pay_xianjin.png
+0
-0
app/src/main/res/mipmap-hdpi/pay_xianjin_no.png
app/src/main/res/mipmap-hdpi/pay_xianjin_no.png
+0
-0
app/src/main/res/mipmap-hdpi/pay_yinlian.png
app/src/main/res/mipmap-hdpi/pay_yinlian.png
+0
-0
app/src/main/res/mipmap-hdpi/pay_yinlian_no.png
app/src/main/res/mipmap-hdpi/pay_yinlian_no.png
+0
-0
app/src/main/res/mipmap-hdpi/pay_zhifubao.png
app/src/main/res/mipmap-hdpi/pay_zhifubao.png
+0
-0
app/src/main/res/mipmap-hdpi/pay_zhifubao_no.png
app/src/main/res/mipmap-hdpi/pay_zhifubao_no.png
+0
-0
No files found.
app/src/main/java/com/xingdata/zzdpos/base/BaseActivity.java
View file @
c07e5af8
...
@@ -10,6 +10,7 @@ import android.view.KeyEvent;
...
@@ -10,6 +10,7 @@ import android.view.KeyEvent;
import
android.view.View
;
import
android.view.View
;
import
com.hwangjr.rxbus.RxBus
;
import
com.hwangjr.rxbus.RxBus
;
import
com.xingdata.zzdpos.util.InstanceUtil
;
import
java.lang.reflect.ParameterizedType
;
import
java.lang.reflect.ParameterizedType
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
...
@@ -17,7 +18,6 @@ import java.util.List;
...
@@ -17,7 +18,6 @@ import java.util.List;
import
me.yokeyword.fragmentation.ISupportFragment
;
import
me.yokeyword.fragmentation.ISupportFragment
;
import
me.yokeyword.fragmentation.SupportActivity
;
import
me.yokeyword.fragmentation.SupportActivity
;
import
com.xingdata.zzdpos.util.InstanceUtil
;
/**
/**
* BaseActivity,供新创建的Activity继承
* BaseActivity,供新创建的Activity继承
...
@@ -57,11 +57,9 @@ public abstract class BaseActivity<P extends BasePresenter, B extends ViewDataBi
...
@@ -57,11 +57,9 @@ public abstract class BaseActivity<P extends BasePresenter, B extends ViewDataBi
protected
void
initPresenter
()
{
protected
void
initPresenter
()
{
if
(
this
instanceof
BaseView
&&
if
(
this
instanceof
BaseView
&&
this
.
getClass
().
getGenericSuperclass
()
instanceof
ParameterizedType
this
.
getClass
().
getGenericSuperclass
()
instanceof
ParameterizedType
&&
&&
((
ParameterizedType
)
(
this
.
getClass
().
getGenericSuperclass
())).
getActualTypeArguments
().
length
>
0
)
{
((
ParameterizedType
)
(
this
.
getClass
().
getGenericSuperclass
())).
getActualTypeArguments
().
length
>
0
)
{
Class
mPresenterClass
=
(
Class
)
((
ParameterizedType
)
(
this
.
getClass
().
getGenericSuperclass
())).
getActualTypeArguments
()[
0
];
Class
mPresenterClass
=
(
Class
)
((
ParameterizedType
)
(
this
.
getClass
()
.
getGenericSuperclass
())).
getActualTypeArguments
()[
0
];
mPresenter
=
InstanceUtil
.
getInstance
(
mPresenterClass
);
mPresenter
=
InstanceUtil
.
getInstance
(
mPresenterClass
);
mPresenter
.
setIntent
(
getIntent
()).
setView
(
this
).
build
();
mPresenter
.
setIntent
(
getIntent
()).
setView
(
this
).
build
();
}
}
...
...
app/src/main/java/com/xingdata/zzdpos/base/BasePresenter.java
View file @
c07e5af8
...
@@ -35,7 +35,6 @@ public abstract class BasePresenter<V> {
...
@@ -35,7 +35,6 @@ public abstract class BasePresenter<V> {
protected
Realm
getRealm
()
{
protected
Realm
getRealm
()
{
if
(
mRealm
==
null
)
{
if
(
mRealm
==
null
)
{
mRealm
=
Realm
.
getInstance
(
App
.
instance
.
mRealmConfig
);
mRealm
=
Realm
.
getInstance
(
App
.
instance
.
mRealmConfig
);
// mRealm.setAutoRefresh(false);
}
}
return
mRealm
;
return
mRealm
;
}
}
...
...
app/src/main/java/com/xingdata/zzdpos/db/DBFactory.java
View file @
c07e5af8
package
com
.
xingdata
.
zzdpos
.
db
;
package
com
.
xingdata
.
zzdpos
.
db
;
import
com.xingdata.zzdpos.App
;
import
com.xingdata.zzdpos.base.BaseModel
;
import
com.xingdata.zzdpos.model.Ms
;
import
com.xingdata.zzdpos.model.Pay
;
import
com.xingdata.zzdpos.ui.settle.SettlePresenter
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
io.reactivex.Observable
;
import
io.realm.Realm
;
import
io.realm.Realm
;
import
io.realm.RealmModel
;
import
io.realm.RealmModel
;
import
io.realm.RealmObject
;
import
io.realm.RealmObject
;
import
io.realm.RealmQuery
;
import
io.realm.RealmResults
;
import
io.realm.RealmResults
;
import
com.xingdata.zzdpos.App
;
import
io.realm.Sort
;
import
com.xingdata.zzdpos.base.BaseModel
;
public
class
DBFactory
{
public
class
DBFactory
{
public
static
class
Settle
{
/**
* 查询支付渠道
*
* @return 支付渠道
*/
public
static
Observable
<
List
<
Pay
>>
queryPays
()
{
RealmQuery
<
Pay
>
query
=
DB
.
getInstance
().
get
(
SettlePresenter
.
class
).
where
(
Pay
.
class
);
query
.
equalTo
(
"payDispFlag"
,
1
);
return
Observable
.
just
(
query
.
findAll
())
.
flatMap
(
pays
->
Observable
.
just
(
getList
(
pays
)));
}
/**
* 查询营销活动
*
* @return 营销活动
*/
public
static
Observable
<
List
<
Ms
>>
queryMss
()
{
RealmQuery
<
Ms
>
query
=
DB
.
getInstance
().
get
(
SettlePresenter
.
class
).
where
(
Ms
.
class
);
query
.
equalTo
(
"msStatus"
,
0
);
return
Observable
.
just
(
query
.
findAllSorted
(
"msTouchTag2"
,
Sort
.
DESCENDING
))
.
flatMap
(
ms
->
Observable
.
just
(
getList
(
ms
)));
}
}
public
static
<
E
extends
RealmModel
>
List
<
E
>
getLimitList
(
RealmResults
<
E
>
data
,
int
offset
,
int
limit
)
{
public
static
<
E
extends
RealmModel
>
List
<
E
>
getLimitList
(
RealmResults
<
E
>
data
,
int
offset
,
int
limit
)
{
...
...
app/src/main/java/com/xingdata/zzdpos/model/Pay.java
View file @
c07e5af8
...
@@ -2,7 +2,6 @@ package com.xingdata.zzdpos.model;
...
@@ -2,7 +2,6 @@ package com.xingdata.zzdpos.model;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.alibaba.fastjson.annotation.JSONField
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseBean
;
import
com.xingdata.zzdpos.base.BaseBean
;
import
com.xingdata.zzdpos.base.BaseModel
;
import
com.xingdata.zzdpos.base.BaseModel
;
...
@@ -40,64 +39,32 @@ public class Pay extends RealmObject implements BaseModel, BaseBean {
...
@@ -40,64 +39,32 @@ public class Pay extends RealmObject implements BaseModel, BaseBean {
public
void
init
()
{
public
void
init
()
{
switch
(
getPayType
())
{
switch
(
getPayType
())
{
case
C
.
PAY_CHANNEL
.
CASH
:
case
C
.
PAY_CHANNEL
.
CASH
:
iconId
=
new
int
[]{
R
.
mipmap
.
pay_xianjin_no
,
R
.
mipmap
.
pay_xianjin
};
//
iconId = new int[]{R.mipmap.pay_xianjin_no, R.mipmap.pay_xianjin};
isSelected
=
true
;
isSelected
=
true
;
break
;
break
;
case
C
.
PAY_CHANNEL
.
ALI
:
case
C
.
PAY_CHANNEL
.
ALI
:
iconId
=
new
int
[]{
R
.
mipmap
.
pay_zhifubao_no
,
R
.
mipmap
.
pay_zhifubao
};
//
iconId = new int[]{R.mipmap.pay_zhifubao_no, R.mipmap.pay_zhifubao};
break
;
break
;
case
C
.
PAY_CHANNEL
.
WECHAT
:
case
C
.
PAY_CHANNEL
.
WECHAT
:
iconId
=
new
int
[]{
R
.
mipmap
.
pay_weixin_no
,
R
.
mipmap
.
pay_weixin
};
//
iconId = new int[]{R.mipmap.pay_weixin_no, R.mipmap.pay_weixin};
break
;
break
;
case
C
.
PAY_CHANNEL
.
BANK
:
case
C
.
PAY_CHANNEL
.
BANK
:
iconId
=
new
int
[]{
R
.
mipmap
.
pay_yinlian_no
,
R
.
mipmap
.
pay_yinlian
};
//
iconId = new int[]{R.mipmap.pay_yinlian_no, R.mipmap.pay_yinlian};
break
;
break
;
case
C
.
PAY_CHANNEL
.
CARD
:
case
C
.
PAY_CHANNEL
.
CARD
:
iconId
=
new
int
[]{
R
.
mipmap
.
pay_chuzhi_no
,
R
.
mipmap
.
pay_chuzhi
};
//
iconId = new int[]{R.mipmap.pay_chuzhi_no, R.mipmap.pay_chuzhi};
isNeedVip
=
true
;
isNeedVip
=
true
;
break
;
break
;
case
C
.
PAY_CHANNEL
.
TALLY
:
case
C
.
PAY_CHANNEL
.
TALLY
:
iconId
=
new
int
[]{
R
.
mipmap
.
pay_shezhang_no
,
R
.
mipmap
.
pay_shezhang
};
//
iconId = new int[]{R.mipmap.pay_shezhang_no, R.mipmap.pay_shezhang};
isNeedVip
=
true
;
isNeedVip
=
true
;
break
;
break
;
default
:
default
:
iconId
=
new
int
[]{
R
.
mipmap
.
pay_xianjin_no
,
R
.
mipmap
.
pay_xianjin
};
//
iconId = new int[]{R.mipmap.pay_xianjin_no, R.mipmap.pay_xianjin};
break
;
break
;
}
}
}
}
// public BasePayFragment createView(Vip vip, Saleorder saleorder) {
// BasePayFragment basePayFragment = null;
// switch (payType) {
// case C.PAY_CHANNEL.CASH:
// basePayFragment = new CashPayFragment();
// break;
// case C.PAY_CHANNEL.ALI:
// basePayFragment = new AliPayFragment();
// break;
// case C.PAY_CHANNEL.WECHAT:
// basePayFragment = new WechatPayFragment();
// break;
// case C.PAY_CHANNEL.BANK:
// basePayFragment = new BankPayFragment();
// break;
// case C.PAY_CHANNEL.CARD:
// basePayFragment = new CardPayFragment();
// break;
// case C.PAY_CHANNEL.TALLY:
// basePayFragment = new TallyPayFragment();
// break;
// default:
// basePayFragment = new CashPayFragment();
// break;
// }
// basePayFragment.mVip = vip;
// basePayFragment.mSaleorder = saleorder;
// basePayFragment.mPayType = payType;
//
// return basePayFragment;
// }
@PrimaryKey
@PrimaryKey
private
Long
id
;
private
Long
id
;
...
...
app/src/main/java/com/xingdata/zzdpos/ui/payment/PaymentPresenter.java
View file @
c07e5af8
package
com
.
xingdata
.
zzdpos
.
ui
.
payment
;
package
com
.
xingdata
.
zzdpos
.
ui
.
payment
;
import
com.blankj.utilcode.util.EncryptUtils
;
import
com.xingdata.zzdpos.api.ApiFactory
;
import
com.xingdata.zzdpos.util.SystemUtil
;
public
class
PaymentPresenter
extends
PaymentContract
.
Presenter
{
public
class
PaymentPresenter
extends
PaymentContract
.
Presenter
{
@Override
@Override
public
void
onAttached
()
{
public
void
onAttached
()
{
ApiFactory
.
Test
.
signBefore
(
"13111111111"
,
EncryptUtils
.
encryptMD5ToString
(
"000000"
.
getBytes
()),
"1"
,
SystemUtil
.
getDeviceSN
()).
subscribe
(
loginReturnBean
->
{
},
throwable
->
{
});
}
}
@Override
@Override
...
...
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettleActivity.java
View file @
c07e5af8
...
@@ -4,6 +4,7 @@ import com.xingdata.zzdpos.R;
...
@@ -4,6 +4,7 @@ import com.xingdata.zzdpos.R;
import
com.xingdata.zzdpos.base.BaseActivity
;
import
com.xingdata.zzdpos.base.BaseActivity
;
import
com.xingdata.zzdpos.databinding.ActivitySettleBinding
;
import
com.xingdata.zzdpos.databinding.ActivitySettleBinding
;
import
com.xingdata.zzdpos.model.Pay
;
import
com.xingdata.zzdpos.model.Pay
;
import
com.xingdata.zzdpos.model.Saleorder
;
import
com.xingdata.zzdpos.model.Ticket
;
import
com.xingdata.zzdpos.model.Ticket
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.ui.settle.fragment.SettleFragment
;
import
com.xingdata.zzdpos.ui.settle.fragment.SettleFragment
;
...
@@ -26,7 +27,7 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
...
@@ -26,7 +27,7 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
}
}
@Override
@Override
public
void
initSettleFragment
(
int
settleMode
)
{
public
void
setSettleFragmentBySettleMode
(
int
settleMode
)
{
}
}
@Override
@Override
...
@@ -67,6 +68,11 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
...
@@ -67,6 +68,11 @@ public class SettleActivity extends BaseActivity<SettlePresenter, ActivitySettle
mSettleFragment
.
loadPays
(
pays
);
mSettleFragment
.
loadPays
(
pays
);
}
}
@Override
public
void
loadSaleorder
(
Saleorder
saleorder
)
{
mSettleFragment
.
loadSaleorder
(
saleorder
);
}
@Override
@Override
public
void
showPayFragment
(
int
payChannel
)
{
public
void
showPayFragment
(
int
payChannel
)
{
...
...
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettleContract.java
View file @
c07e5af8
...
@@ -3,21 +3,22 @@ package com.xingdata.zzdpos.ui.settle;
...
@@ -3,21 +3,22 @@ package com.xingdata.zzdpos.ui.settle;
import
com.xingdata.zzdpos.base.BasePresenter
;
import
com.xingdata.zzdpos.base.BasePresenter
;
import
com.xingdata.zzdpos.base.BaseView
;
import
com.xingdata.zzdpos.base.BaseView
;
import
com.xingdata.zzdpos.model.Pay
;
import
com.xingdata.zzdpos.model.Pay
;
import
com.xingdata.zzdpos.model.Saleorder
;
import
com.xingdata.zzdpos.model.Ticket
;
import
com.xingdata.zzdpos.model.Ticket
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.model.Vip
;
import
java.util.List
;
import
java.util.List
;
public
interface
SettleContract
{
interface
SettleContract
{
interface
View
extends
BaseView
{
interface
View
extends
BaseView
{
/**
/**
* 初始化结算页面
*
设置
初始化结算页面
*
*
* @param settleMode 结算模式
* @param settleMode 结算模式
*/
*/
void
initSettleFragment
(
int
settleMode
);
void
setSettleFragmentBySettleMode
(
int
settleMode
);
/**
/**
* 显示结算Fragment
* 显示结算Fragment
...
@@ -62,7 +63,6 @@ public interface SettleContract {
...
@@ -62,7 +63,6 @@ public interface SettleContract {
*/
*/
void
loadTicket
(
Ticket
ticket
);
void
loadTicket
(
Ticket
ticket
);
/***
/***
* 加载支付方式列表
* 加载支付方式列表
*
*
...
@@ -70,6 +70,14 @@ public interface SettleContract {
...
@@ -70,6 +70,14 @@ public interface SettleContract {
*/
*/
void
loadPays
(
List
<
Pay
>
pays
);
void
loadPays
(
List
<
Pay
>
pays
);
/**
* 加载订单信息
*
* @param saleorder 订单信息
*/
void
loadSaleorder
(
Saleorder
saleorder
);
/**
/**
* 显示支付页面
* 显示支付页面
*
*
...
@@ -80,6 +88,11 @@ public interface SettleContract {
...
@@ -80,6 +88,11 @@ public interface SettleContract {
abstract
class
Presenter
extends
BasePresenter
<
View
>
{
abstract
class
Presenter
extends
BasePresenter
<
View
>
{
/**
* 结算页面 - 初始化结算页面
*/
public
abstract
void
initSettle
();
/**
/**
* 结算页面 - 点击会员View
* 结算页面 - 点击会员View
*/
*/
...
...
app/src/main/java/com/xingdata/zzdpos/ui/settle/SettlePresenter.java
View file @
c07e5af8
package
com
.
xingdata
.
zzdpos
.
ui
.
settle
;
package
com
.
xingdata
.
zzdpos
.
ui
.
settle
;
import
com.blankj.utilcode.util.LogUtils
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.api.ApiFactory
;
import
com.xingdata.zzdpos.api.ApiFactory
;
import
com.xingdata.zzdpos.model.Ms
;
import
com.xingdata.zzdpos.model.Ms
;
...
@@ -10,49 +9,93 @@ import com.xingdata.zzdpos.model.Saledetail;
...
@@ -10,49 +9,93 @@ import com.xingdata.zzdpos.model.Saledetail;
import
com.xingdata.zzdpos.model.Saleorder
;
import
com.xingdata.zzdpos.model.Saleorder
;
import
com.xingdata.zzdpos.model.Ticket
;
import
com.xingdata.zzdpos.model.Ticket
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
public
class
SettlePresenter
extends
SettleContract
.
Presenter
{
public
class
SettlePresenter
extends
SettleContract
.
Presenter
{
/**
* 结算模式
*/
private
int
mSettleMode
;
/**
* 当前会员
*/
private
Vip
mVip
;
private
Vip
mVip
;
/**
/**
* 当前的营销活动列表
* 当前的营销活动列表
*/
*/
private
List
<
Ms
>
mMs
List
;
private
List
<
Ms
>
mMs
s
;
/**
/**
* 当前设备的支付渠道信息
* 当前设备的支付渠道信息
*/
*/
private
List
<
Pay
>
mPay
Channel
s
;
private
List
<
Pay
>
mPays
;
/**
/**
* 当前购物车的商品明细
* 当前购物车的商品明细
*/
*/
private
List
<
Saledetail
>
m
CartProduct
s
;
private
List
<
Saledetail
>
m
Saledetail
s
;
/**
/**
* 当前订单信息
* 当前订单信息
*/
*/
private
Saleorder
m
OrderInfo
;
private
Saleorder
m
Saleorder
;
@Override
@Override
public
void
onAttached
()
{
public
void
onAttached
()
{
int
settleMode
=
getIntent
().
getIntExtra
(
C
.
EXTRA_KEY
.
SETTLE_MODE
,
-
1
);
this
.
initRealm
();
switch
(
settleMode
)
{
mSaleorder
=
new
Saleorder
();
mSaledetails
=
new
ArrayList
<>();
mVip
=
Vip
.
createDefault
();
mSettleMode
=
getIntent
().
getIntExtra
(
C
.
EXTRA_KEY
.
SETTLE_MODE
,
-
1
);
switch
(
mSettleMode
)
{
case
C
.
SETTLE_MODE
.
PAYMENT
:
case
C
.
SETTLE_MODE
.
PAYMENT
:
LogUtils
.
e
(
"创建收款订单,订单金额"
+
ConvertUtil
.
fenToYuan
(
getIntent
().
getLongExtra
(
C
.
EXTRA_KEY
.
SETTLE_EXTRA
,
0
),
true
));
this
.
getPaymentIntent
();
break
;
case
C
.
SETTLE_MODE
.
STORE
:
this
.
getStoreIntent
();
break
;
break
;
}
}
}
/**
* 获取收款信息
*/
private
void
getPaymentIntent
()
{
Long
payAmt
=
getIntent
().
getLongExtra
(
C
.
EXTRA_KEY
.
SETTLE_EXTRA
,
0
);
mSaledetails
.
add
(
0
,
Saledetail
.
create
(
"收款"
,
payAmt
,
mVip
));
mSaleorder
.
setSaledetails
(
mSaledetails
).
settle
();
}
/**
* 获取开单信息
*/
private
void
getStoreIntent
()
{
}
@Override
public
void
initSettle
()
{
ApiFactory
.
Pay
.
query
().
subscribe
(
pays
->
mView
.
loadPays
(
pays
),
throwable
->
{
}
);
mView
.
loadSaleorder
(
mSaleorder
);
mView
.
setSettleFragmentBySettleMode
(
mSettleMode
);
}
}
@Override
@Override
public
void
clickVipView
()
{
public
void
clickVipView
()
{
mView
.
showVipFragment
();
// mView.showVipFragment();
mView
.
loadVip
(
Vip
.
createDefault
());
}
}
@Override
@Override
...
@@ -81,9 +124,7 @@ public class SettlePresenter extends SettleContract.Presenter {
...
@@ -81,9 +124,7 @@ public class SettlePresenter extends SettleContract.Presenter {
@Override
@Override
public
void
searchTicket
(
Long
vipId
)
{
public
void
searchTicket
(
Long
vipId
)
{
ApiFactory
.
Ticket
.
query
(
vipId
).
subscribe
(
ApiFactory
.
Ticket
.
query
(
vipId
).
subscribe
(
tickets
->
{
tickets
->
mView
.
loadTickets
(
tickets
),
mView
.
loadTickets
(
tickets
);
},
throwable
->
{
throwable
->
{
});
});
}
}
...
@@ -104,31 +145,25 @@ public class SettlePresenter extends SettleContract.Presenter {
...
@@ -104,31 +145,25 @@ public class SettlePresenter extends SettleContract.Presenter {
@Override
@Override
public
void
payInCash
(
Long
inputAmt
,
Long
changeAmt
)
{
public
void
payInCash
(
Long
inputAmt
,
Long
changeAmt
)
{
}
}
@Override
@Override
public
void
payInAli
(
String
payCode
)
{
public
void
payInAli
(
String
payCode
)
{
}
}
@Override
@Override
public
void
payInWechat
(
String
payCode
)
{
public
void
payInWechat
(
String
payCode
)
{
}
}
@Override
@Override
public
void
payInBank
()
{
public
void
payInBank
()
{
}
}
@Override
@Override
public
void
payInCard
(
Long
cardNo
,
String
password
)
{
public
void
payInCard
(
Long
cardNo
,
String
password
)
{
}
}
@Override
@Override
public
void
payInTally
()
{
public
void
payInTally
()
{
}
}
}
}
app/src/main/java/com/xingdata/zzdpos/ui/settle/adapter/PayAdapter.java
View file @
c07e5af8
package
com
.
xingdata
.
zzdpos
.
ui
.
settle
.
adapter
;
package
com
.
xingdata
.
zzdpos
.
ui
.
settle
.
adapter
;
import
com.facebook.drawee.generic.GenericDraweeHierarchy
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.C
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.R
;
import
com.xingdata.zzdpos.base.BaseAdapter
;
import
com.xingdata.zzdpos.base.BaseAdapter
;
...
@@ -17,19 +18,41 @@ public class PayAdapter extends BaseAdapter<Pay, ItemPayBinding> {
...
@@ -17,19 +18,41 @@ public class PayAdapter extends BaseAdapter<Pay, ItemPayBinding> {
@Override
@Override
protected
void
convert
(
ItemPayBinding
mViewBinding
,
Pay
item
)
{
protected
void
convert
(
ItemPayBinding
mViewBinding
,
Pay
item
)
{
int
resLogo
,
resBackground
;
switch
(
item
.
getPayType
())
{
switch
(
item
.
getPayType
())
{
case
C
.
PAY_CHANNEL
.
CASH
:
case
C
.
PAY_CHANNEL
.
CASH
:
resLogo
=
R
.
mipmap
.
pay_cash
;
resBackground
=
R
.
color
.
red_diaochan
;
break
;
break
;
case
C
.
PAY_CHANNEL
.
WECHAT
:
case
C
.
PAY_CHANNEL
.
WECHAT
:
resLogo
=
R
.
mipmap
.
pay_wechat
;
resBackground
=
R
.
color
.
green_kongrun
;
break
;
break
;
case
C
.
PAY_CHANNEL
.
ALI
:
case
C
.
PAY_CHANNEL
.
ALI
:
resLogo
=
R
.
mipmap
.
pay_alipay
;
resBackground
=
R
.
color
.
blue_yuefei
;
break
;
break
;
case
C
.
PAY_CHANNEL
.
BANK
:
case
C
.
PAY_CHANNEL
.
BANK
:
resLogo
=
R
.
mipmap
.
pay_card
;
resBackground
=
R
.
color
.
cyan_liubei
;
break
;
break
;
case
C
.
PAY_CHANNEL
.
CARD
:
case
C
.
PAY_CHANNEL
.
CARD
:
resLogo
=
R
.
mipmap
.
pay_membershipcard
;
resBackground
=
R
.
color
.
yellow_huangxin
;
break
;
break
;
case
C
.
PAY_CHANNEL
.
TALLY
:
case
C
.
PAY_CHANNEL
.
TALLY
:
resLogo
=
R
.
mipmap
.
pay_credit
;
resBackground
=
R
.
color
.
purple_yanqing
;
break
;
default
:
resLogo
=
R
.
mipmap
.
pay_cash
;
resBackground
=
R
.
color
.
red_diaochan
;
break
;
break
;
}
}
mViewBinding
.
ivLogo
.
setImageResource
(
resLogo
);
GenericDraweeHierarchy
hierarchy
=
mViewBinding
.
ivBackground
.
getHierarchy
();
hierarchy
.
setBackgroundImage
(
mContext
.
getResources
().
getDrawable
(
resBackground
));
mViewBinding
.
ivBackground
.
setHierarchy
(
hierarchy
);
}
}
}
}
app/src/main/java/com/xingdata/zzdpos/ui/settle/fragment/SettleFragment.java
View file @
c07e5af8
...
@@ -7,9 +7,11 @@ import com.xingdata.zzdpos.R;
...
@@ -7,9 +7,11 @@ import com.xingdata.zzdpos.R;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.base.BaseFragment
;
import
com.xingdata.zzdpos.databinding.FragmentSettleBinding
;
import
com.xingdata.zzdpos.databinding.FragmentSettleBinding
;
import
com.xingdata.zzdpos.model.Pay
;
import
com.xingdata.zzdpos.model.Pay
;
import
com.xingdata.zzdpos.model.Saleorder
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.model.Vip
;
import
com.xingdata.zzdpos.ui.settle.SettlePresenter
;
import
com.xingdata.zzdpos.ui.settle.SettlePresenter
;
import
com.xingdata.zzdpos.ui.settle.adapter.PayAdapter
;
import
com.xingdata.zzdpos.ui.settle.adapter.PayAdapter
;
import
com.xingdata.zzdpos.util.ConvertUtil
;
import
com.xingdata.zzdpos.util.RecyclerViewUtil
;
import
com.xingdata.zzdpos.util.RecyclerViewUtil
;
import
java.util.List
;
import
java.util.List
;
...
@@ -27,15 +29,18 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle
...
@@ -27,15 +29,18 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle
public
void
initView
()
{
public
void
initView
()
{
mViewBinding
.
setDefualtVip
(
true
);
mViewBinding
.
setDefualtVip
(
true
);
mViewBinding
.
tvSettle
.
setOnClickListener
(
view
->
{
// pay adapter
BottomSheetBehavior
.
from
(
mViewBinding
.
llSheet
).
setState
(
BottomSheetBehavior
.
STATE_EXPANDED
);
mPayAdapter
=
new
PayAdapter
();
});
mPresenter
=
new
SettlePresenter
();
mViewBinding
.
rlPay
.
setAdapter
(
mPayAdapter
);
mViewBinding
.
rlPay
.
setAdapter
(
mPayAdapter
);
mViewBinding
.
rlPay
.
setLayoutManager
(
new
StaggeredGridLayoutManager
(
3
,
StaggeredGridLayoutManager
.
VERTICAL
));
mViewBinding
.
rlPay
.
setLayoutManager
(
new
StaggeredGridLayoutManager
(
3
,
StaggeredGridLayoutManager
.
VERTICAL
));
mViewBinding
.
rlPay
.
addItemDecoration
(
new
RecyclerViewUtil
.
GridSpacingItemDecoration
(
3
,
20
,
true
));
mViewBinding
.
rlPay
.
addItemDecoration
(
new
RecyclerViewUtil
.
GridSpacingItemDecoration
(
3
,
20
,
true
));
mPayAdapter
.
setOnItemClickListener
((
adapter
,
view
,
position
)
->
mPresenter
.
clickPayChannelView
(
mPayAdapter
.
getData
().
get
(
position
).
getPayType
()));
// other listener
mViewBinding
.
clVip
.
setOnClickListener
(
view
->
mPresenter
.
clickVipView
());
mViewBinding
.
tvSettle
.
setOnClickListener
(
view
->
BottomSheetBehavior
.
from
(
mViewBinding
.
llSheet
).
setState
(
BottomSheetBehavior
.
STATE_EXPANDED
));
mPresenter
.
initSettle
();
}
}
/**
/**
...
@@ -57,6 +62,15 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle
...
@@ -57,6 +62,15 @@ public class SettleFragment extends BaseFragment<SettlePresenter, FragmentSettle
// }
// }
}
}
/**
* 加载订单信息
*
* @param saleorder 订单信息
*/
public
void
loadSaleorder
(
Saleorder
saleorder
)
{
mViewBinding
.
tvPayAmt
.
setText
(
ConvertUtil
.
fenToYuan
(
saleorder
.
getOrderPayAmt
()));
}
/**
/**
* 加载支付方式
* 加载支付方式
*/
*/
...
...
app/src/main/java/com/xingdata/zzdpos/util/SystemUtil.java
View file @
c07e5af8
...
@@ -55,7 +55,7 @@ public final class SystemUtil {
...
@@ -55,7 +55,7 @@ public final class SystemUtil {
}
}
}
}
// return deviceSN;
// return deviceSN;
return
"
92209325
"
;
return
"
548496
"
;
}
}
...
...
app/src/main/res/layout/fragment_pay_cash.xml
View file @
c07e5af8
...
@@ -5,5 +5,6 @@
...
@@ -5,5 +5,6 @@
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
android:layout_height=
"match_parent"
>
</android.support.constraint.ConstraintLayout>
</android.support.constraint.ConstraintLayout>
</layout>
</layout>
\ No newline at end of file
app/src/main/res/layout/item_pay.xml
View file @
c07e5af8
...
@@ -4,7 +4,8 @@
...
@@ -4,7 +4,8 @@
<android.support.constraint.ConstraintLayout
<android.support.constraint.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"@dimen/settle_pay_item"
>
android:layout_height=
"@dimen/settle_pay_item"
android:foreground=
"?android:attr/selectableItemBackground"
>
<com.facebook.drawee.view.SimpleDraweeView
<com.facebook.drawee.view.SimpleDraweeView
android:id=
"@+id/iv_background"
android:id=
"@+id/iv_background"
...
...
app/src/main/res/mipmap-hdpi/pay_chuzhi.png
deleted
100644 → 0
View file @
4f0dcac5
6.8 KB
app/src/main/res/mipmap-hdpi/pay_chuzhi_no.png
deleted
100644 → 0
View file @
4f0dcac5
5.66 KB
app/src/main/res/mipmap-hdpi/pay_shezhang.png
deleted
100644 → 0
View file @
4f0dcac5
7.33 KB
app/src/main/res/mipmap-hdpi/pay_shezhang_no.png
deleted
100644 → 0
View file @
4f0dcac5
6.08 KB
app/src/main/res/mipmap-hdpi/pay_weixin.png
deleted
100644 → 0
View file @
4f0dcac5
7.43 KB
app/src/main/res/mipmap-hdpi/pay_weixin_no.png
deleted
100644 → 0
View file @
4f0dcac5
6.57 KB
app/src/main/res/mipmap-hdpi/pay_xianjin.png
deleted
100644 → 0
View file @
4f0dcac5
6.4 KB
app/src/main/res/mipmap-hdpi/pay_xianjin_no.png
deleted
100644 → 0
View file @
4f0dcac5
5.17 KB
app/src/main/res/mipmap-hdpi/pay_yinlian.png
deleted
100644 → 0
View file @
4f0dcac5
6.64 KB
app/src/main/res/mipmap-hdpi/pay_yinlian_no.png
deleted
100644 → 0
View file @
4f0dcac5
5.63 KB
app/src/main/res/mipmap-hdpi/pay_zhifubao.png
deleted
100644 → 0
View file @
4f0dcac5
7.34 KB
app/src/main/res/mipmap-hdpi/pay_zhifubao_no.png
deleted
100644 → 0
View file @
4f0dcac5
6.33 KB
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