| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- package card
- import (
- "encoding/json"
- "runtime/debug"
- item "bet24.com/servers/micros/item_inventory/proto"
- "bet24.com/servers/coreservice/dbengine"
- "bet24.com/database"
- "bet24.com/log"
- )
- // 使用充值卡
- func useRechargeCard(userId int, cardNo string) *cardInfo {
- 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_RechargeCard_Use")
- statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
- statement.AddParamter("@CardNo", database.AdParamInput, database.AdVarChar, 32, cardNo)
- sqlString := statement.GenSql()
- retRows := dbengine.CenterDB.ExecSql(sqlString)
- rowLen := len(retRows)
- if rowLen <= 0 {
- return nil
- }
- ret := retRows[0]
- retCode := int((ret[0]).(int64))
- goldAmount := int((ret[1]).(int64))
- coolSeconds := int((ret[2]).(int64))
- var items []item.ItemPack
- items = append(items, item.ItemPack{
- ItemId: item.Item_Gold,
- Count: goldAmount,
- })
- return &cardInfo{
- RetCode: retCode,
- Items: items,
- CoolSeconds: coolSeconds,
- }
- }
- // 使用兑换卡
- func useExchangeCard(userId int, cardNo string) *cardInfo {
- 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_ExchangeCard_Use")
- statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
- statement.AddParamter("@CardNo", database.AdParamInput, database.AdVarChar, 32, cardNo)
- sqlString := statement.GenSql()
- retRows := dbengine.CenterDB.ExecSql(sqlString)
- rowLen := len(retRows)
- if rowLen <= 0 {
- return nil
- }
- ret := retRows[0]
- retCode := int((ret[0]).(int64))
- award := (ret[1]).(string)
- coolSeconds := int((ret[2]).(int64))
- var items []item.ItemPack
- if retCode == 1 && len(award) > 0 {
- if err := json.Unmarshal([]byte(award), &items); err != nil {
- log.Error("useExchangeCard json unmarshal error %v", err)
- }
- }
- return &cardInfo{
- RetCode: retCode,
- Items: items,
- CoolSeconds: coolSeconds,
- }
- }
- // 使用比赛卡
- func useMatchCard(userId int, cardNo string) *cardInfo {
- 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_MatchCard_Use")
- statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
- statement.AddParamter("@CardNo", database.AdParamInput, database.AdVarChar, 32, cardNo)
- sqlString := statement.GenSql()
- retRows := dbengine.CenterDB.ExecSql(sqlString)
- rowLen := len(retRows)
- if rowLen <= 0 {
- return nil
- }
- ret := retRows[0]
- retCode := int((ret[0]).(int64))
- coolSeconds := int((ret[1]).(int64))
- timeMemo := (ret[2]).(string)
- sceneMemo := (ret[3]).(string)
- return &cardInfo{
- RetCode: retCode,
- CoolSeconds: coolSeconds,
- TimeMemo: timeMemo,
- SceneMemo: sceneMemo,
- }
- }
|