package handler import ( "math/rand" "server/common" "server/db" "server/modules/backend/values" "server/modules/web/app" "time" "github.com/gin-gonic/gin" "gorm.io/gorm" ) type LuckyCodeResp struct { Code int } func GetLuckyCode(c *gin.Context) { a := app.NewApp(c) defer func() { a.ResponseB() }() resp := &LuckyCodeResp{} a.Data = resp date := time.Now().Format("20060102") data := &common.ActivityLuckyCode{Date: date} err := db.Mysql().Get(data) resp.Code = data.Code if err == gorm.ErrRecordNotFound { code := rand.Intn(90000) + 10000 db.Mysql().Create(&common.ActivityLuckyCode{Date: date, Code: code, Type: common.LuckyCodeTypeNormal}) resp.Code = code } else if err != nil { a.Code = values.CodeRetry return } }