// ================================================================================
// Code generated and maintained by GoFrame CLI tool. DO NOT EDIT.
// You can delete these comments if you wish manually maintain this interface file.
// ================================================================================

package service

import (
	"context"
	"server/internal/model"
)

type (
	ISignInRewardDetails interface {
		// Create 新增签到奖励明细
		Create(ctx context.Context, in *model.SignInRewardDetail) (int64, error)
		// Update 编辑签到奖励明细
		Update(ctx context.Context, in *model.SignInRewardDetail) error
		// Delete 删除签到奖励明细
		Delete(ctx context.Context, in *model.SignInRewardDetailDeleteIn) (*model.SignInRewardDetailDeleteOut, error)
		// Get 查询单个签到奖励明细
		Get(ctx context.Context, in *model.SignInRewardDetailGetIn) (*model.SignInRewardDetailGetOut, error)
		// List 根据 ruleId 查询签到奖励明细列表
		List(ctx context.Context, in *model.SignInRewardDetailListIn) (*model.SignInRewardDetailListOut, error)
		// SetStatus 设置签到奖励明细状态
		SetStatus(ctx context.Context, in *model.SignInRewardDetailSetStatusIn) (*model.SignInRewardDetailSetStatusOut, error)
	}
)

var (
	localSignInRewardDetails ISignInRewardDetails
)

func SignInRewardDetails() ISignInRewardDetails {
	if localSignInRewardDetails == nil {
		panic("implement not found for interface ISignInRewardDetails, forgot register?")
	}
	return localSignInRewardDetails
}

func RegisterSignInRewardDetails(i ISignInRewardDetails) {
	localSignInRewardDetails = i
}
