package shanghu import ( "duoduo/apis/shanghu/models" "duoduo/models/shanghu" "duoduo/tools/app" "errors" "github.com/gin-gonic/gin" "time" ) // 中奖商品与库存 func DrawProductCreate(c *gin.Context) { var inData models.CreateDrawProductRequest var sqlData shanghu.MerchantActiveDrawProduct err := c.ShouldBindJSON(&inData) if err != nil { app.Error(c, 400, err, err.Error()) return } if inData.DrawProductName == "" || inData.DrawUrl == "" || inData.TotalStock <= 0 { app.Error(c, 500, errors.New("必填参数缺失"), "必填参数缺失") return } if inData.DrawOdds <= 0 { app.Error(c, 500, errors.New("中奖率需要大于0"), "中奖率需要大于0") return } if inData.DrawOdds > 100 { app.Error(c, 500, errors.New("中奖率不能大于100"), "中奖率不能大于100") return } //if !inData.DrawOdds.GreaterThan(decimal.NewFromFloat(0)) { // app.Error(c, 500, errors.New("中奖率需要大于0"), "中奖率需要大于0") // return //} sqlData.CreatedAt = time.Now() sqlData.UpdatedAt = time.Now() sqlData.DrawOdds = inData.DrawOdds sqlData.TotalStock = inData.TotalStock sqlData.MerchantOpenID = inData.MerchantOpenID sqlData.DrawProductName = inData.DrawProductName sqlData.Stock = inData.TotalStock sqlData.DrawUrl = inData.DrawUrl sqlData.Version = 0 sqlData.IsPrize = inData.IsPrize _, err = sqlData.Create() if err != nil { app.Error(c, 500, err, err.Error()) return } app.OK(c, nil, app.Success) } // 奖品商品列表 func DrawProductList(c *gin.Context) { var inData models.DrawProductListRequest var sqlData shanghu.MerchantActiveDrawProduct var outData []models.DrawProductListReply 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 } drawProductList, count, err := sqlData.GetDrawProductListByOpenId(pageSize, pageIndex) if err != nil { app.Error(c, 500, err, err.Error()) return } for _, v := range drawProductList { var drawProductInfo models.DrawProductListReply drawProductInfo.DrawProductName = v.DrawProductName drawProductInfo.DrawOdds = v.DrawOdds drawProductInfo.MerchantOpenID = v.MerchantOpenID drawProductInfo.DrawUrl = v.DrawUrl drawProductInfo.ActiveConfigID = v.ActiveConfigID drawProductInfo.ID = v.ID drawProductInfo.Stock = v.Stock drawProductInfo.TotalStock = v.TotalStock drawProductInfo.IsPrize = v.IsPrize outData = append(outData, drawProductInfo) } app.PageOK(c, outData, count, pageIndex, pageSize, app.Success) }