package authority import ( "chainweaver.org.cn/chainweaver/did/did-mgr-common-service/errorcode" "chainweaver.org.cn/chainweaver/did/did-mgr-common-service/internal/config" "chainweaver.org.cn/chainweaver/did/did-mgr-common-service/internal/utils" "context" "encoding/json" "fmt" "net/http" "strconv" "time" "chainweaver.org.cn/chainweaver/did/did-mgr-common-service/internal/svc" "chainweaver.org.cn/chainweaver/did/did-mgr-common-service/internal/types" "github.com/zeromicro/go-zero/core/logx" ) type OperatorAuthVerifyLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } func NewOperatorAuthVerifyLogic(ctx context.Context, svcCtx *svc.ServiceContext) *OperatorAuthVerifyLogic { return &OperatorAuthVerifyLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } // OperatorAuthVerify 运营平台实名认证校验接口 func (l *OperatorAuthVerifyLogic) OperatorAuthVerify(req *types.AuthVerifyReq) (resp *types.CommonResp, err error) { resp = &types.CommonResp{ Code: types.SucceedCode, Msg: types.SucceedMsg, } authResp, err := EnterpriseAuthVerify(config.ConfigIns.AuthService, req.Random) if err != nil { err = fmt.Errorf("get auth number failed, err[%s]", err) errorcode.EnterpriseRealNameAuthVerifyError.BuildResult(resp, err) l.Logger.Error(err.Error()) return resp, nil } // 将实名认证信息返回给调用方 resp.Data = authResp return resp, nil } func EnterpriseAuthVerify(auth *config.AuthService, random string) (*AuthServiceCreateReq, error) { authServiceCreateReq := AuthServiceCreateReq{} authServiceCreateReq.MessageHeader.Authcode = auth.AuthCode authServiceCreateReq.MessageHeader.Businesstype = QueryBusinessType authServiceCreateReq.MessageHeader.Syscode = auth.SysCode authServiceCreateReq.MessageHeader.Sign = auth.Sign authServiceCreateReq.MessageHeader.Version = AuthVersion authServiceCreateReq.MessageContent.Qrtype = QueryQrType authServiceCreateReq.MessageContent.Rettype = QueryRetType authServiceCreateReq.MessageContent.Opertime = strconv.FormatInt(time.Now().Unix(), 10) authServiceCreateReq.MessageContent.Qrid = random targetUrl := auth.Url param, _ := json.Marshal(authServiceCreateReq) respBz, internalErr := utils.DidServerReq(targetUrl, "", http.MethodPost, param) if internalErr != nil { return nil, internalErr } respAuth := &AuthServiceCreateReq{} internalErr = json.Unmarshal(respBz, respAuth) if internalErr != nil { return nil, internalErr } //if respAuth.MessageHeader.ErrorCode != 0 { // return nil, fmt.Errorf("EnterpriseAuthVerify HttpServerReq response errorCode is not 0, errorCode=%d", // respAuth.MessageHeader.ErrorCode) //} return respAuth, nil }