| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- package dataStatistics
- import (
- "context"
- _ "github.com/bitly/go-simplejson"
- "go.uber.org/zap"
- "log-server/global"
- "log-server/model/dataStatistics"
- "log-server/model/dataStatistics/request"
- "log-server/model/dataStatistics/response"
- //"time"
- )
- type ServiceWeChatScannerLedger struct {
- }
- //type WeChatGameInfo struct {
- // GameName string
- // LcPriceNew float64
- // LcPriceRetained float64
- // HmPriceNew float64
- // HmPriceRetained float64
- //}
- func (s *ServiceWeChatScannerLedger) WeChatScannerLedgerList(ctx context.Context, api dataStatistics.WeChatScannerLedger, info request.PageInfo, order string, desc bool) (interface{}, int64, error) {
- db := global.GVA_DB.Model(&dataStatistics.WeChatScannerLedger{})
- //global.GVA_LOG.Info(api.NewDate)
- if api.NewDate != "" {
- db = db.Where("new_date = ?", api.NewDate)
- }
- if api.Platform != "" {
- db = db.Where("platform = ?", api.Platform)
- }
- var total int64
- err := db.Count(&total).Error
- //if err != nil {
- // return nil, 0, err
- //}
- limit := info.PageSize
- offset := info.PageSize * (info.Page - 1)
- //var statisticsLogs []*log.LogComputer
- var apiList []dataStatistics.WeChatScannerLedger
- db = db.Limit(limit).Offset(offset)
- if order != "" {
- var OrderStr string
- // 设置有效排序key 防止sql注入
- // 感谢 Tom4t0 提交漏洞信息
- orderMap := make(map[string]bool, 3)
- orderMap["task_name"] = true
- //orderMap["game_id"] = true
- //orderMap["operator"] = true
- if orderMap[order] {
- if desc {
- OrderStr = order + " desc"
- } else {
- OrderStr = order + " desc"
- }
- } else { // didn't matched any order key in `orderMap`
- global.GVA_LOG.Error("获取失败!", zap.Error(err))
- return apiList, total, err
- }
- err = db.Order(OrderStr).Find(&apiList).Error
- } else {
- err = db.Order("task_name").Find(&apiList).Error
- }
- if err != nil {
- return nil, 0, err
- }
- var arrayResponse []*response.WeChatScannerLedgerResponse
- for _, e := range apiList {
- oneResponse := new(response.WeChatScannerLedgerResponse)
- oneResponse.Id = e.Id
- oneResponse.NewDate = e.NewDate
- oneResponse.Platform = e.Platform
- oneResponse.TaskId = e.TaskId
- oneResponse.TaskName = e.TaskName
- oneResponse.Ledger = e.Ledger
- oneResponse.LedgerNew = e.LedgerNew
- oneResponse.LedgerRetained = e.LedgerRetained
- arrayResponse = append(arrayResponse, oneResponse)
- }
- return arrayResponse, total, err
- }
|