This repository has been archived by the owner on Sep 3, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 18
/
database.go
80 lines (66 loc) · 1.87 KB
/
database.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
package main
import (
"fmt"
"time"
"github.com/kristjank/ark-go/cmd/model"
"github.com/kristjank/ark-go/core"
log "github.com/sirupsen/logrus"
"github.com/spf13/viper"
)
func save2db(ve core.DelegateDataProfit, tx *core.Transaction, relID int) {
dbData := model.PaymentLogRecord{}
dbData.Address = ve.Address
dbData.VoteWeight = ve.VoteWeight
dbData.VoteWeightShare = ve.VoteWeightShare
dbData.EarnedAmount100 = ve.EarnedAmount100
dbData.EarnedAmountXX = ve.EarnedAmountXX
dbData.VoteDuration = ve.VoteDuration
dbData.Transaction = *tx
dbData.PaymentRecordID = relID
dbData.CreatedAt = time.Now()
err := arkpooldb.Save(&dbData)
if err != nil {
log.Error(err.Error())
}
}
func listPaymentsDetailsFromDB() {
var results []model.PaymentLogRecord
err := arkpooldb.All(&results)
if err != nil {
log.Error(err.Error())
return
}
for _, element := range results {
fmt.Println(element)
}
}
func listPaymentsDB() {
var results []model.PaymentRecord
err := arkpooldb.All(&results)
if err != nil {
log.Error(err.Error())
return
}
for _, element := range results {
fmt.Println(element)
}
}
func createPaymentRecord() model.PaymentRecord {
delegateAddress := viper.GetString("delegate.address")
if viper.GetString("client.network") == "DEVNET" {
delegateAddress = viper.GetString("delegate.Daddress")
}
payRec := model.PaymentRecord{
ShareRatio: viper.GetFloat64("voters.shareratio"),
CostsRatio: viper.GetFloat64("costs.shareratio"),
PersonalRatio: viper.GetFloat64("personal.shareratio"),
ReserveRatio: viper.GetFloat64("reserve.shareratio"),
CreatedAt: time.Now(),
FeeDeduction: viper.GetBool("voters.deductTxFees"),
Fidelity: viper.GetBool("voters.fidelity"),
FidelityLimit: viper.GetInt("voters.fidelityLimit"),
MinAmount: viper.GetFloat64("voters.minamount"),
Delegate: delegateAddress,
}
return payRec
}