|
@@ -15,8 +15,15 @@ type project struct {
|
|
|
|
|
|
func (*project) Create(ctx context.Context, newProject http_model.CreateProjectRequest, enterpriseID int64) (*http_model.CreateProjectData, error) {
|
|
func (*project) Create(ctx context.Context, newProject http_model.CreateProjectRequest, enterpriseID int64) (*http_model.CreateProjectData, error) {
|
|
// build gorm_model.ProjectInfo
|
|
// build gorm_model.ProjectInfo
|
|
|
|
+ // 查询关联商品信息
|
|
|
|
+ product, err := db.GetProductByID(ctx, newProject.ProductID)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return nil, err
|
|
|
|
+ }
|
|
|
|
+ // 按照品牌名-商品名对项目进行命名
|
|
|
|
+ projectName := product.BrandName + "-" + product.ProductName
|
|
projectInfo := gorm_model.ProjectInfo{
|
|
projectInfo := gorm_model.ProjectInfo{
|
|
- ProjectName: newProject.ProjectName,
|
|
|
|
|
|
+ ProjectName: projectName,
|
|
ProjectStatus: 1,
|
|
ProjectStatus: 1,
|
|
ProjectType: newProject.ProjectType,
|
|
ProjectType: newProject.ProjectType,
|
|
TalentType: newProject.TalentType,
|
|
TalentType: newProject.TalentType,
|
|
@@ -32,41 +39,42 @@ func (*project) Create(ctx context.Context, newProject http_model.CreateProjectR
|
|
projectID, err := db.CreateProject(ctx, projectInfo)
|
|
projectID, err := db.CreateProject(ctx, projectInfo)
|
|
if err != nil {
|
|
if err != nil {
|
|
return nil, err
|
|
return nil, err
|
|
- } else {
|
|
|
|
|
|
+ }
|
|
|
|
+ if newProject.ProjectPhotos != nil {
|
|
// build []gorm_model.ProjectPhoto
|
|
// build []gorm_model.ProjectPhoto
|
|
projectPhotos := []gorm_model.ProjectPhoto{}
|
|
projectPhotos := []gorm_model.ProjectPhoto{}
|
|
for _, photo := range newProject.ProjectPhotos {
|
|
for _, photo := range newProject.ProjectPhotos {
|
|
projectPhoto := gorm_model.ProjectPhoto{
|
|
projectPhoto := gorm_model.ProjectPhoto{
|
|
PhotoUrl: photo.PhotoUrl,
|
|
PhotoUrl: photo.PhotoUrl,
|
|
|
|
+ PhotoUid: photo.PhotoUid,
|
|
ProjectID: *projectID,
|
|
ProjectID: *projectID,
|
|
}
|
|
}
|
|
projectPhotos = append(projectPhotos, projectPhoto)
|
|
projectPhotos = append(projectPhotos, projectPhoto)
|
|
}
|
|
}
|
|
// db create ProjectPhoto
|
|
// db create ProjectPhoto
|
|
- err := db.CreateProjectPhoto(ctx, projectPhotos)
|
|
|
|
|
|
+ err = db.CreateProjectPhoto(ctx, projectPhotos)
|
|
if err != nil {
|
|
if err != nil {
|
|
return nil, err
|
|
return nil, err
|
|
- } else {
|
|
|
|
- // build
|
|
|
|
- recruitStrategys := []gorm_model.RecruitStrategy{}
|
|
|
|
- for _, strategy := range newProject.RecruitStrategys {
|
|
|
|
- recruitStrategy := gorm_model.RecruitStrategy{
|
|
|
|
- FeeForm: strategy.FeeForm,
|
|
|
|
- StrategyID: strategy.StrategyID,
|
|
|
|
- FollowersLow: strategy.FollowersLow,
|
|
|
|
- FollowersUp: strategy.FollowersUp,
|
|
|
|
- RecruitNumber: strategy.RecruitNumber,
|
|
|
|
- Offer: strategy.Offer,
|
|
|
|
- ProjectID: *projectID,
|
|
|
|
- }
|
|
|
|
- recruitStrategys = append(recruitStrategys, recruitStrategy)
|
|
|
|
- }
|
|
|
|
- err := db.CreateRecruitStrategy(ctx, recruitStrategys)
|
|
|
|
- if err != nil {
|
|
|
|
- return nil, err
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ // build
|
|
|
|
+ recruitStrategys := []gorm_model.RecruitStrategy{}
|
|
|
|
+ for _, strategy := range newProject.RecruitStrategys {
|
|
|
|
+ recruitStrategy := gorm_model.RecruitStrategy{
|
|
|
|
+ FeeForm: strategy.FeeForm,
|
|
|
|
+ StrategyID: strategy.StrategyID,
|
|
|
|
+ FollowersLow: strategy.FollowersLow,
|
|
|
|
+ FollowersUp: strategy.FollowersUp,
|
|
|
|
+ RecruitNumber: strategy.RecruitNumber,
|
|
|
|
+ Offer: strategy.Offer,
|
|
|
|
+ ProjectID: *projectID,
|
|
|
|
+ }
|
|
|
|
+ recruitStrategys = append(recruitStrategys, recruitStrategy)
|
|
|
|
+ }
|
|
|
|
+ err = db.CreateRecruitStrategy(ctx, recruitStrategys)
|
|
|
|
+ if err != nil {
|
|
|
|
+ return nil, err
|
|
|
|
+ }
|
|
res := &http_model.CreateProjectData{
|
|
res := &http_model.CreateProjectData{
|
|
ProjectID: *projectID,
|
|
ProjectID: *projectID,
|
|
}
|
|
}
|