htfutures_trade_controller.go 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. package web_hook
  2. import (
  3. logger "eta/eta_mini_ht_api/common/component/log"
  4. "eta/eta_mini_ht_api/common/exception"
  5. "eta/eta_mini_ht_api/controllers"
  6. orderService "eta/eta_mini_ht_api/domian/order"
  7. "eta/eta_mini_ht_api/service/product"
  8. )
  9. type HTFuturesTradeController struct {
  10. controllers.WebHookController
  11. }
  12. type ss struct {
  13. ID string `json:"id"`
  14. User int `json:"user"`
  15. TradeOrderNo string `json:"tradeOrderNo"`
  16. }
  17. // InformPaymentResult 支付通知接口
  18. // @Summary 支付通知接口
  19. // @Description 支付通知接口
  20. // @Success 200 {object} controllers.BaseResponse
  21. // @router /v1/payment/informPaymentResult [post]
  22. func (h *HTFuturesTradeController) InformPaymentResult() {
  23. controllers.WrapWebhook(&h.WebHookController, func() (result *controllers.WrapData, err error) {
  24. result = h.InitWrapData("同步风险等级")
  25. ss := new(ss)
  26. h.GetPostParams(ss)
  27. logger.Info("支付结果通知: %v", ss)
  28. //privateKey, err := authUtils.ParsePrivateKey(htConfig.GetWebhookPrivateKey())
  29. _ = product.OpenProduct(ss.User, ss.ID)
  30. //htConfig := config.GetConfig(contants.HT).(*config.HTBizConfig)
  31. //webhookRequest := new(WebhookRequest)
  32. //h.GetPostParams(webhookRequest)
  33. //privateKey, err := authUtils.ParsePrivateKey(htConfig.GetWebhookPrivateKey())
  34. //if err != nil {
  35. // err = exception.NewWithException(exception.SysError, err.Error())
  36. // logger.Error("解析私钥失败: %v", err)
  37. // h.FailedResult("解析私钥失败", result)
  38. // return
  39. //}
  40. //decodeData, err := authUtils.DecryptWithRSA(privateKey, webhookRequest.Data)
  41. //if err != nil {
  42. // err = exception.NewWithException(exception.SysError, err.Error())
  43. // logger.Error("解密请求体失败: %v", err)
  44. // h.FailedResult("解密请求体失败", result)
  45. // return
  46. //}
  47. //syncCustomerRiskLevelReq := new(SyncCustomerRiskLevelReq)
  48. //err = json.Unmarshal(decodeData, syncCustomerRiskLevelReq)
  49. //if err != nil {
  50. // err = exception.NewWithException(exception.SyncRiskError, err.Error())
  51. // logger.Error("解析请求体失败: %v", err)
  52. // h.FailedResult("解析请求体失败", result)
  53. // return
  54. //}
  55. result = h.InitWrapData("支付结果应答成功")
  56. h.SuccessResult("success", nil, result)
  57. return
  58. })
  59. }
  60. // InformRefundResult 退款通知接口
  61. // @Summary 退款通知接口
  62. // @Description 退款通知接口
  63. // @Success 200 {object} controllers.BaseResponse
  64. // @router /v1/payment/informRefundResult [post]
  65. func (h *HTFuturesTradeController) InformRefundResult() {
  66. controllers.WrapWebhook(&h.WebHookController, func() (result *controllers.WrapData, err error) {
  67. result = h.InitWrapData("同步风险等级")
  68. ss := new(ss)
  69. h.GetPostParams(ss)
  70. flow, err := orderService.DealRefund(ss.TradeOrderNo, orderService.RefundSuccess)
  71. if err != nil {
  72. logger.Error("退款订单处理失败: %v", err)
  73. err = exception.NewWithException(exception.RefundDealFail, err.Error())
  74. h.FailedResult("退款订单处理失败", result)
  75. return
  76. }
  77. //处理退款订单
  78. if true {
  79. _ = product.CloseProduct(ss.User, flow.ProductOrderNo)
  80. }
  81. //创建meta_info
  82. //htConfig := config.GetConfig(contants.HT).(*config.HTBizConfig)
  83. //webhookRequest := new(WebhookRequest)
  84. //h.GetPostParams(webhookRequest)
  85. //privateKey, err := authUtils.ParsePrivateKey(htConfig.GetWebhookPrivateKey())
  86. //if err != nil {
  87. // err = exception.NewWithException(exception.SysError, err.Error())
  88. // logger.Error("解析私钥失败: %v", err)
  89. // h.FailedResult("解析私钥失败", result)
  90. // return
  91. //}
  92. //decodeData, err := authUtils.DecryptWithRSA(privateKey, webhookRequest.Data)
  93. //if err != nil {
  94. // err = exception.NewWithException(exception.SysError, err.Error())
  95. // logger.Error("解密请求体失败: %v", err)
  96. // h.FailedResult("解密请求体失败", result)
  97. // return
  98. //}
  99. //syncCustomerRiskLevelReq := new(SyncCustomerRiskLevelReq)
  100. //err = json.Unmarshal(decodeData, syncCustomerRiskLevelReq)
  101. //if err != nil {
  102. // err = exception.NewWithException(exception.SyncRiskError, err.Error())
  103. // logger.Error("解析请求体失败: %v", err)
  104. // h.FailedResult("解析请求体失败", result)
  105. // return
  106. //}
  107. result = h.InitWrapData("退款结果应答成功")
  108. h.SuccessResult("success", nil, result)
  109. return
  110. })
  111. }