Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
ShenghuoquanBusiness
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
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
bp
ShenghuoquanBusiness
Commits
5d3d7708
Commit
5d3d7708
authored
Aug 24, 2021
by
yinjiacheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add 订单申请退款逻辑
parent
e45c60df
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
77 additions
and
2 deletions
+77
-2
OrderCommodityInfoView.kt
...n/shenghuoquan/border/ui/widget/OrderCommodityInfoView.kt
+32
-1
OrderCommodityInfoViewModel.kt
...nghuoquan/border/viewmodel/OrderCommodityInfoViewModel.kt
+42
-0
OrderStatusViewModel.kt
...ian/shenghuoquan/border/viewmodel/OrderStatusViewModel.kt
+1
-1
border_view_order_commodity_info.xml
.../src/main/res/layout/border_view_order_commodity_info.xml
+2
-0
No files found.
Components/BOrder/src/main/java/com/yidian/shenghuoquan/border/ui/widget/OrderCommodityInfoView.kt
View file @
5d3d7708
...
@@ -5,7 +5,10 @@ import android.util.AttributeSet
...
@@ -5,7 +5,10 @@ import android.util.AttributeSet
import
android.view.LayoutInflater
import
android.view.LayoutInflater
import
androidx.constraintlayout.widget.ConstraintLayout
import
androidx.constraintlayout.widget.ConstraintLayout
import
androidx.databinding.DataBindingUtil
import
androidx.databinding.DataBindingUtil
import
androidx.lifecycle.LifecycleOwner
import
androidx.recyclerview.widget.LinearLayoutManager
import
androidx.recyclerview.widget.LinearLayoutManager
import
com.yidian.bcommon.utils.ToastUtils
import
com.yidian.bcommon.widget.CommonHintDialog
import
com.yidian.shenghuoquan.border.R
import
com.yidian.shenghuoquan.border.R
import
com.yidian.shenghuoquan.border.adapter.OrderDetailCommodityListAdapter
import
com.yidian.shenghuoquan.border.adapter.OrderDetailCommodityListAdapter
import
com.yidian.shenghuoquan.border.databinding.BorderViewOrderCommodityInfoBinding
import
com.yidian.shenghuoquan.border.databinding.BorderViewOrderCommodityInfoBinding
...
@@ -29,9 +32,11 @@ class OrderCommodityInfoView @JvmOverloads constructor(context: Context, attrs:
...
@@ -29,9 +32,11 @@ class OrderCommodityInfoView @JvmOverloads constructor(context: Context, attrs:
true
true
)
)
private
val
adapter
by
lazy
{
OrderDetailCommodityListAdapter
(
null
)
}
private
val
adapter
by
lazy
{
OrderDetailCommodityListAdapter
(
null
)
}
private
val
vm
by
lazy
{
OrderCommodityInfoViewModel
()
}
init
{
init
{
initRecycleView
()
initRecycleView
()
registerUIEvent
()
}
}
private
fun
initRecycleView
()
{
private
fun
initRecycleView
()
{
...
@@ -40,13 +45,39 @@ class OrderCommodityInfoView @JvmOverloads constructor(context: Context, attrs:
...
@@ -40,13 +45,39 @@ class OrderCommodityInfoView @JvmOverloads constructor(context: Context, attrs:
binding
.
rvCommodityList
.
addItemDecoration
(
OrderDetailCommodityListAdapter
.
OrderDetailCommodityListItemDecoration
())
binding
.
rvCommodityList
.
addItemDecoration
(
OrderDetailCommodityListAdapter
.
OrderDetailCommodityListItemDecoration
())
}
}
/**
* 注册UI事件监听
*/
private
fun
registerUIEvent
()
{
// 监听点击申请退款 弹窗二次确认
vm
.
applyRefund
.
observe
(
context
as
LifecycleOwner
,
{
CommonHintDialog
(
context
,
"您是要申请退款吗?"
,
arrayListOf
(
"取消"
,
"确定"
),
object
:
CommonHintDialog
.
OnHintOptionCallback
{
override
fun
onLeftOption
()
{
}
override
fun
onRightOption
()
{
// 确认申请退款
vm
.
requestApplyRefund
(
it
)
}
},
null
,
R
.
color
.
color_5A968F
)
})
// 监听申请退款接口请求结果
vm
.
applyRefundResult
.
observe
(
context
as
LifecycleOwner
,
{
if
(
it
)
{
ToastUtils
.
showShortSafe
(
"已申请退款"
)
}
})
}
/**
/**
* 设置商品信息
* 设置商品信息
* @param status 订单状态 确认订单时固定传ORDER_STATUS_WAIT_PAY
* @param status 订单状态 确认订单时固定传ORDER_STATUS_WAIT_PAY
* @param info 商品信息
* @param info 商品信息
*/
*/
fun
setCommodityInfo
(
status
:
OrderStatus
,
info
:
OrderDetailDto
)
{
fun
setCommodityInfo
(
status
:
OrderStatus
,
info
:
OrderDetailDto
)
{
binding
.
vm
=
OrderCommodityInfoViewModel
()
binding
.
vm
=
vm
binding
.
status
=
status
binding
.
status
=
status
binding
.
data
=
info
binding
.
data
=
info
adapter
.
updateData
(
info
.
orderItemList
)
adapter
.
updateData
(
info
.
orderItemList
)
...
...
Components/BOrder/src/main/java/com/yidian/shenghuoquan/border/viewmodel/OrderCommodityInfoViewModel.kt
View file @
5d3d7708
package
com.yidian.shenghuoquan.border.viewmodel
package
com.yidian.shenghuoquan.border.viewmodel
import
androidx.lifecycle.LiveData
import
androidx.lifecycle.MutableLiveData
import
com.yidian.bcommon.mvvm.BaseViewModel
import
com.yidian.bcommon.mvvm.BaseViewModel
import
com.yidian.shenghuoquan.border.http.OrderRemoteDataSource
import
com.yidian.shenghuoquan.border.http.callback.IApplyRefundCallback
/**
/**
* author: yinjiacheng
* author: yinjiacheng
...
@@ -8,4 +12,42 @@ import com.yidian.bcommon.mvvm.BaseViewModel
...
@@ -8,4 +12,42 @@ import com.yidian.bcommon.mvvm.BaseViewModel
* description: 订单商品信息
* description: 订单商品信息
*/
*/
class
OrderCommodityInfoViewModel
:
BaseViewModel
()
{
class
OrderCommodityInfoViewModel
:
BaseViewModel
()
{
private
val
_applyRefundResult
=
MutableLiveData
<
Boolean
>()
val
applyRefundResult
:
LiveData
<
Boolean
>
=
_applyRefundResult
private
val
_applyRefund
=
MutableLiveData
<
String
>()
val
applyRefund
:
LiveData
<
String
>
=
_applyRefund
/**
* 申请退款
* @param orderId 订单id
*/
fun
applyRefund
(
orderId
:
String
)
{
_applyRefund
.
value
=
orderId
}
/**
* 联系卖家
*/
fun
contractSeller
()
{
}
/**
* 请求申请退款接口
* @param orderId 订单id
*/
fun
requestApplyRefund
(
orderId
:
String
)
{
OrderRemoteDataSource
.
applyRefund
(
object
:
IApplyRefundCallback
{
override
fun
applyRefundSuccess
()
{
_applyRefundResult
.
value
=
true
}
override
fun
applyRefundFailure
(
message
:
String
?)
{
_applyRefundResult
.
value
=
false
}
},
hashMapOf
(
"order_id"
to
orderId
,
"business_from"
to
"2"
))
}
}
}
Components/BOrder/src/main/java/com/yidian/shenghuoquan/border/viewmodel/OrderStatusViewModel.kt
View file @
5d3d7708
...
@@ -39,7 +39,7 @@ class OrderStatusViewModel : BaseViewModel() {
...
@@ -39,7 +39,7 @@ class OrderStatusViewModel : BaseViewModel() {
* 订单状态描述
* 订单状态描述
* @param target 目标TextView
* @param target 目标TextView
* @param status 订单状态
* @param status 订单状态
* @param
data 订单详情
* @param
refundAmount 订单退款金额
*/
*/
@BindingAdapter
(
value
=
[
"orderStatusDescription"
,
"orderRefundAmount"
],
requireAll
=
true
)
@BindingAdapter
(
value
=
[
"orderStatusDescription"
,
"orderRefundAmount"
],
requireAll
=
true
)
@JvmStatic
@JvmStatic
...
...
Components/BOrder/src/main/res/layout/border_view_order_commodity_info.xml
View file @
5d3d7708
...
@@ -66,6 +66,7 @@
...
@@ -66,6 +66,7 @@
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginEnd=
"@dimen/dp8"
android:layout_marginEnd=
"@dimen/dp8"
android:background=
"@drawable/shape_stroke_e5e5e5_corner_14"
android:background=
"@drawable/shape_stroke_e5e5e5_corner_14"
android:onClick=
"@{() -> vm.applyRefund(data.orderId)}"
android:paddingStart=
"@dimen/dp13"
android:paddingStart=
"@dimen/dp13"
android:paddingTop=
"@dimen/dp9"
android:paddingTop=
"@dimen/dp9"
android:paddingEnd=
"@dimen/dp13"
android:paddingEnd=
"@dimen/dp13"
...
@@ -83,6 +84,7 @@
...
@@ -83,6 +84,7 @@
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"@dimen/dp8"
android:layout_marginTop=
"@dimen/dp8"
android:background=
"@drawable/shape_stroke_e5e5e5_corner_14"
android:background=
"@drawable/shape_stroke_e5e5e5_corner_14"
android:onClick=
"@{() -> vm.contractSeller()}"
android:paddingStart=
"@dimen/dp13"
android:paddingStart=
"@dimen/dp13"
android:paddingTop=
"@dimen/dp9"
android:paddingTop=
"@dimen/dp9"
android:paddingEnd=
"@dimen/dp13"
android:paddingEnd=
"@dimen/dp13"
...
...
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