소스 검색

添加违约数量及结案数

yuliang1112 2 년 전
부모
커밋
28d0d62e99
7개의 변경된 파일33개의 추가작업 그리고 18개의 파일을 삭제
  1. 8 8
      db/default.go
  2. 2 2
      db/number_info.go
  3. 1 1
      db/operate.go
  4. 1 1
      db/terminate.go
  5. 1 0
      model/http_model/get_finish_data.go
  6. 4 3
      pack/get_finish_data.go
  7. 16 3
      service/finish.go

+ 8 - 8
db/default.go

@@ -178,7 +178,7 @@ func ContractBreach(ctx context.Context, req *http_model.ContractBreachRequest)
 	t := time.Now()
 	err := db.Debug().Where("contract_id IN ?", req.ContractIds).Updates(&gorm_model.YoungeeContractInfo{DefaultStatus: int(req.DefaultStatus), HandleAt: &t}).Error
 	if err != nil {
-		logrus.WithContext(ctx).Errorf("[BreachPending] error query mysql total, err:%+v", err)
+		logrus.WithContext(ctx).Errorf("[ContractBreach] error query mysql total, err:%+v", err)
 		return err
 	}
 	var taskIds []string
@@ -200,7 +200,7 @@ func ContractBreach(ctx context.Context, req *http_model.ContractBreachRequest)
 					"frozen_balance":    gorm.Expr("frozen_balance - ?", taskInfo.RealPayment),
 					"available_balance": gorm.Expr("available_balance + ?", taskInfo.RealPayment)}).Error
 			if err != nil {
-				logrus.WithContext(ctx).Errorf("[BreachPending] error update Enterprise, err:%+v", err)
+				logrus.WithContext(ctx).Errorf("[ContractBreach] error update Enterprise, err:%+v", err)
 				return err
 			}
 
@@ -235,7 +235,7 @@ func ContractBreach(ctx context.Context, req *http_model.ContractBreachRequest)
 				taskInfo.DataBreakRate = 0
 			}
 			if err != nil {
-				logrus.WithContext(ctx).Errorf("[BreachPending] error update YoungeeTaskInfo, err:%+v", err)
+				logrus.WithContext(ctx).Errorf("[ContractBreach] error update YoungeeTaskInfo, err:%+v", err)
 				return err
 			}
 			settleAmount := taskInfo.TaskReward * (1.0 - float64(taskInfo.LinkBreakRate+taskInfo.DataBreakRate+taskInfo.SketchBreakRate+taskInfo.ScriptBreakRate+taskInfo.ErrBreakRate)/100)
@@ -244,15 +244,15 @@ func ContractBreach(ctx context.Context, req *http_model.ContractBreachRequest)
 			}
 			db5 := GetReadDB(ctx)
 			err = db5.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskId).Updates(
-				map[string]interface{}{"settle_amount": 0}).Error
+				map[string]interface{}{"settle_amount": settleAmount}).Error
 			if err != nil {
-				logrus.WithContext(ctx).Errorf("[BreachPending] error update YoungeeTaskInfo, err:%+v", err)
+				logrus.WithContext(ctx).Errorf("[ContractBreach] error update YoungeeTaskInfo, err:%+v", err)
 				return err
 			}
 
 			err = SetProjectFinish(context.Background(), taskInfo.ProjectId)
 			if err != nil {
-				logrus.WithContext(ctx).Errorf("[BreachPending] call SetProjectFinish error, err:%+v", err)
+				logrus.WithContext(ctx).Errorf("[ContractBreach] call SetProjectFinish error, err:%+v", err)
 				return err
 			}
 		} else {
@@ -267,7 +267,7 @@ func ContractBreach(ctx context.Context, req *http_model.ContractBreachRequest)
 				err = db4.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id = ?", taskId).Updates(gorm_model.YoungeeTaskInfo{CurDefaultType: 7}).Error
 			}
 			if err != nil {
-				logrus.WithContext(ctx).Errorf("[BreachPending] error update YoungeeTaskInfo, err:%+v", err)
+				logrus.WithContext(ctx).Errorf("[ContractBreach] error update YoungeeTaskInfo, err:%+v", err)
 				return err
 			}
 		}
@@ -275,7 +275,7 @@ func ContractBreach(ctx context.Context, req *http_model.ContractBreachRequest)
 	if req.DefaultStatus == 5 {
 		err = SetTalentIncome(context.Background(), taskIds)
 		if err != nil {
-			logrus.WithContext(ctx).Errorf("[BreachPending] call SetTalentIncome error, err:%+v", err)
+			logrus.WithContext(ctx).Errorf("[ContractBreach] call SetTalentIncome error, err:%+v", err)
 			return err
 		}
 	}

+ 2 - 2
db/number_info.go

@@ -131,12 +131,12 @@ func GetDataNumberInfo(ctx context.Context, projectId string, strategyIds []int6
 			return nil, err
 		}
 		db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
-		err = db.Where("task_stage > 14").Count(&DataNumberInfoData.DataPassedNumber).Error
+		err = db.Where("task_stage = 15").Count(&DataNumberInfoData.DataPassedNumber).Error
 		if err != nil {
 			logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)
 			return nil, err
 		}
-		db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2", projectId, strategyId)
+		db = GetReadDB(ctx).Model(gorm_model.YoungeeTaskInfo{}).Where("project_id = ? and strategy_id = ? and task_status = 2 and task_stage < 15", projectId, strategyId)
 		err = db.Count(&DataNumberInfoData.DataNumber).Error
 		if err != nil {
 			logrus.WithContext(ctx).Errorf("[GetProjectTaskList] error query mysql total, err:%+v", err)

+ 1 - 1
db/operate.go

@@ -754,7 +754,7 @@ func GetAutoCaseCloseTask() error {
 	}
 
 	// 4. 判断是否全部任务已结案,若已全部结案则触发项目结案
-	// 查询 task_stage<15 的任务数量
+	// 查询 task_stage < 15 的任务数量
 	for _, projectInfo := range projectInfos {
 		var unFinishedTaskNumber int64
 		db8 := GetReadDB(context.Background())

+ 1 - 1
db/terminate.go

@@ -23,7 +23,7 @@ func Terminate(ctx context.Context, TaskIDs []string, projectIds []string) error
 	}
 	dbc := GetReadDB(ctx)
 	errCurDef := dbc.Model(gorm_model.YoungeeTaskInfo{}).Where("task_id in ?", TaskIDs).
-		Updates(map[string]interface{}{"cur_default_type": 9}).Error
+		Updates(map[string]interface{}{"cur_default_type": 9, "complete_status": 4}).Error
 	if errCurDef != nil {
 		logrus.WithContext(ctx).Errorf("[Data db] Update YoungeeTaskInfo error,err:%+v", errCurDef)
 		return errCurDef

+ 1 - 0
model/http_model/get_finish_data.go

@@ -26,6 +26,7 @@ type GetFinishDataInfo struct {
 	CommentNumber   string  `json:"comment_number"`   // 总评论数
 	TerminateNumber string  `json:"terminate_number"` // 结案数量
 	FinishNumber    string  `json:"finish_number"`    // 结案数量
+	DefaultNumber   string  `json:"default_number"`   // 违约数量
 	TotalOffer      float64 `json:"total_offer"`      // 支付合计
 }
 

+ 4 - 3
pack/get_finish_data.go

@@ -6,16 +6,16 @@ import (
 	"youngee_m_api/model/http_model"
 )
 
-func MGormRecruitStrategyListToHttpGetFinishDataInfoList(gormRecruitStrategys []*gorm_model.RecruitStrategy) []*http_model.GetFinishDataInfo {
+func MGormRecruitStrategyListToHttpGetFinishDataInfoList(gormRecruitStrategys []*gorm_model.RecruitStrategy, defaultMap map[int64]int64) []*http_model.GetFinishDataInfo {
 	var httpGetFinishDataInfos []*http_model.GetFinishDataInfo
 	for _, gormRecruitStrategy := range gormRecruitStrategys {
-		httpGetFinishDataInfo := MGormRecruitStrategyToHttpGetFinishDataInfo(gormRecruitStrategy)
+		httpGetFinishDataInfo := MGormRecruitStrategyToHttpGetFinishDataInfo(gormRecruitStrategy, defaultMap)
 		httpGetFinishDataInfos = append(httpGetFinishDataInfos, httpGetFinishDataInfo)
 	}
 	return httpGetFinishDataInfos
 }
 
-func MGormRecruitStrategyToHttpGetFinishDataInfo(RecruitStrategy *gorm_model.RecruitStrategy) *http_model.GetFinishDataInfo {
+func MGormRecruitStrategyToHttpGetFinishDataInfo(RecruitStrategy *gorm_model.RecruitStrategy, defaultMap map[int64]int64) *http_model.GetFinishDataInfo {
 	return &http_model.GetFinishDataInfo{
 		FeeForm:         conv.MustString(RecruitStrategy.FeeForm, ""),
 		StrategyID:      conv.MustString(RecruitStrategy.StrategyID, ""),
@@ -37,6 +37,7 @@ func MGormRecruitStrategyToHttpGetFinishDataInfo(RecruitStrategy *gorm_model.Rec
 		CollectNumber:   conv.MustString(RecruitStrategy.CollectNumber, ""),
 		CommentNumber:   conv.MustString(RecruitStrategy.CommentNumber, ""),
 		FinishNumber:    conv.MustString(RecruitStrategy.FinishNumber, ""),
+		DefaultNumber:   conv.MustString(defaultMap[RecruitStrategy.StrategyID], ""),
 		TotalOffer:      RecruitStrategy.TotalOffer,
 	}
 }

+ 16 - 3
service/finish.go

@@ -2,11 +2,11 @@ package service
 
 import (
 	"context"
+	"github.com/sirupsen/logrus"
 	"youngee_m_api/db"
+	"youngee_m_api/model/gorm_model"
 	"youngee_m_api/model/http_model"
 	"youngee_m_api/pack"
-
-	"github.com/sirupsen/logrus"
 )
 
 var Finish *finish
@@ -21,8 +21,21 @@ func (*finish) GetFinishData(ctx context.Context, request http_model.GetFinishDa
 		logrus.WithContext(ctx).Errorf("[Finish service] call CreateFinish error,err:%+v", err)
 		return nil, err
 	}
+	defaultMap := map[int64]int64{}
+	for _, recruitStrategy := range finishRecruitStrategyList {
+		var TerminateNumber int64
+		tx := db.GetReadDB(ctx).Debug().Model(gorm_model.YoungeeTaskInfo{}).
+			Where("project_id = ? and strategy_id = ? and task_status = 2", recruitStrategy.ProjectID, int(recruitStrategy.StrategyID))
+		err = tx.Where("complete_status = 4").Count(&TerminateNumber).Error
+		if err != nil {
+			logrus.WithContext(ctx).Errorf("[Finish service] error query mysql total, err:%+v", err)
+			return nil, err
+		}
+		defaultMap[recruitStrategy.StrategyID] = TerminateNumber
+	}
 
 	res := new(http_model.GetFinishData)
-	res.FinishRecruitStrategy = pack.MGormRecruitStrategyListToHttpGetFinishDataInfoList(finishRecruitStrategyList)
+	res.FinishRecruitStrategy = pack.MGormRecruitStrategyListToHttpGetFinishDataInfoList(finishRecruitStrategyList, defaultMap)
+
 	return res, nil
 }