Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Sign in / Register
Toggle navigation
S
starlight
Project
Project
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
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王雪伟
starlight
Commits
583105f3
Commit
583105f3
authored
Apr 24, 2022
by
王雪伟
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[提交人]:王雪伟
[提交简述] :加入充值 [实现方案] :
parent
460cdf3b
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
281 additions
and
96 deletions
+281
-96
AppContext.java
cms/src/main/java/com/zxhl/cms/AppContext.java
+1
-0
Constant.java
cms/src/main/java/com/zxhl/cms/common/Constant.java
+2
-0
BecomeVipDialogPriceAdapter.kt
...a/com/zxhl/cms/pay/adapter/BecomeVipDialogPriceAdapter.kt
+22
-16
BecomeVipPriceAdapter.kt
...in/java/com/zxhl/cms/pay/adapter/BecomeVipPriceAdapter.kt
+16
-13
CoinStoreAdapter.kt
...rc/main/java/com/zxhl/cms/pay/adapter/CoinStoreAdapter.kt
+12
-10
CoinStoreContract.kt
.../main/java/com/zxhl/cms/pay/contract/CoinStoreContract.kt
+2
-1
VipPayContract.kt
...src/main/java/com/zxhl/cms/pay/contract/VipPayContract.kt
+2
-2
VipPayDialogContract.kt
...in/java/com/zxhl/cms/pay/contract/VipPayDialogContract.kt
+13
-0
PayPalHelper.kt
cms/src/main/java/com/zxhl/cms/pay/paypal/PayPalHelper.kt
+29
-23
CoinStorePresenter.kt
...ain/java/com/zxhl/cms/pay/presenter/CoinStorePresenter.kt
+14
-0
VipPayDialogPresenter.kt
.../java/com/zxhl/cms/pay/presenter/VipPayDialogPresenter.kt
+40
-0
VipPayPresenter.kt
...c/main/java/com/zxhl/cms/pay/presenter/VipPayPresenter.kt
+15
-0
CoinStoreActivity.kt
cms/src/main/java/com/zxhl/cms/pay/view/CoinStoreActivity.kt
+8
-5
PaymentPageActivity.kt
...rc/main/java/com/zxhl/cms/pay/view/PaymentPageActivity.kt
+1
-1
VipPayActivity.kt
cms/src/main/java/com/zxhl/cms/pay/view/VipPayActivity.kt
+25
-8
VipPayDialog.kt
cms/src/main/java/com/zxhl/cms/pay/view/VipPayDialog.kt
+53
-9
shape_8857ff_bd8aff_bg_r10.xml
cms/src/main/res/drawable/shape_8857ff_bd8aff_bg_r10.xml
+1
-1
activity_layout_vip_pay.xml
cms/src/main/res/layout/activity_layout_vip_pay.xml
+19
-4
item_layout_become_dialog_vip_price_view.xml
...n/res/layout/item_layout_become_dialog_vip_price_view.xml
+1
-1
AndroidManifest.xml
moduleMain/src/main/AndroidManifest.xml
+2
-1
UserDetailsActivity.kt
...n/java/com/zxhl/main/page/activity/UserDetailsActivity.kt
+3
-1
No files found.
cms/src/main/java/com/zxhl/cms/AppContext.java
View file @
583105f3
...
@@ -24,4 +24,5 @@ public class AppContext {
...
@@ -24,4 +24,5 @@ public class AppContext {
return
mAppContext
;
return
mAppContext
;
}
}
}
}
}
}
\ No newline at end of file
cms/src/main/java/com/zxhl/cms/common/Constant.java
View file @
583105f3
...
@@ -9,6 +9,7 @@ import android.Manifest;
...
@@ -9,6 +9,7 @@ import android.Manifest;
public
class
Constant
{
public
class
Constant
{
public
static
String
PAY_PAL_CLIENT_ID
=
"AeCOQewq8tWcuy7V2YsL3S3IRMDZk6zSTtHP76x-yiHIgYN7PZ1xT4Iyzv-2zJm15OqR5sWjc6__9xhE"
;
public
static
String
PAY_PAL_CLIENT_ID
=
"AeCOQewq8tWcuy7V2YsL3S3IRMDZk6zSTtHP76x-yiHIgYN7PZ1xT4Iyzv-2zJm15OqR5sWjc6__9xhE"
;
// public static String PAY_PAL_CLIENT_ID ="AfYZMocYWtjeORYcG29SjvjJjS8L9_Mh8xlTi74ifLXboxFaVb43F_ZLc8geZVqLN47m2wr9PD24tRIh";
//公共参数
//公共参数
String
UMENG_APPKEY
=
"597dbf2abbea835685001b27"
;
String
UMENG_APPKEY
=
"597dbf2abbea835685001b27"
;
...
@@ -55,6 +56,7 @@ public class Constant {
...
@@ -55,6 +56,7 @@ public class Constant {
public
static
String
PAY_TYPE_COIN
=
"0"
;
public
static
String
PAY_TYPE_COIN
=
"0"
;
public
static
String
PAY_TYPE_VIP
=
"1"
;
public
static
String
PAY_TYPE_VIP
=
"1"
;
public
static
String
PAY_TYPE_VIP_DIALOG
=
"2"
;
}
}
...
...
cms/src/main/java/com/zxhl/cms/pay/adapter/BecomeVipDialogPriceAdapter.kt
View file @
583105f3
...
@@ -11,6 +11,7 @@ import androidx.recyclerview.widget.RecyclerView
...
@@ -11,6 +11,7 @@ import androidx.recyclerview.widget.RecyclerView
import
com.zxhl.cms.R
import
com.zxhl.cms.R
import
com.zxhl.cms.common.base.BaseRecyclerAdapter
import
com.zxhl.cms.common.base.BaseRecyclerAdapter
import
com.zxhl.cms.net.model.pay.VipPayEntity
import
com.zxhl.cms.net.model.pay.VipPayEntity
import
com.zxhl.cms.net.model.video.MemberEntity
import
com.zxhl.cms.utils.OnRecycleItemClickListener
import
com.zxhl.cms.utils.OnRecycleItemClickListener
/**
/**
...
@@ -18,14 +19,15 @@ import com.zxhl.cms.utils.OnRecycleItemClickListener
...
@@ -18,14 +19,15 @@ import com.zxhl.cms.utils.OnRecycleItemClickListener
* @datetime 2022-04-12 19:04 GMT+8
* @datetime 2022-04-12 19:04 GMT+8
* @detail :
* @detail :
*/
*/
class
BecomeVipDialogPriceAdapter
:
BaseRecyclerAdapter
<
VipPayEntity
,
BecomeVipDialogPriceAdapter
.
ViewHolder
>
{
class
BecomeVipDialogPriceAdapter
:
BaseRecyclerAdapter
<
MemberEntity
.
ProductDetail
,
BecomeVipDialogPriceAdapter
.
ViewHolder
>
{
private
var
mContext
:
Context
?
=
null
private
var
mContext
:
Context
?
=
null
private
var
mPosition
=
0
private
var
mPosition
=
0
private
val
listener
:
OnRecycleItemClickListener
<
VipPayEntity
>
private
val
listener
:
OnRecycleItemClickListener
<
MemberEntity
.
ProductDetail
>
constructor
(
constructor
(
content
:
Context
?,
content
:
Context
?,
listener
:
OnRecycleItemClickListener
<
VipPayEntity
>
listener
:
OnRecycleItemClickListener
<
MemberEntity
.
ProductDetail
>
)
:
super
()
{
)
:
super
()
{
this
.
listener
=
listener
this
.
listener
=
listener
mContext
=
content
mContext
=
content
...
@@ -36,7 +38,10 @@ class BecomeVipDialogPriceAdapter : BaseRecyclerAdapter<VipPayEntity, BecomeVipD
...
@@ -36,7 +38,10 @@ class BecomeVipDialogPriceAdapter : BaseRecyclerAdapter<VipPayEntity, BecomeVipD
notifyDataSetChanged
()
notifyDataSetChanged
()
}
}
override
fun
onCreateViewHolder
(
holder
:
ViewGroup
,
p1
:
Int
):
BecomeVipDialogPriceAdapter
.
ViewHolder
{
override
fun
onCreateViewHolder
(
holder
:
ViewGroup
,
p1
:
Int
):
BecomeVipDialogPriceAdapter
.
ViewHolder
{
return
ViewHolder
(
return
ViewHolder
(
LayoutInflater
.
from
(
holder
.
context
)
LayoutInflater
.
from
(
holder
.
context
)
.
inflate
(
R
.
layout
.
item_layout_become_dialog_vip_price_view
,
holder
,
false
)
.
inflate
(
R
.
layout
.
item_layout_become_dialog_vip_price_view
,
holder
,
false
)
...
@@ -44,29 +49,30 @@ class BecomeVipDialogPriceAdapter : BaseRecyclerAdapter<VipPayEntity, BecomeVipD
...
@@ -44,29 +49,30 @@ class BecomeVipDialogPriceAdapter : BaseRecyclerAdapter<VipPayEntity, BecomeVipD
}
}
override
fun
onBindViewHolder
(
holder
:
BecomeVipDialogPriceAdapter
.
ViewHolder
,
position
:
Int
)
{
override
fun
onBindViewHolder
(
holder
:
BecomeVipDialogPriceAdapter
.
ViewHolder
,
position
:
Int
)
{
// val data = mList[position]
val
data
=
mList
[
position
]
holder
.
id_vip_time
.
text
=
"1 Week +"
holder
.
id_vip_time
.
text
=
"${data.name}"
holder
.
id_coin_num
.
text
=
"780"
holder
.
id_coin_num
.
text
=
"${data.buttonText}"
holder
.
id_money
.
text
=
"$${2.99}"
holder
.
id_money
.
text
=
"$${data.title}"
if
(
mPosition
==
position
){
if
(
mPosition
==
position
)
{
holder
.
id_item_view
.
background
=
mContext
?.
getDrawable
(
R
.
drawable
.
shape_8857ff_bd8aff_bg_r10
)
holder
.
id_item_view
.
background
=
mContext
?.
getDrawable
(
R
.
drawable
.
shape_8857ff_bd8aff_bg_r10
)
holder
.
id_vip_time
.
setTextColor
(
Color
.
parseColor
(
"#FFFFFF"
))
holder
.
id_vip_time
.
setTextColor
(
Color
.
parseColor
(
"#FFFFFF"
))
holder
.
id_coin_num
.
setTextColor
(
Color
.
parseColor
(
"#FFFFFF"
))
holder
.
id_coin_num
.
setTextColor
(
Color
.
parseColor
(
"#FFFFFF"
))
holder
.
id_money
.
setTextColor
(
Color
.
parseColor
(
"#FFFFFF"
))
holder
.
id_money
.
setTextColor
(
Color
.
parseColor
(
"#FFFFFF"
))
}
else
{
}
else
{
holder
.
id_item_view
.
background
=
mContext
?.
getDrawable
(
R
.
drawable
.
shape_f4edff_r10_bg
)
holder
.
id_item_view
.
background
=
mContext
?.
getDrawable
(
R
.
drawable
.
shape_f4edff_r10_bg
)
holder
.
id_vip_time
.
setTextColor
(
Color
.
parseColor
(
"#333333"
))
holder
.
id_vip_time
.
setTextColor
(
Color
.
parseColor
(
"#333333"
))
holder
.
id_coin_num
.
setTextColor
(
Color
.
parseColor
(
"#333333"
))
holder
.
id_coin_num
.
setTextColor
(
Color
.
parseColor
(
"#333333"
))
holder
.
id_money
.
setTextColor
(
Color
.
parseColor
(
"#333333"
))
holder
.
id_money
.
setTextColor
(
Color
.
parseColor
(
"#333333"
))
}
}
holder
.
id_item_view
?.
setOnClickListener
{
holder
.
id_item_view
?.
setOnClickListener
{
listener
.
onItemClick
(
it
,
position
,
null
)
listener
.
onItemClick
(
it
,
position
,
null
)
}
}
}
}
//
override
fun
getItemCount
():
Int
{
//
override fun getItemCount(): Int {
return
3
//
return 3
}
//
}
inner
class
ViewHolder
:
RecyclerView
.
ViewHolder
{
inner
class
ViewHolder
:
RecyclerView
.
ViewHolder
{
...
...
cms/src/main/java/com/zxhl/cms/pay/adapter/BecomeVipPriceAdapter.kt
View file @
583105f3
...
@@ -11,6 +11,7 @@ import androidx.recyclerview.widget.RecyclerView
...
@@ -11,6 +11,7 @@ import androidx.recyclerview.widget.RecyclerView
import
com.zxhl.cms.R
import
com.zxhl.cms.R
import
com.zxhl.cms.common.base.BaseRecyclerAdapter
import
com.zxhl.cms.common.base.BaseRecyclerAdapter
import
com.zxhl.cms.net.model.pay.VipPayEntity
import
com.zxhl.cms.net.model.pay.VipPayEntity
import
com.zxhl.cms.net.model.video.MemberEntity
import
com.zxhl.cms.utils.OnRecycleItemClickListener
import
com.zxhl.cms.utils.OnRecycleItemClickListener
/**
/**
...
@@ -18,14 +19,15 @@ import com.zxhl.cms.utils.OnRecycleItemClickListener
...
@@ -18,14 +19,15 @@ import com.zxhl.cms.utils.OnRecycleItemClickListener
* @datetime 2022-04-12 19:04 GMT+8
* @datetime 2022-04-12 19:04 GMT+8
* @detail :
* @detail :
*/
*/
class
BecomeVipPriceAdapter
:
BaseRecyclerAdapter
<
VipPayEntity
,
BecomeVipPriceAdapter
.
ViewHolder
>
{
class
BecomeVipPriceAdapter
:
BaseRecyclerAdapter
<
MemberEntity
.
ProductDetail
,
BecomeVipPriceAdapter
.
ViewHolder
>
{
private
var
mContext
:
Context
?
=
null
private
var
mContext
:
Context
?
=
null
private
var
mPosition
=
0
private
var
mPosition
=
0
private
val
listener
:
OnRecycleItemClickListener
<
VipPayEntity
>
private
val
listener
:
OnRecycleItemClickListener
<
MemberEntity
.
ProductDetail
>
constructor
(
constructor
(
content
:
Context
?,
content
:
Context
?,
listener
:
OnRecycleItemClickListener
<
VipPayEntity
>
listener
:
OnRecycleItemClickListener
<
MemberEntity
.
ProductDetail
>
)
:
super
()
{
)
:
super
()
{
this
.
listener
=
listener
this
.
listener
=
listener
mContext
=
content
mContext
=
content
...
@@ -44,26 +46,27 @@ class BecomeVipPriceAdapter : BaseRecyclerAdapter<VipPayEntity, BecomeVipPriceAd
...
@@ -44,26 +46,27 @@ class BecomeVipPriceAdapter : BaseRecyclerAdapter<VipPayEntity, BecomeVipPriceAd
}
}
override
fun
onBindViewHolder
(
holder
:
BecomeVipPriceAdapter
.
ViewHolder
,
position
:
Int
)
{
override
fun
onBindViewHolder
(
holder
:
BecomeVipPriceAdapter
.
ViewHolder
,
position
:
Int
)
{
// val data = mList[position]
val
data
=
mList
[
position
]
holder
.
id_vip_time
.
text
=
"1 Week"
holder
.
id_vip_time
.
text
=
"${data.name}"
holder
.
id_vip_money
.
text
=
"$${2.99}"
holder
.
id_vip_money
.
text
=
"$${data.title}"
if
(
mPosition
==
position
){
if
(
mPosition
==
position
)
{
holder
.
id_item_view
.
background
=
mContext
?.
getDrawable
(
R
.
drawable
.
shape_8857ff_bd8aff_bg_r10
)
holder
.
id_item_view
.
background
=
mContext
?.
getDrawable
(
R
.
drawable
.
shape_8857ff_bd8aff_bg_r10
)
holder
.
id_vip_time
.
setTextColor
(
Color
.
parseColor
(
"#FFFFFF"
))
holder
.
id_vip_time
.
setTextColor
(
Color
.
parseColor
(
"#FFFFFF"
))
holder
.
id_vip_money
.
setTextColor
(
Color
.
parseColor
(
"#FFFFFF"
))
holder
.
id_vip_money
.
setTextColor
(
Color
.
parseColor
(
"#FFFFFF"
))
}
else
{
}
else
{
holder
.
id_item_view
.
background
=
mContext
?.
getDrawable
(
R
.
drawable
.
shape_white_r10
)
holder
.
id_item_view
.
background
=
mContext
?.
getDrawable
(
R
.
drawable
.
shape_white_r10
)
holder
.
id_vip_time
.
setTextColor
(
Color
.
parseColor
(
"#333333"
))
holder
.
id_vip_time
.
setTextColor
(
Color
.
parseColor
(
"#333333"
))
holder
.
id_vip_money
.
setTextColor
(
Color
.
parseColor
(
"#333333"
))
holder
.
id_vip_money
.
setTextColor
(
Color
.
parseColor
(
"#333333"
))
}
}
holder
.
id_item_view
?.
setOnClickListener
{
holder
.
id_item_view
?.
setOnClickListener
{
listener
.
onItemClick
(
it
,
position
,
null
)
listener
.
onItemClick
(
it
,
position
,
data
)
}
}
}
}
override
fun
getItemCount
():
Int
{
//
override fun getItemCount(): Int {
return
3
//
return 3
}
//
}
inner
class
ViewHolder
:
RecyclerView
.
ViewHolder
{
inner
class
ViewHolder
:
RecyclerView
.
ViewHolder
{
...
...
cms/src/main/java/com/zxhl/cms/pay/adapter/CoinStoreAdapter.kt
View file @
583105f3
...
@@ -11,6 +11,7 @@ import com.zxhl.cms.R
...
@@ -11,6 +11,7 @@ import com.zxhl.cms.R
import
com.zxhl.cms.common.base.BaseRecyclerAdapter
import
com.zxhl.cms.common.base.BaseRecyclerAdapter
import
com.zxhl.cms.net.model.chat.RecordEntity
import
com.zxhl.cms.net.model.chat.RecordEntity
import
com.zxhl.cms.net.model.pay.VipPayEntity
import
com.zxhl.cms.net.model.pay.VipPayEntity
import
com.zxhl.cms.net.model.video.MemberEntity
import
com.zxhl.cms.utils.OnRecycleItemClickListener
import
com.zxhl.cms.utils.OnRecycleItemClickListener
/**
/**
...
@@ -18,13 +19,14 @@ import com.zxhl.cms.utils.OnRecycleItemClickListener
...
@@ -18,13 +19,14 @@ import com.zxhl.cms.utils.OnRecycleItemClickListener
* @datetime 2022-04-12 19:04 GMT+8
* @datetime 2022-04-12 19:04 GMT+8
* @detail :
* @detail :
*/
*/
class
CoinStoreAdapter
:
BaseRecyclerAdapter
<
RecordEntity
,
CoinStoreAdapter
.
ViewHolder
>
{
class
CoinStoreAdapter
:
BaseRecyclerAdapter
<
MemberEntity
.
ProductDetail
,
CoinStoreAdapter
.
ViewHolder
>
{
private
var
mContext
:
Context
?
=
null
private
var
mContext
:
Context
?
=
null
private
val
listener
:
OnRecycleItemClickListener
<
RecordEntity
>
private
val
listener
:
OnRecycleItemClickListener
<
MemberEntity
.
ProductDetail
>
constructor
(
constructor
(
content
:
Context
?,
content
:
Context
?,
listener
:
OnRecycleItemClickListener
<
RecordEntity
>
listener
:
OnRecycleItemClickListener
<
MemberEntity
.
ProductDetail
>
)
:
super
()
{
)
:
super
()
{
this
.
listener
=
listener
this
.
listener
=
listener
mContext
=
content
mContext
=
content
...
@@ -38,17 +40,17 @@ class CoinStoreAdapter: BaseRecyclerAdapter<RecordEntity, CoinStoreAdapter.ViewH
...
@@ -38,17 +40,17 @@ class CoinStoreAdapter: BaseRecyclerAdapter<RecordEntity, CoinStoreAdapter.ViewH
}
}
override
fun
onBindViewHolder
(
holder
:
CoinStoreAdapter
.
ViewHolder
,
position
:
Int
)
{
override
fun
onBindViewHolder
(
holder
:
CoinStoreAdapter
.
ViewHolder
,
position
:
Int
)
{
//
val data = mList[position]
val
data
=
mList
[
position
]
holder
.
id_tv_coin
.
text
=
"${360
}"
holder
.
id_tv_coin
.
text
=
"${data.name
}"
holder
.
id_tv_money
.
text
=
"$${4.99
}"
holder
.
id_tv_money
.
text
=
"$${data.title
}"
holder
.
id_ll_item_view
.
setOnClickListener
{
holder
.
id_ll_item_view
.
setOnClickListener
{
listener
?.
onItemClick
(
it
,
position
,
null
)
listener
?.
onItemClick
(
it
,
position
,
data
)
}
}
}
}
override
fun
getItemCount
():
Int
{
//
override fun getItemCount(): Int {
return
4
//
return 4
}
//
}
inner
class
ViewHolder
:
RecyclerView
.
ViewHolder
{
inner
class
ViewHolder
:
RecyclerView
.
ViewHolder
{
...
...
cms/src/main/java/com/zxhl/cms/pay/contract/CoinStoreContract.kt
View file @
583105f3
package
com.zxhl.cms.pay.contract
package
com.zxhl.cms.pay.contract
import
com.zxhl.cms.net.model.pay.CoinStoreEntity
import
com.zxhl.cms.net.model.pay.CoinStoreEntity
import
com.zxhl.cms.net.model.video.MemberEntity
class
CoinStoreContract
{
class
CoinStoreContract
{
interface
View
{
interface
View
{
fun
setCoinPayList
(
result
:
List
<
CoinStoreEntity
>?)
fun
setCoinPayList
(
result
:
List
<
MemberEntity
.
ProductDetail
>?)
fun
setUserCoins
(
coinNum
:
Double
)
fun
setUserCoins
(
coinNum
:
Double
)
}
}
...
...
cms/src/main/java/com/zxhl/cms/pay/contract/VipPayContract.kt
View file @
583105f3
package
com.zxhl.cms.pay.contract
package
com.zxhl.cms.pay.contract
import
com.zxhl.cms.net.model.
pay.CoinStore
Entity
import
com.zxhl.cms.net.model.
video.Member
Entity
class
VipPayContract
{
class
VipPayContract
{
interface
View
{
interface
View
{
fun
setVipPayList
(
result
:
List
<
CoinStoreEntity
>?)
fun
setVipPayList
(
result
:
List
<
MemberEntity
.
ProductDetail
>?)
}
}
interface
Presenter
{
interface
Presenter
{
...
...
cms/src/main/java/com/zxhl/cms/pay/contract/VipPayDialogContract.kt
0 → 100644
View file @
583105f3
package
com.zxhl.cms.pay.contract
import
com.zxhl.cms.net.model.video.MemberEntity
class
VipPayDialogContract
{
interface
View
{
fun
setVipPayList
(
result
:
List
<
MemberEntity
.
ProductDetail
>?)
}
interface
Presenter
{
fun
getVipPayList
()
}
}
\ No newline at end of file
cms/src/main/java/com/zxhl/cms/pay/paypal/PayPalHelper.kt
View file @
583105f3
...
@@ -46,24 +46,22 @@ class PayPalHelper {
...
@@ -46,24 +46,22 @@ class PayPalHelper {
)
{
)
{
mPayButton
=
payView
;
mPayButton
=
payView
;
mPayCallBack
=
payCallBack
mPayCallBack
=
payCallBack
startPay
(
"2222"
,
goodsPrice
)
//向服务端获取订单ID
//向服务端获取订单ID
//
ApiClient.userInfoAPi.googlePay(goodsId, "5", "", "", payMode)
ApiClient
.
userInfoAPi
.
googlePay
(
goodsId
,
"5"
,
""
,
""
,
payMode
)
//
.compose(RxSchedulers.observableIO2Main())
.
compose
(
RxSchedulers
.
observableIO2Main
())
//
.subscribe(object : BaseObserver<GooglePayEntity>() {
.
subscribe
(
object
:
BaseObserver
<
GooglePayEntity
>()
{
//
override fun onSuccess(result: GooglePayEntity?) {
override
fun
onSuccess
(
result
:
GooglePayEntity
?)
{
//
if (result != null) {
if
(
result
!=
null
)
{
//
startPay(result.outTradeNo, goodsPrice)
startPay
(
result
.
outTradeNo
,
goodsPrice
)
//
} else {
}
else
{
//
mPayCallBack?.onError("payPalPay 未获取到订单数据")
mPayCallBack
?.
onError
(
"payPalPay 未获取到订单数据"
)
//
}
}
//
}
}
//
//
override fun onFailure(e: Throwable?, code: String?, errorMsg: String?) {
override
fun
onFailure
(
e
:
Throwable
?,
code
:
String
?,
errorMsg
:
String
?)
{
//
mPayCallBack?.onError("payPalPay 获取订单号接口异常 Error:$errorMsg")
mPayCallBack
?.
onError
(
"payPalPay 获取订单号接口异常 Error:$errorMsg"
)
//
}
}
//
})
})
}
}
private
fun
startPay
(
orderId
:
String
,
price
:
String
)
{
private
fun
startPay
(
orderId
:
String
,
price
:
String
)
{
...
@@ -79,7 +77,7 @@ class PayPalHelper {
...
@@ -79,7 +77,7 @@ class PayPalHelper {
//金额相关
//金额相关
amount
=
Amount
(
currencyCode
=
CurrencyCode
.
USD
,
value
=
price
),
amount
=
Amount
(
currencyCode
=
CurrencyCode
.
USD
,
value
=
price
),
//发票编号
//发票编号
invoiceId
=
orderId
,
invoiceId
=
orderId
//引用ID
//引用ID
// referenceId = "" + System.currentTimeMillis(),
// referenceId = "" + System.currentTimeMillis(),
// customId = orderId,
// customId = orderId,
...
@@ -113,11 +111,19 @@ class PayPalHelper {
...
@@ -113,11 +111,19 @@ class PayPalHelper {
// Log.e(TAG, "CaptureOrder approval.data.orderId: ${approval.data.cart}")
// Log.e(TAG, "CaptureOrder approval.data.orderId: ${approval.data.cart}")
// Log.e(TAG, "CaptureOrder approval.data.orderId: ${approval.data.payer}")
// Log.e(TAG, "CaptureOrder approval.data.orderId: ${approval.data.payer}")
if
(
captureOrderResult
is
CaptureOrderResult
.
Success
)
{
if
(
captureOrderResult
is
CaptureOrderResult
.
Success
)
{
var
result
=
if
(!
captureOrderResult
.
orderResponse
?.
purchaseUnits
?.
get
(
0
)
?.
payments
?.
captures
?.
get
(
0
)
?.
id
.
isNullOrEmpty
())
{
var
result
=
"{\"orderId\":\"${orderId}\",\"payPalId\":\"${captureOrderResult.orderResponse?.purchaseUnits?.get(0)?.payments?.captures?.get(0)?.id}\"}"
if
(!
captureOrderResult
.
orderResponse
?.
purchaseUnits
?.
get
(
0
)
?.
payments
?.
captures
?.
get
(
}
else
{
0
"{\"orderId\":\"${orderId}\",\"payPalId\":\"\"}"
)
?.
id
.
isNullOrEmpty
()
}
)
{
"{\"orderId\":\"${orderId}\",\"payPalId\":\"${
captureOrderResult
.
orderResponse
?.
purchaseUnits
?.
get
(
0
)
?.
payments
?.
captures
?.
get
(
0
)
?.
id
}
\
"}"
}
else
{
"{\"orderId\":\"${orderId}\",\"payPalId\":\"\"}"
}
mPayCallBack
?.
onPaySuccess
(
result
)
mPayCallBack
?.
onPaySuccess
(
result
)
}
else
if
(
captureOrderResult
is
CaptureOrderResult
.
Error
)
{
}
else
if
(
captureOrderResult
is
CaptureOrderResult
.
Error
)
{
mPayCallBack
?.
onError
(
"PayPal 获取订单失败 msg: ${captureOrderResult.message} reason:${captureOrderResult.reason}"
)
mPayCallBack
?.
onError
(
"PayPal 获取订单失败 msg: ${captureOrderResult.message} reason:${captureOrderResult.reason}"
)
...
...
cms/src/main/java/com/zxhl/cms/pay/presenter/CoinStorePresenter.kt
View file @
583105f3
package
com.zxhl.cms.pay.presenter
package
com.zxhl.cms.pay.presenter
import
com.zxhl.cms.net.ApiClient
import
com.zxhl.cms.net.RxSchedulers
import
com.zxhl.cms.net.callback.BaseObserver
import
com.zxhl.cms.net.model.video.MemberEntity
import
com.zxhl.cms.pay.contract.CoinStoreContract
import
com.zxhl.cms.pay.contract.CoinStoreContract
/**
/**
...
@@ -16,7 +20,17 @@ class CoinStorePresenter:CoinStoreContract.Presenter {
...
@@ -16,7 +20,17 @@ class CoinStorePresenter:CoinStoreContract.Presenter {
}
}
override
fun
getCoinPayList
()
{
override
fun
getCoinPayList
()
{
ApiClient
.
videoInfoApi
.
getPayConfig
(
"recharge"
).
compose
(
RxSchedulers
.
observableIO2Main
())
.
subscribe
(
object
:
BaseObserver
<
MemberEntity
>()
{
override
fun
onSuccess
(
result
:
MemberEntity
?)
{
if
(!
result
?.
goodsList
.
isNullOrEmpty
()){
mView
.
setCoinPayList
(
result
?.
goodsList
)
}
}
override
fun
onFailure
(
e
:
Throwable
?,
code
:
String
?,
errorMsg
:
String
?)
{
}
})
}
}
override
fun
getUserCoins
()
{
override
fun
getUserCoins
()
{
...
...
cms/src/main/java/com/zxhl/cms/pay/presenter/VipPayDialogPresenter.kt
0 → 100644
View file @
583105f3
package
com.zxhl.cms.pay.presenter
import
com.zxhl.cms.net.ApiClient
import
com.zxhl.cms.net.RxSchedulers
import
com.zxhl.cms.net.callback.BaseObserver
import
com.zxhl.cms.net.model.video.MemberEntity
import
com.zxhl.cms.pay.contract.CoinStoreContract
import
com.zxhl.cms.pay.contract.VipPayContract
import
com.zxhl.cms.pay.contract.VipPayDialogContract
/**
* @author (wangXuewei)
* @datetime 2022-04-13 10:29 GMT+8
* @detail :
*/
class
VipPayDialogPresenter
:
VipPayDialogContract
.
Presenter
{
private
val
mView
:
VipPayDialogContract
.
View
constructor
(
mView
:
VipPayDialogContract
.
View
)
{
this
.
mView
=
mView
}
override
fun
getVipPayList
()
{
ApiClient
.
videoInfoApi
.
getPayConfig
(
"vip1"
).
compose
(
RxSchedulers
.
observableIO2Main
())
.
subscribe
(
object
:
BaseObserver
<
MemberEntity
>()
{
override
fun
onSuccess
(
result
:
MemberEntity
?)
{
if
(!
result
?.
goodsList
.
isNullOrEmpty
()){
mView
.
setVipPayList
(
result
?.
goodsList
)
}
else
{
mView
.
setVipPayList
(
null
)
}
}
override
fun
onFailure
(
e
:
Throwable
?,
code
:
String
?,
errorMsg
:
String
?)
{
mView
.
setVipPayList
(
null
)
}
})
}
}
\ No newline at end of file
cms/src/main/java/com/zxhl/cms/pay/presenter/VipPayPresenter.kt
View file @
583105f3
package
com.zxhl.cms.pay.presenter
package
com.zxhl.cms.pay.presenter
import
com.zxhl.cms.net.ApiClient
import
com.zxhl.cms.net.RxSchedulers
import
com.zxhl.cms.net.callback.BaseObserver
import
com.zxhl.cms.net.model.video.MemberEntity
import
com.zxhl.cms.pay.contract.CoinStoreContract
import
com.zxhl.cms.pay.contract.CoinStoreContract
import
com.zxhl.cms.pay.contract.VipPayContract
import
com.zxhl.cms.pay.contract.VipPayContract
...
@@ -17,5 +21,16 @@ class VipPayPresenter:VipPayContract.Presenter {
...
@@ -17,5 +21,16 @@ class VipPayPresenter:VipPayContract.Presenter {
}
}
override
fun
getVipPayList
()
{
override
fun
getVipPayList
()
{
ApiClient
.
videoInfoApi
.
getPayConfig
(
"vip"
).
compose
(
RxSchedulers
.
observableIO2Main
())
.
subscribe
(
object
:
BaseObserver
<
MemberEntity
>()
{
override
fun
onSuccess
(
result
:
MemberEntity
?)
{
if
(!
result
?.
goodsList
.
isNullOrEmpty
()){
mView
?.
setVipPayList
(
result
?.
goodsList
)
}
}
override
fun
onFailure
(
e
:
Throwable
?,
code
:
String
?,
errorMsg
:
String
?)
{
}
})
}
}
}
}
\ No newline at end of file
cms/src/main/java/com/zxhl/cms/pay/view/CoinStoreActivity.kt
View file @
583105f3
...
@@ -7,6 +7,7 @@ import com.zxhl.cms.common.Constant
...
@@ -7,6 +7,7 @@ import com.zxhl.cms.common.Constant
import
com.zxhl.cms.common.base.BaseActivity
import
com.zxhl.cms.common.base.BaseActivity
import
com.zxhl.cms.net.model.chat.RecordEntity
import
com.zxhl.cms.net.model.chat.RecordEntity
import
com.zxhl.cms.net.model.pay.CoinStoreEntity
import
com.zxhl.cms.net.model.pay.CoinStoreEntity
import
com.zxhl.cms.net.model.video.MemberEntity
import
com.zxhl.cms.pay.adapter.CoinStoreAdapter
import
com.zxhl.cms.pay.adapter.CoinStoreAdapter
import
com.zxhl.cms.pay.contract.CoinStoreContract
import
com.zxhl.cms.pay.contract.CoinStoreContract
import
com.zxhl.cms.pay.presenter.CoinStorePresenter
import
com.zxhl.cms.pay.presenter.CoinStorePresenter
...
@@ -16,7 +17,7 @@ import kotlinx.android.synthetic.main.activity_layout_coin_store.*
...
@@ -16,7 +17,7 @@ import kotlinx.android.synthetic.main.activity_layout_coin_store.*
import
kotlinx.android.synthetic.main.activity_layout_coin_store.id_img_back
import
kotlinx.android.synthetic.main.activity_layout_coin_store.id_img_back
class
CoinStoreActivity
:
BaseActivity
(),
CoinStoreContract
.
View
,
class
CoinStoreActivity
:
BaseActivity
(),
CoinStoreContract
.
View
,
OnRecycleItemClickListener
<
RecordEntity
>
{
OnRecycleItemClickListener
<
MemberEntity
.
ProductDetail
>
{
private
var
mAdapter
:
CoinStoreAdapter
?
=
null
private
var
mAdapter
:
CoinStoreAdapter
?
=
null
private
var
mPresenter
:
CoinStorePresenter
?
=
null
private
var
mPresenter
:
CoinStorePresenter
?
=
null
override
fun
init
()
{
override
fun
init
()
{
...
@@ -49,15 +50,17 @@ class CoinStoreActivity : BaseActivity(), CoinStoreContract.View,
...
@@ -49,15 +50,17 @@ class CoinStoreActivity : BaseActivity(), CoinStoreContract.View,
return
R
.
layout
.
activity_layout_coin_store
return
R
.
layout
.
activity_layout_coin_store
}
}
override
fun
setCoinPayList
(
result
:
List
<
CoinStoreEntity
>?)
{
override
fun
setCoinPayList
(
result
:
List
<
MemberEntity
.
ProductDetail
>?)
{
mAdapter
?.
clear
()
mAdapter
?.
appendToList
(
result
)
}
}
override
fun
setUserCoins
(
coinNum
:
Double
)
{
override
fun
setUserCoins
(
coinNum
:
Double
)
{
id_tv_user_coins_num
.
text
=
"$coinNum"
id_tv_user_coins_num
.
text
=
"$coinNum"
}
}
override
fun
onItemClick
(
view
:
View
?,
position
:
Int
,
data
:
RecordEntity
?)
{
override
fun
onItemClick
(
view
:
View
?,
position
:
Int
,
data
:
MemberEntity
.
ProductDetail
?)
{
JumpUtils
.
paymentPageJump
(
Constant
.
Key
.
PAY_TYPE_COIN
,
"1"
,
"name"
,
"0.1"
)
JumpUtils
.
paymentPageJump
(
Constant
.
Key
.
PAY_TYPE_COIN
,
data
?.
goodsId
,
data
?.
name
,
data
?.
cash
)
}
}
}
}
\ No newline at end of file
cms/src/main/java/com/zxhl/cms/pay/view/PaymentPageActivity.kt
View file @
583105f3
...
@@ -116,7 +116,7 @@ class PaymentPageActivity : BaseActivity(), PaymentPageContract.View {
...
@@ -116,7 +116,7 @@ class PaymentPageActivity : BaseActivity(), PaymentPageContract.View {
return
return
}
}
EventUtils
.
onEvent
(
"pay_page_pay_btn"
,
goodsPrice
)
EventUtils
.
onEvent
(
"pay_page_pay_btn"
,
goodsPrice
)
Log
.
d
(
"wxw"
,
"Payment${goodsId}${goodsPrice}"
)
Log
.
d
(
"wxw"
,
"Payment${goodsId}
price:
${goodsPrice}"
)
if
(
payType
==
GOOGLE_PAY
)
{
if
(
payType
==
GOOGLE_PAY
)
{
googlePay
(
goodsId
)
googlePay
(
goodsId
)
}
else
if
(
payType
==
PAY_PAL_PAY
)
{
}
else
if
(
payType
==
PAY_PAL_PAY
)
{
...
...
cms/src/main/java/com/zxhl/cms/pay/view/VipPayActivity.kt
View file @
583105f3
...
@@ -10,6 +10,7 @@ import com.zxhl.cms.common.Constant
...
@@ -10,6 +10,7 @@ import com.zxhl.cms.common.Constant
import
com.zxhl.cms.common.base.BaseActivity
import
com.zxhl.cms.common.base.BaseActivity
import
com.zxhl.cms.net.model.pay.CoinStoreEntity
import
com.zxhl.cms.net.model.pay.CoinStoreEntity
import
com.zxhl.cms.net.model.pay.VipPayEntity
import
com.zxhl.cms.net.model.pay.VipPayEntity
import
com.zxhl.cms.net.model.video.MemberEntity
import
com.zxhl.cms.pay.adapter.BecomeVipBannerAdapter
import
com.zxhl.cms.pay.adapter.BecomeVipBannerAdapter
import
com.zxhl.cms.pay.adapter.BecomeVipPriceAdapter
import
com.zxhl.cms.pay.adapter.BecomeVipPriceAdapter
import
com.zxhl.cms.pay.contract.VipPayContract
import
com.zxhl.cms.pay.contract.VipPayContract
...
@@ -22,7 +23,7 @@ import kotlinx.android.synthetic.main.activity_layout_vip_pay.*
...
@@ -22,7 +23,7 @@ import kotlinx.android.synthetic.main.activity_layout_vip_pay.*
class
VipPayActivity
:
BaseActivity
(),
VipPayContract
.
View
,
class
VipPayActivity
:
BaseActivity
(),
VipPayContract
.
View
,
OnRecycleItemClickListener
<
VipPayEntity
>
{
OnRecycleItemClickListener
<
MemberEntity
.
ProductDetail
>
{
private
var
mBannerAdapter
:
BecomeVipBannerAdapter
?
=
null
private
var
mBannerAdapter
:
BecomeVipBannerAdapter
?
=
null
private
var
mPriceAdapter
:
BecomeVipPriceAdapter
?
=
null
private
var
mPriceAdapter
:
BecomeVipPriceAdapter
?
=
null
private
var
mPresenter
:
VipPayPresenter
?
=
null
private
var
mPresenter
:
VipPayPresenter
?
=
null
...
@@ -38,8 +39,10 @@ class VipPayActivity : BaseActivity(), VipPayContract.View,
...
@@ -38,8 +39,10 @@ class VipPayActivity : BaseActivity(), VipPayContract.View,
id_rcl_pay_vip_list
?.
layoutManager
=
LinearLayoutManager
(
this
)
id_rcl_pay_vip_list
?.
layoutManager
=
LinearLayoutManager
(
this
)
id_rcl_pay_vip_list
?.
adapter
=
mPriceAdapter
id_rcl_pay_vip_list
?.
adapter
=
mPriceAdapter
//banner
id_banner_indicator
.
setIndicatorCount
(
4
)
mPresenter
?.
getVipPayList
()
mPresenter
?.
getVipPayList
()
mPriceAdapter
?.
setSelectView
(
0
)
id_img_back
.
setOnClickListener
(
this
)
id_img_back
.
setOnClickListener
(
this
)
id_img_vip_record
.
setOnClickListener
(
this
)
id_img_vip_record
.
setOnClickListener
(
this
)
...
@@ -68,7 +71,7 @@ class VipPayActivity : BaseActivity(), VipPayContract.View,
...
@@ -68,7 +71,7 @@ class VipPayActivity : BaseActivity(), VipPayContract.View,
}
}
override
fun
onPageSelected
(
position
:
Int
)
{
override
fun
onPageSelected
(
position
:
Int
)
{
Log
.
d
(
"wxw"
,
"pos${position}"
)
id_banner_indicator
.
setSelectPos
(
position
)
}
}
})
})
)
)
...
@@ -81,8 +84,16 @@ class VipPayActivity : BaseActivity(), VipPayContract.View,
...
@@ -81,8 +84,16 @@ class VipPayActivity : BaseActivity(), VipPayContract.View,
showToast
(
"VIP Pay Record"
)
showToast
(
"VIP Pay Record"
)
}
}
id_tv_vip_pay_btn
->
{
id_tv_vip_pay_btn
->
{
showToast
(
"VIP Pay "
)
if
(
tempClickData
==
null
)
{
JumpUtils
.
paymentPageJump
(
Constant
.
Key
.
PAY_TYPE_VIP
,
"1"
,
"vip"
,
"9.9"
)
showToast
(
"Please select a grade"
)
}
else
{
JumpUtils
.
paymentPageJump
(
Constant
.
Key
.
PAY_TYPE_VIP
,
tempClickData
?.
goodsId
,
tempClickData
?.
name
,
tempClickData
?.
cash
)
}
}
}
id_img_back
->
{
id_img_back
->
{
CenterDialog
.
showPayExitDialog
(
this
)
{
CenterDialog
.
showPayExitDialog
(
this
)
{
...
@@ -96,11 +107,17 @@ class VipPayActivity : BaseActivity(), VipPayContract.View,
...
@@ -96,11 +107,17 @@ class VipPayActivity : BaseActivity(), VipPayContract.View,
return
R
.
layout
.
activity_layout_vip_pay
return
R
.
layout
.
activity_layout_vip_pay
}
}
override
fun
setVipPayList
(
result
:
List
<
CoinStoreEntity
>?)
{
override
fun
setVipPayList
(
result
:
List
<
MemberEntity
.
ProductDetail
>?)
{
mPriceAdapter
?.
clear
()
mPriceAdapter
?.
appendToList
(
result
)
if
(
tempClickData
==
null
&&
!
result
.
isNullOrEmpty
())
{
tempClickData
=
result
[
0
];
}
}
}
override
fun
onItemClick
(
view
:
View
?,
position
:
Int
,
data
:
VipPayEntity
?)
{
private
var
tempClickData
:
MemberEntity
.
ProductDetail
?
=
null
;
override
fun
onItemClick
(
view
:
View
?,
position
:
Int
,
data
:
MemberEntity
.
ProductDetail
?)
{
tempClickData
=
data
mPriceAdapter
?.
setSelectView
(
position
)
mPriceAdapter
?.
setSelectView
(
position
)
}
}
...
...
cms/src/main/java/com/zxhl/cms/pay/view/VipPayDialog.kt
View file @
583105f3
...
@@ -9,11 +9,17 @@ import androidx.recyclerview.widget.LinearLayoutManager
...
@@ -9,11 +9,17 @@ import androidx.recyclerview.widget.LinearLayoutManager
import
androidx.recyclerview.widget.PagerSnapHelper
import
androidx.recyclerview.widget.PagerSnapHelper
import
androidx.recyclerview.widget.RecyclerView
import
androidx.recyclerview.widget.RecyclerView
import
com.zxhl.cms.R
import
com.zxhl.cms.R
import
com.zxhl.cms.common.Constant
import
com.zxhl.cms.net.model.video.MemberEntity
import
com.zxhl.cms.pay.adapter.BecomeVipBannerAdapter
import
com.zxhl.cms.pay.adapter.BecomeVipBannerAdapter
import
com.zxhl.cms.pay.adapter.BecomeVipDialogBannerAdapter
import
com.zxhl.cms.pay.adapter.BecomeVipDialogBannerAdapter
import
com.zxhl.cms.pay.adapter.BecomeVipDialogPriceAdapter
import
com.zxhl.cms.pay.adapter.BecomeVipDialogPriceAdapter
import
com.zxhl.cms.pay.contract.VipPayDialogContract
import
com.zxhl.cms.pay.presenter.VipPayDialogPresenter
import
com.zxhl.cms.utils.JumpUtils
import
com.zxhl.cms.utils.OnRecycleItemClickListener
import
com.zxhl.cms.utils.OnRecycleItemClickListener
import
com.zxhl.cms.widget.CenterDialog
import
com.zxhl.cms.widget.CenterDialog
import
com.zxhl.cms.widget.LoadingDialog
import
com.zxhl.cms.widget.RecyclerViewPageChangeListenerHelper
import
com.zxhl.cms.widget.RecyclerViewPageChangeListenerHelper
import
com.zxhl.cms.widget.UIndicator
import
com.zxhl.cms.widget.UIndicator
import
kotlinx.android.synthetic.main.activity_layout_vip_pay.*
import
kotlinx.android.synthetic.main.activity_layout_vip_pay.*
...
@@ -24,8 +30,11 @@ import org.greenrobot.eventbus.EventBus
...
@@ -24,8 +30,11 @@ import org.greenrobot.eventbus.EventBus
* @datetime 2022-04-16 16:13 GMT+8
* @datetime 2022-04-16 16:13 GMT+8
* @detail :
* @detail :
*/
*/
object
VipPayDialog
{
object
VipPayDialog
:
VipPayDialogContract
.
View
{
private
var
mLoadLoading
:
LoadingDialog
?
=
null
private
var
mActivity
:
Activity
?
=
null
;
private
var
mActivity
:
Activity
?
=
null
;
private
var
mPresenter
:
VipPayDialogPresenter
=
VipPayDialogPresenter
(
this
);
private
var
mBannerAdapter
:
BecomeVipDialogBannerAdapter
?
=
null
private
var
mBannerAdapter
:
BecomeVipDialogBannerAdapter
?
=
null
private
var
mPriceAdapter
:
BecomeVipDialogPriceAdapter
?
=
null
private
var
mPriceAdapter
:
BecomeVipDialogPriceAdapter
?
=
null
private
var
mCallBack
:
VipPayCallBack
?
=
null
private
var
mCallBack
:
VipPayCallBack
?
=
null
...
@@ -35,22 +44,22 @@ object VipPayDialog {
...
@@ -35,22 +44,22 @@ object VipPayDialog {
interface
VipPayCallBack
{
interface
VipPayCallBack
{
fun
pageClose
();
fun
pageClose
();
fun
paySuccess
();
//
fun paySuccess();
fun
payCancel
();
//
fun payCancel();
fun
payError
();
//
fun payError();
}
}
fun
showVipPayDialog
(
activity
:
Activity
)
{
fun
showVipPayDialog
(
activity
:
Activity
)
{
this
.
mActivity
=
activity
;
this
.
mActivity
=
activity
;
showLoading
(
activity
)
openPayDialog
(
activity
)
mPresenter
.
getVipPayList
(
)
}
}
private
var
mDialog
:
Dialog
?
=
null
private
var
mDialog
:
Dialog
?
=
null
private
fun
openPayDialog
(
act
:
Activity
)
{
private
fun
openPayDialog
(
act
:
Activity
,
result
:
List
<
MemberEntity
.
ProductDetail
>
)
{
if
(
mDialog
==
null
)
{
if
(
mDialog
==
null
)
{
mDialog
=
Dialog
(
act
!!
,
R
.
style
.
CenterCompatDialogTheme
)
mDialog
=
Dialog
(
act
,
R
.
style
.
CenterCompatDialogTheme
)
}
}
val
mDialogView
=
CenterDialog
.
showBottomDialog
(
val
mDialogView
=
CenterDialog
.
showBottomDialog
(
R
.
layout
.
dialog_layout_vip_pay
,
R
.
layout
.
dialog_layout_vip_pay
,
...
@@ -71,6 +80,7 @@ object VipPayDialog {
...
@@ -71,6 +80,7 @@ object VipPayDialog {
act
,
LinearLayoutManager
.
HORIZONTAL
,
act
,
LinearLayoutManager
.
HORIZONTAL
,
false
false
)
)
pay_banner
?.
adapter
=
mBannerAdapter
pay_banner
?.
adapter
=
mBannerAdapter
val
mPagerSnapHelper
=
PagerSnapHelper
()
val
mPagerSnapHelper
=
PagerSnapHelper
()
mPagerSnapHelper
.
attachToRecyclerView
(
pay_banner
)
mPagerSnapHelper
.
attachToRecyclerView
(
pay_banner
)
...
@@ -90,16 +100,26 @@ object VipPayDialog {
...
@@ -90,16 +100,26 @@ object VipPayDialog {
}
}
})
})
)
)
var
selectPos
=
0
;
//price
//price
mPriceAdapter
=
mPriceAdapter
=
BecomeVipDialogPriceAdapter
(
act
)
{
view
,
position
,
data
->
BecomeVipDialogPriceAdapter
(
act
)
{
view
,
position
,
data
->
selectPos
=
position
mPriceAdapter
?.
setSelectView
(
position
)
mPriceAdapter
?.
setSelectView
(
position
)
}
}
price_list
?.
layoutManager
=
LinearLayoutManager
(
act
)
price_list
?.
layoutManager
=
LinearLayoutManager
(
act
)
price_list
?.
adapter
=
mPriceAdapter
price_list
?.
adapter
=
mPriceAdapter
mPriceAdapter
?.
clear
()
mPriceAdapter
?.
appendToList
(
result
)
btn_continue
.
setOnClickListener
{
btn_continue
.
setOnClickListener
{
mDialog
?.
dismiss
()
// mDialog?.dismiss()
JumpUtils
.
paymentPageJump
(
Constant
.
Key
.
PAY_TYPE_VIP_DIALOG
,
result
[
selectPos
].
goodsId
,
result
[
selectPos
].
name
,
result
[
selectPos
].
cash
)
}
}
mDialog
?.
setOnDismissListener
{
mDialog
?.
setOnDismissListener
{
...
@@ -116,5 +136,29 @@ object VipPayDialog {
...
@@ -116,5 +136,29 @@ object VipPayDialog {
}
}
override
fun
setVipPayList
(
result
:
List
<
MemberEntity
.
ProductDetail
>?)
{
dismissLoading
()
if
(
mActivity
!=
null
&&
!
result
.
isNullOrEmpty
())
{
openPayDialog
(
mActivity
!!
,
result
)
}
}
private
fun
showLoading
(
content
:
Activity
)
{
if
(
mLoadLoading
==
null
)
{
mLoadLoading
=
LoadingDialog
.
getLoadingDialog
(
content
,
content
.
getString
(
R
.
string
.
wait_ing
),
false
,
false
)
}
mLoadLoading
?.
setLoading
(
content
.
getString
(
R
.
string
.
wait_ing
))
mLoadLoading
?.
show
()
}
private
fun
dismissLoading
()
{
if
(
mLoadLoading
!=
null
)
{
mLoadLoading
?.
dismiss
()
}
}
}
}
\ No newline at end of file
cms/src/main/res/drawable/shape_8857ff_bd8aff_bg_r10.xml
View file @
583105f3
...
@@ -7,5 +7,5 @@
...
@@ -7,5 +7,5 @@
android:endColor=
"#662CF5"
android:endColor=
"#662CF5"
android:type=
"linear"
android:type=
"linear"
android:useLevel=
"true"
/>
android:useLevel=
"true"
/>
<corners
android:radius=
"1
5
dp"
/>
<corners
android:radius=
"1
0
dp"
/>
</shape>
</shape>
\ No newline at end of file
cms/src/main/res/layout/activity_layout_vip_pay.xml
View file @
583105f3
...
@@ -53,26 +53,41 @@
...
@@ -53,26 +53,41 @@
android:background=
"#F6F6F6"
>
android:background=
"#F6F6F6"
>
<
Linear
Layout
<
Relative
Layout
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:
paddingBottom=
"70dp
"
android:
orientation=
"vertical
"
android:
orientation=
"vertical
"
>
android:
paddingBottom=
"70dp
"
>
<androidx.recyclerview.widget.RecyclerView
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/id_rcl_banner"
android:id=
"@+id/id_rcl_banner"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
/>
android:layout_height=
"wrap_content"
/>
<com.zxhl.cms.widget.UIndicator
android:id=
"@+id/id_banner_indicator"
android:layout_width=
"match_parent"
android:layout_height=
"8dp"
android:layout_below=
"@id/id_rcl_banner"
android:layout_centerHorizontal=
"true"
android:layout_marginTop=
"-30dp"
app:circle_circle_radius=
"4dp"
app:normal_color=
"#66ffffff"
app:orientation=
"horizontal"
app:selected_color=
"#ffffffff"
app:spacing=
"10dp"
app:style=
"circle_circle"
/>
<androidx.recyclerview.widget.RecyclerView
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/id_rcl_pay_vip_list"
android:id=
"@+id/id_rcl_pay_vip_list"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_below=
"@+id/id_rcl_banner"
android:layout_marginLeft=
"10dp"
android:layout_marginLeft=
"10dp"
android:layout_marginTop=
"5dp"
android:layout_marginTop=
"5dp"
android:layout_marginRight=
"10dp"
/>
android:layout_marginRight=
"10dp"
/>
</
Linear
Layout>
</
Relative
Layout>
</androidx.core.widget.NestedScrollView>
</androidx.core.widget.NestedScrollView>
...
...
cms/src/main/res/layout/item_layout_become_dialog_vip_price_view.xml
View file @
583105f3
...
@@ -28,7 +28,7 @@
...
@@ -28,7 +28,7 @@
<ImageView
<ImageView
android:layout_width=
"20dp"
android:layout_width=
"20dp"
android:layout_height=
"20dp"
android:layout_height=
"20dp"
android:layout_margin
Lef
t=
"10dp"
android:layout_margin
Star
t=
"10dp"
android:layout_marginEnd=
"5dp"
android:layout_marginEnd=
"5dp"
android:src=
"@drawable/icon_xingbi_da_wode"
/>
android:src=
"@drawable/icon_xingbi_da_wode"
/>
...
...
moduleMain/src/main/AndroidManifest.xml
View file @
583105f3
...
@@ -75,7 +75,8 @@
...
@@ -75,7 +75,8 @@
<activity
<activity
android:name=
"com.zxhl.main.page.activity.UserDetailsActivity"
android:name=
"com.zxhl.main.page.activity.UserDetailsActivity"
android:hardwareAccelerated=
"true"
>
android:hardwareAccelerated=
"true"
android:launchMode=
"singleTop"
>
<intent-filter>
<intent-filter>
<action
android:name=
"android.intent.action.VIEW"
/>
<action
android:name=
"android.intent.action.VIEW"
/>
<category
android:name=
"android.intent.category.DEFAULT"
/>
<category
android:name=
"android.intent.category.DEFAULT"
/>
...
...
moduleMain/src/main/java/com/zxhl/main/page/activity/UserDetailsActivity.kt
View file @
583105f3
...
@@ -121,7 +121,9 @@ class UserDetailsActivity : BaseActivity(), UserDetailsContract.View,
...
@@ -121,7 +121,9 @@ class UserDetailsActivity : BaseActivity(), UserDetailsContract.View,
//Name
//Name
id_tv_user_details_name
.
text
=
result
.
nickname
id_tv_user_details_name
.
text
=
result
.
nickname
//国旗
//国旗
Glide
.
with
(
this
).
load
(
result
.
nationalFlag
?:
""
).
into
(
id_img_national_flag
)
if
(!
this
.
isFinishing
){
Glide
.
with
(
this
).
load
(
result
.
nationalFlag
?:
""
).
into
(
id_img_national_flag
)
}
//年龄
//年龄
id_tv_user_details_age
.
text
=
result
.
age
id_tv_user_details_age
.
text
=
result
.
age
//是否在线
//是否在线
...
...
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