You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
898 B
Go
48 lines
898 B
Go
package campaignnotice
|
|
|
|
import (
|
|
"joybuywork/internal/repository/cache"
|
|
"joybuywork/internal/repository/dbcheck"
|
|
"joybuywork/internal/service/provider/players"
|
|
"joybuywork/internal/service/queue/types"
|
|
"joybuywork/internal/utils/logic"
|
|
)
|
|
|
|
type SettlementReward struct {
|
|
logic.Logic
|
|
|
|
Req *types.CampaignSettlementReward
|
|
}
|
|
|
|
func (s *SettlementReward) Exec() (err error) {
|
|
|
|
m := s.GetDao().FissionVsVoteSettlement
|
|
slt, err := m.WithContext(s.Ctx).Where(m.ID.Eq(s.Req.SettlementId)).Take()
|
|
if err = dbcheck.DbError(err); err != nil {
|
|
err = s.BE().MysqlError(err)
|
|
return
|
|
}
|
|
|
|
if slt == nil {
|
|
return
|
|
}
|
|
|
|
user, err := cache.NewFissionUser(s.Ctx, slt.CampaignID).FindById(slt.UserID)
|
|
if err != nil {
|
|
err = s.BE().CacheError(err)
|
|
return
|
|
}
|
|
|
|
vs, err := players.NewVs(s.Ctx, user)
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
_, err = vs.SettlementReward(slt)
|
|
if err != nil {
|
|
return
|
|
}
|
|
|
|
return
|
|
}
|