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