Sobes.tech
Senior

func (r *PayoutRepository) Payout(advertiserID, partnerID string, amount float32) error { advertiser, err := r.find(totalPayouts) // գործարք ավելացնել եթե սխալ != ոչ { վերադարձնել սխալ } գործընկեր, սխալ := r.find(partnerID) եթե սխալ != ոչ { վերադարձնել սխալ } գովազդատու, Բալանս -= գումար գործընկեր.Hold -= գումար գործընկեր.Бalance += գումար եթե սխալ := r.save(գովազդատու); սխալ != ոչ { վերադարձնել սխալ } եթե սխալ := r.save(գործընկեր); սխալ != ոչ { վերադարձնել սխալ } r.totalPayouts++ վերադարձնել ոչ } ֆունկցիա (r *PayoutRepository) find(id string) (Partner, սխալ) { p := Partner{} սխալ := r.db.QueryRow("SELECT * FROM partners WHERE id = " + id).Scan(&p) // $1 ավելացնել եթե սխալ != ոչ { եթե սխալ == sql.ErrNoRows { վերադարձնել p, errors.New("գործընկերը չի գտնվել") } վերադարձնել p, սխալ } վերադարձնել p, ոչ }