| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321 |
- package report
- import (
- "bet24.com/servers/adminserver/ip"
- "runtime/debug"
- "bet24.com/database"
- "bet24.com/log"
- "bet24.com/servers/adminserver/dao"
- )
- // 日报表录入
- func insertDaily(req *info) {
- 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("Manage_DailyReport_Insert")
- statement.AddParamter("@DateFlag", database.AdParamInput, database.AdVarChar, 20, req.DateFlag)
- statement.AddParamter("@ItemType", database.AdParamInput, database.AdInteger, 4, req.ItemType)
- statement.AddParamter("@ItemName", database.AdParamInput, database.AdNVarChar, 32, req.ItemName)
- statement.AddParamter("@ItemValue", database.AdParamInput, database.AdFloat, 20, req.ItemValue)
- statement.AddParamter("@ItemTag", database.AdParamInput, database.AdInteger, 4, req.ItemTag)
- sqlString := statement.GenSql()
- dao.CenterDB.ExecSql(sqlString)
- }
- // 日报表删除
- func delDaily(id 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("Manage_DailyReport_Del")
- statement.AddParamter("@Rid", database.AdParamInput, database.AdInteger, 4, id)
- sqlString := statement.GenSql()
- retRows := dao.CenterDB.ExecSql(sqlString)
- if len(retRows) <= 0 {
- return 0
- }
- return int((*retRows[0][0].(*interface{})).(int64))
- }
- // 日报表列表
- func getDailyList(beginTime, endTime string) []*info {
- 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("Manage_DailyReport_GetList")
- statement.AddParamter("@BeginTime", database.AdParamInput, database.AdVarChar, 20, beginTime)
- statement.AddParamter("@EndTime", database.AdParamInput, database.AdVarChar, 20, endTime)
- sqlString := statement.GenSql()
- retRows := dao.CenterDB.ExecSql(sqlString)
- rowLen := len(retRows)
- if rowLen <= 0 {
- return nil
- }
- var list []*info
- for i := 0; i < rowLen; i++ {
- ret := retRows[i]
- var out info
- out.Rid = int((*ret[0].(*interface{})).(int64))
- out.DateFlag = (*ret[1].(*interface{})).(string)
- out.ItemType = int((*ret[2].(*interface{})).(int64))
- out.ItemName = (*ret[3].(*interface{})).(string)
- out.ItemValue = string((*ret[4].(*interface{})).([]byte))
- out.ItemTag = int((*ret[5].(*interface{})).(int64))
- // out.ItemValue, _ = strconv.ParseFloat(valueStr, 64)
- list = append(list, &out)
- }
- return list
- }
- // 挑战赛报表
- func getSNGMatchList(beginTime, endTime string) []*info {
- 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("Manage_SNGMatchReport_GetList")
- statement.AddParamter("@BeginTime", database.AdParamInput, database.AdVarChar, 20, beginTime)
- statement.AddParamter("@EndTime", database.AdParamInput, database.AdVarChar, 20, endTime)
- sqlString := statement.GenSql()
- retRows := dao.CenterDB.ExecSql(sqlString)
- rowLen := len(retRows)
- if rowLen <= 0 {
- return nil
- }
- var list []*info
- for i := 0; i < rowLen; i++ {
- ret := retRows[i]
- var out info
- out.Rid = int((*ret[0].(*interface{})).(int64))
- out.DateFlag = (*ret[1].(*interface{})).(string)
- out.ItemType = int((*ret[2].(*interface{})).(int64))
- out.ItemName = (*ret[3].(*interface{})).(string)
- out.ItemValue = string((*ret[4].(*interface{})).([]byte))
- out.ItemTag = int((*ret[5].(*interface{})).(int64))
- list = append(list, &out)
- }
- return list
- }
- // 游戏报表
- func getGameList(beginTime, endTime string) []*info {
- 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("Manage_GameReport_GetList")
- statement.AddParamter("@BeginTime", database.AdParamInput, database.AdVarChar, 20, beginTime)
- statement.AddParamter("@EndTime", database.AdParamInput, database.AdVarChar, 20, endTime)
- sqlString := statement.GenSql()
- retRows := dao.CenterDB.ExecSql(sqlString)
- rowLen := len(retRows)
- if rowLen <= 0 {
- return nil
- }
- var list []*info
- for i := 0; i < rowLen; i++ {
- ret := retRows[i]
- var out info
- out.Rid = int((*ret[0].(*interface{})).(int64))
- out.DateFlag = (*ret[1].(*interface{})).(string)
- out.ItemType = int((*ret[2].(*interface{})).(int64))
- out.ItemName = (*ret[3].(*interface{})).(string)
- out.ItemValue = string((*ret[4].(*interface{})).([]byte))
- out.ItemTag = int((*ret[5].(*interface{})).(int64))
- list = append(list, &out)
- }
- return list
- }
- // 发行统计列表
- func getIssueStatList(beginTime, endTime string) []*info {
- 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("Manage_Issue_GetList")
- statement.AddParamter("@BeginTime", database.AdParamInput, database.AdVarChar, 20, beginTime)
- statement.AddParamter("@EndTime", database.AdParamInput, database.AdVarChar, 20, endTime)
- sqlString := statement.GenSql()
- retRows := dao.CenterDB.ExecSql(sqlString)
- rowLen := len(retRows)
- if rowLen <= 0 {
- return nil
- }
- var list []*info
- for i := 0; i < rowLen; i++ {
- ret := retRows[i]
- var out info
- out.Rid = int((*ret[0].(*interface{})).(int64))
- out.DateFlag = (*ret[1].(*interface{})).(string)
- out.ItemType = int((*ret[2].(*interface{})).(int64))
- out.ItemName = (*ret[3].(*interface{})).(string)
- out.ItemValue = string((*ret[4].(*interface{})).([]byte))
- // out.ItemValue, _ = strconv.ParseFloat(valueStr, 64)
- list = append(list, &out)
- }
- return list
- }
- // 时段统计报表
- func timePeriodReport(beginTime, endTime string) []timePeriodInfo {
- 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("Manage_TimePeriod_Report")
- statement.AddParamter("@BeginTime", database.AdParamInput, database.AdVarChar, 20, beginTime)
- statement.AddParamter("@EndTime", database.AdParamInput, database.AdVarChar, 20, endTime)
- sqlString := statement.GenSql()
- retRows := dao.CenterDB.ExecSql(sqlString)
- rowLen := len(retRows)
- if rowLen <= 0 {
- return nil
- }
- var list []timePeriodInfo
- for i := 0; i < rowLen; i++ {
- ret := retRows[i]
- var out timePeriodInfo
- out.TimePeriod = (*ret[0].(*interface{})).(string)
- out.UserCount = int((*ret[1].(*interface{})).(int64))
- list = append(list, out)
- }
- return list
- }
- // 时段统计
- func timePeriodStat(beginTime, endTime string) []timePeriodInfo {
- 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("Manage_TimePeriod_GetStatList")
- statement.AddParamter("@BeginTime", database.AdParamInput, database.AdVarChar, 20, beginTime)
- statement.AddParamter("@EndTime", database.AdParamInput, database.AdVarChar, 20, endTime)
- sqlString := statement.GenSql()
- retRows := dao.CenterDB.ExecSql(sqlString)
- rowLen := len(retRows)
- if rowLen <= 0 {
- return nil
- }
- var list []timePeriodInfo
- for i := 0; i < rowLen; i++ {
- ret := retRows[i]
- var out timePeriodInfo
- out.DateFlag = (*ret[0].(*interface{})).(string)
- out.TimePeriod = (*ret[1].(*interface{})).(string)
- out.UserCount = int((*ret[2].(*interface{})).(int64))
- list = append(list, out)
- }
- return list
- }
- // 时段用户列表
- func timePeriodUsers(minSeconds, maxSeconds int, beginTime, endTime string, pageIndex, pageSize int) (int, []timePeriodUser) {
- defer func() {
- if err := recover(); err != nil {
- log.Error("transaction recover err %v", err)
- log.Error("%s", debug.Stack())
- }
- }()
- var (
- recordCount int
- list []timePeriodUser
- )
- statement := database.NewStatement()
- statement.SetNeedReturnValue(false)
- statement.SetOpenRecordSet(true)
- statement.SetProcName("Manage_TimePeriod_GetUserList")
- statement.AddParamter("@MinSeconds", database.AdParamInput, database.AdInteger, 4, minSeconds)
- statement.AddParamter("@MaxSeconds", database.AdParamInput, database.AdInteger, 4, maxSeconds)
- statement.AddParamter("@BeginTime", database.AdParamInput, database.AdVarChar, 20, beginTime)
- statement.AddParamter("@EndTime", database.AdParamInput, database.AdVarChar, 20, 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 := dao.CenterDB.ExecSql(sqlString)
- rowLen := len(retRows)
- if rowLen <= 0 {
- return recordCount, list
- }
- if rowLen > 1 {
- for i := 0; i < rowLen-1; i++ {
- ret := retRows[i]
- var out timePeriodUser
- out.Rid = int((*ret[0].(*interface{})).(int64))
- out.UserID = int((*ret[1].(*interface{})).(int64))
- out.NickName = (*ret[2].(*interface{})).(string)
- out.RegTime = (*ret[3].(*interface{})).(string)
- out.LoginTime = (*ret[4].(*interface{})).(string)
- out.Seconds = int((*ret[5].(*interface{})).(int64))
- out.IpAddress = (*ret[6].(*interface{})).(string)
- out.IpAddress = ip.GetCountryAndRegion(out.IpAddress, false)
- list = append(list, out)
- }
- }
- recordCount = int((*retRows[rowLen-1][0].(*interface{})).(int64))
- return recordCount, list
- }
|