Files
iotlcm/upstream-proxy/internal/controller/cardquery/cardquery_v1_simcard.go

66 lines
2.0 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package cardquery
import (
"context"
"encoding/json"
"strings"
"github.com/gogf/gf/v2/frame/g"
v1 "git.5iot.com/iotlcm-public/iotlcm-upstream-proxy/api/cardquery/v1"
"git.5iot.com/iotlcm-public/iotlcm-upstream-proxy/internal/service"
)
// func (c *ControllerV1) SimBase(ctx context.Context, req *v1.SimBaseReq) (res *v1.SimBaseRes, err error) {
// g.Log().Debugf(ctx, "SimBase req %+v", req)
// r := g.RequestFromCtx(ctx)
// if r.Method != "POST" {
// return nil, gerror.New("method not allowed")
// }
// path := r.URL.Path
// if path == "" {
// return nil, gerror.New("path is required")
// }
// // 获取渠道KEY
// for _, simKey := range req.SimKeys {
// if simKey.ChanKey == "" {
// simKey.ChanKey = "channel_003"
// }
// }
// // 获取三码信息
// url := "http://iotlcmupstreamproxy-http-svc" + path
// client := g.Client()
// client.SetDiscovery(gsvc.GetRegistry())
// client.SetTimeout(time.Second * 10)
// postData, err := json.Marshal(req)
// if err != nil {
// return nil, err
// }
// resp, err := client.Post(ctx, url, postData)
// if err != nil {
// return nil, err
// }
// body := resp.ReadAllString()
// var simBaseRes model.SimBaseResJson
// err = json.Unmarshal([]byte(body), &simBaseRes)
// if err != nil {
// return nil, err
// }
// return &simBaseRes, nil
// }
func (c *ControllerV1) SimBase(ctx context.Context, req *v1.SimBaseReq) (res *v1.SimBaseRes, err error) {
request := g.RequestFromCtx(ctx)
if request != nil && (request.URL.Path == "/sim/change/sim-apn" || request.URL.Path == "/sim/query/sim-apn-capability") && strings.HasPrefix(strings.ToLower(request.Header.Get("Content-Type")), "application/json") {
// GoFrame通用字段转换不能保留json.RawMessage,APN协议直接按原始JSON绑定。
if err := json.Unmarshal(request.GetBody(), &req.SimBaseReqJson); err != nil {
return nil, err
}
}
out, err := service.SimKeyFill().SimKeyFill(ctx, &req.SimBaseReqJson)
if err != nil {
return nil, err
}
return &out, nil
}