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) }