...
|
...
|
@@ -3,6 +3,8 @@ package allied_creation_user |
|
|
import (
|
|
|
"encoding/json"
|
|
|
"fmt"
|
|
|
"net/url"
|
|
|
"strconv"
|
|
|
|
|
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/infrastructure/service_gateway"
|
|
|
"gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/log"
|
...
|
...
|
@@ -10,12 +12,12 @@ import ( |
|
|
|
|
|
//RoleSearch 搜索角色列表
|
|
|
func (gateway HttplibAlliedCreationUser) RoleSearch(param ReqRoleSearch) (*DataRoleSearch, error) {
|
|
|
url := gateway.baseUrL + "/role/search"
|
|
|
urlStr := gateway.baseUrL + "/role/search"
|
|
|
method := "post"
|
|
|
req := gateway.CreateRequest(url, method)
|
|
|
req := gateway.CreateRequest(urlStr, method)
|
|
|
//TODO traceID
|
|
|
log.Logger.Debug("向用户模块请求数据:搜索角色列表。", map[string]interface{}{
|
|
|
"api": method + ":" + url,
|
|
|
"api": method + ":" + urlStr,
|
|
|
"param": param,
|
|
|
})
|
|
|
req, err := req.JSONBody(param)
|
...
|
...
|
@@ -42,12 +44,12 @@ func (gateway HttplibAlliedCreationUser) RoleSearch(param ReqRoleSearch) (*DataR |
|
|
|
|
|
//RoleGet 获取角色
|
|
|
func (gateway HttplibAlliedCreationUser) RoleGet(param ReqRoleGet) (*DataRoleGet, error) {
|
|
|
url := fmt.Sprintf("%s%s%d", gateway.baseUrL, "/role/", param.RoleId)
|
|
|
urlStr := gateway.baseUrL + "/role/" + strconv.FormatInt(param.RoleId, 10)
|
|
|
method := "get"
|
|
|
req := gateway.CreateRequest(url, method)
|
|
|
req := gateway.CreateRequest(urlStr, method)
|
|
|
//TODO traceID
|
|
|
log.Logger.Debug("向用户模块请求数据:获取角色。", map[string]interface{}{
|
|
|
"api": method + ":" + url,
|
|
|
"api": method + ":" + urlStr,
|
|
|
"param": param,
|
|
|
})
|
|
|
req, err := req.JSONBody(param)
|
...
|
...
|
@@ -71,3 +73,256 @@ func (gateway HttplibAlliedCreationUser) RoleGet(param ReqRoleGet) (*DataRoleGet |
|
|
err = gateway.GetResponseData(result, &data)
|
|
|
return &data, err
|
|
|
}
|
|
|
|
|
|
// RoleAssign 分配角色给多个用户
|
|
|
func (gateway HttplibAlliedCreationUser) RoleAssign(param ReqRoleAssign) (*DataRoleAssign, error) {
|
|
|
urlStr := gateway.baseUrL + "/role/assign"
|
|
|
method := "post"
|
|
|
req := gateway.CreateRequest(urlStr, method)
|
|
|
log.Logger.Debug("向用户模块请求数据:分配角色给多个用户。", map[string]interface{}{
|
|
|
"api": method + ":" + urlStr,
|
|
|
"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 DataRoleAssign
|
|
|
err = gateway.GetResponseData(result, &data)
|
|
|
return &data, err
|
|
|
}
|
|
|
|
|
|
// Role 创建角色
|
|
|
func (gateway HttplibAlliedCreationUser) Role(param ReqRole) (*DataRole, error) {
|
|
|
urlStr := gateway.baseUrL + "/role"
|
|
|
method := "post"
|
|
|
req := gateway.CreateRequest(urlStr, method)
|
|
|
log.Logger.Debug("向用户模块请求数据:创建角色。", map[string]interface{}{
|
|
|
"api": method + ":" + urlStr,
|
|
|
"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 DataRole
|
|
|
err = gateway.GetResponseData(result, &data)
|
|
|
return &data, err
|
|
|
}
|
|
|
|
|
|
// RoleUnassign 取消用户分配的角色
|
|
|
func (gateway HttplibAlliedCreationUser) RoleUnassign(param ReqRoleUnassign) (*DataRoleUnassign, error) {
|
|
|
urlStr := gateway.baseUrL + "/role/unassign"
|
|
|
method := "post"
|
|
|
req := gateway.CreateRequest(urlStr, method)
|
|
|
log.Logger.Debug("向用户模块请求数据:取消用户分配的角色。", map[string]interface{}{
|
|
|
"api": method + ":" + urlStr,
|
|
|
"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 DataRoleUnassign
|
|
|
err = gateway.GetResponseData(result, &data)
|
|
|
return &data, err
|
|
|
}
|
|
|
|
|
|
// RoleUpdate 更新角色
|
|
|
func (gateway HttplibAlliedCreationUser) RoleUpdate(param ReqRoleUpdate) (*DataRoleUpdate, error) {
|
|
|
urlStr := gateway.baseUrL + "/role/" + strconv.FormatInt(param.RoleId, 10)
|
|
|
method := "put"
|
|
|
req := gateway.CreateRequest(urlStr, method)
|
|
|
log.Logger.Debug("向用户模块请求数据:更新角色。", map[string]interface{}{
|
|
|
"api": method + ":" + urlStr,
|
|
|
"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 DataRoleUpdate
|
|
|
err = gateway.GetResponseData(result, &data)
|
|
|
return &data, err
|
|
|
}
|
|
|
|
|
|
// RoleRemove 移除角色
|
|
|
func (gateway HttplibAlliedCreationUser) RoleRemove(param ReqRoleRemove) (*DataRoleRemove, error) {
|
|
|
urlStr := gateway.baseUrL + "/role/" + strconv.FormatInt(param.RoleId, 10)
|
|
|
method := "delete"
|
|
|
req := gateway.CreateRequest(urlStr, method)
|
|
|
log.Logger.Debug("向用户模块请求数据:移除角色。", map[string]interface{}{
|
|
|
"api": method + ":" + urlStr,
|
|
|
"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 DataRoleRemove
|
|
|
err = gateway.GetResponseData(result, &data)
|
|
|
return &data, err
|
|
|
}
|
|
|
|
|
|
// RoleGetRelatedUser 获取角色相关联的用户
|
|
|
func (gateway HttplibAlliedCreationUser) RoleGetRelatedUser(param ReqRoleGetRelatedUser) (*DataRoleGetRelatedUser, error) {
|
|
|
orgId := strconv.FormatInt(param.OrgId, 10)
|
|
|
departmentId := strconv.FormatInt(param.DepartmentId, 10)
|
|
|
v := url.Values{}
|
|
|
v.Set("orgId", orgId)
|
|
|
v.Set("departmentId", departmentId)
|
|
|
urlStr := gateway.baseUrL + "/role/" + strconv.FormatInt(param.RoleId, 10) + "/related-user?" + v.Encode()
|
|
|
method := "get"
|
|
|
req := gateway.CreateRequest(urlStr, method)
|
|
|
log.Logger.Debug("向用户模块请求数据:获取角色相关联的用户。", map[string]interface{}{
|
|
|
"api": method + ":" + urlStr,
|
|
|
"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 DataRoleGetRelatedUser
|
|
|
err = gateway.GetResponseData(result, &data)
|
|
|
return &data, err
|
|
|
}
|
|
|
|
|
|
// RoleGetAccessMenus 获取角色菜单
|
|
|
func (gateway HttplibAlliedCreationUser) RoleGetAccessMenus(param ReqRoleGetAccessMenus) (*DataRoleGetAccessMenus, error) {
|
|
|
urlStr := gateway.baseUrL + "/role/" + strconv.FormatInt(param.RoleId, 10) + "/access-menus"
|
|
|
method := "get"
|
|
|
req := gateway.CreateRequest(urlStr, method)
|
|
|
log.Logger.Debug("向用户模块请求数据:获取角色菜单。", map[string]interface{}{
|
|
|
"api": method + ":" + urlStr,
|
|
|
"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 DataRoleGetAccessMenus
|
|
|
err = gateway.GetResponseData(result, &data)
|
|
|
return &data, err
|
|
|
}
|
|
|
|
|
|
// ReqRoleSetAccessMenus 设置角色菜单
|
|
|
func (gateway HttplibAlliedCreationUser) RoleSetAccessMenus(param ReqRoleSetAccessMenus) (*DataRoleSetAccessMenus, error) {
|
|
|
urlStr := gateway.baseUrL + "/role/" + strconv.FormatInt(param.RoleId, 10) + "/access-menus"
|
|
|
method := "put"
|
|
|
req := gateway.CreateRequest(urlStr, method)
|
|
|
log.Logger.Debug("向用户模块请求数据:设置角色菜单。", map[string]interface{}{
|
|
|
"api": method + ":" + urlStr,
|
|
|
"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 DataRoleSetAccessMenus
|
|
|
err = gateway.GetResponseData(result, &data)
|
|
|
return &data, err
|
|
|
} |
...
|
...
|
|