pdd
This commit is contained in:
@@ -3,6 +3,7 @@ package cms
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"git.rosy.net.cn/baseapi/platformapi/tbunionapi"
|
||||
"math"
|
||||
"strings"
|
||||
"sync"
|
||||
@@ -1967,25 +1968,54 @@ func GetUnionActList(ctx *jxcontext.Context, vendorID, actType int) (actList []*
|
||||
|
||||
func ShareUnionLink(ctx *jxcontext.Context, jobID, shareType, linkType int) (link string, err error) {
|
||||
var (
|
||||
job = &model.Job{}
|
||||
db = dao.GetDB()
|
||||
sid string //推广位ID,美团为userID,淘宝饿了么本地化暂时是固定的京西推广位ID,pdd为表中推广位ID
|
||||
job = &model.Job{}
|
||||
db = dao.GetDB()
|
||||
sid string //推广位ID,美团为userID,淘宝饿了么本地化暂时是固定的京西推广位ID,pdd为表中推广位ID
|
||||
userID = ctx.GetUserID()
|
||||
userBinds []*model.UserUnionBind
|
||||
)
|
||||
job.ID = jobID
|
||||
if err = dao.GetEntity(db, job); err != nil {
|
||||
return "", err
|
||||
}
|
||||
vendorID := job.VendorID
|
||||
handler := partner.GetHandler(vendorID)
|
||||
//1、建推广位(本地和平台)
|
||||
|
||||
if userBinds, err = dao.GetUserUnionBind(db, userID, vendorID); err != nil {
|
||||
return "", err
|
||||
}
|
||||
//本地已有推广位
|
||||
if len(userBinds) > 0 {
|
||||
sid = userBinds[0].UnionID
|
||||
} else {
|
||||
userBind := &model.UserUnionBind{
|
||||
UserID: userID,
|
||||
VendorID: vendorID,
|
||||
}
|
||||
dao.WrapAddIDCULDEntity(userBind, ctx.GetUserName())
|
||||
if handler != nil {
|
||||
if sid, err = handler.CreateUnionPosition(ctx, userID); err == nil {
|
||||
if sid == "" {
|
||||
sid = userID
|
||||
if vendorID == model.VendorIDTB {
|
||||
sid = utils.Int2Str(tbunionapi.JxAdzoneID)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
userBind.UnionID = sid
|
||||
dao.CreateEntity(db, userBind)
|
||||
}
|
||||
//2、分享链接
|
||||
if handler := partner.GetHandler(job.VendorID); handler != nil {
|
||||
link, err = handler.ShareUnionLink(ctx, linkType, job.UnionActID, sid, ctx.GetUserID())
|
||||
if job.VendorID == model.VendorIDMTWM || job.VendorID == model.VendorIDTB {
|
||||
if linkType == partner.LinkTypeWeiXinMini {
|
||||
if resBinary, _, err := jxutils.DownloadFileByURL(link + "?imageView2/1/w/150/h/150/q/75"); err == nil {
|
||||
if downloadURL, err := jxutils.UploadExportContent(resBinary, utils.Int64ToStr(time.Now().Unix())+link[strings.LastIndex(link, "/")+1:len(link)]); err == nil {
|
||||
if err == nil {
|
||||
link = jxutils.MixWatermarkImg(downloadURL, job.UnionImg, job.UnionQrcodePosition)
|
||||
if handler != nil {
|
||||
if link, err = handler.ShareUnionLink(ctx, linkType, job.UnionActID, sid, userID); err == nil {
|
||||
if vendorID == model.VendorIDMTWM || vendorID == model.VendorIDTB {
|
||||
if linkType == partner.LinkTypeWeiXinMini {
|
||||
if resBinary, _, err := jxutils.DownloadFileByURL(link + "?imageView2/1/w/150/h/150/q/75"); err == nil {
|
||||
if downloadURL, err := jxutils.UploadExportContent(resBinary, utils.Int64ToStr(time.Now().Unix())+link[strings.LastIndex(link, "/")+1:len(link)]); err == nil {
|
||||
if err == nil {
|
||||
link = jxutils.MixWatermarkImg(downloadURL, job.UnionImg, job.UnionQrcodePosition)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user