package request

import (
	"log-server/model/task"
)

type GameTaskRequest struct {
	Id              uint   `json:"id"`
	TaskId          int    `json:"task_id"`
	TaskName        string `json:"task_name"`
	User            string `json:"user"`
	NewRetained     string `json:"new_retained"`
	GameName        string `json:"game_name"`
	GameId          int    `json:"game_id"`
	Date            string `json:"date"`
	GamePortId      int    `json:"game_port_id"`
	AccountType     int    `json:"account_type"`
	LoginMethod     int    `json:"login_method"`
	TxChannel       string `json:"tx_channel"`
	TxGameId        string `json:"tx_game_id"`
	MzChannel       string `json:"mz_channel"`
	MzGameId        string `json:"mz_game_id"`
	GameIdXmy       string `json:"game_id_xmy"`
	NewTarget       int    `json:"new_target"`
	PayTarget       int    `json:"pay_target"`
	RetainedTarget  int    `json:"retained_target"`
	NewTargetH      int    `json:"new_target_h"`
	RetainedTargetH int    `json:"retained_target_h"`
	PayPrice        int    `json:"pay_price"`
}

type GetGameTaskListRequest struct {
	task.GameTask
	PageInfo
	OrderKey string `json:"orderKey"` // 排序
	Desc     bool   `json:"desc"`     // 排序方式:升序false(默认)|降序true
}

//获取小绵羊游戏数据列表
type GetXmyGameListRequest struct {
	Date []string `json:"date"`
}

type UpdateGameTaskStatusRequest struct {
	TaskId int `json:"task_id"`
	Status int `json:"status"` // 状态-1关闭，1开启
}

type GetGameTaskListTargetRequest struct {
	GameTargetCompleteRequest
	PageInfo
	OrderKey string `json:"orderKey"` // 排序
	Desc     bool   `json:"desc"`     // 排序方式:升序false(默认)|降序true
}

type ExcelInfo struct {
	FileName string `json:"fileName"` // 文件名
	InfoList struct {
		GameTargetCompleteRequest
		PageInfo
		OrderKey string `json:"orderKey"` // 排序
		Desc     bool   `json:"desc"`     // 排序方式:升序false(默认)|降序true
	} `json:"infoList"`
}

type GameTargetCompleteRequest struct {
	Id               uint     `json:"id"`
	TaskId           int      `json:"task_id"`
	TaskName         string   `json:"task_name"`
	User             string   `json:"user"`
	LoginMethod      string   `json:"login_method"`
	NewComplete      int      `json:"new_complete"`
	PayComplete      int      `json:"pay_complete"`
	RetainedComplete int      `json:"retained_complete"`
	NewTarget        int      `json:"new_target"`
	PayTarget        int      `json:"pay_target"`
	RetainedTarget   int      `json:"retained_target"`
	Amount           int      `json:"amount"`
	CreateDate       string   `json:"create_date"`
	UpdateTime       string   `json:"update_time"` // 更新时间
	GameRate         string   `json:"game_rate"`
	IsComplete       int      `json:"is_complete"`
	Date             []string `json:"date"`
	GamePortId       int      `json:"game_port_id"`
	Aupr             int      `json:"aupr"`
	TotalAmount      float64  `json:"total_amount"`
}

type GetGameTaskTargetByIdRequest struct {
	ID         int    `json:"id" form:"id"` // 主键ID
	CreateDate string `json:"create_date"`
}

type UpdateGameTaskTargetRequest struct {
	TaskId               int        `json:"task_id"`
	NewTarget            int        `json:"new_target"`
	PayTarget            int        `json:"pay_target"`
	RetainedTarget       int        `json:"retained_target"`
	CreateDate           string     `json:"create_date"`
	CardList             []CardInfo `json:"card_list"`
	HandNewComplete      int        `json:"hand_new_complete"`
	HandRetainedComplete int        `json:"hand_retained_complete"`
	HandPayComplete      int        `json:"hand_pay_complete"`
	HandAmountTotal      int        `json:"hand_amount_total"`
	IsFree               int        `json:"is_free"`
	FreeMethod           int        `json:"free_method"`
	IsUploadWt           int        `json:"is_upload_wt"`
	IsUploadXjf          int        `json:"is_upload_xjf"`

	//添加字段
	Aupr        int     `json:"aupr"`
	TotalAmount float64 `json:"total_amount"`
}

type CardInfo struct {
	Card   string `json:"card"`
	Amount int    `json:"amount"`
}

type GameTaskStatisticsRequest struct {
	GroupKey string `json:"group_key"`
	Date     string `json:"date"`
}

type GameListRequest struct {
	User       string `json:"user"`
	Date       string `json:"date"`
	GamePortId int    `json:"game_port_id"`
}

type GetTemporaryTaskRequest struct {
	PcCode string `json:"pc_code"`
}
