-
Notifications
You must be signed in to change notification settings - Fork 338
/
global.go
115 lines (105 loc) · 3.25 KB
/
global.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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
// Package models
// 全局变量
package models
import (
"encoding/json"
"io/ioutil"
"time"
"github.com/axiaoxin-com/investool/datacenter/eastmoney"
"github.com/axiaoxin-com/logging"
)
var (
// StockIndustryList 东方财富股票行业列表
StockIndustryList []string
// FundTypeList 基金类型列表
FundTypeList []string
// Fund4433TypeList 4433基金类型列表
Fund4433TypeList []string
// FundAllList 全量基金列表
FundAllList FundList
// Fund4433List 满足4433法则的基金列表
Fund4433List FundList
// FundManagers 基金经理列表
FundManagers eastmoney.FundManagerInfoList
// SyncFundTime 基金数据同步时间
SyncFundTime = time.Now()
// RawFundAllListFilename api返回的原始结果
RawFundAllListFilename = "./eastmoney_funds_list.json"
// FundAllListFilename 基金列表数据文件
FundAllListFilename = "./fund_all_list.json"
// Fund4433ListFilename 4433基金列表数据文件
Fund4433ListFilename = "./fund_4433_list.json"
// IndustryListFilename 行业列表数据文件
IndustryListFilename = "./industry_list.json"
// FundTypeListFilename 基金类型数据文件
FundTypeListFilename = "./fund_type_list.json"
// FundManagersFilename 基金经理数据文件
FundManagersFilename = "./fund_managers.json"
// AAACompanyBondSyl AAA公司债当期收益率
AAACompanyBondSyl = -1.0 // datacenter.ChinaBond.QueryAAACompanyBondSyl(context.Background())
)
// InitGlobalVars 初始化全局变量
func InitGlobalVars() {
if err := InitIndustryList(); err != nil {
logging.Error(nil, "init models global vars error:"+err.Error())
}
if err := InitFundAllList(); err != nil {
logging.Error(nil, "init models global vars error:"+err.Error())
}
if err := InitFund4433List(); err != nil {
logging.Error(nil, "init models global vars error:"+err.Error())
}
if err := InitFundTypeList(); err != nil {
logging.Error(nil, "init models global vars error:"+err.Error())
}
if err := InitFundManagers(); err != nil {
logging.Error(nil, "init models global vars error:"+err.Error())
}
// 更新同步时间
SyncFundTime = time.Now()
}
// InitIndustryList 初始化行业列表
func InitIndustryList() error {
indlist, err := ioutil.ReadFile(IndustryListFilename)
if err != nil {
return err
}
return json.Unmarshal(indlist, &StockIndustryList)
}
// InitFundAllList 从json文件加载基金列表
func InitFundAllList() error {
fundlist, err := ioutil.ReadFile(FundAllListFilename)
if err != nil {
return err
}
return json.Unmarshal(fundlist, &FundAllList)
}
// InitFund4433List 从json文件加载基金列表
func InitFund4433List() error {
fundlist, err := ioutil.ReadFile(Fund4433ListFilename)
if err != nil {
return err
}
if err := json.Unmarshal(fundlist, &Fund4433List); err != nil {
return err
}
Fund4433List.Sort(FundSortTypeWeek)
Fund4433TypeList = Fund4433List.Types()
return nil
}
// InitFundTypeList 从json文件加载基金类型
func InitFundTypeList() error {
types, err := ioutil.ReadFile(FundTypeListFilename)
if err != nil {
return err
}
return json.Unmarshal(types, &FundTypeList)
}
// InitFundManagers 初始化基金经理列表
func InitFundManagers() error {
m, err := ioutil.ReadFile(FundManagersFilename)
if err != nil {
return err
}
return json.Unmarshal(m, &FundManagers)
}