|
|
package service_gateway
|
|
|
|
|
|
import (
|
|
|
"encoding/json"
|
|
|
"fmt"
|
|
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/constant"
|
|
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/infrastructure/service_gateway/translator"
|
|
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/log"
|
|
|
"strconv"
|
|
|
"strings"
|
|
|
"time"
|
...
|
...
|
@@ -12,29 +16,43 @@ type HttplibUserServiceGateway struct { |
|
|
}
|
|
|
|
|
|
// GetUser 获取用户
|
|
|
func (serviceGateway *HttplibUserServiceGateway) GetUser(companyId int64, orgId int64, uid int64) (map[string]interface{}, error) {
|
|
|
companyIdStr := strconv.FormatInt(companyId, 10)
|
|
|
url := strings.Join([]string{serviceGateway.baseURL, "companies/" + companyIdStr + "/users/get-user"}, "/")
|
|
|
func (serviceGateway *HttplibUserServiceGateway) GetUser(companyId int64, orgId int64, uid int64) (*translator.UserDetail, error) {
|
|
|
uidStr := strconv.FormatInt(uid, 10)
|
|
|
url := serviceGateway.baseURL + "/user/" + uidStr
|
|
|
request := serviceGateway.createRequest(url, "get")
|
|
|
options := make(map[string]interface{})
|
|
|
options["uid"] = uid
|
|
|
_, err1 := request.JSONBody(options)
|
|
|
if err1 != nil {
|
|
|
return nil, err1
|
|
|
}
|
|
|
response := make(map[string]interface{})
|
|
|
err2 := request.ToJSON(&response)
|
|
|
if err2 != nil {
|
|
|
return nil, err2
|
|
|
}
|
|
|
data, err := serviceGateway.responseHandle(response)
|
|
|
return data, err
|
|
|
//response := make(map[string]interface{})
|
|
|
//err2 := request.ToJSON(&response)
|
|
|
//if err2 != nil {
|
|
|
// return nil, err2
|
|
|
//}
|
|
|
//data, err := serviceGateway.responseHandle(response)
|
|
|
//return data, err
|
|
|
byteResult, err := request.Bytes()
|
|
|
if err != nil {
|
|
|
return nil, fmt.Errorf("获取获取用户失败:%w", err)
|
|
|
}
|
|
|
log.Logger.Debug("获取用户模块请求数据:获取用户。", map[string]interface{}{
|
|
|
"result": string(byteResult),
|
|
|
})
|
|
|
var result GatewayResponse
|
|
|
err = json.Unmarshal(byteResult, &result)
|
|
|
if err != nil {
|
|
|
return nil, fmt.Errorf("解析获取用户:%w", err)
|
|
|
}
|
|
|
var data translator.UserDetail
|
|
|
err = serviceGateway.getResponseData(result, &data)
|
|
|
return &data, err
|
|
|
}
|
|
|
|
|
|
// GetUsers 获取用户
|
|
|
func (serviceGateway *HttplibUserServiceGateway) GetUsers(companyId int64, orgId int64, uids []int64) (map[string]interface{}, error) {
|
|
|
companyIdStr := strconv.FormatInt(companyId, 10)
|
|
|
url := strings.Join([]string{serviceGateway.baseURL, "companies/" + companyIdStr + "/users/get-user"}, "/")
|
|
|
url := strings.Join([]string{serviceGateway.baseURL, "user/" + companyIdStr + "/users/get-user"}, "/")
|
|
|
request := serviceGateway.createRequest(url, "get")
|
|
|
options := make(map[string]interface{})
|
|
|
options["uids"] = uids
|
...
|
...
|
@@ -54,19 +72,25 @@ func (serviceGateway *HttplibUserServiceGateway) GetUsers(companyId int64, orgId |
|
|
// GetCompany 获取公司信息
|
|
|
func (serviceGateway *HttplibUserServiceGateway) GetCompany(companyId int64) (map[string]interface{}, error) {
|
|
|
companyIdStr := strconv.FormatInt(companyId, 10)
|
|
|
url := strings.Join([]string{serviceGateway.baseURL, "companies/" + companyIdStr}, "/")
|
|
|
url := serviceGateway.baseURL + "/company/" + companyIdStr
|
|
|
request := serviceGateway.createRequest(url, "get")
|
|
|
options := make(map[string]interface{})
|
|
|
options["companyId"] = companyId
|
|
|
_, err1 := request.JSONBody(options)
|
|
|
if err1 != nil {
|
|
|
return nil, err1
|
|
|
} else {
|
|
|
log.Logger.Debug("向用户模块请求数据:返回企业。", map[string]interface{}{
|
|
|
"api": "get:" + url,
|
|
|
"param": options,
|
|
|
})
|
|
|
}
|
|
|
|
|
|
response := make(map[string]interface{})
|
|
|
err2 := request.ToJSON(&response)
|
|
|
if err2 != nil {
|
|
|
return nil, err2
|
|
|
}
|
|
|
|
|
|
data, err := serviceGateway.responseHandle(response)
|
|
|
return data, err
|
|
|
}
|
...
|
...
|
@@ -93,9 +117,8 @@ func (serviceGateway *HttplibUserServiceGateway) GetDepartment(companyId int64, |
|
|
|
|
|
// GetOrganization 获取组织信息
|
|
|
func (serviceGateway *HttplibUserServiceGateway) GetOrganization(companyId int64, organizationId int64) (map[string]interface{}, error) {
|
|
|
companyIdStr := strconv.FormatInt(companyId, 10)
|
|
|
organizationIdStr := strconv.FormatInt(organizationId, 10)
|
|
|
url := strings.Join([]string{serviceGateway.baseURL, "companies/" + companyIdStr + "/orgs/" + organizationIdStr}, "/")
|
|
|
url := serviceGateway.baseURL + "/org/" + organizationIdStr
|
|
|
request := serviceGateway.createRequest(url, "get")
|
|
|
options := make(map[string]interface{})
|
|
|
options["orgId"] = organizationId
|
...
|
...
|
|