pet-house/business/models/dataModel.go

351 lines
28 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护理人员
Discount int `json:"discount"` //折扣
CreateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP;not null" json:"createTime"` //创建时间
Status int `json:"status"` //信息状态
InviteUserId int64 `json:"inviteUserId"` //邀请用户
}
// 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"` //宠物描述
Weight int `json:"weight"` //宠物体重
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未知
Vaccine int `gorm:"default:0" json:"vaccine"` //是否打疫苗 0否 1是
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"` //创建时间
Status int `json:"status"` //信息状态
}
// 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小
Hair int `gorm:"not null" json:"hair"` //毛发 0未知 1长毛 2短毛
CreateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP" json:"-"` //创建时间
Status int `json:"status"` //信息状态
}
// 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 int64 `gorm:"not null" json:"distantGapMeters"` //服务最远距离 单位/米
ServiceArea string `json:"serviceArea"` //服务区域
Status int `json:"status"` //信息状态
}
// 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 `json:"areaId"` //服务区域ID
Addr string `gorm:"not null" json:"addr"` //详细地址
Longitude string `json:"longitude"` //经度
Latitude string `json:"latitude"` //纬度
Area string `gorm:"-" json:"area"` //服务区域
AddrArea string `json:"addrArea"` //地址区域
CreateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP;not null" json:"-"` //创建时间
Status int `json:"status"` //信息状态
}
// 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 int `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:"-"` //创建时间
Status int `json:"status"` //信息状态
GoodsSubType int `gorm:"not null" json:"goodsSubType"` //商品子类型
}
// 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小
Weight int `gorm:"not null" json:"weight"` //体重
Hair int `gorm:"not null" json:"hair"` //毛发 0未知 1长毛 2短毛
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:"-"` //创建时间
Status int `json:"status"` //信息状态
}
// 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客服电话 3分享信息
ContentType int `json:"contentType"` //1文本 2链接
Sort int `json:"sort"` //排序位
JumpType int `gorm:"default:0" json:"JumpType"` //跳转类型 0无法跳转 1跳转外部 2跳转内部
JumpUrl string `json:"jumpUrl"` //跳转url
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
OrderStatus int `json:"status"` //主订单状态 1待服务 2服务中 3已完成 4已取消
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"` //创建时间
PayStatus int `gorm:"default:0" json:"payStatus"` //支付状态 0未支付 1已支付
DispatchStatus int `gorm:"default:0" json:"dispatchStatus"` //派单状态 0未派单 1已派单
PayTotalAmount int `json:"payTotalAmount"` //支付总金额
TotalAmount int `json:"totalAmount"` //总金额
PayDiscount int `gorm:"default:0" json:"payDiscount"` //支付折扣
PayType int `json:"payType"` //支付方式 1线下 2线上 3会员余额
Status int `json:"status1"` //信息状态
PayOrderId string `json:"payOrderId"` //支付订单号
MarkStatus int `gorm:"default:0" json:"markStatus"` //评价状态
}
// 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
OrderStatus 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线上 3会员余额
Discount int `json:"discount"` //折扣
TotalAmount int `gorm:"not null" json:"totalAmount"` //总金额 - 原价
ProjectionServiceTime int `json:"projectionServiceTime"` //服务预估时长
PayStatus int `gorm:"default:0" json:"payStatus"` //支付状态 0未支付 1已支付
PayAmount int `json:"payAmount"` //实际支付金额 - 折扣金额
GoodsDiscountAmount int `json:"-"` //商品折扣金额
GoodsOriginAmount int `json:"-"` //商品原价 除去折扣价的金额
PayTime time.Time `gorm:"type:timestamp;" json:"payTime"` //支付时间
PayRemark string `json:"payRemark"` //支付备注
PetInfo string `json:"petInfo"` //宠物快照信息
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:"-"` //更新时间
Status int `json:"status1"`
Cid int `gorm:"not null" json:"cid"` //优惠券ID
Ucid int `gorm:"not null" json:"ucid"` //优惠券ID - user
}
// OrderDetail 订单明细
type OrderDetail struct {
Id int64 `gorm:"primaryKey;autoIncrement" json:"id"` //id
Cid int `json:"cid"` //子订单ID
Discount int `json:"discount"` //折扣
SubOrderId string `gorm:"index;not null" json:"subOrderId"` //子订单ID
GoodsId int64 `gorm:"index;not null" json:"goodsId"` //商品ID
Amount int `gorm:"not null" json:"amount"` //价格
DiscountAmount int `json:"-"` //折扣价格
}
// 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"` //创建时间
}
type UserAmountRecord struct {
Id int64 `gorm:"primaryKey;autoIncrement" json:"id"` //id
UserId int64 `gorm:"index:not null" json:"userId"` //用户ID
Type int `gorm:"not null" json:"type"` //操作类型 1加 2扣
OriginAmount int `gorm:"not null" json:"originAmount"` //原始余额
ProAmount int `gorm:"not null" json:"proAmount"` //操作余额
CurrAmount int `gorm:"not null" json:"currAmount"` //剩余余额
ProScene string `gorm:"not null" json:"proScene"` //操作场景
CreateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP" json:"createTime"` //创建时间
CreateDate time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP" json:"createDate"` //创建时间
Status int `json:"status"` //信息状态
OrderId string `json:"orderId"` //订单ID
}
// 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"` //评价用户
OrderId string `gorm:"not null" json:"orderId"` //订单ID
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:"-"` //更新时间
Status int `json:"status"` //信息状态
}
// 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
}
// AddrServiceTime 服务地址时间排期
type AddrServiceTime struct {
Id int `gorm:"primaryKey;autoIncrement" json:"id"` //id
ServiceAddrId int64 `gorm:"not null" json:"ServiceAddrId"` //服务地址ID
Times string `gorm:"not null" json:"times"` //时间列表
}
// Coupons 优惠券
type Coupons struct {
Id int `gorm:"primaryKey;autoIncrement" json:"id"` //id
Name string `gorm:"not null" json:"name"`
GoodsSubType int `gorm:"not null" json:"goodsSubType"` //商品子类型 1:洗护 2:美容 3:SPA 4:驱虫 5:洁牙
Discount int `gorm:"not null" json:"discount"` //折扣
Source string `gorm:"not null" json:"source"` //来源
PeriodType int `gorm:"not null" json:"periodType"` //使用类型 0、无 1、星期 2、截至时间 3、指定日期可用
Period string `json:"-"` //使用信息 具体时间 星期类型1,2,3截止日期2024-09-01 23:59:59指定日期2024-08-10
PeriodInfo []string `gorm:"-" json:"periodInfo"`
ExpireTime int64 `json:"expireTime"` //优惠券过期时间
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:"-"` //更新时间
Status int `gorm:"default:1" json:"-"` //数据状态
SendStatus int `gorm:"not null" json:"-"` //下发类型 1领取 2新用户注册赠送 3邀请新用户赠送
ReceiverStatus int `gorm:"-" json:"receiverStatus"` //领取状态 0未领取 1已领取
DrawDay int `gorm:"not null" json:"drawDay"` //优惠券领取后过期天数
LastExpireTime string `gorm:"-" json:"lastExpireTime"` //优惠券最后过期时间
}
// UserCoupons 用户优惠券
type UserCoupons struct {
Id int `gorm:"primaryKey;autoIncrement" json:"id"` //id
Uid int64 `gorm:"not null" json:"uid"` //用户id
Cid int `gorm:"not null" json:"cid"` //优惠券ID
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:"-"` //更新时间
Status int `gorm:"default:1" json:"-"`
CouponsStatus int `gorm:"default:1" json:"status"` //状态 1未使用 2已使用 3已过期
LastExpireTime time.Time `gorm:"not null" json:"lastExpireTime"` //优惠券最后过期时间
}
// RechargeInfo 充值挡位信息
type RechargeInfo struct {
Id int `gorm:"primaryKey;autoIncrement" json:"id"` //id
Name string `gorm:"not null" json:"name"` //挡位名称
Desc string `json:"desc"` //挡位描述
Price string `gorm:"not null" json:"price"` //价格
RechargePrice string `gorm:"not null;default:0" json:"rechargePrice"` //实际充值
Give string `gorm:"default:无" json:"give"` //赠送
CreateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP" json:"-"` //创建时间
UpdateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP" json:"-"` //更新时间
Status int `gorm:"default:1" json:"-" json:"-"` //状态
Type int `gorm:"default:1" json:"type" json:"type"` //类型 1充值挡位 2押金
}
// PayOrder 支付订单
type PayOrder struct {
Id int `gorm:"primaryKey;autoIncrement"` //id
Uid int64 `gorm:"not null;default:0" json:"uid"` //uid
OrderId string `gorm:"not null"` //订单ID
OrderName string `gorm:"not null"` //订单名称
OrderPrice string `gorm:"not null"` //订单金额
OrderStatus int `gorm:"not null;default:0"` //订单状态 0未支付 1已支付 2已退款
PayId string //三方交易号
RechargeId int `gorm:"not null;default:0"` //充值ID
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:"-"` //更新时间
Status int `gorm:"default:1" json:"-"` //状态
}
// ServiceCarLocation 服务车辆定位
type ServiceCarLocation struct {
Id int `gorm:"primaryKey;autoIncrement"` //id
Uid int64 `gorm:"not null" json:"uid"` //用户ID
CarId int `gorm:"not null" json:"carId"` //车辆ID
Longitude string `json:"longitude"` //经度
Latitude string `json:"latitude"` //纬度
CreateTime time.Time `gorm:"type:timestamp;default:CURRENT_TIMESTAMP" json:"createTime"` //创建时间
Status int `gorm:"default:1" json:"-"` //状态
}