From 0236502d1d3ac8b84244e6bd72dfc7bd670ae5dc Mon Sep 17 00:00:00 2001 From: howell <2827207845@qq.com> Date: Fri, 10 Dec 2021 16:25:46 +0800 Subject: [PATCH] fix: user_id --- internal/libs/snow/snow.go | 8 +++++ internal/service/app/register.go | 19 +++++----- internal/v2/controller/task/jcook.go | 52 ++++++++++++++-------------- 3 files changed, 44 insertions(+), 35 deletions(-) diff --git a/internal/libs/snow/snow.go b/internal/libs/snow/snow.go index e5d56c3..2b82d58 100644 --- a/internal/libs/snow/snow.go +++ b/internal/libs/snow/snow.go @@ -8,6 +8,7 @@ import ( var OrderWorker *Worker var AfsWorker *Worker +var UserWorker *Worker var once sync.Once func GetOrderWorker() *Worker { @@ -24,6 +25,13 @@ func GetAfsWorker() *Worker { return AfsWorker } +func GetUserWorker() *Worker { + once.Do(func() { + UserWorker = NewWorker(1, 3) + }) + return UserWorker +} + const ( workerIDBits = uint64(4) businessIDBits = uint64(4) diff --git a/internal/service/app/register.go b/internal/service/app/register.go index 545f278..370d51c 100644 --- a/internal/service/app/register.go +++ b/internal/service/app/register.go @@ -4,10 +4,10 @@ import ( "fmt" "github.com/gin-gonic/gin" "github.com/golangkit/formatime" - "recook/internal/back" "recook/internal/cache" "recook/internal/dbc" "recook/internal/define" + "recook/internal/libs/snow" "recook/internal/model/user" "recook/internal/service/baseCode" "recook/tools" @@ -26,15 +26,16 @@ func (r *registerUser) UserAdd(c *gin.Context, login *user.Login, info *user.Inf DB := dbc.DB tx := DB.Begin() { - sql := `select max(id)+floor(1+rand()*5) from recook_user_info` - var lastId uint - if err := tx.Raw(sql).Count(&lastId).Error; err != nil { - back.Err(c, err.Error()) - tx.Rollback() - return err - } + lastId, _ := snow.GetUserWorker().NextID() + //sql := `select max(id)+floor(1+rand()*5) from recook_user_info` + //var lastId uint + //if err := tx.Raw(sql).Count(&lastId).Error; err != nil { + // back.Err(c, err.Error()) + // tx.Rollback() + // return err + //} *info = user.Information{ - ID: lastId, + ID: uint(lastId), AncestorID: 1, Nickname: "瑞库客" + mobile[7:], Mobile: mobile, diff --git a/internal/v2/controller/task/jcook.go b/internal/v2/controller/task/jcook.go index 22f5789..c73f8d8 100644 --- a/internal/v2/controller/task/jcook.go +++ b/internal/v2/controller/task/jcook.go @@ -183,37 +183,37 @@ func SyncPageData(page, size uint, categories []RecookJCookCategory) error { for _, v := range ids { result[v] = true } - for _, v := range bes { - for _, k := range v.BrotherSkuIDs { - result[k] = true - } - } - after := make([]uint, 0) - after2 := make([][]uint, 0) - for k := range result { - after = append(after, k) - } - total := len(after) - start := 0 - step := 20 - for { - if start >= total { - break - } - if total-start < step { - step = total - start - } - after2 = append(after2, after[start:start+step]) - start = start + step - } + //for _, v := range bes { + // for _, k := range v.BrotherSkuIDs { + // result[k] = true + // } + //} + //after := make([]uint, 0) + //after2 := make([][]uint, 0) + //for k := range result { + // after = append(after, k) + //} + //total := len(after) + //start := 0 + //step := 20 + //for { + // if start >= total { + // break + // } + // if total-start < step { + // step = total - start + // } + // after2 = append(after2, after[start:start+step]) + // start = start + step + //} - for _, v := range after2 { - if len(v) == 0 { + for _, v := range bes { + if len(v.BrotherSkuIDs) == 0 { continue } var res []jcook.SkuDetailResp rq2 := jcook.SkuDetailReq{ - SkuIDSet: v, + SkuIDSet: v.BrotherSkuIDs, } if err := c.Exec(rq2, &res); err != nil { return err