You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
2.0 KiB

package com.youlai.boot.mini.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.youlai.boot.mini.model.dto.DeleteUserPostDTO;
import com.youlai.boot.mini.model.dto.DeleteUserPostMediaDTO;
import com.youlai.boot.mini.model.dto.EditVisibilityDTO;
import com.youlai.boot.mini.model.entity.MiniUserPost;
import com.youlai.boot.mini.model.form.UserPostForm;
import com.youlai.boot.mini.model.form.UserPostCollectForm;
import com.youlai.boot.mini.model.form.UserPostLikeForm;
import com.youlai.boot.mini.model.query.OwnUserPostQuery;
import com.youlai.boot.mini.model.query.UserPostWaterfallQuery;
import com.youlai.boot.mini.model.vo.UserPostDetailsVO;
import com.youlai.boot.mini.model.vo.UserPostVO;
import com.youlai.boot.mini.model.vo.WaterfallResult;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Map;
public interface UserPostService extends IService<MiniUserPost> {
List<String> saveFile(List<MultipartFile> images, List<MultipartFile> videos);
String saveUserPost(UserPostForm formData);
void updateUserPost(String postUuid, UserPostForm formData);
void deleteMediaSource(DeleteUserPostMediaDTO dto);
void saveMediaSource(String postUuid, List<MultipartFile> images, List<MultipartFile> videos);
void updateVisibility(String postUuid, EditVisibilityDTO dto);
void delete(DeleteUserPostDTO dto);
IPage<UserPostVO> getSelfCreatedPage(OwnUserPostQuery queryParams);
UserPostDetailsVO getDetails(String postUuid);
IPage<UserPostVO> getOthersCreatedPage(String authorUuid, OwnUserPostQuery queryParams);
Map<String, Object> toggleUserPostLike(UserPostLikeForm form, Long userId);
Map<String, Object> toggleUserPostCollect(UserPostCollectForm form, Long userId);
WaterfallResult<UserPostVO> getWaterfall(UserPostWaterfallQuery query, Long userId);
void resetCurrentUserBloom(Long userId);
void increaseUserPostViewCount(String postUuid);
}