job
This commit is contained in:
@@ -35,6 +35,29 @@ type GetJobsResult struct {
|
|||||||
Distance float64 `json:"distance"` //距用户距离
|
Distance float64 `json:"distance"` //距用户距离
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func GetJobSteps(db *DaoDB, jobID int) (jobSteps []*model.JobStep, err error) {
|
||||||
|
sql := `
|
||||||
|
SELECT *
|
||||||
|
FROM job_step
|
||||||
|
WHERE job_id = ?
|
||||||
|
AND deleted_at = ?
|
||||||
|
`
|
||||||
|
sqlParams := []interface{}{jobID, utils.DefaultTimeValue}
|
||||||
|
err = GetRows(db, &jobSteps, sql, sqlParams)
|
||||||
|
return jobSteps, err
|
||||||
|
}
|
||||||
|
|
||||||
|
func GetJobImgs(db *DaoDB, jobID int) (jobImgs []*model.JobImg, err error) {
|
||||||
|
sql := `
|
||||||
|
SELECT *
|
||||||
|
FROM job_img
|
||||||
|
WHERE job_id = ?
|
||||||
|
`
|
||||||
|
sqlParams := []interface{}{jobID}
|
||||||
|
err = GetRows(db, &jobImgs, sql, sqlParams)
|
||||||
|
return jobImgs, err
|
||||||
|
}
|
||||||
|
|
||||||
func GetJobs(db *DaoDB, userIDs []string, categoryIDs, statuss, vendorIDs, types []int, includeStep bool, fromTime, toTime time.Time, lng, lat float64, sortType, pageSize, offset int) (pagedInfo *model.PagedInfo, err error) {
|
func GetJobs(db *DaoDB, userIDs []string, categoryIDs, statuss, vendorIDs, types []int, includeStep bool, fromTime, toTime time.Time, lng, lat float64, sortType, pageSize, offset int) (pagedInfo *model.PagedInfo, err error) {
|
||||||
var (
|
var (
|
||||||
jobs []*GetJobsResult
|
jobs []*GetJobsResult
|
||||||
@@ -105,33 +128,16 @@ func GetJobs(db *DaoDB, userIDs []string, categoryIDs, statuss, vendorIDs, types
|
|||||||
TotalCount: GetLastTotalRowCount(db),
|
TotalCount: GetLastTotalRowCount(db),
|
||||||
// Data: jobs,
|
// Data: jobs,
|
||||||
}
|
}
|
||||||
if includeStep {
|
|
||||||
for _, v := range jobs {
|
for _, v := range jobs {
|
||||||
var jobSteps []*model.JobStep
|
if includeStep {
|
||||||
sql2 := `
|
if jobSteps, err := GetJobSteps(db, v.ID); err == nil && len(jobSteps) > 0 {
|
||||||
SELECT *
|
|
||||||
FROM job_step
|
|
||||||
WHERE job_id = ?
|
|
||||||
AND deleted_at = ?
|
|
||||||
`
|
|
||||||
sqlParams2 := []interface{}{v.ID, utils.DefaultTimeValue}
|
|
||||||
err = GetRows(db, &jobSteps, sql2, sqlParams2)
|
|
||||||
v.JobSteps = jobSteps
|
v.JobSteps = jobSteps
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for _, v := range jobs {
|
|
||||||
var (
|
var (
|
||||||
jobImgs []*model.JobImg
|
|
||||||
distance float64
|
distance float64
|
||||||
)
|
)
|
||||||
sql3 := `
|
if jobImgs, err := GetJobImgs(db, v.ID); err == nil && len(jobImgs) > 0 {
|
||||||
SELECT *
|
|
||||||
FROM job_img
|
|
||||||
WHERE job_id = ?
|
|
||||||
`
|
|
||||||
sqlParams3 := []interface{}{v.ID}
|
|
||||||
err = GetRows(db, &jobImgs, sql3, sqlParams3)
|
|
||||||
if len(jobImgs) > 0 {
|
|
||||||
v.JobImgs = jobImgs
|
v.JobImgs = jobImgs
|
||||||
v.IndexImg = jobImgs[0].Img
|
v.IndexImg = jobImgs[0].Img
|
||||||
}
|
}
|
||||||
@@ -191,39 +197,20 @@ func GetJobsNoPage(db *DaoDB, userIDs []string, categoryIDs, statuss, types []in
|
|||||||
sqlParams = append(sqlParams, toTime)
|
sqlParams = append(sqlParams, toTime)
|
||||||
}
|
}
|
||||||
err = GetRows(db, &jobs, sql, sqlParams...)
|
err = GetRows(db, &jobs, sql, sqlParams...)
|
||||||
if includeStep {
|
|
||||||
for _, v := range jobs {
|
for _, v := range jobs {
|
||||||
var jobSteps []*model.JobStep
|
if includeStep {
|
||||||
sql2 := `
|
if jobSteps, err := GetJobSteps(db, v.ID); err == nil && len(jobSteps) > 0 {
|
||||||
SELECT *
|
|
||||||
FROM job_step
|
|
||||||
WHERE job_id = ?
|
|
||||||
AND deleted_at = ?
|
|
||||||
`
|
|
||||||
sqlParams2 := []interface{}{v.ID, utils.DefaultTimeValue}
|
|
||||||
err = GetRows(db, &jobSteps, sql2, sqlParams2)
|
|
||||||
v.JobSteps = jobSteps
|
v.JobSteps = jobSteps
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for _, v := range jobs {
|
if jobImgs, err := GetJobImgs(db, v.ID); err == nil && len(jobImgs) > 0 {
|
||||||
var jobImgs []*model.JobImg
|
|
||||||
sql3 := `
|
|
||||||
SELECT *
|
|
||||||
FROM job_img
|
|
||||||
WHERE job_id = ?
|
|
||||||
`
|
|
||||||
sqlParams3 := []interface{}{v.ID}
|
|
||||||
err = GetRows(db, &jobImgs, sql3, sqlParams3)
|
|
||||||
v.JobImgs = jobImgs
|
v.JobImgs = jobImgs
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return jobs, err
|
return jobs, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetJobDetail(db *DaoDB, jobID int) (job *GetJobsResult, err error) {
|
func GetJobDetail(db *DaoDB, jobID int) (job *GetJobsResult, err error) {
|
||||||
var (
|
|
||||||
jobImgs []*model.JobImg
|
|
||||||
jobSteps []*model.JobStep
|
|
||||||
)
|
|
||||||
sql := `
|
sql := `
|
||||||
SELECT a.*, b.name
|
SELECT a.*, b.name
|
||||||
FROM job a
|
FROM job a
|
||||||
@@ -237,23 +224,12 @@ func GetJobDetail(db *DaoDB, jobID int) (job *GetJobsResult, err error) {
|
|||||||
}
|
}
|
||||||
err = GetRow(db, &job, sql, sqlParams...)
|
err = GetRow(db, &job, sql, sqlParams...)
|
||||||
if job != nil {
|
if job != nil {
|
||||||
sql2 := `
|
if jobSteps, err := GetJobSteps(db, job.ID); err == nil && len(jobSteps) > 0 {
|
||||||
SELECT *
|
|
||||||
FROM job_step
|
|
||||||
WHERE job_id = ?
|
|
||||||
AND deleted_at = ?
|
|
||||||
`
|
|
||||||
sqlParams2 := []interface{}{job.ID, utils.DefaultTimeValue}
|
|
||||||
err = GetRows(db, &jobSteps, sql2, sqlParams2)
|
|
||||||
job.JobSteps = jobSteps
|
job.JobSteps = jobSteps
|
||||||
sql3 := `
|
}
|
||||||
SELECT *
|
if jobImgs, err := GetJobImgs(db, job.ID); err == nil && len(jobImgs) > 0 {
|
||||||
FROM job_img
|
|
||||||
WHERE job_id = ?
|
|
||||||
`
|
|
||||||
sqlParams3 := []interface{}{job.ID}
|
|
||||||
err = GetRows(db, &jobImgs, sql3, sqlParams3)
|
|
||||||
job.JobImgs = jobImgs
|
job.JobImgs = jobImgs
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
return job, fmt.Errorf("未查到到该任务!")
|
return job, fmt.Errorf("未查到到该任务!")
|
||||||
}
|
}
|
||||||
@@ -352,17 +328,10 @@ func GetJobOrders(db *DaoDB, jobID int, jobOrderID int64, userID string, statusC
|
|||||||
// Data: jobOrders,
|
// Data: jobOrders,
|
||||||
}
|
}
|
||||||
for _, v := range jobOrders {
|
for _, v := range jobOrders {
|
||||||
v.JobOrderFinishAt = v.CreatedAt.Add(time.Duration(v.JobLimitAt) * time.Hour)
|
if jobImgs, err := GetJobImgs(db, v.JobID); err == nil && len(jobImgs) > 0 {
|
||||||
var jobImgs []*model.JobImg
|
|
||||||
sql3 := `
|
|
||||||
SELECT *
|
|
||||||
FROM job_img
|
|
||||||
WHERE job_id = ?
|
|
||||||
`
|
|
||||||
sqlParams3 := []interface{}{v.JobID}
|
|
||||||
err = GetRows(db, &jobImgs, sql3, sqlParams3)
|
|
||||||
v.JobIndexImg = jobImgs[0].Img
|
v.JobIndexImg = jobImgs[0].Img
|
||||||
}
|
}
|
||||||
|
}
|
||||||
pagedInfo.Data = jobOrders
|
pagedInfo.Data = jobOrders
|
||||||
}
|
}
|
||||||
return pagedInfo, err
|
return pagedInfo, err
|
||||||
|
|||||||
Reference in New Issue
Block a user