大使任务逻辑
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
package svc
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
ea "github.com/earn-alliance/earnalliance-go"
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
"github.com/zeromicro/go-zero/core/stores/redis"
|
||||
@@ -34,6 +36,7 @@ type ServiceContext struct {
|
||||
GamePitModel model.NhGamePitModel
|
||||
StakePropertyModel model.NhNftStakePropertyModel
|
||||
EmailRewardModel model.NhEmailRewardModel
|
||||
AmbassadorModel model.NhTaskAmbassadorModel
|
||||
|
||||
ApiKeyCheck rest.Middleware
|
||||
AdminSecretCheck rest.Middleware
|
||||
@@ -68,6 +71,7 @@ func NewServiceContext(c config.Config) *ServiceContext {
|
||||
GamePitModel: model.NewNhGamePitModel(dbConn),
|
||||
StakePropertyModel: model.NewNhNftStakePropertyModel(dbConn),
|
||||
EmailRewardModel: model.NewNhEmailRewardModel(dbConn),
|
||||
AmbassadorModel: model.NewNhTaskAmbassadorModel(dbConn),
|
||||
|
||||
ApiKeyCheck: middleware.NewApiKeyCheckMiddleware(configModel).Handle,
|
||||
AdminSecretCheck: middleware.NewAdminSecretCheckMiddleware(configModel).Handle,
|
||||
@@ -85,3 +89,32 @@ func (s *ServiceContext) Close() {
|
||||
}
|
||||
s.Earn.Close()
|
||||
}
|
||||
|
||||
func (s *ServiceContext) IsAmbassador(ctx context.Context, uid uint, stage int8) bool {
|
||||
u, err := s.UserModel.FindOne(ctx, uid)
|
||||
if err != nil {
|
||||
if !errors.Is(err, model.ErrNotFound) {
|
||||
logx.Errorw("find user error", logx.Field("err", err), logx.Field("uid", uid), logx.Field("stage", stage))
|
||||
}
|
||||
return false
|
||||
}
|
||||
_, err = s.AmbassadorModel.FindOneByEmailStage(ctx, u.Email, stage)
|
||||
if err != nil {
|
||||
if !errors.Is(err, model.ErrNotFound) {
|
||||
logx.Errorw("find ambassador error", logx.Field("err", err), logx.Field("uid", uid), logx.Field("stage", stage))
|
||||
}
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
func (s *ServiceContext) HasBindTwitter(ctx context.Context, uid uint) bool {
|
||||
tw, err := s.TwitterModel.FindOneByUid(ctx, uid)
|
||||
if err != nil {
|
||||
if !errors.Is(err, model.ErrNotFound) {
|
||||
logx.Errorw("find twitter error", logx.Field("err", err), logx.Field("uid", uid))
|
||||
}
|
||||
return false
|
||||
}
|
||||
return tw.TwitterId != ""
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user