package com.pcloud.book.cultivate.biz;

import com.pcloud.book.cultivate.dto.CreateCultivateDTO;
import com.pcloud.book.cultivate.dto.EnergyConsumptionDTO;
import com.pcloud.book.cultivate.dto.FishBallConversionDTO;
import com.pcloud.book.cultivate.dto.FishBallPickDTO;
import com.pcloud.book.cultivate.dto.SkillUseDTO;
import com.pcloud.book.cultivate.entity.Cultivate;
import com.pcloud.book.cultivate.entity.CultivateRecord;
import com.pcloud.book.cultivate.entity.CultivateRobotClassify;
import com.pcloud.book.personal.dto.PersonalMedalRecordDto;
import com.pcloud.common.core.mq.DelayQueueDTO;
import com.pcloud.common.page.PageBeanNew;

import java.util.List;

public interface CultivateBiz {
    Long createCultivate(CreateCultivateDTO createCultivateDTO);

    Cultivate getCultivate(Long wechatUserId);

    void createCultivateRobotClassify(CultivateRobotClassify cultivateRobotClassify);

    void energyConsumption(EnergyConsumptionDTO energyConsumptionDTO);

    void dealDelayEnergyConsumption(DelayQueueDTO delayQueueDTO);

    void fishBallConversion(FishBallConversionDTO fishBallConversionDTO);

    Long createCultivateRecord(CultivateRecord cultivateRecord);

    void addUseSkillRecord(Long wechatUserId, SkillUseDTO skillUseDTO);

    void fishBallPick(FishBallPickDTO fishBallPickDTO);

    Integer getFishBallNotPick(Long cultivateId);

    PageBeanNew<CultivateRecord> getCultivateRecordList(Long cultivateId, Long wechatUserId, Integer currentPage, Integer numPerPage);

    Long getLoginDays(Long wechatUserId);

    Integer getRanking(Long wechatUserId);

    String shareMedal(Long wechatUserId);

     List<PersonalMedalRecordDto> getUserMedalList(Long wechatUserId);

    Integer getResidueLightTime(Long cultivateId);
}
