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
25c80da1
Commit
25c80da1
authored
Oct 13, 2021
by
shiyl
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/dev_fight_order_point' into develop
parents
cdde4cb1
e9571a6b
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
108 additions
and
207 deletions
+108
-207
HttpResultObserver.kt
...c/main/java/com/yidian/bcommon/http/HttpResultObserver.kt
+4
-2
HttpResultSubscriber.kt
...main/java/com/yidian/bcommon/http/HttpResultSubscriber.kt
+6
-2
BNAHttpReqService.kt
...huoquan/bgeneralbusiness/service/net/BNAHttpReqService.kt
+6
-5
BNARemoteDataSource.kt
...oquan/bgeneralbusiness/service/net/BNARemoteDataSource.kt
+12
-8
LifeAccountIDCardAuthFragmentV2.kt
...bmanagercenter/ui/auth/LifeAccountIDCardAuthFragmentV2.kt
+62
-51
ConfirmOrderActivity.kt
...yidian/shenghuoquan/buserorder/ui/ConfirmOrderActivity.kt
+3
-2
OrderDetailActivity.kt
.../yidian/shenghuoquan/buserorder/ui/OrderDetailActivity.kt
+2
-2
ConfirmOrderViewModel.kt
...henghuoquan/buserorder/viewmodel/ConfirmOrderViewModel.kt
+8
-25
OrderDetailViewModel.kt
...shenghuoquan/buserorder/viewmodel/OrderDetailViewModel.kt
+4
-109
build.gradle
build.gradle
+1
-1
No files found.
CommonLib/BCommon/src/main/java/com/yidian/bcommon/http/HttpResultObserver.kt
View file @
25c80da1
...
...
@@ -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
?:
"网络请求失败"
)
}
}
}
}
...
...
CommonLib/BCommon/src/main/java/com/yidian/bcommon/http/HttpResultSubscriber.kt
View file @
25c80da1
...
...
@@ -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
)
}
}
}
}
...
...
Components/BGeneralBusiness/src/main/java/com/yidian/shenghuoquan/bgeneralbusiness/service/net/BNAHttpReqService.kt
View file @
25c80da1
...
...
@@ -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
->
{
...
...
Components/BGeneralBusiness/src/main/java/com/yidian/shenghuoquan/bgeneralbusiness/service/net/BNARemoteDataSource.kt
View file @
25c80da1
...
...
@@ -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
)
}
...
...
Components/BManagerCenter/src/main/java/com/yidian/shenghuoquan/bmanagercenter/ui/auth/LifeAccountIDCardAuthFragmentV2.kt
View file @
25c80da1
...
...
@@ -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"
)
}
}
}
...
...
Components/BUserOrder/src/main/java/com/yidian/shenghuoquan/buserorder/ui/ConfirmOrderActivity.kt
View file @
25c80da1
...
...
@@ -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
)
}
...
...
Components/BUserOrder/src/main/java/com/yidian/shenghuoquan/buserorder/ui/OrderDetailActivity.kt
View file @
25c80da1
...
...
@@ -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
()
{
...
...
Components/BUserOrder/src/main/java/com/yidian/shenghuoquan/buserorder/viewmodel/ConfirmOrderViewModel.kt
View file @
25c80da1
...
...
@@ -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"
,
"SHQ
NG_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"
,
"SHQ
NG_R_1632389039520
"
)
jsonObject
.
put
(
"propertiesMap"
,
propertiesJsonObject
)
jsonObject
.
put
(
"logType"
,
1
)
CPointUtils
.
performCommitLog
(
jsonObject
)
...
...
Components/BUserOrder/src/main/java/com/yidian/shenghuoquan/buserorder/viewmodel/OrderDetailViewModel.kt
View file @
25c80da1
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_16
28750600250
"
)
propertiesJsonObject
.
put
(
"event_id"
,
"SHQNG_R_16
32389947033
"
)
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
)
...
...
build.gradle
View file @
25c80da1
...
...
@@ -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
)
{
...
...
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