This commit is contained in:
苏尹岚
2020-11-03 11:57:06 +08:00
parent 2b018c4132
commit dc1829de5a
3 changed files with 14 additions and 5 deletions

View File

@@ -192,8 +192,8 @@ func CancelPublishJob(ctx *jxcontext.Context, jobID int) (err error) {
return err return err
} }
func GetJobs(ctx *jxcontext.Context, userIDs []string, categoryIDs, statuss, vendorIDs []int, includeStep bool, fromTime, toTime string, pageSize, offset int) (pagedInfo *model.PagedInfo, err error) { func GetJobs(ctx *jxcontext.Context, userIDs []string, categoryIDs, statuss, vendorIDs []int, includeStep bool, fromTime, toTime string, lng, lat float64, sortType, pageSize, offset int) (pagedInfo *model.PagedInfo, err error) {
return dao.GetJobs(dao.GetDB(), userIDs, categoryIDs, statuss, vendorIDs, []int{model.JobTypeNormal}, includeStep, utils.Str2Time(fromTime), utils.Str2Time(toTime), pageSize, offset) return dao.GetJobs(dao.GetDB(), userIDs, categoryIDs, statuss, vendorIDs, []int{model.JobTypeNormal}, includeStep, utils.Str2Time(fromTime), utils.Str2Time(toTime), lng, lat, sortType, pageSize, offset)
} }
func GetJobDetail(ctx *jxcontext.Context, jobID int, lng, lat float64) (job *dao.GetJobsResult, err error) { func GetJobDetail(ctx *jxcontext.Context, jobID int, lng, lat float64) (job *dao.GetJobsResult, err error) {

View File

@@ -30,7 +30,7 @@ type GetJobsResult struct {
Distance float64 `json:"distance"` //距用户距离 Distance float64 `json:"distance"` //距用户距离
} }
func GetJobs(db *DaoDB, userIDs []string, categoryIDs, statuss, vendorIDs, types []int, includeStep bool, fromTime, toTime time.Time, 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 jobs []*GetJobsResult var jobs []*GetJobsResult
sql := ` sql := `
SELECT SQL_CALC_FOUND_ROWS a.*, b.name SELECT SQL_CALC_FOUND_ROWS a.*, b.name
@@ -92,7 +92,10 @@ func GetJobs(db *DaoDB, userIDs []string, categoryIDs, statuss, vendorIDs, types
} }
} }
for _, v := range jobs { for _, v := range jobs {
var jobImgs []*model.JobImg var (
jobImgs []*model.JobImg
distance float64
)
sql3 := ` sql3 := `
SELECT * SELECT *
FROM job_img FROM job_img
@@ -104,6 +107,12 @@ func GetJobs(db *DaoDB, userIDs []string, categoryIDs, statuss, vendorIDs, types
v.JobImgs = jobImgs v.JobImgs = jobImgs
v.IndexImg = jobImgs[0].Img v.IndexImg = jobImgs[0].Img
} }
if v.Lng != 0 && v.Lat != 0 {
distance = jxutils.EarthDistance(lng, lat, jxutils.IntCoordinate2Standard(v.Lng), jxutils.IntCoordinate2Standard(v.Lat))
} else {
distance = 0
}
v.Distance = distance
} }
pagedInfo.Data = jobs pagedInfo.Data = jobs
} }

View File

@@ -83,7 +83,7 @@ func (c *JobController) GetJobs() {
categoryIDs, statuss, vendorIDs []int categoryIDs, statuss, vendorIDs []int
) )
if err = jxutils.Strings2Objs(params.UserIDs, &userIDs, params.CategoryIDs, &categoryIDs, params.Statuss, &statuss, params.VendorIDs, vendorIDs); err == nil { if err = jxutils.Strings2Objs(params.UserIDs, &userIDs, params.CategoryIDs, &categoryIDs, params.Statuss, &statuss, params.VendorIDs, vendorIDs); err == nil {
retVal, err = cms.GetJobs(params.Ctx, userIDs, categoryIDs, statuss, vendorIDs, params.IncludeStep, params.FromTime, params.ToTime, params.PageSize, params.Offset) retVal, err = cms.GetJobs(params.Ctx, userIDs, categoryIDs, statuss, vendorIDs, params.IncludeStep, params.FromTime, params.ToTime, params.Lng, params.Lat, params.SortType, params.PageSize, params.Offset)
} }
return retVal, "", err return retVal, "", err
}) })