package com.jpsoft.shinestar.modules.base.service;

import com.github.pagehelper.Page;
import com.jpsoft.shinestar.modules.base.dto.DaysDTO;
import com.jpsoft.shinestar.modules.base.dto.MedicationDaysDTO;
import com.jpsoft.shinestar.modules.base.entity.MedicationInfo;
import com.jpsoft.shinestar.modules.common.dto.Sort;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @author 墨鱼_mo
 * @date 2020-10-29 16:23
 */
public interface MedicationInfoService {

    MedicationInfo get(String id);
    boolean exist(String id);
    int insert(MedicationInfo model);
    int update(MedicationInfo model);
    int delete(String id);
    List<MedicationInfo> list();
    Page<MedicationInfo> pageSearch(Map<String, Object> searchParams, int pageNum, int pageSize, boolean count, List<Sort> sortList);

    List<MedicationInfo> findByBeRemindPopedomId(String beRemindPopedomId);

    List<DaysDTO> getMedicationDays(String id);

    Boolean isMedication(MedicationInfo medicationInfo, Date date);

    void createRemindMessage(MedicationInfo medicationInfo);

    List<DaysDTO> getAllMedicationDays(String popedomId);
}
