Browse Source

projectBrief

Xingyu Xian 3 months ago
parent
commit
47fc255e17

+ 20 - 0
db/project_brief.go

@@ -0,0 +1,20 @@
+package db
+
+import (
+	"context"
+	"github.com/sirupsen/logrus"
+	"youngee_b_api/model/gorm_model"
+)
+
+// FindProjectBriefByProjectId 根据projectId查找Brief
+func FindProjectBriefByProjectId(ctx context.Context, projectId string) ([]*gorm_model.ProjectBrief, error) {
+	db := GetReadDB(ctx)
+	var sProjectInfo []*gorm_model.ProjectBrief
+	// 1. 根据服务商种草任务id过滤
+	err := db.Model(gorm_model.ProjectBrief{}).Where("project_id = ?", projectId).Find(&sProjectInfo).Error
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[GetSProjectDetail] error query mysql, err:%+v", err)
+		return nil, err
+	}
+	return sProjectInfo, nil
+}

+ 20 - 0
db/project_material.go

@@ -0,0 +1,20 @@
+package db
+
+import (
+	"context"
+	"github.com/sirupsen/logrus"
+	"youngee_b_api/model/gorm_model"
+)
+
+// FindProjectMaterialByProjectId 根据projectId查找素材
+func FindProjectMaterialByProjectId(ctx context.Context, projectId string) ([]*gorm_model.ProjectMaterial, error) {
+	db := GetReadDB(ctx)
+	var sProjectInfo []*gorm_model.ProjectMaterial
+	// 1. 根据服务商种草任务id过滤
+	err := db.Model(gorm_model.ProjectMaterial{}).Where("project_id = ?", projectId).Find(&sProjectInfo).Error
+	if err != nil {
+		logrus.WithContext(ctx).Errorf("[GetSProjectDetail] error query mysql, err:%+v", err)
+		return nil, err
+	}
+	return sProjectInfo, nil
+}

+ 17 - 13
model/gorm_model/product.go

@@ -1,4 +1,3 @@
-// Code generated by sql2gorm. DO NOT EDIT.
 package gorm_model
 package gorm_model
 
 
 import (
 import (
@@ -6,20 +5,25 @@ import (
 )
 )
 
 
 type YounggeeProduct struct {
 type YounggeeProduct struct {
-	ProductID     int64       `gorm:"column:product_id;primary_key;AUTO_INCREMENT"` // 商品id
-	ProductName   string    `gorm:"column:product_name"`                          // 商品名称
-	ProductType   int64       `gorm:"column:product_type"`                          // 商品类型
-	ShopAddress   string    `gorm:"column:shop_address"`                          // 店铺地址,商品类型为线下品牌时需填写
-	ProductPrice  float64     `gorm:"column:product_price"`                         // 商品价值
-	ProductDetail string    `gorm:"column:product_detail"`
-	ProductUrl    string    `gorm:"column:product_url"`   // 商品链接,可为电商网址、公司官网、大众点评的店铺地址等可以说明商品信息或者品牌信息的线上地址;
-	EnterpriseID  string      `gorm:"column:enterprise_id"` // 所属企业id
-	CreatedAt     time.Time `gorm:"column:created_at"`    // 创建时间
-	UpdatedAt     time.Time `gorm:"column:updated_at"`    // 更新时间
-	BrandName     string    `gorm:"column:brand_name"`
+	ProductID           int64     `gorm:"column:product_id;primary_key;AUTO_INCREMENT"` // 商品id
+	ProductName         string    `gorm:"column:product_name"`                          // 商品名称
+	ProductType         int64     `gorm:"column:product_type"`                          // 商品类型
+	ProductCategory     string    `gorm:"column:product_category"`                      // 商品类目
+	ShopAddress         string    `gorm:"column:shop_address"`                          // 店铺地址,商品类型为线下品牌时需填写
+	ProductPrice        float64   `gorm:"column:product_price"`                         // 商品价值
+	ProductDetail       string    `gorm:"column:product_detail"`                        // 商品详情
+	ProductUrl          string    `gorm:"column:product_url"`                           // 商品链接,可为电商网址、公司官网、大众点评的店铺地址等可以说明商品信息或者品牌信息的线上地址;
+	EnterpriseID        string    `gorm:"column:enterprise_id"`                         // 所属企业id
+	CreatedAt           time.Time `gorm:"column:created_at"`                            // 创建时间
+	UpdatedAt           time.Time `gorm:"column:updated_at"`                            // 更新时间
+	BrandName           string    `gorm:"column:brand_name"`                            // 品牌名称
+	PublicCommission    float64   `gorm:"column:public_commission"`                     // 公开佣金
+	ExclusiveCommission float64   `gorm:"column:exclusive_commission"`                  // 专属佣金
+	CommissionPrice     float64   `gorm:"column:commission_price"`                      // 佣金金额
+	KuaishouProductId   int64     `gorm:"column:kuaishou_product_id"`                   // 快手商品ID
+	SalesCount          string    `gorm:"column:sales_count"`                           // 商品30天销量
 }
 }
 
 
 func (m *YounggeeProduct) TableName() string {
 func (m *YounggeeProduct) TableName() string {
 	return "younggee_product"
 	return "younggee_product"
 }
 }
-

+ 19 - 0
model/gorm_model/project_brief.go

@@ -0,0 +1,19 @@
+package gorm_model
+
+import (
+	"time"
+)
+
+type ProjectBrief struct {
+	ProjectBriefID int       `gorm:"column:project_brief_id;primary_key;AUTO_INCREMENT"` // 项目id
+	FileUrl        string    `gorm:"column:file_url"`                                    // 文件url
+	FileUid        string    `gorm:"column:file_uid"`                                    // 文件uid
+	ProjectID      string    `gorm:"column:project_id"`                                  // 所属项目id
+	CreatedAt      time.Time `gorm:"column:created_at"`                                  // 创建时间
+	FileName       string    `gorm:"column:file_name"`                                   // 文件名称
+	Type           int       `gorm:"column:type;NOT NULL"`                               // 手卡类型(1图片 2文档)
+}
+
+func (m *ProjectBrief) TableName() string {
+	return "project_brief"
+}

+ 19 - 0
model/gorm_model/project_material.go

@@ -0,0 +1,19 @@
+package gorm_model
+
+import (
+	"time"
+)
+
+type ProjectMaterial struct {
+	MaterialID int       `gorm:"column:material_id;primary_key;AUTO_INCREMENT"` // 种草任务素材id
+	FileUrl    string    `gorm:"column:file_url"`                               // 文件url
+	FileUid    string    `gorm:"column:file_uid"`                               // 文件uid
+	ProjectID  string    `gorm:"column:project_id"`                             // 所属项目id
+	CreatedAt  time.Time `gorm:"column:created_at"`                             // 创建时间
+	FileName   string    `gorm:"column:file_name"`                              // 文件名称
+	Type       int       `gorm:"column:type;NOT NULL"`                          // 素材类型(1图片 2视频)
+}
+
+func (m *ProjectMaterial) TableName() string {
+	return "project_material"
+}

+ 46 - 35
model/http_model/show_s_project.go

@@ -1,42 +1,53 @@
 package http_model
 package http_model
 
 
-import "time"
+import "youngee_b_api/model/gorm_model"
 
 
 type ShowSProjectData struct {
 type ShowSProjectData struct {
-	SProjectId        int                    `json:"s_project_id"`       // 服务商种草任务ID
-	ProjectName       string                 `json:"project_name"`       // 项目名称
-	ProjectStatus     int64                  `json:"project_status"`     // 项目状态,1-7分别代表创建中、待审核、招募中、待支付、失效、执行中、已结案
-	ProjectType       int                    `json:"project_type"`       // 项目类型,1代表全流程项目,2代表专项项目
-	ProjectPlatform   int64                  `json:"project_platform"`   // 项目平台,1-7分别代表红book、抖音、微博、快手、b站、大众点评、知乎
-	ProjectForm       int64                  `json:"project_form"`       // 项目形式,1-4分别代表实体商品寄拍、虚拟产品测评、线下探店打卡、素材微原创
-	TalentType        string                 `json:"talent_type"`        // 达人类型
-	RecruitDdl        time.Time              `json:"recruit_ddl"`        // 招募截止时间
-	ContentType       int64                  `json:"content_type"`       // 内容形式,1代表图文,2代表视频
-	ProjectDetail     string                 `json:"project_detail"`     // 项目详情
-	SRecruitStrategys []ShowSRecruitStrategy `json:"recruit_strategys"`  // 招募策略
-	ProjectPhotos     []ShowProjectPhoto     `json:"project_photos"`     // 项目图片
-	ProductID         string                 `json:"product_id"`         // 关联商品id
-	ProductInfo       string                 `json:"product_info"`       // 商品信息
-	ProductPhotoInfo  string                 `json:"product_photo_info"` // 商品图片
-	EstimatedCost     string                 `json:"estimated_cost"`     // 预估成本
-	EnterpriseID      string                 `json:"enterprise_id"`      // 企业id
-	Balance           string                 `json:"balance"`            // 企业余额
-	AvailableBalance  string                 `json:"available_balance"`  // 可用余额
-	ProjectID         string                 `json:"project_id"`         // 项目id
-	FailReason        string                 `json:"fail_reason"`        // 失效原因
-	Phone             string                 `json:"phone"`              // 联系方式
-	CreateAt          time.Time              `json:"create_at"`          // 创建时间
-	UpdateAt          time.Time              `json:"update_at"`          // 更新时间
-	SubmitAt          time.Time              `json:"submit_at"`          // 更新时间
-	PassAt            time.Time              `json:"pass_at"`            // 审核通过时间
-	FinishAt          time.Time              `json:"finish_at"`          // 结案时间
-	PayAt             time.Time              `json:"pay_at"`             // 支付时间
-	AutoFailAt        time.Time              `json:"auto_fail_at"`       // 自动失效时间
-	ApplyNum          int                    `json:"apply_num"`          // 报名人数
-	RecruitNum        int                    `json:"recruit_num"`        // 已招募人数
-	CreatorCompany    string                 `json:"creator_company"`    // 创建人公司
-	CreatorType       int                    `json:"creator_type"`       // 种草任务创建人类型,1商家主账号,2商家子账号
-	CreatorName       string                 `json:"creator_name"`       // 创建人名称
+	SProjectId          int                           `json:"s_project_id"`           // 服务商种草任务ID
+	ProjectName         string                        `json:"project_name"`           // 项目名称
+	ProjectStatus       int64                         `json:"project_status"`         // 项目状态,1-7分别代表创建中、待审核、招募中、待支付、失效、执行中、已结案
+	ProjectType         int                           `json:"project_type"`           // 项目类型,1代表全流程项目,2代表专项项目
+	ProjectPlatform     int64                         `json:"project_platform"`       // 项目平台,1-7分别代表红book、抖音、微博、快手、b站、大众点评、知乎
+	ProjectForm         int64                         `json:"project_form"`           // 项目形式,1-4分别代表实体商品寄拍、虚拟产品测评、线下探店打卡、素材微原创
+	TalentType          string                        `json:"talent_type"`            // 达人类型
+	RecruitDdl          string                        `json:"recruit_ddl"`            // 招募截止时间
+	ContentType         int64                         `json:"content_type"`           // 内容形式,1代表图文,2代表视频
+	ProjectDetail       string                        `json:"project_detail"`         // 项目详情
+	SRecruitStrategys   []ShowSRecruitStrategy        `json:"recruit_strategys"`      // 招募策略
+	ProductID           int64                         `json:"product_id"`             // 关联商品id
+	ProductInfo         string                        `json:"product_info"`           // 商品信息
+	ProductPhotoInfo    string                        `json:"product_photo_info"`     // 商品图片
+	EstimatedCost       float64                       `json:"estimated_cost"`         // 预估成本
+	EnterpriseID        string                        `json:"enterprise_id"`          // 企业id
+	Balance             string                        `json:"balance"`                // 企业余额
+	AvailableBalance    string                        `json:"available_balance"`      // 可用余额
+	ProjectID           string                        `json:"project_id"`             // 项目id
+	FailReason          string                        `json:"fail_reason"`            // 失效原因
+	Phone               string                        `json:"phone"`                  // 联系方式
+	CreateAt            string                        `json:"create_at"`              // 创建时间
+	UpdateAt            string                        `json:"update_at"`              // 更新时间
+	SubmitAt            string                        `json:"submit_at"`              // 更新时间
+	PassAt              string                        `json:"pass_at"`                // 审核通过时间
+	FinishAt            string                        `json:"finish_at"`              // 结案时间
+	PayAt               string                        `json:"pay_at"`                 // 支付时间
+	AutoFailAt          string                        `json:"auto_fail_at"`           // 自动失效时间
+	ApplyNum            int                           `json:"apply_num"`              // 报名人数
+	RecruitNum          int                           `json:"recruit_num"`            // 已招募人数
+	CreatorCompany      string                        `json:"creator_company"`        // 创建人公司
+	SubAccountId        int                           `json:"sub_account_id"`         // 商家子账号
+	CreatorType         int                           `json:"creator_type"`           // 种草任务创建人类型,1商家主账号,2商家子账号
+	CreatorName         string                        `json:"creator_name"`           // 创建人名称
+	ServiceChargeRate   float64                       `json:"service_charge_rate"`    // 公开服务费率
+	ProductName         string                        `json:"product_name"`           // 商品名称
+	ProductMainPhotoUrl string                        `json:"product_main_photo_url"` // 商品主图Url
+	Symbol              int                           `json:"symbol"`                 // 标志位
+	ProductMainPhotoUid string                        `json:"product_main_photo_uid"` // 商品主图Uid
+	ProductType         int64                         `json:"product_type"`           // 商品类型,0一般,1快手
+	ProductCategory     string                        `json:"product_category"`       // 商品类目
+	ProductCreateAt     string                        `json:"product_create_at"`      // 商品入库时间
+	ProductPrice        float64                       `json:"product_price"`          // 商品售价
+	ProjectBriefInfo    []*gorm_model.ProjectBrief    `json:"project_brief_info"`     // Brief
+	ProjectMaterial     []*gorm_model.ProjectMaterial `json:"project_material"`       // 素材
 }
 }
 
 
 type ShowSRecruitStrategy struct {
 type ShowSRecruitStrategy struct {

+ 1 - 1
service/cooperate.go

@@ -39,7 +39,7 @@ func (*cooperate) CreateCooperate(ctx context.Context, enterpriseId string, supp
 	cooperateInfo.CreateTime = &currentTime
 	cooperateInfo.CreateTime = &currentTime
 	cooperateInfo.SupplierId = supplierId
 	cooperateInfo.SupplierId = supplierId
 	cooperateInfo.EnterpriseId = enterpriseId
 	cooperateInfo.EnterpriseId = enterpriseId
-	if subAccountId == 0 {
+	if subAccountId != 0 {
 		cooperateInfo.SOperator = subAccountId
 		cooperateInfo.SOperator = subAccountId
 		cooperateInfo.SOperatorType = 2
 		cooperateInfo.SOperatorType = 2
 	} else {
 	} else {

+ 114 - 65
service/s_project.go

@@ -163,7 +163,6 @@ func (*sProject) GetSPorjectDetail(ctx context.Context, sProjectId int) (*http_m
 		return nil, err
 		return nil, err
 	}
 	}
 	if sProjectInfo != nil {
 	if sProjectInfo != nil {
-		fmt.Println(sProjectInfo)
 		sProjectData.SProjectId = sProjectInfo.SProjectId
 		sProjectData.SProjectId = sProjectInfo.SProjectId
 		sProjectData.ProjectName = sProjectInfo.ProjectName
 		sProjectData.ProjectName = sProjectInfo.ProjectName
 		sProjectData.ProjectID = sProjectInfo.ProjectId
 		sProjectData.ProjectID = sProjectInfo.ProjectId
@@ -171,76 +170,126 @@ func (*sProject) GetSPorjectDetail(ctx context.Context, sProjectId int) (*http_m
 		sProjectData.ProjectPlatform = sProjectInfo.ProjectPlatform
 		sProjectData.ProjectPlatform = sProjectInfo.ProjectPlatform
 		sProjectData.ProjectForm = sProjectInfo.ProjectForm
 		sProjectData.ProjectForm = sProjectInfo.ProjectForm
 		sProjectData.ContentType = sProjectInfo.ContentType
 		sProjectData.ContentType = sProjectInfo.ContentType
-	}
+		sProjectData.EnterpriseID = sProjectInfo.EnterpriseId
 
 
-	// 2. 取出商家发布的种草任务表中的信息
-	projectInfo, projectErr := db.GetProjectDetail(ctx, sProjectInfo.ProjectId)
-	if projectErr != nil {
-		return nil, projectErr
-	}
-	if projectInfo != nil {
-		fmt.Println(projectInfo)
-		sProjectData.TalentType = projectInfo.TalentType
-		sProjectData.RecruitDdl = *projectInfo.RecruitDdl
-		sProjectData.ProjectDetail = projectInfo.ProjectDetail
-		sProjectData.PayAt = *projectInfo.PayAt
-	}
+		// 2. 取出商家发布的种草任务表中的信息作为补充
+		projectInfo, projectErr := db.GetProjectDetail(ctx, sProjectInfo.ProjectId)
+		if projectErr != nil {
+			return nil, projectErr
+		}
+		if projectInfo != nil {
+			sProjectData.TalentType = projectInfo.TalentType
+			sProjectData.RecruitDdl = conv.MustString(projectInfo.RecruitDdl)[0:19]
+			sProjectData.ProjectDetail = projectInfo.ProjectDetail
+			// sProjectData.PayAt = conv.MustString(projectInfo.PayAt)
+			sProjectData.ProjectDetail = projectInfo.ProjectDetail
+			sProjectData.EstimatedCost = projectInfo.EstimatedCost
+			sProjectData.PassAt = conv.MustString(projectInfo.PassAt)[0:19]
 
 
-	// 3. 取出招募策略并聚合达人数量信息
-	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
+			// 3. 取出招募策略并聚合达人数量信息
+			recruitStrategy, recruitErr := db.GetRecruitStrategyByProjectId(ctx, sProjectData.ProjectID)
+			if recruitErr != nil {
+				return nil, recruitErr
 			}
 			}
-			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,
+			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
+					}
+					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,
+					}
+					sProjectData.SRecruitStrategys = append(sProjectData.SRecruitStrategys, showStrategy)
+				}
 			}
 			}
-			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.Phone
-	} 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
+			// 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
+			}
 		}
 		}
-		sProjectData.CreatorType = 2
-		sProjectData.CreatorName = jobInfo.JobName
 	}
 	}
 	return sProjectData, nil
 	return sProjectData, nil
 }
 }