pet-house/business/models/dataModel.go

218 lines
17 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package models
import "time"
/**
数据模型
*/
// User 用户
type User struct {
Id int64 `gorm:"primaryKey;autoIncrement" json:"id"` //用户ID
NickName string `json:"nickName"` //昵称
HeadImgUrl string `json:"headImgUrl"` //用户头像URL
Amount int `json:"amount"` //用户余额
OpenId string `gorm:"index;unique;not null" json:"openId"` //三方openid
UnionId string `gorm:"index;unique;not null" json:"unionId"` //三方unionid
UserType int `json:"userType"` //用户类型 0微信 1手机号
Mobile string `json:"mobile"` //手机号
Role int `json:"role"` //用户角色 0普通用户 1护理人员
CreateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP;not null" json:"createTime"` //创建时间
}
// Pet 宠物信息
type Pet struct {
Id int64 `gorm:"primaryKey;autoIncrement" json:"id"` //id
Uid int64 `gorm:"index;not null" json:"uid"` //用户id
NickName string `gorm:"not null" json:"nickName"` //宠物昵称
HeadImgType int `json:"headImgType"` //用户头像类型 0远程头像 1本地头像
HeadImgUrl string `json:"headImgUrl"` //宠物头像
Desc string `json:"desc"` //宠物描述
Precaution string `json:"precaution"` //注意事项
Gender int `json:"gender"` //性别 0男 1女
Birthday string `json:"birthday"` //生日
PetId int `json:"petId"` //宠物类型
Eunuch int `json:"eunuch"` //是否绝育 0否 1是 2未知
LastServiceProj string `gorm:"default:'-'" json:"lastServiceProj"` //上次服务项目
LastServiceDate string `gorm:"default:'-'" json:"lastServiceDate"` //上次服务时间
CreateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP;not null" json:"createTime"` //创建时间
}
// PetBaseInfo 宠物基础信息
type PetBaseInfo struct {
Id int `gorm:"primaryKey;autoIncrement" json:"id"` //id
PetType int `gorm:"not null" json:"petType"` //类型 1猫 2狗
Assortment string `gorm:"not null" json:"assortment"` //品种
Size int `gorm:"not null" json:"size"` //大小 1大 2中 3小
CreateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP" json:"-"` //创建时间
}
// ServiceAddr 服务地址
type ServiceAddr struct {
Id int64 `gorm:"primaryKey;autoIncrement" json:"id"` //ID
Longitude string `json:"longitude"` //经度
Latitude string `json:"latitude"` //纬度
Addr string `gorm:"not null" json:"addr"` //详细地址
DistantGapMeters float64 `gorm:"not null" json:"distantGapMeters"` //服务最远距离 单位/米
}
// UserServiceAddr 用户服务地址
type UserServiceAddr struct {
Id int64 `gorm:"primaryKey;autoIncrement" json:"id"` //id
Uid int64 `gorm:"index;not null" json:"uid"` //用户ID
Name string `gorm:"not null" json:"name"` //名称
Mobile string `gorm:"not null" json:"mobile"` //手机号
AreaId int64 `gorm:"not null" json:"areaId"` //服务区域ID
Addr string `gorm:"not null" json:"addr"` //详细地址
Longitude string `json:"longitude"` //经度
Latitude string `json:"latitude"` //纬度
Area string `gorm:"-" json:"area"` //服务区域
CreateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP;not null" json:"-"` //创建时间
}
// Goods 商品信息
type Goods struct {
Id int64 `gorm:"primaryKey;autoIncrement" json:"id"` //商品ID
Name string `gorm:"not null" json:"name"` //商品名称
GoodsType int `gorm:"not null" json:"goodsType"` //商品类型 1基础服务 2附加产品 3附加服务
Time string `json:"time"` //时间
Price int32 `gorm:"not null" json:"price"` //价格
ParentId int64 `gorm:"not null" json:"parentId"` //商品父ID
BuyMany int `gorm:"not null" json:"buyMany"` //同类型是否可购买多个 0否 1是
GoodsDetail string `gorm:"not null" json:"goodsDetail"` //商品详情 图片URL
GoodsIcon string `json:"goodsIcon"` //iconUrl
CreateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP" json:"-"` //创建时间
}
// PetGoods 宠物商品
type PetGoods struct {
Id int64 `gorm:"primaryKey;autoIncrement" json:"id"` //id
Assortment int `gorm:"not null" json:"assortment"` //品种Id 优先用品种查询 如不存在 则用类型及大小查询
PetType int `gorm:"not null" json:"petType"` //类型 1猫 2狗
Size int `gorm:"not null" json:"size"` //大小 1大 2中 3小
GoodsId int64 `gorm:"not null" json:"goodsId"` //商品ID
Sort int `gorm:"not null" json:"sort"` //排序
CreateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP" json:"-"` //创建时间
}
// SystemConfig 系统配置
type SystemConfig struct {
Id int `gorm:"primaryKey;autoIncrement" json:"id"` //id
Name string `json:"name"` //名称
Content string `json:"content"` //内容
ConfigType string `json:"configType"` //类型 0banner 1关于我们 2客服电话
ContentType int `json:"contentType"` //1文本 2链接
Sort int `json:"sort"` //排序位
CreateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP" json:"-"` //创建时间
}
// OrderMain 主订单
type OrderMain struct {
Id int64 `gorm:"primaryKey;autoIncrement" json:"id"` //id
OrderId string `gorm:"index;unique;not null" json:"orderId"` //主订单号
Uid int64 `gorm:"index;not null" json:"uid"` //用户id
Status int `json:"status"` //主订单状态 1待服务 2服务中 3已完成 4已派单 5已取消
ServiceTime string `json:"serviceTime"` //服务时间
ProjectionServiceTime int `json:"projectionServiceTime"` //服务预估时长
ServiceAddrId int64 `json:"serviceAddrId"` //服务地址信息
ServiceRemark string `json:"serviceRemark"` //服务备注
CreateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP" json:"createTime"` //创建时间
}
// OrderSub 子订单
type OrderSub struct {
Id int64 `gorm:"primaryKey;autoIncrement" json:"id"` //id
OrderId string `gorm:"index" json:"orderId"` //子订单ID
MainOrderId string `gorm:"index" json:"mainOrderId"` //主订单ID
Status int `gorm:"not null" json:"status"` //子订单状态 1待服务 2服务中 3已完成 4已取消
PetId int64 `gorm:"index" json:"petId"` //宠物ID
PayType int `gorm:"not null" json:"payType"` //支付方式 1线下 2线上
Discount int `json:"discount"` //折扣
TotalAmount int32 `gorm:"not null" json:"totalAmount"` //总金额
ProjectionServiceTime int `json:"projectionServiceTime"` //服务预估时长
PayAmount int32 `json:"payAmount"` //实际支付金额
PayTime time.Time `gorm:"type:timestamp;" json:"payTime"` //支付时间
PayRemark string `json:"payRemark"` //支付备注
CreateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP" json:"createTime"` //创建时间
UpdateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP" json:"-"` //更新时间
}
// OrderDetail 订单明细
type OrderDetail struct {
Id int64 `gorm:"primaryKey;autoIncrement" json:"id"` //id
SubOrderId string `gorm:"index;not null" json:"subOrderId"` //子订单ID
GoodsId int64 `gorm:"index;not null" json:"goodsId"` //商品ID
Amount int32 `gorm:"not null" json:"amount"` //价格
}
// OrderServiceRecord 订单服务记录
type OrderServiceRecord struct {
Id int64 `gorm:"primaryKey;autoIncrement" json:"id"` //id
OrderId string `gorm:"index:not null" json:"orderId"` //订单ID
FilePath string `json:"filePath"` //照片路径
Type int `gorm:"not null" json:"type"` //服务类型
CreateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP" json:"createTime"` //创建时间
}
// ServiceCar 服务车辆
type ServiceCar struct {
Id int `gorm:"primaryKey;autoIncrement" json:"id"` //id
CarNo string `gorm:"index;not null" json:"carNo"` //车牌号
CarModel string `json:"carModel"` //车辆型号
ServiceAddrId int64 `gorm:"not null" json:"serviceAddrId"` //服务地址ID
ServiceStatus int `gorm:"not null" json:"serviceStatus"` //当前服务状态 0空闲中 1排单中 2服务中
NowServiceAddr string `json:"nowServiceAddr"` //当前服务地址 开始服务记录位置
NowLongitude string `json:"nowLongitude"` //当前服务位置经度
NowLatitude string `json:"nowLatitude"` //当前服务位置维度
CreateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP" json:"-"` //创建时间
UpdateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP" json:"-"` //更新时间
ServiceAddr ServiceAddr `gorm:"-" json:"serviceAddr"` //当前服务区域
}
// CarOrder 车辆订单
type CarOrder struct {
Id int64 `gorm:"primaryKey;autoIncrement" json:"id"` //id
CarId int `gorm:"index;not null" json:"carId"` //车辆ID
OrderId string `gorm:"index;not null" json:"orderId"` //订单ID
Remark string `json:"remark"` //备注
PredictionServiceTime int `json:"predictionServiceTime"` //预计服务时间
CreateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP" json:"-"` //创建时间
UpdateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP" json:"-"` //更新时间
}
// ServiceCarUser 随车人员
type ServiceCarUser struct {
Id int `gorm:"primaryKey;autoIncrement" json:"id"` //id
CarId int `gorm:"index;not null" json:"carId"` //车ID
Uid int64 `gorm:"index;unique;not null" json:"uid"` //用户ID
CreateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP" json:"-"` //创建时间
UpdateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP" json:"-"` //更新时间
}
// ServiceUserMark 服务人员评分
type ServiceUserMark struct {
Id int64 `gorm:"primaryKey;autoIncrement" json:"id"` //id
ServiceStar int `gorm:"default:5" json:"serviceStar"` //服务星级
ServiceLabels string `json:"serviceLabels"` //服务标签
CreateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP" json:"-"` //创建时间
UpdateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP" json:"-"` //更新时间
}
// ServiceUserMarkRecord 服务人员评分记录
type ServiceUserMarkRecord struct {
Id int64 `gorm:"primaryKey;autoIncrement" json:"id"` //id
Uid int64 `gorm:"index;not null" json:"uid"` //评价用户
ServiceStar int `gorm:"default:5" json:"serviceStar"` //服务星级
ServiceLabels string `json:"serviceLabels"` //服务标签
MarkContext string `json:"markContext"` //评价内容
CreateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP" json:"-"` //创建时间
UpdateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP" json:"-"` //更新时间
}
// ReserveTimeFilter 服务过滤时间
type ReserveTimeFilter struct {
Id int `gorm:"primaryKey;autoIncrement" json:"id"` //id
Type int `gorm:"not null" json:"type"` //类型 1日期 2小时
Content string `gorm:"not null" json:"content"` //类型 具体内容 比如2024-04-08 12
}