/
cmiot_utils.go
138 lines (130 loc) · 3.41 KB
/
cmiot_utils.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
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
package cmiot_v2
import (
"crypto/sha256"
"encoding/hex"
"strings"
)
func getSHA256HashCode(message []byte) string {
//方法一:
//创建一个基于SHA256算法的hash.Hash接口的对象
hash := sha256.New()
//输入数据
hash.Write(message)
//计算哈希值
bytes := hash.Sum(nil)
//将字符串编码为16进制格式,返回字符串
hashCode := strings.ToLower(hex.EncodeToString(bytes))
//返回哈希值
return hashCode
//方法二:
//bytes2:=sha256.Sum256(message)//计算哈希值,返回一个长度为32的数组
//hashcode2:=hex.EncodeToString(bytes2[:])//将数组转换成切片,转换成16进制,返回字符串
//return hashcode2
}
func getApiNameByEBID(ebid string) string {
switch ebid {
case EBID_gprsrealsingle:
return "gprsrealsingle"
case EBID_userstatusrealsingle:
return "userstatusrealsingle"
case EBID_cardinfo:
return "cardinfo"
case EBID_gprsusedinfosingle:
return "gprsusedinfosingle"
case EBID_onandoffrealsingle:
return "onandoffrealsingle"
//case EBID_batchsmsusedbydate:
// return "batchsmsusedbydate"
//case EBID_batchgprsusedbydate:
// return "batchgprsusedbydate"
case EBID_balancerealsingle:
return "balancerealsingle"
//case EBID_smsusedinfosingle:
// return "smsusedinfosingle"
//case EBID_smsstatusreset:
// return "smsstatusreset"
case EBID_groupuserinfo:
return "groupuserinfo"
//case EBID_smsusedbydate:
// return "smsusedbydate"
case EBID_gprsrealtimeinfo:
return "gprsrealtimeinfo"
case EBID_arrearageuserinfo:
return "arrearageuserinfo"
//case EBID_querycardprodinfo:
// return "querycardprodinfo"
case EBID_gprsusedinfosinglebydate:
return "gprsusedinfosinglebydate"
case EBID_querycardcount:
return "querycardcount"
case EBID_queryabnormalcardcount:
return "queryabnormalcardcount"
//case EBID_querygprsonlinecardcount:
// return "querygprsonlinecardcount"
//case EBID_querysmsopenstatus:
// return "querysmsopenstatus"
//case EBID_querygprsopenstatus:
// return "querygprsopenstatus"
//case EBID_queryapnopenstatus:
// return "queryapnopenstatus"
case EBID_querycardlifecycle:
return "querycardlifecycle"
//case EBID_useropenservice:
// return "useropenservice"
//case EBID_querygroupuserchangenum:
// return "querygroupuserchangenum"
//case EBID_querycardopentime:
// return "querycardopentime"
//case EBID_batchquerycardinfo:
// return "batchquerycardinfo"
//case EBID_batchquerycardlifecycle:
// return "batchquerycardlifecycle"
//case EBID_batchquerymonthsmsinfo:
// return "batchquerymonthsmsinfo"
//case EBID_batchqueryrealtimegprsinfo:
// return "batchqueryrealtimegprsinfo"
//case EBID_querygprsshareused:
// return "querygprsshareused"
//case EBID_batchquerygprsshareused:
// return "batchquerygprsshareused"
default:
return ""
}
}
func buildUrl(ebid string) string {
apiName := getApiNameByEBID(ebid)
return APIBASE + apiName
}
func GetCardStatusPB(cardStatus string) string {
switch cardStatus {
case "00":
return "正常"
case "01":
return "单向停机"
case "02":
return "停机"
case "03":
return "预销号"
case "04":
return "销号"
case "05":
return "过户"
case "06":
return "休眠"
case "07":
return "待激活"
case "99":
return "号码不存在"
default:
return ""
}
}
func encodeQuery(query interface{}) (string, error) {
var qry string
q := newQueryEncode(nil)
if err := qryEncode(query, q); err != nil {
return "", err
}
qry = q.end()
return qry, nil
}