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
0e269007
Commit
0e269007
authored
Sep 01, 2021
by
shiyl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1. 新建Json2Map的工具方法,用于解析h5传递的参数
2. 新建格式化保留2位小数的工具方法
parent
060e6c08
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
69 additions
and
20 deletions
+69
-20
JsonUtils.kt
...ommon/src/main/java/com/yidian/bcommon/utils/JsonUtils.kt
+33
-0
NumberUtils.kt
...mon/src/main/java/com/yidian/bcommon/utils/NumberUtils.kt
+17
-0
BaseInitConfig.kt
...main/java/com/yidian/shenghuoquan/broot/BaseInitConfig.kt
+8
-11
OrderConfirmCommodityListAdapter.kt
...an/buserorder/adapter/OrderConfirmCommodityListAdapter.kt
+2
-1
ConfirmOrderActivity.kt
...yidian/shenghuoquan/buserorder/ui/ConfirmOrderActivity.kt
+9
-8
No files found.
CommonLib/BCommon/src/main/java/com/yidian/bcommon/utils/JsonUtils.kt
View file @
0e269007
...
@@ -5,6 +5,10 @@ import android.content.res.AssetManager
...
@@ -5,6 +5,10 @@ import android.content.res.AssetManager
import
java.io.BufferedReader
import
java.io.BufferedReader
import
java.io.IOException
import
java.io.IOException
import
java.io.InputStreamReader
import
java.io.InputStreamReader
import
org.json.JSONObject
import
org.json.JSONArray
/**
/**
* JSON解析工具类
* JSON解析工具类
...
@@ -31,4 +35,33 @@ object JsonUtils {
...
@@ -31,4 +35,33 @@ object JsonUtils {
return
null
return
null
}
}
/**
* 将json对象转换为HashMap
* @param json
* @return
*/
fun
parseJSON2Map
(
json
:
JSONObject
):
Map
<
String
,
Any
>
{
val
map
:
MutableMap
<
String
,
Any
>
=
HashMap
()
// 最外层解析
for
(
k
in
json
.
keys
())
{
when
(
val
v
=
json
[
k
])
{
is
JSONArray
->
{
// 如果内层还是json数组的话,继续解析
val
list
:
MutableList
<
Map
<
String
,
Any
>>
=
ArrayList
()
for
(
i
in
0
until
v
.
length
())
{
val
jsonObject
=
v
.
getJSONObject
(
i
)
list
.
add
(
parseJSON2Map
(
jsonObject
))
}
map
[
k
.
toString
()]
=
list
}
is
JSONObject
->
{
// 如果内层是json对象的话,继续解析
map
[
k
.
toString
()]
=
parseJSON2Map
(
v
)
}
else
->
{
// 如果内层是普通对象的话,直接放入map中
map
[
k
.
toString
()]
=
v
}
}
}
return
map
}
}
}
CommonLib/BCommon/src/main/java/com/yidian/bcommon/utils/NumberUtils.kt
0 → 100644
View file @
0e269007
package
com.yidian.bcommon.utils
import
java.text.NumberFormat
object
NumberUtils
{
/**
* 数字格式化
* 默认保留2位小数
*/
fun
decimalFormat
(
num
:
Double
,
reservedLength
:
Int
=
2
):
String
{
val
nf
:
NumberFormat
=
NumberFormat
.
getNumberInstance
()
nf
.
maximumFractionDigits
=
reservedLength
return
nf
.
format
(
num
)
}
}
Components/BRoot/src/main/java/com/yidian/shenghuoquan/broot/BaseInitConfig.kt
View file @
0e269007
...
@@ -7,6 +7,7 @@ import com.yidian.bcommon.constant.GlobalConstants
...
@@ -7,6 +7,7 @@ import com.yidian.bcommon.constant.GlobalConstants
import
com.yidian.bcommon.constant.RunConfig
import
com.yidian.bcommon.constant.RunConfig
import
com.yidian.bcommon.services.ZapServiceActionConstants
import
com.yidian.bcommon.services.ZapServiceActionConstants
import
com.yidian.bcommon.services.ZapServiceNameConstants
import
com.yidian.bcommon.services.ZapServiceNameConstants
import
com.yidian.bcommon.utils.JsonUtils
import
com.yidian.bcommon.utils.UMConfigUtils
import
com.yidian.bcommon.utils.UMConfigUtils
import
com.yidian.news.util.ProcessUtil
import
com.yidian.news.util.ProcessUtil
import
com.yidian.xarc.xbase.utils.XLogger
import
com.yidian.xarc.xbase.utils.XLogger
...
@@ -102,18 +103,14 @@ object BaseInitConfig {
...
@@ -102,18 +103,14 @@ object BaseInitConfig {
*/
*/
XBridManager
.
registerXPageInvoker
(
object
:
OnXPageInvoke
{
XBridManager
.
registerXPageInvoker
(
object
:
OnXPageInvoke
{
override
fun
onCall
(
identifier
:
String
,
xWebView
:
XWebView
,
request
:
XPageRequest
)
{
override
fun
onCall
(
identifier
:
String
,
xWebView
:
XWebView
,
request
:
XPageRequest
)
{
// 将传递的参数整合到新建的map中,如果下游页面需要的参数是JSONObject需要将JSONObject作为map的value传递
// 将传递的参数整合到新建的map中
val
params
=
mutableMapOf
<
String
,
Any
>()
val
jsonObject
=
request
.
params
as
JSONObject
(
request
.
params
as
JSONObject
).
let
{
reParams
->
val
paramsMap
=
JsonUtils
.
parseJSON2Map
(
jsonObject
)
reParams
.
keys
().
forEach
{
params
[
it
]
=
reParams
[
it
]
}
}
when
(
request
.
action
)
{
when
(
request
.
action
)
{
"push"
->
XPageManager
.
push
(
request
.
name
,
params
)
"push"
->
XPageManager
.
push
(
request
.
name
,
params
Map
)
"pop"
->
XPageManager
.
pop
(
params
)
"pop"
->
XPageManager
.
pop
(
params
Map
)
"popTo"
->
XPageManager
.
popTo
(
request
.
name
,
params
)
"popTo"
->
XPageManager
.
popTo
(
request
.
name
,
params
Map
)
"popToRoot"
->
XPageManager
.
popToRoot
(
params
)
"popToRoot"
->
XPageManager
.
popToRoot
(
params
Map
)
}
}
}
}
})
})
...
...
Components/BUserOrder/src/main/java/com/yidian/shenghuoquan/buserorder/adapter/OrderConfirmCommodityListAdapter.kt
View file @
0e269007
...
@@ -9,6 +9,7 @@ import com.bumptech.glide.load.resource.bitmap.RoundedCorners
...
@@ -9,6 +9,7 @@ import com.bumptech.glide.load.resource.bitmap.RoundedCorners
import
com.bumptech.glide.request.RequestOptions
import
com.bumptech.glide.request.RequestOptions
import
com.chad.library.adapter.base.BaseQuickAdapter
import
com.chad.library.adapter.base.BaseQuickAdapter
import
com.chad.library.adapter.base.viewholder.BaseViewHolder
import
com.chad.library.adapter.base.viewholder.BaseViewHolder
import
com.yidian.bcommon.utils.NumberUtils
import
com.yidian.news.util.DensityUtil
import
com.yidian.news.util.DensityUtil
import
com.yidian.shenghuoquan.buserorder.R
import
com.yidian.shenghuoquan.buserorder.R
import
com.yidian.shenghuoquan.buserorder.dto.GoodsDto
import
com.yidian.shenghuoquan.buserorder.dto.GoodsDto
...
@@ -22,7 +23,7 @@ class OrderConfirmCommodityListAdapter : BaseQuickAdapter<GoodsDto, BaseViewHold
...
@@ -22,7 +23,7 @@ class OrderConfirmCommodityListAdapter : BaseQuickAdapter<GoodsDto, BaseViewHold
override
fun
convert
(
holder
:
BaseViewHolder
,
item
:
GoodsDto
)
{
override
fun
convert
(
holder
:
BaseViewHolder
,
item
:
GoodsDto
)
{
holder
.
getView
<
TextView
>(
R
.
id
.
tv_commodity_name
).
text
=
item
.
goodsName
holder
.
getView
<
TextView
>(
R
.
id
.
tv_commodity_name
).
text
=
item
.
goodsName
holder
.
getView
<
TextView
>(
R
.
id
.
tv_commodity_count
).
text
=
"共"
+
item
.
goodsNum
+
"件"
holder
.
getView
<
TextView
>(
R
.
id
.
tv_commodity_count
).
text
=
"共"
+
item
.
goodsNum
+
"件"
holder
.
getView
<
TextView
>(
R
.
id
.
tv_commodity_amount
).
text
=
"¥"
+
item
.
price
holder
.
getView
<
TextView
>(
R
.
id
.
tv_commodity_amount
).
text
=
"¥"
+
NumberUtils
.
decimalFormat
(
item
.
price
)
val
ivCommodityPic
=
holder
.
getView
<
ImageView
>(
R
.
id
.
iv_commodity_pic
)
val
ivCommodityPic
=
holder
.
getView
<
ImageView
>(
R
.
id
.
iv_commodity_pic
)
Glide
.
with
(
context
).
load
(
item
.
picUrl
)
Glide
.
with
(
context
).
load
(
item
.
picUrl
)
.
apply
(
.
apply
(
...
...
Components/BUserOrder/src/main/java/com/yidian/shenghuoquan/buserorder/ui/ConfirmOrderActivity.kt
View file @
0e269007
...
@@ -6,7 +6,6 @@ import com.yidian.bcommon.constant.IntentConstants
...
@@ -6,7 +6,6 @@ import com.yidian.bcommon.constant.IntentConstants
import
com.yidian.bcommon.constant.XEventConfig
import
com.yidian.bcommon.constant.XEventConfig
import
com.yidian.bcommon.constant.XRouterPathConstants
import
com.yidian.bcommon.constant.XRouterPathConstants
import
com.yidian.bcommon.mvvm.BaseMvvmActivity
import
com.yidian.bcommon.mvvm.BaseMvvmActivity
import
com.yidian.bcommon.utils.JsonUtils
import
com.yidian.shenghuoquan.buserorder.R
import
com.yidian.shenghuoquan.buserorder.R
import
com.yidian.shenghuoquan.buserorder.adapter.OrderConfirmCommodityListAdapter
import
com.yidian.shenghuoquan.buserorder.adapter.OrderConfirmCommodityListAdapter
import
com.yidian.shenghuoquan.buserorder.databinding.BorderActivityConfirmOrderBinding
import
com.yidian.shenghuoquan.buserorder.databinding.BorderActivityConfirmOrderBinding
...
@@ -22,12 +21,13 @@ import com.pingplusplus.android.Pingpp
...
@@ -22,12 +21,13 @@ import com.pingplusplus.android.Pingpp
import
com.pingplusplus.android.Pingpp.REQUEST_CODE_PAYMENT
import
com.pingplusplus.android.Pingpp.REQUEST_CODE_PAYMENT
import
com.yidian.bcommon.utils.ToastUtils
import
com.yidian.bcommon.utils.ToastUtils
import
com.yidian.shenghuoquan.buserorder.viewmodel.ConfirmOrderViewModel
import
com.yidian.shenghuoquan.buserorder.viewmodel.ConfirmOrderViewModel
import
com.yidian.xpage.XPageViewProtocol
/**
/**
* 确认订单
* 确认订单
*/
*/
class
ConfirmOrderActivity
:
BaseMvvmActivity
<
BorderActivityConfirmOrderBinding
,
ConfirmOrderViewModel
>()
{
class
ConfirmOrderActivity
:
BaseMvvmActivity
<
BorderActivityConfirmOrderBinding
,
ConfirmOrderViewModel
>()
,
XPageViewProtocol
{
private
var
marketingId
:
String
?
=
null
// 活动id
private
var
marketingId
:
String
?
=
null
// 活动id
...
@@ -37,8 +37,11 @@ class ConfirmOrderActivity : BaseMvvmActivity<BorderActivityConfirmOrderBinding,
...
@@ -37,8 +37,11 @@ class ConfirmOrderActivity : BaseMvvmActivity<BorderActivityConfirmOrderBinding,
override
val
vm
:
ConfirmOrderViewModel
by
viewModels
()
override
val
vm
:
ConfirmOrderViewModel
by
viewModels
()
override
fun
getXPageName
():
String
{
return
XRouterPathConstants
.
CONFIRM_ORDER_ACTIVITY
}
override
fun
initView
()
{
override
fun
initView
()
{
ToastUtils
.
showShortSafe
(
"进入确认订单了"
)
XEventManager
.
register
(
this
)
XEventManager
.
register
(
this
)
subscribeUiEvent
()
subscribeUiEvent
()
initList
()
initList
()
...
@@ -53,11 +56,9 @@ class ConfirmOrderActivity : BaseMvvmActivity<BorderActivityConfirmOrderBinding,
...
@@ -53,11 +56,9 @@ class ConfirmOrderActivity : BaseMvvmActivity<BorderActivityConfirmOrderBinding,
val
params
=
intent
?.
getSerializableExtra
(
XRouterPathConstants
.
ParamsKey
)
val
params
=
intent
?.
getSerializableExtra
(
XRouterPathConstants
.
ParamsKey
)
if
(
params
!=
null
)
{
if
(
params
!=
null
)
{
// 注意接收h5传过来的JSONObject
// 注意接收h5传过来的JSONObject
// params as HashMap<String, Any?>
params
as
HashMap
<
String
,
Any
?>
params
as
JSONObject
// 解析h5传递的参数
parsingParameters
(
JSONObject
(
params
))
// TODO 修改为h5传递的参数
parsingParameters
(
params
)
}
}
}
}
...
...
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