finance_controller.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. package controller
  2. import (
  3. "fmt"
  4. "github.com/gin-gonic/gin"
  5. "github.com/sirupsen/logrus"
  6. "youngee_b_api/app/service"
  7. "youngee_b_api/app/util"
  8. "youngee_b_api/app/vo"
  9. )
  10. type FinanceController struct{}
  11. // 充值管理——对公转账
  12. func (t FinanceController) TransferToPublic(c *gin.Context) {
  13. param := &vo.RechargeTransferParam{}
  14. err := c.BindJSON(param)
  15. if err != nil {
  16. logrus.Errorf("Request bind err:%+v\n", err)
  17. returnError(c, 40000, "参数错误")
  18. return
  19. }
  20. rechargeId, err := service.RechargeService{}.TransferToPublic(param)
  21. if err != nil {
  22. logrus.Errorf("[TransferToPublic] call Show err:%+v\n", err)
  23. returnError(c, 40000, "error")
  24. return
  25. }
  26. resultMap := make(map[string]string)
  27. resultMap["rechargeId"] = *rechargeId
  28. returnSuccess(c, 20000, resultMap)
  29. }
  30. // 获取微信支付CodeUrl
  31. func (t FinanceController) GetCodeUrl(c *gin.Context) {
  32. param := &vo.GetCodeUrlParam{}
  33. err := c.BindJSON(param)
  34. if err != nil {
  35. logrus.Errorf("Request bind err:%+v\n", err)
  36. returnError(c, 40000, "参数错误")
  37. return
  38. }
  39. tradeId := util.GetRandomString(32)
  40. fmt.Println("amount:", param.Amount)
  41. codeUrl, err := service.RechargeService{}.NativeApiServicePrepay(tradeId, param.Amount)
  42. if err != nil {
  43. logrus.Errorf("[GetCodeUrl] call Show err:%+v\n", err)
  44. returnError(c, 40000, "error")
  45. return
  46. }
  47. reCodeUrl := new(vo.ReCodeUrl)
  48. reCodeUrl.CodeUrl = codeUrl
  49. reCodeUrl.TradeId = tradeId
  50. returnSuccess(c, 20000, reCodeUrl)
  51. }
  52. // 根据交易id查询微信是否扫码付款
  53. func (t FinanceController) QueryOrderByTradeId(c *gin.Context) {
  54. param := &vo.QueryOrderByTradeIdParam{}
  55. err := c.BindJSON(param)
  56. if err != nil {
  57. logrus.Errorf("Request bind err:%+v\n", err)
  58. returnError(c, 40000, "参数错误")
  59. return
  60. }
  61. tradeState, err := service.RechargeService{}.QueryOrderByTradeId(param.TradeId)
  62. if err != nil {
  63. logrus.Errorf("[QueryOrderByTradeId] call Show err:%+v\n", err)
  64. returnError(c, 40000, "error")
  65. return
  66. }
  67. returnSuccess(c, 20000, tradeState)
  68. }