Browse Source

探店邀约

Ethan 1 month ago
parent
commit
c7fab1eb81

+ 20 - 0
app/controller/workspace_controller.go

@@ -122,3 +122,23 @@ func (t WorkspaceController) GetLogistics(c *gin.Context) {
 	resultMap["projectToDo"] = &projectToDo
 	returnSuccess(c, 20000, resultMap)
 }
+
+// 任务待办-探店邀约
+func (t WorkspaceController) GetExplore(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
+	}
+	localLifeToDo, err1 := service.LocalLifeService{}.GetExploreToDo(param.EnterpriseId, param.SubAccountId)
+	if err1 != nil {
+		logrus.Errorf("[LocalLifeService] call Show err:%+v\n", err1)
+		returnError(c, 40000, err1.Error())
+		return
+	}
+	resultMap := make(map[string]*map[string]map[string]int64)
+	resultMap["localLifeToDo"] = &localLifeToDo
+	returnSuccess(c, 20000, resultMap)
+}

+ 81 - 1
app/dao/local_life_dao.go

@@ -315,7 +315,7 @@ func (d LocalLifeDao) GetBillLocalPreviews(param *vo.LocalSearchParam) ([]vo.ReB
 	return reBillLocalTaskPreviews, total, nil
 }
 
-// 待办
+// 本地生活任务待办
 func (d LocalLifeDao) GetLocalLifeToDo(enterpriseId string, subAccountId int64, platform int64, taskType int64) (map[string]int64, error) {
 	resultMap := make(map[string]int64)
 	var needReview int64 // 待审核
@@ -409,3 +409,83 @@ func (d LocalLifeDao) GetLocalLifeToDo(enterpriseId string, subAccountId int64,
 	resultMap["needCalculate"] = needCalculate
 	return resultMap, nil
 }
+
+// 探店邀约任务待办
+func (d LocalLifeDao) GetExploreToDo(enterpriseId string, subAccountId int64, platform int64) (map[string]int64, error) {
+	resultMap := make(map[string]int64)
+	var needBook int64    // 待预约探店时间
+	var needConfirm int64 // 探店时间待确认
+	var needExplore 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 task_form = ?", enterpriseId, platform, 1)
+		err := query1.Where("task_status = ?", 8).Select("local_id").Find(&localInfos).Error
+		if err != nil {
+			if errors.Is(err, gorm.ErrRecordNotFound) {
+				needBook = 0
+				needConfirm = 0
+				needExplore = 0
+			} else {
+				return resultMap, err
+			}
+		} else if len(localInfos) > 0 {
+			var localIDs []string
+			for _, info := range localInfos {
+				localIDs = append(localIDs, info.LocalID)
+			}
+			if len(localIDs) > 0 {
+				err1 := Db.Model(&entity.LocalLifeTaskInfo{}).Where("local_id in ? and task_stage = ?", localIDs, 4).Count(&needBook).Error // task_stage=4待预约探店
+				if err1 != nil {
+					needBook = 0
+				}
+				err2 := Db.Model(&entity.LocalLifeTaskInfo{}).Where("local_id in ? and task_stage = ?", localIDs, 5).Count(&needConfirm).Error // task_stage=4预约确认中
+				if err2 != nil {
+					needConfirm = 0
+				}
+				err3 := Db.Model(&entity.LocalLifeTaskInfo{}).Where("local_id in ? and book_status = ?", localIDs, 5).Count(&needExplore).Error // book_status=5达人待探店
+				if err3 != nil {
+					needExplore = 0
+				}
+			}
+		}
+	} else {
+		// 待预约探店时间、探店时间待确认、达人待探店
+		query1 := Db.Model(&entity.LocalLifeInfo{}).Where("enterprise_id = ? and local_platform = ? and task_form = ?", enterpriseId, platform, 1)
+		err := query1.Where("sub_account_id = ? and task_status = ?", subAccountId, 8).Select("local_id").Find(&localInfos).Error
+		if err != nil {
+			if errors.Is(err, gorm.ErrRecordNotFound) {
+				needBook = 0
+				needConfirm = 0
+				needExplore = 0
+			} else {
+				return resultMap, err
+			}
+		} else if len(localInfos) > 0 {
+			var localIDs []string
+			for _, info := range localInfos {
+				localIDs = append(localIDs, info.LocalID)
+			}
+			if len(localIDs) > 0 {
+				err1 := Db.Model(&entity.LocalLifeTaskInfo{}).Where("local_id in ? and task_stage = ?", localIDs, 4).Count(&needBook).Error // task_stage=4待预约探店
+				if err1 != nil {
+					needBook = 0
+				}
+				err2 := Db.Model(&entity.LocalLifeTaskInfo{}).Where("local_id in ? and task_stage = ?", localIDs, 5).Count(&needConfirm).Error // task_stage=4预约确认中
+				if err2 != nil {
+					needConfirm = 0
+				}
+				err3 := Db.Model(&entity.LocalLifeTaskInfo{}).Where("local_id in ? and book_status = ?", localIDs, 5).Count(&needExplore).Error // book_status=5达人待探店
+				if err3 != nil {
+					needExplore = 0
+				}
+			}
+		}
+	}
+	resultMap["needBook"] = needBook
+	resultMap["needConfirm"] = needConfirm
+	resultMap["needExplore"] = needExplore
+
+	return resultMap, nil
+}

+ 42 - 0
app/service/local_life_service.go

@@ -1277,3 +1277,45 @@ func (p LocalLifeService) GetTaskToDo(enterpriseId string, subAccountId int64, t
 
 	return res, nil
 }
+
+// 探店邀约任务待办
+func (p LocalLifeService) GetExploreToDo(enterpriseId string, subAccountId int64) (map[string]map[string]int64, error) {
+	res := make(map[string]map[string]int64)
+	redbook, err1 := dao.LocalLifeDao{}.GetExploreToDo(enterpriseId, subAccountId, 1)
+	if err1 != nil {
+		logrus.Errorf("[GetLocalLifeToDo service] call GetLocalLifeToDo error,err:%+v", err1)
+		return res, err1
+	}
+	douyin, err2 := dao.LocalLifeDao{}.GetExploreToDo(enterpriseId, subAccountId, 2)
+	if err2 != nil {
+		logrus.Errorf("[GetLocalLifeToDo service] call GetLocalLifeToDo error,err:%+v", err2)
+		return res, err2
+	}
+	kuaishou, err3 := dao.LocalLifeDao{}.GetExploreToDo(enterpriseId, subAccountId, 4)
+	if err3 != nil {
+		logrus.Errorf("[GetLocalLifeToDo service] call GetLocalLifeToDo error,err:%+v", err3)
+		return res, err3
+	}
+	weibo, err4 := dao.LocalLifeDao{}.GetExploreToDo(enterpriseId, subAccountId, 3)
+	if err4 != nil {
+		logrus.Errorf("[GetLocalLifeToDo service] call GetLocalLifeToDo error,err:%+v", err4)
+		return res, err4
+	}
+	bilibili, err5 := dao.LocalLifeDao{}.GetExploreToDo(enterpriseId, subAccountId, 5)
+	if err5 != nil {
+		logrus.Errorf("[GetLocalLifeToDo service] call GetLocalLifeToDo error,err:%+v", err5)
+		return res, err5
+	}
+	all := make(map[string]int64)
+	all["needBook"] = redbook["needBook"] + douyin["needBook"] + kuaishou["needBook"] + weibo["needBook"] + bilibili["needBook"]
+	all["needConfirm"] = redbook["needConfirm"] + douyin["needConfirm"] + kuaishou["needConfirm"] + weibo["needConfirm"] + bilibili["needConfirm"]
+	all["needExplore"] = redbook["needExplore"] + douyin["needExplore"] + kuaishou["needExplore"] + weibo["needExplore"] + bilibili["needExplore"]
+	res["redbook"] = redbook
+	res["douyin"] = douyin
+	res["kuaishou"] = kuaishou
+	res["weibo"] = weibo
+	res["bilibili"] = bilibili
+	res["all"] = all
+
+	return res, nil
+}

+ 1 - 0
route/init.go

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