merchant.client.ticket.go 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. package shanghu
  2. import (
  3. "duoduo/apis/shanghu/models"
  4. "duoduo/models/shanghu"
  5. "duoduo/tools/app"
  6. "errors"
  7. "github.com/gin-gonic/gin"
  8. )
  9. // 充值
  10. func MerchantRecharge(c *gin.Context) {
  11. var inData models.MerchantRechargeRequest
  12. var merchantRecharge shanghu.MerchantRecharge
  13. var merchantClientTicket shanghu.MerchantClientTicket
  14. var clientOpenId shanghu.MerchantClientUser
  15. err := c.ShouldBindJSON(&inData)
  16. if err != nil {
  17. app.Error(c, 400, err, err.Error())
  18. return
  19. }
  20. // 查客户id
  21. clientOpenId.Code = inData.ClientCode
  22. clientInfo, err := clientOpenId.GetUserInfoByCode()
  23. if err != nil {
  24. if err.Error() == "record not found" {
  25. app.Error(c, 400, errors.New("请确认用户ID是否正确"), "请确认用户ID是否正确")
  26. return
  27. }
  28. app.Error(c, 400, err, err.Error())
  29. return
  30. }
  31. merchantRecharge.ID = inData.MerchantRechargeID
  32. merchantRechargeInfo, err := merchantRecharge.GetMerchantRecharge()
  33. if err != nil {
  34. app.Error(c, 400, err, err.Error())
  35. return
  36. }
  37. //json
  38. err = merchantClientTicket.Recharge(merchantRechargeInfo, clientInfo.ClientOpenID, inData.MerchantOpenID)
  39. if err != nil {
  40. app.Error(c, 400, err, err.Error())
  41. return
  42. }
  43. app.OK(c, nil, app.Success)
  44. }
  45. func GetMerchantRechargeList(c *gin.Context) {
  46. var inData models.MerchantRechargeTicketListRequest
  47. var sqlData shanghu.MerchantClientTicket
  48. var outDataList []models.MerchantRechargeTicketListReply
  49. //var merchantClientTicket shanghu.MerchantClientTicket
  50. err := c.ShouldBindJSON(&inData)
  51. if err != nil {
  52. app.Error(c, 400, err, err.Error())
  53. return
  54. }
  55. var pageSize = 10
  56. var pageIndex = 1
  57. if inData.PageSize != 0 {
  58. pageSize = inData.PageSize
  59. }
  60. if inData.PageIndex != 0 {
  61. pageIndex = inData.PageIndex
  62. }
  63. sqlData.ClientOpenID = inData.ClientOpenId
  64. sqlData.MerchantOpenID = inData.MerchantOpenId
  65. cashOutList, count, err := sqlData.MerchantRechargeTicketList(pageSize, pageIndex)
  66. if err != nil {
  67. app.Error(c, 500, err, err.Error())
  68. return
  69. }
  70. for _, v := range cashOutList {
  71. var merchant shanghu.Merchant
  72. var outData models.MerchantRechargeTicketListReply
  73. merchant.OpenId = v.MerchantOpenID
  74. merchantData, err := merchant.GetMerchant()
  75. if err != nil {
  76. app.Error(c, 500, err, err.Error())
  77. return
  78. }
  79. outData.MerchantOpenName = merchantData.MerchantName
  80. outData.MerchantOpenID = v.MerchantOpenID
  81. outData.ClientOpenID = v.ClientOpenID
  82. outData.RechargeProjectQuantity = v.RechargeProjectQuantity
  83. outData.RechargeProjectName = v.RechargeProjectName
  84. outData.TicketId = v.ID
  85. outDataList = append(outDataList, outData)
  86. }
  87. app.PageOK(c, outDataList, count, pageIndex, pageSize, app.Success)
  88. }