@ -12,6 +12,7 @@ import (
"server/pb"
"server/pb"
"server/util"
"server/util"
"sort"
"sort"
"strconv"
"strings"
"strings"
"time"
"time"
@ -773,15 +774,51 @@ func ActivityLuckyCodeDraw(c *gin.Context) {
if ! a . S ( req ) {
if ! a . S ( req ) {
return
return
}
}
resp := & values . ActivityLuckyCodeDrawResp { }
a . Data = resp
code , _ := strconv . Atoi ( req . LuckyCode )
var reward int64
// 判断是否为分享吗
upShareInfo := call . GetShareInfoByCode ( req . LuckyCode )
if upShareInfo . ID > 0 {
if upShareInfo . UID == a . UID {
a . Code = values . CodeRetry
a . Msg = "code error"
return
}
shareInfo := call . GetShareInfo ( a . UID )
if shareInfo . UP1 > 0 {
a . Code = values . CodeRetry
a . Msg = "has binding"
return
}
call . ShareBind ( req . LuckyCode , true , a . UID , a . Channel )
reward = call . GetConfigPlatform ( ) . ShareBindReward
_ , err := call . UpdateCurrencyPro ( & common . UpdateCurrency {
CurrencyBalance : & common . CurrencyBalance {
UID : a . UID ,
Type : common . CurrencyINR ,
Value : reward ,
Event : common . CurrencyEventTask ,
Exi1 : code ,
NeedBet : call . GetConfigCurrencyResourceNeedBet ( common . CurrencyResourceBonus , reward ) ,
} ,
} )
if err != nil {
log . Error ( "err:%v" , err )
a . Code = values . CodeRetry
a . Msg = "code error"
return
}
} else {
now := time . Now ( )
now := time . Now ( )
luckyCode := & common . ActivityLuckyCode { Code : req . LuckyCode , Date : now . Format ( "20060102" ) }
luckyCode := & common . ActivityLuckyCode { Code : c ode, Date : now . Format ( "20060102" ) }
if ! a . MGet ( luckyCode ) {
if ! a . MGet ( luckyCode ) {
a . Code = values . CodeParam
a . Code = values . CodeParam
a . Msg = "आपके द् वा रा दर् ज कि या गया को ड ग़ लत है "
a . Msg = "The code you entered is incorrect "
return
return
}
}
resp := & values . ActivityLuckyCodeDrawResp { }
a . Data = resp
codeType := luckyCode . Type
codeType := luckyCode . Type
data := & common . ActivityLuckyCodeData { UID : a . UID }
data := & common . ActivityLuckyCodeData { UID : a . UID }
@ -789,7 +826,7 @@ func ActivityLuckyCodeDraw(c *gin.Context) {
if ( codeType == common . LuckyCodeTypeNormal && util . IsSameDayTimeStamp ( now . Unix ( ) , data . LastDraw ) ) ||
if ( codeType == common . LuckyCodeTypeNormal && util . IsSameDayTimeStamp ( now . Unix ( ) , data . LastDraw ) ) ||
( codeType == common . LuckyCodeTypeVip && util . IsSameDayTimeStamp ( now . Unix ( ) , data . LastVipDraw ) ) {
( codeType == common . LuckyCodeTypeVip && util . IsSameDayTimeStamp ( now . Unix ( ) , data . LastVipDraw ) ) {
a . Code = values . CodeParam
a . Code = values . CodeParam
a . Msg = "इस को ड का पहले ही उपयो ग कि या जा चु का है "
a . Msg = "This code has already been used "
return
return
}
}
// 开始发奖
// 开始发奖
@ -798,7 +835,7 @@ func ActivityLuckyCodeDraw(c *gin.Context) {
if total == 0 {
if total == 0 {
log . Error ( "con:%+v invalid,uid:%d" , con , a . UID )
log . Error ( "con:%+v invalid,uid:%d" , con , a . UID )
a . Code = values . CodeParam
a . Code = values . CodeParam
a . Msg = "रू पा ं तरण को ड त् रु टि "
a . Msg = "code error "
return
return
}
}
if data . ID == 0 {
if data . ID == 0 {
@ -828,17 +865,14 @@ func ActivityLuckyCodeDraw(c *gin.Context) {
}
}
ran := rand . Int63n ( total )
ran := rand . Int63n ( total )
var rans , reward int64
var rans int64
id := 0
for _ , v := range con {
for _ , v := range con {
rans += v . Per
rans += v . Per
if ran < rans {
if ran < rans {
id = v . ID
reward = v . Reward
reward = v . Reward
break
break
}
}
}
}
_ , err := call . UpdateCurrencyPro ( & common . UpdateCurrency {
_ , err := call . UpdateCurrencyPro ( & common . UpdateCurrency {
CurrencyBalance : & common . CurrencyBalance {
CurrencyBalance : & common . CurrencyBalance {
UID : a . UID ,
UID : a . UID ,
@ -846,18 +880,20 @@ func ActivityLuckyCodeDraw(c *gin.Context) {
Value : reward ,
Value : reward ,
Event : common . CurrencyEventTask ,
Event : common . CurrencyEventTask ,
Exs1 : fmt . Sprintf ( "%d" , codeType ) ,
Exs1 : fmt . Sprintf ( "%d" , codeType ) ,
Exi1 : req . LuckyC ode,
Exi1 : c ode,
NeedBet : call . GetConfigCurrencyResourceNeedBet ( common . CurrencyResourceBonus , reward ) ,
NeedBet : call . GetConfigCurrencyResourceNeedBet ( common . CurrencyResourceBonus , reward ) ,
} ,
} ,
} )
} )
if err != nil {
if err != nil {
log . Error ( "err:%v" , err )
log . Error ( "err:%v" , err )
a . Code = values . CodeRetry
a . Code = values . CodeRetry
a . Msg = "रू पा ं तरण को ड त् रु टि "
a . Msg = "code error "
return
return
}
}
call . UploadActivityData ( a . UID , common . ActivityIDLuckyCode , common . ActivityDataJoin , reward )
call . UploadActivityData ( a . UID , common . ActivityIDLuckyCode , common . ActivityDataJoin , reward )
resp . ID = id
}
resp . Reward = reward
}
}
// day 二进制从0位开始,实际签到日期需减1
// day 二进制从0位开始,实际签到日期需减1
@ -1356,6 +1392,7 @@ func ActivityWeekCardInfo(c *gin.Context) {
if resp . Status && resp . RechargeStatus {
if resp . Status && resp . RechargeStatus {
call . PushRed ( a . UID , pb . RedPointModule_RedPointWeekCard , 1 )
call . PushRed ( a . UID , pb . RedPointModule_RedPointWeekCard , 1 )
}
}
call . UploadActivityData ( a . UID , common . ActivityIDSign , common . ActivityDataClick , 0 )
}
}
func ActivityWeekCardDraw ( c * gin . Context ) {
func ActivityWeekCardDraw ( c * gin . Context ) {
@ -1481,7 +1518,7 @@ func ActivityWeekCardDraw(c *gin.Context) {
} )
} )
}
}
call . PushRed ( a . UID , pb . RedPointModule_RedPointWeekCard , 0 )
call . PushRed ( a . UID , pb . RedPointModule_RedPointWeekCard , 0 )
call . UploadActivityData ( a . UID , common . ActivityIDSign , common . ActivityDataJoin , reward )
}
}
func ActivitySlotsInfo ( c * gin . Context ) {
func ActivitySlotsInfo ( c * gin . Context ) {