package gd_service

type VioRecord struct {
	SerialNumber      string `json:"-"` //序号
	PlateNumber       string `json:"-"` //车牌
	PlateType         string `json:"-"` //车辆种类
	ViolationTime     string `json:"violation_time" description:"违章时间"`
	ViolationLocation string `json:"violation_location" description:"违法地点"`
	ViolationAction   string `json:"violation_action" description:"违法行为"`
	DeductMarks       string `json:"deduct_marks" description:"扣分"`
	Penalty           string `json:"penalty" description:"罚款"`
}

type ServiceGetViolationReq struct {
	Vin       string `json:"vin" description:"vin码，车辆唯一标识"`
	PlateNo   string `json:"plate_no" description:"车牌号码"`
	PlateType string `json:"plate_type" description:"车牌种类"`
	EngineNo  string `json:"engine_no" description:"发动机号"`
	AppKey    string `json:"app_key" description:"数据智能平台appkey"`
}

type ViolationInfo struct {
	Id              int64       `json:"-"`
	PlateNo         string      `json:"plate_no" description:"车牌号码"`
	PlateType       string      `json:"plate_type" description:"车牌种类"`
	EngineNo        string      `json:"engine_no" description:"发动机号"`
	Vin             string      `json:"vin" description:"vin码，车辆唯一标识"`
	ViolationDesc   string      `json:"violation_desc" description:"违章描述"`
	Content         string      `json:"-"`
	ViolationRecord []VioRecord `orm:"-" json:"violation_record" description:"违章记录"`
	UtDotime        string      `json:"ut_dotime" description:"获取日期"`
}

func (v *ViolationInfo) TableName() string {
	return "t_gd_violation"
}

type ServiceGetViolationReply struct {
	ViolationDetailInfo ViolationInfo `json:"violation_detail_info"`
}

type ServiceGetValuationReq struct {
	UtStyleId int64  `json:"ut_style_id" description:"车辆型号"`
	RegDate   string `json:"reg_date" description:"待估车辆的上牌时间（格式：yyyy-MM）"`
	Mile      string `json:"mile" description:"待估车辆的公里数，单位公里"`
	Zone      string `json:"zone" description:"所在城市"`
	AppKey    string `json:"app_key" description:"数据智能平台appkey"`
}

type ValPrice struct {
	Condition      string  `json:"condition" description:"车况"`
	DealerLowBuy   float64 `json:"dealer_low_buy" description:"最低车商收购价"`
	DealerBuy      float64 `json:"dealer_buy" description:"车商收购价"`
	IndividualLow  float64 `json:"individual_low" description:"最低个人交易价"`
	Individual     float64 `json:"individual" description:"个人交易价"`         //个人交易价
	DealerLow      float64 `json:"dealer_low" description:"最低车商零售价"`       //最低车商零售价
	Dealer         float64 `json:"dealer" description:"车商零售价"`             //车商零售价
	DealerHighSold float64 `json:"dealer_high_sold" description:"最高车商零售价"` //最高车商零售价
}

type ValuationInfo struct {
	Id                  int64      `json:"-"`
	UtStyleId           int64      `json:"ut_style_id" description:"车型唯一id"`
	RegDate             string     `json:"reg_date"`
	Mile                string     `json:"mile" description:"里程"`
	Zone                string     `json:"zone" description:"估值城市"`
	DefaultCarCondition string     `json:"default_car_condition" description:"默认车况"` //车况
	EvalPrice           string     `json:"-"`
	ValuationPrice      []ValPrice `orm:"-" json:"valuation_price" description:"估值列表"` //估值列表
	DischargeStandard   string     `json:"discharge_standard" description:"排放标准"`      //国际标准-国4
	ModelPrice          float64    `json:"model_price" description:"指导价"`              //指导价
	DetailReportUrl     string     `json:"-" description:"车300展示url地址"`                //车300展示url地址
	UtDotime            string     `json:"ut_dotime" description:"获取日期"`
}

func (v *ValuationInfo) TableName() string {
	return "t_gd_valuation"
}

type ServiceGetValuationReply struct {
	ValuationDetailInfo ValuationInfo `json:"valuation_detail_info"`
}

type ServiceGetWashingVehicleIndexReq struct {
	AppKey       string `json:"app_key" description:"数据智能平台appkey"`
	ProvinceName string `json:"province_name" description:"省市名（市为直辖市）"`
	RegionName   string `json:"region_name" description:"地区名（县，区等）"`
}

type MojiWeather struct {
	ConditionDay     string `json:"condition_day" description:"白天天气"`
	ConditionIdDay   string `json:"condition_id_day" description:"白天天气图标"`
	ConditionIdNight string `json:"condition_id_night" description:"夜间天气图标"`
	ConditionNight   string `json:"condition_night" description:"夜间天气"`
	Moonphase        string `json:"moonphase" description:"月相"`
	Moonrise         string `json:"moonrise" description:"月出"`
	Moonset          string `json:"moonset" description:"月落"`
	PredictDate      string `json:"predict_date" description:"预报日期"`
	Sunrise          string `json:"sunrise" description:"日出"`
	Sunset           string `json:"sunset" description:"日落"`
	TempDay          string `json:"temp_day" description:"白天温度"`
	TempNight        string `json:"temp_night" description:"夜间温度"`
	Updatetime       string `json:"updatetime" description:"更新时间"`
	WindDirDay       string `json:"wind_dir_day" description:"白天风向"`
	WindDirNight     string `json:"wind_dir_night" description:"夜间风向"`
	WindLevelDay     string `json:"wind_level_day" description:"白天风级"`
	WindLevelNight   string `json:"wind_level_night" description:"白天风速"`
	WindSpeedDay     string `json:"wind_level_night" description:"夜间风级"`
	WindSpeedNight   string `json:"wind_speed_night" description:"夜间风速"`
	WashingIndex     string `json:"washing_index" description:"洗车指数"`
	WashingDesc      string `json:"washing_desc" description:"洗车温馨提示"`
}
type ServiceGetWashingVehicleIndexReply struct {
	WashVehicleIndex []MojiWeather `json:"wash_vehicle_index"`
}
