merchant.active.group.buy.go 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. package shanghu
  2. import (
  3. "duoduo/apis/shanghu/models"
  4. "duoduo/models/shanghu"
  5. "duoduo/tools/app"
  6. "github.com/gin-gonic/gin"
  7. "time"
  8. )
  9. // 拼团与商品一起创建
  10. func GroupBuyCreate(c *gin.Context) {
  11. var inData models.CreateGroupBuyRequest
  12. var sqlData shanghu.MerchantActiveGroupBuy
  13. err := c.ShouldBindJSON(&inData)
  14. if err != nil {
  15. app.Error(c, 400, err, err.Error())
  16. return
  17. }
  18. sqlData.CreatedAt = time.Now()
  19. sqlData.UpdatedAt = time.Now()
  20. sqlData.MerchantOpenID = inData.MerchantOpenId
  21. sqlData.GroupBuyOneNum = inData.GroupBuyOneNum
  22. sqlData.GroupBuyOnePrice = inData.GroupBuyOnePrice
  23. sqlData.GroupBuyName = inData.GroupBuyName
  24. sqlData.GroupBuyMode = inData.GroupBuyMode
  25. sqlData.OriginalPrice = inData.OriginalPrice
  26. sqlData.GroupBuyThreePrice = inData.GroupBuyThreePrice
  27. sqlData.GroupBuyThreeNum = inData.GroupBuyThreeNum
  28. sqlData.GroupBuyTwoPrice = inData.GroupBuyTwoPrice
  29. sqlData.GroupBuyTwoNum = inData.GroupBuyTwoNum
  30. sqlData.GroupBuyFourPrice = inData.GroupBuyFourPrice
  31. sqlData.GroupBuyFourNum = inData.GroupBuyFourNum
  32. sqlData.GroupBuyUrl = inData.GroupBuyUrl
  33. sqlData.RebateRate = inData.RebateRate
  34. groupBuyData, err := sqlData.Create()
  35. if err != nil {
  36. app.Error(c, 500, err, err.Error())
  37. return
  38. }
  39. for _, v := range inData.GroupBuyProject {
  40. projectSql := shanghu.MerchantActiveGroupByProject{
  41. GroupBuyID: groupBuyData.ID,
  42. ProjectName: v.ProjectName,
  43. CancelNum: v.CancelNum,
  44. MerchantOpenID: inData.MerchantOpenId,
  45. CreatedAt: time.Now(),
  46. UpdatedAt: time.Now(),
  47. }
  48. _, err := projectSql.Create()
  49. if err != nil {
  50. app.Error(c, 500, err, err.Error())
  51. return
  52. }
  53. }
  54. app.OK(c, nil, app.Success)
  55. }
  56. func GroupBuyList(c *gin.Context) {
  57. var inData models.GroupBuyListRequest
  58. var sqlData shanghu.MerchantActiveGroupBuy
  59. var outData []models.GroupBuyListReply
  60. err := c.ShouldBindJSON(&inData)
  61. if err != nil {
  62. app.Error(c, 400, err, err.Error())
  63. return
  64. }
  65. sqlData.MerchantOpenID = inData.OpenId
  66. var pageSize = 10
  67. var pageIndex = 1
  68. if inData.PageSize != 0 {
  69. pageSize = inData.PageSize
  70. }
  71. if inData.PageIndex != 0 {
  72. pageIndex = inData.PageIndex
  73. }
  74. groupBuyInfoList, count, err := sqlData.GetGroupBuyListByOpenId(pageSize, pageIndex)
  75. if err != nil {
  76. app.Error(c, 500, err, err.Error())
  77. return
  78. }
  79. for _, v := range groupBuyInfoList {
  80. var groupBuyInfo models.GroupBuyListReply
  81. var groupBuyProject shanghu.MerchantActiveGroupByProject
  82. groupBuyInfo.GroupBuyName = v.GroupBuyName
  83. groupBuyInfo.GroupBuyMode = v.GroupBuyMode
  84. groupBuyInfo.GroupBuyUrl = v.GroupBuyUrl
  85. groupBuyInfo.GroupBuyThreeNum = v.GroupBuyThreeNum
  86. groupBuyInfo.GroupBuyThreePrice = v.GroupBuyThreePrice
  87. groupBuyInfo.GroupBuyFourNum = v.GroupBuyFourNum
  88. groupBuyInfo.GroupBuyFourPrice = v.GroupBuyFourPrice
  89. groupBuyInfo.GroupBuyTwoNum = v.GroupBuyTwoNum
  90. groupBuyInfo.GroupBuyTwoPrice = v.GroupBuyTwoPrice
  91. groupBuyInfo.GroupBuyOneNum = v.GroupBuyOneNum
  92. groupBuyInfo.GroupBuyOnePrice = v.GroupBuyOnePrice
  93. groupBuyInfo.MerchantOpenId = v.MerchantOpenID
  94. groupBuyInfo.OriginalPrice = v.OriginalPrice
  95. groupBuyInfo.RebateRate = v.RebateRate
  96. groupBuyInfo.ID = v.ID
  97. groupBuyProject.GroupBuyID = v.ID
  98. projectList, _, err := groupBuyProject.GetGroupBuyProjectList()
  99. if err != nil {
  100. app.Error(c, 500, err, err.Error())
  101. return
  102. }
  103. for _, v := range projectList {
  104. var groupBuyProjectInfo models.CreateGroupBuyProject
  105. groupBuyProjectInfo.ProjectName = v.ProjectName
  106. groupBuyProjectInfo.CancelNum = v.CancelNum
  107. groupBuyInfo.GroupBuyProject = append(groupBuyInfo.GroupBuyProject, groupBuyProjectInfo)
  108. }
  109. outData = append(outData, groupBuyInfo)
  110. }
  111. app.PageOK(c, outData, count, pageIndex, pageSize, app.Success)
  112. }