package allied_creation_basic import ( "fmt" "github.com/linmadan/egglib-go/utils/json" "strconv" "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/log" "gitlab.fjmaimaimai.com/allied-creation/allied-creation-gateway/pkg/infrastructure/service_gateway" ) //GetDictionarysByCode 根据code获取字典数据 func (gateway HttplibAlliedCreationBasic) GetDictionarysByCode(param ReqGetDictionaryByCode) (*DataGetDictionaryByCode, error) { url := gateway.baseUrL + "/dictionarys/dictionary-code" method := "post" req := gateway.CreateRequest(url, method) //TODO traceID log.Logger.Debug("向基础模块请求数据:根据code获取字典数据。", 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("获取基础模块响应数据:根据code获取字典数据。", 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 DataGetDictionaryByCode err = gateway.GetResponseData(result, &data) return &data, err } //DictionaryAdd 添加字典 func (gateway HttplibAlliedCreationBasic) DictionaryAdd(param ReqDictionaryAdd) (*DataDictionaryAdd, error) { url := gateway.baseUrL + "/dictionarys" method := "post" req := gateway.CreateRequest(url, method) //TODO traceID 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 DataDictionaryAdd err = gateway.GetResponseData(result, &data) return &data, err } //DictionaryUpdate 更新字典 func (gateway HttplibAlliedCreationBasic) DictionaryUpdate(param ReqDictionaryUpdate) (*DataDictionaryUpdate, error) { url := gateway.baseUrL + "/dictionarys/" + strconv.Itoa(int(param.DictionaryId)) method := "PUT" req := gateway.CreateRequest(url, method) //TODO traceID 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 DataDictionaryUpdate err = gateway.GetResponseData(result, &data) return &data, err } //DictionaryGet 获取字典 func (gateway HttplibAlliedCreationBasic) DictionaryGet(param ReqDictionaryGet) (*DataDictionaryGet, error) { url := gateway.baseUrL + "/dictionarys/" + strconv.Itoa(int(param.DictionaryId)) method := "GET" req := gateway.CreateRequest(url, method) //TODO traceID 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 DataDictionaryGet err = gateway.GetResponseData(result, &data) return &data, err } //DictionaryRemove 删除字典 func (gateway HttplibAlliedCreationBasic) DictionaryRemove(param ReqDictionaryRemove) (*DataDictionaryRemove, error) { url := gateway.baseUrL + "/dictionarys/remove" method := "DELETE" req := gateway.CreateRequest(url, method) //TODO traceID 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 DataDictionaryRemove err = gateway.GetResponseData(result, &data) return &data, err } //DictionarySearch 查询字典 func (gateway HttplibAlliedCreationBasic) DictionarySearch(param ReqDictionarySearch) (*DataDictionarySearch, error) { url := gateway.baseUrL + "/dictionarys/search" method := "POST" req := gateway.CreateRequest(url, method) //TODO traceID 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 DataDictionarySearch err = gateway.GetResponseData(result, &data) return &data, err }