package user import ( logger "eta/eta_mini_ht_api/common/component/log" "eta/eta_mini_ht_api/controllers" "eta/eta_mini_ht_api/service/facade" "github.com/google/uuid" "net/url" "strings" ) type AccountController struct { controllers.BaseController } type RiskInfoTokenResp struct { Token string `json:"token"` } const ( TraceHeaderKey = "X-Trace-ID" MDCTraceId = "traceId" ) func (a *AccountController) Prepare() { var requestBody string uri := a.Ctx.Input.URI() method := a.Ctx.Input.Method() if method == "GET" { requestBody = a.Ctx.Request.RequestURI } else { requestBody, _ = url.QueryUnescape(string(a.Ctx.Input.RequestBody)) } ip := a.Ctx.Input.IP() a.Ctx.Input.URL() traceId := uuid.NewString() traceId = strings.ReplaceAll(traceId, "-", "") a.Ctx.Output.Header(TraceHeaderKey, traceId) //// 设置MDC中的traceId a.Ctx.Input.SetData(MDCTraceId, traceId) // 清理MDC中的traceId logger.InfoWithTraceId(a.Ctx, "webhookRequest:[uri:%s, requestBody:%s, ip:%s]", uri, requestBody, ip) } // GetRiskInfoToken 获取风险测评问卷请求Token // @Summary 获取风险测评问卷请求Token // @Description 获取风险测评问卷请求Token // @Success 200 {object} controllers.BaseResponse // @router /v1/riskTestToken/ [get] func (a *AccountController) GetRiskInfoToken(mobile string) { controllers.Wrap(&a.BaseController, func() (result *controllers.WrapData, err error) { result = a.InitWrapData("获取风险测评问卷请求Token失败") token, err := facade.GetRiskTestToken(mobile) if err != nil { logger.InfoWithTraceId(a.Ctx, err.Error()) a.FailedResult("风险测评问卷请求token生成失败", result) return } result = a.InitWrapData("风险测评问卷请求token生成成功") a.SuccessResult("success", RiskInfoTokenResp{ Token: token, }, result) return }) }