Merge branch 'add_raven' into test
This commit is contained in:
commit
e1d63b08d6
|
@ -62,13 +62,15 @@ type CreateOrderReq struct {
|
|||
WechatAuthCode string `json:"wechat_auth_code"` // 微信auth_code
|
||||
RedirectUrl string `json:"redirect_url"` // redirect_url
|
||||
Mid1 int64 `json:"mid"`
|
||||
ReturnUrl string `json:"return_url"`
|
||||
RavenQid int64 `json:"raven_qid"` // 瑞文测试id
|
||||
RavenCallback string `json:"raven_callback"` // 瑞文测试回调数据
|
||||
|
||||
CalcPrice int64 // 计算价格
|
||||
Uid int64 // 关联mid
|
||||
Oid1 string
|
||||
Oid2 string
|
||||
Oid3 string
|
||||
ReturnUrl string
|
||||
}
|
||||
|
||||
type CreateOrderData struct {
|
||||
|
|
|
@ -126,7 +126,7 @@ func CreateOrderOuter(ctx *gin.Context) {
|
|||
}
|
||||
req.Mid = 100000001
|
||||
|
||||
data, ec, err := service.DefaultService.CreateOrder(ctx, req)
|
||||
data, ec, err := service.DefaultService.CreateOrderOuter(ctx, req)
|
||||
if ec != errcode.ErrCodeVasSrvOk {
|
||||
logger.Error("CreateOrder fail, req: %v, ec: %v", util.ToJson(req), ec)
|
||||
if ec == errcode.ErrCodeVasSrvFail && err != nil {
|
||||
|
|
|
@ -1,14 +1,18 @@
|
|||
package logic
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"crypto/rand"
|
||||
"crypto/rsa"
|
||||
"crypto/x509"
|
||||
"database/sql"
|
||||
"encoding/base64"
|
||||
"encoding/json"
|
||||
"encoding/pem"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"service/api/base"
|
||||
"service/api/errs"
|
||||
"service/api/message/response"
|
||||
|
@ -208,6 +212,9 @@ func (v *Vas) CreateOrder(ctx *gin.Context, req *vasproto.CreateOrderReq) (data
|
|||
// 邀请人
|
||||
case dbstruct.ProductIdMembership:
|
||||
req.Uid, _ = v.account.GetInviterMid(ctx, req.Mid)
|
||||
case dbstruct.ProductIdOuterRaven:
|
||||
req.Oid1 = fmt.Sprintf("%d", req.RavenQid)
|
||||
req.Oid2 = req.RavenCallback
|
||||
}
|
||||
|
||||
// 获取商品
|
||||
|
@ -1736,6 +1743,9 @@ func (v *Vas) PayCallback(ctx *gin.Context, p *vasproto.PayCallbackParamIn) erro
|
|||
logger.Error("UnlockZoneSuperfanship fail, order: %v, err: %v", util.ToJson(order), err)
|
||||
return err
|
||||
}
|
||||
case product.Id == dbstruct.ProductIdOuterRaven:
|
||||
notifyRavenDY(order.GetOid2())
|
||||
return nil
|
||||
}
|
||||
|
||||
// 是否达到铁粉解锁条件
|
||||
|
@ -1747,6 +1757,35 @@ func (v *Vas) PayCallback(ctx *gin.Context, p *vasproto.PayCallbackParamIn) erro
|
|||
return nil
|
||||
}
|
||||
|
||||
func notifyRavenDY(callback string) {
|
||||
url := "https://analytics.oceanengine.com/api/v2/conversion"
|
||||
req := map[string]interface{}{
|
||||
"event_type": "successful_pay",
|
||||
"context": map[string]interface{}{
|
||||
"ad": map[string]interface{}{
|
||||
"callback": callback,
|
||||
},
|
||||
},
|
||||
"timestamp": time.Now().UnixMilli(),
|
||||
}
|
||||
reqBs, _ := json.Marshal(req)
|
||||
resp, err := http.Post(url, "application/json", bytes.NewReader(reqBs))
|
||||
if err != nil {
|
||||
logger.Error("%v fail, req: %v, err: %v", url, string(reqBs), err)
|
||||
return
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
// 读取响应内容
|
||||
body, err := ioutil.ReadAll(resp.Body)
|
||||
if err != nil {
|
||||
logger.Error("%v read fail, req: %v, body: %v, err: %v", url, string(reqBs), string(body), err)
|
||||
return
|
||||
}
|
||||
logger.Info("notifyRavenDY ok, req: %v, resp: %v", string(reqBs), string(body))
|
||||
return
|
||||
}
|
||||
|
||||
func (v *Vas) GetCoinOrderById(ctx *gin.Context, id string) (*dbstruct.CoinOrder, error) {
|
||||
return v.store.GetCoinOrderById(ctx, nil, id)
|
||||
}
|
||||
|
|
|
@ -1142,6 +1142,16 @@ func (s *Service) CreateOrder(ctx *gin.Context, req *vasproto.CreateOrderReq) (d
|
|||
return
|
||||
}
|
||||
|
||||
func (s *Service) CreateOrderOuter(ctx *gin.Context, req *vasproto.CreateOrderReq) (data *vasproto.CreateOrderData, ec errcode.ErrCode, err error) {
|
||||
data, err = _DefaultVas.CreateOrder(ctx, req)
|
||||
ec, err = errs.DealVasErr(err)
|
||||
if err != nil {
|
||||
logger.Error("CreateOrder fail, err: %v", err)
|
||||
return
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
func (s *Service) OpCreateOrder(ctx *gin.Context, req *vasproto.OpCreateOrderReq) (ec errcode.ErrCode) {
|
||||
err := _DefaultVas.OpCreateOrder(ctx, req)
|
||||
ec, err = errs.DealVasErr(err)
|
||||
|
|
Loading…
Reference in New Issue