123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- package shanghu
- import (
- "duoduo/apis/shanghu/models"
- "duoduo/models/shanghu"
- "duoduo/tools/app"
- "github.com/gin-gonic/gin"
- "time"
- )
- // 拼团与商品一起创建
- func GroupBuyCreate(c *gin.Context) {
- var inData models.CreateGroupBuyRequest
- var sqlData shanghu.MerchantActiveGroupBuy
- err := c.ShouldBindJSON(&inData)
- if err != nil {
- app.Error(c, 400, err, err.Error())
- return
- }
- sqlData.CreatedAt = time.Now()
- sqlData.UpdatedAt = time.Now()
- sqlData.MerchantOpenID = inData.MerchantOpenId
- sqlData.GroupBuyOneNum = inData.GroupBuyOneNum
- sqlData.GroupBuyOnePrice = inData.GroupBuyOnePrice
- sqlData.GroupBuyName = inData.GroupBuyName
- sqlData.GroupBuyMode = inData.GroupBuyMode
- sqlData.OriginalPrice = inData.OriginalPrice
- sqlData.GroupBuyThreePrice = inData.GroupBuyThreePrice
- sqlData.GroupBuyThreeNum = inData.GroupBuyThreeNum
- sqlData.GroupBuyTwoPrice = inData.GroupBuyTwoPrice
- sqlData.GroupBuyTwoNum = inData.GroupBuyTwoNum
- sqlData.GroupBuyFourPrice = inData.GroupBuyFourPrice
- sqlData.GroupBuyFourNum = inData.GroupBuyFourNum
- sqlData.GroupBuyUrl = inData.GroupBuyUrl
- sqlData.RebateRate = inData.RebateRate
- groupBuyData, err := sqlData.Create()
- if err != nil {
- app.Error(c, 500, err, err.Error())
- return
- }
- for _, v := range inData.GroupBuyProject {
- projectSql := shanghu.MerchantActiveGroupByProject{
- GroupBuyID: groupBuyData.ID,
- ProjectName: v.ProjectName,
- CancelNum: v.CancelNum,
- MerchantOpenID: inData.MerchantOpenId,
- CreatedAt: time.Now(),
- UpdatedAt: time.Now(),
- }
- _, err := projectSql.Create()
- if err != nil {
- app.Error(c, 500, err, err.Error())
- return
- }
- }
- app.OK(c, nil, app.Success)
- }
- func GroupBuyList(c *gin.Context) {
- var inData models.GroupBuyListRequest
- var sqlData shanghu.MerchantActiveGroupBuy
- var outData []models.GroupBuyListReply
- err := c.ShouldBindJSON(&inData)
- if err != nil {
- app.Error(c, 400, err, err.Error())
- return
- }
- sqlData.MerchantOpenID = inData.OpenId
- var pageSize = 10
- var pageIndex = 1
- if inData.PageSize != 0 {
- pageSize = inData.PageSize
- }
- if inData.PageIndex != 0 {
- pageIndex = inData.PageIndex
- }
- groupBuyInfoList, count, err := sqlData.GetGroupBuyListByOpenId(pageSize, pageIndex)
- if err != nil {
- app.Error(c, 500, err, err.Error())
- return
- }
- for _, v := range groupBuyInfoList {
- var groupBuyInfo models.GroupBuyListReply
- var groupBuyProject shanghu.MerchantActiveGroupByProject
- groupBuyInfo.GroupBuyName = v.GroupBuyName
- groupBuyInfo.GroupBuyMode = v.GroupBuyMode
- groupBuyInfo.GroupBuyUrl = v.GroupBuyUrl
- groupBuyInfo.GroupBuyThreeNum = v.GroupBuyThreeNum
- groupBuyInfo.GroupBuyThreePrice = v.GroupBuyThreePrice
- groupBuyInfo.GroupBuyFourNum = v.GroupBuyFourNum
- groupBuyInfo.GroupBuyFourPrice = v.GroupBuyFourPrice
- groupBuyInfo.GroupBuyTwoNum = v.GroupBuyTwoNum
- groupBuyInfo.GroupBuyTwoPrice = v.GroupBuyTwoPrice
- groupBuyInfo.GroupBuyOneNum = v.GroupBuyOneNum
- groupBuyInfo.GroupBuyOnePrice = v.GroupBuyOnePrice
- groupBuyInfo.MerchantOpenId = v.MerchantOpenID
- groupBuyInfo.OriginalPrice = v.OriginalPrice
- groupBuyInfo.RebateRate = v.RebateRate
- groupBuyInfo.ID = v.ID
- groupBuyProject.GroupBuyID = v.ID
- projectList, _, err := groupBuyProject.GetGroupBuyProjectList()
- if err != nil {
- app.Error(c, 500, err, err.Error())
- return
- }
- for _, v := range projectList {
- var groupBuyProjectInfo models.CreateGroupBuyProject
- groupBuyProjectInfo.ProjectName = v.ProjectName
- groupBuyProjectInfo.CancelNum = v.CancelNum
- groupBuyInfo.GroupBuyProject = append(groupBuyInfo.GroupBuyProject, groupBuyProjectInfo)
- }
- outData = append(outData, groupBuyInfo)
- }
- app.PageOK(c, outData, count, pageIndex, pageSize, app.Success)
- }
|