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 //京东快递任务 ) var ( DeliveryStatusName = map[int]string{ OrderStatusNew: "上门取件中", OrderStatusDelivering: "配送中", OrderStatusFinished: "已妥投", } ) 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"` //单个任务金额 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"}, } }