yuliang1112 2 år sedan
förälder
incheckning
0e07f90e17

+ 365 - 128
db/operate.go

@@ -3,17 +3,18 @@ package db
 import (
 	"context"
 	"fmt"
+	"github.com/caixw/lib.go/conv"
+	"github.com/sirupsen/logrus"
+	"github.com/tidwall/gjson"
+	"gorm.io/gorm"
 	"log"
 	"reflect"
+	"strconv"
 	"time"
 	"youngee_m_api/model/common_model"
 	"youngee_m_api/model/gorm_model"
 	"youngee_m_api/model/http_model"
 	"youngee_m_api/util"
-
-	"github.com/caixw/lib.go/conv"
-	"github.com/sirupsen/logrus"
-	"gorm.io/gorm"
 )
 
 func CreatePricingStrategy(ctx context.Context, req *http_model.AddPricingRequest) (string, string, error) {
@@ -345,6 +346,8 @@ func GetAutoReviewTask(contentType int32) error {
 	db := GetReadDB(context.Background())
 	var projectInfos []*gorm_model.ProjectInfo
 	if contentType == 2 {
+		// 项目内容形式为视频
+		// 1. 补全scriptInfo表中的自动审核脚本时间
 		err := db.Model(gorm_model.ProjectInfo{}).Where("project_type = ? AND content_type = ?", 1, contentType).Find(&projectInfos).Error
 		if err != nil {
 			return err
@@ -356,8 +359,6 @@ func GetAutoReviewTask(contentType int32) error {
 			projectIdToAutoTaskIdMap[projectInfo.ProjectID] = int(projectInfo.AutoTaskID)
 		}
 		//fmt.Println("projectIds:", projectIds)
-		TaskIdToProjectId := make(map[int]int)
-		var taskId []int
 		db1 := GetReadDB(context.Background())
 		for _, projectId := range projectIds {
 			// 获取 autoTaskId 及其对应的限制时间、
@@ -368,50 +369,65 @@ func GetAutoReviewTask(contentType int32) error {
 			//fmt.Println("t:", autoTaskInfo.ReviewInMv)
 			// 获取 projectId 对应的 taskId 及添加脚本自动审核时间
 			var taskInfos []gorm_model.YoungeeTaskInfo
-			db1.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ?", projectId).Find(&taskInfos)
+			db1.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? AND task_status = 2", projectId).Find(&taskInfos)
 			for _, taskInfo := range taskInfos {
 				//fmt.Println("TaskID:", taskInfo.TaskId)
-				taskId = append(taskId, taskInfo.TaskId)
-				TaskIdToProjectId[taskInfo.TaskId] = int(projectId)
 				db2 := GetReadDB(context.Background())
 				var scriptInfos gorm_model.YounggeeScriptInfo
 				db2.Model(gorm_model.YounggeeScriptInfo{}).Where("task_id = ? AND is_submit = ? AND is_review = ? ", taskInfo.TaskId, 1, 0).Find(&scriptInfos)
 				dd, _ := time.ParseDuration(conv.MustString(ReviewInMv, "") + "h")
-				if scriptInfos.AutoAgreeAt.IsZero() && scriptInfos.IsSubmit == 1 {
+				if scriptInfos.AutoAgreeAt.IsZero() {
 					db3 := GetReadDB(context.Background())
 					db3.Model(gorm_model.YounggeeScriptInfo{}).Where("task_id = ?", taskInfo.TaskId).Updates(&gorm_model.YounggeeScriptInfo{AutoAgreeAt: scriptInfos.SubmitAt.Add(dd)})
 					fmt.Println("已添加脚本自动审核时间")
 				}
 			}
 		}
-		//fmt.Println("TaskIdToProjectId:", TaskIdToProjectId)
 		//fmt.Println("taskId:", taskId)
 
-		var scriptInfos []gorm_model.YounggeeScriptInfo
+		// 2. 查询scriptInfo表中应该被自动审稿的脚本
+		var newScriptInfos []gorm_model.YounggeeScriptInfo
+		db3 := GetReadDB(context.Background())
+		err = db3.Model(gorm_model.YounggeeScriptInfo{}).Where("auto_agree_at <= ? AND is_submit = ? AND is_review = ? ", time.Now(), 1, 0).Find(&newScriptInfos).Error
+		if err != nil {
+			log.Println("DB GetAutoReviewTask error in script:", err)
+			return err
+		}
+		// 记录其task_id
+		var taskIds []int
+		for _, scriptInfo := range newScriptInfos {
+			taskIds = append(taskIds, scriptInfo.TaskID)
+		}
+		// 3. 执行审核脚本操作
+		// 1). 更新scriptInfo表
 		db4 := GetReadDB(context.Background())
-		err = db4.Model(gorm_model.YounggeeScriptInfo{}).Where("auto_agree_at <= ? AND task_id IN ?", time.Now(), taskId).Find(&scriptInfos).Error
+		err = db4.Model(gorm_model.YounggeeScriptInfo{}).Where("auto_agree_at <= ? AND is_submit = ? AND is_review = ? ", time.Now(), 1, 0).Updates(
+			&gorm_model.YounggeeScriptInfo{AgreeAt: time.Now(), IsReview: 1, IsOk: 1}).Error
 		if err != nil {
-			log.Println("DB GetAutoReviewTask error in script :", err)
+			log.Println("DB GetAutoReviewTask error in script:", err)
 			return err
 		}
-		for _, scriptInfo := range scriptInfos {
-			if scriptInfo.IsReview == 0 && scriptInfo.IsSubmit == 1 {
-				db7 := GetReadDB(context.Background())
-				db7.Model(gorm_model.YounggeeScriptInfo{}).Where("script_id = ?", scriptInfo.ScriptID).Updates(&gorm_model.YounggeeScriptInfo{AgreeAt: time.Now(), IsReview: 1, IsOk: 1})
-				fmt.Println("已更新脚本同意时间 及脚本审核状态")
-
-				taskStatusNeedMod := gorm_model.YoungeeTaskInfo{}
-				db6 := GetReadDB(context.Background())
-				db6.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", scriptInfo.TaskID).Find(&taskStatusNeedMod)
-				if (taskStatusNeedMod.ScriptStatus == 2 || taskStatusNeedMod.ScriptStatus == 4) && taskStatusNeedMod.TaskStage == 8 {
-					db8 := GetReadDB(context.Background())
-					db8.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", scriptInfo.TaskID).Updates(&gorm_model.YoungeeTaskInfo{ScriptStatus: 5, TaskStage: 9})
-					fmt.Println("已更新任务阶段为待传初稿 及脚本上传状态为已通过")
-				}
-			}
+		var num int64
+		db4.Model(gorm_model.YounggeeScriptInfo{}).Where("auto_agree_at <= ? AND is_submit = ? AND is_review = ? ", time.Now(), 1, 0).Count(&num)
+		if num != 0 {
+			fmt.Println("自动审核脚本:已更新scriptInfo表")
+		}
+		// 2).更新taskInfo表
+		db5 := GetReadDB(context.Background())
+		err = db5.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id in ?", taskIds).Updates(
+			&gorm_model.YoungeeTaskInfo{ScriptStatus: 5, TaskStage: 9}).Error
+		if err != nil {
+			log.Println("DB GetAutoReviewTask error in script:", err)
+			return err
+		}
+		if len(taskIds) != 0 {
+			fmt.Println("以下任务状态需要变更:", taskIds)
+			fmt.Println("自动审核脚本:已更新taskInfo表,任务阶段为待传链接 及脚本上传状态为已通过")
 		}
 		return nil
 	} else {
+		// 项目内容形式为图文
+		// 1. 补全sketchInfo表中的自动审核初稿时间
 		err := db.Model(gorm_model.ProjectInfo{}).Where("project_type = ? ", 1).Find(&projectInfos).Error
 		if err != nil {
 			return err
@@ -423,8 +439,6 @@ func GetAutoReviewTask(contentType int32) error {
 			projectIdToAutoTaskIdMap[projectInfo.ProjectID] = int(projectInfo.AutoTaskID)
 		}
 		//fmt.Println("projectIds:", projectIds)
-		TaskIdToProjectId := make(map[int]int)
-		var taskId []int
 		db1 := GetReadDB(context.Background())
 		for _, projectId := range projectIds {
 			// 获取 autoTaskId 及其对应的限制时间、
@@ -434,52 +448,66 @@ func GetAutoReviewTask(contentType int32) error {
 			dbStart.Model(gorm_model.InfoAutoTask{}).Select("review_unlimited").Where("auto_task_id = ?", autoTaskId).First(&ReviewUnlimited)
 			//fmt.Println("t:", autoTaskInfo.ReviewUnlimited)
 			var taskInfos []gorm_model.YoungeeTaskInfo
-			db1.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ?", projectId).Find(&taskInfos)
+			db1.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? AND task_status = 2", projectId).Find(&taskInfos)
 			for _, taskInfo := range taskInfos {
-				TaskIdToProjectId[taskInfo.TaskId] = int(projectId)
-				taskId = append(taskId, taskInfo.TaskId)
 				db2 := GetReadDB(context.Background())
-				var scriptInfos gorm_model.YounggeeSketchInfo
-				db2.Model(gorm_model.YounggeeSketchInfo{}).Where("task_id = ? AND is_submit = ? AND is_review = ? ", taskInfo.TaskId, 1, 0).Find(&scriptInfos)
+				var sketchInfo gorm_model.YounggeeSketchInfo
+				db2.Model(gorm_model.YounggeeSketchInfo{}).Where("task_id = ? AND is_submit = ? AND is_review = ? ", taskInfo.TaskId, 1, 0).Find(&sketchInfo)
 				dd, _ := time.ParseDuration(conv.MustString(ReviewUnlimited, "") + "h")
-				if scriptInfos.AutoAgreeAt.IsZero() && scriptInfos.IsSubmit == 1 {
+				if sketchInfo.AutoAgreeAt.IsZero() {
 					db3 := GetReadDB(context.Background())
-					db3.Model(gorm_model.YounggeeSketchInfo{}).Where("task_id = ?", scriptInfos.TaskID).Updates(&gorm_model.YounggeeSketchInfo{AutoAgreeAt: scriptInfos.SubmitAt.Add(dd)})
+					db3.Model(gorm_model.YounggeeSketchInfo{}).Where("task_id = ?", sketchInfo.TaskID).Updates(&gorm_model.YounggeeSketchInfo{
+						AutoAgreeAt: sketchInfo.SubmitAt.Add(dd),
+					})
 					fmt.Println("已添加初稿自动审核时间")
 				}
 			}
 		}
-
-		//fmt.Println("TaskIdToProjectId:", TaskIdToProjectId)
-		//fmt.Println("taskId:", taskId)
-
-		var sketchInfos []gorm_model.YounggeeSketchInfo
+		// 2. 查询sketchInfo表中应该被自动审稿的初稿
+		var newSketchInfos []gorm_model.YounggeeSketchInfo
 		db3 := GetReadDB(context.Background())
-		err = db3.Model(gorm_model.YounggeeSketchInfo{}).Where("auto_agree_at <= ? AND task_id IN ?", time.Now(), taskId).Find(&sketchInfos).Error
+		err = db3.Model(gorm_model.YounggeeSketchInfo{}).Where("auto_agree_at <= ? AND is_submit = ? AND is_review = ? ", time.Now(), 1, 0).Find(&newSketchInfos).Error
 		if err != nil {
 			log.Println("DB GetAutoReviewTask error in sketch:", err)
 			return err
 		}
-		for _, sketchInfo := range sketchInfos {
-			if sketchInfo.IsReview != 1 && sketchInfo.IsSubmit == 1 {
-				db6 := GetReadDB(context.Background())
-				db6.Model(gorm_model.YounggeeSketchInfo{}).Where("sketch_id = ?", sketchInfo.SketchID).Updates(&gorm_model.YounggeeSketchInfo{AgreeAt: time.Now(), IsReview: 1, IsOk: 1})
-				fmt.Println("已更新初稿审核同意时间")
-				sketchNeedMod := gorm_model.YoungeeTaskInfo{}
-				db5 := GetReadDB(context.Background())
-				db5.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", sketchInfo.TaskID).Find(&sketchNeedMod)
-				if (sketchNeedMod.SketchStatus == 2 || sketchNeedMod.SketchStatus == 4) && sketchNeedMod.TaskStage == 10 {
-					db7 := GetReadDB(context.Background())
-					db7.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", sketchInfo.TaskID).Updates(&gorm_model.YoungeeTaskInfo{SketchStatus: 5, TaskStage: 11})
-					fmt.Println("已更新任务阶段为待传链接 及初稿上传状态为已通过")
-				}
-			}
+		// 记录其task_id
+		var taskIds []int
+		for _, sketchInfo := range newSketchInfos {
+			taskIds = append(taskIds, sketchInfo.TaskID)
+		}
+		// 3. 执行审核初稿操作
+		// 1). 更新sketchInfo表
+		db4 := GetReadDB(context.Background())
+		err = db4.Model(gorm_model.YounggeeSketchInfo{}).Where("auto_agree_at <= ? AND is_submit = ? AND is_review = ? ", time.Now(), 1, 0).Updates(
+			&gorm_model.YounggeeSketchInfo{AgreeAt: time.Now(), IsReview: 1, IsOk: 1}).Error
+		if err != nil {
+			log.Println("DB GetAutoReviewTask error in sketch:", err)
+			return err
+		}
+		var num int64
+		db4.Model(gorm_model.YounggeeSketchInfo{}).Where("auto_agree_at <= ? AND is_submit = ? AND is_review = ? ", time.Now(), 1, 0).Count(&num)
+		if num != 0 {
+			fmt.Println("自动审核初稿:已更新sketchInfo表")
+		}
+		// 2).更新taskInfo表
+		db5 := GetReadDB(context.Background())
+		err = db5.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id in ?", taskIds).Updates(
+			&gorm_model.YoungeeTaskInfo{SketchStatus: 5, TaskStage: 11}).Error
+		if err != nil {
+			log.Println("DB GetAutoReviewTask error in sketch:", err)
+			return err
+		}
+		if len(taskIds) != 0 {
+			fmt.Println("以下任务状态需要变更:", taskIds)
+			fmt.Println("自动审核初稿:已更新taskInfo表,任务阶段为待传链接 及初稿上传状态为已通过")
 		}
 		return nil
 	}
 }
 
 func GetAutoPostReviewTask() error {
+	// 1. 补全linkInfo表中的自动审核链接时间
 	db := GetReadDB(context.Background())
 	var projectInfos []*gorm_model.ProjectInfo
 	err := db.Model(gorm_model.ProjectInfo{}).Where("project_type = ? ", 1).Find(&projectInfos).Error
@@ -493,8 +521,6 @@ func GetAutoPostReviewTask() error {
 		projectIdToAutoTaskIdMap[projectInfo.ProjectID] = int(projectInfo.AutoTaskID)
 	}
 	//fmt.Println("projectIds:", projectIds)
-	TaskIdToProjectId := make(map[int]int)
-	var taskId []int
 	db1 := GetReadDB(context.Background())
 	for _, projectId := range projectIds {
 		// 获取 autoTaskId 及其对应的限制时间、
@@ -504,10 +530,8 @@ func GetAutoPostReviewTask() error {
 		dbStart.Model(gorm_model.InfoAutoTask{}).Select("postreview").Where("auto_task_id = ?", autoTaskId).First(&Postreview)
 		//fmt.Println("t:", autoTaskInfo.Postreview)
 		var taskInfos []gorm_model.YoungeeTaskInfo
-		db1.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ?", projectId).Find(&taskInfos)
+		db1.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? AND task_status = 2", projectId).Find(&taskInfos)
 		for _, taskInfo := range taskInfos {
-			TaskIdToProjectId[taskInfo.TaskId] = int(projectId)
-			taskId = append(taskId, taskInfo.TaskId)
 			db2 := GetReadDB(context.Background())
 			var linkInfos gorm_model.YounggeeLinkInfo
 			db2.Model(gorm_model.YounggeeLinkInfo{}).Where("task_id = ? AND is_submit = ? AND is_review = ? ", taskInfo.TaskId, 1, 0).Find(&linkInfos)
@@ -519,32 +543,51 @@ func GetAutoPostReviewTask() error {
 			}
 		}
 	}
-	var linkInfos []gorm_model.YounggeeLinkInfo
+
+	// 2. 查询linkInfo表中应该被自动审稿的链接
+	var newLinkInfos []gorm_model.YounggeeLinkInfo
 	db3 := GetReadDB(context.Background())
-	err = db3.Model(gorm_model.YounggeeLinkInfo{}).Where("auto_agree_at <= ? AND task_id IN ?", time.Now(), taskId).Find(&linkInfos).Error
+	err = db3.Model(gorm_model.YounggeeLinkInfo{}).Where("auto_agree_at <= ? AND is_submit = ? AND is_review = ? ", time.Now(), 1, 0).Find(&newLinkInfos).Error
 	if err != nil {
-		log.Println("DB GetAutoPostReviewTask error in sketch:", err)
+		log.Println("DB GetAutoPostReviewTask error in link:", err)
 		return err
 	}
-	for _, linkInfo := range linkInfos {
-		if linkInfo.IsReview != 1 && linkInfo.IsSubmit == 1 {
-			db6 := GetReadDB(context.Background())
-			db6.Model(gorm_model.YounggeeLinkInfo{}).Where("link_id = ?", linkInfo.LinkID).Updates(&gorm_model.YounggeeLinkInfo{AgreeAt: time.Now(), IsReview: 1, IsOk: 1})
-			fmt.Println("已更新链接审核同意时间")
-			linkNeedMod := gorm_model.YoungeeTaskInfo{}
-			db5 := GetReadDB(context.Background())
-			db5.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", linkInfo.TaskID).Find(&linkNeedMod)
-			if (linkNeedMod.LinkStatus == 2 || linkNeedMod.LinkStatus == 4) && linkNeedMod.TaskStage == 12 {
-				db7 := GetReadDB(context.Background())
-				db7.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", linkInfo.TaskID).Updates(&gorm_model.YoungeeTaskInfo{LinkStatus: 5, TaskStage: 13})
-				fmt.Println("已更新任务阶段为待传数据 及 链接上传状态为已通过")
-			}
-		}
+	// 记录其task_id
+	var taskIds []int
+	for _, linkInfo := range newLinkInfos {
+		taskIds = append(taskIds, linkInfo.TaskID)
+	}
+	// 3. 执行审核链接操作
+	// 1). 更新linkInfo表
+	db4 := GetReadDB(context.Background())
+	err = db4.Model(gorm_model.YounggeeLinkInfo{}).Where("auto_agree_at <= ? AND is_submit = ? AND is_review = ? ", time.Now(), 1, 0).Updates(
+		&gorm_model.YounggeeLinkInfo{AgreeAt: time.Now(), IsReview: 1, IsOk: 1}).Error
+	if err != nil {
+		log.Println("DB GetAutoPostReviewTask error in link:", err)
+		return err
+	}
+	var num int64
+	db4.Model(gorm_model.YounggeeLinkInfo{}).Where("auto_agree_at <= ? AND is_submit = ? AND is_review = ? ", time.Now(), 1, 0).Count(&num)
+	if num != 0 {
+		fmt.Println("自动审核链接:已更新linkInfo表")
+	}
+	// 2).更新taskInfo表
+	db5 := GetReadDB(context.Background())
+	err = db5.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id in ?", taskIds).Updates(
+		&gorm_model.YoungeeTaskInfo{LinkStatus: 5, TaskStage: 13}).Error
+	if err != nil {
+		log.Println("DB GetAutoPostReviewTask error in link:", err)
+		return err
+	}
+	if len(taskIds) != 0 {
+		fmt.Println("以下任务状态需要变更:", taskIds)
+		fmt.Println("自动审核链接:已更新taskInfo表,任务阶段为待传链接 及链接上传状态为已通过")
 	}
 	return nil
 }
 
 func GetAutoCaseCloseTask() error {
+	// 1. 补全dataInfo表中的自动审核数据时间
 	db := GetReadDB(context.Background())
 	var projectInfos []*gorm_model.ProjectInfo
 	err := db.Model(gorm_model.ProjectInfo{}).Where("project_type = ? ", 1).Find(&projectInfos).Error
@@ -558,21 +601,17 @@ func GetAutoCaseCloseTask() error {
 		projectIdToAutoTaskIdMap[projectInfo.ProjectID] = int(projectInfo.AutoTaskID)
 	}
 	//fmt.Println("projectIds:", projectIds)
-	TaskIdToProjectId := make(map[int]int)
-	var taskId []int
 	db1 := GetReadDB(context.Background())
 	for _, projectId := range projectIds {
-		// 获取 autoTaskId 及其对应的限制时间
+		// 获取 autoTaskId 及其对应的限制时间
 		autoTaskId := projectIdToAutoTaskIdMap[projectId]
 		dbStart := GetReadDB(context.Background())
 		var CaseClose int32
 		dbStart.Model(gorm_model.InfoAutoTask{}).Select("case_close").Where("auto_task_id = ?", autoTaskId).First(&CaseClose)
 		//fmt.Println("t:", autoTaskInfo.CaseClose)
 		var taskInfos []gorm_model.YoungeeTaskInfo
-		db1.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ?", projectId).Find(&taskInfos)
+		db1.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? AND task_status = 2", projectId).Find(&taskInfos)
 		for _, taskInfo := range taskInfos {
-			TaskIdToProjectId[taskInfo.TaskId] = int(projectId)
-			taskId = append(taskId, taskInfo.TaskId)
 			db2 := GetReadDB(context.Background())
 			var dataInfos gorm_model.YounggeeDataInfo
 			db2.Model(gorm_model.YounggeeDataInfo{}).Where("task_id = ? AND is_submit = ? AND is_review = ? ", taskInfo.TaskId, 1, 0).Find(&dataInfos)
@@ -580,31 +619,81 @@ func GetAutoCaseCloseTask() error {
 			if dataInfos.AutoAgreeAt.IsZero() && dataInfos.IsSubmit == 1 {
 				db3 := GetReadDB(context.Background())
 				db3.Model(gorm_model.YounggeeDataInfo{}).Where("task_id = ?", dataInfos.TaskID).Updates(&gorm_model.YounggeeDataInfo{AutoAgreeAt: dataInfos.SubmitAt.Add(dd)})
-				fmt.Println("已添加链接自动审核时间")
+				fmt.Println("已添加数据自动审核时间")
 			}
 		}
 	}
-	var dataInfos []gorm_model.YounggeeDataInfo
+
+	// 2. 查询dataInfo表中应该被自动审稿的数据
+	var newDataInfos []gorm_model.YounggeeDataInfo
 	db3 := GetReadDB(context.Background())
-	err = db3.Model(gorm_model.YounggeeDataInfo{}).Where("auto_agree_at <= ? AND task_id IN ?", time.Now(), taskId).Find(&dataInfos).Error
+	err = db3.Model(gorm_model.YounggeeDataInfo{}).Where("auto_agree_at <= ? AND is_submit = ? AND is_review = ? ", time.Now(), 1, 0).Find(&newDataInfos).Error
 	if err != nil {
-		log.Println("DB GetAutoCaseCloseTask error in sketch:", err)
+		log.Println("DB GetAutoCaseCloseTask error in data:", err)
 		return err
 	}
-	for _, dataInfo := range dataInfos {
-		if dataInfo.IsReview != 1 && dataInfo.IsSubmit == 1 {
-			db6 := GetReadDB(context.Background())
-			db6.Model(gorm_model.YounggeeDataInfo{}).Where("data_id = ?", dataInfo.DataID).Updates(&gorm_model.YounggeeDataInfo{AgreeAt: time.Now(), IsReview: 1, IsOk: 1})
-			fmt.Println("已更新数据审核同意时间")
+	// 记录其task_id
+	taskIdToDataInfoMap := map[int]gorm_model.YounggeeDataInfo{}
+	taskIdToTaskInfoMap := map[int]gorm_model.YoungeeTaskInfo{}
+	var taskIds []int
+	db6 := GetReadDB(context.Background())
+	for _, dataInfo := range newDataInfos {
+		taskIdToDataInfoMap[dataInfo.TaskID] = dataInfo
+		taskIds = append(taskIds, dataInfo.TaskID)
+		taskInfo := gorm_model.YoungeeTaskInfo{}
+		err = db6.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", dataInfo.TaskID).Find(&taskInfo).Error
+		if err != nil {
+			log.Println("DB GetAutoCaseCloseTask error in data:", err)
+			return err
+		}
+		taskIdToTaskInfoMap[dataInfo.TaskID] = taskInfo
+	}
+	// 3. 执行审核数据操作
+	// 1). 更新dataInfo表
+	db4 := GetReadDB(context.Background())
+	err = db4.Model(gorm_model.YounggeeDataInfo{}).Where("auto_agree_at <= ? AND is_submit = ? AND is_review = ? ", time.Now(), 1, 0).Updates(
+		&gorm_model.YounggeeDataInfo{AgreeAt: time.Now(), IsReview: 1, IsOk: 1}).Error
+	if err != nil {
+		log.Println("DB GetAutoCaseCloseTask error in data:", err)
+		return err
+	}
+	var num int64
+	db4.Model(gorm_model.YounggeeDataInfo{}).Where("auto_agree_at <= ? AND is_submit = ? AND is_review = ? ", time.Now(), 1, 0).Count(&num)
+	if num != 0 {
+		fmt.Println("自动审核数据:已更新dataInfo表")
+	}
+	// 2).更新taskInfo表
+	db5 := GetReadDB(context.Background())
+	err = db5.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id in ?", taskIds).Updates(
+		&gorm_model.YoungeeTaskInfo{DataStatus: 5, TaskStage: 15}).Error
+	if err != nil {
+		log.Println("DB GetAutoCaseCloseTask error in data:", err)
+		return err
+	}
+	if len(taskIds) != 0 {
+		fmt.Println("以下任务状态需要变更:", taskIds)
+		fmt.Println("自动审核数据:已更新taskInfo表,任务阶段为待传数据 及数据上传状态为已通过")
+	}
 
-			dataNeedMod := gorm_model.YoungeeTaskInfo{}
-			db5 := GetReadDB(context.Background())
-			db5.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", dataInfo.TaskID).Find(&dataNeedMod)
-			if (dataNeedMod.DataStatus == 2 || dataNeedMod.DataStatus == 4) && dataNeedMod.TaskStage == 14 {
-				db7 := GetReadDB(context.Background())
-				db7.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", dataInfo.TaskID).Updates(&gorm_model.YoungeeTaskInfo{DataStatus: 5, TaskStage: 15})
-				fmt.Println("已更新任务阶段为已结案 及 数据上传状态为已通过")
-			}
+	// 3). 更新recruitStrategy表
+	for _, taskId := range taskIds {
+		// 更新招募策略
+		taskInfo := taskIdToTaskInfoMap[taskId]
+		dataInfo := taskIdToDataInfoMap[taskId]
+		db7 := GetReadDB(context.Background())
+		db7 = db7.Model(gorm_model.RecruitStrategy{}).Where("project_id = ? and strategy_id = ?", taskInfo.ProjectId, taskInfo.StrategyId)
+		fansCount, _ := strconv.Atoi(conv.MustString(gjson.Get(taskInfo.TalentPlatformInfoSnap, "fans_count"), ""))
+		err = db.Updates(map[string]interface{}{
+			"fan_number":     gorm.Expr("fan_number + ?", fansCount),
+			"play_number":    gorm.Expr("play_number + ?", dataInfo.PlayNumber),
+			"like_number":    gorm.Expr("like_number + ?", dataInfo.LikeNumber),
+			"collect_number": gorm.Expr("collect_number + ?", dataInfo.CollectNumber),
+			"comment_number": gorm.Expr("comment_number + ?", dataInfo.CommentNumber),
+			"finish_number":  gorm.Expr("finish_number + 1"),
+			"total_offer":    gorm.Expr("total_offer + ?", taskInfo.RealPayment)}).Error
+		if err != nil {
+			log.Println("DB GetAutoCaseCloseTask error in data:", err)
+			return err
 		}
 	}
 
@@ -618,9 +707,9 @@ func GetAutoCaseCloseTask() error {
 			log.Println("DB GetAutoCaseCloseTask error in data:", err)
 			return err
 		}
-		// var finishedNum int64
-		// db8.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and task_status = 2 and task_stage >= 15", projectInfo.ProjectID).Count(&finishedNum)
-		if unFinishedTaskNumber == 0 {
+		var finishedNum int64
+		db8.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and task_status = 2 and task_stage >= 15", projectInfo.ProjectID).Count(&finishedNum)
+		if unFinishedTaskNumber == 0 && finishedNum != 0 {
 			// 若为0则触发项目结案
 			db9 := GetReadDB(context.Background())
 			// 1. 更新项目状态为已结束
@@ -676,7 +765,7 @@ func GetAutoInvalidTask() error {
 		projectIdToAutoTaskIdMap[projectInfo.ProjectID] = int(projectInfo.AutoTaskID)
 	}
 	for _, projectId := range projectIds {
-		// 获取 autoTaskId 及其对应的限制时间
+		// 获取 autoTaskId 及其对应的限制时间
 		autoTaskId := projectIdToAutoTaskIdMap[projectId]
 		dbStart := GetReadDB(context.Background())
 		var Invalid int32
@@ -696,6 +785,7 @@ func GetAutoInvalidTask() error {
 		dd, _ := time.ParseDuration(conv.MustString(Invalid, "") + "h")
 		project.RecruitDdl.Add(dd)
 		t := project.RecruitDdl.Add(dd)
+		//fmt.Println("已存在的失效时间是否跟要添加的相等", project.AutoFailAt.Equal(t))
 		if project.AutoFailAt != &t {
 			db3 := GetReadDB(context.Background())
 			db3.Model(gorm_model.ProjectInfo{}).Where("project_id = ?", projectId).Updates(&gorm_model.ProjectInfo{AutoFailAt: &t})
@@ -704,15 +794,18 @@ func GetAutoInvalidTask() error {
 
 		projectNeedMod := gorm_model.ProjectInfo{}
 		db2 := GetReadDB(context.Background())
-		db2.Where("project_id = ?", projectId).First(&projectNeedMod)
+		db2 = db2.Where("project_id = ?", projectId).First(&projectNeedMod)
+		fmt.Println("失效自动处理时间为:", projectNeedMod.AutoFailAt)
 		if !projectNeedMod.AutoFailAt.IsZero() {
+			fmt.Printf("项目 %v 失效自动处理时间不为空\n", projectNeedMod.ProjectID)
+			fmt.Println("距离失效自动处理时间还有:,项目当前状态为", projectNeedMod.AutoFailAt.Sub(time.Now()), projectNeedMod.ProjectStatus)
 			if projectNeedMod.AutoFailAt.Sub(time.Now()) <= 0 && projectNeedMod.ProjectStatus < 8 {
 				db4 := GetReadDB(context.Background())
 				err1 := db4.Model(gorm_model.ProjectInfo{}).Where("project_id = ?", projectId).Updates(&gorm_model.ProjectInfo{ProjectStatus: 8, FailReason: 1}).Error
 				if err1 != nil {
 					return err1
 				}
-				fmt.Println("已更新项目状态")
+				fmt.Println("已更新项目状态为超时未支付的失效状态")
 			}
 		}
 	}
@@ -802,8 +895,16 @@ func GetAutoDraftDefaultInPicTask() error {
 			if err1 != nil {
 				return err1
 			}
+			taskInfo := gorm_model.YoungeeTaskInfo{}
+			dbt := GetReadDB(context.Background())
+			err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", specialTaskNeedModId).Find(&taskInfo).Error
+			if err2 != nil {
+				return err2
+			}
+			settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 			db3 := GetReadDB(context.Background())
-			db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", specialTaskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate})
+			db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", specialTaskNeedModId).Updates(
+				&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate, SettleAmount: settleAmount})
 			fmt.Println("已创建素材微原创的任务初稿违约记录")
 		}
 	}
@@ -875,8 +976,16 @@ func GetAutoDraftDefaultInPicTask() error {
 			if err1 != nil {
 				return err1
 			}
+			taskInfo := gorm_model.YoungeeTaskInfo{}
+			dbt := GetReadDB(context.Background())
+			err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskLogisticNeedMod2.TaskID).Find(&taskInfo).Error
+			if err2 != nil {
+				return err2
+			}
+			settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 			db8 := GetReadDB(context.Background())
-			db8.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskLogisticNeedMod2.TaskID).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate})
+			db8.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskLogisticNeedMod2.TaskID).Updates(
+				&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate, SettleAmount: settleAmount})
 			fmt.Println("已创建图文类型的初稿违约记录")
 		}
 	}
@@ -909,8 +1018,16 @@ func GetAutoDraftDefaultInPicTask() error {
 				if err1 != nil {
 					return err1
 				}
-				db3 := GetReadDB(context.Background())
-				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate}).Error
+				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
+				}
+				db5 := GetReadDB(context.Background())
+				settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
+				err2 = db5.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Updates(
+					&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate, SettleAmount: settleAmount}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -924,8 +1041,16 @@ func GetAutoDraftDefaultInPicTask() 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+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate}).Error
+				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Updates(
+					&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate, SettleAmount: settleAmount}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1017,8 +1142,16 @@ func GetAutoDraftDefaultInMvTask() error {
 				if err1 != nil {
 					return err1
 				}
+				taskInfo := gorm_model.YoungeeTaskInfo{}
+				dbt := GetReadDB(context.Background())
+				err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", videoTaskNeedModId).Find(&taskInfo).Error
+				if err2 != nil {
+					return err2
+				}
+				settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", videoTaskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate}).Error
+				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", videoTaskNeedModId).Updates(
+					&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate, SettleAmount: settleAmount}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1032,8 +1165,16 @@ func GetAutoDraftDefaultInMvTask() error {
 				if err1 != nil {
 					return err1
 				}
+				taskInfo := gorm_model.YoungeeTaskInfo{}
+				dbt := GetReadDB(context.Background())
+				err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", videoTaskNeedModId).Find(&taskInfo).Error
+				if err2 != nil {
+					return err2
+				}
+				settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", videoTaskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate}).Error
+				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", videoTaskNeedModId).Updates(
+					&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate, SettleAmount: settleAmount}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1070,8 +1211,16 @@ func GetAutoDraftDefaultInMvTask() error {
 				if err1 != nil {
 					return err1
 				}
+				taskInfo := gorm_model.YoungeeTaskInfo{}
+				dbt := GetReadDB(context.Background())
+				err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitVideoTaskNeedModId).Find(&taskInfo).Error
+				if err2 != nil {
+					return err2
+				}
+				settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitVideoTaskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate}).Error
+				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitVideoTaskNeedModId).Updates(
+					&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate, SettleAmount: settleAmount}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1085,8 +1234,16 @@ func GetAutoDraftDefaultInMvTask() error {
 				if err1 != nil {
 					return err1
 				}
+				taskInfo := gorm_model.YoungeeTaskInfo{}
+				dbt := GetReadDB(context.Background())
+				err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitVideoTaskNeedModId).Find(&taskInfo).Error
+				if err2 != nil {
+					return err2
+				}
+				settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitVideoTaskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate}).Error
+				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitVideoTaskNeedModId).Updates(
+					&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate, SettleAmount: settleAmount}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1182,8 +1339,16 @@ func GetAutoScriptDefaultTask() error {
 			if err1 != nil {
 				return err1
 			}
+			taskInfo := gorm_model.YoungeeTaskInfo{}
+			dbt := GetReadDB(context.Background())
+			err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", specialTaskNeedModId).Find(&taskInfo).Error
+			if err2 != nil {
+				return err2
+			}
+			settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 			db3 := GetReadDB(context.Background())
-			db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", specialTaskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 1, ScriptBreakRate: scriptDefaultRate})
+			db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", specialTaskNeedModId).Updates(
+				&gorm_model.YoungeeTaskInfo{CurDefaultType: 1, ScriptBreakRate: scriptDefaultRate, SettleAmount: settleAmount})
 			fmt.Println("已创建素材微原创的任务脚本违约记录")
 		}
 	}
@@ -1245,8 +1410,16 @@ func GetAutoScriptDefaultTask() error {
 				if err1 != nil {
 					return err1
 				}
+				taskInfo := gorm_model.YoungeeTaskInfo{}
+				dbt := GetReadDB(context.Background())
+				err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", videoTaskNeedModId).Find(&taskInfo).Error
+				if err2 != nil {
+					return err2
+				}
+				settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", videoTaskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 1, ScriptBreakRate: scriptDefaultRate}).Error
+				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", videoTaskNeedModId).Updates(
+					&gorm_model.YoungeeTaskInfo{CurDefaultType: 1, ScriptBreakRate: scriptDefaultRate, SettleAmount: settleAmount}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1260,8 +1433,16 @@ func GetAutoScriptDefaultTask() error {
 				if err1 != nil {
 					return err1
 				}
+				taskInfo := gorm_model.YoungeeTaskInfo{}
+				dbt := GetReadDB(context.Background())
+				err2 := dbt.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", videoTaskNeedModId).Find(&taskInfo).Error
+				if err2 != nil {
+					return err2
+				}
+				settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.SketchBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", videoTaskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 1, ScriptBreakRate: scriptDefaultRate}).Error
+				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", videoTaskNeedModId).Updates(
+					&gorm_model.YoungeeTaskInfo{CurDefaultType: 1, ScriptBreakRate: scriptDefaultRate, SettleAmount: settleAmount}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1407,8 +1588,16 @@ func GetAutoLinkBreachTask() 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+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 5, LinkBreakRate: linkDefaultRate}).Error
+				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskNeedModId).Updates(
+					&gorm_model.YoungeeTaskInfo{CurDefaultType: 5, LinkBreakRate: linkDefaultRate, SettleAmount: settleAmount}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1422,8 +1611,16 @@ func GetAutoLinkBreachTask() 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+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 5, LinkBreakRate: linkDefaultRate}).Error
+				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskNeedModId).Updates(
+					&gorm_model.YoungeeTaskInfo{CurDefaultType: 5, LinkBreakRate: linkDefaultRate, SettleAmount: settleAmount}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1461,8 +1658,16 @@ func GetAutoLinkBreachTask() 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+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 5, LinkBreakRate: linkDefaultRate}).Error
+				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Updates(
+					&gorm_model.YoungeeTaskInfo{CurDefaultType: 5, LinkBreakRate: linkDefaultRate, SettleAmount: settleAmount}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1476,8 +1681,16 @@ func GetAutoLinkBreachTask() 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+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 5, LinkBreakRate: linkDefaultRate}).Error
+				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Updates(
+					&gorm_model.YoungeeTaskInfo{CurDefaultType: 5, LinkBreakRate: linkDefaultRate, SettleAmount: settleAmount}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1571,8 +1784,16 @@ func GetAutoCaseCloseDefaultTask() 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+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 7, DataBreakRate: dataDefaultRate}).Error
+				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskNeedModId).Updates(
+					&gorm_model.YoungeeTaskInfo{CurDefaultType: 7, DataBreakRate: dataDefaultRate, SettleAmount: settleAmount}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1586,8 +1807,16 @@ func GetAutoCaseCloseDefaultTask() 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+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 7, DataBreakRate: dataDefaultRate}).Error
+				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskNeedModId).Updates(
+					&gorm_model.YoungeeTaskInfo{CurDefaultType: 7, DataBreakRate: dataDefaultRate, SettleAmount: settleAmount}).Error
 				if err2 != nil {
 					return err2
 				}
@@ -1625,8 +1854,16 @@ func GetAutoCaseCloseDefaultTask() 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+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate)/1000)
 				db3 := GetReadDB(context.Background())
-				err2 := db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Updates(&gorm_model.YoungeeTaskInfo{CurDefaultType: 7, DataBreakRate: dataDefaultRate}).Error
+				err2 = db3.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", submitTaskNeedModId).Updates(
+					&gorm_model.YoungeeTaskInfo{CurDefaultType: 7, DataBreakRate: dataDefaultRate, SettleAmount: settleAmount}).Error
 				if err2 != nil {
 					return err2
 				}

+ 1 - 1
model/common_model/talent_condition.go

@@ -8,7 +8,7 @@ type TalentConditions struct {
 	LinkStatus       int64  `condition:"link_status"`       // 链接状态
 	DataStatus       int64  `condition:"data_status"`       // 数据状态
 	DefaultStatus    int64  `condition:"default_status"`    // 违约状态
-	StrategyIds      string `condition:"strategy_ids"`      // 策略ID
+	StrategyId       int64  `condition:"strategy_id"`       // 策略ID
 	TaskId           string `condition:"task_id"`           // 任务ID
 	PlatformNickname string `condition:"platform_nickname"` // 账号昵称
 }

+ 1 - 1
model/gorm_model/info_pricing_strategy.go

@@ -13,7 +13,7 @@ type InfoPricingStrategy struct {
 	Platform      int64     `gorm:"column:platform;NOT NULL"`             // 项目平台,1-7分别代表小红书、抖音、微博、快手、b站、大众点评、知乎
 	FansLow       int64     `gorm:"column:fans_low;NOT NULL"`             // 对应粉丝量下限
 	FansUp        int64     `gorm:"column:fans_up;NOT NULL"`              // 对应粉丝量上限
-	ServiceCharge int64     `gorm:"column:service_charge"`                // 服务费,稿费形式为产品置换时填写,可以为空
+	ServiceCharge float32   `gorm:"column:service_charge"`                // 服务费,稿费形式为产品置换时填写,可以为空
 	BaseOffer     float32   `gorm:"column:base_offer"`                    // 基础报价
 	Status        int64     `gorm:"column:status;NOT NULL"`               // 定价策略当前状态,0表示正常,1表示禁用
 	ServiceRate   int64     `gorm:"column:service_rate"`                  // 服务费率*1000,稿费形式为固定稿费和自报价时填写,可以为空

+ 23 - 13
model/gorm_model/recruit_strategy.go

@@ -2,19 +2,29 @@
 package gorm_model
 
 type RecruitStrategy struct {
-	RecruitStrategyID int64 `gorm:"column:recruit_strategy_id;primary_key;AUTO_INCREMENT"` // 招募策略id
-	FeeForm           int64 `gorm:"column:fee_form"`                                       // 稿费形式,1-3分别代表产品置换、固定稿费、自报价
-	StrategyID        int64 `gorm:"column:strategy_id"`                                    // 策略id
-	FollowersLow      int64 `gorm:"column:followers_low"`                                  // 达人粉丝数下限
-	FollowersUp       int64 `gorm:"column:followers_up"`                                   // 达人粉丝数上限
-	RecruitNumber     int64 `gorm:"column:recruit_number"`                                 // 招募数量
-	Offer             int64 `gorm:"column:offer"`                                          // 报价
-	ProjectID         int64 `gorm:"column:project_id"`                                     // 所属项目id
-	ServiceCharge     int64 `gorm:"column:service_charge"`                                 // 平台服务费,稿费形式为产品置换时必填
-	SelectedNumber    int64 `gorm:"column:selected_number"`                                // 已选数量,被企业选择的达人数量 应发货
-	WaitingNumber     int64 `gorm:"column:waiting_number"`                                 // 待发货
-	DeliveredNumber   int64 `gorm:"column:delivered_number"`                               // 已发货
-	SignedNumber      int64 `gorm:"column:signed_number"`                                  // 已签收
+	RecruitStrategyID int64   `gorm:"column:recruit_strategy_id;primary_key;AUTO_INCREMENT"` // 招募策略id
+	FeeForm           int64   `gorm:"column:fee_form"`                                       // 稿费形式,1-3分别代表产品置换、固定稿费、自报价
+	StrategyID        int64   `gorm:"column:strategy_id"`                                    // 策略id
+	FollowersLow      int64   `gorm:"column:followers_low"`                                  // 达人粉丝数下限
+	FollowersUp       int64   `gorm:"column:followers_up"`                                   // 达人粉丝数上限
+	RecruitNumber     int64   `gorm:"column:recruit_number"`                                 // 招募数量
+	Offer             float64 `gorm:"column:offer"`                                          // 报价
+	TOffer            float64 `gorm:"column:t_offer"`                                        // 达人所见报价
+	ProjectID         int64   `gorm:"column:project_id"`                                     // 所属项目id
+	ServiceCharge     int64   `gorm:"column:service_charge"`                                 // 平台服务费,稿费形式为产品置换时必填
+	SelectedNumber    int64   `gorm:"column:selected_number;default:0"`                      // 已选数量,被企业选择的达人数量
+	WaitingNumber     int64   `gorm:"column:waiting_number;default:0"`                       // 待发货
+	DeliveredNumber   int64   `gorm:"column:delivered_number;default:0"`                     // 已发货
+	SignedNumber      int64   `gorm:"column:signed_number;default:0"`                        // 已签收
+	MaxOffer          int64   `gorm:"column:max_offer;default:0"`                            // 报价上限
+	MinOffer          int64   `gorm:"column:min_offer;default:0"`                            // 报价下限
+	FanNumber         int64   `gorm:"column:fan_number;default:0"`                           // 总粉丝量
+	PlayNumber        int64   `gorm:"column:play_number;default:0"`                          // 总播放量
+	LikeNumber        int64   `gorm:"column:like_number;default:0"`                          // 总点赞数
+	CollectNumber     int64   `gorm:"column:collect_number;default:0"`                       // 总收藏量
+	CommentNumber     int64   `gorm:"column:comment_number;default:0"`                       // 总评论数
+	FinishNumber      int64   `gorm:"column:finish_number;default:0"`                        // 结案数量
+	TotalOffer        int64   `gorm:"column:total_offer;default:0"`                          // 支付合计
 }
 
 func (m *RecruitStrategy) TableName() string {

+ 2 - 2
model/http_model/WithDrawalRecordsRequest.go

@@ -14,8 +14,8 @@ type WithdrawalRecordsData struct {
 	WithdrawId     string  `json:"withdraw_id"`
 	TalentId       string  `json:"talent_id"`
 	TalentName     string  `json:"talent_name"`
-	WithdrawAmount float64 `json:"withdraw_amount"`
-	AmountPayable  float64 `json:"amount_payable"`
+	WithdrawAmount float32 `json:"withdraw_amount"`
+	AmountPayable  float32 `json:"amount_payable"`
 	ReceiveInfo    string  `json:"receive_info"`
 	BankType       int     `json:"bank_type"`
 	Phone          string  `json:"phone"`

+ 2 - 2
model/http_model/add_pricing.go

@@ -6,8 +6,8 @@ type AddPricingRequest struct {
 	Platform       string  `json:"platform"`        //社媒平台
 	FansLow        int64   `json:"fans_low"`        //对应创作者 粉丝量
 	FansHigh       int64   `json:"fans_high"`       //对应创作者 粉丝量
-	BaseOffer      float32 `json:"base_offer"`      //基础报价
-	PlatformFee    int64   `json:"platform_fee"`    //平台服务费
+	ServiceCharge  float32 `json:"service_charge"`  //基础报价
+	ServiceRate    int64   `json:"service_rate"`    //平台服务费
 }
 
 type AddPricingResponse struct {

+ 9 - 8
model/http_model/modify_pricing.go

@@ -1,14 +1,15 @@
 package http_model
 
 type ModifyPricingRequest struct {
-	StrategyId  string `json:"strategy_id"`
-	ProjectType string `json:"project_type"` //项目类型
-	FeeForm     string `json:"fee_form"`     //稿费形式
-	Platform    string `json:"platform"`     //社媒平台
-	FansLow     int64  `json:"fans_low"`     //对应创作者 粉丝量
-	FansHigh    int64  `json:"fans_high"`    //对应创作者 粉丝量
-	BaseOffer   int64  `json:"base_offer"`   //基础报价
-	PlatformFee int64  `json:"platform_fee"` //平台服务费
+	ID            string `json:"id"`
+	StrategyId    string `json:"strategy_id"`
+	ProjectType   string `json:"project_type"`   //项目类型
+	FeeForm       string `json:"fee_form"`       //稿费形式
+	Platform      string `json:"platform"`       //社媒平台
+	FansLow       int64  `json:"fans_low"`       //对应创作者 粉丝量
+	FansHigh      int64  `json:"fans_high"`      //对应创作者 粉丝量
+	ServiceCharge int64  `json:"service_charge"` //平台服务费
+	ServiceRate   int64  `json:"service_rate"`   //平台服务费率
 }
 
 type ModifyPricingResponse struct {

+ 7 - 6
model/http_model/project_create.go

@@ -8,12 +8,13 @@ type CreateProjectPhoto struct {
 }
 
 type CreateRecruitStrategy struct {
-	FeeForm       int64 `json:"fee_form"`       // 稿费形式,1-3分别代表自报价、固定稿费、产品置换
-	StrategyID    int64 `json:"strategy_id"`    // 策略id
-	FollowersLow  int64 `json:"followers_low"`  // 达人粉丝数下限
-	FollowersUp   int64 `json:"followers_up"`   // 达人粉丝数上限
-	RecruitNumber int64 `json:"recruit_number"` // 招募数量
-	Offer         int64 `json:"offer"`          // 报价
+	FeeForm       int64   `json:"fee_form"`       // 稿费形式,1-3分别代表自报价、固定稿费、产品置换
+	StrategyID    int64   `json:"strategy_id"`    // 策略id
+	FollowersLow  int64   `json:"followers_low"`  // 达人粉丝数下限
+	FollowersUp   int64   `json:"followers_up"`   // 达人粉丝数上限
+	RecruitNumber int64   `json:"recruit_number"` // 招募数量
+	Offer         float64 `json:"offer"`          // 报价
+	TOffer        float64 `json:"t_offer"`        // 达人端报价
 }
 
 type CreateProjectRequest struct {

+ 7 - 6
model/http_model/project_update.go

@@ -8,12 +8,13 @@ type UpdateProjectPhoto struct {
 }
 
 type UpdateRecruitStrategy struct {
-	FeeForm       int64 `json:"fee_form"`       // 稿费形式,1-3分别代表自报价、固定稿费、产品置换
-	StrategyID    int64 `json:"strategy_id"`    // 策略id
-	FollowersLow  int64 `json:"followers_low"`  // 达人粉丝数下限
-	FollowersUp   int64 `json:"followers_up"`   // 达人粉丝数上限
-	RecruitNumber int64 `json:"recruit_number"` // 招募数量
-	Offer         int64 `json:"offer"`          // 报价
+	FeeForm       int64   `json:"fee_form"`       // 稿费形式,1-3分别代表自报价、固定稿费、产品置换
+	StrategyID    int64   `json:"strategy_id"`    // 策略id
+	FollowersLow  int64   `json:"followers_low"`  // 达人粉丝数下限
+	FollowersUp   int64   `json:"followers_up"`   // 达人粉丝数上限
+	RecruitNumber int64   `json:"recruit_number"` // 招募数量
+	Offer         float64 `json:"offer"`          // 报价
+	TOffer        float64 `json:"t_offer"`        // 报价
 }
 
 type UpdateProjectRequest struct {

+ 11 - 10
model/http_model/search_pricing.go

@@ -3,20 +3,21 @@ package http_model
 type SearchPricingRequest struct {
 	PageSize    int32  `json:"page_size"`
 	PageNum     int32  `json:"page_num"`
-	ProjectType string `json:"project_type"` //项目类型
-	FeeForm     string `json:"fee_form"`     //稿费形式
-	Platform    string `json:"platform"`     //社媒平台
+	ProjectType string `json:"project_type"` // 项目类型
+	FeeForm     string `json:"fee_form"`     // 稿费形式
+	Platform    string `json:"platform"`     // 社媒平台
 	UpdateAt    string `json:"update_at"`    // 创建时间
 }
 
 type SearchPricingPreview struct {
-	StrategyId     string `json:"strategyId"`      //定价策略编号
-	ProjectType    string `json:"project_type"`    //项目类型
-	Platform       string `json:"platform"`        //社媒平台
-	ManuscriptForm string `json:"manuscript_form"` //稿费形式
-	Fans           string `json:"fans"`            //对应创作者粉丝量
-	BaseOffer      string `json:"base_offer"`      //基础报价
-	PlatformFee    string `json:"platform_fee"`    //平台服务费
+	ID             string `json:"id"`              // 编号
+	StrategyId     string `json:"strategyId"`      // 定价策略编号
+	ProjectType    string `json:"project_type"`    // 项目类型
+	Platform       string `json:"platform"`        // 社媒平台
+	ManuscriptForm string `json:"manuscript_form"` // 稿费形式
+	Fans           string `json:"fans"`            // 对应创作者粉丝量
+	ServiceCharge  string `json:"service_charge"`  // 基础报价
+	ServiceRate    string `json:"service_rate"`    // 平台服务费
 	UpdateTime     string `json:"update_time"`     // 更新时间
 }
 

+ 1 - 1
model/http_model/task_data.go

@@ -10,7 +10,7 @@ type TaskDataListRequest struct {
 	PageNum          int64  `json:"page_num"`
 	ProjectId        string `json:"project_id"`        // 项目ID
 	TaskId           string `json:"task_id"`           // 任务ID
-	StrategyIds      string `json:"strategy_ids"`      // 策略ID
+	StrategyId       string `json:"strategy_id"`       // 策略ID
 	DataStatus       string `json:"data_status"`       // 稿件状态
 	PlatformNickname string `json:"platform_nickname"` // 账号昵称
 }

+ 1 - 1
model/http_model/task_default_data.go

@@ -10,7 +10,7 @@ type TaskDefaultDataListRequest struct {
 	PageNum          int64  `json:"page_num"`
 	ProjectId        string `json:"project_id"`        // 项目ID
 	TaskId           string `json:"task_id"`           // 任务ID
-	StrategyIds      string `json:"strategy_ids"`      // 策略ID
+	StrategyId       string `json:"strategy_id"`       // 策略ID
 	DefaultStatus    string `json:"default_status"`    // 稿件状态
 	PlatformNickname string `json:"platform_nickname"` // 账号昵称
 }

+ 1 - 1
model/http_model/task_default_review.go

@@ -10,7 +10,7 @@ type TaskDefaultReviewListRequest struct {
 	PageNum          int64  `json:"page_num"`
 	ProjectId        string `json:"project_id"`        // 项目ID
 	TaskId           string `json:"task_id"`           // 任务ID
-	StrategyIds      string `json:"strategy_ids"`      // 策略ID
+	StrategyId       string `json:"strategy_id"`       // 策略ID
 	DefaultStatus    string `json:"default_status"`    // 稿件状态
 	PlatformNickname string `json:"platform_nickname"` // 账号昵称
 }

+ 1 - 1
model/http_model/task_finish.go

@@ -9,7 +9,7 @@ type TaskFinishListRequest struct {
 	PageNum          int64  `json:"page_num"`
 	ProjectId        string `json:"project_id"`        // 项目ID
 	TaskId           string `json:"task_id"`           // 任务ID
-	StrategyIds      string `json:"strategy_ids"`      // 策略ID
+	StrategyId       string `json:"strategy_id"`       // 策略ID
 	DataStatus       string `json:"data_status"`       // 稿件状态
 	PlatformNickname string `json:"platform_nickname"` // 账号昵称
 }

+ 1 - 1
model/http_model/task_link.go

@@ -10,7 +10,7 @@ type TaskLinkListRequest struct {
 	PageNum          int64  `json:"page_num"`
 	ProjectId        string `json:"project_id"`        // 项目ID
 	TaskId           string `json:"task_id"`           // 任务ID
-	StrategyIds      string `json:"strategy_ids"`      // 策略ID
+	StrategyId       string `json:"strategy_id"`       // 策略ID
 	LinkStatus       string `json:"link_status"`       // 稿件状态
 	PlatformNickname string `json:"platform_nickname"` // 账号昵称
 }

+ 1 - 1
model/http_model/task_script.go

@@ -10,7 +10,7 @@ type TaskScriptListRequest struct {
 	PageNum          int64  `json:"page_num"`
 	ProjectId        string `json:"project_id"`        // 项目ID
 	TaskId           string `json:"task_id"`           // 任务ID
-	StrategyIds      string `json:"strategy_ids"`      // 策略ID
+	StrategyId       string `json:"strategy_id"`       // 策略ID
 	ScriptStatus     string `json:"script_status"`     // 稿件状态
 	PlatformNickname string `json:"platform_nickname"` // 账号昵称
 }

+ 1 - 1
model/http_model/task_sketch.go

@@ -10,7 +10,7 @@ type TaskSketchListRequest struct {
 	PageNum          int64  `json:"page_num"`
 	ProjectId        string `json:"project_id"`        // 项目ID
 	TaskId           string `json:"task_id"`           // 任务ID
-	StrategyIds      string `json:"strategy_ids"`      // 策略ID
+	StrategyId       string `json:"strategy_id"`       // 策略ID
 	SketchStatus     string `json:"sketch_status"`     // 稿件状态
 	PlatformNickname string `json:"platform_nickname"` // 账号昵称
 }

+ 1 - 1
model/http_model/task_terminated.go

@@ -10,7 +10,7 @@ type TaskTerminatedListRequest struct {
 	PageNum          int64  `json:"page_num"`
 	ProjectId        string `json:"project_id"`        // 项目ID
 	TaskId           string `json:"task_id"`           // 任务ID
-	StrategyIds      string `json:"strategy_ids"`      // 策略ID
+	StrategyId       string `json:"strategy_id"`       // 策略ID
 	DefaultStatus    string `json:"default_status"`    // 稿件状态
 	PlatformNickname string `json:"platform_nickname"` // 账号昵称
 }

+ 1 - 1
model/http_model/task_terminating.go

@@ -10,7 +10,7 @@ type TaskTerminatingListRequest struct {
 	PageNum          int64  `json:"page_num"`
 	ProjectId        string `json:"project_id"`        // 项目ID
 	TaskId           string `json:"task_id"`           // 任务ID
-	StrategyIds      string `json:"strategy_ids"`      // 策略ID
+	StrategyId       string `json:"strategy_id"`       // 策略ID
 	DefaultStatus    string `json:"default_status"`    // 稿件状态
 	PlatformNickname string `json:"platform_nickname"` // 账号昵称
 }

+ 1 - 2
pack/task_data_list_conditions.go

@@ -1,10 +1,9 @@
 package pack
 
 import (
+	"github.com/caixw/lib.go/conv"
 	"youngee_m_api/model/common_model"
 	"youngee_m_api/model/http_model"
-
-	"github.com/caixw/lib.go/conv"
 )
 
 func HttpTaskDataListRequestToCondition(req *http_model.TaskDataListRequest) *common_model.TalentConditions {

+ 1 - 2
pack/task_default_list_conditions.go

@@ -1,10 +1,9 @@
 package pack
 
 import (
+	"github.com/caixw/lib.go/conv"
 	"youngee_m_api/model/common_model"
 	"youngee_m_api/model/http_model"
-
-	"github.com/caixw/lib.go/conv"
 )
 
 func HttpTaskDefaultReviewListRequestToCondition(req *http_model.TaskDefaultReviewListRequest) *common_model.TalentConditions {

+ 1 - 2
pack/task_finish_list_conditions.go

@@ -1,10 +1,9 @@
 package pack
 
 import (
+	"github.com/caixw/lib.go/conv"
 	"youngee_m_api/model/common_model"
 	"youngee_m_api/model/http_model"
-
-	"github.com/caixw/lib.go/conv"
 )
 
 func HttpTaskFinishListRequestToCondition(req *http_model.TaskFinishListRequest) *common_model.TalentConditions {

+ 1 - 2
pack/task_link_list_conditions.go

@@ -1,10 +1,9 @@
 package pack
 
 import (
+	"github.com/caixw/lib.go/conv"
 	"youngee_m_api/model/common_model"
 	"youngee_m_api/model/http_model"
-
-	"github.com/caixw/lib.go/conv"
 )
 
 func HttpTaskLinkListRequestToCondition(req *http_model.TaskLinkListRequest) *common_model.TalentConditions {

+ 1 - 2
pack/task_logistics_list_conditions.go

@@ -1,10 +1,9 @@
 package pack
 
 import (
+	"github.com/caixw/lib.go/conv"
 	"youngee_m_api/model/common_model"
 	"youngee_m_api/model/http_model"
-
-	"github.com/caixw/lib.go/conv"
 )
 
 func HttpTaskLogisticsListRequestToCondition(req *http_model.TaskLogisticsListRequest) *common_model.TalentConditions {

+ 1 - 2
pack/task_script_list_conditions.go

@@ -1,10 +1,9 @@
 package pack
 
 import (
+	"github.com/caixw/lib.go/conv"
 	"youngee_m_api/model/common_model"
 	"youngee_m_api/model/http_model"
-
-	"github.com/caixw/lib.go/conv"
 )
 
 func HttpTaskScriptListRequestToCondition(req *http_model.TaskScriptListRequest) *common_model.TalentConditions {

+ 1 - 2
pack/task_sketch_list_conditions.go

@@ -1,10 +1,9 @@
 package pack
 
 import (
+	"github.com/caixw/lib.go/conv"
 	"youngee_m_api/model/common_model"
 	"youngee_m_api/model/http_model"
-
-	"github.com/caixw/lib.go/conv"
 )
 
 func HttpTaskSketchListRequestToCondition(req *http_model.TaskSketchListRequest) *common_model.TalentConditions {