Kaynağa Gözat

autoLinkDefault

Xingyu Xian 6 ay önce
ebeveyn
işleme
9ebb307033
1 değiştirilmiş dosya ile 3 ekleme ve 299 silme
  1. 3 299
      db/auto_task.go

+ 3 - 299
db/auto_task.go

@@ -572,7 +572,7 @@ func GetAutoLinkDefaultTask() error {
 		dbTask := GetReadDB(context.Background())
 		var taskInfoCurr gorm_model.YoungeeTaskInfo
 		dbTask.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Find(&taskInfoCurr)
-		if taskInfoCurr.LinkMissingTime.IsZero() {
+		if taskLinkInfo.AutoLinkBreakAt.IsZero() {
 			err4 := db1.Where("task_id = ?", submitTaskNeedModId).Updates(&gorm_model.YounggeeLinkInfo{AutoLinkBreakAt: taskLinkInfo.RejectAt.Add(dd)}).Error
 			if err4 != nil {
 				return err4
@@ -583,7 +583,7 @@ func GetAutoLinkDefaultTask() error {
 			}
 			fmt.Println("已添加链接违约自动处理时间")
 		} else {
-			if taskInfoCurr.TaskID != "" && taskInfoCurr.LinkMissingTime.Sub(time.Now()) <= 0 {
+			if taskLinkInfo.TaskID != "" && taskLinkInfo.AutoLinkBreakAt.Sub(time.Now()) <= 0 {
 				//db4 := GetReadDB(context.Background())
 				//err1 := db4.Model(gorm_model.YoungeeContractInfo{}).Create(&gorm_model.YoungeeContractInfo{
 				//	TaskID: submitTaskNeedModId, ProjectID: taskIdToProjectIdMap[submitTaskNeedModId], BreakType: 3, BreakAt: time.Now(), DefaultStatus: 1}).Error
@@ -640,301 +640,6 @@ func GetAutoLinkDefaultTask() error {
 	return nil
 }
 
-/*
-func GetAutoCaseCloseDefaultTask() error {
-	db := GetReadDB(context.Background())
-	var projectInfos []*gorm_model.ProjectInfo
-	err := db.Model(gorm_model.ProjectInfo{}).Where("project_type = ?", 1).Find(&projectInfos).Error
-	if err != nil {
-		return err
-	}
-	var projectIds []string
-	// 任务id 对 项目id 的map
-	taskIdToProjectIdMap := map[string]string{}
-	// 项目id 对 定时任务id 的map
-	projectIdToAutoTaskIdMap := map[string]int{}
-	// 项目id 对 违约定时任务id 的map
-	projectIdToAutoDefaultIdMap := map[string]int{}
-	var taskIds []string
-	for _, projectInfo := range projectInfos {
-		projectIds = append(projectIds, projectInfo.ProjectID)
-		projectIdToAutoTaskIdMap[projectInfo.ProjectID] = int(projectInfo.AutoTaskID)
-		projectIdToAutoDefaultIdMap[projectInfo.ProjectID] = int(projectInfo.AutoDefaultID)
-
-		var taskInfos []string
-		db1 := GetReadDB(context.Background())
-		db1.Select("task_id").Model(&gorm_model.YoungeeTaskInfo{}).Where("project_id = ? AND task_status = ? AND task_stage = ? AND cur_default_type = ? ", projectInfo.ProjectID, 2, 13, 0).Find(&taskInfos)
-		for _, taskInfo := range taskInfos {
-			taskIdToProjectIdMap[taskInfo] = projectInfo.ProjectID
-			taskIds = append(taskIds, taskInfo)
-		}
-	}
-	// 首次提交链接的任务记录id
-	var taskNeedModIds []string
-	// 已提交链接的任务记录id
-	var submitTaskNeedModIds []string
-	// taskId 对 稿费形式的 map
-	taskIdToFeeFormMap := make(map[string]int)
-	for _, taskId := range taskIds {
-		var taskInfo gorm_model.YoungeeTaskInfo
-		db3 := GetReadDB(context.Background())
-		// 保存所有数据上传状态为 1  且任务状态为14 的任务记录的id
-		db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskId).First(&taskInfo)
-		if taskInfo.DataStatus == 1 && taskInfo.TaskStage == 13 {
-			taskNeedModIds = append(taskNeedModIds, taskId)
-		}
-		// 保存所有数据上传状态为 3  且任务状态为14 的任务记录的id
-		if taskInfo.DataStatus == 3 && taskInfo.TaskStage == 13 {
-			submitTaskNeedModIds = append(submitTaskNeedModIds, taskId)
-		}
-		taskIdToFeeFormMap[taskId] = taskInfo.FeeForm
-	}
-	for _, taskNeedModId := range taskNeedModIds {
-		db2 := GetReadDB(context.Background())
-		var CaseCloseDefault int32
-		db2.Model(&gorm_model.InfoAutoTask{}).Select("case_close_default").Where("auto_task_id = ?", projectIdToAutoTaskIdMap[taskIdToProjectIdMap[taskNeedModId]]).First(&CaseCloseDefault)
-		dd, _ := time.ParseDuration(conv.MustString(CaseCloseDefault, "") + "h")
-
-		autoDefaultHandle := gorm_model.InfoAutoDefaultHandle{}
-		db6 := GetReadDB(context.Background())
-		db6.Model(gorm_model.InfoAutoDefaultHandle{}).Where("auto_default_id = ?", projectIdToAutoDefaultIdMap[taskIdToProjectIdMap[taskNeedModId]]).Find(&autoDefaultHandle)
-
-		var dataDefaultRate int
-		var dataErrRate int
-		if taskIdToFeeFormMap[taskNeedModId] == 1 {
-			dataDefaultRate = autoDefaultHandle.DataReplaceTimeOut
-			dataErrRate = autoDefaultHandle.DataReplaceNotUpload
-			// db6 := GetReadDB(context.Background())
-			// db6.Model(gorm_model.InfoAutoDefaultHandle{}).Select("data_replace_time_out", "data_replace_not_upload").Where("auto_default_id = ?", projectIdToAutoDefaultIdMap[taskIdToProjectIdMap[taskNeedModId]]).Find(&dataDefaultRate, &dataErrRate)
-		} else {
-			dataDefaultRate = autoDefaultHandle.DataOtherTimeOut
-			dataErrRate = autoDefaultHandle.DataOtherNotUpload
-			// db6 := GetReadDB(context.Background())
-			// db6.Model(gorm_model.InfoAutoDefaultHandle{}).Select("data_other_time_out", "data_other_not_upload").Where("auto_default_id = ?", projectIdToAutoDefaultIdMap[taskIdToProjectIdMap[taskNeedModId]]).Find(&dataDefaultRate, &dataErrRate)
-		}
-		//fmt.Println("dataDefaultRate:", dataDefaultRate)
-		db1 := GetReadDB(context.Background())
-		var taskLinkInfo gorm_model.YounggeeLinkInfo
-		db1.Model(gorm_model.YounggeeLinkInfo{}).Where("task_id = ? AND is_ok = ?", taskNeedModId, 1).Find(&taskLinkInfo)
-		if taskLinkInfo.AutoDataBreakAt.IsZero() {
-			db1.Where("task_id = ?", taskNeedModId).Updates(&gorm_model.YounggeeLinkInfo{AutoDataBreakAt: taskLinkInfo.AgreeAt.Add(dd)})
-			fmt.Println("已添加数据违约自动处理时间")
-			if taskLinkInfo.TaskID != "" && taskLinkInfo.AgreeAt.Add(dd).Sub(time.Now()) <= 0 {
-				db4 := GetReadDB(context.Background())
-				err1 := db4.Model(gorm_model.YoungeeContractInfo{}).Create(&gorm_model.YoungeeContractInfo{
-					TaskID: taskNeedModId, ProjectID: taskIdToProjectIdMap[taskNeedModId], BreakType: 4, BreakAt: time.Now(), DefaultStatus: 1}).Error
-				if err1 != nil {
-					return err1
-				}
-				taskInfo := gorm_model.YoungeeTaskInfo{}
-				dbt := GetReadDB(context.Background())
-				err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskNeedModId).Find(&taskInfo).Error
-				if err2 != nil {
-					return err2
-				}
-				settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+dataDefaultRate+taskInfo.LinkBreakRate+taskInfo.ScriptBreakRate)/100)
-				if settleAmount <= 0 {
-					settleAmount = 0.0
-				}
-				realPayment := taskInfo.AllPayment * (1.0 - float64(dataErrRate)/100)
-				if realPayment <= 0 {
-					realPayment = 0.0
-				}
-				db3 := GetReadDB(context.Background())
-				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskNeedModId).Updates(
-					map[string]interface{}{
-						"cur_default_type": 7,
-						"data_break_rate":  dataDefaultRate,
-						"settle_amount":    settleAmount,
-						"err_break_rate":   dataErrRate,
-						"real_payment":     realPayment,
-					}).Error
-				if err2 != nil {
-					return err2
-				}
-				err = CreateTaskLog(context.Background(), taskNeedModId, "数据逾期")
-				if err != nil {
-					logrus.WithContext(context.Background()).Errorf("[operate db] call CreateTaskLog error,err:%+v", err)
-				}
-				err = CreateMessageByTaskId(context.Background(), 24, 4, taskNeedModId)
-				if err != nil {
-					logrus.WithContext(context.Background()).Errorf("[operate db] call CreateMessageByTaskId error,err:%+v", err)
-				}
-				fmt.Println("创建时已违约则创建数据违约记录")
-			}
-		} else {
-			if taskLinkInfo.TaskID != "" && taskLinkInfo.AutoDataBreakAt.Sub(time.Now()) <= 0 {
-				db4 := GetReadDB(context.Background())
-				err1 := db4.Model(gorm_model.YoungeeContractInfo{}).Create(&gorm_model.YoungeeContractInfo{
-					TaskID: taskNeedModId, ProjectID: taskIdToProjectIdMap[taskNeedModId], BreakType: 4, BreakAt: time.Now(), DefaultStatus: 1}).Error
-				if err1 != nil {
-					return err1
-				}
-				taskInfo := gorm_model.YoungeeTaskInfo{}
-				dbt := GetReadDB(context.Background())
-				err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskNeedModId).Find(&taskInfo).Error
-				if err2 != nil {
-					return err2
-				}
-				settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+dataDefaultRate+taskInfo.LinkBreakRate+taskInfo.ScriptBreakRate)/100)
-				if settleAmount <= 0 {
-					settleAmount = 0.0
-				}
-				realPayment := taskInfo.AllPayment * (1.0 - float64(dataErrRate)/100)
-				if realPayment <= 0 {
-					realPayment = 0.0
-				}
-				fmt.Println("settleAmount: ", settleAmount)
-				db3 := GetReadDB(context.Background())
-				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskNeedModId).Updates(
-					map[string]interface{}{
-						"cur_default_type":  7,
-						"sketch_break_rate": dataDefaultRate,
-						"settle_amount":     settleAmount,
-						"err_break_rate":    dataErrRate,
-						"real_payment":      realPayment,
-					}).Error
-				if err2 != nil {
-					return err2
-				}
-				err = CreateTaskLog(context.Background(), taskNeedModId, "数据逾期")
-				if err != nil {
-					logrus.WithContext(context.Background()).Errorf("[operate db] call CreateTaskLog error,err:%+v", err)
-				}
-				err = CreateMessageByTaskId(context.Background(), 24, 4, taskNeedModId)
-				if err != nil {
-					logrus.WithContext(context.Background()).Errorf("[operate db] call CreateMessageByTaskId error,err:%+v", err)
-				}
-				fmt.Println("已创建数据违约记录")
-			}
-		}
-	}
-	// 根据最近一次拒绝时间判断当前是否违约
-	for _, submitTaskNeedModId := range submitTaskNeedModIds {
-		db2 := GetReadDB(context.Background())
-		var LinkBreach int32
-		db2.Model(&gorm_model.InfoAutoTask{}).Select("case_close_default").Where("auto_task_id = ?", projectIdToAutoTaskIdMap[taskIdToProjectIdMap[submitTaskNeedModId]]).First(&LinkBreach)
-		dd, _ := time.ParseDuration(conv.MustString(LinkBreach, "") + "h")
-
-		autoDefaultHandle := gorm_model.InfoAutoDefaultHandle{}
-		db6 := GetReadDB(context.Background())
-		db6.Model(gorm_model.InfoAutoDefaultHandle{}).Where("auto_default_id = ?", projectIdToAutoDefaultIdMap[taskIdToProjectIdMap[submitTaskNeedModId]]).Find(&autoDefaultHandle)
-
-		var dataDefaultRate int
-		var dataErrRate int
-		if taskIdToFeeFormMap[submitTaskNeedModId] == 1 {
-			dataDefaultRate = autoDefaultHandle.DataReplaceTimeOut
-			dataErrRate = autoDefaultHandle.DataReplaceNotUpload
-			// db6 := GetReadDB(context.Background())
-			// db6.Model(gorm_model.InfoAutoDefaultHandle{}).Select("data_replace_time_out", "data_replace_not_upload").Where("auto_default_id = ?", projectIdToAutoDefaultIdMap[taskIdToProjectIdMap[submitTaskNeedModId]]).Find(&dataDefaultRate, &dataErrRate)
-		} else {
-			dataDefaultRate = autoDefaultHandle.DataOtherTimeOut
-			dataErrRate = autoDefaultHandle.DataOtherNotUpload
-			// db6 := GetReadDB(context.Background())
-			// db6.Model(gorm_model.InfoAutoDefaultHandle{}).Select("data_other_time_out", "data_other_not_upload").Where("auto_default_id = ?", projectIdToAutoDefaultIdMap[taskIdToProjectIdMap[submitTaskNeedModId]]).Find(&dataDefaultRate, &dataErrRate)
-		}
-		db1 := GetReadDB(context.Background())
-		var taskDataInfo gorm_model.YounggeeDataInfo
-		db1.Model(gorm_model.YounggeeDataInfo{}).Where("task_id = ? and is_review = 1", submitTaskNeedModId).Order("reject_at desc").First(&taskDataInfo)
-		if taskDataInfo.AutoDataBreakAt.IsZero() {
-			err4 := db1.Where("task_id = ?", submitTaskNeedModId).Updates(&gorm_model.YounggeeDataInfo{AutoDataBreakAt: taskDataInfo.RejectAt.Add(dd)}).Error
-			if err4 != nil {
-				return err4
-			}
-			fmt.Println("已添加数据违约自动处理时间")
-			if taskDataInfo.TaskID != "" && taskDataInfo.RejectAt.Add(dd).Sub(time.Now()) <= 0 {
-				db4 := GetReadDB(context.Background())
-				err1 := db4.Model(gorm_model.YoungeeContractInfo{}).Create(&gorm_model.YoungeeContractInfo{
-					TaskID: submitTaskNeedModId, ProjectID: taskIdToProjectIdMap[submitTaskNeedModId], BreakType: 4, BreakAt: time.Now(), DefaultStatus: 1}).Error
-				if err1 != nil {
-					return err1
-				}
-				taskInfo := gorm_model.YoungeeTaskInfo{}
-				dbt := GetReadDB(context.Background())
-				err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Find(&taskInfo).Error
-				if err2 != nil {
-					return err2
-				}
-				settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+dataDefaultRate+taskInfo.LinkBreakRate+taskInfo.ScriptBreakRate)/100)
-				if settleAmount <= 0 {
-					settleAmount = 0.0
-				}
-				realPayment := taskInfo.AllPayment * (1.0 - float64(dataErrRate)/100)
-				if realPayment <= 0 {
-					realPayment = 0.0
-				}
-				db3 := GetReadDB(context.Background())
-				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Updates(
-					map[string]interface{}{
-						"cur_default_type": 7,
-						"data_break_rate":  dataDefaultRate,
-						"settle_amount":    settleAmount,
-						"err_break_rate":   dataErrRate,
-						"real_payment":     realPayment,
-					}).Error
-				if err2 != nil {
-					return err2
-				}
-				err = CreateTaskLog(context.Background(), submitTaskNeedModId, "数据逾期")
-				if err != nil {
-					logrus.WithContext(context.Background()).Errorf("[operate db] call CreateTaskLog error,err:%+v", err)
-				}
-				err = CreateMessageByTaskId(context.Background(), 24, 4, submitTaskNeedModId)
-				if err != nil {
-					logrus.WithContext(context.Background()).Errorf("[operate db] call CreateMessageByTaskId error,err:%+v", err)
-				}
-				fmt.Println("创建时已违约则创建已提交数据的数据违约记录")
-			}
-		} else {
-			if taskDataInfo.TaskID != "" && taskDataInfo.AutoDataBreakAt.Sub(time.Now()) <= 0 {
-				db4 := GetReadDB(context.Background())
-				err1 := db4.Model(gorm_model.YoungeeContractInfo{}).Create(&gorm_model.YoungeeContractInfo{
-					TaskID: submitTaskNeedModId, ProjectID: taskIdToProjectIdMap[submitTaskNeedModId], BreakType: 4, BreakAt: time.Now(), DefaultStatus: 1}).Error
-				if err1 != nil {
-					return err1
-				}
-				taskInfo := gorm_model.YoungeeTaskInfo{}
-				dbt := GetReadDB(context.Background())
-				err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Find(&taskInfo).Error
-				if err2 != nil {
-					return err2
-				}
-				settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+dataDefaultRate+taskInfo.LinkBreakRate+taskInfo.ScriptBreakRate)/100)
-				if settleAmount <= 0 {
-					settleAmount = 0.0
-				}
-				realPayment := taskInfo.AllPayment * (1.0 - float64(dataErrRate)/100)
-				if realPayment <= 0 {
-					realPayment = 0.0
-				}
-				db3 := GetReadDB(context.Background())
-				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Updates(
-					map[string]interface{}{
-						"cur_default_type": 7,
-						"data_break_rate":  dataDefaultRate,
-						"settle_amount":    settleAmount,
-						"err_break_rate":   dataErrRate,
-						"real_payment":     realPayment,
-					}).Error
-				if err2 != nil {
-					return err2
-				}
-				err = CreateTaskLog(context.Background(), submitTaskNeedModId, "数据逾期")
-				if err != nil {
-					logrus.WithContext(context.Background()).Errorf("[operate db] call CreateTaskLog error,err:%+v", err)
-				}
-				err = CreateMessageByTaskId(context.Background(), 24, 4, submitTaskNeedModId)
-				if err != nil {
-					logrus.WithContext(context.Background()).Errorf("[operate db] call CreateMessageByTaskId error,err:%+v", err)
-				}
-				fmt.Println("创建已提交数据的数据违约记录")
-			}
-		}
-	}
-	return nil
-}
-*/
-
 // GetAutoCaseCloseDefaultTask 品牌种草 数据超时违约
 func GetAutoCaseCloseDefaultTask() error {
 
@@ -1018,7 +723,7 @@ func GetAutoCaseCloseDefaultTask() error {
 		var taskInfoCurr gorm_model.YoungeeTaskInfo
 		dbTask.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskNeedModId).Find(&taskInfoCurr)
 		if taskInfoCurr.DataMissingTime.IsZero() {
-			// db1.Where("task_id = ?", taskNeedModId).Updates(&gorm_model.YounggeeLinkInfo{AutoDataBreakAt: taskLinkInfo.AgreeAt.Add(dd)})
+			db1.Where("task_id = ?", taskNeedModId).Updates(&gorm_model.YounggeeLinkInfo{AutoDataBreakAt: taskLinkInfo.AgreeAt.Add(dd)})
 			dbTask.Where("task_id = ?", taskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{DataMissingTime: taskLinkInfo.AgreeAt.Add(dd)})
 			fmt.Println("已添加数据违约自动处理时间")
 		} else {
@@ -1166,6 +871,5 @@ func GetAutoCaseCloseDefaultTask() error {
 			}
 		}
 	}
-
 	return nil
 }