Files
2026-05-20 16:13:58 +08:00

134 lines
3.1 KiB
Go

package statSer
import (
"context"
"stat/api/proto"
"stat/common/stdLog"
"stat/common/utils"
"stat/models/rechargegamemod"
"stat/models/withdrawGameOrdermod"
)
// 获取充值明细(集团)
func GameRechargeList(ctx context.Context, param proto.ListBlocRechargeDetailsReq) (code stdLog.CodeType, data interface{}, err error) {
resp := proto.ListBlocRechargeDetailsRes{
Total: 0,
List: make([]proto.BlocRechargeDetailsInfo, 0),
}
skip, limit := utils.ToDBPage(param.PageNum, param.PageSize)
total, RechagerList, err := rechargegamemod.GetBlocRechargeDetailsList(ctx, param.AppId, param.StartTime, param.EndTime, skip, limit)
if err != nil {
code = stdLog.Failure
return
}
appIds := make([]int32, 0)
appMap := make(map[int32]int32)
for _, v := range RechagerList {
if _, ok := appMap[v.AppId]; !ok {
appMap[v.AppId] = v.AppId
appIds = append(appIds, v.AppId)
}
}
//fmt.Println(appIds)
appInfoMap, err := MakeAppInfosMapByIds(ctx, appIds)
if err != nil {
code = stdLog.Failure
return
}
for _, v := range RechagerList {
appName := ""
if appInfo, ok := appInfoMap[v.AppId]; ok {
appName = appInfo.Name
}
tmp := proto.BlocRechargeDetailsInfo{
UserId: v.PromCode,
AppName: appName,
SysType: v.SysType,
DevType: v.DevType,
ChannelName: v.ChannelName,
CID: v.CID,
Type: v.Type,
OrderId: v.OrderId,
Money: v.Money,
PayMoney: v.PayMoney,
Status: 3,
SuccessAt: v.SuccessAt,
}
resp.List = append(resp.List, tmp)
}
resp.Total = total
data = resp
code = stdLog.Success
return
}
// 获取提现明细(集团)
func GameWithdrawList(ctx context.Context, param proto.ListBlocWithdrawDetailsReq) (code stdLog.CodeType, data interface{}, err error) {
resp := proto.ListBlocWithdrawDetailsRes{
Total: 0,
List: make([]proto.ListBlocWithdrawDetailsInfo, 0),
}
skip, limit := utils.ToDBPage(param.PageNum, param.PageSize)
total, RechagerList, err := withdrawGameOrdermod.GetBlocGameWithdrawOrderList(ctx, param.AppId, param.StartTime, param.EndTime, skip, limit)
if err != nil {
code = stdLog.Failure
return
}
appIds := make([]int32, 0)
appMap := make(map[int32]int32)
for _, v := range RechagerList {
if _, ok := appMap[v.AppId]; !ok {
appMap[v.AppId] = v.AppId
appIds = append(appIds, v.AppId)
}
}
//fmt.Println(appIds)
appInfoMap, err := MakeAppInfosMapByIds(ctx, appIds)
if err != nil {
code = stdLog.Failure
return
}
for _, v := range RechagerList {
appName := ""
if appInfo, ok := appInfoMap[v.AppId]; ok {
appName = appInfo.Name
}
tmp := proto.ListBlocWithdrawDetailsInfo{
UID: v.PromCode,
AppName: appName,
Name: v.Name,
Amount: v.Amount,
Money: v.Money,
PayMoney: v.PayMoney,
PayType: v.PayType,
OID: v.OID,
ActName: v.ActName,
Act: v.Act,
UserIP: v.UserIP,
DeviceType: v.DeviceType,
DevID: v.DevID,
Status: v.Status,
StatusDesc: v.StatusDesc,
SuccessAt: v.SuccessAt,
ReceivedAt: v.ReceivedAt,
}
resp.List = append(resp.List, tmp)
}
resp.Total = total
data = resp
code = stdLog.Success
return
}