|
@@ -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)
|
|
|
}
|
|
|
}
|
|
|
|