sync: 同步 v1.0.4 开源代码并脱敏
This commit is contained in:
@@ -15,12 +15,12 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"git.5iot.com/iotlcm-public/iotlcm-upstream-chan/internal/consts"
|
||||
"git.5iot.com/iotlcm-public/iotlcm-upstream-chan/internal/model"
|
||||
"git.5iot.com/iotlcm-public/iotlcm-upstream-chan/internal/service"
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/gogf/gf/v2/util/gconv"
|
||||
"golang.org/x/sync/singleflight"
|
||||
"git.5iot.com/iotlcm-public/iotlcm-upstream-chan/internal/consts"
|
||||
"git.5iot.com/iotlcm-public/iotlcm-upstream-chan/internal/model"
|
||||
"git.5iot.com/iotlcm-public/iotlcm-upstream-chan/internal/service"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -206,6 +206,18 @@ func (s *sSimTibiot) post(ctx context.Context, endpoint string, params map[strin
|
||||
if client == nil {
|
||||
client = &http.Client{Timeout: defaultUpstreamHTTPTimeout}
|
||||
}
|
||||
if endpoint == "/api/v1/card/cardNetWork" {
|
||||
transport := http.DefaultTransport.(*http.Transport).Clone()
|
||||
if original, ok := client.Transport.(*http.Transport); ok {
|
||||
transport = original.Clone()
|
||||
}
|
||||
transport.DisableKeepAlives = true
|
||||
defer transport.CloseIdleConnections()
|
||||
writeClient := *client
|
||||
writeClient.Transport = transport
|
||||
writeClient.CheckRedirect = func(*http.Request, []*http.Request) error { return http.ErrUseLastResponse }
|
||||
client = &writeClient
|
||||
}
|
||||
resp, err := client.Do(req)
|
||||
if err != nil {
|
||||
return tibiotResponse{}, fmt.Errorf("Tibiot request %s: %w", endpoint, err)
|
||||
@@ -930,10 +942,22 @@ func (s *sSimTibiot) ChangeSimApnFunction(ctx context.Context, input *model.SimC
|
||||
params["operateType"] = operateType
|
||||
resp, err := s.post(ctx, "/api/v1/card/cardNetWork", params)
|
||||
if err != nil {
|
||||
items = append(items, tibiotError[model.SimCardOperateChangeApnItem](simKey, err))
|
||||
item := tibiotError[model.SimCardOperateChangeApnItem](simKey, err)
|
||||
item.ResData.Uncertain = true
|
||||
items = append(items, item)
|
||||
continue
|
||||
}
|
||||
if !tibiotSuccess(resp) {
|
||||
statusText := strings.TrimSpace(fmt.Sprint(resp.Status))
|
||||
status, statusErr := strconv.Atoi(statusText)
|
||||
if statusErr != nil || (status == 0 && statusText != "0") {
|
||||
items = append(items, &model.SimBaseRes[model.SimCardOperateChangeApnItem]{
|
||||
SimKey: simKey, Code: consts.ApiStatusError,
|
||||
Message: "天比高 APN 开停响应状态无效,办理结果未确认:" + statusText,
|
||||
ResData: model.SimCardOperateChangeApnItem{Uncertain: true},
|
||||
})
|
||||
continue
|
||||
}
|
||||
if status != 0 {
|
||||
items = append(items, tibiotBusinessError[model.SimCardOperateChangeApnItem](simKey, resp))
|
||||
continue
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user