package request

import "gin-vue-admin/model"

type CreateSurveyUserReq struct {
	Data            []model.SurveyUserData `json:"data"`
	Id              int                    `gorm:"type:int(255)" json:"id"`
	SurveyId        int                    `gorm:"type:int(255)" json:"survey_id"`
	UserId          int                    `gorm:"type:int(255)" json:"user_id"`
	MocId           int                    `gorm:"type:int(255)" json:"moc_id"`
	Contacts        string                 `gorm:"type:string(255)" json:"contacts"`
	ContactsMobile  string                 `gorm:"type:string(255)" json:"contacts_mobile"`
	Reference       string                 `gorm:"type:string(255)" json:"reference"`
	ReferenceMobile string                 `gorm:"type:string(255)" json:"reference_mobile"`
}

type GetSurveyUserListReq struct {
	PageInfo
	MocId           int    `gorm:"type:int(255)" json:"moc_id"`
	Region          string `gorm:"type:string(255)" json:"region"`
	City            string `gorm:"type:string(255)" json:"city"`
	Zone            string `gorm:"type:string(255)" json:"zone"`
	Address         string `gorm:"type:string(255)" json:"address"`
	Contacts        string `gorm:"type:string(255)" json:"contacts"`
	ContactsMobile  string `gorm:"type:string(255)" json:"contacts_mobile"`
	Reference       string `gorm:"type:string(255)" json:"reference"`
	ReferenceMobile string `gorm:"type:string(255)" json:"reference_mobile"`
	StartCreateTime string `json:"start_create_time" form:"start_create_time"`
	EndCreateTime   string `json:"end_create_time" form:"end_create_time"`
	Status          int    `gorm:"type:int(255)" json:"status"`
	IsReference     int    `gorm:"-" json:"isReference"`
}

type GetSurveyUserListReply struct {
	List  []GetSurveyUserList `json:"list"`
	Total int64               `json:"total"`
}

type GetSurveyUserList struct {
	Data            []model.SurveyUserData `gorm:"-" json:"data"`
	Id              int                    `gorm:"type:int(255)" json:"id"`
	SurveyId        int                    `gorm:"type:int(255)" json:"survey_id"`
	UserId          int                    `gorm:"type:int(255)" json:"user_id"`
	MocId           int                    `gorm:"type:int(255)" json:"moc_id"`
	CodeMobile      string                 `gorm:"type:string(255)" json:"code_mobile"`
	Code            string                 `gorm:"type:string(255)" json:"code"`
	Contacts        string                 `gorm:"type:string(255)" json:"contacts"`
	ContactsMobile  string                 `gorm:"type:string(255)" json:"contacts_mobile"`
	Reference       string                 `gorm:"type:string(255)" json:"reference"`
	ReferenceMobile string                 `gorm:"type:string(255)" json:"reference_mobile"`
	WorkerName      string                 `gorm:"type:string(255)" json:"worker_name"`
	WorkerMobile    string                 `gorm:"type:string(255)" json:"worker_mobile"`
	CreateTime      string                 `gorm:"type:string(255)" json:"create_time"`
	Vcode           string                 `gorm:"type:string(255)" json:"vcode"`
	Status          int                    `gorm:"type:int(255)" json:"status"`
	Region          string                 `gorm:"type:string(255)" json:"region"`
	City            string                 `gorm:"type:string(255)" json:"city"`
	CRegion         string                 `gorm:"type:string(255)" json:"c_region"`
	CCity           string                 `gorm:"type:string(255)" json:"c_city"`
	CZone           string                 `gorm:"type:string(255)" json:"c_zone"`
}

type GetSurveyLogListReq struct {
	PageInfo
	UserId          int    `gorm:"type:int(255)" json:"user_id" form:"user_id"`
	MocId           int    `gorm:"type:int(255)" json:"moc_id" form:"moc_id"`
	SlPage          int    `gorm:"type:int(255)" json:"sl_page" form:"sl_page"`
	WorkerName      string `gorm:"type:string(255)" json:"worker_name" form:"worker_name"`
	WorkerMobile    string `gorm:"type:string(255)" json:"worker_mobile" form:"worker_mobile"`
	Region          string `gorm:"type:string(255)" json:"region" form:"region"`
	City            string `gorm:"type:string(255)" json:"city" form:"city"`
	Zone            string `gorm:"type:string(255)" json:"zone" form:"zone"`
	StartCreateTime string `json:"start_create_time" form:"start_create_time"`
	EndCreateTime   string `json:"end_create_time" form:"end_create_time"`
	Groupby         string `json:"groupby" form:"groupby"`
}

type GetSurveyLogListReply struct {
	List  []GetSurveyLogList `json:"list"`
	Total int64              `json:"total"`
}

type GetSurveyLogList struct {
	Mobile       string `json:"mobile" form:"mobile"`
	MaxPage      string `gorm:"type:string(255)" json:"max_page"`
	WorkerName   string `gorm:"type:string(255)" json:"worker_name"`
	WorkerMobile string `gorm:"type:string(255)" json:"worker_mobile"`
}

type SlData struct {
	Cid   int `json:"cid"`
	MocId int `json:"moc_id"`
}

type GetSurveyLogPageList struct {
	Id           int    `gorm:"type:int(255)" json:"id"`
	UserName     string `gorm:"type:string(255)" json:"user_name"`
	Region       string `gorm:"type:string(255)" json:"region"`
	City         string `gorm:"type:string(255)" json:"city"`
	Zone         string `gorm:"type:string(255)" json:"zone"`
	Address      string `gorm:"type:string(255)" json:"address"`
	WorkerName   string `gorm:"type:string(255)" json:"worker_name"`
	WorkerMobile string `gorm:"type:string(255)" json:"worker_mobile"`
	UserSource   string `gorm:"type:string(255)" json:"user_source"`
	Ip           string `gorm:"type:string(255)" json:"ip"`
	CreateTime   string `gorm:"type:string(255)" json:"create_time"`
	UserType     int    `gorm:"type:int(255)" json:"user_type"`
}
