finance_controller.go 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  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, timeExpire, 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, err.Error())
  45. return
  46. }
  47. reCodeUrl := vo.ReCodeUrl{
  48. CodeUrl: codeUrl,
  49. TradeId: tradeId,
  50. TimeExpire: timeExpire.Format("2006-01-02 15:04:05"),
  51. }
  52. returnSuccess(c, 20000, reCodeUrl)
  53. }
  54. // 根据交易id查询微信是否扫码付款
  55. func (t FinanceController) QueryOrderByTradeId(c *gin.Context) {
  56. param := &vo.QueryOrderByTradeIdParam{}
  57. err := c.BindJSON(param)
  58. if err != nil {
  59. logrus.Errorf("Request bind err:%+v\n", err)
  60. returnError(c, 40000, "参数错误")
  61. return
  62. }
  63. tradeState, err := service.RechargeService{}.QueryOrderByTradeId(param.TradeId)
  64. if err != nil {
  65. logrus.Errorf("[QueryOrderByTradeId] call Show err:%+v\n", err)
  66. returnError(c, 40000, err.Error())
  67. return
  68. }
  69. resultMap := make(map[string]string)
  70. resultMap["tradeState"] = tradeState
  71. returnSuccess(c, 20000, resultMap)
  72. }
  73. // 余额管理——总金额、可用余额、冻结金额
  74. func (t FinanceController) ShowBalance(c *gin.Context) {
  75. param := &vo.BalanceParam{}
  76. err := c.BindJSON(param)
  77. if err != nil {
  78. logrus.Errorf("Request bind err:%+v\n", err)
  79. returnError(c, 40000, "参数错误")
  80. return
  81. }
  82. reBalanceShow, err := service.RechargeService{}.ShowBalance(param)
  83. if err != nil {
  84. logrus.Errorf("[ShowBalance] call Show err:%+v\n", err)
  85. returnError(c, 40000, err.Error())
  86. return
  87. }
  88. returnSuccess(c, 20000, reBalanceShow)
  89. }
  90. // 余额管理——冻结记录
  91. func (t FinanceController) FrozenInfoList(c *gin.Context) {
  92. param := &vo.BalanceParam{}
  93. err := c.BindJSON(param)
  94. if err != nil {
  95. logrus.Errorf("Request bind err:%+v\n", err)
  96. returnError(c, 40000, "参数错误")
  97. return
  98. }
  99. result, err := service.RechargeService{}.FrozenInfoList(param)
  100. if err != nil {
  101. logrus.Errorf("[FrozenInfoList] call Show err:%+v\n", err)
  102. returnError(c, 40000, err.Error())
  103. return
  104. }
  105. returnSuccess(c, 20000, result)
  106. }
  107. // 充值管理——累计充值金额、确认中金额
  108. func (t FinanceController) ShowRecharge(c *gin.Context) {
  109. param := &vo.RechargeParam{}
  110. err := c.BindJSON(param)
  111. if err != nil {
  112. logrus.Errorf("Request bind err:%+v\n", err)
  113. returnError(c, 40000, "参数错误")
  114. return
  115. }
  116. reRechargeShow, err := service.RechargeService{}.ShowRecharge(param)
  117. if err != nil {
  118. logrus.Errorf("[ShowRecharge] call Show err:%+v\n", err)
  119. returnError(c, 40000, err.Error())
  120. return
  121. }
  122. returnSuccess(c, 20000, reRechargeShow)
  123. }
  124. // 充值管理——充值记录
  125. func (t FinanceController) RechargeInfoList(c *gin.Context) {
  126. param := &vo.RechargeParam{}
  127. err := c.BindJSON(param)
  128. if err != nil {
  129. logrus.Errorf("Request bind err:%+v\n", err)
  130. returnError(c, 40000, "参数错误")
  131. return
  132. }
  133. result, err := service.RechargeService{}.RechargeInfoList(param)
  134. if err != nil {
  135. logrus.Errorf("[RechargeInfoList] call Show err:%+v\n", err)
  136. returnError(c, 40000, err.Error())
  137. return
  138. }
  139. returnSuccess(c, 20000, result)
  140. }