| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- package prizewheel
- import (
- "encoding/json"
- "runtime/debug"
- "bet24.com/database"
- "bet24.com/log"
- "bet24.com/servers/common"
- "bet24.com/servers/coreservice/dbengine"
- )
- // 获取转盘奖励列表
- func getList() []*Prize {
- defer func() {
- if err := recover(); err != nil {
- log.Error("prizewheel.getList transaction recover err %v", err)
- log.Error("%s", debug.Stack())
- }
- }()
- statement := database.NewStatement()
- statement.SetNeedReturnValue(false)
- statement.SetOpenRecordSet(true)
- statement.SetProcName("WS_PrizeWheel_GetList")
- sqlstring := statement.GenSql()
- retRows := dbengine.CenterDB.ExecSql(sqlstring)
- var prizes []*Prize
- for i := 0; i < len(retRows); i++ {
- ret := retRows[i]
- var out Prize
- out.Id = int((ret[0]).(int64))
- out.Chance = int((ret[1]).(int64))
- items := (ret[2]).(string)
- if items != "" {
- if err := json.Unmarshal([]byte(items), &out.Items); err != nil {
- log.Error("prizewheel.getList transaction unmarshal err %v", err)
- return nil
- }
- }
- prizes = append(prizes, &out)
- }
- return prizes
- }
- // 获取用户转盘信息
- func getInfo(userId int) (int, int) {
- defer func() {
- if err := recover(); err != nil {
- log.Error("transaction recover err %v", err)
- log.Error("%s", debug.Stack())
- }
- }()
- statement := database.NewStatement()
- statement.SetNeedReturnValue(false)
- statement.SetOpenRecordSet(true)
- statement.SetProcName("WS_PrizeWheel_GetUserInfo")
- statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
- sqlstring := statement.GenSql()
- retRows := dbengine.CenterDB.ExecSql(sqlstring)
- if len(retRows) <= 0 {
- return 0, 0
- }
- ret := retRows[0]
- times := int((ret[0]).(int64))
- crdateStr := (ret[1]).(string)
- crdate := common.ParseTime(crdateStr)
- return times, common.GetStamp(crdate)
- }
- // 修改用户转盘信息
- func updateInfo(userId, times int) {
- defer func() {
- if err := recover(); err != nil {
- log.Error("transaction recover err %v", err)
- log.Error("%s", debug.Stack())
- }
- }()
- statement := database.NewStatement()
- statement.SetNeedReturnValue(false)
- statement.SetOpenRecordSet(false)
- statement.SetProcName("WS_PrizeWheel_UpdateUserInfo")
- statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
- statement.AddParamter("@Times", database.AdParamInput, database.AdInteger, 4, times)
- sqlstring := statement.GenSql()
- dbengine.CenterDB.ExecSql(sqlstring)
- return
- }
- // 添加转盘奖励记录
- func addRecord(userId, wheelId int, items string) {
- defer func() {
- if err := recover(); err != nil {
- log.Error("transaction recover err %v", err)
- log.Error("%s", debug.Stack())
- }
- }()
- statement := database.NewStatement()
- statement.SetNeedReturnValue(false)
- statement.SetOpenRecordSet(false)
- statement.SetProcName("WS_PrizeWheel_AddRecord")
- statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
- statement.AddParamter("@WheelID", database.AdParamInput, database.AdInteger, 4, wheelId)
- statement.AddParamter("@Items", database.AdParamInput, database.AdVarChar, 256, items)
- sqlstring := statement.GenSql()
- dbengine.CenterDB.ExecSql(sqlstring)
- return
- }
- // 转盘奖励历史记录
- func getRecord() []*userPrizeRecord {
- defer func() {
- if err := recover(); err != nil {
- log.Error("transaction recover err %v", err)
- log.Error("%s", debug.Stack())
- }
- }()
- var list []*userPrizeRecord
- statement := database.NewStatement()
- statement.SetNeedReturnValue(false)
- statement.SetOpenRecordSet(true)
- statement.SetProcName("WS_PrizeWheel_GetRecord")
- sqlstring := statement.GenSql()
- retRows := dbengine.CenterDB.ExecSql(sqlstring)
- rowLen := len(retRows)
- if rowLen <= 0 {
- return list
- }
- for i := 0; i < rowLen; i++ {
- ret := retRows[i]
- var out userPrizeRecord
- out.UserId = int((ret[0]).(int64))
- out.NickName = (ret[1]).(string)
- out.WheelId = int((ret[2]).(int64))
- items := (ret[3]).(string)
- if err := json.Unmarshal([]byte(items), &out.Items); err != nil {
- log.Error("prizewheel.getRecord unmarshal err %v", err)
- }
- crdateStr := (ret[4]).(string)
- crdate := common.ParseTime(crdateStr)
- out.Crdate = common.GetStamp(crdate)
- list = append(list, &out)
- }
- return list
- }
|