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.MenuId, 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.MenuId, 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 } // 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 }