Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
HBHAndroid
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
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
杨秀秀
HBHAndroid
Commits
e66bc6ea
Commit
e66bc6ea
authored
Aug 14, 2023
by
yangxuenan
Committed by
杨秀秀
Nov 21, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
完善积分商品页面
parent
08f8241b
Changes
27
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
704 additions
and
226 deletions
+704
-226
CreditAdapter.java
...c/main/java/com/xx/hbhconsumer/adapter/CreditAdapter.java
+4
-3
CreditGoodsAdapter.java
...n/java/com/xx/hbhconsumer/adapter/CreditGoodsAdapter.java
+15
-3
CreditGoodsSmallAdapter.java
...a/com/xx/hbhconsumer/adapter/CreditGoodsSmallAdapter.java
+15
-3
ImageBannerAdapter.kt
...ain/java/com/xx/hbhconsumer/adapter/ImageBannerAdapter.kt
+43
-0
ApiService.kt
.../src/main/java/com/xx/hbhconsumer/data/http/ApiService.kt
+28
-0
CreditRequest.java
...va/com/xx/hbhconsumer/data/http/requst/CreditRequest.java
+72
-0
CreditDetailBean.kt
.../com/xx/hbhconsumer/data/http/respons/CreditDetailBean.kt
+21
-0
CreditGoodsBean.kt
...a/com/xx/hbhconsumer/data/http/respons/CreditGoodsBean.kt
+8
-0
CreditGoodsDetailBean.kt
...xx/hbhconsumer/data/http/respons/CreditGoodsDetailBean.kt
+22
-0
CreditRecordBean.kt
.../com/xx/hbhconsumer/data/http/respons/CreditRecordBean.kt
+21
-0
CreditDetailActivity.java
...va/com/xx/hbhconsumer/ui/credit/CreditDetailActivity.java
+34
-29
CreditDetailViewModel.java
...a/com/xx/hbhconsumer/ui/credit/CreditDetailViewModel.java
+83
-3
CreditListFragment.java
...java/com/xx/hbhconsumer/ui/credit/CreditListFragment.java
+0
-68
CreditListViewModel.java
...ava/com/xx/hbhconsumer/ui/credit/CreditListViewModel.java
+0
-23
CreditsExchangeActivity.java
...com/xx/hbhconsumer/ui/credit/CreditsExchangeActivity.java
+27
-26
CreditsExchangeViewModel.java
...om/xx/hbhconsumer/ui/credit/CreditsExchangeViewModel.java
+94
-4
CreditsGoodsDetailActivity.java
.../xx/hbhconsumer/ui/credit/CreditsGoodsDetailActivity.java
+25
-0
CreditsGoodsDetailViewModel.java
...xx/hbhconsumer/ui/credit/CreditsGoodsDetailViewModel.java
+58
-2
MyCreditActivity.java
...n/java/com/xx/hbhconsumer/ui/credit/MyCreditActivity.java
+23
-17
MyCreditViewModel.java
.../java/com/xx/hbhconsumer/ui/credit/MyCreditViewModel.java
+89
-4
activity_activity_detail.xml
consumer/src/main/res/layout/activity_activity_detail.xml
+0
-1
activity_credit_detail.xml
consumer/src/main/res/layout/activity_credit_detail.xml
+13
-2
activity_credits_exchange.xml
consumer/src/main/res/layout/activity_credits_exchange.xml
+1
-1
fragment_credit_list.xml
consumer/src/main/res/layout/fragment_credit_list.xml
+0
-31
item_credit.xml
consumer/src/main/res/layout/item_credit.xml
+2
-2
item_credit_goods.xml
consumer/src/main/res/layout/item_credit_goods.xml
+3
-2
item_credit_goods_small.xml
consumer/src/main/res/layout/item_credit_goods_small.xml
+3
-2
No files found.
consumer/src/main/java/com/xx/hbhconsumer/adapter/CreditAdapter.java
View file @
e66bc6ea
...
...
@@ -3,12 +3,13 @@ package com.xx.hbhconsumer.adapter;
import
android.content.Context
;
import
com.xx.hbhconsumer.R
;
import
com.xx.hbhconsumer.data.http.respons.CreditRecordBean
;
import
com.xx.hbhconsumer.data.http.respons.OrderBean
;
import
com.xx.hbhconsumer.databinding.ItemCouponBinding
;
import
com.xx.hbhconsumer.databinding.ItemCreditBinding
;
import
com.xx.xxviewlibrary.base.xxBaseRecyclerViewAdapter
;
public
class
CreditAdapter
extends
xxBaseRecyclerViewAdapter
<
ItemCreditBinding
,
Order
Bean
>
{
public
class
CreditAdapter
extends
xxBaseRecyclerViewAdapter
<
ItemCreditBinding
,
CreditRecord
Bean
>
{
public
CreditAdapter
(
Context
context
)
{
super
(
context
);
mContext
=
context
;
...
...
@@ -20,8 +21,8 @@ public class CreditAdapter extends xxBaseRecyclerViewAdapter<ItemCreditBinding,
}
@Override
protected
void
covert
(
ItemCreditBinding
dataBind
,
Order
Bean
data
,
int
position
)
{
protected
void
covert
(
ItemCreditBinding
dataBind
,
CreditRecord
Bean
data
,
int
position
)
{
// 将接口调出来的布局遍历上去
dataBind
.
set
Order
Bean
(
data
);
dataBind
.
set
CreditRecord
Bean
(
data
);
}
}
consumer/src/main/java/com/xx/hbhconsumer/adapter/CreditGoodsAdapter.java
View file @
e66bc6ea
...
...
@@ -2,14 +2,17 @@ package com.xx.hbhconsumer.adapter;
import
android.content.Context
;
import
com.bumptech.glide.Glide
;
import
com.xx.hbhconsumer.R
;
import
com.xx.hbhconsumer.data.http.respons.CreditGoodsBean
;
import
com.xx.hbhconsumer.data.http.respons.OrderBean
;
import
com.xx.hbhconsumer.databinding.ItemCreditGoodsBinding
;
import
com.xx.hbhconsumer.databinding.ItemNewProductsGoodsBinding
;
import
com.xx.hbhconsumer.utils.RetrofitClient
;
import
com.xx.xxviewlibrary.base.xxBaseRecyclerViewAdapter
;
public
class
CreditGoodsAdapter
extends
xxBaseRecyclerViewAdapter
<
ItemCreditGoodsBinding
,
Order
Bean
>
{
public
class
CreditGoodsAdapter
extends
xxBaseRecyclerViewAdapter
<
ItemCreditGoodsBinding
,
CreditGoods
Bean
>
{
public
CreditGoodsAdapter
(
Context
context
)
{
super
(
context
);
...
...
@@ -22,8 +25,17 @@ public class CreditGoodsAdapter extends xxBaseRecyclerViewAdapter<ItemCreditGood
}
@Override
protected
void
covert
(
ItemCreditGoodsBinding
dataBind
,
Order
Bean
data
,
int
position
)
{
protected
void
covert
(
ItemCreditGoodsBinding
dataBind
,
CreditGoods
Bean
data
,
int
position
)
{
// 将接口调出来的布局遍历上去
dataBind
.
setOrderBean
(
data
);
dataBind
.
setCreditGoodsBean
(
data
);
if
(
data
.
getIntegralCommodityImage
()
!=
null
&&
!
data
.
getIntegralCommodityImage
().
isEmpty
())
{
Glide
.
with
(
mContext
)
.
load
(
RetrofitClient
.
baseImgUrl
+
data
.
getIntegralCommodityImage
().
get
(
0
))
.
into
(
dataBind
.
ivGoodsImg
);
}
dataBind
.
tvGoodsName
.
setText
(
data
.
getIntegralCommodityName
());
dataBind
.
tvCreditPrice
.
setText
(
String
.
valueOf
(
data
.
getCommodityPrice
()));
}
}
consumer/src/main/java/com/xx/hbhconsumer/adapter/CreditGoodsSmallAdapter.java
View file @
e66bc6ea
...
...
@@ -2,14 +2,17 @@ package com.xx.hbhconsumer.adapter;
import
android.content.Context
;
import
com.bumptech.glide.Glide
;
import
com.xx.hbhconsumer.R
;
import
com.xx.hbhconsumer.data.http.respons.CreditGoodsBean
;
import
com.xx.hbhconsumer.data.http.respons.OrderBean
;
import
com.xx.hbhconsumer.databinding.ItemCreditGoodsBinding
;
import
com.xx.hbhconsumer.databinding.ItemCreditGoodsSmallBinding
;
import
com.xx.hbhconsumer.utils.RetrofitClient
;
import
com.xx.xxviewlibrary.base.xxBaseRecyclerViewAdapter
;
public
class
CreditGoodsSmallAdapter
extends
xxBaseRecyclerViewAdapter
<
ItemCreditGoodsSmallBinding
,
Order
Bean
>
{
public
class
CreditGoodsSmallAdapter
extends
xxBaseRecyclerViewAdapter
<
ItemCreditGoodsSmallBinding
,
CreditGoods
Bean
>
{
public
CreditGoodsSmallAdapter
(
Context
context
)
{
super
(
context
);
...
...
@@ -22,8 +25,17 @@ public class CreditGoodsSmallAdapter extends xxBaseRecyclerViewAdapter<ItemCredi
}
@Override
protected
void
covert
(
ItemCreditGoodsSmallBinding
dataBind
,
Order
Bean
data
,
int
position
)
{
protected
void
covert
(
ItemCreditGoodsSmallBinding
dataBind
,
CreditGoods
Bean
data
,
int
position
)
{
// 将接口调出来的布局遍历上去
dataBind
.
setOrderBean
(
data
);
dataBind
.
setCreditGoodsBean
(
data
);
if
(
data
.
getIntegralCommodityImage
()
!=
null
&&
!
data
.
getIntegralCommodityImage
().
isEmpty
())
{
Glide
.
with
(
mContext
)
.
load
(
RetrofitClient
.
baseImgUrl
+
data
.
getIntegralCommodityImage
().
get
(
0
))
.
into
(
dataBind
.
ivGoodsImg
);
}
dataBind
.
tvGoodsName
.
setText
(
data
.
getIntegralCommodityName
());
dataBind
.
tvCreditPrice
.
setText
(
String
.
valueOf
(
data
.
getCommodityPrice
()));
}
}
consumer/src/main/java/com/xx/hbhconsumer/adapter/ImageBannerAdapter.kt
0 → 100644
View file @
e66bc6ea
package
com.xx.hbhconsumer.adapter
import
android.content.Context
import
android.graphics.Bitmap
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
com.bumptech.glide.Glide
import
com.bumptech.glide.request.target.Target
import
com.xx.hbhconsumer.R
import
com.xx.hbhconsumer.data.http.respons.AdvertisingBean
import
com.xx.hbhconsumer.databinding.ItemBannerBinding
import
com.xx.hbhconsumer.utils.RetrofitClient
import
com.xx.xxviewlibrary.base.xxBaseRecyclerViewViewHolder
import
com.youth.banner.adapter.BannerAdapter
/**
* banner 适配器械
*/
class
ImageBannerAdapter
(
val
context
:
Context
,
list
:
List
<
String
>
)
:
BannerAdapter
<
String
,
xxBaseRecyclerViewViewHolder
<
ItemBannerBinding
>>(
list
)
{
override
fun
onCreateHolder
(
parent
:
ViewGroup
?,
viewType
:
Int
):
xxBaseRecyclerViewViewHolder
<
ItemBannerBinding
>
{
var
view
:
View
=
LayoutInflater
.
from
(
parent
?.
context
).
inflate
(
R
.
layout
.
item_banner
,
parent
,
false
)
return
xxBaseRecyclerViewViewHolder
(
parent
?.
context
,
view
)
}
override
fun
onBindView
(
holder
:
xxBaseRecyclerViewViewHolder
<
ItemBannerBinding
>?,
data
:
String
?,
position
:
Int
,
size
:
Int
)
{
holder
?.
dataBind
?.
imgBanner
?.
let
{
Glide
.
with
(
context
).
load
(
RetrofitClient
.
baseImgUrl
+
data
)
.
into
(
it
)
}
}
}
consumer/src/main/java/com/xx/hbhconsumer/data/http/ApiService.kt
View file @
e66bc6ea
...
...
@@ -6,7 +6,11 @@ import com.xx.hbhconsumer.data.http.respons.BoothBean
import
com.xx.hbhconsumer.data.http.respons.CategoryBean
import
com.xx.hbhconsumer.data.http.respons.ClaimedCoupon
import
com.xx.hbhconsumer.data.http.respons.CollectionBean
import
com.xx.hbhconsumer.data.http.respons.CreditDetailBean
import
com.xx.hbhconsumer.data.http.respons.CreditGoodsBean
import
com.xx.hbhconsumer.data.http.respons.CreditGoodsDetailBean
import
com.xx.hbhconsumer.data.http.respons.CreditOrderBean
import
com.xx.hbhconsumer.data.http.respons.CreditRecordBean
import
com.xx.hbhconsumer.data.http.respons.Filebean
import
com.xx.hbhconsumer.data.http.respons.GuessLikeGoodsBean
import
com.xx.hbhconsumer.data.http.respons.HotSalesBean
...
...
@@ -249,4 +253,28 @@ interface ApiService {
@GET
(
"/app/getCoupon/{businessId}"
)
fun
getCoupon
(
@Path
(
"businessId"
)
businessId
:
String
):
Observable
<
BaseResponse
<
Int
>>
@Headers
(
"Content-type:application/json"
)
@GET
(
"app/myPoint/pointCommodity/list"
)
fun
getCreditGoodsList
():
Observable
<
BasePageResponse
<
CreditGoodsBean
>>
@Headers
(
"Content-type:application/json"
)
@POST
(
"app/myPoint/pointCommodity/list"
)
fun
getCreditRecordList
(
@Body
requestBody
:
RequestBody
):
Observable
<
BasePageResponse
<
CreditRecordBean
>>
@Headers
(
"Content-type:application/json"
)
@GET
(
"app/myPoint/getMyPoint"
)
fun
getMyPoint
():
Observable
<
BaseResponse
<
CreditDetailBean
>>
@Headers
(
"Content-type:application/json"
)
@GET
(
"app/pointExchange/pointCommodity/list"
)
fun
getAllCreditGoodsList
():
Observable
<
BasePageResponse
<
CreditGoodsBean
>>
@Headers
(
"Content-type:application/json"
)
@GET
(
"app/pointExchange/pointCommodity/listTop"
)
fun
getTopCreditGoodsList
():
Observable
<
BasePageResponse
<
CreditGoodsBean
>>
@Headers
(
"Content-type:application/json"
)
@GET
(
"app/pointExchange/getIntegralCommodity/{businessId}"
)
fun
getCreditGoodsDetail
(
@Path
(
"businessId"
)
businessId
:
String
):
Observable
<
BaseResponse
<
CreditGoodsDetailBean
>>
}
\ No newline at end of file
consumer/src/main/java/com/xx/hbhconsumer/data/http/requst/CreditRequest.java
0 → 100644
View file @
e66bc6ea
package
com
.
xx
.
hbhconsumer
.
data
.
http
.
requst
;
import
com.xx.hbhconsumer.data.http.BaseRespons
;
import
com.xx.hbhconsumer.data.http.respons.CreditDetailBean
;
import
com.xx.hbhconsumer.data.http.respons.CreditGoodsBean
;
import
com.xx.hbhconsumer.data.http.respons.CreditGoodsDetailBean
;
import
com.xx.hbhconsumer.data.http.respons.CreditRecordBean
;
import
io.reactivex.rxjava3.core.Observable
;
import
me.goldze.mvvmhabit.http.ApiParams
;
import
me.goldze.mvvmhabit.http.BasePageResponse
;
import
me.goldze.mvvmhabit.http.BaseResponse
;
import
okhttp3.RequestBody
;
public
class
CreditRequest
extends
BaseRespons
{
/**
* 低价好物商品列表
*/
public
Observable
<
BaseResponse
<
CreditGoodsDetailBean
>>
getCreditGoodsDetail
(
String
businessId
)
{
return
getApiService
().
getCreditGoodsDetail
(
businessId
);
}
/**
* 低价好物商品列表
*/
public
Observable
<
BasePageResponse
<
CreditGoodsBean
>>
getAllCreditGoodsList
()
{
return
getApiService
().
getAllCreditGoodsList
();
}
/**
* 低价好物商品列表
*/
public
Observable
<
BasePageResponse
<
CreditGoodsBean
>>
getTopCreditGoodsList
()
{
return
getApiService
().
getTopCreditGoodsList
();
}
/**
* 低价好物商品列表
*/
public
Observable
<
BaseResponse
<
CreditDetailBean
>>
getMyPoint
()
{
return
getApiService
().
getMyPoint
();
}
/**
* 低价好物商品列表
*/
public
Observable
<
BasePageResponse
<
CreditGoodsBean
>>
getCreditGoodsList
()
{
return
getApiService
().
getCreditGoodsList
();
}
/**
* 低价好物商品列表
*/
public
Observable
<
BasePageResponse
<
CreditRecordBean
>>
getCreditRecordList
(
String
incomeType
,
String
beginTime
,
String
endTime
)
{
ApiParams
<
GetCreditRecordListRequestBody
>
apiParams
=
new
ApiParams
<>();
GetCreditRecordListRequestBody
requestBody
=
new
GetCreditRecordListRequestBody
(
incomeType
,
beginTime
,
endTime
);
RequestBody
body
=
apiParams
.
setParams
(
requestBody
);
return
getApiService
().
getCreditRecordList
(
body
);
}
public
class
GetCreditRecordListRequestBody
{
public
String
incomeType
;
public
String
beginTime
;
public
String
endTime
;
public
GetCreditRecordListRequestBody
(
String
incomeType
,
String
beginTime
,
String
endTime
)
{
this
.
incomeType
=
incomeType
;
this
.
beginTime
=
beginTime
;
this
.
endTime
=
endTime
;
}
}
}
consumer/src/main/java/com/xx/hbhconsumer/data/http/respons/CreditDetailBean.kt
0 → 100644
View file @
e66bc6ea
package
com.xx.hbhconsumer.data.http.respons
data class
CreditDetailBean
(
val
businessId
:
String
,
val
createBy
:
String
,
val
createTime
:
String
,
val
delFlag
:
String
,
val
integralTotal
:
Int
,
val
memberCoupon
:
String
,
val
memberNickname
:
String
,
val
memberNumber
:
String
,
val
memberPhone
:
String
,
val
memberPicture
:
String
,
val
params
:
Params
,
val
remark
:
String
,
val
status
:
String
,
val
updateBy
:
String
,
val
updateTime
:
String
,
val
usableIntegral
:
Int
,
val
userId
:
Int
)
\ No newline at end of file
consumer/src/main/java/com/xx/hbhconsumer/data/http/respons/CreditGoodsBean.kt
0 → 100644
View file @
e66bc6ea
package
com.xx.hbhconsumer.data.http.respons
data class
CreditGoodsBean
(
val
businessId
:
String
,
val
commodityPrice
:
Int
,
val
integralCommodityImage
:
List
<
String
>,
val
integralCommodityName
:
String
)
\ No newline at end of file
consumer/src/main/java/com/xx/hbhconsumer/data/http/respons/CreditGoodsDetailBean.kt
0 → 100644
View file @
e66bc6ea
package
com.xx.hbhconsumer.data.http.respons
data class
CreditGoodsDetailBean
(
val
businessId
:
String
,
val
commodityDescription
:
String
,
val
commodityInventory
:
Int
,
val
commodityPrice
:
Int
,
val
couponId
:
String
,
val
createBy
:
String
,
val
createTime
:
String
,
val
delFlag
:
String
,
val
integralCommodityImage
:
String
,
val
integralCommodityName
:
String
,
val
integralCommodityType
:
String
,
val
isTop
:
String
,
val
params
:
Params
,
val
remark
:
String
,
val
status
:
String
,
val
updateBy
:
String
,
val
updateTime
:
String
,
val
integralCommodityImageUrl
:
List
<
String
>,
)
\ No newline at end of file
consumer/src/main/java/com/xx/hbhconsumer/data/http/respons/CreditRecordBean.kt
0 → 100644
View file @
e66bc6ea
package
com.xx.hbhconsumer.data.http.respons
data class
CreditRecordBean
(
val
beginTime
:
String
,
val
businessId
:
String
,
val
createBy
:
String
,
val
createTime
:
String
,
val
delFlag
:
String
,
val
description
:
String
,
val
endTime
:
String
,
val
gradeId
:
String
,
val
incomeType
:
String
,
val
integralType
:
String
,
val
integralVariation
:
Int
,
val
params
:
Params
,
val
remark
:
String
,
val
updateBy
:
String
,
val
updateTime
:
String
,
val
variableIntegral
:
Int
,
val
variableTime
:
String
)
\ No newline at end of file
consumer/src/main/java/com/xx/hbhconsumer/ui/credit/CreditDetailActivity.java
View file @
e66bc6ea
...
...
@@ -2,53 +2,53 @@ package com.xx.hbhconsumer.ui.credit;
import
android.os.Bundle
;
import
androidx.annotation.NonNull
;
import
androidx.fragment.app.Fragment
;
import
androidx.viewpager2.adapter.FragmentStateAdapter
;
import
androidx.viewpager2.widget.ViewPager2
;
import
com.google.android.material.tabs.TabLayout
;
import
com.google.android.material.tabs.TabLayoutMediator
;
import
com.xx.hbhconsumer.R
;
import
com.xx.hbhconsumer.adapter.CreditAdapter
;
import
com.xx.hbhconsumer.data.http.requst.CreditRequest
;
import
com.xx.hbhconsumer.databinding.ActivityCreditDetailBinding
;
import
com.xx.hbhconsumer.ui.order.OrderListFragment
;
import
me.goldze.mvvmhabit.base.BaseActivity
;
import
me.tatarka.bindingcollectionadapter2.BR
;
public
class
CreditDetailActivity
extends
BaseActivity
<
ActivityCreditDetailBinding
,
CreditDetailViewModel
>
{
final
String
[]
tabs
=
new
String
[]{
" 积分收入"
,
"积分支出"
};
private
TabLayoutMediator
mediator
;
TabLayout
tabLayout
;
ViewPager2
viewPager2
;
@Override
public
void
initData
()
{
super
.
initData
();
// 初始化底部导航栏
tabLayout
=
findViewById
(
R
.
id
.
tabLayout
);
viewPager2
=
findViewById
(
R
.
id
.
viewPager2
);
tabLayout
.
setLongClickable
(
false
);
viewPager2
.
setOffscreenPageLimit
(
ViewPager2
.
OFFSCREEN_PAGE_LIMIT_DEFAULT
);
//Adapter
viewPager2
.
setAdapter
(
new
FragmentStateAdapter
(
getSupportFragmentManager
(),
getLifecycle
())
{
@NonNull
/*切换状态Tab*/
binding
.
tabLayout
.
addOnTabSelectedListener
(
new
TabLayout
.
OnTabSelectedListener
()
{
@Override
public
Fragment
createFragment
(
int
position
)
{
//FragmentStateAdapter内部自己会管理已实例化的fragment对象。
// 所以不需要考虑复用的问题
return
CreditListFragment
.
newInstance
(
position
);
/*订单状态 1-待付款 2-已完成 3-已关闭*/
public
void
onTabSelected
(
TabLayout
.
Tab
tab
)
{
switch
(
tab
.
getPosition
())
{
case
0
:
viewModel
.
loadCreditRecordList
(
"1"
,
"2022"
,
"2023"
);
break
;
case
1
:
viewModel
.
loadCreditRecordList
(
"2"
,
"2022"
,
"2023"
);
break
;
}
}
@Override
public
int
getItemCount
()
{
return
tabs
.
length
;
public
void
onTabUnselected
(
TabLayout
.
Tab
tab
)
{
}
@Override
public
void
onTabReselected
(
TabLayout
.
Tab
tab
)
{
}
});
//viewPager 页面切换监听监听
mediator
=
new
TabLayoutMediator
(
tabLayout
,
viewPager2
,
(
tab
,
position
)
->
tab
.
setText
(
tabs
[
position
]));
//要执行这一句才是真正将两者绑定起来
mediator
.
attach
();
viewModel
.
creditRecordBeanList
.
observe
(
this
,
creditRecordBeanList
->
{
CreditAdapter
creditAdapter
=
new
CreditAdapter
(
this
);
//把adapterset进去
binding
.
rvCreditRecordList
.
setAdapter
(
creditAdapter
);
creditAdapter
.
mList
=
creditRecordBeanList
;
});
viewModel
.
credit
.
observe
(
this
,
credit
->
{
binding
.
tvCreditNum
.
setText
(
String
.
valueOf
(
credit
));
});
}
@Override
...
...
@@ -61,4 +61,9 @@ public class CreditDetailActivity extends BaseActivity<ActivityCreditDetailBindi
return
BR
.
creditDetailViewModel
;
}
@Override
public
CreditDetailViewModel
initViewModel
()
{
CreditRequest
lm
=
new
CreditRequest
();
return
new
CreditDetailViewModel
(
getApplication
(),
lm
);
}
}
consumer/src/main/java/com/xx/hbhconsumer/ui/credit/CreditDetailViewModel.java
View file @
e66bc6ea
...
...
@@ -3,17 +3,97 @@ package com.xx.hbhconsumer.ui.credit;
import
android.app.Application
;
import
androidx.annotation.NonNull
;
import
androidx.lifecycle.MutableLiveData
;
import
com.xx.hbhconsumer.data.http.requst.PhoneRequest
;
import
com.xx.hbhconsumer.data.http.requst.CreditRequest
;
import
com.xx.hbhconsumer.data.http.respons.CreditDetailBean
;
import
com.xx.hbhconsumer.data.http.respons.CreditRecordBean
;
import
java.util.ArrayList
;
import
java.util.List
;
import
io.reactivex.rxjava3.disposables.Disposable
;
import
io.reactivex.rxjava3.functions.Consumer
;
import
me.goldze.mvvmhabit.base.BaseViewModel
;
import
me.goldze.mvvmhabit.http.ApiDisposableObserver
;
import
me.goldze.mvvmhabit.http.ApiDisposablePageObserver
;
import
me.goldze.mvvmhabit.utils.RxUtils
;
public
class
CreditDetailViewModel
extends
BaseViewModel
<
CreditRequest
>
{
public
MutableLiveData
<
List
<
CreditRecordBean
>>
creditRecordBeanList
=
new
MutableLiveData
<>(
new
ArrayList
<>());
public
MutableLiveData
<
Integer
>
credit
=
new
MutableLiveData
<>(
0
);
public
class
CreditDetailViewModel
extends
BaseViewModel
<
PhoneRequest
>
{
public
CreditDetailViewModel
(
@NonNull
Application
application
)
{
super
(
application
);
}
public
CreditDetailViewModel
(
@NonNull
Application
application
,
Phone
Request
model
)
{
public
CreditDetailViewModel
(
@NonNull
Application
application
,
Credit
Request
model
)
{
super
(
application
,
model
);
}
@Override
public
void
onCreate
()
{
super
.
onCreate
();
}
@Override
public
void
onStart
()
{
super
.
onStart
();
}
@Override
public
void
onResume
()
{
super
.
onResume
();
loadCreditRecordList
(
"1"
,
"2022"
,
"2023"
);
}
public
void
getMyPoint
()
{
model
.
getMyPoint
()
.
compose
(
RxUtils
.
schedulersTransformer
())
//线程调度
.
doOnSubscribe
(
CreditDetailViewModel
.
this
)
.
doOnSubscribe
(
new
Consumer
<
Disposable
>()
{
@Override
public
void
accept
(
Disposable
disposable
)
throws
Exception
{
}
}).
subscribe
(
new
ApiDisposableObserver
<
CreditDetailBean
>()
{
@Override
public
void
onSuccess
(
CreditDetailBean
resultBean
)
{
credit
.
postValue
(
resultBean
.
getIntegralTotal
());
}
@Override
public
void
onError
(
String
Error
)
{
dismissDialog
();
}
});
}
public
void
loadCreditRecordList
(
String
incomeType
,
String
beginTime
,
String
endTime
)
{
model
.
getCreditRecordList
(
incomeType
,
beginTime
,
endTime
)
.
compose
(
RxUtils
.
schedulersTransformer
())
//线程调度
.
doOnSubscribe
(
CreditDetailViewModel
.
this
)
.
doOnSubscribe
(
new
Consumer
<
Disposable
>()
{
@Override
public
void
accept
(
Disposable
disposable
)
throws
Exception
{
}
}).
subscribe
(
new
ApiDisposablePageObserver
<
CreditRecordBean
>()
{
@Override
public
void
onSuccess
(
List
<
CreditRecordBean
>
resultBean
)
{
creditRecordBeanList
.
postValue
(
resultBean
);
}
@Override
public
void
onError
(
String
Error
)
{
dismissDialog
();
}
@Override
public
void
getTotal
(
int
total
)
{
}
});
}
}
consumer/src/main/java/com/xx/hbhconsumer/ui/credit/CreditListFragment.java
deleted
100644 → 0
View file @
08f8241b
package
com
.
xx
.
hbhconsumer
.
ui
.
credit
;
import
android.os.Bundle
;
import
android.view.LayoutInflater
;
import
android.view.ViewGroup
;
import
androidx.annotation.Nullable
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
com.xx.hbhconsumer.BR
;
import
com.xx.hbhconsumer.R
;
import
com.xx.hbhconsumer.adapter.CreditAdapter
;
import
com.xx.hbhconsumer.adapter.OrderAdapter
;
import
com.xx.hbhconsumer.data.http.requst.LoginRequest
;
import
com.xx.hbhconsumer.data.http.respons.OrderBean
;
import
com.xx.hbhconsumer.databinding.FragmentCreditListBinding
;
import
com.xx.hbhconsumer.databinding.FragmentOrderListBinding
;
import
com.xx.hbhconsumer.widget.RecycleViewDivider
;
import
java.util.ArrayList
;
import
java.util.List
;
import
me.goldze.mvvmhabit.base.BaseFragment
;
public
class
CreditListFragment
extends
BaseFragment
<
FragmentCreditListBinding
,
CreditListViewModel
>
{
public
static
CreditListFragment
newInstance
(
Integer
orderType
)
{
Bundle
args
=
new
Bundle
();
args
.
putInt
(
"orderType"
,
orderType
);
CreditListFragment
fragment
=
new
CreditListFragment
();
fragment
.
setArguments
(
args
);
return
fragment
;
}
@Override
public
void
initData
()
{
List
<
OrderBean
>
orderBeanList
=
new
ArrayList
<>();
//获取适配器上下文
CreditAdapter
creditAdapter
=
new
CreditAdapter
(
getActivity
());
//把adapterset进去
binding
.
rvOrderList
.
setAdapter
(
creditAdapter
);
binding
.
rvOrderList
.
addItemDecoration
(
new
RecycleViewDivider
(
getContext
(),
LinearLayoutManager
.
VERTICAL
));
creditAdapter
.
mList
=
orderBeanList
;
}
@Override
public
int
viewModelType
()
{
return
1
;
}
@Override
public
int
initContentView
(
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
return
R
.
layout
.
fragment_credit_list
;
}
@Override
public
int
initVariableId
()
{
return
BR
.
creditListViewModel
;
}
@Override
public
CreditListViewModel
initViewModel
()
{
LoginRequest
model
=
new
LoginRequest
();
return
new
CreditListViewModel
(
getActivity
().
getApplication
(),
model
);
}
}
consumer/src/main/java/com/xx/hbhconsumer/ui/credit/CreditListViewModel.java
deleted
100644 → 0
View file @
08f8241b
package
com
.
xx
.
hbhconsumer
.
ui
.
credit
;
import
android.app.Application
;
import
androidx.annotation.NonNull
;
import
com.xx.hbhconsumer.data.http.requst.LoginRequest
;
import
com.xx.hbhconsumer.ui.order.OrderDetailActivity
;
import
me.goldze.mvvmhabit.base.BaseViewModel
;
public
class
CreditListViewModel
extends
BaseViewModel
<
LoginRequest
>
{
public
CreditListViewModel
(
@NonNull
Application
application
,
LoginRequest
model
)
{
super
(
application
,
model
);
}
public
void
goOrderDetail
(
int
position
)
{
startActivity
(
OrderDetailActivity
.
class
);
}
}
consumer/src/main/java/com/xx/hbhconsumer/ui/credit/CreditsExchangeActivity.java
View file @
e66bc6ea
...
...
@@ -7,12 +7,9 @@ import androidx.recyclerview.widget.GridLayoutManager;
import
com.xx.hbhconsumer.R
;
import
com.xx.hbhconsumer.adapter.CreditGoodsAdapter
;
import
com.xx.hbhconsumer.adapter.CreditGoodsSmallAdapter
;
import
com.xx.hbhconsumer.data.http.re
spons.OrderBean
;
import
com.xx.hbhconsumer.data.http.re
qust.CreditRequest
;
import
com.xx.hbhconsumer.databinding.ActivityCreditsExchangeBinding
;
import
java.util.ArrayList
;
import
java.util.List
;
import
me.goldze.mvvmhabit.base.BaseActivity
;
import
me.tatarka.bindingcollectionadapter2.BR
;
...
...
@@ -22,28 +19,27 @@ public class CreditsExchangeActivity extends BaseActivity<ActivityCreditsExchang
public
void
initData
()
{
super
.
initData
();
List
<
OrderBean
>
orderBeanList
=
new
ArrayList
<>();
GridLayoutManager
manager
=
new
GridLayoutManager
(
this
,
2
);
binding
.
rvAllGoodsList
.
setLayoutManager
(
manager
);
//获取适配器上下文
CreditGoodsAdapter
creditGoodsAdapter
=
new
CreditGoodsAdapter
(
this
);
//把adapterset进去
binding
.
rvAllGoodsList
.
setAdapter
(
creditGoodsAdapter
);
creditGoodsAdapter
.
mList
=
orderBeanList
;
//获取适配器上下文
CreditGoodsSmallAdapter
creditGoodsSmallAdapter
=
new
CreditGoodsSmallAdapter
(
this
);
GridLayoutManager
manager1
=
new
GridLayoutManager
(
this
,
3
);
binding
.
rvRecommendList
.
setLayoutManager
(
manager1
);
//把adapterset进去
binding
.
rvRecommendList
.
setAdapter
(
creditGoodsSmallAdapter
);
creditGoodsSmallAdapter
.
mList
=
orderBeanList
;
creditGoodsSmallAdapter
.
setOnItemClick
((
position
,
data
)
->
viewModel
.
goCreditsGoodsDetail
(
position
));
creditGoodsAdapter
.
setOnItemClick
((
position
,
data
)
->
viewModel
.
goCreditsGoodsDetail
(
position
));
viewModel
.
creditGoodsBeanList
.
observe
(
this
,
creditGoodsBeanList
->
{
GridLayoutManager
manager
=
new
GridLayoutManager
(
this
,
2
);
binding
.
rvAllGoodsList
.
setLayoutManager
(
manager
);
//获取适配器上下文
CreditGoodsAdapter
creditGoodsAdapter
=
new
CreditGoodsAdapter
(
this
);
//把adapterset进去
binding
.
rvAllGoodsList
.
setAdapter
(
creditGoodsAdapter
);
creditGoodsAdapter
.
mList
=
creditGoodsBeanList
;
creditGoodsAdapter
.
setOnItemClick
((
position
,
data
)
->
viewModel
.
goCreditsGoodsDetail
(
data
.
getBusinessId
()));
});
viewModel
.
topCreditGoodsBeanList
.
observe
(
this
,
topCreditGoodsBeanList
->
{
//获取适配器上下文
CreditGoodsSmallAdapter
creditGoodsSmallAdapter
=
new
CreditGoodsSmallAdapter
(
this
);
GridLayoutManager
manager1
=
new
GridLayoutManager
(
this
,
3
);
binding
.
rvRecommendList
.
setLayoutManager
(
manager1
);
//把adapterset进去
binding
.
rvRecommendList
.
setAdapter
(
creditGoodsSmallAdapter
);
creditGoodsSmallAdapter
.
mList
=
topCreditGoodsBeanList
;
creditGoodsSmallAdapter
.
setOnItemClick
((
position
,
data
)
->
viewModel
.
goCreditsGoodsDetail
(
data
.
getBusinessId
()));
});
}
@Override
...
...
@@ -56,4 +52,9 @@ public class CreditsExchangeActivity extends BaseActivity<ActivityCreditsExchang
return
BR
.
creditsExchangeViewModel
;
}
@Override
public
CreditsExchangeViewModel
initViewModel
()
{
CreditRequest
lm
=
new
CreditRequest
();
return
new
CreditsExchangeViewModel
(
getApplication
(),
lm
);
}
}
consumer/src/main/java/com/xx/hbhconsumer/ui/credit/CreditsExchangeViewModel.java
View file @
e66bc6ea
package
com
.
xx
.
hbhconsumer
.
ui
.
credit
;
import
android.app.Application
;
import
android.os.Bundle
;
import
androidx.annotation.NonNull
;
import
androidx.lifecycle.MutableLiveData
;
import
com.xx.hbhconsumer.adapter.CreditGoodsSmallAdapter
;
import
com.xx.hbhconsumer.data.http.requst.CreditRequest
;
import
com.xx.hbhconsumer.data.http.requst.PhoneRequest
;
import
com.xx.hbhconsumer.data.http.respons.CreditGoodsBean
;
import
com.xx.hbhconsumer.data.http.respons.CreditRecordBean
;
import
com.xx.hbhconsumer.ui.order.OrderDetailActivity
;
import
com.xx.xxviewlibrary.utils.AddImgAdapter
;
import
java.util.ArrayList
;
import
java.util.List
;
import
io.reactivex.rxjava3.disposables.Disposable
;
import
io.reactivex.rxjava3.functions.Consumer
;
import
me.goldze.mvvmhabit.base.BaseViewModel
;
import
me.goldze.mvvmhabit.http.ApiDisposablePageObserver
;
import
me.goldze.mvvmhabit.utils.RxUtils
;
public
class
CreditsExchangeViewModel
extends
BaseViewModel
<
CreditRequest
>
{
public
MutableLiveData
<
List
<
CreditGoodsBean
>>
creditGoodsBeanList
=
new
MutableLiveData
<>(
new
ArrayList
<>());
public
MutableLiveData
<
List
<
CreditGoodsBean
>>
topCreditGoodsBeanList
=
new
MutableLiveData
<>(
new
ArrayList
<>());
public
class
CreditsExchangeViewModel
extends
BaseViewModel
<
PhoneRequest
>
{
public
CreditsExchangeViewModel
(
@NonNull
Application
application
)
{
super
(
application
);
}
public
CreditsExchangeViewModel
(
@NonNull
Application
application
,
Phone
Request
model
)
{
public
CreditsExchangeViewModel
(
@NonNull
Application
application
,
Credit
Request
model
)
{
super
(
application
,
model
);
}
public
void
goCreditsGoodsDetail
(
int
position
)
{
startActivity
(
CreditsGoodsDetailActivity
.
class
);
public
void
goCreditsGoodsDetail
(
String
goodsId
)
{
Bundle
bundle
=
new
Bundle
();
bundle
.
putString
(
"goodsId"
,
goodsId
);
startActivity
(
CreditsGoodsDetailActivity
.
class
,
bundle
);
}
@Override
public
void
onCreate
()
{
super
.
onCreate
();
}
@Override
public
void
onStart
()
{
super
.
onStart
();
}
@Override
public
void
onResume
()
{
super
.
onResume
();
loadTopCreditGoodsList
();
loadAllGoodsList
();
}
private
void
loadAllGoodsList
()
{
model
.
getAllCreditGoodsList
()
.
compose
(
RxUtils
.
schedulersTransformer
())
//线程调度
.
doOnSubscribe
(
CreditsExchangeViewModel
.
this
)
.
doOnSubscribe
(
new
Consumer
<
Disposable
>()
{
@Override
public
void
accept
(
Disposable
disposable
)
throws
Exception
{
}
}).
subscribe
(
new
ApiDisposablePageObserver
<
CreditGoodsBean
>()
{
@Override
public
void
onSuccess
(
List
<
CreditGoodsBean
>
resultBean
)
{
creditGoodsBeanList
.
postValue
(
resultBean
);
}
@Override
public
void
onError
(
String
Error
)
{
dismissDialog
();
}
@Override
public
void
getTotal
(
int
total
)
{
}
});
}
private
void
loadTopCreditGoodsList
()
{
model
.
getTopCreditGoodsList
()
.
compose
(
RxUtils
.
schedulersTransformer
())
//线程调度
.
doOnSubscribe
(
CreditsExchangeViewModel
.
this
)
.
doOnSubscribe
(
new
Consumer
<
Disposable
>()
{
@Override
public
void
accept
(
Disposable
disposable
)
throws
Exception
{
}
}).
subscribe
(
new
ApiDisposablePageObserver
<
CreditGoodsBean
>()
{
@Override
public
void
onSuccess
(
List
<
CreditGoodsBean
>
resultBean
)
{
topCreditGoodsBeanList
.
postValue
(
resultBean
);
}
@Override
public
void
onError
(
String
Error
)
{
dismissDialog
();
}
@Override
public
void
getTotal
(
int
total
)
{
}
});
}
}
consumer/src/main/java/com/xx/hbhconsumer/ui/credit/CreditsGoodsDetailActivity.java
View file @
e66bc6ea
...
...
@@ -3,7 +3,16 @@ package com.xx.hbhconsumer.ui.credit;
import
android.os.Bundle
;
import
com.xx.hbhconsumer.R
;
import
com.xx.hbhconsumer.adapter.CreditAdapter
;
import
com.xx.hbhconsumer.adapter.ImageBannerAdapter
;
import
com.xx.hbhconsumer.data.http.requst.CreditRequest
;
import
com.xx.hbhconsumer.data.http.requst.OrderRequest
;
import
com.xx.hbhconsumer.databinding.ActivityCreditsGoodsDetailBinding
;
import
com.xx.hbhconsumer.ui.home.BannerAdapter
;
import
com.youth.banner.indicator.CircleIndicator
;
import
java.util.ArrayList
;
import
java.util.List
;
import
me.goldze.mvvmhabit.base.BaseActivity
;
import
me.tatarka.bindingcollectionadapter2.BR
;
...
...
@@ -14,6 +23,16 @@ public class CreditsGoodsDetailActivity extends BaseActivity<ActivityCreditsGood
public
void
initData
()
{
super
.
initData
();
binding
.
bannerGoodsImg
.
addBannerLifecycleObserver
(
this
).
setIndicator
(
new
CircleIndicator
(
this
));
viewModel
.
creditGoodsDetailBean
.
observe
(
this
,
creditGoodsDetailBean
->
{
if
(
creditGoodsDetailBean
!=
null
)
{
ImageBannerAdapter
bannerAdapter
=
new
ImageBannerAdapter
(
this
,
creditGoodsDetailBean
.
getIntegralCommodityImageUrl
());
binding
.
bannerGoodsImg
.
setAdapter
(
bannerAdapter
);
binding
.
tvCreditNum
.
setText
(
String
.
valueOf
(
creditGoodsDetailBean
.
getCommodityPrice
()));
binding
.
tvCreditGoodsName
.
setText
(
creditGoodsDetailBean
.
getIntegralCommodityName
());
}
});
}
@Override
...
...
@@ -26,4 +45,10 @@ public class CreditsGoodsDetailActivity extends BaseActivity<ActivityCreditsGood
return
BR
.
creditsGoodsDetailViewModel
;
}
@Override
public
CreditsGoodsDetailViewModel
initViewModel
()
{
CreditRequest
lm
=
new
CreditRequest
();
String
goodsId
=
getIntent
().
getStringExtra
(
"goodsId"
);
return
new
CreditsGoodsDetailViewModel
(
getApplication
(),
lm
,
goodsId
);
}
}
consumer/src/main/java/com/xx/hbhconsumer/ui/credit/CreditsGoodsDetailViewModel.java
View file @
e66bc6ea
...
...
@@ -4,20 +4,38 @@ import android.app.Application;
import
android.view.View
;
import
androidx.annotation.NonNull
;
import
androidx.lifecycle.MutableLiveData
;
import
com.xx.hbhconsumer.data.http.requst.CreditRequest
;
import
com.xx.hbhconsumer.data.http.requst.PhoneRequest
;
import
com.xx.hbhconsumer.data.http.respons.CreditGoodsBean
;
import
com.xx.hbhconsumer.data.http.respons.CreditGoodsDetailBean
;
import
com.xx.hbhconsumer.ui.home.SignDialog
;
import
com.xx.xxviewlibrary.base.xxBaseDialog
;
import
java.util.ArrayList
;
import
java.util.List
;
import
io.reactivex.rxjava3.disposables.Disposable
;
import
io.reactivex.rxjava3.functions.Consumer
;
import
me.goldze.mvvmhabit.base.BaseViewModel
;
import
me.goldze.mvvmhabit.http.ApiDisposableObserver
;
import
me.goldze.mvvmhabit.http.ApiDisposablePageObserver
;
import
me.goldze.mvvmhabit.utils.RxUtils
;
public
class
CreditsGoodsDetailViewModel
extends
BaseViewModel
<
CreditRequest
>
{
private
String
goodsId
;
public
MutableLiveData
<
CreditGoodsDetailBean
>
creditGoodsDetailBean
=
new
MutableLiveData
<>(
null
);
public
class
CreditsGoodsDetailViewModel
extends
BaseViewModel
<
PhoneRequest
>
{
public
CreditsGoodsDetailViewModel
(
@NonNull
Application
application
)
{
super
(
application
);
}
public
CreditsGoodsDetailViewModel
(
@NonNull
Application
application
,
PhoneRequest
model
)
{
public
CreditsGoodsDetailViewModel
(
@NonNull
Application
application
,
CreditRequest
model
,
String
goodsId
)
{
super
(
application
,
model
);
this
.
goodsId
=
goodsId
;
}
public
void
creditExchange
(
View
view
)
{
...
...
@@ -34,4 +52,42 @@ public class CreditsGoodsDetailViewModel extends BaseViewModel<PhoneRequest> {
CreditExchangeSuccessDialog
dialog
=
new
CreditExchangeSuccessDialog
(
view
.
getContext
(),
1
);
dialog
.
show
();
}
@Override
public
void
onCreate
()
{
super
.
onCreate
();
}
@Override
public
void
onStart
()
{
super
.
onStart
();
}
@Override
public
void
onResume
()
{
super
.
onResume
();
loadGoodsDetail
();
}
private
void
loadGoodsDetail
()
{
model
.
getCreditGoodsDetail
(
goodsId
)
.
compose
(
RxUtils
.
schedulersTransformer
())
//线程调度
.
doOnSubscribe
(
CreditsGoodsDetailViewModel
.
this
)
.
doOnSubscribe
(
new
Consumer
<
Disposable
>()
{
@Override
public
void
accept
(
Disposable
disposable
)
throws
Exception
{
}
}).
subscribe
(
new
ApiDisposableObserver
<
CreditGoodsDetailBean
>()
{
@Override
public
void
onSuccess
(
CreditGoodsDetailBean
resultBean
)
{
creditGoodsDetailBean
.
postValue
(
resultBean
);
}
@Override
public
void
onError
(
String
Error
)
{
dismissDialog
();
}
});
}
}
consumer/src/main/java/com/xx/hbhconsumer/ui/credit/MyCreditActivity.java
View file @
e66bc6ea
...
...
@@ -7,12 +7,9 @@ import androidx.recyclerview.widget.GridLayoutManager;
import
com.xx.hbhconsumer.R
;
import
com.xx.hbhconsumer.adapter.CreditAdapter
;
import
com.xx.hbhconsumer.adapter.CreditGoodsAdapter
;
import
com.xx.hbhconsumer.data.http.re
spons.OrderBean
;
import
com.xx.hbhconsumer.data.http.re
qust.CreditRequest
;
import
com.xx.hbhconsumer.databinding.ActivityMyCreditBinding
;
import
java.util.ArrayList
;
import
java.util.List
;
import
me.goldze.mvvmhabit.base.BaseActivity
;
import
me.tatarka.bindingcollectionadapter2.BR
;
...
...
@@ -30,19 +27,28 @@ public class MyCreditActivity extends BaseActivity<ActivityMyCreditBinding, MyCr
@Override
public
void
initData
()
{
super
.
initData
();
List
<
OrderBean
>
orderBeanList
=
new
ArrayList
<>();
GridLayoutManager
manager
=
new
GridLayoutManager
(
this
,
2
);
binding
.
rvCreditGoodsList
.
setLayoutManager
(
manager
);
//获取适配器上下文
CreditGoodsAdapter
creditGoodsAdapter
=
new
CreditGoodsAdapter
(
this
);
//把adapterset进去
binding
.
rvCreditGoodsList
.
setAdapter
(
creditGoodsAdapter
);
creditGoodsAdapter
.
mList
=
orderBeanList
;
CreditAdapter
creditAdapter
=
new
CreditAdapter
(
this
);
//把adapterset进去
binding
.
rvCreditList
.
setAdapter
(
creditAdapter
);
creditAdapter
.
mList
=
orderBeanList
;
viewModel
.
creditGoodsBeanList
.
observe
(
this
,
creditGoodsBeanList
->
{
GridLayoutManager
manager
=
new
GridLayoutManager
(
this
,
2
);
binding
.
rvCreditGoodsList
.
setLayoutManager
(
manager
);
//获取适配器上下文
CreditGoodsAdapter
creditGoodsAdapter
=
new
CreditGoodsAdapter
(
this
);
//把adapterset进去
binding
.
rvCreditGoodsList
.
setAdapter
(
creditGoodsAdapter
);
creditGoodsAdapter
.
mList
=
creditGoodsBeanList
;
});
viewModel
.
creditRecordBeanList
.
observe
(
this
,
creditRecordBeanList
->
{
CreditAdapter
creditAdapter
=
new
CreditAdapter
(
this
);
//把adapterset进去
binding
.
rvCreditList
.
setAdapter
(
creditAdapter
);
creditAdapter
.
mList
=
creditRecordBeanList
;
});
}
@Override
public
MyCreditViewModel
initViewModel
()
{
CreditRequest
lm
=
new
CreditRequest
();
return
new
MyCreditViewModel
(
getApplication
(),
lm
);
}
}
consumer/src/main/java/com/xx/hbhconsumer/ui/credit/MyCreditViewModel.java
View file @
e66bc6ea
...
...
@@ -3,23 +3,108 @@ package com.xx.hbhconsumer.ui.credit;
import
android.app.Application
;
import
androidx.annotation.NonNull
;
import
androidx.lifecycle.MutableLiveData
;
import
com.xx.hbhconsumer.data.http.requst.PhoneRequest
;
import
com.xx.hbhconsumer.ui.order.OrderActivity
;
import
com.xx.hbhconsumer.data.http.requst.CreditRequest
;
import
com.xx.hbhconsumer.data.http.respons.CreditGoodsBean
;
import
com.xx.hbhconsumer.data.http.respons.CreditRecordBean
;
import
java.util.ArrayList
;
import
java.util.List
;
import
io.reactivex.rxjava3.disposables.Disposable
;
import
io.reactivex.rxjava3.functions.Consumer
;
import
me.goldze.mvvmhabit.base.BaseViewModel
;
import
me.goldze.mvvmhabit.binding.command.BindingAction
;
import
me.goldze.mvvmhabit.binding.command.BindingCommand
;
import
me.goldze.mvvmhabit.http.ApiDisposablePageObserver
;
import
me.goldze.mvvmhabit.utils.RxUtils
;
public
class
MyCreditViewModel
extends
BaseViewModel
<
CreditRequest
>
{
public
MutableLiveData
<
List
<
CreditGoodsBean
>>
creditGoodsBeanList
=
new
MutableLiveData
<>(
new
ArrayList
<>());
public
MutableLiveData
<
List
<
CreditRecordBean
>>
creditRecordBeanList
=
new
MutableLiveData
<>(
new
ArrayList
<>());
public
class
MyCreditViewModel
extends
BaseViewModel
<
PhoneRequest
>
{
public
MyCreditViewModel
(
@NonNull
Application
application
)
{
super
(
application
);
}
public
MyCreditViewModel
(
@NonNull
Application
application
,
Phone
Request
model
)
{
public
MyCreditViewModel
(
@NonNull
Application
application
,
Credit
Request
model
)
{
super
(
application
,
model
);
}
@Override
public
void
onCreate
()
{
super
.
onCreate
();
}
@Override
public
void
onStart
()
{
super
.
onStart
();
}
@Override
public
void
onResume
()
{
super
.
onResume
();
loadGoodsList
();
loadCreditRecordList
();
}
private
void
loadCreditRecordList
()
{
model
.
getCreditRecordList
(
null
,
null
,
null
)
.
compose
(
RxUtils
.
schedulersTransformer
())
//线程调度
.
doOnSubscribe
(
MyCreditViewModel
.
this
)
.
doOnSubscribe
(
new
Consumer
<
Disposable
>()
{
@Override
public
void
accept
(
Disposable
disposable
)
throws
Exception
{
}
}).
subscribe
(
new
ApiDisposablePageObserver
<
CreditRecordBean
>()
{
@Override
public
void
onSuccess
(
List
<
CreditRecordBean
>
resultBean
)
{
creditRecordBeanList
.
postValue
(
resultBean
);
}
@Override
public
void
onError
(
String
Error
)
{
dismissDialog
();
}
@Override
public
void
getTotal
(
int
total
)
{
}
});
}
private
void
loadGoodsList
()
{
model
.
getCreditGoodsList
()
.
compose
(
RxUtils
.
schedulersTransformer
())
//线程调度
.
doOnSubscribe
(
MyCreditViewModel
.
this
)
.
doOnSubscribe
(
new
Consumer
<
Disposable
>()
{
@Override
public
void
accept
(
Disposable
disposable
)
throws
Exception
{
}
}).
subscribe
(
new
ApiDisposablePageObserver
<
CreditGoodsBean
>()
{
@Override
public
void
onSuccess
(
List
<
CreditGoodsBean
>
resultBean
)
{
creditGoodsBeanList
.
postValue
(
resultBean
);
}
@Override
public
void
onError
(
String
Error
)
{
dismissDialog
();
}
@Override
public
void
getTotal
(
int
total
)
{
}
});
}
public
BindingCommand
goCreditDetail
=
new
BindingCommand
(
new
BindingAction
()
{
@Override
public
void
call
()
{
...
...
consumer/src/main/res/layout/activity_activity_detail.xml
View file @
e66bc6ea
...
...
@@ -114,7 +114,6 @@
android:layout_marginLeft=
"17dp"
android:layout_marginRight=
"17dp"
android:textColor=
"@color/white"
binding:onClickCommand=
"@{messageDetailViewModel.goHome}"
android:text=
"返回首页"
android:textSize=
"16sp"
android:textStyle=
"bold"
...
...
consumer/src/main/res/layout/activity_credit_detail.xml
View file @
e66bc6ea
...
...
@@ -86,16 +86,27 @@
app:tabBackground=
"@null"
app:tabRippleColor=
"@null"
app:tabPaddingBottom=
"4dp"
>
<com.google.android.material.tabs.TabItem
android:layout_width=
"wrap_content"
android:layout_height=
"26dp"
android:text=
"积分收入"
android:id=
"@+id/tab_credit_income"
/>
<com.google.android.material.tabs.TabItem
android:layout_width=
"wrap_content"
android:layout_height=
"26dp"
android:text=
"积分支出"
android:id=
"@+id/tab_credit_expenses"
/>
</com.google.android.material.tabs.TabLayout>
<androidx.
viewpager2.widget.ViewPager2
android:id=
"@+id/
viewPager2
"
<androidx.
recyclerview.widget.RecyclerView
android:id=
"@+id/
rv_credit_record_list
"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_marginLeft=
"17dp"
android:layout_marginRight=
"17dp"
android:layout_marginTop=
"19dp"
android:background=
"@drawable/bg_white_radius_12"
android:layout_below=
"@id/tabLayout"
/>
</RelativeLayout>
</androidx.core.widget.NestedScrollView>
...
...
consumer/src/main/res/layout/activity_credits_exchange.xml
View file @
e66bc6ea
...
...
@@ -66,7 +66,7 @@
android:layout_marginLeft=
"17dp"
android:layout_marginTop=
"31dp"
android:lineSpacingExtra=
"10dp"
android:text=
"
为你推荐
"
android:text=
"
全部商品
"
android:textColor=
"#FF333333"
android:textSize=
"20sp"
android:textStyle=
"bold"
/>
...
...
consumer/src/main/res/layout/fragment_credit_list.xml
deleted
100644 → 0
View file @
08f8241b
<?xml version="1.0" encoding="utf-8"?>
<layout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:binding=
"http://schemas.android.com/apk/res-auto"
>
<data>
<variable
name=
"creditListViewModel"
type=
"com.xx.hbhconsumer.ui.credit.CreditListViewModel"
/>
<import
type=
"me.goldze.mvvmhabit.binding.viewadapter.recyclerview.LayoutManagers"
/>
<import
type=
"me.goldze.mvvmhabit.binding.viewadapter.recyclerview.LineManagers"
/>
</data>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_marginLeft=
"17dp"
android:layout_marginRight=
"17dp"
android:layout_marginTop=
"19dp"
android:layout_marginBottom=
"24dp"
android:background=
"@drawable/bg_white_radius_12"
>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/rv_order_list"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_marginTop=
"5dp"
android:orientation=
"vertical"
binding:layoutManager=
"@{LayoutManagers.linear(1,false)}"
/>
</RelativeLayout>
</layout>
\ No newline at end of file
consumer/src/main/res/layout/item_credit.xml
View file @
e66bc6ea
...
...
@@ -5,8 +5,8 @@
<data>
<variable
name=
"
order
Bean"
type=
"com.xx.hbhconsumer.data.http.respons.
Order
Bean"
/>
name=
"
creditRecord
Bean"
type=
"com.xx.hbhconsumer.data.http.respons.
CreditRecord
Bean"
/>
</data>
<RelativeLayout
...
...
consumer/src/main/res/layout/item_credit_goods.xml
View file @
e66bc6ea
...
...
@@ -5,8 +5,8 @@
<data>
<variable
name=
"
order
Bean"
type=
"com.xx.hbhconsumer.data.http.respons.
Order
Bean"
/>
name=
"
creditGoods
Bean"
type=
"com.xx.hbhconsumer.data.http.respons.
CreditGoods
Bean"
/>
</data>
<RelativeLayout
...
...
@@ -33,6 +33,7 @@
/>
<TextView
android:id=
"@+id/tv_credit_price"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_below=
"@id/tv_goods_name"
...
...
consumer/src/main/res/layout/item_credit_goods_small.xml
View file @
e66bc6ea
...
...
@@ -5,8 +5,8 @@
<data>
<variable
name=
"
order
Bean"
type=
"com.xx.hbhconsumer.data.http.respons.
Order
Bean"
/>
name=
"
creditGoods
Bean"
type=
"com.xx.hbhconsumer.data.http.respons.
CreditGoods
Bean"
/>
</data>
<RelativeLayout
...
...
@@ -34,6 +34,7 @@
/>
<TextView
android:id=
"@+id/tv_credit_price"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_below=
"@id/tv_goods_name"
...
...
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