package req

import (
	"time"
	"ulink-admin/pkg/base"
)

type CarAdd struct {
	CarNo         string `json:"carNo"  binding:"required"`            //车牌号
	Color         string `json:"color"  `                              //颜色
	Owner         string `json:"owner"  binding:"required"`            //车主
	CompanyId     int64  `json:"companyId"  binding:"required"`        //现属公司
	EngineNo      string `json:"engineNo"  `                           //发动机号
	ChassisNo     string `json:"chassisNo"  `                          //底盘号
	ProductDate   string `json:"productDate"  `                        //出厂日期
	Cat           int64  `json:"cat"  binding:"required"`              //车辆类型
	State         int    `json:"state"  binding:"required,oneof=1 2 "` //营业状态(1正常 2注销)
	TransportNo   string `json:"transportNo"  `                        //运输证号
	TransportDate string `json:"transportDate"  `                      //运输证发证日期
	Remark        string `json:"remark"  `                             //备注
}

type CarEdit struct {
	Id            int64  `json:"id"  binding:"required"`               //主键id
	CarNo         string `json:"carNo"  binding:"required"`            //车牌号
	Color         string `json:"color"  `                              //颜色
	Owner         string `json:"owner"  binding:"required"`            //车主
	CompanyId     int64  `json:"companyId"  binding:"required"`        //现属公司
	EngineNo      string `json:"engineNo"  `                           //发动机号
	ChassisNo     string `json:"chassisNo"  `                          //底盘号
	ProductDate   string `json:"productDate"  `                        //出厂日期
	Cat           int64  `json:"cat"  binding:"required"`              //车辆类型
	State         int    `json:"state"  binding:"required,oneof=1 2 "` //营业状态(1正常 2注销)
	TransportNo   string `json:"transportNo"  `                        //运输证号
	TransportDate string `json:"transportDate"  `                      //运输证发证日期
	Remark        string `json:"remark"  `                             //备注
}

type CarQuery struct {
	base.GlobalQuery
	Id            int64     `form:"id"`            //主键id
	CarNo         string    `form:"carNo"`         //车牌号
	Color         string    `form:"color"`         //颜色
	Owner         string    `form:"owner"`         //车主
	CompanyId     int64     `form:"companyId"`     //现属公司
	EngineNo      string    `form:"engineNo"`      //发动机号
	ChassisNo     string    `form:"chassisNo"`     //底盘号
	ProductDate   string    `form:"productDate"`   //出厂日期
	Cat           int64     `form:"cat"`           //车辆类型
	State         int       `form:"state"`         //营业状态(1正常 2注销)
	TransportNo   string    `form:"transportNo"`   //运输证号
	TransportDate string    `form:"transportDate"` //运输证发证日期
	Remark        string    `form:"remark"`        //备注
	CreateTime    time.Time `form:"createTime"`    //创建时间
	CreateBy      string    `form:"createBy"`      //创建人
	UpdateTime    time.Time `form:"updateTime"`    //更新时间
	UpdateBy      string    `form:"updateBy"`      //更新人
}

type CarBody struct {
	Id            int64     `json:"id" binding:"required"`        //主键id
	CarNo         string    `json:"carNo" binding:"required"`     //车牌号
	Color         string    `json:"color" `                       //颜色
	Owner         string    `json:"owner" binding:"required"`     //车主
	CompanyId     int64     `json:"companyId" binding:"required"` //现属公司
	EngineNo      string    `json:"engineNo" `                    //发动机号
	ChassisNo     string    `json:"chassisNo" `                   //底盘号
	ProductDate   string    `json:"productDate" `                 //出厂日期
	Cat           int64     `json:"cat" binding:"required"`       //车辆类型
	State         int       `json:"state" binding:"required"`     //营业状态(1正常 2注销)
	TransportNo   string    `json:"transportNo" `                 //运输证号
	TransportDate string    `json:"transportDate" `               //运输证发证日期
	Remark        string    `json:"remark" `                      //备注
	CreateTime    time.Time `json:"createTime" `                  //创建时间
	CreateBy      string    `json:"createBy" `                    //创建人
	UpdateTime    time.Time `json:"updateTime" `                  //更新时间
	UpdateBy      string    `json:"updateBy" `                    //更新人
}