Browse Source

支付更新任务状态

shenzekai 2 years ago
parent
commit
a42f125cef
4 changed files with 63 additions and 7 deletions
  1. 10 0
      db/task.go
  2. 1 1
      handler/project_update.go
  3. 24 6
      service/logistics.go
  4. 28 0
      service/project_pay.go

+ 10 - 0
db/task.go

@@ -73,3 +73,13 @@ func ChangeTaskStatus(ctx context.Context, taskIds []string, taskStatus string)
 	}
 	}
 	return recruitStrategysIDs, nil
 	return recruitStrategysIDs, nil
 }
 }
+
+func UpdateTaskStage(ctx context.Context, projectID int64, 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
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[UpdateTaskStatusPaying]2 error query mysql total, err:%+v", err)
+		return err
+	}
+	return nil
+}

+ 1 - 1
handler/project_update.go

@@ -52,7 +52,7 @@ func (h *UpdateProjectHandler) run() {
 		log.Info("UpdateProject fail,req:%+v", h.req)
 		log.Info("UpdateProject fail,req:%+v", h.req)
 		return
 		return
 	}
 	}
-	h.resp.Message = "成功创建项目"
+	h.resp.Message = "更新项目成功"
 	h.resp.Data = res
 	h.resp.Data = res
 }
 }
 func (h *UpdateProjectHandler) checkParam() error {
 func (h *UpdateProjectHandler) checkParam() error {

+ 24 - 6
service/logistics.go

@@ -122,6 +122,30 @@ func (*logistics) Update(ctx context.Context, newLogistics http_model.CreateLogi
 
 
 // 签收
 // 签收
 func (*logistics) SignForReceipt(ctx *gin.Context, data http_model.SignForReceiptRequest) interface{} {
 func (*logistics) SignForReceipt(ctx *gin.Context, data http_model.SignForReceiptRequest) interface{} {
+	projectId, err1 := db.GetProjectIdByTaskId(ctx, conv.MustInt64(data.TaskStrategyIds[0].TaskId))
+	if err1 != nil {
+		logrus.WithContext(ctx).Errorf("[project service] call GetProjectIdByTaskId error,err:%+v", err1)
+		return err1
+	}
+	// 签收时更新任务阶段
+	project, err3 := db.GetProjectDetail(ctx, conv.MustInt64(*projectId))
+	if err3 != nil {
+		logrus.WithContext(ctx).Errorf("[project service] call GetPorjectDetail error,err:%+v", err3)
+		return err3
+	}
+	if project.ContentType == 1 {
+		err := db.UpdateTaskStage(ctx, conv.MustInt64(*projectId), 2, 11)
+		if err != nil {
+			logrus.WithContext(ctx).Errorf("[projectPay service] call UpdateTaskStatusPaying error,err:%+v", err)
+			return err
+		}
+	} else {
+		err := db.UpdateTaskStage(ctx, conv.MustInt64(*projectId), 2, 8)
+		if err != nil {
+			logrus.WithContext(ctx).Errorf("[projectPay service] call UpdateTaskStatusPaying error,err:%+v", err)
+			return err
+		}
+	}
 	for _, value := range data.TaskStrategyIds {
 	for _, value := range data.TaskStrategyIds {
 		taskId := conv.MustInt64(value.TaskId)
 		taskId := conv.MustInt64(value.TaskId)
 		strategyId := conv.MustInt64(value.StrategyId)
 		strategyId := conv.MustInt64(value.StrategyId)
@@ -138,12 +162,6 @@ func (*logistics) SignForReceipt(ctx *gin.Context, data http_model.SignForReceip
 			return err
 			return err
 		}
 		}
 
 
-		projectId, err1 := db.GetProjectIdByTaskId(ctx, taskId)
-		if err1 != nil {
-			logrus.WithContext(ctx).Errorf("[project service] call GetProjectIdByTaskId error,err:%+v", err1)
-			return err1
-		}
-
 		// 查询StrategyID 通过 StrategyID 和 projectId
 		// 查询StrategyID 通过 StrategyID 和 projectId
 		StrategyID, err2 := db.GetRecruitStrategyIdByTS(ctx, *projectId, strategyId)
 		StrategyID, err2 := db.GetRecruitStrategyIdByTS(ctx, *projectId, strategyId)
 		if err2 != nil {
 		if err2 != nil {

+ 28 - 0
service/project_pay.go

@@ -36,5 +36,33 @@ func (*projectPay) Pay(ctx context.Context, projectPay http_model.ProjectPayRequ
 		return nil, err1
 		return nil, err1
 	}
 	}
 
 
+	// 支付更新任务状态
+	project, err2 := db.GetProjectDetail(ctx, conv.MustInt64(projectPay.ProjectID))
+	if err2 != nil {
+		logrus.WithContext(ctx).Errorf("[project service] call GetPorjectDetail error,err:%+v", err)
+		return nil, err2
+	}
+	if project.ProjectForm != 4 {
+		err = db.UpdateTaskStage(ctx, conv.MustInt64(projectPay.ProjectID), 2, 5)
+		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.UpdateTaskStage(ctx, conv.MustInt64(projectPay.ProjectID), 2, 11)
+			if err != nil {
+				logrus.WithContext(ctx).Errorf("[projectPay service] call UpdateTaskStatusPaying error,err:%+v", err)
+				return nil, err
+			}
+		} else {
+			err = db.UpdateTaskStage(ctx, conv.MustInt64(projectPay.ProjectID), 2, 8)
+			if err != nil {
+				logrus.WithContext(ctx).Errorf("[projectPay service] call UpdateTaskStatusPaying error,err:%+v", err)
+				return nil, err
+			}
+		}
+	}
+
 	return recordId, nil
 	return recordId, nil
 }
 }