341 lines
14 KiB
Go
341 lines
14 KiB
Go
package model
|
||
|
||
import (
|
||
"time"
|
||
|
||
"git.rosy.net.cn/baseapi/platformapi/txcloudapi"
|
||
)
|
||
|
||
const (
|
||
JobStatusDoing = 0 //正在进行中
|
||
JobStatusFinished = 1 //任务所有都被完成
|
||
JobStatusFailed = -1 //任务发布失败
|
||
JobStatusOverdue = -2 //任务过期
|
||
|
||
JobLimitCountTypePO = 1 //每人一次
|
||
JobLimitCountTypePDO = 2 //每人每天一次
|
||
JobLimitCountTypePWO = 3 //每人每周一次
|
||
JobLimitCountTypeNoLimit = 4 //不限制
|
||
|
||
JobOrderStatusSpec = 1 //特殊状态(联盟任务)
|
||
JobOrderStatusAccept = 5
|
||
JobOrderStatusWaitAudit = 10
|
||
JobOrderStatusAuditPass = 15
|
||
JobOrderStatusAuditUnPass = 20
|
||
JobOrderStatusFinish = 110
|
||
JobOrderStatusCancel = 115
|
||
|
||
JobTimerTypeAccept = 1 //接受任务
|
||
JobTimerTypeSubmit = 2 //交任务
|
||
JobTimerTypeDropShipping = 3 //一件代发限时发货
|
||
|
||
JobTimerStatusWait = 0 //正在进行
|
||
JobTimerStatusFinish = 1 //定时任务已完成
|
||
|
||
JobTypeNormal = 0 //普通任务
|
||
JobTypeMtMember = 1 //美团会员任务
|
||
JobTypeJdDelivery = 2 //京东快递任务
|
||
JobTypeOther = 3 //其他任务(可能是存储信息用的
|
||
|
||
JobCashbackPrice = 1 //返现类型固定返现
|
||
JobCashbackPercentage = 2 //返现类型比例返现
|
||
|
||
JobCategoryIDwmtg = 3 //任务类型外卖推广
|
||
JobCategoryIDOther = 4 //其他任务类型
|
||
JobCategoryIDDropShipping = 5 //一件代发
|
||
JobCategoryIDUnion = 6 //联盟任务
|
||
|
||
JobSpanTop = 1 //置顶
|
||
JobSpanRecommend = 2 //推荐
|
||
|
||
JobCountrywideCode = 999
|
||
)
|
||
|
||
const (
|
||
/*消费类型*/
|
||
ConsumeTypePublishJob = 1 //发任务
|
||
ConsumeTypeMember = 2 //充会员
|
||
ConsumeTypeDelivery = 3 //发快递
|
||
)
|
||
|
||
var (
|
||
DeliveryStatusName = map[int]string{
|
||
OrderStatusNew: "上门取件中",
|
||
OrderStatusDelivering: "配送中",
|
||
OrderStatusFinished: "已妥投",
|
||
OrderStatusCanceled: "已取消",
|
||
}
|
||
|
||
CashbackName = map[int]string{
|
||
JobCashbackPrice: "固定返现",
|
||
JobCashbackPercentage: "比例返现",
|
||
}
|
||
|
||
ConsumeName = map[int]string{
|
||
ConsumeTypePublishJob: "发任务",
|
||
ConsumeTypeMember: "充会员",
|
||
ConsumeTypeDelivery: "发快递",
|
||
}
|
||
|
||
TxWaybillNames = map[int]string{
|
||
txcloudapi.StatusErr: "单号或代码错误",
|
||
txcloudapi.StatusNull: "暂无轨迹",
|
||
txcloudapi.StatusAccept: "快递收件",
|
||
txcloudapi.StatusDelivering: "在途中",
|
||
txcloudapi.StatusFinished: "已签收",
|
||
txcloudapi.StatusProblem: "问题件 (派件不成功或要求择日派送)",
|
||
txcloudapi.StatusException: "疑难件(收件人拒绝签收,地址有误或不能送达派送区域,收费等原因无法正常派送)",
|
||
txcloudapi.StatusFailed: "退件签收",
|
||
}
|
||
)
|
||
|
||
type Job struct {
|
||
ModelIDCULD
|
||
|
||
UserID string `orm:"column(user_id)" json:"userID"` //发布人ID
|
||
JobCategoryID int `orm:"column(job_category_id)" json:"jobCategoryID"` //任务类型
|
||
JobSpanTop int `json:"jobSpanTop"` //置顶标签
|
||
TopSeq int `json:"topSeq"` //置顶顺序
|
||
JobSpanRecmd int `json:"jobSpanRecmd"` //推荐标签
|
||
RecmdSeq int `json:"recmdSeq"` //推荐顺序
|
||
Title string `orm:"size(255)" json:"title"` //任务标题
|
||
Content string `orm:"size(500)" json:"content"` //任务内容
|
||
Count int `json:"count"` //任务数量
|
||
SurplusCount int `json:"surplusCount"` //剩余数量
|
||
AvgPrice int `json:"avgPrice"` //单个任务金额或预估金额
|
||
DropShippingSkuPrice int `json:"dropShippingSkuPrice"` //一件代发任务商品价格
|
||
Percentage int `json:"percentage"` //如果是比例返现,返现比例
|
||
CashbackType int `json:"cashbackType"` //返现方式,1为固定返现,2为比例返现
|
||
TotalPrice int `json:"totalPrice"` //任务总金额
|
||
Status int `json:"status"` //任务状态
|
||
Address string `orm:"size(500)" json:"address"` //门店地址
|
||
Lng int `json:"lng"` //乘了10的6次方
|
||
Lat int `json:"lat"` //乘了10的6次方
|
||
JobLng float64 `json:"jobLng"` //任务发布地址
|
||
JobLat float64 `json:"jobLat"` //任务发布地址
|
||
JobCityCode int `json:"jobCityCode"` //任务所属城市,999代表全国
|
||
DropShippingAt int `json:"dropShippingAt"` //承诺一件代发几天内发货,小时数
|
||
JobLimitAt int `json:"jobLimitAt"` //任务限时完成小时数
|
||
AuditLimitAt int `json:"auditLimitAt"` //任务审核限时小时数
|
||
FinishedAt *time.Time `orm:"null" json:"finishedAt"` //接单截止日期
|
||
LimitCountType int `json:"limitCountType"` //任务限次类型,1为每人一次,2为每人每天一次,3为每人每周一次,4为不限制
|
||
VendorID int `orm:"column(vendor_id)" json:"vendorID"` //推广平台
|
||
StoreURL string `orm:"column(store_url)" json:"storeURL"` //门店链接
|
||
SkuURL string `orm:"column(sku_url)" json:"skuURL"` //商品优惠券链接
|
||
Type int `json:"type"` //任务类型,0为普通任务,1为特殊任务
|
||
BrowseCount int `json:"browseCount"` //任务浏览量,点一下加一下
|
||
UnionImg string `json:"unionImg"` //联盟任务分享链接的背景图
|
||
UnionQrcodePosition string `json:"unionQrcodePosition"` //联盟任务分享链接的二维码图的方位
|
||
UnionActID string `orm:"column(union_act_id)" json:"unionActID"` //联盟任务ID
|
||
// JobSteps []*JobStep `orm:"-" json:"jobSteps"`
|
||
// JobImgs []*JobImg `orm:"-" json:"jobImgs"`
|
||
}
|
||
|
||
func (v *Job) TableIndex() [][]string {
|
||
return [][]string{
|
||
[]string{"UserID"},
|
||
[]string{"CreatedAt"},
|
||
}
|
||
}
|
||
|
||
type JobExt struct {
|
||
FinishedAtStr string `json:"finishedAtStr"` //接单截止日期
|
||
Job
|
||
JobSteps []*JobStep `orm:"-" json:"jobSteps"`
|
||
JobImgs []*JobImg `orm:"-" json:"jobImgs"`
|
||
}
|
||
|
||
type JobImg struct {
|
||
ModelIDCUL
|
||
|
||
JobID int `orm:"column(job_id)" json:"jobID"` //任务ID
|
||
Img string `orm:"size(500)" json:"img"` //图片
|
||
}
|
||
|
||
func (v *JobImg) TableIndex() [][]string {
|
||
return [][]string{
|
||
[]string{"JobID"},
|
||
}
|
||
}
|
||
|
||
type JobCategory struct {
|
||
ModelIDCULD
|
||
|
||
Name string `orm:"size(48)" json:"name"` //类型名称
|
||
Img string `orm:"size(500)" json:"img"` //类型图片
|
||
}
|
||
|
||
func (v *JobCategory) TableUnique() [][]string {
|
||
return [][]string{
|
||
[]string{"Name"},
|
||
}
|
||
}
|
||
|
||
type JobStep struct {
|
||
ModelIDCULD
|
||
|
||
JobID int `orm:"column(job_id)" json:"jobID"` //任务ID
|
||
StepCount int `json:"stepCount"` //步骤数
|
||
Content string `orm:"size(500)" json:"content"` //步骤内容
|
||
Img string `orm:"size(500)" json:"img"` //步骤图片
|
||
Type int `json:"type"` //步骤类型,1为任务步骤,2为收集信息
|
||
}
|
||
|
||
func (v *JobStep) TableIndex() [][]string {
|
||
return [][]string{
|
||
[]string{"JobID"},
|
||
}
|
||
}
|
||
|
||
type JobOrder struct {
|
||
ModelIDCUL
|
||
|
||
JobID int `orm:"column(job_id)" json:"jobID"` //任务ID
|
||
JobOrderID int64 `orm:"column(job_order_id)" json:"jobOrderID"` //任务订单号
|
||
UserID string `orm:"column(user_id)" json:"userID"` //接任务人ID
|
||
Status int `json:"status"` //任务订单状态,接单,待审核,已审核,已结算等
|
||
SubmitAuditAt time.Time `json:"submitAuditTime"` //提交审核日期
|
||
AuditAt time.Time `json:"auditAt"` //审核日期
|
||
Content string `josn:"content"` //任务审核内容
|
||
Imgs string `json:"imgs"` //任务审核图片
|
||
Comment string `json:"comment"` //审核理由
|
||
UserActualPrice int `json:"userActualPrice"` //用户订单实际支付(用户自填)
|
||
|
||
DropShippingCount int `json:"dropShippingCount"` //一件代发购买商品数量
|
||
DropShippingDeliveryID int `orm:"column(drop_shipping_delivery_id)" json:"dropShippingDeliveryID"`
|
||
DropShippingName string `json:"dropShippingName"`
|
||
DropShippingMobile string `json:"dropShippingMobile"`
|
||
DropShippingAddress string `json:"dropShippingAddress"`
|
||
DropShippingDetailAddress string `json:"dropShippingDetailAddress"`
|
||
DropShippingLng float64 `json:"dropShippingLng"`
|
||
DropShippingLat float64 `json:"dropShippingLat"`
|
||
DropShippingAutoAddress string `json:"dropShippingAutoAddress"`
|
||
DropShippingCityCode int `json:"dropShippingCityCode"`
|
||
DropShippingDistrictCode int `json:"dropShippingDistrictCode"`
|
||
VendorWaybillID string `orm:"column(vendor_waybill_id)" json:"vendorWaybillID"` //运单号
|
||
WaybillInfo string `orm:"type(text)" json:"waybillInfo"` //物流信息
|
||
WaybillQueryTime time.Time `json:"waybillQueryTime"` //上次查询时间
|
||
WaybillStatus int `json:"waybillStatus"` //运单状态(一件代发)
|
||
DropShippingConfirmTime time.Time `orm:"type(datetime);null" json:"dropShippingConfirmTime"` //确认收货时间
|
||
DropShippingConfirmUser string `json:"dropShippingConfirmUser"` //确认收货人
|
||
}
|
||
|
||
func (v *JobOrder) TableIndex() [][]string {
|
||
return [][]string{
|
||
[]string{"JobID"},
|
||
[]string{"JobOrderID"},
|
||
[]string{"UserID"},
|
||
}
|
||
}
|
||
|
||
type JobTimer struct {
|
||
ModelIDCUL
|
||
|
||
JobID int `orm:"column(job_id)" json:"jobID"` //任务ID
|
||
JobOrderID int64 `orm:"column(job_order_id)" json:"jobOrderID"` //任务订单号
|
||
Type int `json:"type"` //定时任务类型,1为接受任务,2为提交审核
|
||
Status int `json:"status"` //定时任务的状态,0表示正在进行,1表示已经结束
|
||
StartAt time.Time `json:"startAt"` //定时任务开始时间
|
||
LimitAt int `json:"limitAt"` //定时任务时长(小时数)
|
||
}
|
||
|
||
func (v *JobTimer) TableIndex() [][]string {
|
||
return [][]string{
|
||
[]string{"JobID"},
|
||
[]string{"JobOrderID"},
|
||
}
|
||
}
|
||
|
||
type JobSpan struct {
|
||
ModelIDCULD
|
||
|
||
JobID int `orm:"column(job_id)" json:"jobID"` //任务ID
|
||
EndAt *time.Time `json:"endAt"` //生效时间范围
|
||
SpanType int `json:"spanType"` //1为置顶,2为推荐
|
||
}
|
||
|
||
func (v *JobSpan) TableIndex() [][]string {
|
||
return [][]string{
|
||
[]string{"JobID", "DeletedAt"},
|
||
}
|
||
}
|
||
|
||
type MtMember struct {
|
||
ModelIDCULD
|
||
|
||
URL string `orm:"column(url)" json:"url"` //网址
|
||
ExpiryDate time.Time `json:"expiryDate"` //有效期
|
||
ShortLink string `json:"shortLink"` //密钥?
|
||
}
|
||
|
||
func (v *MtMember) TableUnique() [][]string {
|
||
return [][]string{
|
||
[]string{"URL"},
|
||
}
|
||
}
|
||
|
||
func (v *MtMember) TableIndex() [][]string {
|
||
return [][]string{
|
||
[]string{"DeletedAt"},
|
||
}
|
||
}
|
||
|
||
type StationInfo struct {
|
||
ModelIDCUL
|
||
|
||
StationID string `orm:"column(station_id)" json:"stationID"`
|
||
StationName string `json:"stationName"`
|
||
ProvinceName string `json:"provinceName"`
|
||
ProvinceID int `orm:"column(province_id)" json:"provinceID"`
|
||
CityName string `json:"cityName"`
|
||
Latitude float64 `json:"latitude"`
|
||
Longitude float64 `json:"longitude"`
|
||
Location string `json:"location"`
|
||
StarNum string `json:"starNum"`
|
||
Phone string `json:"phone"`
|
||
StationPic string `json:"stationPic"`
|
||
StationBannerPic string `json:"stationBannerPic"`
|
||
Prices string `orm:"type(text)" json:"prices"`
|
||
Adverts string `orm:"type(text)" json:"adverts"`
|
||
District string `json:"district"`
|
||
CityID int `orm:"column(city_id)" json:"cityID"`
|
||
StationType int `json:"stationType"`
|
||
Distance float64 `json:"distance"`
|
||
OilInfo []*OilInfo `orm:"-" json:"oilInfo"`
|
||
}
|
||
|
||
func (v *StationInfo) TableUnique() [][]string {
|
||
return [][]string{
|
||
[]string{"StationID"},
|
||
}
|
||
}
|
||
|
||
func (v *StationInfo) TableIndex() [][]string {
|
||
return [][]string{
|
||
[]string{"CityID", "ProvinceID"},
|
||
}
|
||
}
|
||
|
||
type OilInfo struct {
|
||
OilID string `json:"oilId"`
|
||
StationPrice string `json:"stationPrice"`
|
||
OilType string `json:"oilType"`
|
||
DiscountPrice string `json:"discountPrice"`
|
||
CountryPrice string `json:"countryPrice"`
|
||
OilgunCodes []string `json:"oilgunCodes"`
|
||
OilCode string `json:"oilCode"`
|
||
}
|
||
|
||
type AddressDistinguish struct {
|
||
ModelIDCUL
|
||
|
||
Address string `json:"address"`
|
||
Info string `orm:"type(text)" json:"info"`
|
||
}
|
||
|
||
func (v *AddressDistinguish) TableUnique() [][]string {
|
||
return [][]string{
|
||
[]string{"Address"},
|
||
}
|
||
}
|