package com.yida.data.school.atlas.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yida.data.common.core.entity.atlas.CoreAtlasManagement;
import com.yida.data.school.dto.atlas.AtlasSelectPageDTO;
import com.yida.data.school.vo.atlas.AtlasSelectPageVO;

import org.apache.ibatis.annotations.Param;

/**
 * 图集管理dao层
 *
 * @author ZYJ
 * @date 2021/9/1
 */
public interface CoreAtlasManagementMapper extends BaseMapper<CoreAtlasManagement> {

    /**
     * 查询图集列表数据
     *
     * @param page               分页对象
     * @param atlasSelectPageDTO 图集后台列表请求类
     * @return com.baomidou.mybatisplus.core.metadata.IPage<com.yida.data.atlas.vo.AtlasSelectPageVO>
     * @author ZYJ
     * @date 2021/9/2 11:31
     */
    IPage<AtlasSelectPageVO> listAtlasPage(Page<CoreAtlasManagement> page,
                                           @Param("dto") AtlasSelectPageDTO atlasSelectPageDTO);

    /**
     * 增加图集的总评论数
     *
     * @param atlasId     图集主键id
     * @param changeCount 修改值
     * @author ZYJ
     * @date 2021/9/7 17:23
     */
    void updateCommentCount(@Param("atlasId") Long atlasId, @Param("changeCount") Integer changeCount);

    /**
     * 增加图集的总点赞数
     *
     * @param atlasId     图集主键id
     * @param changeCount 修改值
     * @author ZYJ
     * @date 2021/10/16 14:13
     */
    void updateLikeCount(@Param("atlasId") Long atlasId, @Param("changeCount") Integer changeCount);
}