|
@@ -373,7 +373,7 @@ func (*project) GetFullProjectList(ctx context.Context, pageSize, pageNum int32,
|
|
}
|
|
}
|
|
fullProjectListData := new(http_model.FullProjectListData)
|
|
fullProjectListData := new(http_model.FullProjectListData)
|
|
fullProjectListData.FullProjectPreview = pack.MGormFullProjectToHttpFullProjectPreview(fullProjects)
|
|
fullProjectListData.FullProjectPreview = pack.MGormFullProjectToHttpFullProjectPreview(fullProjects)
|
|
- fullProjectListData.Total = conv.MustString(total)
|
|
|
|
|
|
+ fullProjectListData.Total = total
|
|
|
|
|
|
// 2. 查询种草任务补充信息:商品信息,招募策略
|
|
// 2. 查询种草任务补充信息:商品信息,招募策略
|
|
for _, project := range fullProjectListData.FullProjectPreview {
|
|
for _, project := range fullProjectListData.FullProjectPreview {
|
|
@@ -749,3 +749,131 @@ func (p *project) GetProjectStrategys(ctx *gin.Context, projectId string) ([]gor
|
|
}
|
|
}
|
|
return recruitStrategys, nil
|
|
return recruitStrategys, nil
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+// GetProjectDetail 查找种草任务详情
|
|
|
|
+func (*project) GetProjectDetail(ctx context.Context, ProjectId string) (*http_model.ShowNewProjectData, error) {
|
|
|
|
+ var sProjectData *http_model.ShowNewProjectData
|
|
|
|
+ sProjectData = &http_model.ShowNewProjectData{}
|
|
|
|
+
|
|
|
|
+ // 1. 取出种草表中的信息
|
|
|
|
+ projectInfo, projectErr := db.GetProjectDetail(ctx, ProjectId)
|
|
|
|
+ if projectErr != nil {
|
|
|
|
+ return nil, projectErr
|
|
|
|
+ }
|
|
|
|
+ if projectInfo != nil {
|
|
|
|
+ sProjectData.ProjectName = projectInfo.ProjectName
|
|
|
|
+ sProjectData.ProjectID = projectInfo.ProjectID
|
|
|
|
+ sProjectData.ProjectType = projectInfo.ProjectType
|
|
|
|
+ sProjectData.ProjectPlatform = projectInfo.ProjectPlatform
|
|
|
|
+ sProjectData.ProjectForm = projectInfo.ProjectForm
|
|
|
|
+ sProjectData.ContentType = projectInfo.ContentType
|
|
|
|
+ sProjectData.EnterpriseID = projectInfo.EnterpriseID
|
|
|
|
+ sProjectData.TalentType = projectInfo.TalentType
|
|
|
|
+ sProjectData.RecruitDdl = conv.MustString(projectInfo.RecruitDdl)[0:19]
|
|
|
|
+ sProjectData.ProjectDetail = projectInfo.ProjectDetail
|
|
|
|
+ sProjectData.EstimatedCost = projectInfo.EstimatedCost
|
|
|
|
+ sProjectData.PassAt = conv.MustString(projectInfo.PassAt)[0:19]
|
|
|
|
+ sProjectData.Tools = projectInfo.Tools
|
|
|
|
+
|
|
|
|
+ // 3. 取出招募策略并聚合达人数量信息
|
|
|
|
+ recruitStrategy, recruitErr := db.GetRecruitStrategyByProjectId(ctx, ProjectId)
|
|
|
|
+ if recruitErr != nil {
|
|
|
|
+ return nil, recruitErr
|
|
|
|
+ }
|
|
|
|
+ if recruitStrategy != nil {
|
|
|
|
+ for _, strategy := range recruitStrategy {
|
|
|
|
+ showStrategy := http_model.ShowNewRecruitStrategy{
|
|
|
|
+ StrategyID: strategy.StrategyID,
|
|
|
|
+ FeeForm: strategy.FeeForm,
|
|
|
|
+ RecruitStrategyID: strategy.RecruitStrategyID,
|
|
|
|
+ FollowersLow: strategy.FollowersLow,
|
|
|
|
+ FollowersUp: strategy.FollowersUp,
|
|
|
|
+ RecruitNumber: strategy.RecruitNumber,
|
|
|
|
+ ServiceCharge: projectInfo.ServiceChargeRate,
|
|
|
|
+ Offer: strategy.Offer,
|
|
|
|
+ }
|
|
|
|
+ sProjectData.SRecruitStrategys = append(sProjectData.SRecruitStrategys, showStrategy)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 4. 取出种草任务创建者用户信息
|
|
|
|
+ if projectInfo.OperatorType == 1 {
|
|
|
|
+ // fmt.Println("商家用户")
|
|
|
|
+ enterpriseInfo, enterpriseErr := db.GetEnterpriseByEnterpriseID(ctx, projectInfo.EnterpriseID)
|
|
|
|
+ if enterpriseErr != nil {
|
|
|
|
+ return nil, enterpriseErr
|
|
|
|
+ }
|
|
|
|
+ sProjectData.CreatorName = enterpriseInfo.BusinessName
|
|
|
|
+ sProjectData.CreatorCompany = enterpriseInfo.BusinessName
|
|
|
|
+ sProjectData.CreatorType = 1
|
|
|
|
+ sProjectData.Phone = enterpriseInfo.BusinessName
|
|
|
|
+ } else if projectInfo.OperatorType == 2 {
|
|
|
|
+ // fmt.Println("商家子账号")
|
|
|
|
+ enterpriseInfo, enterpriseErr := db.GetEnterpriseByEnterpriseID(ctx, projectInfo.EnterpriseID)
|
|
|
|
+ if enterpriseErr != nil {
|
|
|
|
+ return nil, enterpriseErr
|
|
|
|
+ }
|
|
|
|
+ sProjectData.CreatorCompany = enterpriseInfo.BusinessName
|
|
|
|
+ subAccountInfo, SubAccountErr := db.FindSubAccountById(ctx, projectInfo.SubAccountId)
|
|
|
|
+ if SubAccountErr != nil {
|
|
|
|
+ return nil, SubAccountErr
|
|
|
|
+ }
|
|
|
|
+ sProjectData.Phone = subAccountInfo.PhoneNumber
|
|
|
|
+ jobInfo, jobErr := db.FindJobByJobId(ctx, subAccountInfo.JobId)
|
|
|
|
+ if jobErr != nil {
|
|
|
|
+ return nil, jobErr
|
|
|
|
+ }
|
|
|
|
+ sProjectData.CreatorType = 2
|
|
|
|
+ sProjectData.CreatorName = jobInfo.JobName
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 5. 商品信息
|
|
|
|
+ // 5.1. 取出商品信息并聚合
|
|
|
|
+ productInfo, productErr := db.GetProductByID(ctx, projectInfo.ProductID)
|
|
|
|
+ if productErr != nil {
|
|
|
|
+ return nil, productErr
|
|
|
|
+ }
|
|
|
|
+ if productInfo != nil {
|
|
|
|
+ sProjectData.ProductID = productInfo.ProductID
|
|
|
|
+ sProjectData.ProductName = productInfo.ProductName
|
|
|
|
+ sProjectData.ProductType = productInfo.ProductType
|
|
|
|
+ sProjectData.ProductPrice = productInfo.ProductPrice
|
|
|
|
+ sProjectData.ProductCategory = productInfo.ProductCategory
|
|
|
|
+ }
|
|
|
|
+ // 5.2. 聚合商品图片信息
|
|
|
|
+ productPhotoInfo, productPhotoErr := db.GetProductPhotoByProductID(ctx, projectInfo.ProductID)
|
|
|
|
+ if productPhotoErr != nil {
|
|
|
|
+ return nil, productPhotoErr
|
|
|
|
+ }
|
|
|
|
+ if productPhotoInfo != nil {
|
|
|
|
+ for _, p := range productPhotoInfo {
|
|
|
|
+ if p.Symbol == 1 {
|
|
|
|
+ sProjectData.ProductMainPhotoUrl = p.PhotoUrl
|
|
|
|
+ sProjectData.ProductMainPhotoUid = p.PhotoUid
|
|
|
|
+ sProjectData.Symbol = 1
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 6. 执行要求Brief和素材
|
|
|
|
+ // 6.1. Brief
|
|
|
|
+ projectBrief, briefErr := db.FindProjectBriefByProjectId(ctx, sProjectData.ProjectID)
|
|
|
|
+ if briefErr != nil {
|
|
|
|
+ return nil, briefErr
|
|
|
|
+ }
|
|
|
|
+ if projectBrief != nil {
|
|
|
|
+ sProjectData.ProjectBriefInfo = projectBrief
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 6.2. 素材
|
|
|
|
+ projectMaterial, materialErr := db.FindProjectMaterialByProjectId(ctx, sProjectData.ProjectID)
|
|
|
|
+ if materialErr != nil {
|
|
|
|
+ return nil, materialErr
|
|
|
|
+ }
|
|
|
|
+ if projectMaterial != nil {
|
|
|
|
+ sProjectData.ProjectMaterial = projectMaterial
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return sProjectData, nil
|
|
|
|
+}
|