package model import "time" 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 //交任务 JobTimerStatusWait = 0 //正在进行 JobTimerStatusFinish = 1 //定时任务已完成 JobTypeNormal = 0 //普通任务 JobTypeMtMember = 1 //美团会员任务 JobTypeJdDelivery = 2 //京东快递任务 JobCashbackPrice = 1 //返现类型固定返现 JobCashbackPercentage = 2 //返现类型比例返现 JobCategoryIDwmtg = 3 //任务类型外卖推广 ) var ( DeliveryStatusName = map[int]string{ OrderStatusNew: "上门取件中", OrderStatusDelivering: "配送中", OrderStatusFinished: "已妥投", OrderStatusCanceled: "已取消", } CashbackName = map[int]string{ JobCashbackPrice: "固定返现", JobCashbackPercentage: "比例返现", } ) type Job struct { ModelIDCULD UserID string `orm:"column(user_id)" json:"userID"` //发布人ID JobCategoryID int `orm:"column(job_category_id)" json:"jobCategoryID"` //任务类型 JobSpan string `orm:"size(500)" json:"jobSpan"` //任务标签 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"` //单个任务金额或预估金额 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次方 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为特殊任务 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 } 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"` //审核理由 } 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 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"` }