package bll

import (
	"context"
	"yx-dataset-server/app/schema"
	"yx-dataset-server/library/dingtalk"
)

// IRobotConfig RobotConfig业务逻辑接口
type IRobotConfig interface {
	// 查询数据
	Query(ctx context.Context, params schema.RobotConfigQueryParam, opts ...schema.RobotConfigQueryOptions) (*schema.RobotConfigQueryResult, error)
	// 查询指定数据
	Get(ctx context.Context, recordID string, opts ...schema.RobotConfigQueryOptions) (*schema.RobotConfig, error)
	// 创建数据
	Create(ctx context.Context, item schema.RobotConfig) (*schema.RobotConfig, error)
	// 更新数据
	Update(ctx context.Context, recordID string, item schema.RobotConfig) (*schema.RobotConfig, error)
	// 删除数据
	Delete(ctx context.Context, recordID string) error
	// 更新状态
	UpdateStatus(ctx context.Context, recordID string, status int) error
	// 接收消息
	ReceiveMessage(ctx context.Context, id string, item dingtalk.Message) error
	// 服务启动时批量拉起所有钉钉卡片回复模式的机器人
	RestartAllRobots(ctx context.Context) error
}
