admin.order.amount.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. package user
  2. import (
  3. "duoduo/models/mysql"
  4. "duoduo/models/user"
  5. "duoduo/tools/app"
  6. "github.com/shopspring/decimal"
  7. "github.com/gin-gonic/gin"
  8. )
  9. func AdminOrderAmount(c *gin.Context) {
  10. var inData user.AdminOrderAmountRequest
  11. var outData user.AdminOrderAmountResponse
  12. var user mysql.User
  13. var order mysql.Order
  14. err := c.ShouldBindJSON(&inData)
  15. if err != nil {
  16. app.Error(c, 400, err, err.Error())
  17. return
  18. }
  19. userNum, err := user.GetTotal()
  20. if err != nil {
  21. app.Error(c, 400, err, err.Error())
  22. return
  23. }
  24. orderNum, err := order.GetTotal()
  25. if err != nil {
  26. app.Error(c, 400, err, err.Error())
  27. return
  28. }
  29. amount, err := order.GetAdminAmount()
  30. if err != nil {
  31. app.Error(c, 500, err, err.Error())
  32. return
  33. }
  34. outData.PlatformAmount, err = order.GetPlatform()
  35. if err != nil {
  36. app.Error(c, 500, err, err.Error())
  37. return
  38. }
  39. outData.AdminAmount = decimal.NewFromInt(amount)
  40. outData.AdminAmount = outData.AdminAmount.Mul(decimal.NewFromFloat(0.0015)).Round(2)
  41. outData.OrderNum = orderNum
  42. outData.UserNum = userNum
  43. app.OK(c, outData, app.Success)
  44. }