account_controller.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. package user
  2. import (
  3. logger "eta/eta_mini_ht_api/common/component/log"
  4. "eta/eta_mini_ht_api/controllers"
  5. "eta/eta_mini_ht_api/service/facade"
  6. "github.com/google/uuid"
  7. "net/url"
  8. "strings"
  9. )
  10. type AccountController struct {
  11. controllers.BaseController
  12. }
  13. type RiskInfoTokenResp struct {
  14. Token string `json:"token"`
  15. }
  16. const (
  17. TraceHeaderKey = "X-Trace-ID"
  18. MDCTraceId = "traceId"
  19. )
  20. func (a *AccountController) Prepare() {
  21. var requestBody string
  22. uri := a.Ctx.Input.URI()
  23. method := a.Ctx.Input.Method()
  24. if method == "GET" {
  25. requestBody = a.Ctx.Request.RequestURI
  26. } else {
  27. requestBody, _ = url.QueryUnescape(string(a.Ctx.Input.RequestBody))
  28. }
  29. ip := a.Ctx.Input.IP()
  30. a.Ctx.Input.URL()
  31. traceId := uuid.NewString()
  32. traceId = strings.ReplaceAll(traceId, "-", "")
  33. a.Ctx.Output.Header(TraceHeaderKey, traceId)
  34. //// 设置MDC中的traceId
  35. a.Ctx.Input.SetData(MDCTraceId, traceId)
  36. // 清理MDC中的traceId
  37. logger.InfoWithTraceId(a.Ctx, "webhookRequest:[uri:%s, requestBody:%s, ip:%s]", uri, requestBody, ip)
  38. }
  39. // GetRiskInfoToken 获取风险测评问卷请求Token
  40. // @Summary 获取风险测评问卷请求Token
  41. // @Description 获取风险测评问卷请求Token
  42. // @Success 200 {object} controllers.BaseResponse
  43. // @router /v1/riskTestToken/ [get]
  44. func (a *AccountController) GetRiskInfoToken(mobile string) {
  45. controllers.Wrap(&a.BaseController, func() (result *controllers.WrapData, err error) {
  46. result = a.InitWrapData("获取风险测评问卷请求Token失败")
  47. token, err := facade.GetRiskTestToken(mobile)
  48. if err != nil {
  49. logger.InfoWithTraceId(a.Ctx, err.Error())
  50. a.FailedResult("风险测评问卷请求token生成失败", result)
  51. return
  52. }
  53. result = a.InitWrapData("风险测评问卷请求token生成成功")
  54. a.SuccessResult("success", RiskInfoTokenResp{
  55. Token: token,
  56. }, result)
  57. return
  58. })
  59. }