Parcourir la source

新增达人消息生成

Ohio-HYF il y a 2 ans
Parent
commit
595e06779a

+ 10 - 3
db/finance.go

@@ -3,9 +3,6 @@ package db
 import (
 	"context"
 	"fmt"
-	"github.com/caixw/lib.go/conv"
-	"github.com/sirupsen/logrus"
-	"gorm.io/gorm"
 	"reflect"
 	"strconv"
 	"strings"
@@ -15,6 +12,10 @@ import (
 	"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 GetWithdrawRecords(ctx context.Context, pageSize, pageNum int32, req *http_model.WithdrawalRecordsRequest, condition *common_model.WithdrawRecordsCondition) (*http_model.WithdrawalRecordsPreview, error) {
@@ -153,6 +154,12 @@ func ConfirmWithdrawal(ctx context.Context, withdrawId string) error {
 	for _, taskIdList := range taskIdLists {
 		db1 := GetReadDB(ctx)
 		db1.Debug().Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskIdList).Updates(gorm_model.YoungeeTaskInfo{WithdrawStatus: 4})
+
+		err := CreateMessageByTaskId(ctx, 6, 1, taskIdList)
+		if err != nil {
+			logrus.WithContext(ctx).Errorf("[ConfirmWithdrawal] call CreateMessageByTaskId error,err:%+v", err)
+			return err
+		}
 	}
 	db3 := GetReadDB(ctx)
 	db3.Debug().Model(gorm_model.YoungeeTalentInfo{}).Where("id = ?", withdrawInfo.TalentID).Updates(

+ 74 - 0
db/message.go

@@ -0,0 +1,74 @@
+package db
+
+import (
+	"context"
+	"fmt"
+	"time"
+	"youngee_m_api/model/gorm_model"
+
+	"github.com/sirupsen/logrus"
+)
+
+// 通过taskId查询talentId,插入新消息
+func CreateMessageByTaskId(ctx context.Context, messageId int, messageType int, taskId string) error {
+	db := GetReadDB(ctx)
+	taskInfo := gorm_model.YoungeeTaskInfo{}
+	err := db.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskId).Find(&taskInfo).Error
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[CreateMessageByTask] error read mysql, err:%+v", err)
+		return err
+	}
+
+	db1 := GetReadDB(ctx)
+	var projectName string
+	err = db1.Model(gorm_model.ProjectInfo{}).Select("project_name").Where("project_id = ?", taskInfo.ProjectId).Find(&projectName).Error
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[CreateMessageByTask] error read mysql, err:%+v", err)
+		return err
+	}
+	fmt.Printf("project_name: %+v, project_id: %+v\n", projectName, taskInfo.ProjectId)
+	messageInfo := gorm_model.YounggeeMessageInfo{
+		MessageID:   messageId,
+		MessageType: messageType,
+		CreatedAt:   time.Now(),
+		TalentID:    taskInfo.TalentId,
+		ProjectName: projectName,
+		IsReaded:    0,
+		IsDeleted:   0,
+	}
+	db2 := GetReadDB(ctx)
+	err = db2.Model(gorm_model.YounggeeMessageInfo{}).Create(&messageInfo).Error
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[CreateMessageByTask] error create mysql, err:%+v", err)
+		return err
+	}
+	return nil
+}
+
+// 插入新消息
+func CreateMessage(ctx context.Context, messageId int, messageType int, talentId string, projectId string) error {
+	db := GetReadDB(ctx)
+	var projectName string
+	err := db.Model(gorm_model.ProjectInfo{}).Select("project_name").Where("project_id = ?", projectId).Find(&projectName).Error
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[CreateMessageByTask] error read mysql, err:%+v", err)
+		return err
+	}
+
+	messageInfo := gorm_model.YounggeeMessageInfo{
+		MessageID:   messageId,
+		MessageType: messageType,
+		CreatedAt:   time.Now(),
+		TalentID:    talentId,
+		ProjectName: projectName,
+		IsReaded:    0,
+		IsDeleted:   0,
+	}
+	db1 := GetReadDB(ctx)
+	err = db1.Model(gorm_model.YounggeeMessageInfo{}).Create(&messageInfo).Error
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[CreateMessageByTask] error create mysql, err:%+v", err)
+		return err
+	}
+	return nil
+}

+ 108 - 24
db/operate.go

@@ -298,10 +298,6 @@ func GetSignInOfflineTask(projectForm int32) error {
 						db5 := GetReadDB(context.Background())
 						db5.Model(gorm_model.YoungeeTaskLogistics{}).Where("logistics_id = ?", logisticInfo.LogisticsID).
 							Updates(&gorm_model.YoungeeTaskLogistics{AutoSignAt: &t})
-						err = CreateTaskLog(context.Background(), taskInfo.TaskId, "签收时间")
-						if err != nil {
-							logrus.WithContext(context.Background()).Errorf("[Script service] call CreateTaskLog error,err:%+v", err)
-						}
 						fmt.Println("已添加自动签收时间")
 					}
 				}
@@ -321,9 +317,15 @@ func GetSignInOfflineTask(projectForm int32) error {
 		if logisticInfo.SignedTime.IsZero() {
 			db6 := GetReadDB(context.Background())
 			db6.Model(gorm_model.YoungeeTaskLogistics{}).Where("logistics_id = ?", logisticInfo.LogisticsID).Updates(&gorm_model.YoungeeTaskLogistics{SignedTime: time.Now(), Status: 1})
+
 			err = CreateTaskLog(context.Background(), logisticInfo.TaskID, "签收时间")
 			if err != nil {
-				logrus.WithContext(context.Background()).Errorf("[Script service] call CreateTaskLog error,err:%+v", err)
+				logrus.WithContext(context.Background()).Errorf("[operate db] call CreateTaskLog error,err:%+v", err)
+			}
+
+			err = CreateMessageByTaskId(context.Background(), 9, 2, logisticInfo.TaskID)
+			if err != nil {
+				logrus.WithContext(context.Background()).Errorf("[operate db] call CreateMessageByTaskId error,err:%+v", err)
 			}
 			fmt.Println("已更新签收时间")
 		}
@@ -432,7 +434,12 @@ func GetAutoReviewTask(contentType int32) error {
 		for _, taskId := range taskIds {
 			err = CreateTaskLog(context.Background(), taskId, "脚本通过")
 			if err != nil {
-				logrus.WithContext(context.Background()).Errorf("[Script service] call CreateTaskLog error,err:%+v", err)
+				logrus.WithContext(context.Background()).Errorf("[operate db] call CreateTaskLog error,err:%+v", err)
+			}
+
+			err = CreateMessageByTaskId(context.Background(), 2, 1, taskId)
+			if err != nil {
+				logrus.WithContext(context.Background()).Errorf("[operate db] call CreateMessageByTaskId error,err:%+v", err)
 			}
 		}
 		if len(taskIds) != 0 {
@@ -516,7 +523,11 @@ func GetAutoReviewTask(contentType int32) error {
 		for _, taskId := range taskIds {
 			err = CreateTaskLog(context.Background(), taskId, "初稿通过")
 			if err != nil {
-				logrus.WithContext(context.Background()).Errorf("[Script service] call CreateTaskLog error,err:%+v", err)
+				logrus.WithContext(context.Background()).Errorf("[operate db] call CreateTaskLog error,err:%+v", err)
+			}
+			err = CreateMessageByTaskId(context.Background(), 3, 1, taskId)
+			if err != nil {
+				logrus.WithContext(context.Background()).Errorf("[operate db] call CreateMessageByTaskId error,err:%+v", err)
 			}
 		}
 		if len(taskIds) != 0 {
@@ -603,7 +614,11 @@ func GetAutoPostReviewTask() error {
 	for _, taskId := range taskIds {
 		err = CreateTaskLog(context.Background(), taskId, "链接通过")
 		if err != nil {
-			logrus.WithContext(context.Background()).Errorf("[Script service] call CreateTaskLog error,err:%+v", err)
+			logrus.WithContext(context.Background()).Errorf("[operate db] call CreateTaskLog error,err:%+v", err)
+		}
+		err = CreateMessageByTaskId(context.Background(), 4, 1, taskId)
+		if err != nil {
+			logrus.WithContext(context.Background()).Errorf("[operate db] call CreateMessageByTaskId error,err:%+v", err)
 		}
 	}
 	if len(taskIds) != 0 {
@@ -702,6 +717,10 @@ func GetAutoCaseCloseTask() error {
 		if err != nil {
 			logrus.WithContext(context.Background()).Errorf("[auto] call CreateTaskLog error,err:%+v", err)
 		}
+		err = CreateMessageByTaskId(context.Background(), 5, 1, taskId)
+		if err != nil {
+			logrus.WithContext(context.Background()).Errorf("[operate db] call CreateMessageByTaskId error,err:%+v", err)
+		}
 	}
 	err = SetTalentIncome(context.Background(), taskIds)
 	if err != nil {
@@ -961,10 +980,15 @@ func GetAutoDraftDefaultInPicTask() error {
 			db8 := GetReadDB(context.Background())
 			db8.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskLogisticNeedMod.TaskID).Updates(
 				&gorm_model.YoungeeTaskInfo{CurDefaultType: 3, SketchBreakRate: sketchDefaultRate, SettleAmount: settleAmount, ErrBreakRate: sketchErrRate, RealPayment: realPayment})
-			err = CreateTaskLog(context.Background(), taskLogisticNeedMod.TaskID, "初稿违约")
+
+			err = CreateTaskLog(context.Background(), taskLogisticNeedMod.TaskID, "初稿逾期")
 			if err != nil {
 				logrus.WithContext(context.Background()).Errorf("[operate db] call CreateTaskLog error,err:%+v", err)
 			}
+			err = CreateMessageByTaskId(context.Background(), 22, 4, taskLogisticNeedMod.TaskID)
+			if err != nil {
+				logrus.WithContext(context.Background()).Errorf("[operate db] call CreateMessageByTaskId error,err:%+v", err)
+			}
 			fmt.Println("已创建图文类型的初稿违约记录")
 		}
 	}
@@ -1035,10 +1059,14 @@ func GetAutoDraftDefaultInPicTask() error {
 			if err2 != nil {
 				return err2
 			}
-			err = CreateTaskLog(context.Background(), submitTaskNeedModId, "初稿违约")
+			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(), 22, 4, submitTaskNeedModId)
+			if err != nil {
+				logrus.WithContext(context.Background()).Errorf("[operate db] call CreateMessageByTaskId error,err:%+v", err)
+			}
 			fmt.Println("创建已提交初稿的图文类型的初稿违约记录")
 		}
 	}
@@ -1156,10 +1184,14 @@ func GetAutoDraftDefaultInMvTask() error {
 			if err2 != nil {
 				return err2
 			}
-			err = CreateTaskLog(context.Background(), videoTaskNeedModId, "初稿违约")
+			err = CreateTaskLog(context.Background(), videoTaskNeedModId, "初稿逾期")
 			if err != nil {
 				logrus.WithContext(context.Background()).Errorf("[operate db] call CreateTaskLog error,err:%+v", err)
 			}
+			err = CreateMessageByTaskId(context.Background(), 22, 4, videoTaskNeedModId)
+			if err != nil {
+				logrus.WithContext(context.Background()).Errorf("[operate db] call CreateMessageByTaskId error,err:%+v", err)
+			}
 			fmt.Println("已创建视频类型的初稿违约记录")
 		}
 	}
@@ -1226,10 +1258,14 @@ func GetAutoDraftDefaultInMvTask() error {
 			if err2 != nil {
 				return err2
 			}
-			err = CreateTaskLog(context.Background(), submitVideoTaskNeedModId, "初稿违约")
+			err = CreateTaskLog(context.Background(), submitVideoTaskNeedModId, "初稿逾期")
 			if err != nil {
 				logrus.WithContext(context.Background()).Errorf("[operate db] call CreateTaskLog error,err:%+v", err)
 			}
+			err = CreateMessageByTaskId(context.Background(), 22, 4, submitVideoTaskNeedModId)
+			if err != nil {
+				logrus.WithContext(context.Background()).Errorf("[operate db] call CreateMessageByTaskId error,err:%+v", err)
+			}
 			fmt.Println("创建已提交初稿的视频类型的初稿违约记录")
 		}
 	}
@@ -1344,10 +1380,14 @@ func GetAutoScriptDefaultTask() error {
 				if err2 != nil {
 					return err2
 				}
-				err = CreateTaskLog(context.Background(), videoTaskNeedModId, "脚本违约")
+				err = CreateTaskLog(context.Background(), videoTaskNeedModId, "脚本逾期")
 				if err != nil {
 					logrus.WithContext(context.Background()).Errorf("[operate db] call CreateTaskLog error,err:%+v", err)
 				}
+				err = CreateMessageByTaskId(context.Background(), 21, 4, videoTaskNeedModId)
+				if err != nil {
+					logrus.WithContext(context.Background()).Errorf("[operate db] call CreateMessageByTaskId error,err:%+v", err)
+				}
 				fmt.Println("创建时已违约则创建视频类型的脚本违约记录")
 			}
 		} else {
@@ -1379,10 +1419,14 @@ func GetAutoScriptDefaultTask() error {
 				if err2 != nil {
 					return err2
 				}
-				err = CreateTaskLog(context.Background(), videoTaskNeedModId, "脚本违约")
+				err = CreateTaskLog(context.Background(), videoTaskNeedModId, "脚本逾期")
 				if err != nil {
 					logrus.WithContext(context.Background()).Errorf("[operate db] call CreateTaskLog error,err:%+v", err)
 				}
+				err = CreateMessageByTaskId(context.Background(), 21, 4, videoTaskNeedModId)
+				if err != nil {
+					logrus.WithContext(context.Background()).Errorf("[operate db] call CreateMessageByTaskId error,err:%+v", err)
+				}
 				fmt.Println("已创建视频类型的脚本违约记录")
 			}
 		}
@@ -1447,10 +1491,14 @@ func GetAutoScriptDefaultTask() error {
 				if err3 != nil {
 					return err3
 				}
-				err = CreateTaskLog(context.Background(), submitVideoTaskNeedModId, "脚本违约")
+				err = CreateTaskLog(context.Background(), submitVideoTaskNeedModId, "脚本逾期")
 				if err != nil {
 					logrus.WithContext(context.Background()).Errorf("[operate db] call CreateTaskLog error,err:%+v", err)
 				}
+				err = CreateMessageByTaskId(context.Background(), 21, 4, submitVideoTaskNeedModId)
+				if err != nil {
+					logrus.WithContext(context.Background()).Errorf("[operate db] call CreateMessageByTaskId error,err:%+v", err)
+				}
 				fmt.Println("创建时已违约则创建已提交脚本的视频类型的脚本违约记录")
 			}
 		} else {
@@ -1481,10 +1529,14 @@ func GetAutoScriptDefaultTask() error {
 				if err3 != nil {
 					return err3
 				}
-				err = CreateTaskLog(context.Background(), submitVideoTaskNeedModId, "脚本违约")
+				err = CreateTaskLog(context.Background(), submitVideoTaskNeedModId, "脚本逾期")
 				if err != nil {
 					logrus.WithContext(context.Background()).Errorf("[operate db] call CreateTaskLog error,err:%+v", err)
 				}
+				err = CreateMessageByTaskId(context.Background(), 21, 4, submitVideoTaskNeedModId)
+				if err != nil {
+					logrus.WithContext(context.Background()).Errorf("[operate db] call CreateMessageByTaskId error,err:%+v", err)
+				}
 				fmt.Println("创建已提交脚本的视频类型的脚本违约记录")
 			}
 		}
@@ -1597,10 +1649,14 @@ func GetAutoLinkBreachTask() error {
 				if err2 != nil {
 					return err2
 				}
-				err = CreateTaskLog(context.Background(), taskNeedModId, "链接违约")
+				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(), 23, 4, taskNeedModId)
+				if err != nil {
+					logrus.WithContext(context.Background()).Errorf("[operate db] call CreateMessageByTaskId error,err:%+v", err)
+				}
 				fmt.Println("创建时已违约则创建链接违约记录")
 			}
 		} else {
@@ -1631,10 +1687,14 @@ func GetAutoLinkBreachTask() error {
 				if err2 != nil {
 					return err2
 				}
-				err = CreateTaskLog(context.Background(), taskNeedModId, "链接违约")
+				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(), 23, 4, taskNeedModId)
+				if err != nil {
+					logrus.WithContext(context.Background()).Errorf("[operate db] call CreateMessageByTaskId error,err:%+v", err)
+				}
 				fmt.Println("已创建链接违约记录")
 			}
 		}
@@ -1699,10 +1759,14 @@ func GetAutoLinkBreachTask() error {
 				if err2 != nil {
 					return err2
 				}
-				err = CreateTaskLog(context.Background(), submitTaskNeedModId, "链接违约")
+				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(), 23, 4, submitTaskNeedModId)
+				if err != nil {
+					logrus.WithContext(context.Background()).Errorf("[operate db] call CreateMessageByTaskId error,err:%+v", err)
+				}
 				fmt.Println("创建时已违约则创建已提交链接的链接违约记录")
 			}
 		} else {
@@ -1733,10 +1797,14 @@ func GetAutoLinkBreachTask() error {
 				if err2 != nil {
 					return err2
 				}
-				err = CreateTaskLog(context.Background(), submitTaskNeedModId, "链接违约")
+				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(), 23, 4, submitTaskNeedModId)
+				if err != nil {
+					logrus.WithContext(context.Background()).Errorf("[operate db] call CreateMessageByTaskId error,err:%+v", err)
+				}
 				fmt.Println("创建已提交链接的链接违约记录")
 			}
 		}
@@ -1850,10 +1918,14 @@ func GetAutoCaseCloseDefaultTask() error {
 				if err2 != nil {
 					return err2
 				}
-				err = CreateTaskLog(context.Background(), taskNeedModId, "数据违约")
+				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 {
@@ -1885,10 +1957,14 @@ func GetAutoCaseCloseDefaultTask() error {
 				if err2 != nil {
 					return err2
 				}
-				err = CreateTaskLog(context.Background(), taskNeedModId, "数据违约")
+				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("已创建数据违约记录")
 			}
 		}
@@ -1953,10 +2029,14 @@ func GetAutoCaseCloseDefaultTask() error {
 				if err2 != nil {
 					return err2
 				}
-				err = CreateTaskLog(context.Background(), submitTaskNeedModId, "数据违约")
+				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 {
@@ -1987,10 +2067,14 @@ func GetAutoCaseCloseDefaultTask() error {
 				if err2 != nil {
 					return err2
 				}
-				err = CreateTaskLog(context.Background(), submitTaskNeedModId, "数据违约")
+				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("创建已提交数据的数据违约记录")
 			}
 		}

+ 34 - 3
db/task.go

@@ -3,9 +3,6 @@ package db
 import (
 	"context"
 	"fmt"
-	"github.com/caixw/lib.go/conv"
-	"github.com/tidwall/gjson"
-	"gorm.io/gorm"
 	"reflect"
 	"strconv"
 	"strings"
@@ -16,6 +13,10 @@ import (
 	"youngee_m_api/pack"
 	"youngee_m_api/util"
 
+	"github.com/caixw/lib.go/conv"
+	"github.com/tidwall/gjson"
+	"gorm.io/gorm"
+
 	"github.com/sirupsen/logrus"
 )
 
@@ -89,6 +90,23 @@ func ChangeTaskStatus(ctx context.Context, taskIds []string, taskStatus string)
 	return recruitStrategysIDs, nil
 }
 
+
+func ChangeSpecialTaskStatus(ctx context.Context, taskIds []string, taskStatus string, taskStage string) error {
+	db := GetReadDB(ctx)
+	status, err := strconv.Atoi(taskStatus)
+	stage, err := strconv.Atoi(taskStage)
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[ChangeTaskStatus]1 error query mysql total, err:%+v", err)
+		return err
+	}
+	if err := db.Debug().Model(&gorm_model.YoungeeTaskInfo{}).Where("task_id IN ?", taskIds).
+		Updates(gorm_model.YoungeeTaskInfo{TaskStatus: status, TaskStage: stage}).Error; err != nil {
+		logrus.WithContext(ctx).Errorf("[ChangeTaskStatus]2 error query mysql total, err:%+v", err)
+		return err
+	}
+	return nil
+}
+
 func UpdateTaskStage(ctx context.Context, projectID string, taskStatus int64, taskStage int64) error {
 	db := GetReadDB(ctx)
 	err := db.Model(gorm_model.YoungeeTaskInfo{}).Where("project_id=? and task_status = ?", projectID, taskStatus).Update("task_stage", taskStage).Error
@@ -276,3 +294,16 @@ func UpdateTaskStageByTaskId(ctx context.Context, taskID string, taskStatus int6
 	}
 	return nil
 }
+
+// 获取任务ids
+func GetTaskIds(ctx context.Context, projectId string) ([]string, error) {
+	db := GetReadDB(ctx)
+	var taskIds []string
+	err := db.Model(gorm_model.YoungeeTaskInfo{}).Select("task_id").Where("project_id = ? and task_status = 2", projectId).Find(&taskIds).Error
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[CreateMessageByTask] error read mysql, err:%+v", err)
+		return nil, err
+	}
+
+	return taskIds, nil
+}

+ 23 - 6
handler/project_change_taskStatus.go

@@ -55,13 +55,30 @@ func (p *ProjectChangeTaskStatusHandler) getRequest() interface{} {
 func (p *ProjectChangeTaskStatusHandler) run() {
 	data := http_model.ProjectChangeTaskStatusRequest{}
 	data = *p.req
-	err := service.Project.ChangeTaskStatus(p.ctx, data)
-	if err != nil {
-		logrus.Errorf("[ChangeTaskStatusHandler] call Create err:%+v\n", err)
-		util.HandlerPackErrorResp(p.resp, consts.ErrorInternal, "")
-		logrus.Info("ChangeTaskStatus fail,req:%+v", p.req)
-		return
+	if data.IsSpecial == "1" {
+		err := service.Project.ChangeSpecialTaskStatus(p.ctx, data)
+		if err != nil {
+			logrus.Errorf("[ChangeTaskStatusHandler] call Create err:%+v\n", err)
+			util.HandlerPackErrorResp(p.resp, consts.ErrorInternal, "")
+			logrus.Info("ChangeTaskStatus fail,req:%+v", p.req)
+			return
+		}
+	} else {
+		err := service.Project.ChangeTaskStatus(p.ctx, data)
+		if err != nil {
+			logrus.Errorf("[ChangeTaskStatusHandler] call Create err:%+v\n", err)
+			util.HandlerPackErrorResp(p.resp, consts.ErrorInternal, "")
+			logrus.Info("ChangeTaskStatus fail,req:%+v", p.req)
+			return
+		}
 	}
+	// err := service.Project.ChangeTaskStatus(p.ctx, data)
+	// if err != nil {
+	// 	logrus.Errorf("[ChangeTaskStatusHandler] call Create err:%+v\n", err)
+	// 	util.HandlerPackErrorResp(p.resp, consts.ErrorInternal, "")
+	// 	logrus.Info("ChangeTaskStatus fail,req:%+v", p.req)
+	// 	return
+	// }
 	p.resp.Message = "任务状态更换成功"
 }
 

+ 21 - 0
model/gorm_model/mesage_info.go

@@ -0,0 +1,21 @@
+// Code generated by sql2gorm. DO NOT EDIT.
+package gorm_model
+
+import (
+	"time"
+)
+
+type YounggeeMessageInfo struct {
+	ID          int       `gorm:"column:id;primary_key;AUTO_INCREMENT"` // id,递增
+	MessageID   int       `gorm:"column:message_id;NOT NULL"`           // 消息内容id,对应info_message
+	MessageType int       `gorm:"column:message_type;NOT NULL"`         // 消息类型,1-4分别表示成功、通知、错误、警告
+	TalentID    string    `gorm:"column:talent_id;NOT NULL"`            // 达人id
+	ProjectName string    `gorm:"column:project_name;NOT NULL"`         // 项目名称
+	CreatedAt   time.Time `gorm:"column:created_at;NOT NULL"`           // 消息创建时间
+	IsReaded    int       `gorm:"column:is_readed;default:0;NOT NULL"`  // 是否已读,1表示未读,2表示已读
+	IsDeleted   int       `gorm:"column:is_deleted;default:0;NOT NULL"` // 是否删除,1表示未删,2表示已删
+}
+
+func (m *YounggeeMessageInfo) TableName() string {
+	return "younggee_message_info"
+}

+ 2 - 0
model/http_model/project_change_taskStatus.go

@@ -3,6 +3,8 @@ package http_model
 type ProjectChangeTaskStatusRequest struct {
 	TaskIds    []string `json:"taskIds"`
 	TaskStatus string   `json:"task_status"`
+	TaskStage  string   `json:"task_stage"`
+	IsSpecial  string   `json:"is_special"`
 }
 
 func NewProjectChangeTaskStatusRequst() *ProjectChangeTaskStatusRequest {

+ 2 - 1
route/init.go

@@ -1,11 +1,12 @@
 package route
 
 import (
-	"github.com/gin-gonic/gin"
 	"youngee_m_api/handler"
 	"youngee_m_api/handler/operate"
 	"youngee_m_api/middleware"
 	"youngee_m_api/model/http_model"
+
+	"github.com/gin-gonic/gin"
 )
 
 func InitRoute(r *gin.Engine) {

+ 12 - 1
service/data.go

@@ -2,11 +2,12 @@ package service
 
 import (
 	"context"
-	"github.com/sirupsen/logrus"
 	"strings"
 	"youngee_m_api/db"
 	"youngee_m_api/model/gorm_model"
 	"youngee_m_api/model/http_model"
+
+	"github.com/sirupsen/logrus"
 )
 
 var Data *data
@@ -31,6 +32,11 @@ func (*data) DataOpinion(ctx context.Context, request http_model.DataOpinionRequ
 		logrus.WithContext(ctx).Errorf("[Link service] call CreateTaskLog error,err:%+v", err)
 		return nil, err
 	}
+	err = db.CreateMessageByTaskId(ctx, 19, 3, Data.TaskID)
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[Data service] call CreateMessageByTaskId error,err:%+v", err)
+		return nil, err
+	}
 
 	res := &http_model.DataOpinionData{
 		TaskID: Data.TaskID,
@@ -61,6 +67,11 @@ func (*data) AcceptData(ctx context.Context, request http_model.AcceptDataReques
 			logrus.WithContext(ctx).Errorf("[Data service] call CreateTaskLog error,err:%+v", err)
 			return nil, err
 		}
+		err = db.CreateMessageByTaskId(ctx, 5, 1, taskId)
+		if err != nil {
+			logrus.WithContext(ctx).Errorf("[Script service] call CreateTaskLog error,err:%+v", err)
+			return nil, err
+		}
 	}
 
 	// 2. 更新YoungeeTaskInfo表,将任务结案

+ 10 - 0
service/link.go

@@ -32,6 +32,11 @@ func (*link) LinkOpinion(ctx context.Context, request http_model.LinkOpinionRequ
 		logrus.WithContext(ctx).Errorf("[Link service] call CreateTaskLog error,err:%+v", err)
 		return nil, err
 	}
+	err = db.CreateMessageByTaskId(ctx, 18, 3, Link.TaskID)
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[Link service] call CreateMessageByTaskId error,err:%+v", err)
+		return nil, err
+	}
 
 	res := &http_model.LinkOpinionData{
 		TaskID: Link.TaskID,
@@ -59,6 +64,11 @@ func (*link) AcceptLink(ctx context.Context, request http_model.AcceptLinkReques
 			logrus.WithContext(ctx).Errorf("[Link service] call CreateTaskLog error,err:%+v", err)
 			return nil, err
 		}
+		err = db.CreateMessageByTaskId(ctx, 4, 1, taskId)
+		if err != nil {
+			logrus.WithContext(ctx).Errorf("[Script service] call CreateTaskLog error,err:%+v", err)
+			return nil, err
+		}
 	}
 
 	res := &http_model.AcceptLinkData{

+ 13 - 1
service/logistics.go

@@ -3,12 +3,13 @@ package service
 import (
 	"context"
 	"fmt"
-	"github.com/caixw/lib.go/conv"
 	"time"
 	"youngee_m_api/db"
 	"youngee_m_api/model/gorm_model"
 	"youngee_m_api/model/http_model"
 
+	"github.com/caixw/lib.go/conv"
+
 	"github.com/gin-gonic/gin"
 	"github.com/sirupsen/logrus"
 )
@@ -100,6 +101,12 @@ func (*logistics) Create(ctx context.Context, newLogistics http_model.CreateLogi
 		return nil, err
 	}
 
+	err = db.CreateMessageByTaskId(ctx, 8, 2, Logistics.TaskID)
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[logistics service] call CreateMessageByTaskId error,err:%+v", err)
+		return nil, err
+	}
+
 	res := &http_model.CreateLogisticsData{
 		LogisticsID: *logisticsID,
 	}
@@ -201,6 +208,11 @@ func (*logistics) SignForReceipt(ctx *gin.Context, data http_model.SignForReceip
 			logrus.WithContext(ctx).Errorf("[logistics service] call CreateTaskLog error,err:%+v", err)
 			return err
 		}
+		err = db.CreateMessageByTaskId(ctx, 9, 2, taskId)
+		if err != nil {
+			logrus.WithContext(ctx).Errorf("[logistics service] call CreateMessageByTaskId error,err:%+v", err)
+			return err
+		}
 	}
 
 	return nil

+ 16 - 0
service/project.go

@@ -520,6 +520,22 @@ func (*project) ChangeTaskStatus(ctx *gin.Context, data http_model.ProjectChange
 	return nil
 }
 
+func (*project) ChangeSpecialTaskStatus(ctx *gin.Context, data http_model.ProjectChangeTaskStatusRequest) interface{} {
+	err := db.ChangeSpecialTaskStatus(ctx, data.TaskIds, data.TaskStatus, data.TaskStage)
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[project service] call ChangeSpecialTaskStatus error,err:%+v", err)
+		return err
+	}
+	for _, taskId := range data.TaskIds {
+		err = db.CreateMessageByTaskId(ctx, 7, 2, taskId)
+		if err != nil {
+			logrus.WithContext(ctx).Errorf("[project service] call CreateMessageByTaskId error,err:%+v", err)
+			return err
+		}
+	}
+	return nil
+}
+
 func (p *project) GetTaskScriptList(ctx *gin.Context, projectID string, pageSize, pageNum int64, conditions *common_model.TalentConditions) (*http_model.TaskScriptListData, error) {
 	TaskScripts, total, err := db.GetTaskScriptList(ctx, projectID, pageSize, pageNum, conditions)
 	if err != nil {

+ 43 - 3
service/project_pay.go

@@ -2,9 +2,11 @@ package service
 
 import (
 	"context"
-	"github.com/sirupsen/logrus"
+	"fmt"
 	"youngee_m_api/db"
 	"youngee_m_api/model/http_model"
+
+	"github.com/sirupsen/logrus"
 )
 
 var ProjectPay *projectPay
@@ -35,15 +37,53 @@ func (*projectPay) Pay(ctx context.Context, projectPay http_model.ProjectPayRequ
 	}
 
 	// 支付更新任务状态
+	project, err2 := db.GetProjectDetail(ctx, projectPay.ProjectID)
+	if err2 != nil {
+		logrus.WithContext(ctx).Errorf("[project service] call GetPorjectDetail error,err:%+v", err)
+		return nil, err2
+	}
 	err = db.UpdateTaskSelectAtByProjectId(ctx, projectPay.ProjectID, 2)
 	if err != nil {
 		logrus.WithContext(ctx).Errorf("[projectPay service] call UpdateTaskStatusPaying error,err:%+v", err)
 		return nil, err
 	}
-	err = db.UpdateTaskStageByProjectId(ctx, projectPay.ProjectID, 2, 4)
+
+	if project.ProjectForm != 4 {
+		err = db.UpdateTaskStageByProjectId(ctx, projectPay.ProjectID, 2, 4)
+		if err != nil {
+			logrus.WithContext(ctx).Errorf("[projectPay service] call UpdateTaskStatusPaying error,err:%+v", err)
+			return nil, err
+		}
+	} else {
+		if project.ContentType == 1 {
+			err = db.UpdateTaskStageByProjectId(ctx, projectPay.ProjectID, 2, 9) //修改为待传初稿
+			if err != nil {
+				logrus.WithContext(ctx).Errorf("[projectPay service] call UpdateTaskStatusPaying error,err:%+v", err)
+				return nil, err
+			}
+		} else {
+			err = db.UpdateTaskStageByProjectId(ctx, projectPay.ProjectID, 2, 7) //修改为待传脚本
+			if err != nil {
+				logrus.WithContext(ctx).Errorf("[projectPay service] call UpdateTaskStatusPaying error,err:%+v", err)
+				return nil, err
+			}
+		}
+	}
+
+	// 插入消息-任务申请成功
+	taskIds, err := db.GetTaskIds(ctx, projectPay.ProjectID) // 获取任务id列表
 	if err != nil {
-		logrus.WithContext(ctx).Errorf("[projectPay service] call UpdateTaskStatusPaying error,err:%+v", err)
+		logrus.WithContext(ctx).Errorf("[projectPay service] call GetTaskIds error,err:%+v", err)
 		return nil, err
 	}
+	fmt.Printf("taskIds: %+v", taskIds)
+	for _, taskId := range taskIds {
+		err = db.CreateMessageByTaskId(ctx, 1, 1, taskId) // 插入消息
+		if err != nil {
+			logrus.WithContext(ctx).Errorf("[projectPay service] call CreateMessageByTaskId error,err:%+v", err)
+			return nil, err
+		}
+	}
+
 	return recordId, nil
 }

+ 11 - 0
service/script.go

@@ -34,6 +34,12 @@ func (*script) ScriptOpinion(ctx context.Context, request http_model.ScriptOpini
 		return nil, err
 	}
 
+	err = db.CreateMessageByTaskId(ctx, 16, 3, Script.TaskID)
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[Script service] call CreateMessageByTaskId error,err:%+v", err)
+		return nil, err
+	}
+
 	res := &http_model.ScriptOpinionData{
 		TaskID: Script.TaskID,
 	}
@@ -60,6 +66,11 @@ func (*script) AcceptScript(ctx context.Context, request http_model.AcceptScript
 			logrus.WithContext(ctx).Errorf("[Script service] call CreateTaskLog error,err:%+v", err)
 			return nil, err
 		}
+		err = db.CreateMessageByTaskId(ctx, 2, 1, taskId)
+		if err != nil {
+			logrus.WithContext(ctx).Errorf("[Script service] call CreateTaskLog error,err:%+v", err)
+			return nil, err
+		}
 	}
 
 	res := &http_model.AcceptScriptData{

+ 12 - 1
service/sketch.go

@@ -2,12 +2,13 @@ package service
 
 import (
 	"context"
-	"github.com/caixw/lib.go/conv"
 	"strings"
 	"youngee_m_api/db"
 	"youngee_m_api/model/gorm_model"
 	"youngee_m_api/model/http_model"
 
+	"github.com/caixw/lib.go/conv"
+
 	"github.com/sirupsen/logrus"
 )
 
@@ -34,6 +35,11 @@ func (*sketch) SketchOption(ctx context.Context, request http_model.SketchOpinio
 		logrus.WithContext(ctx).Errorf("[Sketch service] call CreateTaskLog error,err:%+v", err)
 		return nil, err
 	}
+	err = db.CreateMessageByTaskId(ctx, 17, 3, Sketch.TaskID)
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[Sketch service] call CreateMessageByTaskId error,err:%+v", err)
+		return nil, err
+	}
 	res := &http_model.SketchOpinionData{
 		TaskID: Sketch.TaskID,
 	}
@@ -60,6 +66,11 @@ func (*sketch) AcceptSketch(ctx context.Context, request http_model.AcceptSketch
 			logrus.WithContext(ctx).Errorf("[Sketch service] call CreateTaskLog error,err:%+v", err)
 			return nil, err
 		}
+		err = db.CreateMessageByTaskId(ctx, 3, 1, taskId)
+		if err != nil {
+			logrus.WithContext(ctx).Errorf("[Script service] call CreateTaskLog error,err:%+v", err)
+			return nil, err
+		}
 	}
 
 	res := &http_model.AcceptSketchData{