package log

type IpLog struct {
	Id         uint   `json:"id"`
	Ip         string `json:"ip"`          //模拟器ip
	LogUuid    string `json:"log_uuid"`    //日志UUID
	GameId     int    `json:"game_id"`     //游戏id
	Account    string `json:"account"`     //账号
	PcCode     string `json:"pc_code"`     //电脑编号
	CreateDate string `json:"create_date"` // 创建日期
	CreateTime string `json:"create_time"` // 创建时间
}

//播报处理的iplog
type IpLogBroadcast struct {
	Id         uint   `json:"id"`
	Ip         string `json:"ip"`          //模拟器ip
	User       string `json:"user"`        //负责人
	LogUuid    string `json:"log_uuid"`    //日志UUID
	GameId     int    `json:"game_id"`     //游戏id
	Account    string `json:"account"`     //账号
	PcCode     string `json:"pc_code"`     //电脑编号
	CreateDate string `json:"create_date"` // 创建日期
	CreateTime string `json:"create_time"` // 创建时间
}

type IpLogRequest struct {
	Id         uint     `json:"id"`
	Ip         string   `json:"ip"` //模拟器ip
	Date       []string `json:"date"`
	LogUuid    string   `json:"log_uuid"`    //日志UUID
	GameId     int      `json:"game_id"`     //游戏id
	Account    string   `json:"account"`     //账号
	PcCode     string   `json:"pc_code"`     //电脑编号
	CreateDate string   `json:"create_date"` // 创建日期
	CreateTime string   `json:"create_time"` // 创建时间
}

type IpLogResponse struct {
	PcCode          string `json:"pc_code"`           //电脑编号
	GameId          int    `json:"game_id"`           //游戏id
	CreateDate      string `json:"create_date"`       // 创建日期
	CountTotal      int    `json:"count_total"`       //ip总上报次数
	CountDistinctIp int    `json:"count_distinct_ip"` //IP个数
}

type GameIpRequest struct {
	Id         uint     `json:"id"`
	Ip         string   `json:"ip"` //模拟器ip
	Date       []string `json:"date"`
	User       string   `json:"user"`        //负责人
	LogUuid    string   `json:"log_uuid"`    //日志UUID
	GameId     int      `json:"game_id"`     //游戏id
	Account    string   `json:"account"`     //账号
	PcCode     string   `json:"pc_code"`     //电脑编号
	CreateDate string   `json:"create_date"` // 创建日期
	CreateTime string   `json:"create_time"` // 创建时间
}

type GameIpResponse struct {
	GameId                  int     `json:"game_id"`                    //游戏id
	User                    string  `json:"user"`                       //负责人
	TaskName                string  `json:"task_name"`                  //游戏名
	CreateDate              string  `json:"create_date"`                // 创建日期
	CountTotal              int     `json:"count_total"`                //ip总上报次数
	SuccessIp               int     `json:"success_ip"`                 //进入游戏所上报ip个数
	CountDistinctIp         int     `json:"count_distinct_ip"`          //ip个数
	TaskCount               int     `json:"task_count"`                 //完成任务总数
	MaxCount                int     `json:"max_count"`                  //最多ip的数量
	ExceedThree             int64   `json:"exceed_three"`               //超过3的ip数量
	IpRepetitionRate        float64 `json:"ip_repetition_rate"`         //ip重复率
	AverageIpRepetitionRate float64 `json:"average_ip_repetition_rate"` //平均重复率
}

type QueryIpList struct {
	Ip    string `json:"ip"` //模拟器ip
	Count int    `json:"count"`
}

type AbnormalMachineIp struct {
	Id         uint   `json:"id"`
	Ip         string `json:"ip"`          //模拟器ip
	Count      int    `json:"count"`       //ip数量
	GameId     int    `json:"game_id"`     //游戏id
	User       string `json:"user"`        //负责人
	TaskName   string `json:"task_name"`   //任务名称
	PcCode     string `json:"pc_code"`     //电脑编号
	CreateDate string `json:"create_date"` // 创建日期
}

type AbnormalIpLogRequest struct {
	Id         uint     `json:"id"`
	Ip         string   `json:"ip"` //模拟器ip
	Date       []string `json:"date"`
	GameId     int      `json:"game_id"`     //游戏id
	PcCode     string   `json:"pc_code"`     //电脑编号
	CreateDate string   `json:"create_date"` // 创建日期
}

type TodayAbnormalMachineIp struct {
	Id         uint   `json:"id"`
	Ip         string `json:"ip"`          //模拟器ip
	Count      int    `json:"count"`       //ip数量
	GameId     int    `json:"game_id"`     //游戏id
	PcCode     string `json:"pc_code"`     //电脑编号
	User       string `json:"user"`        //负责人名称
	TaskName   string `json:"task_name"`   //任务名称
	CreateDate string `json:"create_date"` // 创建日期
}

func (IpLog) TableName() string {
	return "ip_log"
}

func (AbnormalMachineIp) TableName() string {
	return "abnormal_machine_ip"
}

func (GameIpResponse) TableName() string {
	return "game_ip_list"
}
