finclip-app-manager/infrastructure/client/httpcall/provider.go

304 lines
10 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package httpcall
//
//import (
// "context"
// "encoding/json"
// "errors"
// "finclip-app-manager/infrastructure/config"
// "net/http"
//
// "github.com/gin-gonic/gin"
//)
//
//const (
// Opcreate = "create"
//)
//
//const (
// ObjectTypeApp = "app"
//)
//
//type Notification struct {
// ObjectType string `json:"objectType"`
// ObjectID string `json:"objectId"`
// Operator string `json:"operator"`
// Operation string `json:"operation"`
// Timestamp int64 `json:"timestamp"`
// CustomData map[string]interface{} `json:"customData"`
//}
//
//type NotifyResponse struct {
// Errcode string `json:"errcode"`
// Error string `json:"error"`
// Data map[string]interface{} `json:"data"`
//}
//
//type DeveloperData struct {
// AccountId string `json:"accountId" bson:"accountId"` //mysql改造使用
// Type int `json:"type" bson:"type"` //类型1:个人账号2:企业账号(已经提交企业资料申请)
// OrganTraceId string `json:"organTraceId" bson:"organTraceId"` //企业绑定id
// Name string `json:"name" bson:"name"` //姓名
// Email string `json:"email" bson:"email"` //邮箱
// Account string `json:"account" bson:"account"` //账号
// Status int `json:"status" bson:"status"` //1--正常 2--已冻结 3--已延期
//}
//
//const (
// ORGAN_ACCOUNT_TYPE_PERSON = 1
// ORGAN_ACCOUNT_TYPE_BUSINESS = 2
//)
//
//const (
// ORGAN_STATUS_NORMAL = 1 //正常
// ORGAN_STATUS_FREEZE = 2 //已冻结
// ORGAN_STATUS_DELAY = 3 //已延期
//)
//
//type GetDevelopResponse struct {
// Data DeveloperData `json:"data"`
//}
//
//type Provider struct {
// ClientBase
//}
//
//func NewProvider() *Provider {
// return &Provider{
// ClientBase: ClientBase{
// Service: "Provider",
// },
// }
//}
//
//func (p *Provider) GetGroupID(ctx context.Context, c *gin.Context, url string) (string, error) {
// if url == "" {
// log.Errorf("GetGroupID url empty!")
// return "", errors.New(ErrEmptyURL)
// }
// p.Method = "GET"
// p.URL = url
// p.RequestHeader = make(map[string]string)
// //zipkin上报
// if c != nil {
// spanId := c.Request.Header.Get("Zipkin-Span-Id")
// value := c.GetString("zipkin_trace_span_id_" + spanId)
// p.RequestHeader["Zipkin-Span-Context"] = value
// }
// log.Infof("GetGroupID url:%s", url)
// err := p.Fetch(ctx)
// if err != nil {
// log.Errorf("GetGroupID fetch err:%s", err.Error())
// return "", err
// } else if p.StatusCode != http.StatusOK {
// log.Errorf("GetGroupID StatusCode err,body:%s", string(p.ResponseBody))
// return "", errors.New(ErrHttpCode)
// }
// resp := GetGroupIDResponse{}
// if err := json.Unmarshal(p.ResponseBody, &resp); err != nil {
// log.Errorf("Failed to unmarshal response to GetGroupIDResponse: %v\n", err)
// return "", err
// }
// return resp.Data.GroupID, nil
//}
//
//func (p *Provider) GetGroupInfoByUserId(ctx context.Context, url string) (*GroupIDData, error) {
// if url == "" {
// log.Errorf(ErrEmptyURL)
// return nil, errors.New(ErrEmptyURL)
// }
// p.Method = "GET"
// p.URL = url
// p.RequestHeader = make(map[string]string)
// log.Infof("GetGroupInfoByUserId url:%s", url)
// err := p.Fetch(ctx)
// if err != nil {
// log.Errorf("GetGroupInfoByUserId fetch err:%s", err.Error())
// return nil, err
// } else if p.StatusCode != http.StatusOK {
// log.Errorf("GetGroupInfoByUserId StatusCode err,body:%s", string(p.ResponseBody))
// return nil, errors.New(ErrHttpCode)
// }
// resp := GetGroupIDResponse{}
// if err := json.Unmarshal(p.ResponseBody, &resp); err != nil {
// log.Errorf("Failed to unmarshal response to GetGroupIDResponse, error: %v\n", err)
// return nil, err
// }
// return &resp.Data, nil
//}
//
//func (p *Provider) Notify(ctx context.Context, c *gin.Context, n *Notification) (int, *NotifyResponse, error) {
// resp := &NotifyResponse{}
// url := config.Cfg.NotificationProviderURL
// if url == "" {
// log.Errorf("Notify url empty!")
// return http.StatusInternalServerError, nil, errors.New(ErrEmptyURL)
// }
// log.Infof("Notify url:%s", url)
// data, err := json.Marshal(n)
// if err != nil {
// log.Errorf("Failed to marshal notification: %v\n", err)
// return http.StatusInternalServerError, resp, errors.New(ErrSystemCall)
// }
// p.Method = "POST"
// p.RequestBody = data
// p.URL = url
// p.RequestHeader = map[string]string{
// "Accept": "application/json, text/plain, */*",
// "Content-Type": "application/json",
// "url-call": "internal",
// }
// //zipkin上报
// {
// spanId := c.Request.Header.Get("Zipkin-Span-Id")
// value := c.GetString("zipkin_trace_span_id_" + spanId)
// p.RequestHeader["Zipkin-Span-Context"] = value
// }
// err = p.Fetch(ctx)
// if err != nil {
// log.Errorf("Notify fetch err:%s", err.Error())
// return http.StatusInternalServerError, resp, err
// } else if p.StatusCode != http.StatusOK {
// log.Errorf("Notify StatusCode err,body:%s", string(p.ResponseBody))
// if err := json.Unmarshal(p.ResponseBody, &resp); err != nil {
// log.Errorf("Failed to unmarshal to NotifyResponse: %v", err)
// return http.StatusInternalServerError, resp, err
// }
// return p.StatusCode, resp, errors.New(ErrHttpCode)
// }
// return http.StatusOK, resp, nil
//}
//
//func (p *Provider) AddLimitInfo(ctx context.Context, c *gin.Context, n *AddLimitInfoReq) (int, *AddLimitInfoRsp, error) {
// resp := &AddLimitInfoRsp{}
// url := config.Cfg.AddLimitInfoURL
// if url == "" {
// log.Errorf("Notify url empty!")
// return http.StatusInternalServerError, nil, errors.New(ErrEmptyURL)
// }
// data, err := json.Marshal(n)
// if err != nil {
// log.Errorf("Failed to marshal notification: %v\n", err)
// return http.StatusInternalServerError, resp, errors.New(ErrSystemCall)
// }
// p.Method = "POST"
// p.RequestBody = data
// p.URL = url
// p.RequestHeader = map[string]string{
// "Accept": "application/json, text/plain, */*",
// "Content-Type": "application/json",
// "url-call": "internal",
// }
// //zipkin上报
// {
// spanId := c.Request.Header.Get("Zipkin-Span-Id")
// value := c.GetString("zipkin_trace_span_id_" + spanId)
// p.RequestHeader["Zipkin-Span-Context"] = value
// }
// log.Infof("AddLimitInfo info:%+v,url:%s", n, url)
// err = p.Fetch(ctx)
// if err != nil {
// log.Errorf("AddLimitInfo fetch err:%s", err.Error())
// return http.StatusInternalServerError, resp, err
// } else if p.StatusCode != http.StatusOK {
// log.Debugln("Notify StatusCode err,body:%s", string(p.ResponseBody))
// if err := json.Unmarshal(p.ResponseBody, &resp); err != nil {
// log.Errorf("Failed to unmarshal to NotifyResponse: %v\n", err)
// return http.StatusInternalServerError, resp, err
// }
// return p.StatusCode, resp, errors.New(ErrHttpCode)
// }
// return http.StatusOK, resp, nil
//}
//
//func (p *Provider) GetAccountInfo(ctx context.Context, c *gin.Context, url string, accountId string) (*AccountInfoData, error) {
// if url == "" {
// log.Errorf("GetAccountInfo url empty!")
// return nil, errors.New(ErrEmptyURL)
// }
// p.Method = "GET"
// p.URL = url
// p.RequestHeader = make(map[string]string)
// p.RequestHeader["X-Consumer-Custom-ID"] = accountId
// p.RequestHeader["Content-Type"] = "application/json"
// p.RequestHeader["url-call"] = "internal"
// //zipkin上报
// log.Infof("GetAccountInfo url:%s", url)
// err := p.Fetch(ctx)
// if err != nil {
// log.Errorf("GetAccountInfo fetch err:%s", err.Error())
// //p.LogError(err)
// return nil, err
// } else if p.StatusCode != http.StatusOK {
// log.Errorf("Notify StatusCode err,body:%s", string(p.ResponseBody))
// //p.LogError(err)
// return nil, errors.New(ErrHttpCode)
// }
// resp := GetAccountInfoResponse{}
// if err := json.Unmarshal(p.ResponseBody, &resp); err != nil {
// log.Errorf("Failed to unmarshal response to GetAccountInfoResponse, error: %v\n", err)
// return nil, err
// }
// return &resp.Data, nil
//}
//
//func (p *Provider) GetAdminAccountInfo(ctx context.Context, c *gin.Context, url string) (*AdminAccountInfo, error) {
// if url == "" {
// log.Errorf("GetAdminAccountInfo url empty!")
// return nil, errors.New(ErrEmptyURL)
// }
// p.Method = "GET"
// p.URL = url
// p.RequestHeader = make(map[string]string)
// //zipkin上报
// {
// spanId := c.Request.Header.Get("Zipkin-Span-Id")
// value := c.GetString("zipkin_trace_span_id_" + spanId)
// p.RequestHeader["Zipkin-Span-Context"] = value
// }
// err := p.Fetch(ctx)
// if err != nil {
// log.Errorf("GetAdminAccountInfo fetch err:%s", err.Error())
// return nil, err
// } else if p.StatusCode != http.StatusOK {
// log.Errorf("GetAdminAccountInfo StatusCode err,body:%s", string(p.ResponseBody))
// return nil, errors.New(ErrHttpCode)
// }
// resp := GetAdminAccountInfoResponse{}
// if err := json.Unmarshal(p.ResponseBody, &resp); err != nil {
// log.Errorf("Failed to unmarshal response to GetAdminAccountInfo Response, error: %v\n", err)
// return nil, err
// }
// return &resp.Data.Info, nil
//}
//
//func (p *Provider) SearchAccountInfo(ctx context.Context, c *gin.Context, url string, account string) (*AccountInfoData, error) {
// if url == "" {
// log.Errorf("GetAccountInfo url empty!")
// return nil, errors.New(ErrEmptyURL)
// }
// p.Method = "GET"
// p.URL = url + "?account=" + account
// p.RequestHeader = make(map[string]string)
// p.RequestHeader["Content-Type"] = "application/json"
// p.RequestHeader["url-call"] = "internal"
// //zipkin上报
// log.Infof("GetAccountInfo url:%s", url)
// err := p.Fetch(ctx)
// if err != nil {
// log.Errorf("GetAccountInfo fetch err:%s", err.Error())
// //p.LogError(err)
// return nil, err
// } else if p.StatusCode != http.StatusOK {
// log.Errorf("Notify StatusCode err,body:%s", string(p.ResponseBody))
// //p.LogError(err)
// return nil, errors.New(ErrHttpCode)
// }
// resp := GetAccountInfoResponse{}
// if err := json.Unmarshal(p.ResponseBody, &resp); err != nil {
// log.Errorf("Failed to unmarshal response to GetAccountInfoResponse, error: %v\n", err)
// return nil, err
// }
// return &resp.Data, nil
//}