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" ) // Org 创建组织 func (gateway HttplibAlliedCreationUser) OrgCreate(param ReqOrgCreate) (*DataOrgCreate, error) { url := gateway.baseUrL + "/org" 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 DataOrgCreate err = gateway.GetResponseData(result, &data) return &data, err } //OrgUpdate 更新组织 func (gateway HttplibAlliedCreationUser) OrgUpdate(param ReqOrgUpdate) (*DataOrgUpdate, error) { url := gateway.baseUrL + "/org/" + strconv.FormatInt(param.OrgId, 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 DataOrgUpdate err = gateway.GetResponseData(result, &data) return &data, err } // Org[orgId} 移除组织 func (gateway HttplibAlliedCreationUser) OrgRemove(param ReqOrgRemove) (*DataOrgRemove, error) { url := gateway.baseUrL + "/org/" + strconv.FormatInt(param.OrgId, 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 DataOrgRemove err = gateway.GetResponseData(result, &data) return &data, err } // Org[orgId}Sub-department 获取组织的子部门(通用部门列表使用) func (gateway HttplibAlliedCreationUser) OrgGetSubDepartment(param ReqOrgGetSubDepartment) (*DataOrgGetSubDepartment, error) { url := gateway.baseUrL + "/org/" + strconv.FormatInt(param.OrgId, 10) + "/sub-department" 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 DataOrgGetSubDepartment err = gateway.GetResponseData(result, &data) return &data, err } // OrgEnable 设置组织启用状态 func (gateway HttplibAlliedCreationUser) OrgEnable(param ReqOrgEnable) (*DataOrgEnable, error) { url := gateway.baseUrL + "/org/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 DataOrgEnable err = gateway.GetResponseData(result, &data) return &data, err } // Org[orgId} 返回组织 func (gateway HttplibAlliedCreationUser) OrgGet(param ReqOrgGet) (*DataOrgGet, error) { url := gateway.baseUrL + "/org/" + strconv.Itoa(param.OrgId) 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 DataOrgGet err = gateway.GetResponseData(result, &data) return &data, err } // OrgSearch 返回组织列表 func (gateway HttplibAlliedCreationUser) OrgSearch(param ReqOrgSearch) (*DataOrgSearch, error) { url := gateway.baseUrL + "/org/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 DataOrgSearch err = gateway.GetResponseData(result, &data) return &data, err }