From 2001383f0f7c8cde0d01d0264c2555495c1b563e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Tue, 17 Nov 2020 11:59:02 +0800 Subject: [PATCH] popcode --- business/jxstore/cms/user2.go | 22 ++++++++++++++++++++-- business/model/user.go | 1 + 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/business/jxstore/cms/user2.go b/business/jxstore/cms/user2.go index d5a555336..1fe38393b 100644 --- a/business/jxstore/cms/user2.go +++ b/business/jxstore/cms/user2.go @@ -225,9 +225,16 @@ func CreateUser(user *model.User, creatorName string) (err error) { dao.WrapAddIDCULDEntity(user, creatorName) user.UserID = utils.GetUUID() user.Status = model.UserStatusNormal - // user.DividePercentage = 1 //推广码 - user.PopCode = jxutils.GenRandomString(6) + popCode := "" + for { + popCode = jxutils.GenRandomString(6) + user, _ := dao.GetUserByID(dao.GetDB(), "pop_code", popCode) + if user == nil { + user.PopCode = popCode + break + } + } return dao.CreateEntity(nil, user) } @@ -613,6 +620,17 @@ func UpdateUser(ctx *jxcontext.Context, payload map[string]interface{}) (err err return err } } + //暂时用这个字段作为更新他的推广人 + if payload["popCode"] != nil { + if user, err := dao.GetUserByID(db, "pop_code", payload["popCode"].(string)); err == nil { + if user != nil { + payload["popUser"] = user.UserID + delete(payload, "popCode") + } else { + return fmt.Errorf("未查询到此推广人!%v", payload["popCode"]) + } + } + } valid := dao.StrictMakeMapByStructObject(payload, user, ctx.GetUserName()) if len(valid) > 0 { dao.Begin(db) diff --git a/business/model/user.go b/business/model/user.go index ae6a0eac5..5b8d0207d 100644 --- a/business/model/user.go +++ b/business/model/user.go @@ -57,6 +57,7 @@ type User struct { LastLoginIP string `orm:"size(64);column(last_login_ip)" json:"lastLoginIP"` LastLoginType string `orm:"size(16)" json:"lastLoginType"` PopCode string `json:"popCode"` //推广码 + PopUser string `json:"popUser"` //推广人 } func (*User) TableUnique() [][]string {