2026-06-30 24681c81c09022f584a57006f2534b5f74723414
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package cn.iocoder.yudao.module.im.controller.admin.friend.vo;
 
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
 
import java.time.LocalDateTime;
 
/**
 * IM 好友 Response VO
 *
 * @author 芋道源码
 */
@Schema(description = "管理后台 - IM 好友 Response VO")
@Data
public class ImFriendRespVO {
 
    @Schema(description = "关系记录编号", example = "1024")
    private Long id;
 
    @Schema(description = "好友的用户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "2048")
    private Long friendUserId;
 
    @Schema(description = "是否免打扰", example = "false")
    private Boolean silent;
 
    @Schema(description = "好友展示备注(仅自己可见)", example = "老张")
    private String displayName;
 
    @Schema(description = "好友展示备注的拼音(小写无空格)", example = "laozhang")
    private String displayNamePinyin;
 
    @Schema(description = "添加来源", example = "1")
    private Integer addSource; // 参见 ImFriendAddSourceEnum 枚举
 
    @Schema(description = "是否置顶联系人", example = "false")
    private Boolean pinned;
 
    @Schema(description = "是否拉黑(仅自己可见)", example = "false")
    private Boolean blocked;
 
    @Schema(description = "好友状态", example = "0")
    private Integer status;
 
    @Schema(description = "添加好友时间")
    private LocalDateTime addTime;
 
    @Schema(description = "删除好友时间")
    private LocalDateTime deleteTime;
 
    @Schema(description = "最近更新时间(增量拉取游标用)")
    private LocalDateTime updateTime;
 
    // ========== 下面是聚合字段,方便前端显示 ==========
 
    @Schema(description = "好友昵称(实时聚合自 AdminUser)", example = "芋道")
    private String nickname;
 
    @Schema(description = "好友昵称的拼音(小写无空格)", example = "yudao")
    private String nicknamePinyin;
 
    @Schema(description = "好友头像(实时聚合自 AdminUser)")
    private String avatar;
 
}