aa
This commit is contained in:
@@ -1081,21 +1081,63 @@ func ResetJobTimers() {
|
||||
}
|
||||
|
||||
func CreateJobSpan(ctx *jxcontext.Context, jobIDs []int, endAt string, span int) (err error) {
|
||||
// var (
|
||||
// db = dao.GetDB()
|
||||
// )
|
||||
// task := tasksch.NewParallelTask("CreateJobSpan", tasksch.NewParallelConfig().SetIsContinueWhenError(true), jxcontext.AdminCtx,
|
||||
// func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
// jobID := batchItemList[0].(int)
|
||||
// endAt2 := utils.Str2Time(endAt)
|
||||
// jonSpan := &model.JobSpan{
|
||||
// JobID: jobID,
|
||||
// EndAt: &endAt2,
|
||||
// SpanType: span,
|
||||
// }
|
||||
// return retVal, err
|
||||
// }, jobIDs)
|
||||
// tasksch.HandleTask(task, nil, true).Run()
|
||||
// task.GetID()
|
||||
var (
|
||||
db = dao.GetDB()
|
||||
maxSeq = 0
|
||||
)
|
||||
if span == model.JobSpanTop {
|
||||
maxSeq, err = dao.GetMaxJobTopSeq(db)
|
||||
} else {
|
||||
maxSeq, err = dao.GetMaxJobRecmdSeq(db)
|
||||
}
|
||||
for k, jobID := range jobIDs {
|
||||
endAt2 := utils.Str2Time(endAt)
|
||||
jonSpan := &model.JobSpan{
|
||||
JobID: jobID,
|
||||
EndAt: &endAt2,
|
||||
SpanType: span,
|
||||
}
|
||||
if err = dao.CreateEntity(db, jonSpan); err == nil {
|
||||
job := &model.Job{}
|
||||
job.ID = jobID
|
||||
if err = dao.GetEntity(db, job); err == nil {
|
||||
if span == model.JobSpanTop {
|
||||
job.TopSeq = k + 1 + maxSeq
|
||||
job.JobSpanTop = 1
|
||||
dao.UpdateEntity(db, job, "TopSeq", "JobSpanTop")
|
||||
} else {
|
||||
job.RecmdSeq = k + 1 + maxSeq
|
||||
job.JobSpanRecmd = 1
|
||||
dao.UpdateEntity(db, job, "RecmdSeq", "JobSpanRecmd")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func RefreshJobSpan(ctx *jxcontext.Context) (err error) {
|
||||
var (
|
||||
db = dao.GetDB()
|
||||
)
|
||||
jobSpans, err := dao.GetJobSpans(db)
|
||||
task := tasksch.NewParallelTask("RefreshJobSpan", tasksch.NewParallelConfig().SetIsContinueWhenError(true), jxcontext.AdminCtx,
|
||||
func(task *tasksch.ParallelTask, batchItemList []interface{}, params ...interface{}) (retVal interface{}, err error) {
|
||||
jobSpan := batchItemList[0].(*model.JobSpan)
|
||||
if time.Now().Sub(*jobSpan.EndAt) >= 0 {
|
||||
job := &model.Job{}
|
||||
job.ID = jobSpan.JobID
|
||||
if err = dao.GetEntity(db, job); err == nil {
|
||||
if jobSpan.SpanType == model.JobSpanTop {
|
||||
|
||||
} else {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
return retVal, err
|
||||
}, jobSpans)
|
||||
tasksch.HandleTask(task, nil, true).Run()
|
||||
task.GetID()
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -38,6 +38,8 @@ func doDailyWork() {
|
||||
globals.SugarLogger.Debug("doDailyWork")
|
||||
//刷新任务过期状态
|
||||
cms.RefreshJobStatus(jxcontext.AdminCtx)
|
||||
//刷新任务标签状态
|
||||
cms.RefreshJobSpan(jxcontext.AdminCtx)
|
||||
//刷新用户会员时间
|
||||
cms.RefreshUserMemberStatus(jxcontext.AdminCtx)
|
||||
//删除聊天记录
|
||||
|
||||
@@ -515,3 +515,42 @@ func GetStationInfoList(db *DaoDB, stationName string, cityCode int, lat, lng fl
|
||||
}
|
||||
return pagedInfo, err
|
||||
}
|
||||
|
||||
func GetMaxJobTopSeq(db *DaoDB) (maxSeq int, err error) {
|
||||
Seq := &struct {
|
||||
TopSeq int
|
||||
}{}
|
||||
sql := `
|
||||
SELECT MAX(top_seq) top_seq FROM job WHERE deleted_at = ? AND status = ? AND job_span_top = ?
|
||||
`
|
||||
sqlParams := []interface{}{utils.DefaultTimeValue, model.JobStatusDoing, 1}
|
||||
if err = GetRow(db, &Seq, sql, sqlParams); err == nil {
|
||||
return Seq.TopSeq, err
|
||||
}
|
||||
return maxSeq, err
|
||||
}
|
||||
|
||||
func GetMaxJobRecmdSeq(db *DaoDB) (maxSeq int, err error) {
|
||||
Seq := &struct {
|
||||
RecmdSeq int
|
||||
}{}
|
||||
sql := `
|
||||
SELECT MAX(recmd_seq) recmd_seq FROM job WHERE deleted_at = ? AND status = ? AND job_span_recmd = ?
|
||||
`
|
||||
sqlParams := []interface{}{utils.DefaultTimeValue, model.JobStatusDoing, 1}
|
||||
if err = GetRow(db, &Seq, sql, sqlParams); err == nil {
|
||||
return Seq.RecmdSeq, err
|
||||
}
|
||||
return maxSeq, err
|
||||
}
|
||||
|
||||
func GetJobSpans(db *DaoDB) (jobSpans []*model.JobSpan, err error) {
|
||||
sql := `
|
||||
SELECT *
|
||||
FROM job_span
|
||||
WHERE deleted_at = ?
|
||||
`
|
||||
sqlParams := []interface{}{utils.DefaultTimeValue}
|
||||
err = GetRows(db, &jobSpans, sql, sqlParams)
|
||||
return jobSpans, err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user