diff --git a/business/jxstore/cms/job.go b/business/jxstore/cms/job.go index 2eeb46f3f..211cab057 100644 --- a/business/jxstore/cms/job.go +++ b/business/jxstore/cms/job.go @@ -1983,9 +1983,10 @@ func ShareUnionLink(ctx *jxcontext.Context, jobID, shareType, linkType, resource return "", err } vendorID := job.VendorID + unionID := mobile + utils.Int2Str(jobID) handler := partner.GetHandler(vendorID) //1、建推广位(本地和平台) - if userBinds, err = dao.GetUserUnionBind(db, userID, vendorID); err != nil { + if userBinds, err = dao.GetUserUnionBind(db, userID, vendorID, unionID); err != nil { return "", err } //本地已有推广位 @@ -1998,9 +1999,9 @@ func ShareUnionLink(ctx *jxcontext.Context, jobID, shareType, linkType, resource } dao.WrapAddIDCULDEntity(userBind, ctx.GetUserName()) if handler != nil { - if sid, err = handler.CreateUnionPosition(ctx, mobile+utils.Int2Str(jobID)); err == nil { + if sid, err = handler.CreateUnionPosition(ctx, unionID); err == nil { if sid == "" { - sid = mobile + utils.Int2Str(jobID) + sid = unionID if vendorID == model.VendorIDTB { sid = utils.Int2Str(tbunionapi.JxAdzoneID) } diff --git a/business/model/dao/dao_user.go b/business/model/dao/dao_user.go index 2b3865d95..e2b3cbb6e 100644 --- a/business/model/dao/dao_user.go +++ b/business/model/dao/dao_user.go @@ -394,7 +394,7 @@ func GetUserAllWaitRealCashPrice(db *DaoDB, userID string) (price int, err error err = GetRow(db, &result, sql, sqlParams) return result.Price, err } -func GetUserUnionBind(db *DaoDB, userID string, vendorID int) (userBinds []*model.UserUnionBind, err error) { +func GetUserUnionBind(db *DaoDB, userID string, vendorID int, unionID string) (userBinds []*model.UserUnionBind, err error) { sql := ` SELECT * FROM user_union_bind WHERE deleted_at = ? ` @@ -409,6 +409,10 @@ func GetUserUnionBind(db *DaoDB, userID string, vendorID int) (userBinds []*mode sql += " AND vendor_id = ?" sqlParams = append(sqlParams, vendorID) } + if unionID != "" { + sql += " AND union_id = ?" + sqlParams = append(sqlParams, unionID) + } err = GetRows(db, &userBinds, sql, sqlParams) return userBinds, err } diff --git a/business/model/user.go b/business/model/user.go index f7d626afd..37d23d5d0 100644 --- a/business/model/user.go +++ b/business/model/user.go @@ -287,6 +287,6 @@ type UserUnionBind struct { func (v *UserUnionBind) TableUnique() [][]string { return [][]string{ - []string{"UserID", "VendorID"}, + []string{"UserID", "VendorID", "UnionID"}, } }