module_org.go
8.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
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
package allied_creation_user
import (
"encoding/json"
"fmt"
"strconv"
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/infrastructure/service_gateway"
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/log"
)
// Org 创建组织
func (gateway HttplibAlliedCreationUser) OrgCreate(param ReqOrgCreate) (*DataOrgCreate, error) {
url := gateway.baseUrL + "/org"
method := "post"
req := gateway.CreateRequest(url, method)
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 DataOrgCreate
err = gateway.GetResponseData(result, &data)
return &data, err
}
//OrgUpdate 更新组织
func (gateway HttplibAlliedCreationUser) OrgUpdate(param ReqOrgUpdate) (*DataOrgUpdate, error) {
url := gateway.baseUrL + "/org/" + strconv.FormatInt(param.OrgId, 10)
method := "put"
req := gateway.CreateRequest(url, method)
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 DataOrgUpdate
err = gateway.GetResponseData(result, &data)
return &data, err
}
// Org[orgId} 移除组织
func (gateway HttplibAlliedCreationUser) OrgRemove(param ReqOrgRemove) (*DataOrgRemove, error) {
url := gateway.baseUrL + "/org/" + strconv.FormatInt(param.OrgId, 10)
method := "delete"
req := gateway.CreateRequest(url, method)
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 DataOrgRemove
err = gateway.GetResponseData(result, &data)
return &data, err
}
// Org[orgId}Sub-department 获取组织的子部门(通用部门列表使用)
func (gateway HttplibAlliedCreationUser) OrgGetSubDepartment(param ReqOrgGetSubDepartment) (*DataOrgGetSubDepartment, error) {
url := gateway.baseUrL + "/org/" + strconv.FormatInt(param.OrgId, 10) + "/sub-department"
method := "get"
req := gateway.CreateRequest(url, method)
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 DataOrgGetSubDepartment
err = gateway.GetResponseData(result, &data)
return &data, err
}
// OrgEnable 设置组织启用状态
func (gateway HttplibAlliedCreationUser) OrgEnable(param ReqOrgEnable) (*DataOrgEnable, error) {
url := gateway.baseUrL + "/org/enable"
method := "post"
req := gateway.CreateRequest(url, method)
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 DataOrgEnable
err = gateway.GetResponseData(result, &data)
return &data, err
}
// Org[orgId} 返回组织
func (gateway HttplibAlliedCreationUser) OrgGet(param ReqOrgGet) (*DataOrgGet, error) {
url := gateway.baseUrL + "/org/" + strconv.Itoa(param.OrgId)
if param.FetchFlag > 0 {
url += fmt.Sprintf("?fetchFlag=%v", param.FetchFlag)
}
method := "get"
req := gateway.CreateRequest(url, method)
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 DataOrgGet
err = gateway.GetResponseData(result, &data)
return &data, err
}
// OrgSearch 返回组织列表
func (gateway HttplibAlliedCreationUser) OrgSearch(param ReqOrgSearch) (*DataOrgSearch, error) {
url := gateway.baseUrL + "/org/search"
method := "post"
req := gateway.CreateRequest(url, method)
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 DataOrgSearch
err = gateway.GetResponseData(result, &data)
return &data, err
}
func (gateway HttplibAlliedCreationUser) OrgBatchAdd(param ReqBatchAddOrg) (*DataImportResponse, error) {
url := fmt.Sprintf("%s%s", gateway.baseUrL, "/org/batch-add")
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 DataImportResponse
err = gateway.GetResponseData(result, &data)
return &data, err
}