1
|
|
|
package backcard |
2
|
|
|
|
3
|
|
|
import ( |
4
|
|
|
"net" |
5
|
|
|
"net/http" |
6
|
|
|
"sort" |
7
|
|
|
"time" |
8
|
|
|
) |
9
|
|
|
|
10
|
|
|
const CreditCard = "信用卡" |
11
|
|
|
const DebitCard = "储蓄卡" |
12
|
|
|
const SemiCreditCard = "准贷记卡" |
13
|
|
|
const PrepaymentCard = "预付费卡" |
14
|
|
|
|
15
|
|
|
const CreditCardShort = "CC" |
16
|
|
|
const DebitCardShort = "DC" |
17
|
|
|
const SemiCreditCardShort = "SCC" |
18
|
|
|
const PrepaymentCardShort = "PC" |
19
|
|
|
|
20
|
|
|
var bankCardTypeMap = map[string]string{ |
21
|
|
|
CreditCardShort: CreditCard, |
22
|
|
|
DebitCardShort: DebitCard, |
23
|
|
|
SemiCreditCardShort: SemiCreditCard, |
24
|
|
|
PrepaymentCardShort: PrepaymentCard, |
25
|
|
|
} |
26
|
|
|
|
27
|
|
|
const bankImageUrl = "https://apimg.alipay.com/combo.png?d=cashier&t=%s" //bank image |
28
|
|
|
const getBankInfo = "https://ccdcapi.alipay.com/validateAndCacheCardInfo.json?%s" //get bank info |
29
|
|
|
|
30
|
|
|
var commonHttpClient5s = &http.Client{ |
31
|
|
|
Timeout: 5 * time.Second, |
32
|
|
|
Transport: &http.Transport{ |
33
|
|
|
MaxIdleConns: 500, |
34
|
|
|
MaxIdleConnsPerHost: 200, |
35
|
|
|
|
36
|
|
|
DialContext: (&net.Dialer{ |
37
|
|
|
Timeout: 30 * time.Second, |
38
|
|
|
KeepAlive: 30 * time.Second, |
39
|
|
|
DualStack: true, |
40
|
|
|
}).DialContext, |
41
|
|
|
ForceAttemptHTTP2: true, |
42
|
|
|
IdleConnTimeout: 90 * time.Second, |
43
|
|
|
TLSHandshakeTimeout: 10 * time.Second, |
44
|
|
|
ExpectContinueTimeout: 1 * time.Second, |
45
|
|
|
}, |
46
|
|
|
} |
47
|
|
|
|
48
|
|
|
var bankFullNameMap = map[string]string{} |
49
|
|
|
|
50
|
|
|
var bankShortNameMap = map[string]string{ |
51
|
|
|
"ABC": "中国农业银行", |
52
|
|
|
"ARCU": "安徽省农村信用社", |
53
|
|
|
"ASCB": "鞍山银行", |
54
|
|
|
"AYCB": "安阳银行", |
55
|
|
|
"BANKWF": "潍坊银行", |
56
|
|
|
"BGB": "广西北部湾银行", |
57
|
|
|
"BHB": "河北银行", |
58
|
|
|
"BJBANK": "北京银行", |
59
|
|
|
"BJRCB": "北京农村商业银行", |
60
|
|
|
"BOC": "中国银行", |
61
|
|
|
"BOCD": "承德银行", |
62
|
|
|
"BOCY": "朝阳银行", |
63
|
|
|
"BOD": "东莞银行", |
64
|
|
|
"BODD": "丹东银行", |
65
|
|
|
"BOHAIB": "渤海银行", |
66
|
|
|
"BOJZ": "锦州银行", |
67
|
|
|
"BOP": "平顶山银行", |
68
|
|
|
"BOQH": "青海银行", |
69
|
|
|
"BOSZ": "苏州银行", |
70
|
|
|
"BOYK": "营口银行", |
71
|
|
|
"BOZK": "周口银行", |
72
|
|
|
"BSB": "包商银行", |
73
|
|
|
"BZMD": "驻马店银行", |
74
|
|
|
"CBBQS": "城市商业银行资金清算中心", |
75
|
|
|
"CBKF": "开封市商业银行", |
76
|
|
|
"CCB": "中国建设银行", |
77
|
|
|
"CCQTGB": "重庆三峡银行", |
78
|
|
|
"CDB": "国家开发银行", |
79
|
|
|
"CDCB": "成都银行", |
80
|
|
|
"CDRCB": "成都农商银行", |
81
|
|
|
"CEB": "中国光大银行", |
82
|
|
|
"CGNB": "南充市商业银行", |
83
|
|
|
"CIB": "兴业银行", |
84
|
|
|
"CITIC": "中信银行", |
85
|
|
|
"CMB": "招商银行", |
86
|
|
|
"CMBC": "中国民生银行", |
87
|
|
|
"COMM": "交通银行", |
88
|
|
|
"CQBANK": "重庆银行", |
89
|
|
|
"CRCBANK": "重庆农村商业银行", |
90
|
|
|
"CSCB": "长沙银行", |
91
|
|
|
"CSRCB": "常熟农村商业银行", |
92
|
|
|
"CZBANK": "浙商银行", |
93
|
|
|
"CZCB": "浙江稠州商业银行", |
94
|
|
|
"CZRCB": "常州农村信用联社", |
95
|
|
|
"DAQINGB": "龙江银行", |
96
|
|
|
"DLB": "大连银行", |
97
|
|
|
"DRCBCL": "东莞农村商业银行", |
98
|
|
|
"DYCB": "德阳商业银行", |
99
|
|
|
"DYCCB": "东营市商业银行", |
100
|
|
|
"DZBANK": "德州银行", |
101
|
|
|
"EGBANK": "恒丰银行", |
102
|
|
|
"FDB": "富滇银行", |
103
|
|
|
"FJHXBC": "福建海峡银行", |
104
|
|
|
"FJNX": "福建省农村信用社联合社", |
105
|
|
|
"FSCB": "抚顺银行", |
106
|
|
|
"FXCB": "阜新银行", |
107
|
|
|
"GCB": "广州银行", |
108
|
|
|
"GDB": "广东发展银行", |
109
|
|
|
"GDRCC": "广东省农村信用社联合社", |
110
|
|
|
"GLBANK": "桂林银行", |
111
|
|
|
"GRCB": "广州农商银行", |
112
|
|
|
"GSRCU": "甘肃省农村信用", |
113
|
|
|
"GXRCU": "广西省农村信用", |
114
|
|
|
"GYCB": "贵阳市商业银行", |
115
|
|
|
"GZB": "赣州银行", |
116
|
|
|
"GZRCU": "贵州省农村信用社", |
117
|
|
|
"H3CB": "内蒙古银行", |
118
|
|
|
"HANABANK": "韩亚银行", |
119
|
|
|
"HBC": "湖北银行", |
120
|
|
|
"HBHSBANK": "湖北银行黄石分行", |
121
|
|
|
"HBRCU": "河北省农村信用社", |
122
|
|
|
"HBYCBANK": "湖北银行宜昌分行", |
123
|
|
|
"HDBANK": "邯郸银行", |
124
|
|
|
"HKB": "汉口银行", |
125
|
|
|
"HKBEA": "东亚银行", |
126
|
|
|
"HNRCC": "湖南省农村信用社", |
127
|
|
|
"HNRCU": "河南省农村信用", |
128
|
|
|
"HRXJB": "华融湘江银行", |
129
|
|
|
"HSBANK": "徽商银行", |
130
|
|
|
"HSBK": "衡水银行", |
131
|
|
|
"HURCB": "湖北省农村信用社", |
132
|
|
|
"HXBANK": "华夏银行", |
133
|
|
|
"HZCB": "杭州银行", |
134
|
|
|
"HZCCB": "湖州市商业银行", |
135
|
|
|
"ICBC": "中国工商银行", |
136
|
|
|
"JHBANK": "金华银行", |
137
|
|
|
"JINCHB": "晋城银行JCBANK", |
138
|
|
|
"JJBANK": "九江银行", |
139
|
|
|
"JLBANK": "吉林银行", |
140
|
|
|
"JLRCU": "吉林农信", |
141
|
|
|
"JNBANK": "济宁银行", |
142
|
|
|
"JRCB": "江苏江阴农村商业银行", |
143
|
|
|
"JSB": "晋商银行", |
144
|
|
|
"JSBANK": "江苏银行", |
145
|
|
|
"JSRCU": "江苏省农村信用联合社", |
146
|
|
|
"JXBANK": "嘉兴银行", |
147
|
|
|
"JXRCU": "江西省农村信用", |
148
|
|
|
"JZBANK": "晋中市商业银行", |
149
|
|
|
"KLB": "昆仑银行", |
150
|
|
|
"KORLABANK": "库尔勒市商业银行", |
151
|
|
|
"KSRB": "昆山农村商业银行", |
152
|
|
|
"LANGFB": "廊坊银行", |
153
|
|
|
"LSBANK": "莱商银行", |
154
|
|
|
"LSBC": "临商银行", |
155
|
|
|
"LSCCB": "乐山市商业银行", |
156
|
|
|
"LYBANK": "洛阳银行", |
157
|
|
|
"LYCB": "辽阳市商业银行", |
158
|
|
|
"LZYH": "兰州银行", |
159
|
|
|
"MTBANK": "浙江民泰商业银行", |
160
|
|
|
"NBBANK": "宁波银行", |
161
|
|
|
"NBYZ": "鄞州银行", |
162
|
|
|
"NCB": "南昌银行", |
163
|
|
|
"NHB": "南海农村信用联社", |
164
|
|
|
"NHQS": "农信银清算中心", |
165
|
|
|
"NJCB": "南京银行", |
166
|
|
|
"NXBANK": "宁夏银行", |
167
|
|
|
"NXRCU": "宁夏黄河农村商业银行", |
168
|
|
|
"NYBANK": "广东南粤银行", |
169
|
|
|
"ORBANK": "鄂尔多斯银行", |
170
|
|
|
"PSBC": "中国邮政储蓄银行", |
171
|
|
|
"QDCCB": "青岛银行", |
172
|
|
|
"QLBANK": "齐鲁银行", |
173
|
|
|
"SCCB": "三门峡银行", |
174
|
|
|
"SCRCU": "四川省农村信用", |
175
|
|
|
"SDEB": "顺德农商银行", |
176
|
|
|
"SDRCU": "山东农信", |
177
|
|
|
"SHBANK": "上海银行", |
178
|
|
|
"SHRCB": "上海农村商业银行", |
179
|
|
|
"SJBANK": "盛京银行", |
180
|
|
|
"SPABANK": "平安银行", |
181
|
|
|
"SPDB": "上海浦东发展银行", |
182
|
|
|
"SRBANK": "上饶银行", |
183
|
|
|
"SRCB": "深圳农村商业银行", |
184
|
|
|
"SXCB": "绍兴银行", |
185
|
|
|
"SXRCCU": "陕西信合", |
186
|
|
|
"SZSBK": "石嘴山银行", |
187
|
|
|
"TACCB": "泰安市商业银行", |
188
|
|
|
"TCCB": "天津银行", |
189
|
|
|
"TCRCB": "江苏太仓农村商业银行", |
190
|
|
|
"TRCB": "天津农商银行", |
191
|
|
|
"TZCB": "台州银行", |
192
|
|
|
"URMQCCB": "乌鲁木齐市商业银行", |
193
|
|
|
"WHCCB": "威海市商业银行", |
194
|
|
|
"WHRCB": "武汉农村商业银行", |
195
|
|
|
"WJRCB": "吴江农商银行", |
196
|
|
|
"WRCB": "无锡农村商业银行", |
197
|
|
|
"WZCB": "温州银行", |
198
|
|
|
"XABANK": "西安银行", |
199
|
|
|
"XCYH": "许昌银行", |
200
|
|
|
"XJRCU": "新疆农村信用社", |
201
|
|
|
"XLBANK": "中山小榄村镇银行", |
202
|
|
|
"XMBANK": "厦门银行", |
203
|
|
|
"XTB": "邢台银行", |
204
|
|
|
"XXBANK": "新乡银行", |
205
|
|
|
"XYBANK": "信阳银行", |
206
|
|
|
"YBCCB": "宜宾市商业银行", |
207
|
|
|
"YDRCB": "尧都农商行", |
208
|
|
|
"YNRCC": "云南省农村信用社", |
209
|
|
|
"YQCCB": "阳泉银行", |
210
|
|
|
"YXCCB": "玉溪市商业银行", |
211
|
|
|
"ZBCB": "齐商银行", |
212
|
|
|
"ZGCCB": "自贡市商业银行", |
213
|
|
|
"ZJKCCB": "张家口市商业银行", |
214
|
|
|
"ZJNX": "浙江省农村信用社联合社", |
215
|
|
|
"ZJTLCB": "浙江泰隆商业银行", |
216
|
|
|
"ZRCBANK": "张家港农村商业银行", |
217
|
|
|
"ZYCBANK": "遵义市商业银行", |
218
|
|
|
"ZZBANK": "郑州银行", |
219
|
|
|
} |
220
|
|
|
|
221
|
|
|
func BankNameList() []string { |
222
|
|
|
banks := make([]string, 0, len(bankShortNameMap)) |
223
|
|
|
for _, bankName := range bankShortNameMap { |
224
|
|
|
banks = append(banks, bankName) |
225
|
|
|
} |
226
|
|
|
sort.Strings(banks) |
227
|
|
|
return banks |
228
|
|
|
} |
229
|
|
|
|
230
|
|
|
func BankNameMapList() map[string]string { |
231
|
|
|
return bankShortNameMap |
232
|
|
|
} |
233
|
|
|
|