blob: c69cba5be0c9e414af105e5f4f16b0b1703759e7 [file] [log] [blame]
wuchimedesa1bf2782025-03-27 15:08:54 +08001package com.example.g8backend.service;
2
3import com.baomidou.mybatisplus.extension.service.IService;
夜雨声烦7e6eb382025-04-22 01:18:00 +08004import com.example.g8backend.entity.Message;
wuchimedesa1bf2782025-03-27 15:08:54 +08005import com.example.g8backend.entity.User;
wuchimedes0ef96ab2025-06-08 19:26:56 +08006import com.example.g8backend.entity.UserStats;
wuchimedesa1bf2782025-03-27 15:08:54 +08007import org.apache.ibatis.annotations.Param;
8
夜雨声烦7e6eb382025-04-22 01:18:00 +08009import java.util.List;
10
wuchimedesa1bf2782025-03-27 15:08:54 +080011public interface IUserService extends IService<User> {
12 User getUserByName(@Param("name") String name);
wuchimedes079c1632025-04-02 22:01:20 +080013 User getUserByEmail(@Param("email") String email);
wuchimedesa0649c62025-04-05 15:53:39 +080014 User getUserByPasskey(@Param("passkey") String passkey);
夜雨声烦7e6eb382025-04-22 01:18:00 +080015
16 // 关注功能
17 boolean followUser(Long followerId, Long followedId);
18 boolean unfollowUser(Long followerId, Long followedId);
19 List<User> getFollowings(Long userId);
20 List<User> getFollowers(Long userId);
wuchimedesa4c6c2b2025-06-07 22:42:11 +080021 int getFollowingsCount(Long userId);
22 int getFollowersCount(Long userId);
23 boolean isFollowing(Long currentUserId, Long targetUserId);
夜雨声烦7e6eb382025-04-22 01:18:00 +080024
wuchimedes0ef96ab2025-06-08 19:26:56 +080025 // 用户统计
26 UserStats getUserStats(Long userId);
27
夜雨声烦7e6eb382025-04-22 01:18:00 +080028 // 私信功能
29 Long sendMessage(Long senderId, Long receiverId, String content);
30 List<Message> getMessages(Long userId, Long partnerId);
31 List<Message> getMessageHistory(Long userId);
wuchimedesa1bf2782025-03-27 15:08:54 +080032}