Commit 25c80da1 authored by shiyl's avatar shiyl

Merge branch 'feature/dev_fight_order_point' into develop

parents cdde4cb1 e9571a6b
......@@ -27,7 +27,7 @@ import timber.log.Timber
* description: 网路请求解析
* 非加密接口使用
*/
abstract class HttpResultObserver<T> : Observer<HttpResult<T>> {
abstract class HttpResultObserver<T>(private var showFailurePrompt: Boolean = true) : Observer<HttpResult<T>> {
private val gson by lazy { Gson() }
private var isShowErrorMsg = true
......@@ -83,7 +83,9 @@ abstract class HttpResultObserver<T> : Observer<HttpResult<T>> {
}
else -> {
onFailure(result)
ToastUtil.showToast(YdBaseApplication.context, result.reason ?: "网络请求失败")
if (showFailurePrompt) {
ToastUtil.showToast(YdBaseApplication.context, result.reason ?: "网络请求失败")
}
}
}
}
......
......@@ -20,7 +20,8 @@ import io.reactivex.rxjava3.disposables.Disposable
import org.json.JSONObject
import java.lang.reflect.ParameterizedType
abstract class HttpResultSubscriber<T>(private var showProgress: Boolean = false) : Observer<HttpResult<Any?>> {
abstract class HttpResultSubscriber<T>(private var showProgress: Boolean = false, private var showFailurePrompt: Boolean = true) :
Observer<HttpResult<Any?>> {
private var isShowErrorMsg = true
override fun onSubscribe(d: Disposable) { //网络请求之前
......@@ -84,7 +85,10 @@ abstract class HttpResultSubscriber<T>(private var showProgress: Boolean = false
decodeResult.reason = res.reason
decodeResult.status = res.status
onFailure(decodeResult)
ToastUtil.showToast(YdBaseApplication.context, res.reason)
// 显示失败的提示语,如果某些情况不需要提示,可以设置为false
if (showFailurePrompt) {
ToastUtil.showToast(YdBaseApplication.context, res.reason)
}
}
}
}
......
......@@ -28,7 +28,8 @@ class BNAHttpReqService : ZapService() {
val requestOptions = options as JSONObject
val method = requestOptions.optString("method", "POST")
val host = requestOptions.optString("host", RunConfig.API_URL)
val isEncrypt = requestOptions.optBoolean("is_encrypt", true)
val isEncrypt = requestOptions.optBoolean("is_encrypt", true)// 是否开启加密
val showFailurePrompt = requestOptions.optBoolean("showFailurePrompt", true)// 是否显示失败的提示
val url = host + apiPath
val paramsMap: HashMap<String, String?> = parseParams(requestParams)
......@@ -36,16 +37,16 @@ class BNAHttpReqService : ZapService() {
when (method) {
"GET", "get" -> {
if (isEncrypt) {
BNARemoteDataSource.launchEncryptGetRequest(iMBRequestCallBackImpl, paramsMap, url, resolver)
BNARemoteDataSource.launchEncryptGetRequest(iMBRequestCallBackImpl, paramsMap, url, resolver, showFailurePrompt)
} else {
BNARemoteDataSource.launchGetRequest(iMBRequestCallBackImpl, paramsMap, url, resolver)
BNARemoteDataSource.launchGetRequest(iMBRequestCallBackImpl, paramsMap, url, resolver, showFailurePrompt)
}
}
"POST", "post" -> {
if (isEncrypt) {
BNARemoteDataSource.launchEncryptPostRequest(iMBRequestCallBackImpl, paramsMap, url, resolver)
BNARemoteDataSource.launchEncryptPostRequest(iMBRequestCallBackImpl, paramsMap, url, resolver, showFailurePrompt)
} else {
BNARemoteDataSource.launchPostRequest(iMBRequestCallBackImpl, paramsMap, url, resolver)
BNARemoteDataSource.launchPostRequest(iMBRequestCallBackImpl, paramsMap, url, resolver, showFailurePrompt)
}
}
else -> {
......
......@@ -15,7 +15,8 @@ object BNARemoteDataSource {
apiCallback: IBNARequestCallBack,
requestParams: HashMap<String, String?>,
url: String,
resolver: ResultResolver
resolver: ResultResolver,
showFailurePrompt: Boolean
) {
val timeStamp = System.currentTimeMillis()
val publicParamsMap = HttpParamsUtils.getPublicParamsMap(timeStamp)
......@@ -23,7 +24,7 @@ object BNARemoteDataSource {
ServiceFactory.getInstance().createService(BNAService::class.java)
.mbGetRequest(url, publicParamsMap, privateParamsMap)
.compose(TransformUtil.defaultSchedulers())
.subscribe(object : HttpResultSubscriber<Any?>() {
.subscribe(object : HttpResultSubscriber<Any?>(showFailurePrompt = showFailurePrompt) {
override fun onSuccess(result: HttpResult<Any?>?) {
apiCallback.getRequestSuccess(result, resolver)
}
......@@ -42,7 +43,8 @@ object BNARemoteDataSource {
apiCallback: IBNARequestCallBack,
requestParams: HashMap<String, String?>,
url: String,
resolver: ResultResolver
resolver: ResultResolver,
showFailurePrompt: Boolean
) {
val timeStamp = System.currentTimeMillis()
val publicParamsMap = HttpParamsUtils.getPublicParamsMap(timeStamp)
......@@ -50,7 +52,7 @@ object BNARemoteDataSource {
ServiceFactory.getInstance().createService(BNAService::class.java)
.mbGetRequest(url, publicParamsMap, privateParamsMap)
.compose(TransformUtil.defaultSchedulers())
.subscribe(object : HttpResultObserver<Any?>() {
.subscribe(object : HttpResultObserver<Any?>(showFailurePrompt = showFailurePrompt) {
override fun onSuccess(result: HttpResult<Any?>?) {
apiCallback.getRequestSuccess(result, resolver)
}
......@@ -69,7 +71,8 @@ object BNARemoteDataSource {
apiCallback: IBNARequestCallBack,
requestParams: HashMap<String, String?>,
url: String,
resolver: ResultResolver
resolver: ResultResolver,
showFailurePrompt: Boolean
) {
val timeStamp = System.currentTimeMillis()
val publicParamsMap = HttpParamsUtils.getPublicParamsMap(timeStamp)
......@@ -77,7 +80,7 @@ object BNARemoteDataSource {
ServiceFactory.getInstance().createService(BNAService::class.java)
.mbPostRequest(url, publicParamsMap, privateParamsMap)
.compose(TransformUtil.defaultSchedulers())
.subscribe(object : HttpResultSubscriber<Any?>() {
.subscribe(object : HttpResultSubscriber<Any?>(showFailurePrompt = showFailurePrompt) {
override fun onSuccess(result: HttpResult<Any?>?) {
apiCallback.getRequestSuccess(result, resolver)
}
......@@ -96,7 +99,8 @@ object BNARemoteDataSource {
apiCallback: IBNARequestCallBack,
requestParams: HashMap<String, String?>,
url: String,
resolver: ResultResolver
resolver: ResultResolver,
showFailurePrompt: Boolean
) {
val timeStamp = System.currentTimeMillis()
val publicParamsMap = HttpParamsUtils.getPublicParamsMap(timeStamp)
......@@ -104,7 +108,7 @@ object BNARemoteDataSource {
ServiceFactory.getInstance().createService(BNAService::class.java)
.mbPostRequest(url, publicParamsMap, privateParamsMap)
.compose(TransformUtil.defaultSchedulers())
.subscribe(object : HttpResultObserver<Any?>() {
.subscribe(object : HttpResultObserver<Any?>(showFailurePrompt = showFailurePrompt) {
override fun onSuccess(result: HttpResult<Any?>?) {
apiCallback.getRequestSuccess(result, resolver)
}
......
......@@ -15,6 +15,7 @@ import androidx.core.content.ContextCompat
import androidx.core.view.isVisible
import androidx.lifecycle.lifecycleScope
import com.tbruyelle.rxpermissions3.RxPermissions
import com.umeng.umcrash.UMCrash
import com.yidian.bcommon.base.BaseFragment
import com.yidian.bcommon.utils.ImageCompressUtils
import com.yidian.framework.mobile.insight.config.IdentityCardType
......@@ -256,12 +257,17 @@ class LifeAccountIDCardAuthFragmentV2 : BaseFragment<FragmentLifeAccountIdCardAu
RxPermissions(this).request(Manifest.permission.CAMERA).subscribe {
if (it) {
// 调用XInsight进行身份证采集
XInsight.startIdentityCardOcr(
this,
ScreenOrientation.VERTICAL,
if (curFace == Constant.ID_CARD_PORTRAIT_FACE) IdentityCardType.PORTRAIT else IdentityCardType.NATIONAL_EMBLEM,
Constant.REQUEST_CODE_ID_CARD_CAPTURE
)
try {
XInsight.startIdentityCardOcr(
this,
ScreenOrientation.VERTICAL,
if (curFace == Constant.ID_CARD_PORTRAIT_FACE) IdentityCardType.PORTRAIT else IdentityCardType.NATIONAL_EMBLEM,
Constant.REQUEST_CODE_ID_CARD_CAPTURE
)
} catch (e: Exception) {
e.printStackTrace()
UMCrash.generateCustomLog(e,"AuthenticationException")
}
} else {
ToastUtil.showToast(activity, "请在设置里同意相关权限")
}
......@@ -369,59 +375,64 @@ class LifeAccountIDCardAuthFragmentV2 : BaseFragment<FragmentLifeAccountIdCardAu
File(cachePath + Constant.FILE_PATH_ID_CARD_NATIONAL_EMBLEM_FACE)
}
}
XInsight.identityCardVerify(
if (face == Constant.ID_CARD_PORTRAIT_FACE) IdentityCardType.PORTRAIT else IdentityCardType.NATIONAL_EMBLEM,
uploadFile,
object : IdentityCardVerifyCallBack {
override fun onSucceed(identityCardResult: IdentityCardResult?, result: String?) {
activity?.runOnUiThread {
if (face == Constant.ID_CARD_PORTRAIT_FACE) {
identityCardResult?.let { LifeAccountAuthDataManagerV2.generateIDCardPortraitFaceData(it) }
// 回显OCR结果
viewBinding.evRealName.fillEditContent(identityCardResult?.posit?.name)
viewBinding.evIdCardNumber.fillEditContent(identityCardResult?.posit?.idcard_number)
// 此时身份证人像面已上传并OCR识别完成 删除本地临时存储文件
File(cachePath + Constant.FILE_PATH_ID_CARD_PORTRAIT_FACE).apply {
if (exists()) delete()
}
// 检查下一步条件
if (authType == Constant.TYPE_AUTH_PERSONAL) {
activity?.let { (it as LifeAccountPersonalAuthActivity).checkNextCondition() }
} else {
activity?.let { (it as LifeAccountEnterpriseAuthActivity).checkNextCondition() }
}
} else {
identityCardResult?.let { LifeAccountAuthDataManagerV2.generateIDCardNationEmblemFaceData(it) }
// 此时身份证国徽面已上传并OCR识别完成 删除本地临时存储文件
File(cachePath + Constant.FILE_PATH_ID_CARD_NATIONAL_EMBLEM_FACE).apply {
if (exists()) delete()
}
// 检查下一步条件
if (authType == Constant.TYPE_AUTH_PERSONAL) {
activity?.let { (it as LifeAccountPersonalAuthActivity).checkNextCondition() }
try {
XInsight.identityCardVerify(
if (face == Constant.ID_CARD_PORTRAIT_FACE) IdentityCardType.PORTRAIT else IdentityCardType.NATIONAL_EMBLEM,
uploadFile,
object : IdentityCardVerifyCallBack {
override fun onSucceed(identityCardResult: IdentityCardResult?, result: String?) {
activity?.runOnUiThread {
if (face == Constant.ID_CARD_PORTRAIT_FACE) {
identityCardResult?.let { LifeAccountAuthDataManagerV2.generateIDCardPortraitFaceData(it) }
// 回显OCR结果
viewBinding.evRealName.fillEditContent(identityCardResult?.posit?.name)
viewBinding.evIdCardNumber.fillEditContent(identityCardResult?.posit?.idcard_number)
// 此时身份证人像面已上传并OCR识别完成 删除本地临时存储文件
File(cachePath + Constant.FILE_PATH_ID_CARD_PORTRAIT_FACE).apply {
if (exists()) delete()
}
// 检查下一步条件
if (authType == Constant.TYPE_AUTH_PERSONAL) {
activity?.let { (it as LifeAccountPersonalAuthActivity).checkNextCondition() }
} else {
activity?.let { (it as LifeAccountEnterpriseAuthActivity).checkNextCondition() }
}
} else {
activity?.let { (it as LifeAccountEnterpriseAuthActivity).checkNextCondition() }
identityCardResult?.let { LifeAccountAuthDataManagerV2.generateIDCardNationEmblemFaceData(it) }
// 此时身份证国徽面已上传并OCR识别完成 删除本地临时存储文件
File(cachePath + Constant.FILE_PATH_ID_CARD_NATIONAL_EMBLEM_FACE).apply {
if (exists()) delete()
}
// 检查下一步条件
if (authType == Constant.TYPE_AUTH_PERSONAL) {
activity?.let { (it as LifeAccountPersonalAuthActivity).checkNextCondition() }
} else {
activity?.let { (it as LifeAccountEnterpriseAuthActivity).checkNextCondition() }
}
}
}
}
}
override fun onFail(code: Int, errMsg: String?, errDomain: String?) {
override fun onFail(code: Int, errMsg: String?, errDomain: String?) {
}
}
override fun onUploadTask(positImageUrl: String?, backImageUrl: String?) {
if (face == Constant.ID_CARD_PORTRAIT_FACE) {
LifeAccountAuthDataManagerV2.personalAuthData.isIDCardPortraitFaceUpload =
true
LifeAccountAuthDataManagerV2.personalAuthData.idCardPortraitFaceUrl = positImageUrl
} else {
LifeAccountAuthDataManagerV2.personalAuthData.isIDCardNationalEmblemFaceUpload =
true
LifeAccountAuthDataManagerV2.personalAuthData.idCardNationalEmblemFaceUrl = backImageUrl
override fun onUploadTask(positImageUrl: String?, backImageUrl: String?) {
if (face == Constant.ID_CARD_PORTRAIT_FACE) {
LifeAccountAuthDataManagerV2.personalAuthData.isIDCardPortraitFaceUpload =
true
LifeAccountAuthDataManagerV2.personalAuthData.idCardPortraitFaceUrl = positImageUrl
} else {
LifeAccountAuthDataManagerV2.personalAuthData.isIDCardNationalEmblemFaceUpload =
true
LifeAccountAuthDataManagerV2.personalAuthData.idCardNationalEmblemFaceUrl = backImageUrl
}
}
}
})
})
} catch (e: Exception) {
e.printStackTrace()
UMCrash.generateCustomLog(e,"AuthenticationException")
}
}
}
......
......@@ -53,6 +53,8 @@ class ConfirmOrderActivity : BaseMvvmActivity<BorderActivityConfirmOrderBinding,
subscribeUiEvent()
initList()
getIntentData(intent)
// 页面浏览埋点
vm.commitPageBuriedPoint()
}
private fun setView() {
......@@ -104,7 +106,7 @@ class ConfirmOrderActivity : BaseMvvmActivity<BorderActivityConfirmOrderBinding,
map[IntentConstants.KEY_EXTRA_PICKUP_POINT_ID] = it
map[IntentConstants.KEY_EXTRA_MARKETING_ID] = id
XPageManager.push(XRouterPathConstants.PICKUP_POINT_ACTIVITY, map)
vm.commitClickBuriedPoint(2)
vm.commitClickBuriedPoint(1)
}
}
vm.toOrderDetailEvent.observe(this) {
......@@ -195,7 +197,6 @@ class ConfirmOrderActivity : BaseMvvmActivity<BorderActivityConfirmOrderBinding,
override fun onDoBack() {
// 返回按钮
vm.commitClickBuriedPoint(1)
XPageManager.pop(null)
}
......
......@@ -58,6 +58,7 @@ class OrderDetailActivity : BaseMvvmActivity<BorderActivityOrderDetailBinding, O
binding.ivOrderInfo.setOrderInfo(status, it)
})
binding.rlOrderDetail.autoRefresh()
vm.commitExposePageBuriedPoint()
}
private fun initSmartRefresh() {
......@@ -70,7 +71,6 @@ class OrderDetailActivity : BaseMvvmActivity<BorderActivityOrderDetailBinding, O
}
override fun onDoBack() {
// vm.commitWidgetBuriedPoint("return_key")
XPageManager.pop(null)
}
......@@ -79,7 +79,7 @@ class OrderDetailActivity : BaseMvvmActivity<BorderActivityOrderDetailBinding, O
}
override fun onGotoMarketingDetail() {
// vm.commitWidgetBuriedPoint("activity_icon")
}
override fun onApplyRefundSuccess() {
......
......@@ -86,10 +86,6 @@ class ConfirmOrderViewModel : BaseViewModel() {
calculateOriginalAmount(it.goodsList)
couponsAvailableList.value = it.couponList
calculateCouponsAvailableNum(it.couponList)
// 上传页面埋点信息
for (i in 1..3) {
commitPageBuriedPoint(i)
}
}
}
......@@ -222,7 +218,7 @@ class ConfirmOrderViewModel : BaseViewModel() {
}
}
}
commitClickBuriedPoint(3)
commitClickBuriedPoint(2)
}
/**
......@@ -269,27 +265,15 @@ class ConfirmOrderViewModel : BaseViewModel() {
* 页面浏览的埋点
* 页面可见且有业务数据时上传
*/
private fun commitPageBuriedPoint(weightKey: Int) {
fun commitPageBuriedPoint() {
// 埋点数据包装
val jsonObject = JSONObject()
jsonObject.put("eventName", "VIEW_WIDGET")
jsonObject.put("eventName", "EXPOSE_PAGE")
val contextJsonObject = JSONObject()
contextJsonObject.put("page", "ORDER_CONFIRMATION_PAGE")
jsonObject.put("contextMap", contextJsonObject)
val entitiesJsonObject = JSONObject()
val widgetInfoJsonObject = JSONObject()
widgetInfoJsonObject.put("widget_type", "BUTTON")
var weightName = ""
when (weightKey) {
1 -> weightName = "return_key"
2 -> weightName = "self_pick_up_site"
3 -> weightName = "immediate_payment"
}
widgetInfoJsonObject.put("widget_name", weightName)
entitiesJsonObject.put("widget_info", widgetInfoJsonObject)
jsonObject.put("entitiesMap", entitiesJsonObject)
val propertiesJsonObject = JSONObject()
propertiesJsonObject.put("event_id", "SHQ_R_1625560823085")
propertiesJsonObject.put("event_id", "SHQNG_R_1632389690431")
jsonObject.put("propertiesMap", propertiesJsonObject)
jsonObject.put("logType", 1)
CPointUtils.performCommitLog(jsonObject)
......@@ -298,7 +282,7 @@ class ConfirmOrderViewModel : BaseViewModel() {
/**
* 点击按钮的埋点
*
* 点击: 1.返回按钮,则上报return_key; 2.选择自提点,则上报self_pick_up_site; 3.立即支付,则上报immediate_payment
* 点击: 1)选择自提点:上报self_pick_up_site; 2)立即支付:immediate_payment.
*/
fun commitClickBuriedPoint(weightKey: Int) {
val jsonObject = JSONObject()
......@@ -311,15 +295,14 @@ class ConfirmOrderViewModel : BaseViewModel() {
widgetInfoJsonObject.put("widget_type", "BUTTON")
var weightName = ""
when (weightKey) {
1 -> weightName = "return_key"
2 -> weightName = "self_pick_up_site"
3 -> weightName = "immediate_payment"
1 -> weightName = "self_pick_up_site"
2 -> weightName = "immediate_payment"
}
widgetInfoJsonObject.put("widget_name", weightName)
entitiesJsonObject.put("widget_info", widgetInfoJsonObject)
jsonObject.put("entitiesMap", entitiesJsonObject)
val propertiesJsonObject = JSONObject()
propertiesJsonObject.put("event_id", "SHQ_R_1625456607092")
propertiesJsonObject.put("event_id", "SHQNG_R_1632389039520")
jsonObject.put("propertiesMap", propertiesJsonObject)
jsonObject.put("logType", 1)
CPointUtils.performCommitLog(jsonObject)
......
package com.yidian.shenghuoquan.buserorder.viewmodel
import android.text.TextUtils
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import com.yidian.bcommon.mvvm.BaseViewModel
......@@ -8,8 +7,6 @@ import com.yidian.bcommon.utils.CPointUtils
import com.yidian.shenghuoquan.buserorder.dto.OrderDetailDto
import com.yidian.shenghuoquan.buserorder.http.OrderRemoteDataSource
import com.yidian.shenghuoquan.buserorder.http.callback.IGetOrderDetailCallback
import com.yidian.shenghuoquan.buserorder.manager.OrderStatus
import com.yidian.shenghuoquan.buserorder.manager.OrderStatusManager
import org.json.JSONObject
import timber.log.Timber
......@@ -29,19 +26,6 @@ class OrderDetailViewModel : BaseViewModel() {
fun requestOrderDetail(orderId: String) {
OrderRemoteDataSource.getOrderDetail(object : IGetOrderDetailCallback {
override fun getOrderDetailSuccess(result: OrderDetailDto?) {
if (_orderDetailData.value == null) {
_orderDetailData.value = result
if (result == null) return
// 订单详情按钮曝光埋点只上报一次
if (!TextUtils.isEmpty(result.placeList.phone)) {
commitViewWidgetBuriedPoint("call_up")
}
commitViewWidgetBuriedPoint("contact_seller")
if (OrderStatusManager.getOrderStatus(result.orderStatus) == OrderStatus.ORDER_STATUS_PAID) {
commitViewWidgetBuriedPoint("apply_refund")
}
return
}
_orderDetailData.value = result
}
......@@ -52,88 +36,23 @@ class OrderDetailViewModel : BaseViewModel() {
}
/**
* 页面浏览的埋点
* 页面可见且有业务数据时上传
* 页面曝光埋点
*/
private fun commitPageBuriedPoint() {
val data = _orderDetailData.value
// 遍历商品列表
val skuIdStr = StringBuilder()
val skuNameStr = StringBuilder()
data?.mergeOrderItemList?.forEachIndexed { index, item ->
skuIdStr.append(item.goodsSkuId)
skuNameStr.append(item.goodsName)
if (index < data.mergeOrderItemList.size - 1) {
skuIdStr.append(",")
skuNameStr.append(",")
}
}
fun commitExposePageBuriedPoint() {
// 埋点数据包装
val jsonObject = JSONObject()
jsonObject.put("eventName", "EXPOSE_PAGE")
val contextJsonObject = JSONObject()
contextJsonObject.put("page", "ORDER_DETAIL_PAGE")
val smallOrderInfoJsonObject = JSONObject()
smallOrderInfoJsonObject.put("order_id", data?.orderId)
smallOrderInfoJsonObject.put("marketing_id", data?.marketingId)
smallOrderInfoJsonObject.put("marketing_name", data?.marketingName)
smallOrderInfoJsonObject.put("marketing_type", "SPELL_MEAL")
smallOrderInfoJsonObject.put("goods_sku_id", skuIdStr.toString())
smallOrderInfoJsonObject.put("goods_sku_name", skuNameStr.toString())
contextJsonObject.put("small_order_info", smallOrderInfoJsonObject)
jsonObject.put("contextMap", contextJsonObject)
val propertiesJsonObject = JSONObject()
propertiesJsonObject.put("event_id", "SHQNG_R_1628750600250")
propertiesJsonObject.put("event_id", "SHQNG_R_1632389947033")
jsonObject.put("propertiesMap", propertiesJsonObject)
jsonObject.put("logType", 1)
CPointUtils.performCommitLog(jsonObject)
Timber.tag("BUserOrderBuriedPoint").d("commit order detail page log: $jsonObject")
}
/**
* 点击返回按钮的埋点
*/
fun commitWidgetBuriedPoint(widgetName: String) {
val data = _orderDetailData.value
// 遍历商品列表
val skuIdStr = StringBuilder()
val skuNameStr = StringBuilder()
data?.mergeOrderItemList?.forEachIndexed { index, item ->
skuIdStr.append(item.goodsSkuId)
skuNameStr.append(item.goodsName)
if (index < data.mergeOrderItemList.size - 1) {
skuIdStr.append(",")
skuNameStr.append(",")
}
}
// 埋点数据包装
val jsonObject = JSONObject()
jsonObject.put("eventName", "CLICK_WIDGET")
val contextJsonObject = JSONObject()
contextJsonObject.put("page", "ORDER_DETAIL_PAGE")
val smallOrderInfoJsonObject = JSONObject()
smallOrderInfoJsonObject.put("order_id", data?.orderId)
smallOrderInfoJsonObject.put("marketing_id", data?.marketingId)
smallOrderInfoJsonObject.put("marketing_name", data?.marketingName)
smallOrderInfoJsonObject.put("marketing_type", "SPELL_MEAL")
smallOrderInfoJsonObject.put("goods_sku_id", skuIdStr.toString())
smallOrderInfoJsonObject.put("goods_sku_name", skuNameStr.toString())
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", widgetName)
entitiesJsonObject.put("widget_info", widgetInfoJsonObject)
jsonObject.put("entitiesMap", entitiesJsonObject)
val propertiesJsonObject = JSONObject()
propertiesJsonObject.put("event_id", "SHQNG_R_1628751452736")
jsonObject.put("propertiesMap", propertiesJsonObject)
jsonObject.put("logType", 1)
CPointUtils.performCommitLog(jsonObject)
Timber.tag("BUserOrderBuriedPoint").d("commit order detail widget log: $jsonObject")
}
/**
* 按钮点击埋点
*/
......@@ -151,31 +70,7 @@ class OrderDetailViewModel : BaseViewModel() {
entitiesJsonObject.put("widget_info", widgetInfoJsonObject)
jsonObject.put("entitiesMap", entitiesJsonObject)
val propertiesJsonObject = JSONObject()
propertiesJsonObject.put("event_id", "SHQ_R_1625468015092")
jsonObject.put("propertiesMap", propertiesJsonObject)
jsonObject.put("logType", 1)
CPointUtils.performCommitLog(jsonObject)
Timber.tag("BUserOrderBuriedPoint").d("commit order detail widget log: $jsonObject")
}
/**
* 按钮曝光埋点
*/
fun commitViewWidgetBuriedPoint(widgetName: String) {
// 埋点数据包装
val jsonObject = JSONObject()
jsonObject.put("eventName", "VIEW_WIDGET")
val contextJsonObject = JSONObject()
contextJsonObject.put("page", "ORDER_DETAIL_PAGE")
jsonObject.put("contextMap", contextJsonObject)
val entitiesJsonObject = JSONObject()
val widgetInfoJsonObject = JSONObject()
widgetInfoJsonObject.put("widget_type", "BUTTON")
widgetInfoJsonObject.put("widget_name", widgetName)
entitiesJsonObject.put("widget_info", widgetInfoJsonObject)
jsonObject.put("entitiesMap", entitiesJsonObject)
val propertiesJsonObject = JSONObject()
propertiesJsonObject.put("event_id", "SHQ_R_1625560990174")
propertiesJsonObject.put("event_id", "SHQNG_R_1632389997706")
jsonObject.put("propertiesMap", propertiesJsonObject)
jsonObject.put("logType", 1)
CPointUtils.performCommitLog(jsonObject)
......
......@@ -35,7 +35,7 @@ allprojects {
ext {
group_id = 'com.yidian.yacmodule.shenghuoquan'
artifact_id = ''
version_name = '0.0.28-SNAPSHOT'
version_name = '0.0.31-SNAPSHOT'
}
task clean(type: Delete) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment