Quellcode durchsuchen

草稿箱-本地生活

Ethan vor 4 Monaten
Ursprung
Commit
f187a17f7c

+ 20 - 1
app/controller/task_controller.go

@@ -353,7 +353,26 @@ func (t TaskController) GetProjectDraftList(c *gin.Context) {
 	}
 	res, err := service.ProjectService{}.GetProjectDraftList(param)
 	if err != nil {
-		logrus.Errorf("[SelectionTaskList] call Show err:%+v\n", err)
+		logrus.Errorf("[ProjectTaskList] call Show err:%+v\n", err)
+		returnError(c, 40000, "error")
+		return
+	}
+
+	returnSuccess(c, 20000, res)
+}
+
+// 草稿箱——本地生活
+func (t TaskController) GetLocalLifeDraftList(c *gin.Context) {
+	param := &vo.LocalDraftParam{}
+	err := c.BindJSON(param)
+	if err != nil {
+		logrus.Errorf("Request bind err:%+v\n", err)
+		returnError(c, 40000, "参数错误")
+		return
+	}
+	res, err := service.LocalLifeService{}.GetLocalLifeDraftList(param)
+	if err != nil {
+		logrus.Errorf("[LocalLifeTaskList] call Show err:%+v\n", err)
 		returnError(c, 40000, "error")
 		return
 	}

+ 43 - 0
app/dao/local_life_dao.go

@@ -153,6 +153,49 @@ func (d LocalLifeDao) DeleteLocalLife(localId string) (*string, error) {
 	return &localId, nil
 }
 
+// 获取草稿箱——本地生活任务列表
+func (d LocalLifeDao) GetLocalDraftList(param *vo.LocalDraftParam) ([]vo.ReLocalTaskPreview, int64, error) {
+	var reLocalTaskPreviews []vo.ReLocalTaskPreview
+	var localLifeInfos []entity.LocalLifeInfo
+	var total int64
+	query := Db.Model(&entity.LocalLifeInfo{}).Where("task_status = ?", 1)
+	// 动态添加查询条件
+	if param.SubAccountId == 0 {
+		if param.EnterpriseId == "" {
+			return reLocalTaskPreviews, 0, errors.New("enterpriseId is empty")
+		}
+		query = query.Where("enterprise_id = ?", param.EnterpriseId)
+	} else {
+		query = query.Where("sub_account_id = ?", param.SubAccountId)
+	}
+	if param.LocalType != 0 {
+		query = query.Where("local_type = ?", param.LocalType)
+	}
+	if param.LocalPlatform != 0 {
+		query = query.Where("local_platform = ?", param.LocalPlatform)
+	}
+	query.Count(&total)
+	query = query.Select("enterprise_id, sub_account_id, local_id, local_platform, local_type, created_at, store_id")
+	offset := (param.Page - 1) * param.PageSize
+	if err := query.Order("created_at asc").Offset(offset).Limit(param.PageSize).Find(&localLifeInfos).Error; err != nil {
+		return nil, 0, err
+	}
+	for _, localLifeInfo := range localLifeInfos {
+		reLocalTaskPreview := vo.ReLocalTaskPreview{
+			EnterpriseId:  localLifeInfo.EnterpriseID,
+			SubAccountId:  localLifeInfo.SubAccountID,
+			LocalId:       localLifeInfo.LocalID,
+			LocalPlatform: localLifeInfo.LocalPlatform,
+			LocalType:     localLifeInfo.LocalType,
+			CreatedAt:     localLifeInfo.CreatedAt.Format("2006-01-02 15:04:05"),
+			StoreId:       localLifeInfo.StoreID,
+		}
+		reLocalTaskPreviews = append(reLocalTaskPreviews, reLocalTaskPreview)
+	}
+
+	return reLocalTaskPreviews, total, nil
+}
+
 // 获取公开种草中全部指定状态值的项目
 func (d LocalLifeDao) GetLocalLifeList(value int64, fieldName string) ([]*entity.LocalLifeInfo, error) {
 	var localLifeInfos []*entity.LocalLifeInfo

+ 50 - 1
app/service/local_life_service.go

@@ -726,7 +726,7 @@ func (s LocalLifeService) GetLocalLifeTaskList(param *vo.LocalSearchParam) (vo.R
 	return result, nil
 }
 
-// 删除种草任务
+// 删除本地生活任务
 func (s LocalLifeService) DeleteLocalLife(localId string) (*string, error) {
 	res, err := dao.LocalLifeDao{}.DeleteLocalLife(localId)
 	if err != nil {
@@ -736,6 +736,55 @@ func (s LocalLifeService) DeleteLocalLife(localId string) (*string, error) {
 	return res, nil
 }
 
+// 草稿箱——本地生活
+func (s LocalLifeService) GetLocalLifeDraftList(param *vo.LocalDraftParam) (vo.ResultVO, error) {
+	if param.Page == 0 {
+		param.Page = 1
+	}
+	if param.PageSize == 0 {
+		param.PageSize = 10
+	}
+	var result vo.ResultVO
+	reLocalTaskPreviews, total, err := (&dao.LocalLifeDao{}).GetLocalDraftList(param)
+	if err != nil {
+		return result, err
+	}
+	for i := range reLocalTaskPreviews {
+		var creatorName string
+		var storeName string
+		var storeLocation string
+		var mainImage string
+		if reLocalTaskPreviews[i].SubAccountId == 0 {
+			enterprise, err := dao.EnterpriseDao{}.GetEnterprise(reLocalTaskPreviews[i].EnterpriseId)
+			if err == nil && enterprise != nil {
+				creatorName = enterprise.BusinessName
+			}
+		} else {
+			subAccount, err := dao.SubAccountDao{}.GetSubAccount(reLocalTaskPreviews[i].SubAccountId)
+			if err == nil && subAccount != nil {
+				creatorName = subAccount.SubAccountName
+			}
+		}
+		store, err := dao.StoreDao{}.GetStoreByID(reLocalTaskPreviews[i].StoreId)
+		if err == nil && store != nil {
+			storeName = store.StoreName
+			storeLocation = store.StoreLocation
+		}
+		mainImage, err = dao.ProductPhotoDAO{}.GetMainPhotoByStoreID(reLocalTaskPreviews[i].StoreId)
+		reLocalTaskPreviews[i].CreatorName = creatorName
+		reLocalTaskPreviews[i].StoreName = storeName
+		reLocalTaskPreviews[i].StoreLocation = storeLocation
+		reLocalTaskPreviews[i].MainImage = mainImage
+	}
+	result = vo.ResultVO{
+		Page:     param.Page,
+		PageSize: param.PageSize,
+		Total:    total,
+		Data:     reLocalTaskPreviews,
+	}
+	return result, nil
+}
+
 // 探店本地生活列表
 func (s LocalLifeService) GetStoreExploreList(param *vo.LocalSearchParam) (vo.ResultVO, error) {
 	if param.Page == 0 {

+ 12 - 12
app/service/project_service.go

@@ -686,42 +686,42 @@ func (s ProjectService) GetProjectDraftList(param *vo.ProjectDraftParam) (vo.Res
 		param.PageSize = 10
 	}
 	var result vo.ResultVO
-	reSelectionTaskPreviews, total, err := (&dao.ProjectDAO{}).GetProjectDraftList(param)
+	reProjectTaskPreviews, total, err := (&dao.ProjectDAO{}).GetProjectDraftList(param)
 	if err != nil {
 		return result, err
 	}
-	for i := range reSelectionTaskPreviews {
+	for i := range reProjectTaskPreviews {
 		var creatorName string
 		var productName string
 		var productPrice float64
 		var mainImage string
-		if reSelectionTaskPreviews[i].SubAccountId == 0 {
-			enterprise, err := dao.EnterpriseDao{}.GetEnterprise(reSelectionTaskPreviews[i].EnterpriseId)
+		if reProjectTaskPreviews[i].SubAccountId == 0 {
+			enterprise, err := dao.EnterpriseDao{}.GetEnterprise(reProjectTaskPreviews[i].EnterpriseId)
 			if err == nil && enterprise != nil {
 				creatorName = enterprise.BusinessName
 			}
 		} else {
-			subAccount, err := dao.SubAccountDao{}.GetSubAccount(reSelectionTaskPreviews[i].SubAccountId)
+			subAccount, err := dao.SubAccountDao{}.GetSubAccount(reProjectTaskPreviews[i].SubAccountId)
 			if err == nil && subAccount != nil {
 				creatorName = subAccount.SubAccountName
 			}
 		}
-		product, err := dao.ProductDAO{}.GetProductByID(reSelectionTaskPreviews[i].ProductId)
+		product, err := dao.ProductDAO{}.GetProductByID(reProjectTaskPreviews[i].ProductId)
 		if err == nil && product != nil {
 			productName = product.ProductName
 			productPrice = product.ProductPrice
 		}
-		mainImage, err = dao.ProductPhotoDAO{}.GetMainPhotoByProductID(reSelectionTaskPreviews[i].ProductId)
-		reSelectionTaskPreviews[i].CreatorName = creatorName
-		reSelectionTaskPreviews[i].ProductName = productName
-		reSelectionTaskPreviews[i].ProductPrice = productPrice
-		reSelectionTaskPreviews[i].MainImage = mainImage
+		mainImage, err = dao.ProductPhotoDAO{}.GetMainPhotoByProductID(reProjectTaskPreviews[i].ProductId)
+		reProjectTaskPreviews[i].CreatorName = creatorName
+		reProjectTaskPreviews[i].ProductName = productName
+		reProjectTaskPreviews[i].ProductPrice = productPrice
+		reProjectTaskPreviews[i].MainImage = mainImage
 	}
 	result = vo.ResultVO{
 		Page:     param.Page,
 		PageSize: param.PageSize,
 		Total:    total,
-		Data:     reSelectionTaskPreviews,
+		Data:     reProjectTaskPreviews,
 	}
 	return result, nil
 }

+ 12 - 0
app/vo/local_draft_param.go

@@ -0,0 +1,12 @@
+package vo
+
+type LocalDraftParam struct {
+	EnterpriseId  string `json:"enterprise_id"`
+	SubAccountId  int64  `json:"sub_account_id"`
+	Page          int    `json:"page"`
+	PageSize      int    `json:"page_size"`
+	LocalPlatform int64  `json:"local_platform"` // 平台,1-7分别代表小红书、抖音、微博、快手、b站、大众点评、知乎
+	LocalType     int64  `json:"local_type"`     // 项目类型 1全流程 2专项
+
+	//ProjectId string `json:"project_id"` // 任务ID
+}

+ 1 - 0
route/init.go

@@ -232,6 +232,7 @@ func InitRoute(r *gin.Engine) {
 		// 草稿箱
 		task.POST("/draft/selection/list", controller.TaskController{}.GetSelectionDraftList) // 草稿箱——电商带货列表
 		task.POST("/draft/project/list", controller.TaskController{}.GetProjectDraftList)     // 草稿箱——品牌种草列表
+		task.POST("/draft/localLife/list", controller.TaskController{}.GetLocalLifeDraftList) // 草稿箱——本地生活列表
 
 		// 违约管理
 		task.POST("/default/public/list", controller.TaskController{}.GetPublicDefaultList)              // 违约管理——公开任务列表