Xingyu Xian 2 өдөр өмнө
parent
commit
82a44e6e72

+ 1 - 1
handler/project_list.go

@@ -42,7 +42,7 @@ func (h *FullProjectListHandler) getResponse() interface{} {
 func (h *FullProjectListHandler) run() {
 	// enterpriseID := middleware.GetSessionAuth(h.ctx).EnterpriseID
 	condition := pack.HttpFullProjectRequestToCondition(h.req)
-	data, err := service.Project.GetFullProjectList(h.ctx, h.req.PageSize, h.req.PageNum, h.req.SupplierId, condition)
+	data, err := service.Project.GetFullProjectList(h.ctx, h.req.PageSize, h.req.PageNum, h.req.SupplierId, condition, h.req.AddToListStatus)
 	if err != nil {
 		logrus.WithContext(h.ctx).Errorf("[FullProjectListHandler] error GetFullProjectList, err:%+v", err)
 		util.HandlerPackErrorResp(h.resp, consts.ErrorInternal, consts.DefaultToast)

+ 1 - 0
model/common_model/project_condition.go

@@ -9,4 +9,5 @@ type ProjectCondition struct {
 	ProjectForm        int64  `condition:"project_form"`     // 项目形式
 	ProjectContentType int64  `condition:"content_type"`     // 内容形式
 	ProjectUpdated     string `condition:"updated_at"`       // 最后操作时间
+	// AddToListStatus    int    `condition:"add_to_list_status"` // 加入商单状态,1已加入,2未加入
 }

+ 1 - 0
pack/full_project_condition.go

@@ -18,5 +18,6 @@ func HttpFullProjectRequestToCondition(req *http_model.FullProjectListRequest) *
 		ProjectForm:        conv.MustInt64(req.ProjectForm, 0),
 		ProjectContentType: conv.MustInt64(req.ProjectContentType, 0),
 		ProjectUpdated:     projectUpdated,
+		// AddToListStatus:    req.AddToListStatus,
 	}
 }

+ 3 - 3
route/init.go

@@ -72,10 +72,10 @@ func InitRoute(r *gin.Engine) {
 
 		// 服务商版公开种草接口
 		sProject.POST("/fullProjectList", handler.WrapFullProjectListHandler)          // 商单广场-公开种草任务列表
+		sProject.POST("/addToList", handler.WrapAddToListHandler)                      // 商单广场-公开种草任务服务商加入商单
+		sProject.POST("/showProject", handler.WrapShowProjectHandler)                  // 商单广场-种草任务内容
 		sProject.POST("/sProjectList", handler.WrapSProjectListHandler)                // 商单管理-服务商商单列表
-		sProject.POST("/addToList", handler.WrapAddToListHandler)                      // 公开种草任务服务商加入商单
-		sProject.POST("/showProject", handler.WrapShowProjectHandler)                  // 种草任务内容
-		sProject.POST("/showSProject", handler.WrapShowSProjectHandler)                // 服务商种草任务内容
+		sProject.POST("/showSProject", handler.WrapShowSProjectHandler)                // 商单管理-服务商种草任务内容
 		sProject.POST("/product/find", handler.WrapFindProductHandler)                 // 查找单个产品
 		sProject.POST("/projectStrategy", handler.WrapProjectStrategyHandler)          // 招募策略查询
 		sProject.POST("/taskList", handler.WrapProjectTaskListHandler)                 // 子任务列表

+ 37 - 16
service/project.go

@@ -363,7 +363,7 @@ func (*project) Delete(ctx context.Context, projectID string) (*http_model.Delet
 	return res, nil
 }
 
-func (*project) GetFullProjectList(ctx context.Context, pageSize, pageNum int32, supplierId int, condition *common_model.ProjectCondition) (*http_model.FullProjectListData, error) {
+func (*project) GetFullProjectList(ctx context.Context, pageSize, pageNum int32, supplierId int, condition *common_model.ProjectCondition, addToListStatus int) (*http_model.FullProjectListData, error) {
 
 	// 1. 查询种草任务基本信息
 	fullProjects, total, err := db.GetFullProjectList(ctx, pageSize, pageNum, condition)
@@ -376,21 +376,21 @@ func (*project) GetFullProjectList(ctx context.Context, pageSize, pageNum int32,
 	fullProjectListData.Total = total
 
 	// 2. 查询种草任务补充信息:商品信息,招募策略
-	for _, project := range fullProjectListData.FullProjectPreview {
+	for _, projectInfo := range fullProjectListData.FullProjectPreview {
 
 		// 2.1. 商品信息
-		productInfo, productErr := db.GetProductByID(ctx, project.ProductId)
+		productInfo, productErr := db.GetProductByID(ctx, projectInfo.ProductId)
 		if productErr != nil {
 			return nil, productErr
 		}
 		if productInfo != nil {
-			project.ProductId = productInfo.ProductID
-			project.ProductPrice = productInfo.ProductPrice
-			project.ProductName = productInfo.ProductName
+			projectInfo.ProductId = productInfo.ProductID
+			projectInfo.ProductPrice = productInfo.ProductPrice
+			projectInfo.ProductName = productInfo.ProductName
 		}
 
 		// 2.2. 商品图片信息
-		productPhotoInfo, productPhotoErr := db.GetProductPhotoByProductID(ctx, project.ProductId)
+		productPhotoInfo, productPhotoErr := db.GetProductPhotoByProductID(ctx, projectInfo.ProductId)
 		if productPhotoErr != nil {
 			return nil, productPhotoErr
 		}
@@ -398,15 +398,15 @@ func (*project) GetFullProjectList(ctx context.Context, pageSize, pageNum int32,
 			for _, photo := range productPhotoInfo {
 				fmt.Println(photo)
 				if photo.Symbol == 1 {
-					project.ProductPhotoSymbol = 1
-					project.ProductPhotoUrl = photo.PhotoUrl
-					project.ProductPhotoUid = photo.PhotoUid
+					projectInfo.ProductPhotoSymbol = 1
+					projectInfo.ProductPhotoUrl = photo.PhotoUrl
+					projectInfo.ProductPhotoUid = photo.PhotoUid
 				}
 			}
 		}
 
 		// 2.3. 招募策略信息
-		recruitStrategyInfo, recruitErr := db.GetRecruitStrategyByProjectId(ctx, project.ProjectId)
+		recruitStrategyInfo, recruitErr := db.GetRecruitStrategyByProjectId(ctx, projectInfo.ProjectId)
 		if recruitErr != nil {
 			return nil, recruitErr
 		}
@@ -417,22 +417,43 @@ func (*project) GetFullProjectList(ctx context.Context, pageSize, pageNum int32,
 				recruitStrategy.StrategyId = strategy.StrategyID
 				recruitStrategy.FeeForm = strategy.FeeForm
 				recruitStrategy.RecruitNumber = strategy.RecruitNumber
-				project.RecruitStrategy = append(project.RecruitStrategy, recruitStrategy)
+				projectInfo.RecruitStrategy = append(projectInfo.RecruitStrategy, recruitStrategy)
 			}
 		}
 
 		// 2.4. 判断是否加入商单
-		sProjectCount, sProjectErr := db.FindSProjectByProjectIdAndSupplierId(ctx, project.ProjectId, supplierId)
+		sProjectCount, sProjectErr := db.FindSProjectByProjectIdAndSupplierId(ctx, projectInfo.ProjectId, supplierId)
 		if sProjectErr != nil {
 			return nil, sProjectErr
 		}
 		if sProjectCount > 0 {
-			project.AddToListStatus = 1
+			projectInfo.AddToListStatus = 1
 		} else {
-			project.AddToListStatus = 2
+			projectInfo.AddToListStatus = 2
 		}
 	}
-	return fullProjectListData, nil
+
+	var returnList *http_model.FullProjectListData
+	returnList = &http_model.FullProjectListData{}
+	returnList.Total = total
+
+	for _, projectInfo := range fullProjectListData.FullProjectPreview {
+		if addToListStatus == 1 {
+			if projectInfo.AddToListStatus == 1 {
+				returnList.FullProjectPreview = append(returnList.FullProjectPreview, projectInfo)
+			} else {
+				returnList.Total--
+			}
+		} else if projectInfo.AddToListStatus == 2 {
+			if projectInfo.AddToListStatus == 2 {
+				returnList.FullProjectPreview = append(returnList.FullProjectPreview, projectInfo)
+			} else {
+				returnList.Total--
+			}
+		}
+	}
+
+	return returnList, nil
 }
 
 func (*project) GetProjectDraftList(ctx context.Context, enterpriseID string, pageSize, pageNum int32, condition *common_model.ProjectCondition) (*http_model.ProjectDraftListData, error) {

+ 19 - 19
service/s_project.go

@@ -107,28 +107,28 @@ func (*sProject) GetSProjectList(ctx context.Context, supplierId int, pageSize,
 	SProjectList.Total = total
 
 	// 2. 商品信息填入
-	for _, sProject := range sProjects {
+	for _, sProjectInfo := range sProjects {
 		var currSProject *http_model.SProjectListReview
 		currSProject = &http_model.SProjectListReview{}
-		currSProject.SProjectId = sProject.SProjectId
-		currSProject.ProjectId = sProject.ProjectId
-		currSProject.ProjectPlatform = sProject.ProjectPlatform
-		currSProject.ContentType = sProject.ContentType
-		currSProject.ProjectForm = sProject.ProjectForm
-		currSProject.ProjectStatus = sProject.ProjectStatus
-		currSProject.SupplierId = sProject.SupplierId
-		currSProject.SubAccountId = sProject.SubAccountId
-		currSProject.OperatorType = sProject.OperatorType
-		currSProject.CreateTime = conv.MustString(sProject.CreateTime)[0:19]
-		currSProject.ApplyNum = sProject.ApplyNum
-		currSProject.RecruitNum = sProject.RecruitNum
-		currSProject.SettleNum = sProject.SettleNum
-		currSProject.ServiceChargeActual = sProject.ServiceChargeActual
-		currSProject.ServiceCharge = sProject.ServiceCharge
-		currSProject.ServiceChargeSettle = sProject.ServiceChargeSettle
+		currSProject.SProjectId = sProjectInfo.SProjectId
+		currSProject.ProjectId = sProjectInfo.ProjectId
+		currSProject.ProjectPlatform = sProjectInfo.ProjectPlatform
+		currSProject.ContentType = sProjectInfo.ContentType
+		currSProject.ProjectForm = sProjectInfo.ProjectForm
+		currSProject.ProjectStatus = sProjectInfo.ProjectStatus
+		currSProject.SupplierId = sProjectInfo.SupplierId
+		currSProject.SubAccountId = sProjectInfo.SubAccountId
+		currSProject.OperatorType = sProjectInfo.OperatorType
+		currSProject.CreateTime = conv.MustString(sProjectInfo.CreateTime)[0:19]
+		currSProject.ApplyNum = sProjectInfo.ApplyNum
+		currSProject.RecruitNum = sProjectInfo.RecruitNum
+		currSProject.SettleNum = sProjectInfo.SettleNum
+		currSProject.ServiceChargeActual = sProjectInfo.ServiceChargeActual
+		currSProject.ServiceCharge = sProjectInfo.ServiceCharge
+		currSProject.ServiceChargeSettle = sProjectInfo.ServiceChargeSettle
 
 		// 2.2. 商品信息
-		productInfo, productErr := db.GetProductByID(ctx, sProject.ProductId)
+		productInfo, productErr := db.GetProductByID(ctx, sProjectInfo.ProductId)
 		if productErr != nil {
 			return nil, productErr
 		}
@@ -139,7 +139,7 @@ func (*sProject) GetSProjectList(ctx context.Context, supplierId int, pageSize,
 		}
 
 		// 2.3. 商品图片信息
-		productPhotoInfo, productPhotoErr := db.GetProductPhotoByProductID(ctx, sProject.ProductId)
+		productPhotoInfo, productPhotoErr := db.GetProductPhotoByProductID(ctx, sProjectInfo.ProductId)
 		if productPhotoErr != nil {
 			return nil, productPhotoErr
 		}