فهرست منبع

bug_0617_fixed

Xingyu Xian 2 هفته پیش
والد
کامیت
4d0bce19b8

+ 1 - 0
model/http_model/show_project.go

@@ -49,6 +49,7 @@ type ShowNewRecruitStrategy struct {
 	RecruitNumber     int64   `json:"recruit_number"`      // 招募数量
 	Offer             float64 `json:"offer"`               // 报价
 	ServiceCharge     float64 `json:"service_charge"`      // 服务费
+	ServiceChargeRate int     `json:"service_charge_rate"` // 服务费率
 }
 
 type ShowNewProjectRequest struct {

+ 1 - 0
model/http_model/show_s_local_life.go

@@ -27,6 +27,7 @@ type ShowSLocalData struct {
 	CreatorName       string  `json:"creator_name"`         // 创建者名称
 	Tools             string  `json:"tools"`                // 工具选择
 	AddToListOperator string  `json:"add_to_list_operator"` // 加入商单操作人
+	StrategyStatus    int     `json:"strategy_status"`      // 定向任务是否替换招募策略,1有
 	AgreeTime         string  `json:"agree_time"`           // 同意加入商单时间
 	RejectTime        string  `json:"reject_time"`          // 拒绝加入商单时间
 

+ 1 - 0
model/http_model/show_s_project.go

@@ -59,6 +59,7 @@ type ShowSRecruitStrategy struct {
 	RecruitNumber     int64   `json:"recruit_number"`      // 招募数量
 	Offer             float64 `json:"offer"`               // 报价
 	ServiceCharge     float64 `json:"service_charge"`      // 服务费
+	ServiceChargeRate int     `json:"service_charge_rate"` // 服务费率
 	SelectedNumber    int64   `json:"selected_number"`     // 数量
 	WaitingNumber     int64   `json:"waiting_number"`      // 待发货
 	DeliveredNumber   int64   `json:"delivered_number"`    // 已发货

+ 8 - 6
service/local_life.go

@@ -410,12 +410,14 @@ func (*localLife) ShowLocalLife(ctx context.Context, req *http_model.ShowLocalRe
 		if recruitStrategy != nil {
 			for _, strategy := range recruitStrategy {
 				showStrategy := http_model.ShowSRecruitStrategy{
-					StrategyID:    strategy.StrategyID,
-					FeeForm:       strategy.FeeForm,
-					FollowersLow:  strategy.FollowersLow,
-					FollowersUp:   strategy.FollowersUp,
-					RecruitNumber: strategy.RecruitNumber,
-					Offer:         strategy.Offer,
+					StrategyID:        strategy.StrategyID,
+					FeeForm:           strategy.FeeForm,
+					FollowersLow:      strategy.FollowersLow,
+					FollowersUp:       strategy.FollowersUp,
+					RecruitNumber:     strategy.RecruitNumber,
+					Offer:             strategy.Offer,
+					ServiceCharge:     strategy.ServiceCharge,
+					ServiceChargeRate: strategy.ServiceRate,
 				}
 				localInfo.RecruitStrategys = append(localInfo.RecruitStrategys, showStrategy)
 			}

+ 2 - 1
service/project.go

@@ -966,7 +966,8 @@ func (*project) GetProjectDetail(ctx context.Context, ProjectId string) (*http_m
 					FollowersLow:      strategy.FollowersLow,
 					FollowersUp:       strategy.FollowersUp,
 					RecruitNumber:     strategy.RecruitNumber,
-					ServiceCharge:     projectInfo.ServiceChargeRate,
+					ServiceCharge:     strategy.ServiceCharge,
+					ServiceChargeRate: strategy.ServiceRate,
 					Offer:             strategy.Offer,
 				}
 				sProjectData.SRecruitStrategys = append(sProjectData.SRecruitStrategys, showStrategy)

+ 44 - 16
service/s_local_life.go

@@ -46,6 +46,7 @@ func (*sLocalLife) CreateSLocalLife(ctx context.Context, request *http_model.Loc
 		sLocalLifeInfo.TaskForm = localLifeInfo.TaskForm
 		sLocalLifeInfo.ContentType = localLifeInfo.ContentType
 		sLocalLifeInfo.SLocalStatus = 2
+		sLocalLifeInfo.StrategyStatus = 1
 
 		// 1.2. 填入加入商单操作人信息
 		var operatorType int
@@ -143,7 +144,7 @@ func (*sLocalLife) ShowSLocalLife(ctx context.Context, req *http_model.ShowSLoca
 			if sLocal.RejectTime != nil {
 				sLocalInfo.RejectTime = conv.MustString(sLocal.RejectTime)[0:19]
 			}
-
+			sLocalInfo.StrategyStatus = sLocal.StrategyStatus
 		}
 
 		// 2. 关联主体
@@ -229,22 +230,49 @@ func (*sLocalLife) ShowSLocalLife(ctx context.Context, req *http_model.ShowSLoca
 			sLocalInfo.TalentType = strings.Join(categories, ",")
 		}
 		sLocalInfo.RecruitDdl = conv.MustString(localInfo.RecruitDdl)
-		recruitStrategy, recruitErr := db.GetRecruitStrategyBySLocalId(ctx, req.SLocalId)
-		if recruitErr != nil {
-			return nil, recruitErr
-		}
-		if recruitStrategy != nil {
-			for _, strategy := range recruitStrategy {
-				sLocalInfo.EstimatedCost += strategy.Offer * float64(strategy.RecruitNumber)
-				showStrategy := http_model.ShowSRecruitStrategy{
-					StrategyID:    strategy.StrategyID,
-					FeeForm:       strategy.FeeForm,
-					FollowersLow:  strategy.FollowersLow,
-					FollowersUp:   strategy.FollowersUp,
-					RecruitNumber: strategy.RecruitNumber,
-					Offer:         strategy.Offer,
+		if localInfo.LocalType == 1 {
+			recruitStrategy, recruitErr := db.GetRecruitStrategyBySLocalId(ctx, req.SLocalId)
+			if recruitErr != nil {
+				return nil, recruitErr
+			}
+			if recruitStrategy != nil {
+				for _, strategy := range recruitStrategy {
+					sLocalInfo.EstimatedCost += strategy.Offer * float64(strategy.RecruitNumber)
+					showStrategy := http_model.ShowSRecruitStrategy{
+						StrategyID:        strategy.StrategyID,
+						FeeForm:           strategy.FeeForm,
+						FollowersLow:      strategy.FollowersLow,
+						FollowersUp:       strategy.FollowersUp,
+						Offer:             strategy.Offer,
+						ServiceCharge:     strategy.ServiceCharge,
+						ServiceChargeRate: strategy.ServiceRate,
+						SelectedNumber:    strategy.SelectedNumber,
+						RecruitNumber:     strategy.RecruitNumber,
+					}
+					sLocalInfo.RecruitStrategys = append(sLocalInfo.RecruitStrategys, showStrategy)
+				}
+			}
+		} else {
+			recruitStrategy, recruitErr := db.GetRecruitStrategyByProjectId(ctx, req.LocalId)
+			if recruitErr != nil {
+				return nil, recruitErr
+			}
+			if recruitStrategy != nil {
+				for _, strategy := range recruitStrategy {
+					sLocalInfo.EstimatedCost += strategy.Offer * float64(strategy.RecruitNumber)
+					showStrategy := http_model.ShowSRecruitStrategy{
+						StrategyID:        strategy.StrategyID,
+						FeeForm:           strategy.FeeForm,
+						FollowersLow:      strategy.FollowersLow,
+						FollowersUp:       strategy.FollowersUp,
+						Offer:             strategy.Offer,
+						ServiceCharge:     strategy.ServiceCharge,
+						ServiceChargeRate: strategy.ServiceRate,
+						SelectedNumber:    strategy.SelectedNumber,
+						RecruitNumber:     strategy.RecruitNumber,
+					}
+					sLocalInfo.RecruitStrategys = append(sLocalInfo.RecruitStrategys, showStrategy)
 				}
-				sLocalInfo.RecruitStrategys = append(sLocalInfo.RecruitStrategys, showStrategy)
 			}
 		}
 

+ 51 - 21
service/s_project.go

@@ -239,29 +239,59 @@ func (*sProject) GetSProjectDetail(ctx context.Context, sProjectId int) (*http_m
 			}
 
 			// 3. 取出招募策略并聚合达人数量信息
-			recruitStrategy, recruitErr := db.GetRecruitStrategyBySProjectId(ctx, sProjectData.SProjectId)
-			if recruitErr != nil {
-				return nil, recruitErr
-			}
-			if recruitStrategy != nil {
-				for _, strategy := range recruitStrategy {
-					// fmt.Println("recruitStrategy: ", strategy)
-					selectedNumber, countTaskErr := db.CountTaskNumByStrategyIdAndSProjectId(ctx, sProjectData.SProjectId, strategy.StrategyID)
-					if countTaskErr != nil {
-						return nil, countTaskErr
+			if sProjectInfo.ProjectType == 1 {
+				recruitStrategy, recruitErr := db.GetRecruitStrategyBySProjectId(ctx, sProjectData.SProjectId)
+				if recruitErr != nil {
+					return nil, recruitErr
+				}
+				if recruitStrategy != nil {
+					for _, strategy := range recruitStrategy {
+						// fmt.Println("recruitStrategy: ", strategy)
+						selectedNumber, countTaskErr := db.CountTaskNumByStrategyIdAndSProjectId(ctx, sProjectData.SProjectId, strategy.StrategyID)
+						if countTaskErr != nil {
+							return nil, countTaskErr
+						}
+						sProjectData.EstimatedCost += strategy.Offer * float64(strategy.RecruitNumber)
+						showStrategy := http_model.ShowSRecruitStrategy{
+							StrategyID:        strategy.StrategyID,
+							FeeForm:           strategy.FeeForm,
+							FollowersLow:      strategy.FollowersLow,
+							FollowersUp:       strategy.FollowersUp,
+							RecruitNumber:     strategy.RecruitNumber,
+							ServiceCharge:     strategy.ServiceCharge,
+							ServiceChargeRate: strategy.ServiceRate,
+							SelectedNumber:    selectedNumber,
+							Offer:             strategy.Offer,
+						}
+						sProjectData.SRecruitStrategys = append(sProjectData.SRecruitStrategys, showStrategy)
 					}
-					sProjectData.EstimatedCost += strategy.Offer * float64(strategy.RecruitNumber)
-					showStrategy := http_model.ShowSRecruitStrategy{
-						StrategyID:     strategy.StrategyID,
-						FeeForm:        strategy.FeeForm,
-						FollowersLow:   strategy.FollowersLow,
-						FollowersUp:    strategy.FollowersUp,
-						RecruitNumber:  strategy.RecruitNumber,
-						ServiceCharge:  projectInfo.ServiceChargeRate,
-						SelectedNumber: selectedNumber,
-						Offer:          strategy.Offer,
+				}
+			} else {
+				recruitStrategy, recruitErr := db.GetRecruitStrategyByProjectId(ctx, sProjectData.ProjectID)
+				if recruitErr != nil {
+					return nil, recruitErr
+				}
+				if recruitStrategy != nil {
+					for _, strategy := range recruitStrategy {
+						// fmt.Println("recruitStrategy: ", strategy)
+						selectedNumber, countTaskErr := db.CountTaskNumByStrategyId(ctx, sProjectData.ProjectID, strategy.StrategyID)
+						if countTaskErr != nil {
+							return nil, countTaskErr
+						}
+						sProjectData.EstimatedCost += strategy.Offer * float64(strategy.RecruitNumber)
+						showStrategy := http_model.ShowSRecruitStrategy{
+							StrategyID:        strategy.StrategyID,
+							FeeForm:           strategy.FeeForm,
+							FollowersLow:      strategy.FollowersLow,
+							FollowersUp:       strategy.FollowersUp,
+							RecruitNumber:     strategy.RecruitNumber,
+							ServiceCharge:     strategy.ServiceCharge,
+							ServiceChargeRate: strategy.ServiceRate,
+							SelectedNumber:    selectedNumber,
+							Offer:             strategy.Offer,
+						}
+						sProjectData.SRecruitStrategys = append(sProjectData.SRecruitStrategys, showStrategy)
 					}
-					sProjectData.SRecruitStrategys = append(sProjectData.SRecruitStrategys, showStrategy)
 				}
 			}