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.

70 lines
2.5 KiB

package model
import (
"database/sql"
"github.com/shopspring/decimal"
"time"
)
const (
OrderConsignmentStatusUnSign = 1 // 待签订
OrderConsignmentStatusUnPublish = 2 // 待发布
OrderConsignmentStatusPublish = 3 // 提交审核
OrderConsignmentStatusTheUpper = 4 // 已上架
OrderConsignmentStatusSale = 5 // 已出售
OrderConsignmentStatusAccount = 6 // 已到账
OrderConsignmentStatusFinal = 7 // 已成交
OrderConsignmentStatusTheDown = 11 // 已下架
OrderConsignmentStatusCancel = 12 // 订单取消
OrderConsignmentStatusReject = 13 // 审核驳回
)
func (*OrderConsignment) GetStatusName(status uint) (result string) {
switch status {
case OrderConsignmentStatusUnSign:
return "待签订"
case OrderConsignmentStatusUnPublish:
return "待发布"
case OrderConsignmentStatusPublish:
return "提交审核"
case OrderConsignmentStatusTheUpper:
return "已上架"
case OrderConsignmentStatusSale:
return "已出售"
case OrderConsignmentStatusAccount:
return "已到账"
case OrderConsignmentStatusFinal:
return "已成交"
case OrderConsignmentStatusTheDown:
return "已下架"
case OrderConsignmentStatusCancel:
return "订单取消"
default:
return "未知"
}
}
type OrderConsignment struct {
Id uint `gorm:"primaryKey"`
CustomerId uint // 客户id
Customer Customer `gorm:"foreignKey:CustomerId"`
BrokerId uint // 经纪人id
Broker Broker `gorm:"foreignKey:BrokerId"`
OrderSn string // 订单编号
ModelId uint // 车型id
Model CarModel `gorm:"foreignKey:ModelId;references:ModelId"`
ContractId uint // 合同id
Vin string // 车架号
Contract *ContractConsignment `gorm:"foreignKey:ContractId"`
Status uint // 订单状态 0=订单取消 1=待签订
ContractPrice decimal.Decimal // 合同金额
SaleAmount decimal.Decimal // 售出金额
SaleAt sql.NullTime // 售出时间
CancelAt sql.NullTime // 取消时间
Histories []OrderConsignmentHistory `gorm:"foreignKey:OrderId"`
CarBase CarBase `gorm:"foreignKey:OrderId"`
Payment OrderConsignmentPayment `gorm:"foreignKey:OrderId"`
CreatedAt time.Time
UpdatedAt time.Time
}