package edu.whut.smilepicturebackend.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import edu.whut.smilepicturebackend.model.dto.picture.PictureQueryRequest; import edu.whut.smilepicturebackend.model.dto.picture.PictureUploadRequest; import edu.whut.smilepicturebackend.model.entity.Picture; import edu.whut.smilepicturebackend.model.entity.User; import edu.whut.smilepicturebackend.model.vo.PictureVO; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletRequest; /** * @author 张三 * @description 针对表【picture(图片)】的数据库操作Service * @createDate 2025-06-11 11:23:11 */ public interface PictureService extends IService { /** * 校验图片 * * @param picture */ void validPicture(Picture picture); /** * 上传图片 * * @param multipartFile 文件输入源 * @param pictureUploadRequest * @param loginUser * @return */ PictureVO uploadPicture(MultipartFile multipartFile, PictureUploadRequest pictureUploadRequest, User loginUser); /** * 获取查询对象 * * @param pictureQueryRequest * @return */ LambdaQueryWrapper getQueryWrapper(PictureQueryRequest pictureQueryRequest); /** * 获取图片包装类(单条) * * @param picture * @param request * @return */ PictureVO getPictureVO(Picture picture, HttpServletRequest request); /** * 获取图片包装类(分页) * * @param picturePage * @param request * @return */ Page getPictureVOPage(Page picturePage, HttpServletRequest request); }