Bläddra i källkod

fix_种草&快照

Ethan 3 månader sedan
förälder
incheckning
17fcade3fb

+ 10 - 0
app/controller/task_controller.go

@@ -541,7 +541,17 @@ func (t TaskController) GetStoreCategory(c *gin.Context) {
 		returnError(c, 40000, err.Error())
 		return
 	}
+	returnSuccess(c, 20000, res)
+}
 
+// 达人内容类型
+func (t TaskController) GetTalentCategory(c *gin.Context) {
+	res, err := service.ProjectService{}.GetTalentCategory()
+	if err != nil {
+		logrus.Errorf("[GetTalentCategory] call Show err:%+v\n", err)
+		returnError(c, 40000, err.Error())
+		return
+	}
 	returnSuccess(c, 20000, res)
 }
 

+ 1 - 1
app/dao/project_dao.go

@@ -154,7 +154,7 @@ func (d ProjectDAO) DeleteProject(projectId string) (*string, error) {
 	if projectId == "" {
 		return &projectId, nil
 	}
-	err := Db.Where("project_id = ?", projectId).Delete(&entity.Project{}).Error
+	err := Db.Debug().Where("project_id = ?", projectId).Delete(&entity.Project{}).Error
 	if err != nil {
 		return nil, err
 	}

+ 7 - 0
app/dao/talent_info_dao.go

@@ -30,3 +30,10 @@ func (d TalentInfoDao) SelectTalentInfo(talentId string) (*entity.YoungeeTalentI
 	}
 	return talentInfo, nil
 }
+
+// 获取达人内容类型
+func (d TalentInfoDao) GetTalentCategory() ([]entity.TalentCategory, error) {
+	var talentCategory []entity.TalentCategory
+	err := Db.Model(&entity.TalentCategory{}).Find(&talentCategory).Error
+	return talentCategory, err
+}

+ 12 - 0
app/entity/talent_category.go

@@ -0,0 +1,12 @@
+// Code generated by sql2gorm. DO NOT EDIT.
+package entity
+
+// 门店类目表
+type TalentCategory struct {
+	ID       int64  `gorm:"column:id;primary_key;AUTO_INCREMENT"` // id
+	Category string `gorm:"column:category;NOT NULL"`             // 类型
+}
+
+func (m *TalentCategory) TableName() string {
+	return "younggee_talent_category"
+}

+ 62 - 25
app/service/project_service.go

@@ -28,9 +28,9 @@ func (s ProjectService) CreateProject(projectCreateParam *vo.ProjectCreateParam)
 	if product == nil {
 		return nil, errors.New("未找到关联商品")
 	}
-	productPhotos, err := dao.ProductPhotoDAO{}.GetProductPhotoByProductID(projectCreateParam.ProductId)
+	productMainPhoto, _ := dao.ProductPhotoDAO{}.GetMainProductPhotoInfoByProductID(projectCreateParam.ProductId)
 	productInfoToJson, _ := json.Marshal(product)
-	productPhotosToJson, _ := json.Marshal(productPhotos)
+	productPhotosToJson, _ := json.Marshal(productMainPhoto)
 	// d) 任务截止时间
 	recruitDdl, err1 := time.ParseInLocation("2006-01-02 15:04:05", projectCreateParam.RecruitDdl, time.Local)
 	if err1 != nil {
@@ -220,13 +220,23 @@ func (s ProjectService) UpdateProject(projectUpdateParam *vo.ProjectUpdateParam)
 	}
 	// 2. 数据准备
 	// a) 查找关联商品信息
-	product, err := dao.ProductDAO{}.GetProductByID(project.ProductID)
-	if err != nil {
-		return nil, err
+	var productInfoToString string
+	var productPhotosToString string
+	if projectUpdateParam.ProductId != 0 {
+		product, err := dao.ProductDAO{}.GetProductByID(projectUpdateParam.ProductId)
+		if err != nil {
+			return nil, err
+		}
+		if product == nil {
+			return nil, errors.New("未找到关联商品")
+		}
+		productMainPhoto, _ := dao.ProductPhotoDAO{}.GetMainProductPhotoInfoByProductID(projectUpdateParam.ProductId)
+		productInfoToJson, _ := json.Marshal(product)
+		productInfoToString = string(productInfoToJson)
+		productPhotosToJson, _ := json.Marshal(productMainPhoto)
+		productPhotosToString = string(productPhotosToJson)
 	}
-	productPhotos, err := dao.ProductPhotoDAO{}.GetProductPhotoByProductID(project.ProductID)
-	productInfoToJson, _ := json.Marshal(product)
-	productPhotosToJson, _ := json.Marshal(productPhotos)
+
 	// d) 任务截止时间
 	//// f) 更新选品状态
 	//if projectUpdateParam.ProjectStatus != 2 && projectUpdateParam.ProjectStatus != 8 {
@@ -240,8 +250,8 @@ func (s ProjectService) UpdateProject(projectUpdateParam *vo.ProjectUpdateParam)
 		ProductID:         projectUpdateParam.ProductId,
 		TalentType:        projectUpdateParam.TalentType,
 		RecruitDdl:        recruitDdl,
-		ProductSnap:       string(productInfoToJson),
-		ProductPhotoSnap:  string(productPhotosToJson),
+		ProductSnap:       productInfoToString,
+		ProductPhotoSnap:  productPhotosToString,
 		UpdatedAt:         t,
 		ProjectForm:       projectUpdateParam.ProjectForm,
 		ContentType:       projectUpdateParam.ContentType,
@@ -375,13 +385,23 @@ func (s ProjectService) UpdateProjectTarget(projectUpdateParam *vo.ProjectUpdate
 	}
 	// 2. 数据准备
 	// a) 查找关联商品信息
-	product, err := dao.ProductDAO{}.GetProductByID(project.ProductID)
-	if err != nil {
-		return nil, err
+	var productInfoToString string
+	var productPhotosToString string
+	if projectUpdateParam.ProductId != 0 {
+		product, err := dao.ProductDAO{}.GetProductByID(projectUpdateParam.ProductId)
+		if err != nil {
+			return nil, err
+		}
+		if product == nil {
+			return nil, errors.New("未找到关联商品")
+		}
+		productMainPhoto, _ := dao.ProductPhotoDAO{}.GetMainProductPhotoInfoByProductID(projectUpdateParam.ProductId)
+		productInfoToJson, _ := json.Marshal(product)
+		productInfoToString = string(productInfoToJson)
+		productPhotosToJson, _ := json.Marshal(productMainPhoto)
+		productPhotosToString = string(productPhotosToJson)
 	}
-	productPhotos, err := dao.ProductPhotoDAO{}.GetProductPhotoByProductID(project.ProductID)
-	productInfoToJson, _ := json.Marshal(product)
-	productPhotosToJson, _ := json.Marshal(productPhotos)
+
 	// d) 任务截止时间
 	recruitDdl := time.Time{} //赋零值
 	recruitDdl, _ = time.ParseInLocation("2006-01-02 15:04:05", projectUpdateParam.RecruitDdl, time.Local)
@@ -396,8 +416,8 @@ func (s ProjectService) UpdateProjectTarget(projectUpdateParam *vo.ProjectUpdate
 		ProductID:        projectUpdateParam.ProductId,
 		TalentType:       projectUpdateParam.TalentType,
 		RecruitDdl:       recruitDdl,
-		ProductSnap:      string(productInfoToJson),
-		ProductPhotoSnap: string(productPhotosToJson),
+		ProductSnap:      productInfoToString,
+		ProductPhotoSnap: productPhotosToString,
 		CreatedAt:        project.CreatedAt,
 		UpdatedAt:        t,
 		ProjectForm:      projectUpdateParam.ProjectForm,
@@ -487,6 +507,7 @@ func (s ProjectService) GetProjectDetail(projectId string) (*vo.ReProjectDetail,
 		logrus.Errorf("[projectDB service] call GetProject error,err:%+v", err)
 		return nil, err
 	}
+	reProjectDetail.ProjectName = project.ProjectName
 	// 系统信息
 	reProjectDetail.ProjectId = projectId
 	reProjectDetail.ProjectStatus = project.ProjectStatus
@@ -512,12 +533,11 @@ func (s ProjectService) GetProjectDetail(projectId string) (*vo.ReProjectDetail,
 	reProjectDetail.Phone = phone
 	// 关联商品
 	var reProduct vo.ReProductPreview
-	product, err := dao.ProductDAO{}.GetProductByID(project.ProductID)
-	if err == nil {
-		photoUrl, e := dao.ProductPhotoDAO{}.GetMainPhotoByProductID(product.ProductID)
-		if e != nil {
-			photoUrl = ""
-		}
+	var product entity.Product
+	var productMainPhoto entity.ProductPhoto
+	err1 := json.Unmarshal([]byte(project.ProductSnap), &product)
+	err2 := json.Unmarshal([]byte(project.ProductPhotoSnap), &productMainPhoto)
+	if err1 == nil && err2 == nil {
 		reProduct = vo.ReProductPreview{
 			ProductID:       product.ProductID,
 			ProductName:     product.ProductName,
@@ -526,7 +546,7 @@ func (s ProjectService) GetProjectDetail(projectId string) (*vo.ReProjectDetail,
 			ProductPrice:    product.ProductPrice,
 			ProductDetail:   product.ProductDetail,
 			CreatedAt:       product.CreatedAt.Format("2006-01-02 15:04:05"),
-			PhotoUrl:        photoUrl,
+			PhotoUrl:        productMainPhoto.PhotoUrl,
 		}
 	}
 	reProjectDetail.ProductInfo = &reProduct
@@ -826,3 +846,20 @@ func (s ProjectService) GetProjectDraftList(param *vo.ProjectDraftParam) (vo.Res
 	}
 	return result, nil
 }
+
+// 达人内容类型
+func (p ProjectService) GetTalentCategory() ([]vo.ReTalentCategory, error) {
+	var reTalentCategories []vo.ReTalentCategory
+	talentCategory, err := dao.TalentInfoDao{}.GetTalentCategory()
+	if err != nil {
+		return nil, err
+	}
+	for _, category := range talentCategory {
+		reTalentCategory := vo.ReTalentCategory{
+			ID:       category.ID,
+			Category: category.Category,
+		}
+		reTalentCategories = append(reTalentCategories, reTalentCategory)
+	}
+	return reTalentCategories, nil
+}

+ 18 - 11
app/service/selection_info_service.go

@@ -218,16 +218,23 @@ func (s SelectionInfoService) UpdateSelectionInfo(selectionUpdateParam *vo.Selec
 	}
 	// 2. 数据准备
 	// a) 查找关联商品信息
-	product, err := dao.ProductDAO{}.GetProductByID(selectionInfo.ProductID)
-	if err != nil {
-		return nil, err
-	}
-	if product == nil {
-		return nil, errors.New("未找到关联商品")
+	var productInfoToString string
+	var productPhotosToString string
+	if selectionUpdateParam.ProductId != 0 {
+		product, err := dao.ProductDAO{}.GetProductByID(selectionUpdateParam.ProductId)
+		if err != nil {
+			return nil, err
+		}
+		if product == nil {
+			return nil, errors.New("未找到关联商品")
+		}
+		productMainPhoto, _ := dao.ProductPhotoDAO{}.GetMainProductPhotoInfoByProductID(selectionUpdateParam.ProductId)
+		productInfoToJson, _ := json.Marshal(product)
+		productInfoToString = string(productInfoToJson)
+		productPhotosToJson, _ := json.Marshal(productMainPhoto)
+		productPhotosToString = string(productPhotosToJson)
 	}
-	productPhotos, err := dao.ProductPhotoDAO{}.GetProductPhotoByProductID(selectionInfo.ProductID)
-	productInfoToJson, _ := json.Marshal(product)
-	productPhotosToJson, _ := json.Marshal(productPhotos)
+
 	// d) 任务截止时间
 	taskDdl := time.Time{} //赋零值
 	taskDdl, _ = time.ParseInLocation("2006-01-02 15:04:05", selectionUpdateParam.TaskDdl, time.Local)
@@ -274,8 +281,8 @@ func (s SelectionInfoService) UpdateSelectionInfo(selectionUpdateParam *vo.Selec
 		//RewardCondition:  selectionUpdateParam.RewardCondition,
 		TaskDdl: taskDdl,
 		//Detail:           selectionUpdateParam.Detail,
-		ProductSnap:      string(productInfoToJson),
-		ProductPhotoSnap: string(productPhotosToJson),
+		ProductSnap:      productInfoToString,
+		ProductPhotoSnap: productPhotosToString,
 		CreatedAt:        selectionInfo.CreatedAt,
 		UpdatedAt:        t,
 	}

+ 1 - 0
app/vo/re_project_detail.go

@@ -5,6 +5,7 @@ import (
 )
 
 type ReProjectDetail struct {
+	ProjectName string `json:"projectName"` // 任务标题
 	// 系统信息
 	ProjectId         string  `json:"projectId"`         // 项目id 生成规则:年(2位)+一年中的第几天(3位)+5位数随机数,雪花算法也可,生成10位订单号
 	ProjectStatus     int64   `json:"projectStatus"`     // 项目状态,1-10分别代表创建中、待审核、审核通过、招募中、招募完毕、待支付、已支付、执行中、失效、已结案

+ 6 - 0
app/vo/re_talent_category.go

@@ -0,0 +1,6 @@
+package vo
+
+type ReTalentCategory struct {
+	ID       int64  `json:"id"`
+	Category string `json:"category"`
+}

+ 1 - 0
route/init.go

@@ -190,6 +190,7 @@ func InitRoute(r *gin.Engine) {
 		task.POST("/project/toReview", controller.TaskController{}.ProjectToReview)          // 种草提交审核
 		task.POST("/project/task/list", controller.TaskController{}.ProjectTaskList)         // 种草任务列表
 		task.POST("/project/del", controller.TaskController{}.ProjectDel)                    // 删除种草任务
+		task.POST("/talent/category", controller.TaskController{}.GetTalentCategory)         // 达人内容类型
 
 		task.POST("/store/category", controller.TaskController{}.GetStoreCategory)     // 门店类目
 		task.POST("/store/findAll", controller.TaskController{}.GetAllStore)           // 关联门店-已有门店展示