| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- package newusergift
- import (
- "runtime/debug"
- "bet24.com/servers/common"
- "encoding/json"
- "bet24.com/database"
- "bet24.com/log"
- "bet24.com/servers/coreservice/dbengine"
- )
- func getConfig(isNewYear bool) []GiftConfig {
- defer func() {
- if err := recover(); err != nil {
- log.Release("newusergift.getConfig transaction recover %v", err)
- log.Release("%s", debug.Stack())
- }
- }()
- statement := database.NewStatement()
- statement.SetNeedReturnValue(false)
- statement.SetOpenRecordSet(true)
- if isNewYear {
- statement.SetProcName("WS_NewYearGift_GetConfig")
- //statement.SetProcName("WS_NewUserGift_GetConfig")
- } else {
- statement.SetProcName("WS_NewUserGift_GetConfig")
- }
- sqlstring := statement.GenSql()
- retRows := dbengine.CenterDB.ExecSql(sqlstring)
- rowLen := len(retRows)
- var rets []GiftConfig
- for i := 0; i < rowLen; i++ {
- ret := retRows[i]
- var out GiftConfig
- out.DayIndex = int((ret[0]).(int64))
- gifts := (ret[1]).(string)
- if gifts != "" {
- if err := json.Unmarshal([]byte(gifts), &out.Items); err != nil {
- log.Error("newusergift.getConfig unmarshal err %v", err)
- return nil
- }
- }
- rets = append(rets, out)
- }
- return rets
- }
- func getUserGiftInfo(userId int, isNewYear bool) []UserGift {
- defer func() {
- if err := recover(); err != nil {
- log.Release("newusergift.getUserGiftInfo transaction recover %v", err)
- log.Release("%s", debug.Stack())
- }
- }()
- statement := database.NewStatement()
- statement.SetNeedReturnValue(false)
- statement.SetOpenRecordSet(true)
- if isNewYear {
- //statement.SetProcName("WS_NewUserGift_GetUserGift")
- statement.SetProcName("WS_NewYearGift_GetUserGift")
- } else {
- statement.SetProcName("WS_NewUserGift_GetUserGift")
- }
- statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
- sqlstring := statement.GenSql()
- retRows := dbengine.CenterDB.ExecSql(sqlstring)
- rowLen := len(retRows)
- var rets []UserGift
- dayIndex := common.GetDayIndex(common.GetTimeStamp())
- for i := 0; i < rowLen; i++ {
- ret := retRows[i]
- var out UserGift
- out.DayIndex = int((ret[0]).(int64))
- out.Status = int((ret[1]).(int64))
- crdateStr := (ret[2]).(string)
- crdate := common.ParseTime(crdateStr)
- giftDayIndex := common.GetDayIndex(common.GetStamp(crdate))
- // 判断今天是否可领取
- if out.Status == 0 {
- // 可领取
- if giftDayIndex == dayIndex {
- out.Status = Receiving
- } else if giftDayIndex < dayIndex { // 过期
- out.Status = Overdue
- }
- }
- rets = append(rets, out)
- }
- return rets
- }
- func userReceiveGift(userId int, dayIndex int, isNewYear bool) {
- defer func() {
- if err := recover(); err != nil {
- log.Release("newusergift.getUserGiftInfo transaction recover %v", err)
- log.Release("%s", debug.Stack())
- }
- }()
- statement := database.NewStatement()
- statement.SetNeedReturnValue(false)
- statement.SetOpenRecordSet(true)
- if isNewYear {
- statement.SetProcName("WS_NewYearGift_Receive")
- } else {
- statement.SetProcName("WS_NewUserGift_Receive")
- }
- statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
- statement.AddParamter("@DayIndex", database.AdParamInput, database.AdInteger, 4, dayIndex)
- sqlstring := statement.GenSql()
- dbengine.CenterDB.ExecSql(sqlstring)
- }
|