package query import ( "context" "encoding/json" "qnc-server/common/xerr" "github.com/pkg/errors" "qnc-server/app/user/cmd/api/internal/svc" "qnc-server/app/user/cmd/api/internal/types" "github.com/zeromicro/go-zero/core/logx" ) type QuerySingleTestLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } func NewQuerySingleTestLogic(ctx context.Context, svcCtx *svc.ServiceContext) *QuerySingleTestLogic { return &QuerySingleTestLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } func (l *QuerySingleTestLogic) QuerySingleTest(req *types.QuerySingleTestReq) (resp *types.QuerySingleTestResp, err error) { // _, err = l.svcCtx.FeatureModel.FindOneByApiId(l.ctx, req.Api) // if err != nil { // return nil, errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "单查测试, 获取接口失败 : %d", err) // } marshalParams, err := json.Marshal(req.Params) if err != nil { return nil, errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "单查测试, 序列化参数失败 : %d", err) } apiResp, err := l.svcCtx.ApiRequestService.PreprocessRequestApi(l.ctx, marshalParams, req.Api) if err != nil { return nil, errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "单查测试, 获取接口失败 : %d", err) } var respData interface{} err = json.Unmarshal(apiResp.Data, &respData) if err != nil { return nil, errors.Wrapf(xerr.NewErrCode(xerr.SERVER_COMMON_ERROR), "单查测试, 反序列化接口失败 : %d", err) } return &types.QuerySingleTestResp{ Data: respData, Api: req.Api, }, nil }