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 //京东快递任务 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"}, } }