fix: invitation

master
howell 4 years ago
parent b6061ca1c7
commit 94adb35766

@ -147,11 +147,12 @@ func WeChatInvitation(c *gin.Context) {
}
// 从微信端注册时用户邀请码默认为id时6的用户邀请码为NXR0L3
//p.InvitationNo = "NXR0L3"
// p.InvitationNo = "NXR0L3"
// 正确, 入库
var u = service.NewUserWithRedis()
userInfo, err := u.GetUserInRedis(p.WxUnionId)
userInfo.InvitationNo = p.InvitationNo
if err != nil {
if err == redis.Nil {
back.Fail(c, "用户不存在")
@ -169,6 +170,7 @@ func WeChatInvitation(c *gin.Context) {
back.Fail(c, "add error:"+err.Error())
return
}
userInfo.Nickname = tmp.Nickname
userInfo.HeadImgUrl = tmp.HeadImgUrl
userInfo.WxUnionId = tmp.WxUnionId
@ -279,6 +281,7 @@ func MobileRegister(c *gin.Context) {
var login user.Login
var info user.Information
info.InvitationNo = p.InvitationNo
// 开始添加用户
if err := registerUser.UserAdd(c, &login, &info, p.Mobile); err != nil {

@ -2,8 +2,6 @@ package service
import (
"fmt"
"github.com/gin-gonic/gin"
"github.com/golangkit/formatime"
"recook/internal/cache"
"recook/internal/dbc"
"recook/internal/define"
@ -11,6 +9,10 @@ import (
"recook/internal/service/baseCode"
"recook/tools"
"time"
"git.oa00.com/go/mysql"
"github.com/gin-gonic/gin"
"github.com/golangkit/formatime"
)
type registerUser struct {
@ -31,6 +33,20 @@ func (r *registerUser) UserAdd(c *gin.Context, login *user.Login, info *user.Inf
tx.Rollback()
return err
}
level := 0
var parentID uint = 0
if info.InvitationNo != "" {
uid := baseCode.Decode(info.InvitationNo)
if uid != 0 {
var p user.Information
mysql.Db.First(&p, "id = ?", uid)
if p.Level == 2 {
level = 1
parentID = p.ID
}
}
}
*info = user.Information{
ID: lastId,
AncestorID: 1,
@ -42,6 +58,8 @@ func (r *registerUser) UserAdd(c *gin.Context, login *user.Login, info *user.Inf
Phone: mobile,
AssessBegin: formatime.NewSecondNow(), // 第一次的起始时间是注册时间
Identifier: time.Now().Format("060102") + baseCode.Encode(uint64(lastId)),
Level: level,
ParentID: parentID,
}
if err := tx.Create(&info).Error; err != nil {

Loading…
Cancel
Save