Ajutor la interviu
Pregătirea interviului
Reluați
Căutare de locuri de muncă
Resurse
Abonament
RO
Telegramă
Autentificare
Deschide meniul
Ajutor la interviu
Asistent AI
Extensia browser
Resurse
Descărcați
Întrebări frecvente / Ajutor
Pregătirea interviului
Banca de întrebări
Interviu banca
Interviuri simulate
Mentori
Resurse
Întrebări frecvente / Ajutor
Căutare de locuri de muncă
Automatizare căutare locuri de muncă
Analiza pietei
Locuri de muncă din Telegram
Resurse
Cariere
Blog
Întrebări frecvente / Documentație
Blog Telegram
Suport Telegram
Legal
Rambursare
Termeni
Confidențialitate
Titularii de drepturi
Înapoi la întrebări
Banca de întrebări
Golang - Dezvoltator
Întrebare
Senior
func (r *PayoutRepository) Payout(advertiserID, partnerID string, amount float32) error { advertiser, err := r.find(totalPayouts) // adăugați o tranzacție if err != nil { return err } partner, err := r.find(partnerID) if err != nil { return err } advertiser.Balance -= amount partner.Hold -= amount partner.Balance += amount if err := r.save(advertiser); err != nil { return err } if err := r.save(partner); err != nil { return err } r.totalPayouts++ return nil } func (r *PayoutRepository) find(id string) (Partner, error) { p := Partner{} err := r.db.QueryRow("SELECT * FROM partners WHERE id = " + id).Scan(&p) // adăugați $1 if err != nil { if err == sql.ErrNoRows { return p, errors.New("partener necunoscut") } return p, err } return p, nil }
Marcați ca finalizat
Anterior
În continuare