package model import ( "database/sql" "github.com/shopspring/decimal" "time" ) const ( CarTypeSecond = 1 // 二手车 CarTypeNew = 2 // 新车 CarTheUpperFalse = 1 // 未上架 CarTheUpperTrue = 2 // 已上架 CarTheDownAdoptWait = 3 // 下架审核中 CarStatusNormal = 1 // 正常 CarStatusSigning = 4 // 合同签署中 CarStatusSigned = 5 // 合同已签署 CarStatusDeposit = 2 // 已预定 CarStatusFinal = 3 // 完成 CarStatusCancel = 10 // 取消 CustomerTypeCustomer = 1 // 普通客户 CustomerTypeDealer = 2 // 车商 ) func (*Car) GetCarTypeName(carType uint) (result string) { switch carType { case CarTypeSecond: return "二手车" case CarTypeNew: return "新车" default: return "未知" } } func (*Car) GetTheUpperName(up uint) (result string) { switch up { case CarTheUpperFalse: return "未上架" case CarTheUpperTrue: return "已上架" case CarTheDownAdoptWait: return "下架审核中" default: return "未知" } } func (*Car) GetStatusName(status uint) (result string) { switch status { case CarStatusCancel: return "取消" case CarStatusNormal: return "正常" case CarStatusSigning: return "签订中" case CarStatusSigned: return "已签订" case CarStatusDeposit: return "预定" case CarStatusFinal: return "完成" default: return "未知" } } func (*Car) GetCustomerTypeName(tp uint) (result string) { switch tp { case CustomerTypeCustomer: return "普通客户" case CustomerTypeDealer: return "车商" default: return "未知" } } type Car struct { Id uint `gorm:"primaryKey"` CarSn string // 车辆编号 Vin string // vin码 ModelId uint // 车型id Model CarModel `gorm:"foreignKey:ModelId;references:ModelId"` Data CarData `gorm:"foreignKey:CarId"` Type uint // 车辆类型 1=二手车 2=新车 OrderId uint // 车辆订单id OrderCarId uint // 订单 车辆id CarBase *CarBase `gorm:"foreignKey:OrderCarId"` StoreId uint // 车商门店id Store BrokerBusinessStore `gorm:"foreignKey:StoreId"` Sale *OrderSale `gorm:"foreignKey:CarId"` CustomerId uint // 客户id CustomerType uint // 客户类型 1=普通客户 2=车商 BrokerId uint // 车辆经纪人id Broker Broker `gorm:"foreignKey:BrokerId"` MainPhoto string // 车辆主图 Status uint // 状态 1=正常 2=预定 3=完成 10=取消 LicensingDate sql.NullTime // 上牌日期 ReckonPrice decimal.Decimal // 估算价格 Price decimal.Decimal // 价格 InteriorPrice decimal.Decimal // 内部价格 ExteriorPrice decimal.Decimal // 外部价格 LastPrice decimal.Decimal // 上次价格 DownPayment decimal.Decimal // 首付 Mileage decimal.Decimal // 里程 Transfer uint // 过户次数 Color string // 车身颜色 InteriorColor string // 内饰颜色 TheUpper uint // 上架 1=未上架 2=已上架 3=下架审核中 PriceAdjustAmount decimal.Decimal // 最近一次调价幅度 AdjustPriceHistories []CarAdjustPriceHistory `gorm:"foreignKey:CarId"` CreatedAt time.Time UpdatedAt time.Time //ConsignmentCar *OrderConsignmentCar `gorm:"foreignKey:OrderCarId"` //DealerConsignmentCar *OrderDealerConsignmentCar `gorm:"foreignKey:OrderCarId"` }