You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
1.3 KiB
32 lines
1.3 KiB
package api
|
|
|
|
import (
|
|
"yunyan/comm"
|
|
"yunyan/lego/sys/log"
|
|
"yunyan/pb"
|
|
)
|
|
|
|
// GetUserUseLogsPaged 用户资源流水分页查询
|
|
// - 默认按类型筛选 + 分页(管理员/代理赠送=AdminGive、绑定设备赠送=ActivityReward、充值获取=Pay、消耗=UserConsume);
|
|
// - 代理身份强制锁定为「仅当前代理赠送出去的流水」,即 logtype=AdminGive 且 extra=当前账号,前端类型筛选不可切换。
|
|
func (this *apiComp) GetUserUseLogsPaged(session comm.IUserSession, req *pb.ApiGetUserUseLogsPagedReq) (resp *pb.ApiGetUserUseLogsPagedResp, errdata *pb.ErrorData) {
|
|
uid := req.Uid
|
|
logtype := req.Logtype
|
|
operator := ""
|
|
|
|
identity := pb.Identity(session.GetMateToInt32("identity"))
|
|
if identity == pb.Identity_Agent {
|
|
// 代理只能看自己派发的资源流水
|
|
operator = session.GetMateToString(comm.SessionMeta_UserId)
|
|
logtype = pb.UserLogType_AdminGive
|
|
}
|
|
|
|
logs, total, err := this.module.model.getUserUseLogsPaged(uid, logtype, operator, req.Page, req.Size)
|
|
if err != nil {
|
|
errdata = &pb.ErrorData{Code: pb.ErrorCode_DBError, Message: err.Error()}
|
|
this.module.Error("GetUserUseLogsPaged fail", log.Field{Key: "err", Value: err.Error()})
|
|
return
|
|
}
|
|
resp = &pb.ApiGetUserUseLogsPagedResp{Logs: logs, Total: total}
|
|
return
|
|
}
|
|
|