-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconf.go
65 lines (55 loc) · 2.12 KB
/
conf.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
package database
import "fmt"
const (
DefaultElderThreshold = 100
DefaultBonusRateForReferred = 0.2 //20%
DefaultBonusForReferrer = 100
DefaultPointsForOneRound = 100.0
)
var __dbConf *FileStoreConf
type FileStoreConf struct {
ProjectID string `json:"project_id"`
DatabaseID string `json:"database_id"`
KeyFilePath string `json:"key_file_path"`
TweetsPageSize int `json:"tweets_page_size"`
LocalRun bool `json:"local_run"`
PointForPost float64 `json:"point_for_post"`
PointForVote float64 `json:"point_for_vote"`
PointForBeVote float64 `json:"point_for_be_vote"`
ElderNoFirstGot int `json:"elder_no_first_got"`
BonusForReferer float64 `json:"bonus_for_referer"`
BonusRateForReferred float64 `json:"bonus_rate_for_referred"`
RewardPointsForOneRound float64 `json:"reward_points_for_one_round"`
}
func (c *FileStoreConf) String() string {
s := "\n------file store config------"
s += "\nlocal run:" + fmt.Sprintf("%t", c.LocalRun)
s += "\nproject id:" + c.ProjectID
s += "\ndatabase id:" + c.DatabaseID
s += "\nkey path :" + c.KeyFilePath
s += "\ntweet page size :" + fmt.Sprintf("%d", c.TweetsPageSize)
s += "\npoint for vote :" + fmt.Sprintf("%d", c.PointForVote)
s += "\npoint for be voted :" + fmt.Sprintf("%d", c.PointForBeVote)
s += "\nelder threshold :" + fmt.Sprintf("%d", c.ElderNoFirstGot)
s += "\nbonus for referrer :" + fmt.Sprintf("%f", c.BonusForReferer)
s += "\nbonus rate when referred :" + fmt.Sprintf("%f", c.BonusRateForReferred)
s += "\npoint bonus for one round:" + fmt.Sprintf("%.2f", c.RewardPointsForOneRound)
s += "\n--------------------------"
return s
}
func InitConf(c *FileStoreConf) {
__dbConf = c
if c.ElderNoFirstGot == 0 {
c.ElderNoFirstGot = DefaultElderThreshold
}
if c.BonusRateForReferred <= 0.0 {
c.BonusRateForReferred = DefaultBonusRateForReferred
}
if c.BonusForReferer <= 0.0 {
c.BonusForReferer = DefaultBonusForReferrer
}
if c.RewardPointsForOneRound == 0 {
c.RewardPointsForOneRound = DefaultPointsForOneRound
}
_ = DbInst()
}