package validevents import ( "joybuywork/internal/repository/model" "joybuywork/internal/repository/mtype" "joybuywork/internal/service/provider/players" ) type sign struct { base } func (s *sign) Install(helper, beHelper *model.FissionUser) (setHelp bool, err error) { tasks, setHelp, err := s._getInstallTasks(helper.CampaignID) if err != nil { return } // 只要是拉来新安装都算助力成功了 if len(tasks) == 0 { return true, nil } err = s._fixTaskDo(beHelper, tasks) if err != nil { return } return } func (s *sign) _fixTaskDo(user *model.FissionUser, tasks []*model.FissionCampaignTask) (err error) { signP, err := players.NewSign(s.Ctx, user) if err != nil { return } if len(tasks) == 0 { return } for _, task := range tasks { switch task.PropMark { case mtype.FissionCampaignTaskPropMarkChance: err = s._taskEffectDo(user, task, func() (err error) { return signP.GetSignCard(task.Num) }) if err != nil { return } } } return }