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
cd1a4149
Commit
cd1a4149
authored
Aug 26, 2021
by
shiyl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改网络请求工具类支持JSONObject参数,自定义本地json参数测试创建订单
parent
e0e28792
Changes
14
Show whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
182 additions
and
46 deletions
+182
-46
HttpParamsUtils.kt
.../src/main/java/com/yidian/bcommon/http/HttpParamsUtils.kt
+30
-0
JsonUtils.kt
...ommon/src/main/java/com/yidian/bcommon/utils/JsonUtils.kt
+1
-1
ConfirmOrderRequest.kt
.../com/yidian/shenghuoquan/bdemo/dto/ConfirmOrderRequest.kt
+5
-1
DemoTestActivity.kt
...java/com/yidian/shenghuoquan/bdemo/ui/DemoTestActivity.kt
+1
-1
ChooseCareerActivity.kt
...enghuoquan/bmanagercenter/ui/auth/ChooseCareerActivity.kt
+1
-1
order.json
Components/BOrder/src/main/assets/order.json
+12
-0
CreateOrderDto.kt
...java/com/yidian/shenghuoquan/border/dto/CreateOrderDto.kt
+4
-4
OrderConfirmDto.kt
...ava/com/yidian/shenghuoquan/border/dto/OrderConfirmDto.kt
+19
-0
OrderApiService.kt
...va/com/yidian/shenghuoquan/border/http/OrderApiService.kt
+4
-2
OrderRemoteDataSource.kt
.../yidian/shenghuoquan/border/http/OrderRemoteDataSource.kt
+3
-2
ConfirmOrderActivity.kt
...com/yidian/shenghuoquan/border/ui/ConfirmOrderActivity.kt
+30
-10
ConfirmOrderViewModel.kt
...om/yidian/shenghuoquan/border/ui/ConfirmOrderViewModel.kt
+60
-20
border_activity_confirm_order.xml
...der/src/main/res/layout/border_activity_confirm_order.xml
+5
-4
BaseInitConfig.kt
...main/java/com/yidian/shenghuoquan/broot/BaseInitConfig.kt
+7
-0
No files found.
CommonLib/BCommon/src/main/java/com/yidian/bcommon/http/HttpParamsUtils.kt
View file @
cd1a4149
...
...
@@ -14,6 +14,10 @@ import com.yidian.bcommon.utils.NetWorkUtils
import
com.yidian.framework.mobile.xdiamond.SecretUtil
import
com.yidian.yac.core.zap.ZapTicket
import
com.yidian.yac.ftdevicefinger.core.FtDeviceFingerManager
import
okhttp3.MediaType
import
okhttp3.MediaType.Companion.toMediaTypeOrNull
import
okhttp3.RequestBody
import
okhttp3.RequestBody.Companion.toRequestBody
import
org.json.JSONObject
import
timber.log.Timber
import
java.lang.reflect.Type
...
...
@@ -80,6 +84,32 @@ class HttpParamsUtils {
}
}
/**
* 获取业务参数(参数为JSONObject的情况)
* C端增加user_id
*/
fun
getPrivateParamsMap
(
paramsJson
:
JSONObject
,
timeStamp
:
Long
):
RequestBody
{
return
if
(
RunConfig
.
IS_ENCRYPT
)
{
paramsJson
.
put
(
"secret"
,
getSignString
(
getRequestId
(
timeStamp
),
timeStamp
))
paramsJson
.
put
(
"ts"
,
timeStamp
.
toString
())
// C端身份请求加uid
BCommonManager
.
getUid
()
?.
let
{
paramsJson
.
put
(
"user_id"
,
it
)
}
Timber
.
tag
(
BCommonManager
.
TAG_HTTP
).
d
(
"request private params: $paramsJson"
)
val
jsonObject
=
JSONObject
()
jsonObject
.
put
(
"tok"
,
SecretUtil
.
rsaEncrypt
(
paramsJson
.
toString
()))
//指定content type为json类型
val
contentType
:
MediaType
?
=
"application/json"
.
toMediaTypeOrNull
()
// JSONObject转为RequestBody
jsonObject
.
toString
().
toRequestBody
(
contentType
)
}
else
{
// C端身份请求加uid
BCommonManager
.
getUid
()
?.
let
{
paramsJson
.
put
(
"user_id"
,
it
)
}
Timber
.
tag
(
BCommonManager
.
TAG_HTTP
).
d
(
"request private params: $paramsJson"
)
val
contentType
:
MediaType
?
=
"application/json"
.
toMediaTypeOrNull
()
paramsJson
.
toString
().
toRequestBody
(
contentType
)
}
}
/**
* RSA解密Response
*/
...
...
Com
ponents/BManagerCenter/src/main/java/com/yidian/shenghuoquan/bmanagercenter
/utils/JsonUtils.kt
→
Com
monLib/BCommon/src/main/java/com/yidian/bcommon
/utils/JsonUtils.kt
View file @
cd1a4149
package
com.yidian.
shenghuoquan.bmanagercenter
.utils
package
com.yidian.
bcommon
.utils
import
android.content.Context
import
android.content.res.AssetManager
...
...
Components/BDemo/src/main/java/com/yidian/shenghuoquan/bdemo/dto/ConfirmOrderRequest.kt
View file @
cd1a4149
...
...
@@ -22,5 +22,9 @@ data class Goods(
@SerializedName
(
"goods_sku_id"
)
val
goodsSkuId
:
String
?
=
null
,
@SerializedName
(
"goods_sku_num"
)
val
goodsSkuNum
:
Int
?
=
null
val
goodsSkuNum
:
Int
?
=
null
,
@SerializedName
(
"marketing_id"
)
val
marketingId
:
Int
?
=
null
,
// 活动id
@SerializedName
(
"marketing_type"
)
val
marketingType
:
Int
?
=
null
// 活动类型 类型:1分销 2团购 3秒杀,4 团餐
)
:
Parcelable
Components/BDemo/src/main/java/com/yidian/shenghuoquan/bdemo/ui/DemoTestActivity.kt
View file @
cd1a4149
...
...
@@ -30,7 +30,7 @@ class DemoTestActivity : BaseActivity<ActivityDemoTestBinding>() {
private
fun
initClick
()
{
val
list
=
mutableListOf
<
Goods
>()
list
.
add
(
Goods
(
goodsSkuId
=
"04qbwzoazPixJUhfOppD"
,
goodsSkuNum
=
1
))
list
.
add
(
Goods
(
goodsSkuId
=
"04qbwzoazPixJUhfOppD"
,
goodsSkuNum
=
1
,
marketingId
=
1
,
marketingType
=
4
))
val
confirmOrderReqDto
=
ConfirmOrderRequest
(
businessFrom
=
2
,
goodsList
=
list
,
marketingId
=
"79"
)
// 模拟h5进入确认订单的参数和逻辑
viewBind
.
btnOrderConfirm
.
clickAntiShake
{
...
...
Components/BManagerCenter/src/main/java/com/yidian/shenghuoquan/bmanagercenter/ui/auth/ChooseCareerActivity.kt
View file @
cd1a4149
...
...
@@ -11,7 +11,7 @@ import com.yidian.shenghuoquan.bmanagercenter.adapter.FirstCareerListAdapter
import
com.yidian.shenghuoquan.bmanagercenter.adapter.SecondCareerListAdapter
import
com.yidian.shenghuoquan.bmanagercenter.bean.CareerListBean
import
com.yidian.shenghuoquan.bmanagercenter.databinding.ActivityChooseCareerBinding
import
com.yidian.
shenghuoquan.bmanagercenter
.utils.JsonUtils
import
com.yidian.
bcommon
.utils.JsonUtils
import
com.yidian.xarc.xevent.XBaseEvent
import
com.yidian.xarc.xevent.XEventManager
import
com.yidian.xpage.XPageManager
...
...
Components/BOrder/src/main/assets/order.json
0 → 100644
View file @
cd1a4149
{
"goods_list"
:
[
{
"goods_sku_id"
:
"04qbwzoazPixJUhfOppD"
,
"goods_sku_num"
:
1
,
"marketing_id"
:
99
,
"marketing_type"
:
4
}
],
"business_from"
:
2
,
"marketing_id"
:
1
}
\ No newline at end of file
Components/BOrder/src/main/java/com/yidian/shenghuoquan/border/dto/CreateOrderDto.kt
View file @
cd1a4149
...
...
@@ -33,13 +33,13 @@ data class SelectedCoupon(
*/
data class
OrderGoods
(
@SerializedName
(
"goods_sku_id"
)
va
l
goodsSkuId
:
String
?
=
null
,
// 商品id
va
r
goodsSkuId
:
String
?
=
null
,
// 商品id
@SerializedName
(
"goods_sku_num"
)
va
l
goodsSkuNum
:
Int
?
=
null
,
// 商品数量
va
r
goodsSkuNum
:
Int
?
=
null
,
// 商品数量
@SerializedName
(
"marketing_id"
)
va
l
marketingId
:
Int
?
=
null
,
// 活动id
va
r
marketingId
:
Int
?
=
null
,
// 活动id
@SerializedName
(
"marketing_type"
)
va
l
marketingType
:
Int
?
=
null
// 活动类型 类型:1分销 2团购 3秒杀,4 团餐
va
r
marketingType
:
Int
?
=
null
// 活动类型 类型:1分销 2团购 3秒杀,4 团餐
)
...
...
Components/BOrder/src/main/java/com/yidian/shenghuoquan/border/dto/OrderConfirmDto.kt
View file @
cd1a4149
...
...
@@ -4,6 +4,24 @@ import android.os.Parcelable
import
com.google.gson.annotations.SerializedName
import
kotlinx.parcelize.Parcelize
/**
* 确认订单参数
*/
data class
OrderConfirmReqDto
(
@SerializedName
(
"business_from"
)
val
businessFrom
:
Int
?
=
null
,
// 订单业务线--- 1 普通订单,2接龙订单
@SerializedName
(
"marketing_id"
)
val
marketingId
:
Int
?
=
null
,
// 活动id
@SerializedName
(
"goods_list"
)
val
goodsList
:
List
<
OrderGoods
>?
=
null
,
// 商品数组
// @SerializedName("user_id")
// val userId: Long? = null// 用户ID
)
/**
* 确认订单响应
*/
@Parcelize
data class
OrderConfirmResDto
(
@SerializedName
(
"coupon_list"
)
...
...
@@ -71,3 +89,4 @@ data class Shipping(
@SerializedName
(
"address"
)
var
address
:
String
?
=
null
,
// 自提点地址
)
:
Parcelable
Components/BOrder/src/main/java/com/yidian/shenghuoquan/border/http/OrderApiService.kt
View file @
cd1a4149
...
...
@@ -2,6 +2,8 @@ package com.yidian.shenghuoquan.border.http
import
com.yidian.bcommon.http.HttpResult
import
io.reactivex.rxjava3.core.Observable
import
okhttp3.RequestBody
import
org.json.JSONObject
import
retrofit2.http.*
/**
...
...
@@ -47,7 +49,7 @@ interface OrderApiService {
@Headers
(
"Content-Type: application/json"
)
fun
requestOrderConfirm
(
@QueryMap
commonParams
:
Map
<
String
,
String
>,
@Body
requestParams
:
Map
<
String
,
String
?
>
@Body
body
:
RequestBody
):
Observable
<
HttpResult
<
Any
?
>>
/**
...
...
@@ -57,7 +59,7 @@ interface OrderApiService {
@Headers
(
"Content-Type: application/json"
)
fun
requestCreateOrder
(
@QueryMap
commonParams
:
Map
<
String
,
String
>,
@Body
requestParams
:
Map
<
String
,
String
?
>
@Body
body
:
RequestBody
):
Observable
<
HttpResult
<
Any
?
>>
/**
...
...
Components/BOrder/src/main/java/com/yidian/shenghuoquan/border/http/OrderRemoteDataSource.kt
View file @
cd1a4149
...
...
@@ -9,6 +9,7 @@ import com.yidian.shenghuoquan.border.dto.*
import
com.yidian.shenghuoquan.border.http.callback.IApplyRefundCallback
import
com.yidian.shenghuoquan.border.http.callback.IGetOrderDetailCallback
import
com.yidian.shenghuoquan.border.http.callback.IGetPickupPointListCallback
import
org.json.JSONObject
/**
* author: yinjiacheng
...
...
@@ -62,7 +63,7 @@ object OrderRemoteDataSource {
/**
* 获取确认订单
*/
fun
requestOrderConfirm
(
requestParams
:
HashMap
<
String
,
String
?
>
,
callback
:
((
OrderConfirmResDto
?)
->
Unit
)?
=
null
)
{
fun
requestOrderConfirm
(
requestParams
:
JSONObject
,
callback
:
((
OrderConfirmResDto
?)
->
Unit
)?
=
null
)
{
val
timeStamp
=
System
.
currentTimeMillis
()
val
publicParamsMap
=
HttpParamsUtils
.
getPublicParamsMap
(
timeStamp
)
val
privateParamsMap
=
HttpParamsUtils
.
getPrivateParamsMap
(
requestParams
,
timeStamp
)
...
...
@@ -83,7 +84,7 @@ object OrderRemoteDataSource {
/**
* 创建订单
*/
fun
requestCreateOrder
(
requestParams
:
HashMap
<
String
,
String
?
>
,
callback
:
((
CreateOrderResDto
?)
->
Unit
)?
=
null
)
{
fun
requestCreateOrder
(
requestParams
:
JSONObject
,
callback
:
((
CreateOrderResDto
?)
->
Unit
)?
=
null
)
{
val
timeStamp
=
System
.
currentTimeMillis
()
val
publicParamsMap
=
HttpParamsUtils
.
getPublicParamsMap
(
timeStamp
)
val
privateParamsMap
=
HttpParamsUtils
.
getPrivateParamsMap
(
requestParams
,
timeStamp
)
...
...
Components/BOrder/src/main/java/com/yidian/shenghuoquan/border/ui/ConfirmOrderActivity.kt
View file @
cd1a4149
...
...
@@ -6,18 +6,20 @@ import com.yidian.bcommon.constant.IntentConstants
import
com.yidian.bcommon.constant.XEventConfig
import
com.yidian.bcommon.constant.XRouterPathConstants
import
com.yidian.bcommon.mvvm.BaseMvvmActivity
import
com.yidian.bcommon.utils.JsonUtils
import
com.yidian.shenghuoquan.border.R
import
com.yidian.shenghuoquan.border.adapter.OrderConfirmCommodityListAdapter
import
com.yidian.shenghuoquan.border.databinding.BorderActivityConfirmOrderBinding
import
com.yidian.shenghuoquan.border.dto.PickupPoint
import
com.yidian.shenghuoquan.border.dto.Shipping
import
com.yidian.xarc.xevent.XBaseEvent
import
com.yidian.xarc.xevent.XEventManager
import
com.yidian.xpage.XPageManager
import
org.greenrobot.eventbus.Subscribe
import
org.greenrobot.eventbus.ThreadMode
import
org.json.JSONObject
import
timber.log.Timber
/**
* 确认订单
*/
...
...
@@ -43,14 +45,34 @@ class ConfirmOrderActivity : BaseMvvmActivity<BorderActivityConfirmOrderBinding,
}
private
fun
getIntentData
(
intent
:
Intent
?)
{
val
paramsMap
=
intent
?.
getSerializableExtra
(
XRouterPathConstants
.
ParamsKey
)
if
(
paramsMap
!=
null
)
{
paramsMap
as
HashMap
<
String
,
String
?>
marketingId
=
paramsMap
[
"marketing_id"
]
vm
.
requestConfirmOrderInfo
(
paramsMap
)
val
params
=
intent
?.
getSerializableExtra
(
XRouterPathConstants
.
ParamsKey
)
if
(
params
!=
null
)
{
// 注意接收h5传过来的JSONObject
params
as
HashMap
<
String
,
Any
?>
// params["自定义一个共用的key"] as JSONObject
// TODO 修改为h5传递的参数
parsingParameters
()
}
}
private
fun
parsingParameters
()
{
// 解析本地json数据
val
jsonStr
=
JsonUtils
.
file2JsonStr
(
this
,
"order.json"
)
jsonStr
?.
let
{
val
jsonObject
=
JSONObject
(
it
)
Timber
.
tag
(
"确认订单"
).
e
(
"订单请求参数JSON:${jsonObject}"
)
marketingId
=
jsonObject
.
optInt
(
"marketing_id"
).
toString
()
requestConfirmOrder
(
jsonObject
)
}
}
/**
* 请求确认订单
*/
private
fun
requestConfirmOrder
(
jsonObject
:
JSONObject
)
{
vm
.
requestConfirmOrderInfo
(
jsonObject
)
}
private
fun
subscribeUiEvent
()
{
vm
.
goodsSuccessEvent
.
observe
(
this
,
{
adapter
.
setList
(
it
)
...
...
@@ -67,10 +89,8 @@ class ConfirmOrderActivity : BaseMvvmActivity<BorderActivityConfirmOrderBinding,
val
hashMap
=
HashMap
<
String
,
Any
?>()
hashMap
[
IntentConstants
.
KEY_EXTRA_PICKUP_POINT_ID
]
=
it
hashMap
[
IntentConstants
.
KEY_EXTRA_MARKETING_ID
]
=
id
Timber
.
e
(
"活动id: $id"
)
XPageManager
.
push
(
XRouterPathConstants
.
PICKUP_POINT_ACTIVITY
,
hashMap
)
}
}
}
...
...
@@ -90,8 +110,8 @@ class ConfirmOrderActivity : BaseMvvmActivity<BorderActivityConfirmOrderBinding,
}
XEventConfig
.
CONFIRM_ORDER_CHOOSE_COUPON_SUCCESS
->
{
// 选择优惠券成功
val
selectedCouponIndex
=
event
.
body
as
Int
vm
.
chooseVoucherSuccess
(
selectedCouponIndex
)
val
indexList
=
event
.
body
as
List
<
Int
>
vm
.
chooseVoucherSuccess
(
indexList
)
}
}
}
...
...
Components/BOrder/src/main/java/com/yidian/shenghuoquan/border/ui/ConfirmOrderViewModel.kt
View file @
cd1a4149
...
...
@@ -3,23 +3,26 @@ package com.yidian.shenghuoquan.border.ui
import
androidx.lifecycle.LiveData
import
androidx.lifecycle.MutableLiveData
import
com.yidian.bcommon.mvvm.BaseViewModel
import
com.yidian.bcommon.mvvm.ErrorInfo
import
com.yidian.bcommon.utils.ToastUtils
import
com.yidian.shenghuoquan.border.dto.CouponDto
import
com.yidian.shenghuoquan.border.dto.GoodsDto
import
com.yidian.shenghuoquan.border.dto.PickupPoint
import
com.yidian.shenghuoquan.border.dto.Shipping
import
com.yidian.shenghuoquan.border.dto.*
import
com.yidian.shenghuoquan.border.http.OrderRemoteDataSource
import
org.json.JSONArray
import
org.json.JSONObject
class
ConfirmOrderViewModel
:
BaseViewModel
()
{
private
lateinit
var
currentParamsJson
:
JSONObject
// 当前订单的请求参数
private
var
originalAmount
:
Double
=
0.00
// 原价总和
var
couponAmount
:
Double
=
0.00
// 优惠券金额
var
couponAmountValue
=
MutableLiveData
(
0.00
)
var
couponNameValue
=
MutableLiveData
(
"红包/优惠券"
)
var
selectedPickUpPoint
=
MutableLiveData
<
Shipping
?>()
// 自提点
var
receivingName
=
MutableLiveData
<
String
>()
// 收货人姓名
var
receivingPhone
=
MutableLiveData
<
String
>()
//收货人电话
var
selectedCoupon
=
MutableLiveData
<
CouponDto
?>()
// 选中的优惠券
var
selectedCoupon
List
=
MutableLiveData
<
MutableList
<
CouponDto
>
?>()
// 选中的优惠券
var
couponsAvailableList
=
MutableLiveData
<
List
<
CouponDto
>?>()
// 可用优惠券列表
var
totalAmount
=
MutableLiveData
(
0.00
)
// 合计金额 = 原价 - 优惠
var
remark
=
MutableLiveData
<
String
>()
...
...
@@ -45,11 +48,12 @@ class ConfirmOrderViewModel : BaseViewModel() {
/**
* 请求订单信息
*/
fun
requestConfirmOrderInfo
(
params
Map
:
HashMap
<
String
,
String
?
>
)
{
OrderRemoteDataSource
.
requestOrderConfirm
(
params
Map
)
{
fun
requestConfirmOrderInfo
(
params
Json
:
JSONObject
)
{
OrderRemoteDataSource
.
requestOrderConfirm
(
params
Json
)
{
if
(
it
==
null
)
{
return
@requestOrderConfirm
}
currentParamsJson
=
paramsJson
selectedPickUpPoint
.
value
=
it
.
shipping
receivingName
.
value
=
it
.
shipping
?.
receiverName
?:
""
receivingPhone
.
value
=
it
.
shipping
?.
receiverMobile
?:
""
...
...
@@ -77,7 +81,11 @@ class ConfirmOrderViewModel : BaseViewModel() {
* 计算商品合计 = 原价 - 优惠
*/
private
fun
calculateTotalAmount
()
{
totalAmount
.
value
=
originalAmount
-
couponAmount
var
total
=
originalAmount
-
couponAmount
if
(
total
<
0
)
{
total
=
0.00
}
totalAmount
.
value
=
total
}
/**
...
...
@@ -105,13 +113,27 @@ class ConfirmOrderViewModel : BaseViewModel() {
_chooseCouponEvent
.
value
=
couponsAvailableList
.
value
}
fun
chooseVoucherSuccess
(
selectedIndex
:
Int
)
{
/**
* 选择的优惠券金额已支持多选,⚠️ :名称和UI暂不支持
*/
fun
chooseVoucherSuccess
(
indexList
:
List
<
Int
>)
{
// 获取选中的优惠券
val
coupon
=
couponsAvailableList
.
value
?.
get
(
selectedIndex
)
val
list
=
mutableListOf
<
CouponDto
>()
indexList
.
forEach
{
val
coupon
=
couponsAvailableList
.
value
?.
get
(
it
)
//将该优惠券更新为选中状态
coupon
?.
selected
=
true
selectedCoupon
.
value
=
coupon
couponAmount
=
coupon
?.
amount
?.
toDouble
()
?:
0.00
coupon
?.
let
{
couponDto
->
// 累加优惠券金额
couponAmount
+=
couponDto
.
amount
?.
toDouble
()
?:
0.00
couponDto
.
selected
=
true
list
.
add
(
couponDto
)
}
}
selectedCouponList
.
value
=
list
// 更新优惠券总金额
couponAmountValue
.
value
=
couponAmount
// 更新选择优惠券名称
couponNameValue
.
value
=
couponsAvailableList
.
value
?.
get
(
0
)
?.
name
// 重新计算相关金额
calculateTotalAmount
()
}
...
...
@@ -120,12 +142,30 @@ class ConfirmOrderViewModel : BaseViewModel() {
* 创建订单
*/
fun
createOrder
()
{
val
paramsMap
=
HashMap
<
String
,
String
?>()
paramsMap
[
"business_from"
]
=
"2"
paramsMap
[
"user_id"
]
=
"510235230818"
// todo 添加其他参数
OrderRemoteDataSource
.
requestCreateOrder
(
paramsMap
)
{
if
(
selectedPickUpPoint
.
value
?.
takePlaceId
==
null
)
{
postErrorEvent
(
ErrorInfo
(
message
=
"请选择自提点"
))
return
}
if
(
receivingName
.
value
.
isNullOrBlank
())
{
postErrorEvent
(
ErrorInfo
(
message
=
"请输入收货姓名"
))
return
}
if
(
receivingPhone
.
value
.
isNullOrBlank
())
{
postErrorEvent
(
ErrorInfo
(
message
=
"请输入手机号码"
))
return
}
if
(
receivingPhone
.
value
?.
length
!=
11
)
{
postErrorEvent
(
ErrorInfo
(
message
=
"请输入11位手机号码"
))
return
}
if
(!
selectedCouponList
.
value
.
isNullOrEmpty
())
{
// 添加上选中的优惠券
currentParamsJson
.
put
(
"coupon_list"
,
JSONArray
(
selectedCouponList
.
value
))
}
currentParamsJson
.
put
(
"take_place_id"
,
selectedPickUpPoint
.
value
?.
takePlaceId
)
currentParamsJson
.
put
(
"receiver_name"
,
receivingName
.
value
)
currentParamsJson
.
put
(
"receiver_mobile"
,
receivingPhone
.
value
)
currentParamsJson
.
put
(
"comment"
,
remark
.
value
)
OrderRemoteDataSource
.
requestCreateOrder
(
currentParamsJson
)
{
ToastUtils
.
showShort
(
"创建订单成功${it?.orderId}"
)
}
}
...
...
Components/BOrder/src/main/res/layout/border_activity_confirm_order.xml
View file @
cd1a4149
...
...
@@ -193,6 +193,7 @@
android:background=
"@null"
android:hint=
"请输入收货人电话号码"
android:inputType=
"phone"
android:maxLength=
"11"
android:singleLine=
"true"
android:text=
"@={vm.receivingPhone}"
android:textColor=
"@color/color_333333"
...
...
@@ -254,7 +255,7 @@
android:drawableStart=
"@drawable/icon_red_envelope"
android:drawablePadding=
"@dimen/dp5"
android:singleLine=
"true"
android:text=
"@{vm.
selectedCoupon.nam
e ?? @string/red_packet_or_coupon}"
android:text=
"@{vm.
couponNameValu
e ?? @string/red_packet_or_coupon}"
android:textColor=
"@color/color_333333"
android:textSize=
"@dimen/sp14"
app:layout_constraintBottom_toBottomOf=
"parent"
...
...
@@ -275,7 +276,7 @@
android:text=
"@{vm.couponsAvailableList.size() + @string/coupons_available_num}"
android:textColor=
"@color/white"
android:textSize=
"11sp"
app:isShow=
"@{vm.selectedCoupon
.amount == null
}"
app:isShow=
"@{vm.selectedCoupon
List.size() == 0
}"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@id/iv_coupons_next_arrow"
app:layout_constraintHorizontal_bias=
"1"
...
...
@@ -291,10 +292,10 @@
android:paddingTop=
"@dimen/dp2"
android:paddingEnd=
"@dimen/dp5"
android:paddingBottom=
"@dimen/dp2"
android:text=
"@{vm.
selectedCoupon.amount
}"
android:text=
"@{vm.
couponAmountValue.toString()
}"
android:textColor=
"@color/color_FD7823"
android:textSize=
"11sp"
app:isShow=
"@{vm.selectedCoupon
.amount != null
}"
app:isShow=
"@{vm.selectedCoupon
List.size() > 0
}"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@id/iv_coupons_next_arrow"
app:layout_constraintHorizontal_bias=
"1"
...
...
Components/BRoot/src/main/java/com/yidian/shenghuoquan/broot/BaseInitConfig.kt
View file @
cd1a4149
...
...
@@ -66,6 +66,9 @@ object BaseInitConfig {
},
20
//webview缓存池数量,默认不缓存
)
/**
* 接收h5调用服务传递的数据
*/
XBridManager
.
registerServiceInvoker
(
object
:
OnServiceInvoke
{
override
fun
onCall
(
identifier
:
String
,
// the identifier assigned when webview created
...
...
@@ -94,8 +97,12 @@ object BaseInitConfig {
}
})
/**
* 接收h5调用XPage传递的数据
*/
XBridManager
.
registerXPageInvoker
(
object
:
OnXPageInvoke
{
override
fun
onCall
(
identifier
:
String
,
xWebView
:
XWebView
,
request
:
XPageRequest
)
{
// 将传递的参数整合到新建的map中,如果下游页面需要的参数是JSONObject需要将JSONObject作为map的value传递
val
params
=
mutableMapOf
<
String
,
Any
>()
(
request
.
params
as
JSONObject
).
let
{
reParams
->
reParams
.
keys
().
forEach
{
...
...
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