package shanghu import ( "duoduo/apis/shanghu/models" "duoduo/models/shanghu" "duoduo/tools/app" "errors" "github.com/gin-gonic/gin" "github.com/shopspring/decimal" "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.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 = 0 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) }