升级至8069版本:版本号更新/代理配置系统/红包计时埋点/长连接重构/回调修复
This commit is contained in:
@@ -1480,7 +1480,9 @@ func (wxqi *WXReqInvoker) SendOpenRedEnvelopesRequest(hbItem *baseinfo.HongBaoIt
|
||||
hongBaoReceiverItem.InWay = baseinfo.MMHongBaoReqInAwayPersonal
|
||||
}
|
||||
// 发送接收红包请求
|
||||
recvReqStartMs := time.Now().UnixMilli()
|
||||
packHeader, err := clientsdk.SendReceiveWxHB(wxqi.wxconn.GetWXAccount().GetUserInfo(), hongBaoReceiverItem)
|
||||
recvReqEndMs := time.Now().UnixMilli()
|
||||
if err != nil {
|
||||
if packHeader != nil && packHeader.RetCode == baseinfo.MMRequestRetSessionTimeOut {
|
||||
// token登陆
|
||||
@@ -1489,25 +1491,52 @@ func (wxqi *WXReqInvoker) SendOpenRedEnvelopesRequest(hbItem *baseinfo.HongBaoIt
|
||||
return nil, err
|
||||
}
|
||||
var hongbaoResp wechat.HongBaoRes
|
||||
parseRespStartMs := time.Now().UnixMilli()
|
||||
errs := clientsdk.ParseResponseData(tmpUserInfo, packHeader, &hongbaoResp)
|
||||
parseRespEndMs := time.Now().UnixMilli()
|
||||
|
||||
if errs != nil {
|
||||
return nil, errs
|
||||
}
|
||||
// 解析
|
||||
retHongBaoReceiveResp := &baseinfo.HongBaoReceiverResp{}
|
||||
unmarshalRecvStartMs := time.Now().UnixMilli()
|
||||
err = json.Unmarshal(hongbaoResp.GetRetText().GetBuffer(), retHongBaoReceiveResp)
|
||||
unmarshalRecvEndMs := time.Now().UnixMilli()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
// 发送给微信消息处理器 打开红包
|
||||
openReqStartMs := time.Now().UnixMilli()
|
||||
rsp, er := wxqi.SendOpenWxHBNewRequest(hbItem, retHongBaoReceiveResp.TimingIdentifier)
|
||||
openReqEndMs := time.Now().UnixMilli()
|
||||
if er != nil {
|
||||
return nil, er
|
||||
}
|
||||
|
||||
wxqi.SendOpenHBMsgToSelf(rsp, hbItem)
|
||||
wxqi.ThanksHB(rsp)
|
||||
var data RedPacket
|
||||
if rsp != nil {
|
||||
_ = json.Unmarshal(rsp.RetText.Buffer, &data)
|
||||
}
|
||||
nowMs := time.Now().UnixMilli()
|
||||
if hbItem != nil && hbItem.RecvAtMs > 0 && data.Retcode == 0 && data.ReceiveStatus == 2 {
|
||||
detectToEnqueue := hbItem.EnqueueAtMs - hbItem.RecvAtMs
|
||||
enqueueToDequeue := hbItem.DequeueAtMs - hbItem.EnqueueAtMs
|
||||
dequeueToRecvStart := recvReqStartMs - hbItem.DequeueAtMs
|
||||
recvNet := recvReqEndMs - recvReqStartMs
|
||||
parseResp := parseRespEndMs - parseRespStartMs
|
||||
unmarshalRecv := unmarshalRecvEndMs - unmarshalRecvStartMs
|
||||
openNet := openReqEndMs - openReqStartMs
|
||||
openDoneMs := openReqEndMs - hbItem.RecvAtMs
|
||||
totalMs := nowMs - hbItem.RecvAtMs
|
||||
fmt.Printf("红包耗时 total=%dms open=%dms detect->enqueue=%dms enqueue->dequeue=%dms dequeue->recvStart=%dms recvNet=%dms parse=%dms recvUnmarshal=%dms openNet=%dms sendid=%s isGroup=%d fromUser=%s\n",
|
||||
totalMs, openDoneMs, detectToEnqueue, enqueueToDequeue, dequeueToRecvStart, recvNet, parseResp, unmarshalRecv, openNet, data.SendId, hbItem.IsGroup, hbItem.FromUserName)
|
||||
}
|
||||
|
||||
// go func() {
|
||||
// wxqi.SendOpenHBMsgToSelf(rsp, hbItem)
|
||||
// wxqi.ThanksHB(rsp)
|
||||
// }()
|
||||
return rsp, nil
|
||||
}
|
||||
|
||||
@@ -2052,12 +2081,16 @@ func (wxqi *WXReqInvoker) SendOpenWxHBNewRequest(hbItem *baseinfo.HongBaoItem, t
|
||||
|
||||
var packHeader *baseinfo.PackHeader
|
||||
var err error
|
||||
openSendStartMs := time.Now().UnixMilli()
|
||||
openPath := "openwxhb"
|
||||
if hongBaoOpenItem.SceneID == 1005 {
|
||||
hongBaoOpenItem.CgiCmd = 5148 // 这里是pb字段的cgicmd 抓包得到
|
||||
packHeader, err = clientsdk.SendOpenUninoHB(wxqi.wxconn.GetWXAccount().GetUserInfo(), hongBaoOpenItem)
|
||||
openPath = "openunionhb"
|
||||
} else {
|
||||
packHeader, err = clientsdk.SendOpenWxHB(wxqi.wxconn.GetWXAccount().GetUserInfo(), hongBaoOpenItem)
|
||||
}
|
||||
openSendEndMs := time.Now().UnixMilli()
|
||||
|
||||
if err != nil {
|
||||
if packHeader != nil && packHeader.RetCode == baseinfo.MMRequestRetSessionTimeOut {
|
||||
@@ -2069,12 +2102,17 @@ func (wxqi *WXReqInvoker) SendOpenWxHBNewRequest(hbItem *baseinfo.HongBaoItem, t
|
||||
//wechat.HongBaoRes{}
|
||||
// 解析获取联系人响应
|
||||
resp := new(wechat.HongBaoRes)
|
||||
openParseStartMs := time.Now().UnixMilli()
|
||||
err = clientsdk.ParseResponseData(tmpUserInfo, packHeader, resp)
|
||||
openParseEndMs := time.Now().UnixMilli()
|
||||
if err != nil {
|
||||
// token登陆
|
||||
wxqi.wxconn.SendAutoAuthWaitingMinutes(4)
|
||||
return nil, err
|
||||
}
|
||||
if hbItem != nil && hbItem.RecvAtMs > 0 {
|
||||
fmt.Printf("红包open阶段 send=%dms parse=%dms path=%s cgi=%d scene=%d\n", openSendEndMs-openSendStartMs, openParseEndMs-openParseStartMs, openPath, hongBaoOpenItem.CgiCmd, hongBaoOpenItem.SceneID)
|
||||
}
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user