user.order.get.go 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. package user
  2. import (
  3. "duoduo/models/mysql"
  4. "duoduo/models/user"
  5. "duoduo/tools/app"
  6. "fmt"
  7. "github.com/gin-gonic/gin"
  8. "github.com/shopspring/decimal"
  9. )
  10. func OrderGet(c *gin.Context) {
  11. var inData user.OrderGetRequest
  12. var outData user.OrderGetResponse
  13. var orderOpneId mysql.Order
  14. var pageSize = 10
  15. var pageIndex = 1
  16. err := c.ShouldBindJSON(&inData)
  17. if err != nil {
  18. app.Error(c, 400, err, err.Error())
  19. return
  20. }
  21. if inData.PageSize != 0 {
  22. pageSize = inData.PageSize
  23. }
  24. if inData.PageIndex != 0 {
  25. pageIndex = inData.PageIndex
  26. }
  27. orderOpneId.OpenId = inData.OpenId
  28. orderVal, count, err := orderOpneId.GetOrderOpenIdList(pageSize, pageIndex, inData.UserStatus)
  29. if err != nil {
  30. app.Error(c, 500, err, err.Error())
  31. return
  32. }
  33. fmt.Print(orderVal)
  34. for i := 0; i < len(orderVal); i++ {
  35. var orderInfo user.OrderInfo
  36. orderInfo.Order = orderVal[i]
  37. if inData.UserStatus == 0 {
  38. orderInfo.Amount = orderVal[i].Amount
  39. } else if inData.UserStatus == 1 {
  40. orderInfo.Amount = orderVal[i].Amount1
  41. } else if inData.UserStatus == 2 {
  42. orderInfo.Amount = orderVal[i].Amount2
  43. } else if inData.UserStatus == 3 {
  44. orderInfo.Amount = decimal.NewFromInt(orderVal[i].PromotionAmount).Mul(decimal.NewFromFloat(0.0015)).Round(2)
  45. if orderVal[i].OpenId == inData.OpenId { //管理员价格 一级代理
  46. orderInfo.Amount = orderInfo.Order.Amount.Add(orderInfo.Amount)
  47. } else if orderVal[i].OpenId1 == inData.OpenId {
  48. orderInfo.Amount = orderInfo.Order.Amount1.Add(orderInfo.Amount)
  49. } else if orderVal[i].OpenId2 == inData.OpenId {
  50. orderInfo.Amount = orderInfo.Order.Amount2.Add(orderInfo.Amount)
  51. }
  52. } else {
  53. app.Error(c, 500, err, "UserStatus error")
  54. return
  55. }
  56. outData.OrderInfo = append(outData.OrderInfo, orderInfo)
  57. }
  58. app.PageOK(c, outData, count, pageIndex, pageSize, app.Success)
  59. }