module_dictionary.go
6.6 KB
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
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
package allied_creation_basic
import (
"fmt"
"github.com/linmadan/egglib-go/utils/json"
"strconv"
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/log"
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/infrastructure/service_gateway"
)
//GetDictionarysByCode 根据code获取字典数据
func (gateway HttplibAlliedCreationBasic) GetDictionarysByCode(param ReqGetDictionaryByCode) (*DataGetDictionaryByCode, error) {
url := gateway.baseUrL + "/dictionarys/dictionary-code"
method := "post"
req := gateway.CreateRequest(url, method)
//TODO traceID
log.Logger.Debug("向基础模块请求数据:根据code获取字典数据。", map[string]interface{}{
"api": method + ":" + url,
"param": param,
})
req, err := req.JSONBody(param)
if err != nil {
return nil, fmt.Errorf("请求字典数据失败:%w", err)
}
byteResult, err := req.Bytes()
if err != nil {
return nil, fmt.Errorf("获取字典数据失败:%w", err)
}
log.Logger.Debug("获取基础模块响应数据:根据code获取字典数据。", map[string]interface{}{
"result": string(byteResult),
})
var result service_gateway.GatewayResponse
err = json.Unmarshal(byteResult, &result)
if err != nil {
return nil, fmt.Errorf("解析字典数据失败:%w", err)
}
var data DataGetDictionaryByCode
err = gateway.GetResponseData(result, &data)
return &data, err
}
//DictionaryAdd 添加字典
func (gateway HttplibAlliedCreationBasic) DictionaryAdd(param ReqDictionaryAdd) (*DataDictionaryAdd, error) {
url := gateway.baseUrL + "/dictionarys"
method := "post"
req := gateway.CreateRequest(url, method)
//TODO traceID
log.Logger.Debug("向基础模块请求数据:添加字典。", map[string]interface{}{
"api": method + ":" + url,
"param": param,
})
req, err := req.JSONBody(param)
if err != nil {
return nil, fmt.Errorf("请求添加字典失败:%w", err)
}
byteResult, err := req.Bytes()
if err != nil {
return nil, fmt.Errorf("获取添加字典数据失败:%w", err)
}
log.Logger.Debug("获取基础模块响应数据:添加字典数据。", map[string]interface{}{
"result": string(byteResult),
})
var result service_gateway.GatewayResponse
err = json.Unmarshal(byteResult, &result)
if err != nil {
return nil, fmt.Errorf("解析添加字典数据失败:%w", err)
}
var data DataDictionaryAdd
err = gateway.GetResponseData(result, &data)
return &data, err
}
//DictionaryUpdate 更新字典
func (gateway HttplibAlliedCreationBasic) DictionaryUpdate(param ReqDictionaryUpdate) (*DataDictionaryUpdate, error) {
url := gateway.baseUrL + "/dictionarys/" + strconv.Itoa(int(param.DictionaryId))
method := "PUT"
req := gateway.CreateRequest(url, method)
//TODO traceID
log.Logger.Debug("向基础模块请求数据:更新字典。", map[string]interface{}{
"api": method + ":" + url,
"param": param,
})
req, err := req.JSONBody(param)
if err != nil {
return nil, fmt.Errorf("请求更新字典失败:%w", err)
}
byteResult, err := req.Bytes()
if err != nil {
return nil, fmt.Errorf("获取更新字典数据失败:%w", err)
}
log.Logger.Debug("获取基础模块响应数据:更新字典数据。", map[string]interface{}{
"result": string(byteResult),
})
var result service_gateway.GatewayResponse
err = json.Unmarshal(byteResult, &result)
if err != nil {
return nil, fmt.Errorf("解析更新字典数据失败:%w", err)
}
var data DataDictionaryUpdate
err = gateway.GetResponseData(result, &data)
return &data, err
}
//DictionaryGet 获取字典
func (gateway HttplibAlliedCreationBasic) DictionaryGet(param ReqDictionaryGet) (*DataDictionaryGet, error) {
url := gateway.baseUrL + "/dictionarys/" + strconv.Itoa(int(param.DictionaryId))
method := "GET"
req := gateway.CreateRequest(url, method)
//TODO traceID
log.Logger.Debug("向基础模块请求数据:获取字典。", map[string]interface{}{
"api": method + ":" + url,
"param": param,
})
req, err := req.JSONBody(param)
if err != nil {
return nil, fmt.Errorf("请求获取字典失败:%w", err)
}
byteResult, err := req.Bytes()
if err != nil {
return nil, fmt.Errorf("获取字典数据失败:%w", err)
}
log.Logger.Debug("获取基础模块响应数据:获取字典数据。", map[string]interface{}{
"result": string(byteResult),
})
var result service_gateway.GatewayResponse
err = json.Unmarshal(byteResult, &result)
if err != nil {
return nil, fmt.Errorf("解析获取字典数据失败:%w", err)
}
var data DataDictionaryGet
err = gateway.GetResponseData(result, &data)
return &data, err
}
//DictionaryRemove 删除字典
func (gateway HttplibAlliedCreationBasic) DictionaryRemove(param ReqDictionaryRemove) (*DataDictionaryRemove, error) {
url := gateway.baseUrL + "/dictionarys/remove"
method := "DELETE"
req := gateway.CreateRequest(url, method)
//TODO traceID
log.Logger.Debug("向基础模块请求数据:删除字典。", map[string]interface{}{
"api": method + ":" + url,
"param": param,
})
req, err := req.JSONBody(param)
if err != nil {
return nil, fmt.Errorf("请求删除字典失败:%w", err)
}
byteResult, err := req.Bytes()
if err != nil {
return nil, fmt.Errorf("获取删除字典失败:%w", err)
}
log.Logger.Debug("获取基础模块响应数据:删除字典。", map[string]interface{}{
"result": string(byteResult),
})
var result service_gateway.GatewayResponse
err = json.Unmarshal(byteResult, &result)
if err != nil {
return nil, fmt.Errorf("解析删除字典数据失败:%w", err)
}
var data DataDictionaryRemove
err = gateway.GetResponseData(result, &data)
return &data, err
}
//DictionarySearch 查询字典
func (gateway HttplibAlliedCreationBasic) DictionarySearch(param ReqDictionarySearch) (*DataDictionarySearch, error) {
url := gateway.baseUrL + "/dictionarys/search"
method := "POST"
req := gateway.CreateRequest(url, method)
//TODO traceID
log.Logger.Debug("向基础模块请求数据:查询字典。", map[string]interface{}{
"api": method + ":" + url,
"param": param,
})
req, err := req.JSONBody(param)
if err != nil {
return nil, fmt.Errorf("请求查询字典失败:%w", err)
}
byteResult, err := req.Bytes()
if err != nil {
return nil, fmt.Errorf("获取查询字典失败:%w", err)
}
log.Logger.Debug("获取基础模块响应数据:查询字典。", map[string]interface{}{
"result": string(byteResult),
})
var result service_gateway.GatewayResponse
err = json.Unmarshal(byteResult, &result)
if err != nil {
return nil, fmt.Errorf("解析查询字典失败:%w", err)
}
var data DataDictionarySearch
err = gateway.GetResponseData(result, &data)
return &data, err
}