package org.jeecg.modules.database.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.database.entity.Experiment;
import org.jeecg.modules.database.entity.ExperimentRating;
import org.jeecg.modules.system.entity.SysUser;

/**
 * @Description: 试验管理
 * @Author: jeecg-boot
 * @Date: 2024-08-30
 * @Version: V1.0
 */
public interface IExperimentService extends IService<Experiment> {

    void fetchExperimentDetail(Experiment experiment);

    Experiment copy(Experiment oldExperiment);

    void changeStatus(String experimentId, String status);

    void saveWithDetail(Experiment experiment);

    Integer getLastIndex();

    IPage<Experiment> join(Page<Experiment> page, Experiment experiment, SysUser loginUser);

    Long sumLhs();

    Long sumXhy();

    void fetchExperimentRateDetail(ExperimentRating experimentRating);

}
