You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
121 lines
4.0 KiB
121 lines
4.0 KiB
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"`
|
|
}
|