Browse Source

寄样物流待办

Ethan 2 months ago
parent
commit
8921a1bc0d

+ 33 - 6
app/controller/workspace_controller.go

@@ -37,19 +37,19 @@ func (t WorkspaceController) GetPublicTask(c *gin.Context) {
 		returnError(c, 40000, "Parameter Error: "+err.Error())
 		return
 	}
-	selectionToDo, err1 := service.SelectionInfoService{}.GetSelectionToDo(param.EnterpriseId, param.SubAccountId)
+	selectionToDo, err1 := service.SelectionInfoService{}.GetTaskToDo(param.EnterpriseId, param.SubAccountId)
 	if err1 != nil {
 		logrus.Errorf("[SelectionInfoService] call Show err:%+v\n", err1)
 		returnError(c, 40000, err1.Error())
 		return
 	}
-	projectToDo, err2 := service.ProjectService{}.GetProjectToDo(param.EnterpriseId, param.SubAccountId, 1)
+	projectToDo, err2 := service.ProjectService{}.GetTaskToDo(param.EnterpriseId, param.SubAccountId, 1)
 	if err2 != nil {
 		logrus.Errorf("[ProjectService] call Show err:%+v\n", err2)
 		returnError(c, 40000, err2.Error())
 		return
 	}
-	localLifeToDo, err3 := service.LocalLifeService{}.GetLocalLifeToDo(param.EnterpriseId, param.SubAccountId, 1)
+	localLifeToDo, err3 := service.LocalLifeService{}.GetTaskToDo(param.EnterpriseId, param.SubAccountId, 1)
 	if err3 != nil {
 		logrus.Errorf("[LocalLifeService] call Show err:%+v\n", err3)
 		returnError(c, 40000, err3.Error())
@@ -71,19 +71,19 @@ func (t WorkspaceController) GetTargetTask(c *gin.Context) {
 		returnError(c, 40000, "Parameter Error: "+err.Error())
 		return
 	}
-	selectionToDo, err1 := service.SelectionInfoService{}.GetSelectionToDo(param.EnterpriseId, param.SubAccountId)
+	selectionToDo, err1 := service.SelectionInfoService{}.GetTaskToDo(param.EnterpriseId, param.SubAccountId)
 	if err1 != nil {
 		logrus.Errorf("[SelectionInfoService] call Show err:%+v\n", err1)
 		returnError(c, 40000, err1.Error())
 		return
 	}
-	projectToDo, err2 := service.ProjectService{}.GetProjectToDo(param.EnterpriseId, param.SubAccountId, 2)
+	projectToDo, err2 := service.ProjectService{}.GetTaskToDo(param.EnterpriseId, param.SubAccountId, 2)
 	if err2 != nil {
 		logrus.Errorf("[ProjectService] call Show err:%+v\n", err2)
 		returnError(c, 40000, err2.Error())
 		return
 	}
-	localLifeToDo, err3 := service.LocalLifeService{}.GetLocalLifeToDo(param.EnterpriseId, param.SubAccountId, 2)
+	localLifeToDo, err3 := service.LocalLifeService{}.GetTaskToDo(param.EnterpriseId, param.SubAccountId, 2)
 	if err3 != nil {
 		logrus.Errorf("[LocalLifeService] call Show err:%+v\n", err3)
 		returnError(c, 40000, err3.Error())
@@ -95,3 +95,30 @@ func (t WorkspaceController) GetTargetTask(c *gin.Context) {
 	resultMap["localLifeToDo"] = &localLifeToDo
 	returnSuccess(c, 20000, resultMap)
 }
+
+// 任务待办-寄样物流
+func (t WorkspaceController) GetLogistics(c *gin.Context) {
+	param := &vo.CommonParam{}
+	err := c.BindJSON(param)
+	if err != nil {
+		logrus.Errorf("Request bind err:%+v\n", err)
+		returnError(c, 40000, "Parameter Error: "+err.Error())
+		return
+	}
+	selectionToDo, err1 := service.SelectionInfoService{}.GetLogisticsToDo(param.EnterpriseId, param.SubAccountId)
+	if err1 != nil {
+		logrus.Errorf("[SelectionInfoService] call Show err:%+v\n", err1)
+		returnError(c, 40000, err1.Error())
+		return
+	}
+	projectToDo, err2 := service.ProjectService{}.GetLogisticsToDo(param.EnterpriseId, param.SubAccountId)
+	if err2 != nil {
+		logrus.Errorf("[ProjectService] call Show err:%+v\n", err2)
+		returnError(c, 40000, err2.Error())
+		return
+	}
+	resultMap := make(map[string]*map[string]map[string]int64)
+	resultMap["selectionToDo"] = &selectionToDo
+	resultMap["projectToDo"] = &projectToDo
+	returnSuccess(c, 20000, resultMap)
+}

+ 1 - 1
app/dao/local_life_dao.go

@@ -327,7 +327,7 @@ func (d LocalLifeDao) GetLocalLifeToDo(enterpriseId string, subAccountId int64,
 	var localInfos []entity.LocalLifeInfo
 	//query := Db.Model(&entity.LocalLifeInfo{}).Where("enterprise_id = ? and local_platform = ? and local_type = ?", enterpriseId, platform, taskType)
 	if subAccountId == 0 {
-		// 待审核、待支付、达人未处理
+		// 待审核、待支付、达人未处理、初稿待审、链接待审、待结算
 		query1 := Db.Model(&entity.LocalLifeInfo{}).Where("enterprise_id = ? and local_platform = ? and local_type = ?", enterpriseId, platform, taskType)
 		query1.Where("task_status = ?", 2).Count(&needReview)
 		query2 := Db.Model(&entity.LocalLifeInfo{}).Where("enterprise_id = ? and local_platform = ? and local_type = ?", enterpriseId, platform, taskType)

+ 73 - 4
app/dao/project_dao.go

@@ -389,7 +389,7 @@ func (d ProjectDAO) GetBillProjectPreviews(param *vo.ProjectSearchParam) ([]vo.R
 	return reBillProjectTaskPreviews, total, nil
 }
 
-// 待办
+// 种草任务待办
 func (d ProjectDAO) GetProjectToDo(enterpriseId string, subAccountId int64, platform int64, taskType int64) (map[string]int64, error) {
 	resultMap := make(map[string]int64)
 	var needReview int64 // 待审核
@@ -401,7 +401,7 @@ func (d ProjectDAO) GetProjectToDo(enterpriseId string, subAccountId int64, plat
 	var projectInfos []entity.Project
 	//query := Db.Model(&entity.Project{}).Where("enterprise_id = ? and project_platform = ? and project_type = ?", enterpriseId, platform, taskType)
 	if subAccountId == 0 {
-		// 待审核、待支付、达人未处理
+		// 待审核、待支付、达人未处理、初稿待审、链接待审、待结算
 		query1 := Db.Model(&entity.Project{}).Where("enterprise_id = ? and project_platform = ? and project_type = ?", enterpriseId, platform, taskType)
 		query1.Where("project_status = ?", 2).Count(&needReview)
 		query2 := Db.Model(&entity.Project{}).Where("enterprise_id = ? and project_platform = ? and project_type = ?", enterpriseId, platform, taskType)
@@ -438,13 +438,13 @@ func (d ProjectDAO) GetProjectToDo(enterpriseId string, subAccountId int64, plat
 			}
 		}
 	} else {
-		// 待审核、待支付、达人未处理
+		// 待审核、待支付、达人未处理、初稿待审、链接待审、待结算
 		query1 := Db.Model(&entity.Project{}).Where("enterprise_id = ? and project_platform = ? and project_type = ?", enterpriseId, platform, taskType)
 		query1.Where("sub_account_id = ? and project_status = ?", subAccountId, 2).Count(&needReview)
 		query2 := Db.Model(&entity.Project{}).Where("enterprise_id = ? and project_platform = ? and project_type = ?", enterpriseId, platform, taskType)
 		query2.Where("sub_account_id = ? and project_status = ?", subAccountId, 6).Count(&needPay)
 		query3 := Db.Model(&entity.Project{}).Where("enterprise_id = ? and project_platform = ? and project_type = ?", enterpriseId, platform, taskType)
-		err := query3.Where("sub_account_id = ? and project_status = ?", subAccountId, 8).Select("selection_id").Find(&projectInfos).Error
+		err := query3.Where("sub_account_id = ? and project_status = ?", subAccountId, 8).Select("project_id").Find(&projectInfos).Error
 		if err != nil {
 			if errors.Is(err, gorm.ErrRecordNotFound) {
 				needProcess = 0
@@ -481,5 +481,74 @@ func (d ProjectDAO) GetProjectToDo(enterpriseId string, subAccountId int64, plat
 	resultMap["needCheck"] = needCheck
 	resultMap["needQuality"] = needQuality
 	resultMap["needCalculate"] = needCalculate
+
+	return resultMap, nil
+}
+
+// 寄样物流任务待办
+func (d ProjectDAO) GetLogisticsToDo(enterpriseId string, subAccountId int64, platform int64) (map[string]int64, error) {
+	resultMap := make(map[string]int64)
+	var needDelivery int64
+	var needReceive int64
+	var projectInfos []entity.Project
+	//query := Db.Model(&entity.Project{}).Where("enterprise_id = ? and project_platform = ? and project_type = ?", enterpriseId, platform, taskType)
+	if subAccountId == 0 {
+		// 待发货、待签收
+		query1 := Db.Model(&entity.Project{}).Where("enterprise_id = ? and project_platform = ? and project_form = ?", enterpriseId, platform, 1)
+		err := query1.Where("project_status = ?", 8).Select("project_id").Find(&projectInfos).Error
+		if err != nil {
+			if errors.Is(err, gorm.ErrRecordNotFound) {
+				needDelivery = 0
+				needReceive = 0
+			} else {
+				return resultMap, err
+			}
+		} else if len(projectInfos) > 0 {
+			var projectIDs []string
+			for _, info := range projectInfos {
+				projectIDs = append(projectIDs, info.ProjectId)
+			}
+			if len(projectIDs) > 0 {
+				err1 := Db.Model(&entity.ProjectTaskInfo{}).Where("project_id in ? and task_stage = ?", projectIDs, 4).Count(&needDelivery).Error // task_stage=4待发货
+				if err1 != nil {
+					needDelivery = 0
+				}
+				err2 := Db.Model(&entity.ProjectTaskInfo{}).Where("project_id in ? and task_stage = ?", projectIDs, 5).Count(&needReceive).Error // task_stage=5已发货
+				if err2 != nil {
+					needReceive = 0
+				}
+			}
+		}
+	} else {
+		// 待发货、待签收
+		query1 := Db.Model(&entity.Project{}).Where("enterprise_id = ? and project_platform = ? and project_form = ?", enterpriseId, platform, 1)
+		err := query1.Where("sub_account_id = ? and project_status = ?", subAccountId, 8).Select("project_id").Find(&projectInfos).Error
+		if err != nil {
+			if errors.Is(err, gorm.ErrRecordNotFound) {
+				needDelivery = 0
+				needReceive = 0
+			} else {
+				return resultMap, err
+			}
+		} else {
+			var projectIDs []string
+			for _, info := range projectInfos {
+				projectIDs = append(projectIDs, info.ProjectId)
+			}
+			if len(projectIDs) > 0 {
+				err1 := Db.Model(&entity.ProjectTaskInfo{}).Where("project_id in ? and task_stage = ?", projectIDs, 4).Count(&needDelivery).Error // task_stage=4待发货
+				if err1 != nil {
+					needDelivery = 0
+				}
+				err2 := Db.Model(&entity.ProjectTaskInfo{}).Where("project_id in ? and task_stage = ?", projectIDs, 5).Count(&needReceive).Error // task_stage=5已发货
+				if err2 != nil {
+					needReceive = 0
+				}
+			}
+		}
+	}
+	resultMap["needDelivery"] = needDelivery
+	resultMap["needReceive"] = needReceive
+
 	return resultMap, nil
 }

+ 69 - 1
app/dao/selection_info_dao.go

@@ -275,7 +275,7 @@ func (d SelectionInfoDAO) GetBillSelectionPreviews(param *vo.SelectionSearchPara
 	return reBillSelectionTaskPreviews, total, nil
 }
 
-// 待办
+// 电商带货任务待办
 func (d SelectionInfoDAO) GetSelectionToDo(enterpriseId string, subAccountId int64, platform int64) (map[string]int64, error) {
 	resultMap := make(map[string]int64)
 	var needReview int64
@@ -339,5 +339,73 @@ func (d SelectionInfoDAO) GetSelectionToDo(enterpriseId string, subAccountId int
 	resultMap["needReview"] = needReview
 	resultMap["needPay"] = needPay
 	resultMap["needProcess"] = needProcess
+
+	return resultMap, nil
+}
+
+// 寄样物流任务待办
+func (d SelectionInfoDAO) GetLogisticsToDo(enterpriseId string, subAccountId int64, platform int64) (map[string]int64, error) {
+	resultMap := make(map[string]int64)
+	var needDelivery int64
+	var needReceive int64
+	var selectionInfos []entity.SelectionInfo
+	//query := Db.Model(&entity.SelectionInfo{}).Where("enterprise_id = ? and platform = ?", enterpriseId, platform)
+	if subAccountId == 0 {
+		// 待发货、待签收
+		query1 := Db.Model(&entity.SelectionInfo{}).Where("enterprise_id = ? and platform = ?", enterpriseId, platform)
+		err := query1.Where("selection_status = ? and sample_mode = ?", 6, 1).Select("selection_id").Find(&selectionInfos).Error
+		if err != nil {
+			if errors.Is(err, gorm.ErrRecordNotFound) {
+				needDelivery = 0
+				needReceive = 0
+			} else {
+				return resultMap, err
+			}
+		} else {
+			var selectionIDs []string
+			for _, info := range selectionInfos {
+				selectionIDs = append(selectionIDs, info.SelectionID)
+			}
+			if len(selectionIDs) > 0 {
+				err1 := Db.Model(&entity.SecTaskInfo{}).Where("selection_id in ? and logistics_status = ?", selectionIDs, 1).Count(&needDelivery).Error // logistics_status=1待发货
+				if err1 != nil {
+					needDelivery = 0
+				}
+				err2 := Db.Model(&entity.SecTaskInfo{}).Where("selection_id in ? and logistics_status = ?", selectionIDs, 2).Count(&needReceive).Error // logistics_status=2待签收
+				if err2 != nil {
+					needReceive = 0
+				}
+			}
+		}
+	} else {
+		query1 := Db.Model(&entity.SelectionInfo{}).Where("enterprise_id = ? and platform = ?", enterpriseId, platform)
+		err := query1.Where("sub_account_id = ? and selection_status = ? and sample_mode = ?", subAccountId, 6, 1).Select("selection_id").Find(&selectionInfos).Error
+		if err != nil {
+			if errors.Is(err, gorm.ErrRecordNotFound) {
+				needDelivery = 0
+				needReceive = 0
+			} else {
+				return resultMap, err
+			}
+		} else {
+			var selectionIDs []string
+			for _, info := range selectionInfos {
+				selectionIDs = append(selectionIDs, info.SelectionID)
+			}
+			if len(selectionIDs) > 0 {
+				err1 := Db.Model(&entity.SecTaskInfo{}).Where("selection_id in ? and logistics_status = ?", selectionIDs, 1).Count(&needDelivery).Error // logistics_status=1待发货
+				if err1 != nil {
+					needDelivery = 0
+				}
+				err2 := Db.Model(&entity.SecTaskInfo{}).Where("selection_id in ? and logistics_status = ?", selectionIDs, 2).Count(&needReceive).Error // logistics_status=2待签收
+				if err2 != nil {
+					needReceive = 0
+				}
+			}
+		}
+	}
+	resultMap["needDelivery"] = needDelivery
+	resultMap["needReceive"] = needReceive
+
 	return resultMap, nil
 }

+ 9 - 1
app/service/local_life_service.go

@@ -1234,7 +1234,7 @@ func (s LocalLifeService) StoreExploreOperate(param *vo.LocalTalentOperateParam)
 }
 
 // 本地生活任务待办
-func (p LocalLifeService) GetLocalLifeToDo(enterpriseId string, subAccountId int64, taskType int64) (map[string]map[string]int64, error) {
+func (p LocalLifeService) GetTaskToDo(enterpriseId string, subAccountId int64, taskType int64) (map[string]map[string]int64, error) {
 	res := make(map[string]map[string]int64)
 	redbook, err1 := dao.LocalLifeDao{}.GetLocalLifeToDo(enterpriseId, subAccountId, 1, taskType)
 	if err1 != nil {
@@ -1261,11 +1261,19 @@ func (p LocalLifeService) GetLocalLifeToDo(enterpriseId string, subAccountId int
 		logrus.Errorf("[GetLocalLifeToDo service] call GetLocalLifeToDo error,err:%+v", err5)
 		return res, err5
 	}
+	all := make(map[string]int64)
+	all["needReview"] = redbook["needReview"] + douyin["needReview"] + kuaishou["needReview"] + weibo["needReview"] + bilibili["needReview"]
+	all["needPay"] = redbook["needPay"] + douyin["needPay"] + kuaishou["needPay"] + weibo["needPay"] + bilibili["needPay"]
+	all["needProcess"] = redbook["needProcess"] + douyin["needProcess"] + kuaishou["needProcess"] + weibo["needProcess"] + bilibili["needProcess"]
+	all["needCheck"] = redbook["needCheck"] + douyin["needCheck"] + kuaishou["needCheck"] + weibo["needCheck"] + bilibili["needCheck"]
+	all["needQuality"] = redbook["needQuality"] + douyin["needQuality"] + kuaishou["needQuality"] + weibo["needQuality"] + bilibili["needQuality"]
+	all["needCalculate"] = redbook["needCalculate"] + douyin["needCalculate"] + kuaishou["needCalculate"] + weibo["needCalculate"] + bilibili["needCalculate"]
 	res["redbook"] = redbook
 	res["douyin"] = douyin
 	res["kuaishou"] = kuaishou
 	res["weibo"] = weibo
 	res["bilibili"] = bilibili
+	res["all"] = all
 
 	return res, nil
 }

+ 50 - 1
app/service/project_service.go

@@ -1012,7 +1012,7 @@ func (p ProjectService) GetTalentCategory() ([]vo.ReTalentCategory, error) {
 }
 
 // 种草任务待办
-func (p ProjectService) GetProjectToDo(enterpriseId string, subAccountId int64, taskType int64) (map[string]map[string]int64, error) {
+func (p ProjectService) GetTaskToDo(enterpriseId string, subAccountId int64, taskType int64) (map[string]map[string]int64, error) {
 	res := make(map[string]map[string]int64)
 	redbook, err1 := dao.ProjectDAO{}.GetProjectToDo(enterpriseId, subAccountId, 1, taskType)
 	if err1 != nil {
@@ -1039,11 +1039,60 @@ func (p ProjectService) GetProjectToDo(enterpriseId string, subAccountId int64,
 		logrus.Errorf("[GetProjectToDo service] call GetProjectToDo error,err:%+v", err5)
 		return res, err5
 	}
+	all := make(map[string]int64)
+	all["needReview"] = redbook["needReview"] + douyin["needReview"] + kuaishou["needReview"] + weibo["needReview"] + bilibili["needReview"]
+	all["needPay"] = redbook["needPay"] + douyin["needPay"] + kuaishou["needPay"] + weibo["needPay"] + bilibili["needPay"]
+	all["needProcess"] = redbook["needProcess"] + douyin["needProcess"] + kuaishou["needProcess"] + weibo["needProcess"] + bilibili["needProcess"]
+	all["needCheck"] = redbook["needCheck"] + douyin["needCheck"] + kuaishou["needCheck"] + weibo["needCheck"] + bilibili["needCheck"]
+	all["needQuality"] = redbook["needQuality"] + douyin["needQuality"] + kuaishou["needQuality"] + weibo["needQuality"] + bilibili["needQuality"]
+	all["needCalculate"] = redbook["needCalculate"] + douyin["needCalculate"] + kuaishou["needCalculate"] + weibo["needCalculate"] + bilibili["needCalculate"]
 	res["redbook"] = redbook
 	res["douyin"] = douyin
 	res["kuaishou"] = kuaishou
 	res["weibo"] = weibo
 	res["bilibili"] = bilibili
+	res["all"] = all
+
+	return res, nil
+}
+
+// 寄样物流任务待办
+func (p ProjectService) GetLogisticsToDo(enterpriseId string, subAccountId int64) (map[string]map[string]int64, error) {
+	res := make(map[string]map[string]int64)
+	redbook, err1 := dao.ProjectDAO{}.GetLogisticsToDo(enterpriseId, subAccountId, 1)
+	if err1 != nil {
+		logrus.Errorf("[GetProjectToDo service] call GetProjectToDo error,err:%+v", err1)
+		return res, err1
+	}
+	douyin, err2 := dao.ProjectDAO{}.GetLogisticsToDo(enterpriseId, subAccountId, 2)
+	if err2 != nil {
+		logrus.Errorf("[GetProjectToDo service] call GetProjectToDo error,err:%+v", err2)
+		return res, err2
+	}
+	kuaishou, err3 := dao.ProjectDAO{}.GetLogisticsToDo(enterpriseId, subAccountId, 4)
+	if err3 != nil {
+		logrus.Errorf("[GetProjectToDo service] call GetProjectToDo error,err:%+v", err3)
+		return res, err3
+	}
+	weibo, err4 := dao.ProjectDAO{}.GetLogisticsToDo(enterpriseId, subAccountId, 3)
+	if err4 != nil {
+		logrus.Errorf("[GetProjectToDo service] call GetProjectToDo error,err:%+v", err4)
+		return res, err4
+	}
+	bilibili, err5 := dao.ProjectDAO{}.GetLogisticsToDo(enterpriseId, subAccountId, 5)
+	if err5 != nil {
+		logrus.Errorf("[GetProjectToDo service] call GetProjectToDo error,err:%+v", err5)
+		return res, err5
+	}
+	all := make(map[string]int64)
+	all["needDelivery"] = redbook["needDelivery"] + douyin["needDelivery"] + kuaishou["needDelivery"] + weibo["needDelivery"] + bilibili["needDelivery"]
+	all["needReceive"] = redbook["needReceive"] + douyin["needReceive"] + kuaishou["needReceive"] + weibo["needReceive"] + bilibili["needReceive"]
+	res["redbook"] = redbook
+	res["douyin"] = douyin
+	res["kuaishou"] = kuaishou
+	res["weibo"] = weibo
+	res["bilibili"] = bilibili
+	res["all"] = all
 
 	return res, nil
 }

+ 23 - 1
app/service/selection_info_service.go

@@ -947,14 +947,36 @@ func (s SelectionInfoService) GetSelectionDraftList(param *vo.SelectionDraftPara
 }
 
 // 电商带货任务待办
-func (s SelectionInfoService) GetSelectionToDo(enterpriseId string, subAccountId int64) (map[string]map[string]int64, error) {
+func (s SelectionInfoService) GetTaskToDo(enterpriseId string, subAccountId int64) (map[string]map[string]int64, error) {
 	res := make(map[string]map[string]int64)
 	kuaishou, err1 := dao.SelectionInfoDAO{}.GetSelectionToDo(enterpriseId, subAccountId, 4)
 	if err1 != nil {
 		logrus.Errorf("[GetSelectionToDo service] call GetSelectionToDo error,err:%+v", err1)
 		return res, err1
 	}
+	all := make(map[string]int64)
+	all["needReview"] = kuaishou["needReview"]
+	all["needPay"] = kuaishou["needPay"]
+	all["needProcess"] = kuaishou["needProcess"]
 	res["kuaishou"] = kuaishou
+	res["all"] = all
+
+	return res, nil
+}
+
+// 寄样物流任务待办
+func (s SelectionInfoService) GetLogisticsToDo(enterpriseId string, subAccountId int64) (map[string]map[string]int64, error) {
+	res := make(map[string]map[string]int64)
+	kuaishou, err1 := dao.SelectionInfoDAO{}.GetLogisticsToDo(enterpriseId, subAccountId, 4)
+	if err1 != nil {
+		logrus.Errorf("[GetSelectionToDo service] call GetSelectionToDo error,err:%+v", err1)
+		return res, err1
+	}
+	all := make(map[string]int64)
+	all["needDelivery"] = kuaishou["needDelivery"]
+	all["needReceive"] = kuaishou["needReceive"]
+	res["kuaishou"] = kuaishou
+	res["all"] = all
 
 	return res, nil
 }

+ 1 - 0
route/init.go

@@ -172,6 +172,7 @@ func InitRoute(r *gin.Engine) {
 		// 任务待办
 		workspace.POST("/publicTask", controller.WorkspaceController{}.GetPublicTask) // 任务待办-公开任务
 		workspace.POST("/targetTask", controller.WorkspaceController{}.GetTargetTask) // 任务待办-定向任务
+		workspace.POST("/logistics", controller.WorkspaceController{}.GetLogistics)   // 任务待办-寄样物流
 
 	}
 	// 任务中心相关接口