joborders

This commit is contained in:
苏尹岚
2020-10-16 09:59:25 +08:00
parent 61252f4527
commit 2dbd9d542b
5 changed files with 167 additions and 17 deletions

View File

@@ -148,9 +148,89 @@ func GetJobDetail(db *DaoDB, jobID int) (job *GetJobsResult, err error) {
return job, err
}
func GetJobOrders(db *DaoDB, jobID int, userID string, status int) (jobOrders []*model.JobOrder, err error) {
// sql := `
// SELECT
// `
func GetJobOrdersNoPage(db *DaoDB, jobID int, jobOrderID int64, userID string, statusCompareStr string, fromTime, toTime time.Time, statuss []int) (jobOrders []*model.JobOrder, err error) {
sql := `
SELECT a.*
FROM job_order a
WHERE 1 = 1
`
sqlParams := []interface{}{}
if jobID != 0 {
sql += ` AND a.job_id = ?`
sqlParams = append(sqlParams, jobID)
}
if jobOrderID != 0 {
sql += ` AND a.job_order_id = ?`
sqlParams = append(sqlParams, jobOrderID)
}
if userID != "" {
sql += ` AND a.user_id = ?`
sqlParams = append(sqlParams, userID)
}
if statusCompareStr != "" {
sql += ` AND a.status ` + statusCompareStr
}
if fromTime != utils.ZeroTimeValue {
sql += ` AND a.created_at >= ?`
sqlParams = append(sqlParams, fromTime)
}
if toTime != utils.ZeroTimeValue {
sql += ` AND a.created_at <= ?`
sqlParams = append(sqlParams, toTime)
}
if len(statuss) > 0 {
sql += ` AND a.status IN (` + GenQuestionMarks(len(statuss)) + `)`
sqlParams = append(sqlParams, statuss)
}
err = GetRows(db, &jobOrders, sql, sqlParams)
return jobOrders, err
}
func GetJobOrders(db *DaoDB, jobID int, jobOrderID int64, userID string, statusCompareStr string, fromTime, toTime time.Time, statuss []int, pageSize, offset int) (pagedInfo *model.PagedInfo, err error) {
var jobOrders []*model.JobOrder
sql := `
SELECT SQL_CALC_FOUND_ROWS a.*
FROM job_order a
WHERE 1 = 1
`
sqlParams := []interface{}{}
if jobID != 0 {
sql += ` AND a.job_id = ?`
sqlParams = append(sqlParams, jobID)
}
if jobOrderID != 0 {
sql += ` AND a.job_order_id = ?`
sqlParams = append(sqlParams, jobOrderID)
}
if userID != "" {
sql += ` AND a.user_id = ?`
sqlParams = append(sqlParams, userID)
}
if statusCompareStr != "" {
sql += ` AND a.status ` + statusCompareStr
}
if fromTime != utils.ZeroTimeValue {
sql += ` AND a.created_at >= ?`
sqlParams = append(sqlParams, fromTime)
}
if toTime != utils.ZeroTimeValue {
sql += ` AND a.created_at <= ?`
sqlParams = append(sqlParams, toTime)
}
if len(statuss) > 0 {
sql += ` AND a.status IN (` + GenQuestionMarks(len(statuss)) + `)`
sqlParams = append(sqlParams, statuss)
}
sql += " AND LIMIT ? OFFSET ?"
pageSize = jxutils.FormalizePageSize(pageSize)
sqlParams = append(sqlParams, pageSize, offset)
Begin(db)
defer Commit(db)
if err = GetRows(db, &jobOrders, sql, sqlParams...); err == nil {
pagedInfo = &model.PagedInfo{
TotalCount: GetLastTotalRowCount(db),
Data: jobOrders,
}
}
return pagedInfo, err
}

View File

@@ -11,7 +11,7 @@ const (
JobLimitCountTypePO = 1 //每人一次
JobLimitCountTypePDO = 2 //每人每天一次
JobLimitCountTypePWO = 3 //每人每周一次
JobLimitCountTypeNoLimie = 4 //不限制
JobLimitCountTypeNoLimit = 4 //不限制
JobOrderStatusAccept = 5
JobOrderStatusWaitAudit = 10
@@ -41,6 +41,7 @@ type Job struct {
AuditLimitAt int `json:"auditLimitAt"` //任务审核限时小时数
FinishedAt time.Time `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"` //商品优惠券链接
JobSteps []*JobStep `orm:"-" json:"jobSteps"`
@@ -85,18 +86,20 @@ func (v *JobStep) TableIndex() [][]string {
type JobOrder struct {
ModelIDCUL
JobID int `orm:"column(job_id)" json:"jobID"` //任务ID
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"` //任务审核内容
Img string `json:"img"` //任务审核图片
JobID int `orm:"column(job_id)" json:"jobID"` //任务ID
JobOrderID int `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"` //任务审核内容
Img string `json:"img"` //任务审核图片
}
func (v *JobOrder) TableIndex() [][]string {
return [][]string{
[]string{"JobID"},
[]string{"JobOrderID"},
[]string{"UserID"},
}
}