|
@@ -92,6 +92,7 @@ func ActiveConfigCreate(c *gin.Context) {
|
|
|
sqlData.GroupBuyUrl = inData.GroupBuyUrl
|
|
|
sqlData.GroupBuy = `{}`
|
|
|
sqlData.DrawProduct = `{}`
|
|
|
+ sqlData.BackgroundImage = inData.BackgroundImage
|
|
|
|
|
|
configData, err := sqlData.Create()
|
|
|
if err != nil {
|
|
@@ -128,6 +129,7 @@ func ActiveConfigInfo(c *gin.Context) {
|
|
|
var outData models.ActiveConfigReply
|
|
|
var drawInfoSql shanghu.MerchantActiveDrawProduct
|
|
|
var groupBuy shanghu.MerchantActiveGroupBuy
|
|
|
+ var merchant shanghu.Merchant
|
|
|
|
|
|
err := c.ShouldBindJSON(&inData)
|
|
|
if err != nil {
|
|
@@ -217,6 +219,15 @@ func ActiveConfigInfo(c *gin.Context) {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ merchant.OpenId = inData.MerchantOpenID
|
|
|
+ merchantInfo, err := merchant.GetMerchant()
|
|
|
+ if err != nil {
|
|
|
+ app.Error(c, 500, err, err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ outData.MerchantName = merchantInfo.MerchantName
|
|
|
+
|
|
|
app.OK(c, outData, app.Success)
|
|
|
|
|
|
}
|
|
@@ -269,6 +280,8 @@ func ActiveConfigList(c *gin.Context) {
|
|
|
func Draw(c *gin.Context) {
|
|
|
var inData models.DrawRequest
|
|
|
var sqlData shanghu.MerchantActiveConfig
|
|
|
+ var drawNumSql shanghu.ClientActiveDrawNum
|
|
|
+ var draw shanghu.ClientActiveDrawLog
|
|
|
var outData models.DrawReply
|
|
|
|
|
|
err := c.ShouldBindJSON(&inData)
|
|
@@ -276,6 +289,30 @@ func Draw(c *gin.Context) {
|
|
|
app.Error(c, 400, err, err.Error())
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ // 校验抽奖次数
|
|
|
+ drawNumSql.ActiveConfigID = inData.ActiveConfigID
|
|
|
+ drawNumSql.ClientOpenID = inData.ClientOpenID
|
|
|
+ drawNum, err := drawNumSql.GetDrawNum()
|
|
|
+ if err != nil {
|
|
|
+ app.Error(c, 500, err, err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ //校验数量
|
|
|
+ draw.ActiveConfigID = inData.ActiveConfigID
|
|
|
+ draw.ClientOpenID = inData.ClientOpenID
|
|
|
+ clientDrawNum, err := draw.GetClientActiveDrawLogNum()
|
|
|
+ if err != nil {
|
|
|
+ app.Error(c, 500, err, err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if drawNum+1 < clientDrawNum {
|
|
|
+ app.Error(c, 500, errors.New("抽奖次数用完"), "抽奖次数用完")
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
// 先校验是否有必中抽奖
|
|
|
sqlData.ID = inData.ActiveConfigID
|
|
|
config, err := sqlData.GetConfigInfoById()
|