fix: invitation

master
howell 4 years ago
parent 8156555ba9
commit d8d620f607

@ -10,7 +10,6 @@ import (
"recook/internal/model/promotion"
"recook/internal/model/user"
"recook/internal/model/vend"
"recook/internal/service/baseCode"
"recook/internal/v2/lib/jcook"
"recook/internal/v2/lib/shama"
"recook/internal/v2/model/flashsale"
@ -65,7 +64,10 @@ func CreatePreviewNormalOrder(c *gin.Context) {
sharerId := myInfo.ID
if p.InvitationNo != "" {
sharerId = uint(baseCode.Decode(p.InvitationNo))
var shareUser user.Information
dbc.DB.First(&shareUser, "invitation_no=?", p.InvitationNo)
// sharerId = uint(baseCode.Decode(p.InvitationNo))
sharerId = shareUser.ID
}
if sharerId == 0 {
sharerId = myInfo.ID

@ -36,7 +36,10 @@ func (r *registerUser) UserAdd(c *gin.Context, login *user.Login, info *user.Inf
level := 0
var parentID uint = 0
if info.InvitationNo != "" {
uid := baseCode.Decode(info.InvitationNo)
var shareUser user.Information
// uid := baseCode.Decode(info.InvitationNo)
mysql.Db.First(&shareUser, "invitation_no=?", info.InvitationNo)
uid := shareUser.ID
if uid != 0 {
var p user.Information
mysql.Db.First(&p, "id = ?", uid)

@ -32,6 +32,14 @@ func Encode(uid uint64) string {
return res
}
func ReverseString(str string) string {
strArr := []rune(str)
for i := 0; i < len(strArr)/2; i++ {
strArr[len(strArr)-1-i], strArr[i] = strArr[i], strArr[len(strArr)-1-i]
}
return string(strArr)
}
func Decode(code string) uint64 {
res := uint64(0)
lenCode := len(code)
@ -41,16 +49,16 @@ func Decode(code string) uint64 {
baseRev[v] = k
}
// 查找补位字符的位置
isPad := strings.Index(code, PAD)
isPad := strings.Index(ReverseString(code), PAD)
if isPad != -1 {
lenCode = isPad
lenCode = len(code) - 1 - isPad
}
r := 0
for i := 0; i < lenCode; i++ {
// 补充字符直接跳过
if string(code[i]) == PAD {
continue
}
// if string(code[i]) == PAD {
// continue
// }
index, ok := baseRev[code[i]]
if !ok {
return 0

Loading…
Cancel
Save