Parcourir la source

审核通过更新支付截止时间

Ethan il y a 2 jours
Parent
commit
f1dbc68553
2 fichiers modifiés avec 50 ajouts et 6 suppressions
  1. 1 1
      app/schedule/auto_task_invalid.go
  2. 49 5
      app/schedule/auto_task_review.go

+ 1 - 1
app/schedule/auto_task_invalid.go

@@ -56,7 +56,7 @@ func AutoProjectInvalidTask() {
 			})
 			continue
 		}
-		if time.Now().After(projectInfo.RecruitDdl) && projectInfo.ProjectStatus == 4 {
+		if projectInfo.ProjectStatus == 4 && time.Now().After(projectInfo.RecruitDdl) {
 			// 变成待支付
 			_ = dao.ProjectDAO{}.UpdateProject(entity.Project{
 				ProjectId:     projectId,

+ 49 - 5
app/schedule/auto_task_review.go

@@ -1,6 +1,7 @@
 package schedule
 
 import (
+	"github.com/caixw/lib.go/conv"
 	"github.com/robfig/cron/v3"
 	"log"
 	"strings"
@@ -232,9 +233,24 @@ func AutoProjectReviewTask() {
 		}
 
 		// 审核通过
-		t := time.Now()
 		_ = dao.ProjectReviewDao{}.UpdateProjectReview(&entity.ReviewProject{ID: reviewProject.ID, Status: 2})
-		_ = dao.ProjectDAO{}.UpdateProject(entity.Project{ProjectId: reviewProject.ProjectID, ProjectStatus: 4, PassAt: t})
+		// 更新审核通过时间 与 支付截止时间:任务截止时间 + 设置的失效自动执行时间
+		var projectInfo entity.Project
+		err10 := dao.Db.Model(&entity.Project{}).Where("project_id = ?", reviewProject.ProjectID).Select("project_id,recruit_ddl,auto_task_id").Find(&projectInfo).Error
+		if err10 != nil {
+			continue
+		}
+		autoTaskId := projectInfo.AutoTaskID
+		autoTaskInfo := dao.InfoAutoTaskDao{}.GetValueByIdFieldName(autoTaskId, "invalid")
+		dd, _ := time.ParseDuration(conv.MustString(autoTaskInfo.Invalid, "") + "h")
+		timeInvalid := projectInfo.RecruitDdl.Add(dd)
+		t := time.Now()
+		_ = dao.ProjectDAO{}.UpdateProject(entity.Project{
+			ProjectId:     reviewProject.ProjectID,
+			ProjectStatus: 4,
+			PassAt:        t,
+			AutoFailAt:    timeInvalid,
+		})
 	}
 
 	log.Println("AutoProjectReviewTask running End, Time :", time.Now())
@@ -421,7 +437,21 @@ func AutoSelectionReviewTask() {
 		if selection != nil && selection.TaskMode == 2 {
 			_ = dao.SelectionInfoDAO{}.UpdateSelectionInfo(entity.SelectionInfo{SelectionID: reviewSelection.SelectionID, SelectionStatus: 6, PassAt: t})
 		} else {
-			_ = dao.SelectionInfoDAO{}.UpdateSelectionInfo(entity.SelectionInfo{SelectionID: reviewSelection.SelectionID, SelectionStatus: 4, PassAt: t})
+			var selectionInfo entity.SelectionInfo
+			err10 := dao.Db.Model(&entity.SelectionInfo{}).Where("selection_id = ?", reviewSelection.SelectionID).Select("selection_id,task_ddl,auto_task_id").Find(&selectionInfo).Error
+			if err10 != nil {
+				continue
+			}
+			autoTaskId := selectionInfo.AutoTaskID
+			autoTaskInfo := dao.InfoAutoTaskDao{}.GetValueByIdFieldName(autoTaskId, "invalid")
+			dd, _ := time.ParseDuration(conv.MustString(autoTaskInfo.Invalid, "") + "h")
+			timeInvalid := selectionInfo.TaskDdl.Add(dd)
+			_ = dao.SelectionInfoDAO{}.UpdateSelectionInfo(entity.SelectionInfo{
+				SelectionID:     reviewSelection.SelectionID,
+				SelectionStatus: 4,
+				PassAt:          t,
+				AutoFailAt:      timeInvalid,
+			})
 		}
 	}
 
@@ -670,9 +700,23 @@ func AutoLocalLifeReviewTask() {
 		}
 
 		// 审核通过
-		t := time.Now()
 		_ = dao.LocalLifeReviewDao{}.UpdateLocalReview(&entity.ReviewLocalLife{ID: reviewLocalLife.ID, Status: 2})
-		_ = dao.LocalLifeDao{}.UpdateLocal(entity.LocalLifeInfo{LocalID: reviewLocalLife.LocalID, TaskStatus: 4, PassAt: t})
+		var localLifeInfo entity.LocalLifeInfo
+		err10 := dao.Db.Model(&entity.LocalLifeInfo{}).Where("local_id = ?", reviewLocalLife.LocalID).Select("local_id,recruit_ddl,auto_task_id").Find(&localLifeInfo).Error
+		if err10 != nil {
+			continue
+		}
+		autoTaskId := localLifeInfo.AutoTaskID
+		autoTaskInfo := dao.InfoAutoTaskDao{}.GetValueByIdFieldName(autoTaskId, "invalid")
+		dd, _ := time.ParseDuration(conv.MustString(autoTaskInfo.Invalid, "") + "h")
+		timeInvalid := localLifeInfo.RecruitDdl.Add(dd)
+		t := time.Now()
+		_ = dao.LocalLifeDao{}.UpdateLocal(entity.LocalLifeInfo{
+			LocalID:    reviewLocalLife.LocalID,
+			TaskStatus: 4,
+			PassAt:     t,
+			AutoFailAt: timeInvalid,
+		})
 	}
 
 	log.Println("AutoLocalLifeInvalidTask running End, Time :", time.Now())