审查视图

pkg/infrastructure/service_gateway/allied_creation_user/module_menu.go 7.3 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
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) {
45
	url := gateway.baseUrL + "/menus/" + strconv.FormatInt(param.MenuId, 10)
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
	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) {
tangxuhui authored
76
	url := gateway.baseUrL + "/menus/" + strconv.FormatInt(param.MenuId, 10)
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
	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
}
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

// MenusBatchDelete 菜单批量删除
func (gateway HttplibAlliedCreationUser) MenusBatchDelete(param ReqMenusBatchDelete) (*DataMenusBatchDelete, error) {
	url := gateway.baseUrL + "/menus/batch-delete"
	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 DataMenusBatchDelete
	err = gateway.GetResponseData(result, &data)
	return &data, err
}

// MenusBatchEnable 菜单批量启用、禁用
func (gateway HttplibAlliedCreationUser) MenusBatchEnable(param ReqMenusBatchEnable) (*DataMenusBatchEnable, error) {
	url := gateway.baseUrL + "/menus/batch-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 DataMenusBatchEnable
	err = gateway.GetResponseData(result, &data)
	return &data, err
}