| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472 |
- package handler
- import (
- "runtime/debug"
- "bet24.com/database"
- "bet24.com/log"
- dbengine "bet24.com/servers/micros/dbengine/proto"
- pb "bet24.com/servers/micros/money/proto"
- )
- // 筹码日志
- func chipLog(userId int, beginTime, endTime string, pageIndex, pageSize int) (int, []*pb.CashInfo) {
- defer func() {
- if err := recover(); err != nil {
- log.Release("transaction recover err %v", err)
- log.Release("%s", debug.Stack())
- }
- }()
- recordCount := 0
- var list []*pb.CashInfo
- statement := database.NewStatement()
- statement.SetNeedReturnValue(false)
- statement.SetOpenRecordSet(true)
- statement.SetProcName("WS_Chip_GetLog")
- statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
- statement.AddParamter("@BeginTime", database.AdParamInput, database.AdVarChar, 32, beginTime)
- statement.AddParamter("@EndTime", database.AdParamInput, database.AdVarChar, 32, endTime)
- statement.AddParamter("@PageIndex", database.AdParamInput, database.AdInteger, 4, pageIndex)
- statement.AddParamter("@PageSize", database.AdParamInput, database.AdInteger, 4, pageSize)
- statement.AddParamter("@RecordCount", database.AdParamOutput, database.AdInteger, 4, recordCount)
- sqlstring := statement.GenSql()
- retRows := dbengine.ExecuteRs(sqlstring)
- rowLen := len(retRows)
- if rowLen <= 0 {
- return recordCount, list
- }
- if rowLen > 1 {
- for i := 0; i < rowLen-1; i++ {
- ret := retRows[i]
- var info pb.CashInfo
- info.Desc = (ret[0]).(string)
- info.Amount = int((ret[1]).(int64))
- info.Balance = int((ret[2]).(int64))
- info.Date = (ret[3]).(string)
- list = append(list, &info)
- }
- }
- recordCount = int((retRows[rowLen-1][0]).(int64))
- return recordCount, list
- }
- // 获取筹码
- func getChip(userId int) (bool, int, int) {
- defer func() {
- if err := recover(); err != nil {
- log.Error("inventory.getMoney transaction recover err %v", err)
- log.Error("%s", debug.Stack())
- }
- }()
- gold, bank := 0, 0
- statement := database.NewStatement()
- statement.SetNeedReturnValue(false)
- statement.SetOpenRecordSet(true)
- statement.SetProcName("WS_Chip_GetInfo")
- statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
- statement.AddParamter("@Gold", database.AdParamOutput, database.AdBigint, 8, gold)
- statement.AddParamter("@Bank", database.AdParamOutput, database.AdBigint, 8, bank)
- sqlstring := statement.GenSql()
- retRows := dbengine.ExecuteRs(sqlstring)
- if len(retRows) <= 0 {
- return false, gold, bank
- }
- gold = int((retRows[0][0]).(int64))
- bank = int((retRows[0][1]).(int64))
- return true, gold, bank
- }
- // 加筹码
- func giveChip(userId, amount, logType int, sourceName, remark, ipAddress string) int {
- defer func() {
- if err := recover(); err != nil {
- log.Error("inventory.giveMoney transaction recover err %v", err)
- log.Error("%s", debug.Stack())
- }
- }()
- retCode := 0
- statement := database.NewStatement()
- statement.SetNeedReturnValue(false)
- statement.SetOpenRecordSet(true)
- statement.SetProcName("WS_Chip_Give")
- statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
- statement.AddParamter("@Amount", database.AdParamInput, database.AdBigint, 8, amount)
- statement.AddParamter("@LogType", database.AdParamInput, database.AdInteger, 4, logType)
- statement.AddParamter("@SourceName", database.AdParamInput, database.AdNVarChar, 32, sourceName)
- statement.AddParamter("@Remark", database.AdParamInput, database.AdNVarChar, 128, remark)
- statement.AddParamter("@IPAddress", database.AdParamInput, database.AdVarChar, 16, ipAddress)
- statement.AddParamter("@RetCode", database.AdParamOutput, database.AdInteger, 4, retCode)
- sqlstring := statement.GenSql()
- // log.Debug(sqlstring)
- retRows := dbengine.ExecuteRs(sqlstring)
- if len(retRows) <= 0 {
- return retCode
- }
- retCode = int((retRows[0][0]).(int64))
- return retCode
- }
- // 减筹码
- func reduceChip(userId, amount, logType int, sourceName, remark, ipAddress string) int {
- defer func() {
- if err := recover(); err != nil {
- log.Error("inventory.reduceMoney transaction recover err %v", err)
- log.Error("%s", debug.Stack())
- }
- }()
- retCode := 0
- statement := database.NewStatement()
- statement.SetNeedReturnValue(false)
- statement.SetOpenRecordSet(true)
- statement.SetProcName("WS_Chip_Reduce")
- statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
- statement.AddParamter("@Amount", database.AdParamInput, database.AdBigint, 8, amount)
- statement.AddParamter("@LogType", database.AdParamInput, database.AdInteger, 4, logType)
- statement.AddParamter("@SourceName", database.AdParamInput, database.AdNVarChar, 64, sourceName)
- statement.AddParamter("@Remark", database.AdParamInput, database.AdNVarChar, 128, remark)
- statement.AddParamter("@IPAddress", database.AdParamInput, database.AdVarChar, 16, ipAddress)
- statement.AddParamter("@RetCode", database.AdParamOutput, database.AdInteger, 4, retCode)
- sqlstring := statement.GenSql()
- //log.Debug(sqlstring)
- retRows := dbengine.ExecuteRs(sqlstring)
- if len(retRows) <= 0 {
- return retCode
- }
- retCode = int((retRows[0][0]).(int64))
- return retCode
- }
- // 保险柜存入
- func chipBankIn(userId, amount, gameId int, serverName, ipAddress string) (int, int, int, string) {
- defer func() {
- if err := recover(); err != nil {
- log.Release("transaction recover %v", err)
- log.Release("%s", debug.Stack())
- }
- }()
- retCode, cash, bank, outMsg := 0, 0, 0, ""
- statement := database.NewStatement()
- statement.SetNeedReturnValue(false)
- statement.SetOpenRecordSet(true)
- statement.SetProcName("Game_Chip_BankIn")
- statement.AddParamter("@userid", database.AdParamInput, database.AdInteger, 4, userId)
- statement.AddParamter("@amount", database.AdParamInput, database.AdBigint, 8, amount)
- statement.AddParamter("@servername", database.AdParamInput, database.AdNVarChar, 64, serverName)
- statement.AddParamter("@cashamount", database.AdParamOutput, database.AdBigint, 8, cash)
- statement.AddParamter("@bankamount", database.AdParamOutput, database.AdBigint, 8, bank)
- statement.AddParamter("@outmsg", database.AdParamOutput, database.AdNVarChar, 512, outMsg)
- statement.AddParamter("@GameID", database.AdParamInput, database.AdInteger, 4, gameId)
- statement.AddParamter("@EPassword", database.AdParamInput, database.AdVarChar, 32, "")
- statement.AddParamter("@IPAddress", database.AdParamInput, database.AdVarChar, 16, ipAddress)
- statement.AddParamter("@RetCode", database.AdParamOutput, database.AdInteger, 4, retCode)
- sqlstring := statement.GenSql()
- //log.Debug(sqlstring)
- retRows := dbengine.ExecuteRs(sqlstring)
- if len(retRows) <= 0 {
- return retCode, cash, bank, outMsg
- }
- ret := retRows[0]
- cash = int((ret[0]).(int64))
- bank = int((ret[1]).(int64))
- outMsg = (ret[2]).(string)
- retCode = int((ret[3]).(int64))
- return retCode, cash, bank, outMsg
- }
- // 保险柜取出
- func chipBankOut(userId, amount, gameId int, serverName, ipAddress string) (int, int, int, string) {
- defer func() {
- if err := recover(); err != nil {
- log.Release("transaction recover %v", err)
- log.Release("%s", debug.Stack())
- }
- }()
- retCode, cash, bank, outMsg := 0, 0, 0, ""
- statement := database.NewStatement()
- statement.SetNeedReturnValue(false)
- statement.SetOpenRecordSet(true)
- statement.SetProcName("Game_Chip_BankOut")
- statement.AddParamter("@userid", database.AdParamInput, database.AdInteger, 4, userId)
- statement.AddParamter("@amount", database.AdParamInput, database.AdBigint, 8, amount)
- statement.AddParamter("@safeboxpwd", database.AdParamInput, database.AdVarChar, 16, "")
- statement.AddParamter("@servername", database.AdParamInput, database.AdNVarChar, 64, serverName)
- statement.AddParamter("@cashamount", database.AdParamOutput, database.AdBigint, 8, amount)
- statement.AddParamter("@bankamount", database.AdParamOutput, database.AdBigint, 8, bank)
- statement.AddParamter("@outmsg", database.AdParamOutput, database.AdVarChar, 512, outMsg)
- statement.AddParamter("@EPassword", database.AdParamInput, database.AdVarChar, 32, "")
- statement.AddParamter("@IPAddress", database.AdParamInput, database.AdVarChar, 16, ipAddress)
- statement.AddParamter("@RetCode", database.AdParamOutput, database.AdInteger, 4, retCode)
- statement.AddParamter("@GameID", database.AdParamInput, database.AdInteger, 4, gameId)
- sqlstring := statement.GenSql()
- //log.Debug(sqlstring)
- retRows := dbengine.ExecuteRs(sqlstring)
- if len(retRows) <= 0 {
- return retCode, cash, bank, outMsg
- }
- ret := retRows[0]
- cash = int((ret[0]).(int64))
- bank = int((ret[1]).(int64))
- outMsg = (ret[2]).(string)
- retCode = int((ret[3]).(int64))
- return retCode, cash, bank, outMsg
- }
- // 保险柜查询
- func chipBankQuery(userId int) (int, int) {
- defer func() {
- if err := recover(); err != nil {
- log.Release("transaction recover %v", err)
- log.Release("%s", debug.Stack())
- }
- }()
- bank := 0
- statement := database.NewStatement()
- statement.SetNeedReturnValue(false)
- statement.SetOpenRecordSet(false)
- statement.SetProcName("Game_Chip_BankQuery")
- statement.AddParamter("@userid", database.AdParamInput, database.AdInteger, 4, userId)
- statement.AddParamter("@bankamount", database.AdParamOutput, database.AdBigint, 8, bank)
- sqlstring := statement.GenSql()
- //log.Debug(sqlstring)
- retRows := dbengine.ExecuteRs(sqlstring)
- if len(retRows) <= 0 {
- return 0, bank
- }
- bank = int((retRows[0][0]).(int64))
- return 1, bank
- }
- // 转账(操作结果/操作描述/剩余金额/返还金额)
- func chipBankTransfer(userId, toUserId, amount int, ipAddress string) (int, int, string, int) {
- defer func() {
- if err := recover(); err != nil {
- log.Release("transaction recover %v", err)
- log.Release("%s", debug.Stack())
- }
- }()
- retCode, stillAmount, outMsg, refund := 0, 0, "", 0
- statement := database.NewStatement()
- statement.SetNeedReturnValue(false)
- statement.SetOpenRecordSet(true)
- statement.SetProcName("Game_Chip_Transfer")
- statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
- statement.AddParamter("@AcceptUserID", database.AdParamInput, database.AdInteger, 4, toUserId)
- statement.AddParamter("@WantAmount", database.AdParamInput, database.AdBigint, 8, amount)
- statement.AddParamter("@IPAddress", database.AdParamInput, database.AdVarChar, 16, ipAddress)
- sqlstring := statement.GenSql()
- retRows := dbengine.ExecuteRs(sqlstring)
- if len(retRows) <= 0 {
- return retCode, stillAmount, outMsg, refund
- }
- ret := retRows[0]
- outMsg = (ret[0]).(string)
- stillAmount = int((ret[1]).(int64))
- retCode = int((ret[2]).(int64))
- refund = int((ret[3]).(int64))
- return retCode, stillAmount, outMsg, refund
- }
- // 赠送记录
- func chipTransferLog(userId int) []*pb.TransferInfo {
- 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("Game_Chip_TransferLog")
- statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
- sqlstring := statement.GenSql()
- retRows := dbengine.ExecuteRs(sqlstring)
- rowLen := len(retRows)
- if rowLen <= 0 {
- return nil
- }
- var list []*pb.TransferInfo
- for i := 0; i < rowLen; i++ {
- ret := retRows[i]
- var out pb.TransferInfo
- out.UserID = int((ret[0]).(int64))
- out.NickName = (ret[1]).(string)
- out.Amount = int((ret[2]).(int64))
- out.Crdate = (ret[3]).(string)
- list = append(list, &out)
- }
- return list
- }
- func getTransferCfg() *pb.TransferCfg {
- 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_TransferCfg_GetInfo")
- sqlString := statement.GenSql()
- retRows := dbengine.ExecuteRs(sqlString)
- if len(retRows) <= 0 {
- return &pb.TransferCfg{}
- }
- ret := retRows[0]
- return &pb.TransferCfg{
- Fee: int((ret[0]).(int64)),
- FreeBeginTime: (ret[1]).(string),
- FreeEndTime: (ret[2]).(string),
- FreeFlag: int((ret[3]).(int64)),
- RefundBeginTime: (ret[4]).(string),
- RefundEndTime: (ret[5]).(string),
- RefundRatio: int((ret[6]).(int64)),
- RefundMaxAmount: int((ret[7]).(int64)),
- RefundFlag: int((ret[8]).(int64)),
- MinBeginTime: (ret[9]).(string),
- MinEndTime: (ret[10]).(string),
- MinAmount: int((ret[11]).(int64)),
- MinFlag: int((ret[12]).(int64)),
- }
- }
- // 保险柜记录
- func chipBankLog(userId int, beginTime, endTime string, pageIndex, pageSize int) (int, []*pb.BankLogInfo) {
- defer func() {
- if err := recover(); err != nil {
- log.Release("transaction recover %v", err)
- log.Release("%s", debug.Stack())
- }
- }()
- recordCount := 0
- var list []*pb.BankLogInfo
- statement := database.NewStatement()
- statement.SetNeedReturnValue(false)
- statement.SetOpenRecordSet(true)
- statement.SetProcName("WS_Chip_GetLog")
- statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
- statement.AddParamter("@BeginTime", database.AdParamInput, database.AdVarChar, 32, beginTime)
- statement.AddParamter("@EndTime", database.AdParamInput, database.AdVarChar, 32, endTime)
- statement.AddParamter("@PageIndex", database.AdParamInput, database.AdInteger, 4, pageIndex)
- statement.AddParamter("@PageSize", database.AdParamInput, database.AdInteger, 4, pageSize)
- statement.AddParamter("@RecordCount", database.AdParamOutput, database.AdInteger, 4, recordCount)
- sqlstring := statement.GenSql()
- retRows := dbengine.ExecuteRs(sqlstring)
- rowsLen := len(retRows)
- if rowsLen <= 0 {
- return recordCount, list
- }
- // 这里带输出和结果集,最后一行是输出参数
- if rowsLen > 1 {
- //这里是结果集
- for i := 0; i < rowsLen-1; i++ {
- ret := retRows[i]
- var info pb.BankLogInfo
- info.From = (ret[0]).(string)
- info.To = (ret[1]).(string)
- info.WantedAmount = int((ret[2]).(int64))
- info.StillAmount = int((ret[3]).(int64))
- info.Crdate = (ret[4]).(string)
- list = append(list, &info)
- }
- }
- //这里是输出参数
- recordCount = int((retRows[rowsLen-1][0]).(int64))
- return recordCount, list
- }
- // 获取银行信息
- func getBankInfo(userId int) *pb.BankInfo {
- 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_AllUser_GetBankInfo")
- statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
- sqlstring := statement.GenSql()
- retRows := dbengine.ExecuteRs(sqlstring)
- rowLen := len(retRows)
- if rowLen <= 0 {
- return &pb.BankInfo{}
- }
- ret := retRows[0]
- return &pb.BankInfo{
- RealName: (ret[0]).(string),
- BankName: (ret[1]).(string),
- BankCode: (ret[2]).(string),
- BankCard: (ret[3]).(string),
- Mobile: (ret[4]).(string),
- }
- }
- // 保存银行信息
- func saveBankInfo(userId int, info *pb.BankInfo) bool {
- defer func() {
- if err := recover(); err != nil {
- log.Error("transaction recover err %v", err)
- log.Error("%s", debug.Stack())
- }
- }()
- retCode := 0
- statement := database.NewStatement()
- statement.SetNeedReturnValue(false)
- statement.SetOpenRecordSet(true)
- statement.SetProcName("WS_AllUser_SaveBankInfo")
- statement.AddParamter("@UserID", database.AdParamInput, database.AdInteger, 4, userId)
- statement.AddParamter("@RealName", database.AdParamInput, database.AdVarChar, 32, info.RealName)
- statement.AddParamter("@BankName", database.AdParamInput, database.AdVarChar, 32, info.BankName)
- statement.AddParamter("@BankCode", database.AdParamInput, database.AdVarChar, 16, info.BankCode)
- statement.AddParamter("@BankCard", database.AdParamInput, database.AdVarChar, 32, info.BankCard)
- statement.AddParamter("@Mobile", database.AdParamInput, database.AdVarChar, 32, info.Mobile)
- statement.AddParamter("@RetCode", database.AdParamOutput, database.AdInteger, 4, retCode)
- sqlstring := statement.GenSql()
- retRows := dbengine.ExecuteRs(sqlstring)
- if len(retRows) <= 0 {
- return false
- }
- retCode = int((retRows[0][0]).(int64))
- return retCode == 1
- }
|