fix: INVITE USER

This commit is contained in:
lianghuanjie
2025-01-06 19:45:03 +08:00
parent af258d2207
commit c540744176
12 changed files with 344 additions and 39 deletions

View File

@@ -5,6 +5,7 @@ import (
"github.com/shopspring/decimal"
"nova_task/internal/model"
"nova_task/internal/pkg/errs"
"strings"
"nova_task/internal/svc"
"nova_task/internal/types"
@@ -28,14 +29,18 @@ func NewAddEmailRewardLogic(ctx context.Context, svcCtx *svc.ServiceContext) *Ad
}
func (l *AddEmailRewardLogic) AddEmailReward(req *types.EmailReward) error {
_, err := l.svcCtx.EmailRewardModel.Insert(l.ctx, &model.NhEmailReward{
Email: req.Email,
RewardType: req.RewardType,
Value: decimal.NewFromFloat(req.Value),
})
if err != nil {
l.Errorw("add email reward failed", logx.Field("err", err), logx.Field("email", req.Email))
return errs.New(errs.ErrDatabaseOperate, err)
emails := strings.Split(req.Email, ";")
for _, email := range emails {
_, err := l.svcCtx.EmailRewardModel.Insert(l.ctx, &model.NhEmailReward{
Email: email,
RewardType: req.RewardType,
Value: decimal.NewFromFloat(req.Value),
Remark: req.Remark,
})
if err != nil {
l.Errorw("add email reward failed", logx.Field("err", err), logx.Field("email", req.Email))
return errs.New(errs.ErrDatabaseOperate, err)
}
}
return errs.Success()

View File

@@ -35,6 +35,7 @@ func (l *SendEmailRewardLogic) SendEmailReward() error {
}
if len(rewards) <= 0 {
l.Infow("no email reward to send")
return errs.Success()
}
@@ -66,6 +67,8 @@ func (l *SendEmailRewardLogic) SendEmailReward() error {
}
if err != nil {
l.Errorw("add asset failed", logx.Field("err", err), logx.Field("uid", u.Id), logx.Field("rewardType", rw.RewardType), logx.Field("value", rw.Value))
} else {
l.Infow("add asset success", logx.Field("uid", u.Id), logx.Field("rewardType", rw.RewardType), logx.Field("value", rw.Value))
}
_, err = l.svcCtx.TaskAssetRecordModel.Insert(ctx, &model.NhTaskAssetRecord{
Uid: int(u.Id),
@@ -80,5 +83,5 @@ func (l *SendEmailRewardLogic) SendEmailReward() error {
}
})
return nil
return errs.Success()
}

View File

@@ -72,6 +72,15 @@ func (l *VerifyTaskResultLogic) VerifyTaskResult(req *types.VerifyTaskResultReq)
if tw.TwitterId == "" {
return &types.VerifyTaskResultResp{Finish: false}, nil
}
case model.TASKTYPE_INVITE_USER:
count, err := l.svcCtx.PromoteBindModel.UserInviteCount(l.ctx, uint(uid))
if err != nil {
l.Errorw("get user invite count failed", logx.Field("err", err), logx.Field("uid", uid))
return nil, errs.New(errs.ErrDatabaseOperate, err)
}
if count < cast.ToInt64(task.Param) {
return &types.VerifyTaskResultResp{Finish: false}, nil
}
case model.TASKTYPE_BIND_DISCORD:
case model.TASKTYPE_DAILY_PAY: