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
68efc370
Commit
68efc370
authored
Sep 06, 2021
by
shiyl
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
对C端埋点进行封装,并在确认订单进行埋点
parent
c9261c2f
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
111 additions
and
2 deletions
+111
-2
ZapServiceActionConstants.kt
.../com/yidian/bcommon/services/ZapServiceActionConstants.kt
+3
-0
ZapServiceNameConstants.kt
...va/com/yidian/bcommon/services/ZapServiceNameConstants.kt
+3
-0
CPointUtils.kt
...mon/src/main/java/com/yidian/bcommon/utils/CPointUtils.kt
+22
-0
ConfirmOrderActivity.kt
...yidian/shenghuoquan/buserorder/ui/ConfirmOrderActivity.kt
+9
-1
ConfirmOrderViewModel.kt
...henghuoquan/buserorder/viewmodel/ConfirmOrderViewModel.kt
+74
-1
No files found.
CommonLib/BCommon/src/main/java/com/yidian/bcommon/services/ZapServiceActionConstants.kt
View file @
68efc370
...
...
@@ -69,5 +69,8 @@ class ZapServiceActionConstants {
// 获取C端登录状态
const
val
ActionGetLoginStatus
=
"getLoginStatus"
// C端上传埋点日志
const
val
CommitCPointLog
=
"commitCPointLog"
}
}
CommonLib/BCommon/src/main/java/com/yidian/bcommon/services/ZapServiceNameConstants.kt
View file @
68efc370
...
...
@@ -33,6 +33,9 @@ class ZapServiceNameConstants {
// BManagerCenter组件中生活号管理服务
const
val
LifeAccountManagerService
=
"LifeAccountManagerService"
// C端的埋点服务
const
val
cBuriedPointService
=
"cBuriedPointService"
}
}
CommonLib/BCommon/src/main/java/com/yidian/bcommon/utils/CPointUtils.kt
0 → 100644
View file @
68efc370
package
com.yidian.bcommon.utils
import
com.yidian.bcommon.services.ZapServiceActionConstants
import
com.yidian.bcommon.services.ZapServiceNameConstants
import
com.yidian.yac.core.zap.ZapTicket
import
org.json.JSONObject
/**
* 通过调用C端的服务进行C端埋点的工具类
*/
object
CPointUtils
{
/**
* 进行日志上传
*/
fun
performCommitLog
(
jsonObject
:
JSONObject
)
{
ZapTicket
(
ZapServiceNameConstants
.
cBuriedPointService
).
withAction
(
ZapServiceActionConstants
.
CommitCPointLog
)
.
withServiceParams
(
jsonObject
).
ship
()
}
}
Components/BUserOrder/src/main/java/com/yidian/shenghuoquan/buserorder/ui/ConfirmOrderActivity.kt
View file @
68efc370
...
...
@@ -11,6 +11,7 @@ import com.yidian.bcommon.constant.XRouterPathConstants
import
com.yidian.bcommon.mvvm.BaseMvvmActivity
import
com.yidian.bcommon.utils.InputFilterUtil
import
com.yidian.bcommon.widget.CommonHintDialog
import
com.yidian.bcommon.widget.CommonTopBarView
import
com.yidian.shenghuoquan.buserorder.R
import
com.yidian.shenghuoquan.buserorder.adapter.OrderConfirmCommodityListAdapter
import
com.yidian.shenghuoquan.buserorder.databinding.BorderActivityConfirmOrderBinding
...
...
@@ -29,7 +30,8 @@ import timber.log.Timber
/**
* 确认订单
*/
class
ConfirmOrderActivity
:
BaseMvvmActivity
<
BorderActivityConfirmOrderBinding
,
ConfirmOrderViewModel
>(),
XPageViewProtocol
{
class
ConfirmOrderActivity
:
BaseMvvmActivity
<
BorderActivityConfirmOrderBinding
,
ConfirmOrderViewModel
>(),
XPageViewProtocol
,
CommonTopBarView
.
OnCommonTopBarBackCallback
{
private
var
marketingId
:
String
?
=
null
// 活动id
...
...
@@ -174,4 +176,10 @@ class ConfirmOrderActivity : BaseMvvmActivity<BorderActivityConfirmOrderBinding,
}
}
override
fun
onDoBack
()
{
// 返回按钮
vm
.
commitBackBuriedPoint
()
XPageManager
.
pop
(
null
)
}
}
Components/BUserOrder/src/main/java/com/yidian/shenghuoquan/buserorder/viewmodel/ConfirmOrderViewModel.kt
View file @
68efc370
...
...
@@ -5,14 +5,19 @@ import androidx.lifecycle.MutableLiveData
import
com.google.gson.Gson
import
com.yidian.bcommon.mvvm.BaseViewModel
import
com.yidian.bcommon.mvvm.ErrorInfo
import
com.yidian.bcommon.services.ZapServiceActionConstants
import
com.yidian.bcommon.services.ZapServiceNameConstants
import
com.yidian.bcommon.utils.CPointUtils
import
com.yidian.shenghuoquan.buserorder.dto.*
import
com.yidian.shenghuoquan.buserorder.http.OrderRemoteDataSource
import
com.yidian.yac.core.zap.ZapTicket
import
org.json.JSONArray
import
org.json.JSONObject
class
ConfirmOrderViewModel
:
BaseViewModel
()
{
private
var
marketingInfo
:
MarketingInfo
?
=
null
private
var
payOrderId
:
String
?
=
null
private
lateinit
var
currentParamsJson
:
JSONObject
// 当前订单的请求参数
private
var
originalAmount
:
Double
=
0.00
// 原价总和
...
...
@@ -71,10 +76,13 @@ class ConfirmOrderViewModel : BaseViewModel() {
selectedPickUpPoint
.
value
=
it
.
shipping
receivingName
.
value
=
it
.
shipping
?.
receiverName
?:
""
receivingPhone
.
value
=
it
.
shipping
?.
receiverMobile
?:
""
marketingName
.
value
=
it
.
marketingInfo
?.
marketingName
?:
""
marketingInfo
=
it
.
marketingInfo
marketingName
.
value
=
marketingInfo
?.
marketingName
?:
""
_goodsSuccessEvent
.
value
=
it
.
goodsList
calculateOriginalAmount
(
it
.
goodsList
)
couponsAvailableList
.
value
=
it
.
couponList
// 上传页面埋点信息
commitPageBuriedPoint
()
}
}
...
...
@@ -222,5 +230,70 @@ class ConfirmOrderViewModel : BaseViewModel() {
_toOrderDetailEvent
.
value
=
payOrderId
}
/**
* 页面浏览的埋点
* 页面可见且有业务数据时上传
*/
private
fun
commitPageBuriedPoint
()
{
// 遍历商品列表
val
skuIdText
=
StringBuilder
()
val
skuNameText
=
StringBuilder
()
val
value
=
_goodsSuccessEvent
.
value
value
?.
forEachIndexed
{
index
,
s
->
// todo 改成skuID
skuIdText
.
append
(
s
.
goodsName
)
skuNameText
.
append
(
s
.
goodsName
)
if
(
index
<
value
.
size
-
1
)
{
skuIdText
.
append
(
","
)
skuNameText
.
append
(
","
)
}
}
// 埋点数据包装
val
jsonObject
=
JSONObject
()
jsonObject
.
put
(
"eventName"
,
"EXPOSE_PAGE"
)
val
contextJsonObject
=
JSONObject
()
contextJsonObject
.
put
(
"page"
,
"ORDER_CONFIRMATION_PAGE"
)
val
smallOrderInfoJsonObject
=
JSONObject
()
smallOrderInfoJsonObject
.
put
(
"marketing_id"
,
marketingInfo
?.
marketingId
)
smallOrderInfoJsonObject
.
put
(
"marketing_name"
,
marketingInfo
?.
marketingName
)
smallOrderInfoJsonObject
.
put
(
"marketing_type"
,
"SPELL_MEAL"
)
smallOrderInfoJsonObject
.
put
(
"goods_sku_id"
,
skuIdText
.
toString
())
smallOrderInfoJsonObject
.
put
(
"goods_sku_name"
,
skuNameText
.
toString
())
contextJsonObject
.
put
(
"small_order_info"
,
smallOrderInfoJsonObject
)
jsonObject
.
put
(
"contextMap"
,
contextJsonObject
)
val
propertiesJsonObject
=
JSONObject
()
propertiesJsonObject
.
put
(
"event_id"
,
"SHQNG_R_1628749670667"
)
jsonObject
.
put
(
"propertiesMap"
,
propertiesJsonObject
)
jsonObject
.
put
(
"logType"
,
1
)
CPointUtils
.
performCommitLog
(
jsonObject
)
}
/**
* 点击返回按钮的埋点
*/
fun
commitBackBuriedPoint
()
{
val
jsonObject
=
JSONObject
()
jsonObject
.
put
(
"eventName"
,
"CLICK_WIDGET"
)
val
contextJsonObject
=
JSONObject
()
contextJsonObject
.
put
(
"page"
,
"ORDER_CONFIRMATION_PAGE"
)
val
smallOrderInfoJsonObject
=
JSONObject
()
smallOrderInfoJsonObject
.
put
(
"marketing_id"
,
marketingInfo
?.
marketingId
)
smallOrderInfoJsonObject
.
put
(
"marketing_name"
,
marketingInfo
?.
marketingName
)
smallOrderInfoJsonObject
.
put
(
"marketing_type"
,
"SPELL_MEAL"
)
contextJsonObject
.
put
(
"small_order_info"
,
smallOrderInfoJsonObject
)
jsonObject
.
put
(
"contextMap"
,
contextJsonObject
)
val
entitiesJsonObject
=
JSONObject
()
val
widgetInfoJsonObject
=
JSONObject
()
widgetInfoJsonObject
.
put
(
"widget_type"
,
"BUTTON"
)
widgetInfoJsonObject
.
put
(
"widget_name"
,
"return_key"
)
entitiesJsonObject
.
put
(
"widget_info"
,
widgetInfoJsonObject
)
jsonObject
.
put
(
"entitiesMap"
,
entitiesJsonObject
)
val
propertiesJsonObject
=
JSONObject
()
propertiesJsonObject
.
put
(
"event_id"
,
"SHQNG_R_1628749896356"
)
jsonObject
.
put
(
"propertiesMap"
,
propertiesJsonObject
)
jsonObject
.
put
(
"logType"
,
1
)
CPointUtils
.
performCommitLog
(
jsonObject
)
}
}
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