package com.fs.sop.service;

import com.fs.common.core.domain.R;
import com.fs.sop.domain.SopUserLogsInfo;
import com.fs.sop.params.BatchSopUserLogsInfoParam;
import com.fs.sop.params.SendUserLogsInfoMsgParam;
import com.fs.sop.vo.SopUserLogsInfoVOE;

import java.util.List;

public interface ISopUserLogsInfoService {
    /**
     * 插入一条记录
     * @param sopUserLogsInfo 实体对象
     */
    void save(SopUserLogsInfo sopUserLogsInfo);

    /**
     * 修改一条记录
     * @param info 实体对象
     */
    void update(SopUserLogsInfo info);

    /**
     * 根据ID查询记录
     * @param id 主键ID
     * @return 查询结果
     */
    SopUserLogsInfo getById(String id);

    /**
     * 查询所有记录
     * @return 记录列表
     */
    List<SopUserLogsInfo> getAll();

    /**
     * 根据ID删除记录
     * @param id 主键ID
     */
    void deleteById(String id);

    int deleteSopUserLogsInfoByIds(String[] ids);

    List<SopUserLogsInfo> selectSopUserLogsInfoList(SopUserLogsInfo info);

    List<SopUserLogsInfoVOE> selectSopUserLogsInfoListVO(SopUserLogsInfo info);

    void batchInsertSopUserLogsInfo(List<SopUserLogsInfo> logsToInsert);
    void insertSopUserLogsInfo(SopUserLogsInfo logsToInsert);
    /**
     * 查询sopUserLogsInfo
     *
     * @param id sopUserLogsInfo主键
     * @return sopUserLogsInfo
     */
    public SopUserLogsInfo selectSopUserLogsInfoById(String id);

    /**
     * 修改sopUserLogsInfo
     *
     * @param param sopUserLogsInfo
     * @return 结果
     */
    public R updateSopUserLogsInfoToTime(SopUserLogsInfo param);
    public R batchUpdateSopUserLogsInfoToTime(BatchSopUserLogsInfoParam param);
    public R sendUserLogsInfoMsg(SendUserLogsInfoMsgParam param);

}
