作者 tangxuhui

新增gateway 菜单模块

... ... @@ -33,7 +33,7 @@ func (usersService *UsersService) CompanyUserEnable(companyUserEnableCommand *co
// 返回公司用户信息列表
func (usersService *UsersService) CompanyUserList(companyUserListQuery *query.CompanyUserListQuery) (int64, interface{}, error) {
creationUserGateway := allied_creation_user.NewHttplibAlliedCreationUser()
creationUserGateway := allied_creation_user.NewHttplibAlliedCreationUser(0, 0, 0)
result, err := creationUserGateway.UserSearch(allied_creation_user.ReqUserSearch{
Offset: (companyUserListQuery.PageNumber - 1) * companyUserListQuery.PageSize,
Limit: companyUserListQuery.PageSize,
... ...
... ... @@ -13,14 +13,13 @@ type HttplibAlliedCreationUser struct {
baseUrL string
}
var alliedCreationUserClient = &HttplibAlliedCreationUser{
BaseServiceGateway: service_gateway.BaseServiceGateway{
ConnectTimeout: 100 * time.Second,
ReadWriteTimeout: 30 * time.Second,
},
baseUrL: constant.ALLIED_CREATION_USER_HOST,
}
func NewHttplibAlliedCreationUser(companyId int64, orgId int64, userId int64) *HttplibAlliedCreationUser {
return &HttplibAlliedCreationUser{
BaseServiceGateway: service_gateway.BaseServiceGateway{
ConnectTimeout: 100 * time.Second,
ReadWriteTimeout: 30 * time.Second,
},
baseUrL: constant.ALLIED_CREATION_USER_HOST,
}
func NewHttplibAlliedCreationUser() *HttplibAlliedCreationUser {
return alliedCreationUserClient
}
... ...
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"
)
// MenusCreate 创建菜单
func (gateway HttplibAlliedCreationUser) MenusCreate(param ReqMenus) (*DataMenus, error) {
url := gateway.baseUrL + "/menus"
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 DataMenus
err = gateway.GetResponseData(result, &data)
return &data, err
}
// MenusUpdate 更新菜单
func (gateway HttplibAlliedCreationUser) MenusUpdate(param ReqMenusUpdate) (*DataMenusUpdate, error) {
url := gateway.baseUrL + "/menus/" + strconv.FormatInt(param.MenusId, 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 DataMenusUpdate
err = gateway.GetResponseData(result, &data)
return &data, err
}
// MenusRemove 移除菜单
func (gateway HttplibAlliedCreationUser) MenusRemove(param ReqMenusRemove) (*DataMenusRemove, error) {
url := gateway.baseUrL + "/menus/" + strconv.FormatInt(param.RoleId, 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 DataMenusRemove
err = gateway.GetResponseData(result, &data)
return &data, err
}
// MenusGet 返回菜单
func (gateway HttplibAlliedCreationUser) MenusGet(param ReqMenusGet) (*DataMenusGet, error) {
url := gateway.baseUrL + "/menus/" + strconv.FormatInt(param.MenuId, 10)
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 DataMenusGet
err = gateway.GetResponseData(result, &data)
return &data, err
}
// MenusSearch 返回菜单列表
func (gateway HttplibAlliedCreationUser) MenusSearch(param ReqMenusSearch) (*DataMenusSearch, error) {
url := gateway.baseUrL + "/menus/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 DataMenusSearch
err = gateway.GetResponseData(result, &data)
return &data, err
}
... ...
... ... @@ -105,8 +105,8 @@ func (gateway HttplibAlliedCreationUser) RoleAssign(param ReqRoleAssign) (*DataR
return &data, err
}
// Role 创建角色
func (gateway HttplibAlliedCreationUser) Role(param ReqRole) (*DataRole, error) {
// RoleCreate 创建角色
func (gateway HttplibAlliedCreationUser) RoleCreate(param ReqRole) (*DataRole, error) {
urlStr := gateway.baseUrL + "/role"
method := "post"
req := gateway.CreateRequest(urlStr, method)
... ...
package allied_creation_user
//创建菜单
type (
ReqMenus struct {
}
DataMenus struct {
}
)
//更新菜单
type (
ReqMenusUpdate struct {
MenusId int64
}
DataMenusUpdate struct {
}
)
//移除菜单
type (
ReqMenusRemove struct {
RoleId int64
}
DataMenusRemove struct {
}
)
//返回菜单
type (
ReqMenusGet struct {
MenuId int64
}
DataMenusGet struct {
}
)
//返回菜单列表
type (
ReqMenusSearch struct {
}
DataMenusSearch struct {
}
)
... ...