66 lines
2.0 KiB
Go
66 lines
2.0 KiB
Go
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
|
||
}
|